| | |
| | | // pages/mLedger/ledgerupload/ledgerupload.js |
| | | import bUploadLedger from '../behaviors/bUploadLedger' |
| | | import ledgerservice from "../../../service/ledgerservice" |
| | | import moment from '../../../utils/moment.min' |
| | | import bLoadingToast from '../../../base/behaviors/bLoadingToast' |
| | | import bUploadLedger from '../behaviors/bUploadLedger'; |
| | | import bUploadSelfPatrol from '../behaviors/bUploadSelfPatrol'; |
| | | import ledgerservice from '../../../service/ledgerservice'; |
| | | import selfpatrolservice from '../../../service/selfpatrolservice'; |
| | | import moment from '../../../utils/moment.min'; |
| | | import bLoadingToast from '../../../base/behaviors/bLoadingToast'; |
| | | |
| | | const app = getApp() |
| | | const app = getApp(); |
| | | |
| | | Page({ |
| | | behaviors: [bUploadLedger, bLoadingToast], |
| | | behaviors: [bUploadLedger, bLoadingToast, bUploadSelfPatrol], |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | barTitle: '上传台账', |
| | | imgFiles: [], |
| | | |
| | | remark: '', |
| | | remarkDisable: false, |
| | | |
| | | previewImageUrls:[], |
| | | previewImageUrls: [], |
| | | previewCurrent: 0, |
| | | showPreview: false, |
| | | |
| | | // 上传模式,0:普通上传;1:不涉及;2:延用复制历史记录 |
| | | uploadMode: 0, |
| | | // 类型,0:台账和自巡查;1:应急自巡查 |
| | | type: 0, |
| | | // 历史最新记录 |
| | | lastLedger: undefined, |
| | | }, |
| | | |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | var that = this |
| | | this.getOpenerEventChannel().on('acceptDataFromOpenerPage', function(data) { |
| | | that.setData({ |
| | | ledger: data.ledger, |
| | | indexGroup: data.indexGroup |
| | | }) |
| | | if (data.barTitle) { |
| | | var that = this; |
| | | this.getOpenerEventChannel().on( |
| | | 'acceptDataFromOpenerPage', |
| | | function (data) { |
| | | data.ledger.description = data.ledger.description?.replaceAll( |
| | | '\\n', |
| | | '\n', |
| | | ); |
| | | that.setData({ |
| | | ledger: data.ledger, |
| | | time: moment(data.ledger.updateDate).format('YYYY年MM月DD日'), |
| | | indexGroup: data.indexGroup, |
| | | type: data.type, |
| | | taskId: data.taskId, |
| | | reUpload: data.reUpload, |
| | | detail: data.detail, |
| | | }); |
| | | if (data.barTitle) { |
| | | that.data.barTitle = data.barTitle; |
| | | } |
| | | wx.setNavigationBarTitle({ |
| | | title: data.barTitle, |
| | | }) |
| | | } |
| | | title: that.data.barTitle, |
| | | }); |
| | | |
| | | that.checkStatus() |
| | | }) |
| | | that.checkStatus(); |
| | | |
| | | // 对于可复制的并且不是重传状态的台账,获取最新的历史记录用于复制 |
| | | if (data.ledger.copy && !data.reUpload) { |
| | | that.getLatestLedger(); |
| | | } |
| | | }, |
| | | ); |
| | | this.setData({ |
| | | loadingText: '上传中', |
| | | loadCompleteText: '上传完成', |
| | | timeoutText: '上传超时', |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 判断当前台账状态,如果有上传记录则显示记录 |
| | | */ |
| | | checkStatus() { |
| | | if (this.data.ledger.path1) { |
| | | let imgFiles = this.data.ledger.path1 |
| | | let remark = this.data.ledger.remark1 == null ? '' : this.data.ledger.remark1 |
| | | let remarkDisable = true |
| | | this.setData({imgFiles, remark, remarkDisable}) |
| | | }else if (this.data.ledger.upLoad) { |
| | | var that = this |
| | | var userId = app.globalData.accessToken.userId |
| | | var typeId = this.data.ledger.ledgerSubTypeId |
| | | var sceneType = app.globalData.userInfo.extension2 |
| | | var time = moment().format('YYYY-MM-DD') |
| | | ledgerservice.getLedgerDetail(userId, typeId, sceneType, time, { |
| | | success (res) { |
| | | if (res.length > 0) { |
| | | let detail = res[0] |
| | | if (detail.upLoad) { |
| | | let imgFiles = detail.path1 |
| | | let remark = detail.remark1 == null ? '' : detail.remark1 |
| | | let remarkDisable = true |
| | | that.setData({imgFiles, remark, remarkDisable}) |
| | | if (this.data.reUpload) { |
| | | //do nothing |
| | | return; |
| | | } else if (this.data.ledger._files) { |
| | | let imgFiles = this.data.ledger._files; |
| | | let remark = this.data.remark; |
| | | if (this.data.ledger.remark1) remark = this.data.ledger.remark1; |
| | | let remarkDisable = true; |
| | | this.setData({ |
| | | imgFiles, |
| | | remark, |
| | | remarkDisable, |
| | | }); |
| | | } else if (this.data.ledger.upLoad) { |
| | | var that = this; |
| | | var userId = app.globalData.accessToken.userId; |
| | | var typeId = this.data.ledger.ledgerSubTypeId; |
| | | var taskId = this.data.taskId; |
| | | var sceneType = app.globalData.userInfo.extension2; |
| | | var time = moment().format('YYYY-MM-DD'); |
| | | if (this.data.type == 0) { |
| | | ledgerservice.getLedgerDetail(userId, typeId, sceneType, time, { |
| | | success(res) { |
| | | if (res.length > 0) { |
| | | let detail = res[0]; |
| | | if (detail.upLoad) { |
| | | let imgFiles = detail._files; |
| | | let remark = detail.remark1 ? detail.remark1 : ''; |
| | | let remarkDisable = true; |
| | | that.setData({ |
| | | imgFiles, |
| | | remark, |
| | | remarkDisable, |
| | | detail, |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }); |
| | | } else { |
| | | selfpatrolservice.getSelfPatrolDetail(userId, typeId, taskId, { |
| | | success(res) { |
| | | if (res.success) { |
| | | let detail = res.data; |
| | | if (detail.upLoad) { |
| | | let imgFiles = detail._files; |
| | | let remark = detail.remark1 ? detail.remark1 : ''; |
| | | let remarkDisable = true; |
| | | that.setData({ |
| | | imgFiles, |
| | | remark, |
| | | remarkDisable, |
| | | detail, |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 获取最新一次的历史记录,用于延用复制功能 |
| | | getLatestLedger() { |
| | | var userId = app.globalData.accessToken.userId; |
| | | var typeId = this.data.ledger.ledgerSubTypeId; |
| | | var sceneType = app.globalData.userInfo.extension2; |
| | | this.setData({ |
| | | latestLedgerLoading: true, |
| | | }); |
| | | ledgerservice.getLedgerDetail(userId, typeId, sceneType, null, { |
| | | success: res => { |
| | | if (res.length > 0) { |
| | | const ledger = res[0]; |
| | | this.setData({ |
| | | lastLedger: { |
| | | ...ledger, |
| | | _updateTimeStr: moment(ledger.updateDate).format( |
| | | 'YYYY年MM月DD日', |
| | | ), |
| | | }, |
| | | }); |
| | | } |
| | | }) |
| | | }, |
| | | complete: () => { |
| | | this.setData({ |
| | | latestLedgerLoading: false, |
| | | }); |
| | | }, |
| | | }); |
| | | }, |
| | | |
| | | uploadFileFail(e) { |
| | | const { type, index } = e.detail; |
| | | if (type == 1) { |
| | | wx.showToast({ |
| | | title: `文件过大`, |
| | | icon: 'error', |
| | | }); |
| | | } |
| | | }, |
| | | |
| | |
| | | onSubmit: function () { |
| | | if (this.data.imgFiles.length == 0) { |
| | | wx.showToast({ |
| | | title: '请至少选择一张图片', |
| | | title: '请至少选择一个文件', |
| | | icon: 'none', |
| | | }) |
| | | }); |
| | | } else { |
| | | this.setData({ |
| | | showDialog: true, |
| | | uploadMode: 0 |
| | | }) |
| | | uploadMode: 0, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | |
| | | onSubmitNoLedger() { |
| | | this.setData({ |
| | | showDialog: true, |
| | | uploadMode: 1 |
| | | }) |
| | | uploadMode: 1, |
| | | }); |
| | | }, |
| | | |
| | | // 延用复制台账 |
| | | onCopyLedger() { |
| | | if (this.data.latestLedgerLoading) { |
| | | return; |
| | | } else if (this.data.lastLedger == undefined) { |
| | | wx.showToast({ |
| | | title: '没有可延用的记录', |
| | | icon: 'none', |
| | | }); |
| | | } else { |
| | | this.setData({ |
| | | showDialog: true, |
| | | uploadMode: 2, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | //提交台账 |
| | | submitLedger() { |
| | | this.setData({ |
| | | showDialog: false, |
| | | }) |
| | | if (this.uploadMode == 0) { |
| | | this._uploadLedger() |
| | | } else { |
| | | this._uploadNoLedger() |
| | | }); |
| | | switch (this.data.uploadMode) { |
| | | case 0: |
| | | if (this.data.type == 0) { |
| | | this._uploadLedger(); |
| | | } else { |
| | | this._uploadSelfPatrol(); |
| | | } |
| | | break; |
| | | case 1: |
| | | if (this.data.type == 0) { |
| | | this._uploadNoLedger(); |
| | | } else { |
| | | this._uploadNoSelfPatrol(); |
| | | } |
| | | break; |
| | | case 2: |
| | | if (this.data.type == 0) { |
| | | const { lastLedger } = this.data; |
| | | const copyLedgerList = [ |
| | | { |
| | | subTypeId: lastLedger.ledgerSubTypeId, |
| | | time: `${lastLedger.year}-${lastLedger.month}`, |
| | | }, |
| | | ]; |
| | | this._uploadCopyLedger(copyLedgerList); |
| | | } |
| | | break; |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | }, |
| | | |
| | | // 跳转重传界面 |
| | | reUpload() { |
| | | wx.navigateTo({ |
| | | url: '/pages/mLedger/ledgerupload/ledgerupload', |
| | | success: res => { |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { |
| | | ledger: this.data.ledger, |
| | | detail: this.data.detail, |
| | | type: this.data.type, |
| | | indexGroup: this.data.indexGroup, |
| | | taskId: this.data.taskId, |
| | | barTitle: `重新${this.data.barTitle}`, |
| | | reUpload: true, |
| | | }); |
| | | }, |
| | | events: { |
| | | uploadOver: data => { |
| | | this.checkStatus(); |
| | | }, |
| | | }, |
| | | }); |
| | | }, |
| | | |
| | | //台账提交成功后 |
| | | _success(res) { |
| | | this.getOpenerEventChannel().emit('uploadOver', { |
| | | indexGroup: this.data.indexGroup |
| | | }) |
| | | indexGroup: this.data.indexGroup, |
| | | }); |
| | | wx.navigateBack({ |
| | | delta: 1, |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | //图片放大预览 |
| | | previewImage(e) { |
| | | const { |
| | | index |
| | | } = e.currentTarget.dataset; |
| | | const previewImageUrls = this.data.imgFiles; |
| | | const { index } = e.currentTarget.dataset; |
| | | const previewImageUrls = this.data.imgFiles |
| | | .filter(f => f.type == 'image') |
| | | .map(f => f.url); |
| | | this.setData({ |
| | | previewImageUrls, |
| | | previewCurrent: index, |
| | | showPreview: true |
| | | showPreview: true, |
| | | }); |
| | | }, |
| | | }) |
| | | |
| | | // 台账备注监听 |
| | | onRemarkChange(e) { |
| | | const { value } = e.detail; |
| | | this.setData({ |
| | | remark: value, |
| | | }); |
| | | }, |
| | | }); |