From 4a29f490dfbbb10b70c32d3944a33961040f5910 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 06 一月 2025 18:10:59 +0800 Subject: [PATCH] 核算重构 --- src/views/system/contract/report/index.vue | 77 ++++++++++++++++++++++++++++++-------- 1 files changed, 60 insertions(+), 17 deletions(-) diff --git a/src/views/system/contract/report/index.vue b/src/views/system/contract/report/index.vue index f7d3304..eabe56a 100644 --- a/src/views/system/contract/report/index.vue +++ b/src/views/system/contract/report/index.vue @@ -13,24 +13,33 @@ </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> --> - <div v-if="checkResultList && checkResultList.length > 0"> - <el-card class="box-card" v-for="item in checkResultList" :key="item.id"> + <el-row v-if="checkResultList && checkResultList.length > 0"> + <el-col + :xl="8" + :lg="8" + :md="12" + :sm="12" + :xs="12" + v-for="item in checkResultList" + :key="item.id" + > + <el-card class="box-card" > <div slot="header" class="clearfix"> - <span>{{ item.unitName }}</span> + <span>{{ item.unitName +item.whichYear+"骞存牳绠楁姤鍛�" }}</span> <el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">鏍哥畻</el-button> </div> <div class="text item">鍚堝悓<span class="time">{{ item.contractName }}</span></div> - <div class="text item">鏈�杩戞墸鍑忛噾棰�<span class="time">{{ item.latestDeductMoney }}</span></div> - <div class="text item">绱鎵e噺閲戦<span class="time">{{ item.deductMoney }}</span></div> + <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() }}鏈�</span> + <span v-if="item.latestTime" class="time">{{ new Date(item.latestTime).getFullYear() }}骞磠{ new Date(item.latestTime).getMonth()+1 }}鏈�</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> - <el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-if="item.status === 'not_publish'" :disabled="!item.canPublish" v-hasPermi="['system:calculate:report:status']">纭鍙戝竷</el-button> - <el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-if="item.status === 'published'" v-hasPermi="['system:calculate:report:status']">鍙栨秷鍙戝竷</el-button> + <el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-hasPermi="['system:calculate:report:status']">纭鍙戝竷</el-button> </el-card> - </div> + </el-col> + </el-row> <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty> <pagination @@ -45,7 +54,7 @@ <div style="display: flex; flex-direction: row; width: 100%;margin-bottom: 10px; justify-content: center; align-items: center"> <div style="line-height: 16px">搴旂敤瑙勫垯锛�</div> <div v-for="ruleItem in detail.ruleList" :key="ruleItem.id" style="display: flex; margin-right: 50px;"> - <div style="line-height: 16px;margin-right: 10px;display: flex; align-items: center">{{ ruleItem.scoreCondition }}鍒�</div> + <div style="line-height: 16px;margin-right: 10px;display: flex; align-items: center">{{ ruleItem.scoreCondition }}</div> <div style="line-height: 16px;max-width: 300px;word-wrap:break-word;word-break:normal;color: #2273b9">{{ ruleItem.description }}</div> </div> </div> @@ -94,13 +103,38 @@ width="180"> <template slot-scope="scope"> <el-input - :disabled="!scope.row.latest" type="number" :precision="2" :step="0.1" :min="0" :max="1000000" v-model="scope.row.deductMoney" + :disabled="!checkRole(['admin'])" placeholder="璇疯緭鍏ユ墸鍑忛噾棰�"> </el-input> + </template> + </el-table-column> + <el-table-column + prop="status" + label="鍙戝竷鐘舵��" + width="150" + v-if="checkRole(['admin'])" + > + <template slot-scope="scope"> + <el-button + size="small" + type="text" + v-if="scope.row.status === 'published'" + @click="handleDetailPublish(scope.row)" + > + 鍙栨秷鍙戝竷 + </el-button> + <el-button + v-else + size="small" + type="text" + @click="handleDetailPublish(scope.row)" + > + 鍙戝竷 + </el-button> </template> </el-table-column> </el-table> @@ -123,8 +157,8 @@ </template> <script> -import { getCalculateReports, getCalculateReportById, backfill, updatePublishStatus } from "@/api/platform/calculate-report"; - +import { getCalculateReports, getCalculateReportById, backfill, updatePublishStatus,updatePublishStatusById } from "@/api/platform/calculate-report"; +import { checkPermi, checkRole } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟 export default { name: "CheckResult", data() { @@ -174,6 +208,8 @@ this.getList(); }, methods: { + checkPermi, + checkRole, frequencyFormatter(row) { if (row.frequency === "1") { return "鏈堝害鑰冩牳" @@ -241,7 +277,7 @@ // }) }, handleDetail(row) { - getCalculateReportById(row.id).then(res => { + getCalculateReportById(row.contractId,row.whichYear).then(res => { this.detail = res.data this.detailTitle = row.unitName + '鑰冩牳缁撴灉' this.detailOpen = true @@ -249,15 +285,22 @@ }, handlePublish(row) { let text = row.status === 'published' ? '鍙栨秷鍙戝竷' : '鍙戝竷'; - this.$modal.confirm('纭瑕併��' + text + "銆戙��" + row.contractName + "銆戙��" + new Date(row.latestTime).getMonth() + "鏈堛��" + '鐨勬牳绠楁姤鍛婂悧锛�').then(function() { + this.$modal.confirm('纭瑕併��' + text + "銆戙��" + row.unitName +row.whichYear+"骞淬��" + '鐨勬牳绠楁姤鍛婂悧锛�').then(function() { // return publishCheckResult(ids); }).then(() => { - updatePublishStatus(row.id).then(res => { + updatePublishStatus(row.contractId,row.whichYear).then(res => { this.getList(); this.$modal.msgSuccess(text + "鎴愬姛"); }) }).catch(() => {}); + }, + handleDetailPublish(row){ + let text = row.status === 'published' ? '鍙栨秷鍙戝竷' : '鍙戝竷'; + row.status = row.status === 'published' ? 'not_publish' : 'published' + updatePublishStatusById(row.id,row.status).then(res => { + this.$modal.msgSuccess(text + "鎴愬姛"); + }) }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -274,7 +317,7 @@ submitForm() { let data = { id: this.detail.id, - recordList: this.detail.recordList.filter(item => item.latest) + recordList: this.detail.recordList } if (data.recordList.length > 0) { backfill(data).then(res => { -- Gitblit v1.8.0