From f14ea940fb32105de8b592992e3f53c62f31d84d Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 22 一月 2026 16:42:51 +0800
Subject: [PATCH] 2026.1.22
---
pages/mLedger/ledgerupload/ledgerupload.js | 306 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 244 insertions(+), 62 deletions(-)
diff --git a/pages/mLedger/ledgerupload/ledgerupload.js b/pages/mLedger/ledgerupload/ledgerupload.js
index 7257283..df3c757 100644
--- a/pages/mLedger/ledgerupload/ledgerupload.js
+++ b/pages/mLedger/ledgerupload/ledgerupload.js
@@ -1,75 +1,183 @@
// 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骞碝M鏈圖D鏃�'),
+ 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骞碝M鏈圖D鏃�',
+ ),
+ },
+ });
}
- })
+ },
+ complete: () => {
+ this.setData({
+ latestLedgerLoading: false,
+ });
+ },
+ });
+ },
+
+ uploadFileFail(e) {
+ const { type, index } = e.detail;
+ if (type == 1) {
+ wx.showToast({
+ title: `鏂囦欢杩囧ぇ`,
+ icon: 'error',
+ });
}
},
@@ -77,14 +185,14 @@
onSubmit: function () {
if (this.data.imgFiles.length == 0) {
wx.showToast({
- title: '璇疯嚦灏戦�夋嫨涓�寮犲浘鐗�',
+ title: '璇疯嚦灏戦�夋嫨涓�涓枃浠�',
icon: 'none',
- })
+ });
} else {
this.setData({
showDialog: true,
- uploadMode: 0
- })
+ uploadMode: 0,
+ });
}
},
@@ -92,42 +200,116 @@
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,
});
},
-})
\ No newline at end of file
+
+ // 鍙拌处澶囨敞鐩戝惉
+ onRemarkChange(e) {
+ const { value } = e.detail;
+ this.setData({
+ remark: value,
+ });
+ },
+});
--
Gitblit v1.9.3