From 3959e507bfa99cc4ced2a6f48f9b4358334d34c4 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 19 十二月 2023 17:34:45 +0800
Subject: [PATCH] 1. 调试表单选项组件的双向绑定逻辑
---
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