From a2c5def7cf9562312a54216bc195a6ea071a26c5 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 21 一月 2026 17:38:36 +0800
Subject: [PATCH] 2026.1.21

---
 pages/mLedger/ledgerupload/ledgerupload.js |  135 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 116 insertions(+), 19 deletions(-)

diff --git a/pages/mLedger/ledgerupload/ledgerupload.js b/pages/mLedger/ledgerupload/ledgerupload.js
index 2544bb5..38baa06 100644
--- a/pages/mLedger/ledgerupload/ledgerupload.js
+++ b/pages/mLedger/ledgerupload/ledgerupload.js
@@ -24,7 +24,14 @@
     previewCurrent: 0,
     showPreview: false,
 
+    // 涓婁紶妯″紡锛�0锛氭櫘閫氫笂浼狅紱1锛氫笉娑夊強锛�2锛氬欢鐢ㄥ鍒跺巻鍙茶褰�
     uploadMode: 0,
+    // 绫诲瀷锛�0锛氬彴璐﹀拰鑷贰鏌ワ紱1锛氬簲鎬ヨ嚜宸℃煡
+    type: 0,
+    // 鍘嗗彶鏈�鏂拌褰�
+    lastLedger: undefined,
+
+    
   },
 
   /**
@@ -55,6 +62,11 @@
         });
 
         that.checkStatus();
+
+        // 瀵逛簬鍙鍒剁殑骞朵笖涓嶆槸閲嶄紶鐘舵�佺殑鍙拌处锛岃幏鍙栨渶鏂扮殑鍘嗗彶璁板綍鐢ㄤ簬澶嶅埗
+        if (data.ledger.copy && !data.reUpload) {
+          that.getLatestLedger()
+        }
       },
     );
   },
@@ -71,7 +83,11 @@
       let remark = this.data.remark;
       if (this.data.ledger.remark1) remark = this.data.ledger.remark1;
       let remarkDisable = true;
-      this.setData({ imgFiles, remark, remarkDisable });
+      this.setData({
+        imgFiles,
+        remark,
+        remarkDisable
+      });
     } else if (this.data.ledger.upLoad) {
       var that = this;
       var userId = app.globalData.accessToken.userId;
@@ -88,7 +104,12 @@
                 let imgFiles = detail.path1;
                 let remark = detail.remark1 ? detail.remark1 : '';
                 let remarkDisable = true;
-                that.setData({ imgFiles, remark, remarkDisable, detail });
+                that.setData({
+                  imgFiles,
+                  remark,
+                  remarkDisable,
+                  detail
+                });
               }
             }
           },
@@ -102,13 +123,46 @@
                 let imgFiles = detail.path1;
                 let remark = detail.remark1 ? detail.remark1 : '';
                 let remarkDisable = true;
-                that.setData({ imgFiles, remark, remarkDisable, detail });
+                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
+        })
+      }
+    });
   },
 
   // 涓婁紶鍙拌处
@@ -134,26 +188,62 @@
     });
   },
 
+  // 寤剁敤澶嶅埗鍙拌处
+  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.data.uploadMode == 0) {
-      if (this.data.type == 0) {
-        this._uploadLedger();
-      } else {
-        this._uploadSelfPatrol();
-      }
-    } else {
-      if (this.data.type == 0) {
-        this._uploadNoLedger();
-      } else {
-        this._uploadNoSelfPatrol();
-      }
+    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',
@@ -188,7 +278,9 @@
 
   //鍥剧墖鏀惧ぇ棰勮
   previewImage(e) {
-    const { index } = e.currentTarget.dataset;
+    const {
+      index
+    } = e.currentTarget.dataset;
     const previewImageUrls = this.data.imgFiles;
     this.setData({
       previewImageUrls,
@@ -197,8 +289,13 @@
     });
   },
 
+  // 鍙拌处澶囨敞鐩戝惉
   onRemarkChange(e) {
-    const { value } = e.detail;
-    this.setData({ remark: value });
+    const {
+      value
+    } = e.detail;
+    this.setData({
+      remark: value
+    });
   },
-});
+});
\ No newline at end of file

--
Gitblit v1.9.3