From 4b9f2889b725621779d1af9b4f51e188f8456e9b Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 26 四月 2024 13:45:17 +0800
Subject: [PATCH] 核算报告实现
---
src/api/platform/calculate-report.js | 13 +++
src/App.vue | 5 +
src/views/system/calculate/report/index.vue | 147 ++++++++++++++-----------------------------------
3 files changed, 57 insertions(+), 108 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index b92ea37..4f406b2 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -21,8 +21,11 @@
}
};
</script>
-<style scoped>
+<style>
#app .theme-picker {
display: none;
}
+.el-dialog__body {
+ padding: 10px 20px !important;
+}
</style>
diff --git a/src/api/platform/calculate-report.js b/src/api/platform/calculate-report.js
index dd5da2e..ff75519 100644
--- a/src/api/platform/calculate-report.js
+++ b/src/api/platform/calculate-report.js
@@ -52,10 +52,19 @@
}
// 娣诲姞鏍哥畻鎶ュ憡
-export const addCalculateReport = (params) => {
+export const addCalculateReport = (data) => {
return axios({
url: "/calculate-report/",
method: "POST",
- data: params
+ data: data
})
}
+
+// 鍥炲~閲戦
+export const backfill = (data) => {
+ return axios({
+ url: "/calculate-report/backfill/money",
+ method: "POST",
+ data: data
+ })
+}
diff --git a/src/views/system/calculate/report/index.vue b/src/views/system/calculate/report/index.vue
index 3665b14..c28f442 100644
--- a/src/views/system/calculate/report/index.vue
+++ b/src/views/system/calculate/report/index.vue
@@ -63,13 +63,13 @@
<el-card class="box-card" v-for="(item) in checkResultList">
<div slot="header" class="clearfix">
- <span>{{ checkUnitName }}</span>
+ <span>{{ item.unitName }}</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">鏍哥畻</el-button>
</div>
- <div class="text item">鍚堝悓<span class="time">{{ checkUnitName }}</span></div>
- <div class="text item">鎵e噺閲戦<span class="time">{{ "10鍏�" }}</span></div>
+ <div class="text item">鍚堝悓<span class="time">{{ item.contractName }}</span></div>
+ <div class="text item">鎵e噺閲戦<span class="time">{{ item.deductMoney }}</span></div>
<div class="text item">鏈�鏂版牳绠楁椂闂�
- <span class="time">{{ item.checkTime }}</span>
+ <span class="time">{{ item.whichYear }}骞磠{ item.whichMonth }}鏈�</span>
</div>
<el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-show="item.publish != 1" v-hasPermi="['result:contract:publish']">纭鍙戝竷</el-button>
<el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-show="item.publish == 1" v-hasPermi="['result:contract:publish']">宸插彂甯�</el-button>
@@ -84,6 +84,14 @@
/>
<el-dialog :title="detailTitle" :visible.sync="detailOpen" width="760px" append-to-body>
+ <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" 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;max-width: 300px;word-wrap:break-word;word-break:normal;color: #2273b9">{{ ruleItem.description }}</div>
+ </div>
+ </div>
+
<el-descriptions class="margin-top" :column="3" border>
<!-- <template slot="extra">-->
<!-- <el-button type="primary" size="small">鎿嶄綔</el-button>-->
@@ -93,48 +101,33 @@
<i class="el-icon-user"></i>
鏍哥畻瀵硅薄
</template>
- {{checkUnitName}}
+ {{detail.unitName}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-s-management"></i>
鍚堝悓鍚嶇О
</template>
- {{checkUnitName}}
+ {{detail.contractName}}
</el-descriptions-item>
</el-descriptions>
<el-table
- :data="tableData"
+ align="center"
+ :data="detail.recordList"
show-summary
:summary-method="getSummaries"
style="width: 100%;text-align:center">
<el-table-column
- prop="time"
+ prop="createTime"
label="鏍哥畻鏃ユ湡"
width="180">
</el-table-column>
<el-table-column
prop="score"
label="鑰冩牳鍒嗘暟"
- doNotSum
>
<template slot-scope="scope">
<el-link @click="toScorePage(scope.row)">{{scope.row.score}}</el-link>
- </template>
- </el-table-column>
- <el-table-column
- prop="ruleName"
- label="閫傜敤瑙勫垯"
- doNotSum>
- </el-table-column>
- <el-table-column
- prop="score"
- label="鎵e垎绯绘暟"
- >
- <template slot-scope="scope">
- <el-tooltip class="item" effect="dark" :content="'鑰冩牳瑙勫垯锛�' + scope.row.description" placement="top">
- <span>{{ scope.row.value }}</span>
- </el-tooltip>
</template>
</el-table-column>
<el-table-column
@@ -145,15 +138,14 @@
<el-input type="number"
:precision="2" :step="0.1"
:min="0" :max="1000000"
- v-model="scope.row.money"
- disabled
+ v-model="scope.row.deductMoney"
placeholder="璇疯緭鍏ユ墸鍑忛噾棰�">
</el-input>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button type="primary" @click="submitForm">淇� 瀛�</el-button>
<el-button @click="cancel">鍙� 娑�</el-button>
</div>
</el-dialog>
@@ -171,33 +163,16 @@
</template>
<script>
-import { getCalculateReports, getCalculateReportById, deleteCalculateReportByIds, addCalculateReport, editCalculateReport } from "@/api/platform/calculate-report";
+import { getCalculateReports, getCalculateReportById, backfill } from "@/api/platform/calculate-report";
export default {
name: "CheckResult",
data() {
return {
+ manualOpen: false,
detailTitle: '',
detailOpen: false,
- detail:{
-
- },
- checkUnitName:'鎴愰兘x杩愮淮',
- tableData: [{
- time: '2024-03-03',
- score: '94',
- value: '1%',
- ruleName: '<95',
- money: '10',
- description: '姣忓皯1鍒嗘墸褰撴湀鎬绘湇鍔¤垂鐨�1%銆備緥濡傦細褰撴湀鑰冩牳寰楀垎91.5鍒嗭紝鎵i櫎褰撴湀鏈嶅姟璐�3.5%鐨勯噾棰�',
- }, {
- time: '2024-04-03',
- score: '95',
- value: '0',
- ruleName: '鈮�95',
- money: '0',
- description: '涓嶆墸娆�',
- }, ],
+ detail:{},
manualScoreOpen: false,
manualScoreForm: {},
manualScoreTitle: '',
@@ -263,7 +238,7 @@
this.queryParams["end"] = this.daterangeCheckTime[1];
}
getCalculateReports(this.queryParams).then(response => {
- this.checkResultList = response.rows;
+ this.checkResultList = response.data;
this.total = response.total;
this.loading = false;
});
@@ -306,12 +281,11 @@
// })
},
handleDetail(row) {
- console.log("row", row)
- this.detail = row;
- this.detail.carOnlineRate = '97%';
- this.detailTitle = this.checkUnitName + '鑰冩牳缁撴灉';
- this.detailOpen = true;
-
+ getCalculateReportById(row.id).then(res => {
+ this.detail = res.data
+ this.detailTitle = row.unitName + '鑰冩牳缁撴灉'
+ this.detailOpen = true
+ })
},
handlePublish(row) {
let text = row.publish == 1 ? '鍙栨秷鍙戝竷' : '鍙戝竷';
@@ -335,58 +309,19 @@
this.resetForm("queryForm");
this.handleQuery();
},
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.id)
- this.single = selection.length!==1
- this.multiple = !selection.length
- },
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
- this.reset();
- this.open = true;
- this.title = "娣诲姞鑰冩牳缁撴灉";
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
- this.reset();
- const id = row.id || this.ids
- getCalculateReportById(id).then(response => {
- this.form = response.data;
- this.open = true;
- this.title = "淇敼鑰冩牳缁撴灉";
- });
- },
- /** 鎻愪氦鎸夐挳 */
+ /** 鍥炲~閲戦 */
submitForm() {
- this.detailOpen = false;
- this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.form.id != null) {
- editCalculateReport(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addCalculateReport(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
+ let data = {
+ id: this.detail.id,
+ recordList: this.detail.recordList
+ }
+ backfill(data).then(res => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.detailOpen = false;
+ this.getList();
}
- });
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const ids = row.id || this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎鑰冩牳缁撴灉缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
- return deleteCalculateReportByIds(ids);
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ })
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
@@ -455,6 +390,8 @@
clear: both
}
.box-card {
- width: 480px;
+ width: calc(33% - 20px);
+ min-width: 300px;
+ margin: 15px 10px;
}
</style>
--
Gitblit v1.8.0