From 5d8e52e398bff7bc8f83e8f5b8a387175b958c98 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 24 二月 2023 10:20:18 +0800
Subject: [PATCH] 2023.2.24

---
 pages/home/home.js |  201 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 174 insertions(+), 27 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index 1b765f9..652d042 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -1,7 +1,10 @@
 // pages/home/home.js
 const userservice = require("../../service/userservice")
+const notificationservice = require("../../service/notificationservice")
 const assessmentService = require("../../service/assessmentservice")
 const lawservice = require("../../service/lawservice")
+const promiseservice = require("../../service/promiseservice")
+const ledgerservice = require("../../service/ledgerservice")
 const moment = require('../../utils/moment.min')
 const app = getApp()
 /**
@@ -13,10 +16,7 @@
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    notices: [{
-      notice: "鏈湀瀹堟硶鎵胯鑷祴鏅鸿瘎宸插紑鍚紝璇峰強鏃惰繘琛岃瘎浠�",
-      time: "2022/3/1"
-    }],
+    notices: [],
 
     dynamic: [{
       title: "浼佷笟钀ヤ笟鎵х収銆侀鍝佺粡钀ヨ鍙瘉涓㈠け璇ュ浣曡ˉ棰�",
@@ -29,20 +29,41 @@
     userRealName: '',
 
     //鍘嗗彶璇勫垎璇︽儏
+    assessmentCompleted: false,
     historyPoint: {
       time: '娴嬭瘎鍛ㄦ湡----骞�--鏈�',
       score: '--',
       rank: '--',
       legalIndex: '--',
-      illegalIndex: '--'
+      illegalIndex: '--',
+      period: ''
     },
-    period: ''
+    //鍙拌处瀹屾垚鎯呭喌
+    ledgerCompleted: false,
+    monthInfo: {
+      //蹇呭~椤规�绘暟
+      totalMust: 0,
+      //蹇呭~椤规彁浜ゆ暟
+      finishedMust: 0,
+    },
+    //鎵胯瀹屾垚鎯呭喌
+    promsieInfo: {
+      leftDays: 0
+    }
+
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad: function (options) {
+    //鍒ゆ柇鐢ㄦ埛鏄惁涓洪娆$櫥褰曪紝鍐冲畾鏄惁寮哄埗淇敼榛樿瀵嗙爜
+    if (app.globalData.userInfo.remark == null || app.globalData.userInfo.remark == '') {
+      wx.navigateTo({
+        url: '/pages/mUser/pChangepw/pChangepw',
+      })
+    }
+
     wx.getStorage({
       key: 'accessToken',
       success: (result) => {
@@ -57,6 +78,24 @@
     this.getUserInfo()
     this.getHistoryPoint()
     this.getNews()
+    this.getCommitment()
+    this.getLedgerType()
+  },
+
+  onShow() {
+    if (app.globalData.isLogin) {
+
+    }
+  },
+
+  onPullDownRefresh() {
+    console.log('onPullDownRefresh');
+    this.getNextEvaluationTime()
+    this.getNotice()
+    this.getHistoryPoint()
+    this.getNews()
+    this.getCommitment()
+    this.getLedgerType()
   },
 
   getNextEvaluationTime() {
@@ -73,11 +112,21 @@
   },
 
   getNotice() {
-    this.setData({
-      notices: [{
-        notice: "鏈湀瀹堟硶鎵胯鑷祴鏅鸿瘎宸插紑鍚紝璇峰強鏃惰繘琛岃瘎浠�",
-        time: "2022/5/9"
-      }]
+    var that = this
+    notificationservice.getNotification(app.globalData.accessToken.userId, 1, {
+      success(res) {
+        let notices = []
+        res.forEach(r => {
+          notices.push({
+            notice: r.title,
+            time: moment(r.updateTime).format('YYYY/MM/DD'),
+            isRead: r.hasRead
+          })
+          that.setData({
+            notices
+          })
+        });
+      }
     })
   },
 
@@ -85,16 +134,26 @@
     var that = this
     assessmentService.getHistoryPoint(app.globalData.accessToken.userId, 1, {
       success(data) {
+        if (data.length == 0) {
+          return
+        }
         let lastOne = data[0]
         let year = lastOne.updateDate.substring(0, 4)
         let month = lastOne.updateDate.substring(5, 7)
+        const now = moment()
+        if (now.year() == year && now.month() + 1 == month) {
+          that.setData({
+            assessmentCompleted: true
+          })
+        }
         that.setData({
           historyPoint: {
-            time: `娴嬭瘎鍛ㄦ湡${year}骞�${month}鏈坄,
+            time: `鏈�鏂颁竴鏈� ${year}骞�${month}鏈坄,
             score: lastOne.totalPoint,
             rank: lastOne.rank,
             legalIndex: lastOne.level,
-            illegalIndex: lastOne.level
+            illegalIndex: lastOne.level,
+            period: lastOne.period
           }
         })
       }
@@ -104,7 +163,10 @@
   getNews() {
     var that = this
     let user = app.globalData.userInfo
-    lawservice.getLawRegulations(user.guid, 1, user.extension2, {
+    lawservice.getLawRegulations(user.guid, 1, {
+      sceneTypeId: user.extension2,
+      fileType: 1
+    }, {
       success(data) {
         let laws = []
         data.forEach(d => {
@@ -125,6 +187,78 @@
   },
 
   /**
+   * 鑾峰彇鎵胯鍘嗗彶璁板綍
+   */
+  getCommitment() {
+    var that = this
+    promiseservice.getCommitment(app.globalData.accessToken.userId, {
+      success(data) {
+        if (data.length > 0) {
+          let c = data[0]
+          let cTime = moment(c.cmCreateTime)
+          let leftDays = cTime.add(1, 'years').diff(moment(), 'days')
+          that.setData({
+            promsieInfo: {
+              leftDays: leftDays
+            }
+          })
+        }
+      }
+    })
+  },
+
+  getLedgerType() {
+    var that = this
+    var time = moment().format('YYYY-MM-DD')
+    ledgerservice.getLedgerSummary(app.globalData.accessToken.userId, app.globalData.userInfo.extension2, time, {
+      success(res) {
+        that.parseLedgerType(res)
+      },
+      complete() {
+        wx.stopPullDownRefresh({
+          success: (res) => {},
+          fail: (res) => {},
+          complete: (res) => {},
+        })
+      }
+    })
+  },
+
+  parseLedgerType(subtypes) {
+    let monthInfo = {
+      totalMust: 0,
+      finishedMust: 0,
+      totalSelf: 0,
+      finishedSelf: 0
+    }
+    subtypes.forEach(s => {
+      //鏈堝害缁熻
+      if (s.needUpdate) {
+        monthInfo.totalMust++
+        //缁熻鑷贰鏌ョ被鍨嬬殑鍙拌处锛岀被鍒负-1锛堟殏瀹氾級
+        if (s.ledgerTypeId == -1) {
+          monthInfo.totalSelf++
+        }
+        if (s.upLoad) {
+          monthInfo.finishedMust++
+          if (s.ledgerTypeId == -1) {
+            monthInfo.finishedSelf++
+          }
+        }
+      }
+    });
+
+    monthInfo.percent = monthInfo.totalMust == 0 ? 0 : Math.round(monthInfo.finishedMust / monthInfo.totalMust * 100)
+    monthInfo.percent2 = monthInfo.totalSelf == 0 ? 0 : Math.round(monthInfo.finishedSelf / monthInfo.totalSelf * 100)
+
+    this.setData({
+      monthInfo,
+      ledgerCompleted: monthInfo.percent >= 100 && monthInfo.percent2 >= 100,
+      // ledgerCompleted: true
+    })
+  },
+
+  /**
    * 椤甸潰璺宠浆
    */
   goto: function (e) {
@@ -133,47 +267,60 @@
     switch (index) {
       case "0":
         //娴嬭瘎鍘嗗彶璁板綍
-        url = ""
+        if (this.data.historyPoint.period == '') {
+          url = `/pages/mAssessment/grade/grade`
+        } else {
+          url = `/pages/mAssessment/gradereport/gradereport?period=${this.data.historyPoint.period}`
+        }
         break;
+      case "5":
+        wx.switchTab({
+          url: '/pages/mLedger/ledgerhome/ledgerhome',
+        })
+        return;
+      case "6":
+        wx.switchTab({
+          url: '/pages/mPromise/promisehome/promise',
+        })
+        return;
       case "1":
         //宸ヤ綔鎻愰啋
-        url = "/pages/notice/notice"
+        url = "/pages/mNotice/notice/notice"
         break;
       case "2":
         //鏅鸿兘鍦ㄧ嚎鍜ㄨ
-        url = ""
-        return;
+        url = "/pages/mConsult/consulthome/consulthome"
+        break;
       case "3":
         //鍦ㄧ嚎瀹堟硶瀛︿範
-        
-        url = `/pages/learn/learn`
-        
+        url = `/pages/mLearn/learn/learn`
         break;
       case "4":
         //瀹堟硶鍔ㄦ��
         // url = "/pages/text/text"
         let bodyUrl = e.currentTarget.dataset.url
         let fileType = e.currentTarget.dataset.filetype
+        wx.showLoading({
+          title: ' 鍔犺浇涓�',
+          mask: true,
+        })
         wx.downloadFile({
-          // 绀轰緥 url锛屽苟闈炵湡瀹炲瓨鍦�
           url: bodyUrl,
           success: function (res) {
+            wx.hideLoading()
             const filePath = res.tempFilePath
-            var t = filePath.split('.')[filePath.split('.').length - 1]
             wx.openDocument({
               filePath: filePath,
               success: function (res) {
                 console.log('鎵撳紑鏂囨。鎴愬姛')
               },
-              fail (error) {
+              fail(error) {
                 console.log(error);
               }
             })
           }
         })
-        break;
-      case "5":
-        break;
+        return;
     }
     if (url != "") {
       wx.navigateTo({

--
Gitblit v1.9.3