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