Browse Source

计划指定

master
巴林闲侠 2 years ago
parent
commit
036c0cc0de
  1. 2
      api/app/lib/controllers/patrolManage/patrolRecord.js
  2. 2
      weapp/package/troubleshooting/index.wxml
  3. 95
      weapp/package/troubleshooting/shootingForm/index.js
  4. 57
      weapp/package/troubleshooting/shootingForm/index.wxml
  5. 10
      weapp/utils/getApiUrl.js

2
api/app/lib/controllers/patrolManage/patrolRecord.js

@ -245,7 +245,7 @@ async function getPatrolRecordIssueHandleById (ctx) {
const res = await models.PatrolRecordIssueHandle.findOne({
where: {
id
},
include: [{
model: models.PatrolRecord

2
weapp/package/troubleshooting/index.wxml

@ -47,7 +47,7 @@
<view wx:for="{{dataList}}">
<view class="mission-card-title">
<span>{{item.PatrolRecord.points.project.name}}</span>
<van-button type="info" round bind:tap="toShootingForm" data-shootingid="{{5}}">
<van-button type="info" round bind:tap="toShootingForm" data-shootingid="{{item.id}}">
{{
item.state == 1 ?'制定计划':
item.state == 2 ?'审批计划':

95
weapp/package/troubleshooting/shootingForm/index.js

@ -1,19 +1,33 @@
// package/troubleshooting/shootingForm/index.js
import { getPatrolRecordIssueHandleById, getStructuresUsers } from "../../../utils/getApiUrl";
import { Request } from "../../../common";
const moment = require("../../../utils/moment");
Page({
/**
* 页面的初始数据
*/
data: {
data: {},
strucFocusUser: {},
focusPerson: [],
shootingid: '',
maintenancePersonIndex: undefined,
maintenancePersonId: null,
maintenanceRequirement: '',
qualityPersonIndex: undefined,
planStartTimePopupShow: false,
planStartTime: '',
planStartTimeShow: '',
planEndTimePopupShow: false,
planEndTime: '',
planEndTimeShow: '',
planApproval: '',
repair: '',
// 表单控制
isPlanState: false,
},
/**
@ -25,39 +39,97 @@ Page({
this.setData({
shootingid
})
Promise.all(
[
Request.get(getPatrolRecordIssueHandleById(shootingid), {}),
Request.get(getStructuresUsers(), {})
]
).then(res => {
console.log(res, 222);
const [issue, strucUser] = res
this.setData({
data: {
...issue,
PatrolRecord: {
...issue.PatrolRecord,
inspectionTime: moment(issue.PatrolRecord.inspectionTime).format('YYYY-MM-DD HH:mm:ss')
}
},
isPlanState: issue.state == 1 || issue.state == 3
})
this.setData({
strucFocusUser: {
...strucUser,
}
})
const focusPerson = (strucUser.find(s => s.id == issue.PatrolRecord.points.project.id) || {}).users || []
this.setData({
focusPerson: focusPerson
})
})
} else {
}
},
onMaintenancePersonPopupChange (e) {
console.log(e);
if (e.target.dataset.type == 'zhijian') {
this.setData({
multiIndex: e.detail.value
qualityPersonIndex: e.detail.value
})
} else {
this.setData({
maintenancePersonIndex: e.detail.value
})
}
},
showPlanStartTimePopup () {
if (this.data.isPlanState) {
this.setData({ planStartTimePopupShow: true })
}
},
closePlanStartTimePopup () {
closePlanStartTimePopup (e) {
this.setData({ planStartTimePopupShow: false })
console.log(e.target, this.data.planStartTime);
if (e.target.dataset.option == 'cancel') {
// this.setData({ planStartTime: '' })
} else if (e.target.dataset.option == 'confirmed') {
this.setData({
planStartTimeShow: this.data.planStartTime ? moment(this.data.planStartTime).format('YYYY-MM-DD HH:mm') : ''
})
}
},
onPlanStartTimeChange (event) {
this.setData({ planStartTime: event.detail, })
console.log(event);
this.setData({
planStartTime: event.detail,
})
},
showPlanEndTimePopup () {
if (this.data.isPlanState) {
this.setData({ planEndTimePopupShow: true })
}
},
closePlanEndTimePopup () {
closePlanEndTimePopup (e) {
this.setData({ planEndTimePopupShow: false })
if (e.target.dataset.option == 'confirmed') {
this.setData({
planEndTimeShow: this.data.planEndTime ? moment(this.data.planEndTime).format('YYYY-MM-DD HH:mm') : ''
})
}
},
onPlanEndTimeChange (event) {
this.setData({ planEndTime: event.detail, })
this.setData({
planEndTime: event.detail,
})
},
// 上传图片
@ -168,6 +240,19 @@ Page({
// });
},
confirm (e) {
const { state } = this.data.data
let nextState = ''
let confirmData = {}
if (state == 1) {
nextState = 2
confirmData = {
...confirmData,
}
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/

57
weapp/package/troubleshooting/shootingForm/index.wxml

@ -1,17 +1,18 @@
<page-meta page-style="{{ planStartTimePopupShow||planEndTimePopupShow ? 'overflow: hidden;' : '' }}" />
<view style="background:#F7F7FA; min-height:calc(100vh - 48rpx); padding:24rpx 0">
<van-cell-group inset class="mission-card">
<view class="mission-card-title">
<span>巡检信息</span>
</view>
<van-field value="输入框已禁用" label="结构物名称" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="巡检人" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="巡检单位" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="巡检时间" readonly border="{{ false }}" />
<van-field value="{{data.PatrolRecord.points.project.name}}" label="结构物名称" readonly border="{{ false }}" />
<van-field value="{{data.PatrolRecord.points.user.name}}" label="巡检人" readonly border="{{ false }}" />
<van-field value="{{data.PatrolRecord.points.user.department.name}}" label="巡检单位" readonly border="{{ false }}" />
<van-field value="{{data.PatrolRecord.inspectionTime}}" label="巡检时间" readonly border="{{ false }}" />
<view class="mission-card-title mission-center-card-title">
<span>问题详情</span>
</view>
<van-field value="输入框已禁用" label="点位名称" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="检查项" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="{{data.PatrolRecord.points.itemData.name}}" readonly border="{{ false }}" />
<van-field value="{{data.PatrolRecord.points.itemData}}" label="检查项" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="异常等级" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="问题描述" readonly border="{{ false }}" />
<van-cell border="{{false}}">
@ -29,21 +30,21 @@
<van-cell>
<view style="display:flex">
<view class="fs-cell-title" style="">维修人</view>
<picker style="width:100%;text-align:left" bindchange="onMaintenancePersonPopupChange" value="{{0}}" range="{{['array']}}">
<picker style="width:100%;text-align:left" disabled="{{!isPlanState}}" bindchange="onMaintenancePersonPopupChange" data-type='weixiu' value="{{0}}" range="{{focusPerson}}" range-key="name">
<view class="fs-cell-content" style="width:100%">
当前选择
{{maintenancePersonIndex||maintenancePersonIndex==0?focusPerson[maintenancePersonIndex].name:'请选择'}}
<van-icon name="arrow" style="float:right;position:relative; top:4px" />
</view>
</picker>
</view>
</van-cell>
<van-field value="xxxx" label="维修单位" placeholder="请填写" readonly="{{0}}" border="{{ true }}" />
<van-field value="xxxx" label="维修单位" placeholder="" readonly="{{!isPlanState}}" border="{{ !isPlanState }}" />
<van-cell>
<view style="display:flex">
<view class="fs-cell-title" style="">质检人</view>
<picker style="width:100%;text-align:left" bindchange="onMaintenancePersonPopupChange" value="{{0}}" range="{{['array']}}">
<picker style="width:100%;text-align:left" disabled="{{!isPlanState}}" bindchange="onMaintenancePersonPopupChange" data-type='zhijian' value="{{qualityPersonIndex}}" range="{{focusPerson}}" range-key="name">
<view class="fs-cell-content" style="width:100%">
当前选择
{{qualityPersonIndex||qualityPersonIndex==0?focusPerson[qualityPersonIndex].name:'请选择'}}
<van-icon name="arrow" style="float:right;position:relative; top:4px" />
</view>
</picker>
@ -53,33 +54,47 @@
<view style="display:flex">
<view class="fs-cell-title" style="">计划开始时间</view>
<view class="fs-cell-content" style="width:100%;text-align:left" bindtap="showPlanStartTimePopup">
当前选择
<van-icon name="arrow" style="float:right;position:relative; top:4px" />
{{planStartTimeShow?planStartTimeShow:'请选择'}}
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
</view>
<van-popup show="{{ planStartTimePopupShow }}" position="bottom" custom-style="height: 50%;" bind:close="closePlanStartTimePopup">
<van-datetime-picker value="{{ planStartTime }}" bind:input="onInput" show-toolbar="{{false}}" />
<view style="display:flex;justify-content: space-between;padding:24rpx;font-size:larger;border-bottom:1px solid #f5f5f5">
<view bindtap="closePlanStartTimePopup" data-option='cancel'>取消</view>
<view style="color:#07c160;" data-option='confirmed' bindtap="closePlanStartTimePopup">
确定
</view>
</view>
<van-datetime-picker value="{{ planStartTime }}" bind:input="onPlanStartTimeChange" show-toolbar="{{false}}" />
</van-popup>
</view>
</van-cell>
<van-cell>
<view style="display:flex">
<view class="fs-cell-title" style="">计划结束时间</view>
<view class="fs-cell-content" style="width:100%;text-align:left" bindtap="showPlanStartTimePopup">
当前选择
<van-icon name="arrow" style="float:right;position:relative; top:4px" />
<view class="fs-cell-content" style="width:100%;text-align:left" bindtap="showPlanEndTimePopup">
{{planEndTimeShow?planEndTimeShow:'请选择'}}
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
</view>
<van-popup show="{{ planStartTimePopupShow }}" position="bottom" custom-style="height: 50%;" bind:close="closePlanStartTimePopup">
<van-datetime-picker value="{{ planStartTime }}" bind:input="onInput" show-toolbar="{{false}}" />
<van-popup show="{{ planEndTimePopupShow }}" position="bottom" custom-style="height: 50%;" bind:close="closePlanEndTimePopup">
<view style="display:flex;justify-content: space-between;padding:24rpx;font-size:larger;border-bottom:1px solid #f5f5f5">
<view bindtap="closePlanEndTimePopup" data-option='cancel'>取消</view>
<view style="color:#07c160;" data-option='confirmed' bindtap="closePlanEndTimePopup">
确定
</view>
</view>
<van-datetime-picker value="{{ planEndTime }}" bind:input="onPlanEndTimeChange" show-toolbar="{{false}}" />
</van-popup>
</view>
</van-cell>
<van-field value="{{ maintenanceRequirement }}" label="维修要求" type="textarea" placeholder="请输入" autosize border="{{ true }}" />
<van-field value="{{ maintenanceRequirement }}" label="维修要求" type="textarea" placeholder="请输入" autosize readonly="{{!isPlanState}}" border="{{ !isPlanState }}" />
<view wx:if="{{data.state > 1}}">
<view class="mission-card-title mission-center-card-title">
<span>维修计划审批</span>
</view>
<van-field value="{{ planApproval }}" label="审批意见" type="textarea" placeholder="请输入" autosize border="{{ true }}" />
<van-field value="输入框已禁用" label="审批人" readonly border="{{ false }}" />
<van-field value="输入框已禁用" label="审批日期" readonly border="{{ false }}" />
</view>
<view class="mission-card-title mission-center-card-title">
<span>维修处理</span>
</view>
@ -131,7 +146,7 @@
<van-field value="{{ repair }}" label="验收意见" type="textarea" placeholder="请输入" autosize border="{{ true }}" />
</van-cell-group>
<view style="margin:24px 16px">
<van-button type="info" block style="">提交</van-button>
<van-button type="info" block style="" bindtap="confirm">提交</van-button>
<view style="display:flex; justify-content:space-between">
<van-button type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)">
同意

10
weapp/utils/getApiUrl.js

@ -33,6 +33,14 @@ exports.getPatrolTemplate = (id) => {
return `/patrolTemplate?id=${id}`
}
exports.getPatrolRecordIssueHandle = (id) => {
exports.getPatrolRecordIssueHandle = () => {
return `/patrolRecord/issue/handle`
}
exports.getPatrolRecordIssueHandleById = (id) => {
return `/patrolRecord/issue/handle/${id}`
}
exports.getStructuresUsers = () => {
return `/structures/users`
}
Loading…
Cancel
Save