| | |
| | | v-model:value="formSearch.scenetype" |
| | | ></FYOptionScene> |
| | | <!-- 时间 --> |
| | | <FYOptionTime :initValue="false" type="month" v-model:value="formSearch.time"></FYOptionTime> |
| | | <FYOptionTime |
| | | :initValue="false" |
| | | type="month" |
| | | v-model:value="formSearch.time" |
| | | ></FYOptionTime> |
| | | </template> |
| | | <template #buttons> |
| | | <!-- <el-button icon="Download" size="default" type="success" @click="download" |
| | |
| | | </template> |
| | | |
| | | <template #table-column="{ size }"> |
| | | <el-table-column fixed="left" sortable="custom" prop="sceneIndex" label="编号" width="80"> |
| | | <el-table-column |
| | | fixed="left" |
| | | sortable="custom" |
| | | prop="sceneIndex" |
| | | label="编号" |
| | | width="80" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="sceneName" :show-overflow-tooltip="true" label="名称" width="300"> |
| | | <el-table-column |
| | | prop="sceneName" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | width="300" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="subTaskTime" |
| | |
| | | sortable="custom" |
| | | :formatter="timeFormat" |
| | | /> |
| | | <el-table-column prop="evaluation.resultscorebef" label="得分" width="90" sortable="custom" /> |
| | | <el-table-column prop="evaluation.resultscorebef" label="环信码" width="100"> |
| | | <el-table-column |
| | | prop="evaluation.resultscorebef" |
| | | label="得分" |
| | | width="90" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="evaluation.resultscorebef" |
| | | label="环信码" |
| | | width="100" |
| | | > |
| | | <template #default="{ row }"> |
| | | <span :style="`color: ${toCode(row).color};`">{{ toCode(row).name }}</span> |
| | | <span :style="`color: ${toCode(row).color};`">{{ |
| | | toCode(row).name |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | |
| | | @click="scoreShow = true" |
| | | >监测数据得分</el-button |
| | | > |
| | | <el-button v-show="scoreShow" size="small" type="primary" @click="updateMultipleScore" |
| | | <el-button |
| | | v-show="scoreShow" |
| | | size="small" |
| | | type="primary" |
| | | @click="updateMultipleScore" |
| | | :loading="updateLoading" |
| | | >上传</el-button |
| | | > |
| | | <el-button v-show="scoreShow" size="small" type="error" @click="scoreShow = false" |
| | | <el-button |
| | | v-show="scoreShow" |
| | | size="small" |
| | | type="error" |
| | | @click="scoreShow = false" |
| | | >取消</el-button |
| | | > |
| | | </template> |
| | | <template #default="{ row }"> |
| | | <el-button type="primary" size="small" @click="editRow(row)">查看</el-button> |
| | | <el-button type="primary" size="small" @click="editRow(row)" |
| | | >查看</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | |
| | | |
| | | export default { |
| | | setup() { |
| | | const { cellClick, cellClassName, handlePaste, setTableData, addRefreshEvent, tableData } = |
| | | useTablePaste({ |
| | | score1: 8, |
| | | score2: 9 |
| | | }); |
| | | return { cellClick, cellClassName, handlePaste, setTableData, addRefreshEvent, tableData }; |
| | | const { |
| | | cellClick, |
| | | cellClassName, |
| | | handlePaste, |
| | | setTableData, |
| | | addRefreshEvent, |
| | | tableData |
| | | } = useTablePaste({ |
| | | score1: 8, |
| | | score2: 9 |
| | | }); |
| | | return { |
| | | cellClick, |
| | | cellClassName, |
| | | handlePaste, |
| | | setTableData, |
| | | addRefreshEvent, |
| | | tableData |
| | | }; |
| | | }, |
| | | components: { CompReport }, |
| | | data() { |
| | |
| | | name: '监测数据月均值超区域月均值20%以上或数据明显异常' |
| | | } |
| | | }, |
| | | scoreShow: false |
| | | scoreShow: false, |
| | | updateLoading: false |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | evaluateApi.fetchAutoEvaluation(this.area).then((res) => { |
| | | if (res.data) { |
| | | this.tableData = res.data; |
| | | this.tableData.forEach((v) => { |
| | | // 将原始的得分展示到表格中 |
| | | if (v.itemEvaluations) { |
| | | for (const key in this.ruleName) { |
| | | const value = this.ruleName[key]; |
| | | const itemEva = v.itemEvaluations.find((ie) => { |
| | | return ie.esrguid == value.id && ie.extension1 == 'true'; |
| | | }); |
| | | if (itemEva) { |
| | | v[key] = itemEva.value; |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | this.orginData = useCloned(this.tableData).cloned; |
| | | console.log(this.orginData); |
| | | this.getFilters(res.data); |
| | | if (typeof func === 'function') { |
| | | func({ data: this.tableData }); |
| | |
| | | if (res.data.length > 0) { |
| | | this.evaluationRule = res.data[0]; |
| | | // 获取具体子规则 |
| | | return evaluateApi.getSubRules(this.evaluationRule.guid).then((res) => { |
| | | this.evaluationSubRule = res.data; |
| | | // 查找可导入得分的规则id |
| | | for (const key in this.ruleName) { |
| | | const value = this.ruleName[key]; |
| | | const subrule = this.evaluationSubRule.find((v) => { |
| | | return v.itemname == value.name; |
| | | }); |
| | | value.id = subrule.guid; |
| | | } |
| | | }); |
| | | return evaluateApi |
| | | .getSubRules(this.evaluationRule.guid) |
| | | .then((res) => { |
| | | this.evaluationSubRule = res.data; |
| | | // 查找可导入得分的规则id |
| | | for (const key in this.ruleName) { |
| | | const value = this.ruleName[key]; |
| | | const subrule = this.evaluationSubRule.find((v) => { |
| | | return v.itemname == value.name; |
| | | }); |
| | | if (subrule) { |
| | | value.id = subrule.guid; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 批量更新监测数据得分 |
| | | updateMultipleScore() { |
| | | this.updateLoading = true; |
| | | useMessageBoxTip({ |
| | | confirmMsg: '是否上传监测数据得分', |
| | | confirmTitle: '上传监测数据得分', |
| | | onConfirm: () => { |
| | | onConfirm: async () => { |
| | | if (this.evaluationRule) { |
| | | const param = this.tableData.map((v) => { |
| | | const subTaskEvaList = this.tableData.map((v) => { |
| | | const subRule = []; |
| | | for (const key in this.ruleName) { |
| | | const value = this.ruleName[key]; |
| | | subRule.push({ |
| | | first: value.id, |
| | | second: v[key].trim() != '' |
| | | id: value.id, |
| | | selected: v[key] && (v[key] + '').trim() != '' |
| | | }); |
| | | } |
| | | return { |
| | | ...this.area, |
| | | subTaskId: v.subTaskId, |
| | | ruleId: this.evaluationRule.guid, |
| | | subRule |
| | | }; |
| | | }); |
| | | const param = { |
| | | ...this.area, |
| | | subTaskEvaList |
| | | }; |
| | | |
| | | evaluateApi.updateMultipleScore(param); |
| | | return await evaluateApi |
| | | .updateMultipleScore(param) |
| | | .finally(() => (this.updateLoading = false)); |
| | | } |
| | | } |
| | | }); |