diff --git a/api/app/lib/controllers/patrolManage/patrolRecord.js b/api/app/lib/controllers/patrolManage/patrolRecord.js index 6112c66..f6d5783 100644 --- a/api/app/lib/controllers/patrolManage/patrolRecord.js +++ b/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 diff --git a/weapp/package/polling/polling.js b/weapp/package/polling/polling.js index 872e414..900415e 100644 --- a/weapp/package/polling/polling.js +++ b/weapp/package/polling/polling.js @@ -5,284 +5,284 @@ const moment = require("../../utils/moment"); Page({ - /** - * 页面的初始数据 - */ - data: { - /* 待巡检 */ - dataList: [], - limit: 10, //条数 - page: 0, //当前页 - count: '', //总条数 - hidden: true, - currentTab: '0', - /* 巡检记录 */ - ResList: [ //阅读状态 - { - value: 'all', - text: '全部', - }, - { - value: 'normal', - text: '正常', - }, - { - value: 'abnormal', - text: '异常', - } - ], - ResIndex: 0, //巡检结果 - recordDataList: [], - isPickerRender: false, - isPickerShow: false, - startTime: "开始日期", //开始日期 - endTime: "结束日期", //结束日期 - pickerConfig: { //自定义时间选择器配置项 - endDate: true, //是否需要结束时间,为true时显示开始时间和结束时间两个picker - column: "day", //可选的最小时间范围day、hour、minute、second - dateLimit: true, //是否现在时间可选范围,false时可选任意时间;当为数字n时,范围是当前时间的最近n天 - initStartTime: "", //picker初始时间 - initEndTime: "", //picker初始结束时间 - // limitStartTime: "", //最小可选时间 - // limitEndTime: "" //最大可选时间 + /** + * 页面的初始数据 + */ + data: { + /* 待巡检 */ + dataList: [], + limit: 10, //条数 + page: 0, //当前页 + count: '', //总条数 + hidden: true, + currentTab: '0', + /* 巡检记录 */ + ResList: [ //阅读状态 + { + value: 'all', + text: '全部', + }, + { + value: 'normal', + text: '正常', + }, + { + value: 'abnormal', + text: '异常', + } + ], + ResIndex: 0, //巡检结果 + recordDataList: [], + isPickerRender: false, + isPickerShow: false, + startTime: "开始日期", //开始日期 + endTime: "结束日期", //结束日期 + pickerConfig: { //自定义时间选择器配置项 + endDate: true, //是否需要结束时间,为true时显示开始时间和结束时间两个picker + column: "day", //可选的最小时间范围day、hour、minute、second + dateLimit: true, //是否现在时间可选范围,false时可选任意时间;当为数字n时,范围是当前时间的最近n天 + initStartTime: "", //picker初始时间 + initEndTime: "", //picker初始结束时间 + // limitStartTime: "", //最小可选时间 + // limitEndTime: "" //最大可选时间 + }, + recordHidden: true, }, - recordHidden: true, - }, - // 顶部tab切换 - clickTab(e) { - this.setData({ - currentTab: e.currentTarget.dataset.current - }) - if (e.currentTarget.dataset.current == '0') { - this.setData({ - page: 0, - dataList: [] - }, () => { - this.getPatrolPlan(); - }) - } else if (e.currentTarget.dataset.current == '1') { - this.getPatrolRecord(); - } - }, + // 顶部tab切换 + clickTab (e) { + this.setData({ + currentTab: e.currentTarget.dataset.current + }) + if (e.currentTarget.dataset.current == '0') { + this.setData({ + page: 0, + dataList: [] + }, () => { + this.getPatrolPlan(); + }) + } else if (e.currentTarget.dataset.current == '1') { + this.getPatrolRecord(); + } + }, - /***** 待巡检的方法 *****/ - // 开始巡检 - bindStart(e) { - let data = JSON.stringify(e.currentTarget.dataset.item); - wx.navigateTo({ - url: '/package/startInspection/startInspection?data=' + encodeURIComponent(data), - }) - }, + /***** 待巡检的方法 *****/ + // 开始巡检 + bindStart (e) { + let data = JSON.stringify(e.currentTarget.dataset.item); + wx.navigateTo({ + url: '/package/startInspection/startInspection?data=' + encodeURIComponent(data), + }) + }, - // 获取巡检计划 - getPatrolPlan: function () { - let that = this; - let { page, limit } = that.data; - wx.showLoading({ - title: '加载中', - }) - const userInfo = wx.getStorageSync('userInfo'); - Request.get(getPatrolPlan(), { limit, page, userId: userInfo.id }).then(res => { - if (res.rows.length == 0) { - that.setData({ - dataList: res.rows, - hidden: false + // 获取巡检计划 + getPatrolPlan: function () { + let that = this; + let { page, limit } = that.data; + wx.showLoading({ + title: '加载中', + }) + const userInfo = wx.getStorageSync('userInfo'); + Request.get(getPatrolPlan(), { limit, page, userId: userInfo.id }).then(res => { + if (res.rows.length == 0) { + that.setData({ + dataList: res.rows, + hidden: false + }) + wx.hideLoading() + return; + } + let dataSource = res.rows.map(e => { + e.startTime = moment(e.startTime).format('YYYY-MM-DD'); + e.endTime = moment(e.endTime).format('YYYY-MM-DD'); + return e; + }) + var arr1 = that.data.dataList; //从data获取当前dataList数组 + var arr2 = dataSource; //从此次请求返回的数据中获取新数组 + arr1 = arr1.concat(arr2); //合并数组 + that.setData({ + dataList: arr1, + count: res.count, //总条数 + hidden: true + }) + wx.hideLoading() }) - wx.hideLoading() - return; - } - let dataSource = res.rows.map(e => { - e.startTime = moment(e.startTime).format('YYYY-MM-DD'); - e.endTime = moment(e.endTime).format('YYYY-MM-DD'); - return e; - }) - var arr1 = that.data.dataList; //从data获取当前dataList数组 - var arr2 = dataSource; //从此次请求返回的数据中获取新数组 - arr1 = arr1.concat(arr2); //合并数组 - that.setData({ - dataList: arr1, - count: res.count, //总条数 - hidden: true - }) - wx.hideLoading() - }) - }, + }, - /***** 巡检记录的方法 *****/ - // 巡检结果 - bindPickerRes(e) { - let that = this; - that.setData({ - ResIndex: e.detail.value - }) - }, + /***** 巡检记录的方法 *****/ + // 巡检结果 + bindPickerRes (e) { + let that = this; + that.setData({ + ResIndex: e.detail.value + }) + }, - // 时间选择器显示 - pickerShow: function () { - this.setData({ - isPickerShow: true, - isPickerRender: true, - }); - }, + // 时间选择器显示 + pickerShow: function () { + this.setData({ + isPickerShow: true, + isPickerRender: true, + }); + }, - // 时间选择器隐藏 - pickerHide: function () { - this.setData({ - isPickerShow: false, - }); - }, + // 时间选择器隐藏 + pickerHide: function () { + this.setData({ + isPickerShow: false, + }); + }, - // 获取选择时间 - setPickerTime: function (val) { - let data = val.detail; - this.setData({ - startTime: data.startTime, - endTime: data.endTime - }); - }, + // 获取选择时间 + setPickerTime: function (val) { + let data = val.detail; + this.setData({ + startTime: data.startTime, + endTime: data.endTime + }); + }, - // 清空提交日期筛选框 - bindClearDate() { - this.setData({ - startTime: '开始日期', - endTime: '结束日期' - }) - }, + // 清空提交日期筛选框 + bindClearDate () { + this.setData({ + startTime: '开始日期', + endTime: '结束日期' + }) + }, - // 查询 - bindSearch() { - this.getPatrolRecord(); - }, + // 查询 + bindSearch () { + this.getPatrolRecord(); + }, - // 查看详情 - bindDetail(e) { - let data = JSON.stringify(e.currentTarget.dataset.item); - wx.navigateTo({ - url: '/package/polling/inspectionRecordDetail/inspectionRecordDetail?data=' + encodeURIComponent(data), - }) - }, + // 查看详情 + bindDetail (e) { + let data = JSON.stringify(e.currentTarget.dataset.item); + wx.navigateTo({ + url: '/package/polling/inspectionRecordDetail/inspectionRecordDetail?data=' + encodeURIComponent(data), + }) + }, - // 获取巡检记录 - getPatrolRecord: function () { - let that = this; - let { endTime, startTime, ResList, ResIndex } = that.data; - let sevenYearAgo = moment().subtract(7, 'days').format('YYYY-MM-DD 00:00:00'); - let currentData = moment().startOf('days').format('YYYY-MM-DD 23:59:59'); - let alarm = ResList[ResIndex].value == 'all' ? 'null' : ResList[ResIndex].value == 'normal' ? false : true; - wx.showLoading({ - title: '加载中' - }) - Request.get(getPatrolRecord('all', startTime == '开始日期' ? sevenYearAgo : startTime + ' 00:00:00', endTime == '结束日期' ? currentData : endTime + ' 23:59:59', alarm, 'null')).then(res => { - if (res.length == 0) { - that.setData({ - recordDataList: res, - recordHidden: false + // 获取巡检记录 + getPatrolRecord: function () { + let that = this; + let { endTime, startTime, ResList, ResIndex } = that.data; + let sevenYearAgo = moment().subtract(7, 'days').format('YYYY-MM-DD 00:00:00'); + let currentData = moment().startOf('days').format('YYYY-MM-DD 23:59:59'); + let alarm = ResList[ResIndex].value == 'all' ? 'null' : ResList[ResIndex].value == 'normal' ? false : true; + wx.showLoading({ + title: '加载中' }) - wx.hideLoading() - return; - } - let dataSource = res.map(e => { - e.lastInspectionTime = e.lastInspectionTime ? moment(e.lastInspectionTime).format('YYYY-MM-DD') : '--'; - e.inspectionTime = moment(e.inspectionTime).format('YYYY-MM-DD'); - return e; - }) - that.setData({ - recordDataList: dataSource, - recordHidden: true - }) - wx.hideLoading() - }) - }, + Request.get(getPatrolRecord('all', startTime == '开始日期' ? sevenYearAgo : startTime + ' 00:00:00', endTime == '结束日期' ? currentData : endTime + ' 23:59:59', alarm, 'null')).then(res => { + if (res.length == 0) { + that.setData({ + recordDataList: res, + recordHidden: false + }) + wx.hideLoading() + return; + } + let dataSource = res.map(e => { + e.lastInspectionTime = e.lastInspectionTime ? moment(e.lastInspectionTime).format('YYYY-MM-DD') : '--'; + e.inspectionTime = moment(e.inspectionTime).format('YYYY-MM-DD'); + return e; + }) + that.setData({ + recordDataList: dataSource, + recordHidden: true + }) + wx.hideLoading() + }) + }, - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - this.getPatrolPlan(); - }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad (options) { + this.getPatrolPlan(); + }, - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady () { - }, + }, - /** - * 生命周期函数--监听页面显示 - */ - onShow() { + /** + * 生命周期函数--监听页面显示 + */ + onShow () { - }, + }, - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { + /** + * 生命周期函数--监听页面隐藏 + */ + onHide () { - }, + }, - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { + /** + * 生命周期函数--监听页面卸载 + */ + onUnload () { - }, + }, - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - let that = this; - if (that.data.currentTab == '0') { - that.setData({ - dataList: [], - page: 0, //当前页 - count: '', //总条数 - }) - that.getPatrolPlan() - // 手动控制回弹 - wx.stopPullDownRefresh(); - } else if (that.data.currentTab == '1') { - that.setData({ - recordDataList: [], - ResIndex: 0, //巡检结果 - startTime: "开始日期", //开始日期 - endTime: "结束日期", //结束日期 - }) - that.getPatrolRecord() - // 手动控制回弹 - wx.stopPullDownRefresh(); - } - }, + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh () { + let that = this; + if (that.data.currentTab == '0') { + that.setData({ + dataList: [], + page: 0, //当前页 + count: '', //总条数 + }) + that.getPatrolPlan() + // 手动控制回弹 + wx.stopPullDownRefresh(); + } else if (that.data.currentTab == '1') { + that.setData({ + recordDataList: [], + ResIndex: 0, //巡检结果 + startTime: "开始日期", //开始日期 + endTime: "结束日期", //结束日期 + }) + that.getPatrolRecord() + // 手动控制回弹 + wx.stopPullDownRefresh(); + } + }, - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - let _that = this; - if (_that.data.currentTab == '0') { - let page = _that.data.page + 1; //获取当前页数并+1 - let { dataList, count } = _that.data; - if (dataList.length == count) { - wx.showToast({ - title: '没有更多数据了...', - icon: 'none', - }) - return; - } - _that.setData({ - page: page, //更新当前页数 - }) - _that.getPatrolPlan() - } - }, + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom () { + let _that = this; + if (_that.data.currentTab == '0') { + let page = _that.data.page + 1; //获取当前页数并+1 + let { dataList, count } = _that.data; + if (dataList.length == count) { + wx.showToast({ + title: '没有更多数据了...', + icon: 'none', + }) + return; + } + _that.setData({ + page: page, //更新当前页数 + }) + _that.getPatrolPlan() + } + }, - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { + /** + * 用户点击右上角分享 + */ + onShareAppMessage () { - } + } }) \ No newline at end of file diff --git a/weapp/package/troubleshooting/index.wxml b/weapp/package/troubleshooting/index.wxml index e1f991f..5ff1204 100644 --- a/weapp/package/troubleshooting/index.wxml +++ b/weapp/package/troubleshooting/index.wxml @@ -47,7 +47,7 @@ {{item.PatrolRecord.points.project.name}} - + {{ item.state == 1 ?'制定计划': item.state == 2 ?'审批计划': diff --git a/weapp/package/troubleshooting/shootingForm/index.js b/weapp/package/troubleshooting/shootingForm/index.js index 94b08ff..3c83d91 100644 --- a/weapp/package/troubleshooting/shootingForm/index.js +++ b/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) { - this.setData({ - multiIndex: e.detail.value - }) + console.log(e); + if (e.target.dataset.type == 'zhijian') { + this.setData({ + qualityPersonIndex: e.detail.value + }) + } else { + this.setData({ + maintenancePersonIndex: e.detail.value + }) + } + }, showPlanStartTimePopup () { - this.setData({ planStartTimePopupShow: true }) + 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 () { - this.setData({ planEndTimePopupShow: true }) + 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, + + } + } + }, + /** * 生命周期函数--监听页面初次渲染完成 */ diff --git a/weapp/package/troubleshooting/shootingForm/index.wxml b/weapp/package/troubleshooting/shootingForm/index.wxml index d006825..419d9e5 100644 --- a/weapp/package/troubleshooting/shootingForm/index.wxml +++ b/weapp/package/troubleshooting/shootingForm/index.wxml @@ -1,17 +1,18 @@ + 巡检信息 - - - - + + + + 问题详情 - - + + @@ -29,21 +30,21 @@ 维修人 - + - 当前选择 + {{maintenancePersonIndex||maintenancePersonIndex==0?focusPerson[maintenancePersonIndex].name:'请选择'}} - + 质检人 - + - 当前选择 + {{qualityPersonIndex||qualityPersonIndex==0?focusPerson[qualityPersonIndex].name:'请选择'}} @@ -53,33 +54,47 @@ 计划开始时间 - 当前选择 - + {{planStartTimeShow?planStartTimeShow:'请选择'}} + - + + 取消 + + 确定 + + + 计划结束时间 - - 当前选择 - + + {{planEndTimeShow?planEndTimeShow:'请选择'}} + - - + + + 取消 + + 确定 + + + - - - 维修计划审批 + + + + 维修计划审批 + + + + - - - 维修处理 @@ -131,7 +146,7 @@ - 提交 + 提交 同意 diff --git a/weapp/utils/getApiUrl.js b/weapp/utils/getApiUrl.js index cc03847..4ebde63 100644 --- a/weapp/utils/getApiUrl.js +++ b/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` } \ No newline at end of file