From 91f7d372fa318e859efd20d71eafbd34274902c4 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 20 一月 2026 17:29:43 +0800
Subject: [PATCH] 2026.1.20

---
 pages/mSelfPatrol/components/self-patrol/index.js |   79 +++++++++++++++++++++++++++++++++------
 1 files changed, 66 insertions(+), 13 deletions(-)

diff --git a/pages/mSelfPatrol/components/self-patrol/index.js b/pages/mSelfPatrol/components/self-patrol/index.js
index 21d8d56..4d471f4 100644
--- a/pages/mSelfPatrol/components/self-patrol/index.js
+++ b/pages/mSelfPatrol/components/self-patrol/index.js
@@ -1,4 +1,8 @@
-import { parseLedgerStat, refreshLedgerStatus } from '../../../../model/ledger';
+import {
+  parseSelfPatrol,
+  refreshLedgerStatus
+} from '../../../../model/ledger';
+import configservice from '../../../../service/configservice';
 const ledgerservice = require('../../../../service/ledgerservice');
 const moment = require('../../../../utils/moment.min');
 const app = getApp();
@@ -15,8 +19,14 @@
   data: {
     refresh: false,
     thisMonth: '',
-    tags1: { count: 0 },
+    tags1: {
+      count: 0
+    },
     pageList1: [],
+    // 鏄惁鏈夋潈闄愬彲浠ヨ繘琛岃嚜宸℃煡鎵胯
+    promiseValid: app.globalData.userSetting.selfPatrolPromise,
+    // 鏄惁宸叉壙璇�
+    promised: false,
   },
 
   lifetimes: {
@@ -33,19 +43,39 @@
       const now = moment();
       const nowStr = now.format('YYYY-MM-DD');
       const thisMonth = now.format('YYYY骞碝M鏈�');
-      this.setData({ thisMonth });
+      this.setData({
+        thisMonth
+      });
       this.getLedgerType(nowStr, r => {
         this.setData({
           tags1: {
-            count: r[0][0].tag,
+            count: r.types[0].tag,
           },
-          pageList1: r[1][0],
-          progress: r[2].percent2,
-          finished: r[2].finishedSelf,
-          tabList: [r[0][0]],
+          pageList1: r.items[0],
+          progress: r.monthInfo.percent,
+          finished: r.monthInfo.finishedMust,
+          tabList: r.types,
           refresh: false,
         });
       });
+      this.getPromise()
+    },
+
+    /**
+     * 鏌ヨ鐢ㄦ埛鏄惁瀹屾垚鑷贰鏌ユ壙璇�
+     */
+    getPromise() {
+      if (this.data.promiseValid) {
+        configservice.fetchUserSettingRecord(app.globalData.accessToken.userId, {
+          success: res => {
+            const nowYear = moment().year()
+            const promiseYear = moment(res.data?.lastPromisedTime).year()
+            this.setData({
+              promised: (res.data?.selfPatrolPromised == true) && (nowYear == promiseYear)
+            })
+          },
+        })
+      }
     },
 
     getLedgerType(time, success, lastMonth) {
@@ -53,10 +83,9 @@
       ledgerservice.getLedgerSummary(
         app.globalData.accessToken.userId,
         app.globalData.userInfo.extension2,
-        time,
-        {
+        time, {
           success(res) {
-            let r = parseLedgerStat(res, lastMonth);
+            let r = parseSelfPatrol(res);
             success(r);
           },
         },
@@ -64,7 +93,9 @@
     },
 
     gotoLedgerDetail(e) {
-      const { index } = e.currentTarget.dataset;
+      const {
+        index
+      } = e.currentTarget.dataset;
       const indexGroup = index;
       var ledger = this.data.pageList1[index];
       var that = this;
@@ -106,5 +137,27 @@
         },
       });
     },
+
+    /**
+     * 璺宠浆鑷宠嚜宸℃煡鎵胯鐣岄潰
+     */
+    gotoPromise() {
+      wx.navigateTo({
+        url: '/pages/mSelfPatrol/patrolpromise/index',
+        events: {
+          doPromiseDone: (data)=> {
+            this.setData({
+              promised: data.promised
+            })
+          },
+        },
+        success: (res)=> {
+          // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+          // res.eventChannel.emit('acceptDataFromOpenerPage', {
+
+          // });
+        },
+      });
+    },
   },
-});
+});
\ No newline at end of file

--
Gitblit v1.9.3