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/contract-result/index.vue | 8 ++--
src/views/system/contract/score/index.vue | 12 +++++
src/views/system/contract/report/index.vue | 45 ++++++++++++++++------
3 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/src/views/system/contract/contract-result/index.vue b/src/views/system/contract/contract-result/index.vue
index e1fc67a..f4984b2 100644
--- a/src/views/system/contract/contract-result/index.vue
+++ b/src/views/system/contract/contract-result/index.vue
@@ -112,7 +112,7 @@
>
<el-card class="box-card">
<div slot="header" class="clearfix">
- <span>{{ item.contractName }}</span>
+ <span>{{ item.unitName + item.whichYear +'骞�'+item.whichMonth+'鏈堣�冩牳鎶ュ憡' }}</span>
<el-button
style="float: right; padding: 3px 6px"
type="text"
@@ -142,7 +142,7 @@
size="small"
round
style="float: right"
- disabled
+ @click="handlePublish(item)"
v-show="item.publish == 1"
v-hasPermi="['contract:result:publish']"
>宸插彂甯�</el-button
@@ -291,8 +291,8 @@
};
},
created() {
- this.getList();
this.getUnitSelect();
+ this.getList();
},
methods: {
getUnitSelect() {
@@ -373,7 +373,7 @@
let text = row.publish == 1 ? "鍙栨秷鍙戝竷" : "鍙戝竷";
const ids = row.id || this.ids;
this.$modal
- .confirm("鏄惁纭" + text + '鑰冩牳缁撴灉缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
+ .confirm("鏄惁纭" + text + row.unitName + row.whichYear +'骞�'+row.whichMonth+'鏈堣�冩牳鎶ュ憡?')
.then(function () {
return publishCheckResult(ids);
})
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() {
diff --git a/src/views/system/contract/score/index.vue b/src/views/system/contract/score/index.vue
index 2f2e193..00fa913 100644
--- a/src/views/system/contract/score/index.vue
+++ b/src/views/system/contract/score/index.vue
@@ -272,8 +272,11 @@
};
},
created() {
- this.getList();
this.getUnitSelect();
+ if(this.$route.query.time){
+ this.daterangeCreateTime= this.$route.query.time
+ }
+ this.getList();
},
methods: {
/** 璇︾粏鎸夐挳鎿嶄綔 */
@@ -362,6 +365,13 @@
// 杩愮淮鍗曚綅涓嬫媺鍒楄〃
unitSelect().then((res) => {
this.unitList = res.data;
+ if (this.$route.query.unitId) {
+ // 鍏堟壘鍒板搴旂殑閫夐」
+ const unit = this.unitList.find(item => item.id === Number(this.$route.query.unitId) || item.id === this.$route.query.unitId);
+ if (unit) {
+ this.queryParams.unitId = unit.id; // 纭繚绫诲瀷鍖归厤
+ }
+ }
})
},
/** 鏌ヨ杩濊瀹℃牳鍒楄〃 */
--
Gitblit v1.8.0