From 8f38cbf36743746bde6997cef3998eadc6e95e10 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 07 一月 2025 18:16:00 +0800
Subject: [PATCH] 核算重构

---
 src/views/system/contract/report/index.vue |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/src/views/system/contract/report/index.vue b/src/views/system/contract/report/index.vue
index eabe56a..0d0286b 100644
--- a/src/views/system/contract/report/index.vue
+++ b/src/views/system/contract/report/index.vue
@@ -32,7 +32,7 @@
         <div class="text item">鏈�杩戞墸鍑忛噾棰�<span class="time">{{ item.latestDeductMoney ?  item.latestDeductMoney:0 }}</span></div>
         <div class="text item">绱鎵e噺閲戦<span class="time">{{ item.deductMoney ? item.deductMoney:0}}</span></div>
         <div class="text item">鏈�杩戞牳绠楁湀浠�
-          <span v-if="item.latestTime" class="time">{{ new Date(item.latestTime).getFullYear() }}骞磠{ new Date(item.latestTime).getMonth()+1 }}鏈�</span>
+          <span v-if="item.latestMonth" class="time">{{ item.whichYear }}骞磠{ item.latestMonth }}鏈�</span>
           <span v-else class="time">鏆傛棤</span>
         </div>
         <el-button size="small" type="primary" round style="float: right;margin-left: 18px;" @click="handleExport(item)" v-hasPermi="['system:calculate:report:export']">瀵煎嚭</el-button>
@@ -85,16 +85,19 @@
           :summary-method="getSummaries"
           style="width: 100%;text-align:center">
           <el-table-column
-            prop="createTime"
-            label="鏍哥畻鏃ユ湡"
+            prop="whichMonth"
+            label="鏍哥畻鏈堜唤"
             width="180">
+          <template slot-scope="scope">
+            <span> {{ scope.row.whichYear +'骞�'+ scope.row.whichMonth+ '鏈�'}}</span>
+          </template>
           </el-table-column>
           <el-table-column
             prop="score"
             label="鑰冩牳鍒嗘暟"
            >
             <template slot-scope="scope">
-              <el-link @click="toScorePage(scope.row)">{{scope.row.score}}</el-link>
+              <el-link @click="toScorePage(scope.row,detail.unitId)">{{scope.row.score}}</el-link>
             </template>
           </el-table-column>
           <el-table-column
@@ -122,7 +125,7 @@
               <el-button
                 size="small"
                 type="text"
-                v-if="scope.row.status === 'published'"
+                v-if="scope.row.status === 'PUBLISHED'"
                 @click="handleDetailPublish(scope.row)"
               >
                 鍙栨秷鍙戝竷
@@ -284,7 +287,7 @@
       })
     },
     handlePublish(row) {
-      let text = row.status === 'published' ? '鍙栨秷鍙戝竷' : '鍙戝竷';
+      let text = row.status === 'PUBLISHED' ? '鍙栨秷鍙戝竷' : '鍙戝竷';
       this.$modal.confirm('纭瑕併��' + text + "銆戙��" +  row.unitName +row.whichYear+"骞淬��" + '鐨勬牳绠楁姤鍛婂悧锛�').then(function() {
         // return publishCheckResult(ids);
       }).then(() => {
@@ -296,8 +299,8 @@
 
     },
     handleDetailPublish(row){
-      let text = row.status === 'published' ? '鍙栨秷鍙戝竷' : '鍙戝竷';
-      row.status = row.status === 'published' ? 'not_publish' : 'published'
+      let text = row.status === 'PUBLISHED' ? '鍙栨秷鍙戝竷' : '鍙戝竷';
+      row.status = row.status === 'PUBLISHED' ? 'UNPUBLISHED' : 'PUBLISHED'
       updatePublishStatusById(row.id,row.status).then(res => {
         this.$modal.msgSuccess(text + "鎴愬姛");
       })
@@ -335,7 +338,7 @@
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport(item) {
       this.download('calculate-report/export', {
-        ...{ 'contractId': item.contractId }
+        ...{ 'calculateId': item.id, 'contractId': item.contractId},
       }, `${item.contractName}杩愮淮鏍哥畻.xlsx`)
     },
     /** 鍚堣琛� */
@@ -370,11 +373,29 @@
       });
       return sums;
     },
-    toScorePage() {
-    // 浣跨敤Vue Router杩涜椤甸潰璺宠浆
-    this.$router.push('/contract/score/index');
+    toScorePage(row,unitId) {
+      // 浣跨敤Vue Router杩涜椤甸潰璺宠浆
+      const { startDate, endDate } = this.getMonthDatesFormatted(row.whichYear, row.whichMonth);
+      const time = [startDate,endDate]
+      this.$router.push({path: '/contract/score', query: {unitId: unitId, time: time}});
     },
+    getMonthDatesFormatted(year, month) {
+      const startDate = new Date(year, month - 1, 1);
+      const endDate = new Date(year, month, 0);
 
+      // 鏍煎紡鍖栨垚 YYYY-MM-DD
+      const formatDate = (date) => {
+        const yyyy = date.getFullYear();
+        const mm = String(date.getMonth() + 1).padStart(2, '0');
+        const dd = String(date.getDate()).padStart(2, '0');
+        return `${yyyy}-${mm}-${dd}`;
+      };
+
+      return {
+        startDate: formatDate(startDate),
+        endDate: formatDate(endDate)
+      };
+    },
     // 鍒犻櫎鎸夐挳
     handleDelete() {
 

--
Gitblit v1.8.0