// pages/mLedger/ledgerupload/ledgerupload.js 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(); Page({ behaviors: [bUploadLedger, bLoadingToast, bUploadSelfPatrol], /** * 页面的初始数据 */ data: { barTitle: '上传台账', imgFiles: [], remark: '', remarkDisable: false, 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) { data.ledger.description = data.ledger.description.replaceAll( '\\n', '\n', ); that.setData({ ledger: data.ledger, 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: that.data.barTitle, }); that.checkStatus(); // 对于可复制的并且不是重传状态的台账,获取最新的历史记录用于复制 if (data.ledger.copy && !data.reUpload) { that.getLatestLedger() } }, ); }, /** * 判断当前台账状态,如果有上传记录则显示记录 */ checkStatus() { if (this.data.reUpload) { //do nothing return; } else if (this.data.ledger.path1) { let imgFiles = this.data.ledger.path1; 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.path1; 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.path1; 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 }) } }); }, // 上传台账 onSubmit: function () { if (this.data.imgFiles.length == 0) { wx.showToast({ title: '请至少选择一张图片', icon: 'none', }); } else { this.setData({ showDialog: true, uploadMode: 0, }); } }, // 不涉及该类台账 onSubmitNoLedger() { this.setData({ showDialog: true, 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, }); 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, }); wx.navigateBack({ delta: 1, }); }, //图片放大预览 previewImage(e) { const { index } = e.currentTarget.dataset; const previewImageUrls = this.data.imgFiles; this.setData({ previewImageUrls, previewCurrent: index, showPreview: true, }); }, // 台账备注监听 onRemarkChange(e) { const { value } = e.detail; this.setData({ remark: value }); }, });