From 24b00a82a34eb11c6ec1bc1ce018a6e969e791d0 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 15 十二月 2023 17:32:11 +0800 Subject: [PATCH] 1. 新增自动评估记录的获取和展示; 2. 新增评估记录排序功能; 3. 新增评估任务界面; --- src/views/fysp/evaluation/ResultManage.vue | 129 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 29 deletions(-) diff --git a/src/views/fysp/evaluation/ResultManage.vue b/src/views/fysp/evaluation/ResultManage.vue index 0a3a198..da2c668 100644 --- a/src/views/fysp/evaluation/ResultManage.vue +++ b/src/views/fysp/evaluation/ResultManage.vue @@ -1,7 +1,7 @@ <template> <!-- <CompPreCheck @pre-check="autoEvaluate"></CompPreCheck> --> - <FYTable @search="onSearch" :pagination="false"> + <FYTable @search="onSearch" :pagination="false" ref="tableRef"> <template #options> <!-- 鍖哄幙 --> <FYOptionLocation @@ -25,14 +25,8 @@ </template> <template #table-column> - <el-table-column - type="index" - fixed="left" - prop="sceneName" - label="鍚嶇О" - width="400" - > - <template #default="{row}"> + <el-table-column type="index" fixed="left" prop="sceneName" label="鍚嶇О" width="300"> + <template #default="{ row }"> <el-tooltip effect="dark" :content="row.sceneName" @@ -43,42 +37,78 @@ </el-tooltip> </template> </el-table-column> - + <el-table-column + prop="subTaskTime" + label="宸℃煡鏃ユ湡" + width="110" + sortable + :formatter="timeFormat" + /> + <el-table-column + prop="evaluation.resultscorebef" + label="寰楀垎" + width="90" + sortable + :sort-method="sortScore" + /> + <el-table-column prop="evaluation.resultscorebef" label="鐜俊鐮�" width="100"> + <template #default="{ row }"> + <span :style="`color: ${toCode(row).color};`">{{ toCode(row).name }}</span> + </template> + </el-table-column> + <el-table-column prop="dname" label="鍖哄幙" width="90" /> - <el-table-column prop="tname" label="琛楅亾" width="110" /> + <el-table-column + prop="tname" + label="琛楅亾" + width="110" + :filters="townFilters" + :filter-method="filterHandler" + /> <el-table-column prop="evaluation.scenseaddress" label="鍦板潃" /> <!-- <el-table-column prop="biArea" label="闆嗕腑鍖�" width="110" /> <el-table-column prop="biManagementCompany" label="鐗╀笟" min-width="110"/> --> - <el-table-column prop="evaluation.resultscorebef" label="寰楀垎" width="110" /> + <el-table-column fixed="right" align="right" label="鎿嶄綔" width="160"> + <template #header> + <el-button icon="DocumentAdd" size="default" type="success" @click="drawer = true" + >鑷姩璇勪及</el-button + > + </template> + <template #default="{ row }"> + <el-button type="primary" size="small" @click="editRow(row)">鏌ョ湅</el-button> + </template> + </el-table-column> </template> </FYTable> </template> <script> -import CompPreCheck from './components/CompPreCheck.vue' -import evaluateApi from '@/api/fysp/evaluateApi' -import dayjs from 'dayjs' -import CompQuickSet from './components/CompQuickSet.vue' +import dayjs from 'dayjs'; +import evaluateApi from '@/api/fysp/evaluateApi'; +import { envCreditCode } from '@/constants/index'; +import CompQuickSet from './components/CompQuickSet.vue'; export default { name: 'ResultManage', - components: { CompPreCheck, CompQuickSet }, + components: { CompQuickSet }, data() { return { formSearch: { locations: {}, scenetype: {}, time: dayjs().add(-1, 'M').date(1).toDate() - } - } + }, + townFilters: [] + }; }, methods: { setOptions(param) { - this.formSearch.locations = param.locations - this.formSearch.scenetype = param.scenetype + this.formSearch.locations = param.locations; + this.formSearch.scenetype = param.scenetype; + this.$refs.tableRef.onSearch() }, onSearch(page, func) { - const { locations, scenetype, time } = this.formSearch + const { locations, scenetype, time } = this.formSearch; const area = { provincecode: locations.pCode, provincename: locations.pName, @@ -88,15 +118,56 @@ districtname: locations.dName, starttime: dayjs(time).format('YYYY-MM-DD'), scensetypeid: scenetype.value - } + }; evaluateApi.fetchAutoEvaluation(area).then((res) => { - if (res) { - func({ - data: res.data - }) + if (typeof func === 'function') { + func({ data: res.data }); } - }) + if (res.data) { + this.getFilters(res.data); + } + }); + }, + getFilters(data) { + const townList = []; + data.forEach((e) => { + if (townList.indexOf(e.tname) == -1) { + townList.push(e.tname); + } + }); + this.townFilters = townList.map((v) => { + return { text: v, value: v }; + }); + }, + toCode(row, column) { + if (row.evaluation) { + return envCreditCode(row.evaluation.resultscorebef); + } else { + return ''; + } + }, + timeFormat(row, column) { + const time = row.subTaskTime; + if (time) { + return dayjs(time).format('MM-DD'); + } else { + return ''; + } + }, + filterHandler(value, row, column) { + const property = column['property']; + return row[property] === value; + }, + sortScore(a, b) { + const s1 = a.evaluation ? parseInt(a.evaluation.resultscorebef) : 0; + const s2 = b.evaluation ? parseInt(b.evaluation.resultscorebef) : 0; + return s1 - s2; } } -} +}; </script> +<style scoped> +.a { + color: #f7a62c; +} +</style> -- Gitblit v1.9.3