From 09f0861e61e69e2d818eafc7b9edbd17cf0822d4 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 06 十一月 2025 17:20:02 +0800
Subject: [PATCH] 页面优化以及扣分详情导出
---
src/views/system/check/template/index.vue | 256 ++++++++++++++++++++++++++++-----------------------
1 files changed, 141 insertions(+), 115 deletions(-)
diff --git a/src/views/system/check/template/index.vue b/src/views/system/check/template/index.vue
index 01208d4..7f70c66 100644
--- a/src/views/system/check/template/index.vue
+++ b/src/views/system/check/template/index.vue
@@ -1,18 +1,20 @@
<template>
<div class="app-container">
- <el-form style="margin-left :20px" :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form style="margin-left :20px" :model="queryParams" ref="queryForm" size="small" :inline="true"
+ v-show="showSearch" label-width="68px">
<el-form-item label="鑰冩牳绫诲瀷" prop="examineCategory">
- <el-select v-model="queryParams.examineCategory" placeholder="鑰冩牳绫诲瀷" clearable @keyup.enter.native="handleQuery">
- <el-option
- v-for="dict in dict.type.platform_examine_category"
- :key="dict.value"
- :label="dict.label"
- :value="parseInt(dict.value)"
- />
- </el-select>
- </el-form-item>
+ <el-select v-model="queryParams.examineCategory" placeholder="鑰冩牳绫诲瀷" clearable @change="handleQuery">
+ <el-option
+ v-for="dict in dict.type.platform_examine_category"
+ :key="dict.value"
+ :label="dict.label"
+ :value="parseInt(dict.value)"
+ />
+ </el-select>
+ </el-form-item>
+
<el-form-item label="鑰冩牳鏍囩" prop="examineTag">
- <el-select v-model="queryParams.examineTag" placeholder="鑰冩牳鏍囩" clearable @keyup.enter.native="handleQuery">
+ <el-select v-model="queryParams.examineTag" placeholder="鑰冩牳鏍囩" clearable @change="handleQuery">
<el-option
v-for="dict in dict.type.platform_examine_tag"
:key="parseInt(dict.value)"
@@ -35,7 +37,8 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
- >鏂板</el-button>
+ >鏂板
+ </el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
@@ -57,46 +60,51 @@
@click="handleDelete"
>鍒犻櫎</el-button>
</el-col> -->
-<!-- <el-col :span="1.5">-->
-<!-- <el-button-->
-<!-- type="warning"-->
-<!-- plain-->
-<!-- icon="el-icon-download"-->
-<!-- size="mini"-->
-<!-- @click="handleExport"-->
-<!-- >瀵煎嚭</el-button>-->
-<!-- </el-col>-->
+ <!-- <el-col :span="1.5">-->
+ <!-- <el-button-->
+ <!-- type="warning"-->
+ <!-- plain-->
+ <!-- icon="el-icon-download"-->
+ <!-- size="mini"-->
+ <!-- @click="handleExport"-->
+ <!-- >瀵煎嚭</el-button>-->
+ <!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<div class="card-container">
- <el-card class="box-card" v-for="item in checkTemplateList" :key="item">
- <div class="text item">妯℃澘鍚嶇О锛歿{ item.templateName }}</div>
- <div class="text item">鑰冩牳鏍囩锛歿{ item.examineTag == 0 ? '鐪佸巺鑰冩牳' : '甯傚眬鑰冩牳' }}</div>
- <div class="text item" style="display: flex">
- <span>鑰冩牳绫诲瀷锛�</span>
- <dict-tag :options="dict.type.platform_examine_category" :value="item.examineCategory"/>
- </div>
- <!-- <div class="text item">鑰冩牳棰戠巼锛歿{ item.frequency == 0 ? '鏈堝害鑰冩牳' : '瀛e害鑰冩牳' }}</div> -->
- <div class="text item" style="display: flex">
- <span>鑰冩牳瀵硅薄锛�</span>
- <el-tooltip effect="dark" :content="translateDeptIdList(item.deptId)" placement="top">
- <div class="item" style="margin-bottom: 0" v-for = "(deptId,index) in item.deptId" :key = index>
- {{ translateDeptIdList(item.deptId) }}
- </div>
+ <el-card class="box-card" v-for="item in checkTemplateList" :key="item">
+ <div class="text item">妯℃澘鍚嶇О锛歿{ item.templateName }}</div>
+ <div class="text item">鑰冩牳鏍囩锛歿{
+ item.examineTag === 0 ? '鐪佸巺鑰冩牳' :
+ item.examineTag === 1 ? '鍖哄幙鑰冩牳' :
+ item.examineTag === 2 ? '鍏畨閮ㄨ�冩牳' : '鏈煡'
+ }}
+ </div>
+ <div class="text item" style="display: flex">
+ <span>鑰冩牳绫诲瀷锛�</span>
+ <dict-tag :options="dict.type.platform_examine_category" :value="item.examineCategory"/>
+ </div>
+ <!-- <div class="text item">鑰冩牳棰戠巼锛歿{ item.frequency == 0 ? '鏈堝害鑰冩牳' : '瀛e害鑰冩牳' }}</div> -->
+ <div class="text item" style="display: flex">
+ <span>鑰冩牳瀵硅薄锛�</span>
+ <el-tooltip effect="dark" :content="translateDeptIdList(item.deptId)" placement="top">
+ <div class="item" style="margin-bottom: 0" v-for="(deptId,index) in item.deptId" :key=index>
+ {{ translateDeptIdList(item.deptId) }}
+ </div>
</el-tooltip>
- </div>
- <div class="text item" style="display: flex">
- <span style="padding: 3px 0;">浣跨敤鐘舵�侊細</span>
- <dict-tag :options="dict.type.platform_use_state" :value="item.status"/>
- </div>
- <div class="bottom clearfix">
- <el-button type="text" class="button" @click="handleStatus(item)" v-show="item.status == 1" >鍚敤</el-button>
- <el-button type="text" class="button" @click="handleStatus(item)" v-show="item.status == 0" >鍋滅敤</el-button>
- <el-button type="text" class="button" @click="handleCopy(item)">澶嶅埗</el-button>
- <el-button type="text" class="button" @click="handleUpdate(item)">淇敼</el-button>
- <el-button type="text" class="button" @click="handleDelete(item)">鍒犻櫎</el-button>
- </div>
- </el-card>
+ </div>
+ <div class="text item" style="display: flex">
+ <span style="padding: 3px 0;">浣跨敤鐘舵�侊細</span>
+ <dict-tag :options="dict.type.platform_use_state" :value="item.status"/>
+ </div>
+ <div class="bottom clearfix">
+ <el-button type="text" class="button" @click="handleStatus(item)" v-show="item.status == 1">鍚敤</el-button>
+ <el-button type="text" class="button" @click="handleStatus(item)" v-show="item.status == 0">鍋滅敤</el-button>
+ <el-button type="text" class="button" @click="handleCopy(item)">澶嶅埗</el-button>
+ <el-button type="text" class="button" @click="handleUpdate(item)">淇敼</el-button>
+ <el-button type="text" class="button" @click="handleDelete(item)">鍒犻櫎</el-button>
+ </div>
+ </el-card>
</div>
<pagination
@@ -111,7 +119,7 @@
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="妯℃澘鍚嶇О" prop="templateName">
- <el-input v-model="form.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�" />
+ <el-input v-model="form.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�"/>
</el-form-item>
<el-form-item label="鑰冩牳鏍囩" prop="examineTag">
<el-select v-model="form.examineTag" placeholder="鑰冩牳绫诲瀷">
@@ -123,16 +131,16 @@
/>
</el-select>
</el-form-item>
-<!-- <el-form-item label="鑰冩牳棰戠巼" prop="frequency">-->
-<!-- <el-select v-model="form.frequency" placeholder="鑰冩牳棰戠巼">-->
-<!-- <el-option-->
-<!-- v-for="dict in dict.type.platform_examine_frequency"-->
-<!-- :key="dict.value"-->
-<!-- :label="dict.label"-->
-<!-- :value="parseInt(dict.value)"-->
-<!-- />-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
+ <!-- <el-form-item label="鑰冩牳棰戠巼" prop="frequency">-->
+ <!-- <el-select v-model="form.frequency" placeholder="鑰冩牳棰戠巼">-->
+ <!-- <el-option-->
+ <!-- v-for="dict in dict.type.platform_examine_frequency"-->
+ <!-- :key="dict.value"-->
+ <!-- :label="dict.label"-->
+ <!-- :value="parseInt(dict.value)"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
<el-form-item label="鑰冩牳瀵硅薄" prop="deptId">
<el-select v-model="form.deptId" multiple placeholder="璇烽�夋嫨">
<el-option
@@ -157,40 +165,40 @@
<div class="row-warp">
<div class="row" v-for="(form) in tempRuleFormList">
<div class="row-left">
- <div>瑙勫垯</div>
- <div class="margin-5">
- <el-select v-model="form.ruleId" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in currentRuleList"
- :key="item.id"
- :label="item.ruleName"
- :value="item.id"
- :disabled="isRuleDisabled(item.id, index)"
- >
- </el-option>
- </el-select>
+ <div>瑙勫垯</div>
+ <div class="margin-5">
+ <el-select v-model="form.ruleId" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in currentRuleList"
+ :key="item.id"
+ :label="item.ruleName"
+ :value="item.id"
+ :disabled="isRuleDisabled(item.id, index)"
+ >
+ </el-option>
+ </el-select>
</div>
</div>
<div class="row-right">
- <div>鏉冮噸</div>
- <div class="margin-5">
- <el-input type="number" v-model.number="form.weight" />
- </div>
+ <div>鏉冮噸</div>
+ <div class="margin-5">
+ <el-input type="number" v-model.number="form.weight"/>
+ </div>
</div>
<div class="item-op">
<el-button @click="removeRule(form)" type="danger" icon="el-icon-delete" circle></el-button>
</div>
</div>
<div style="margin-top: 25px">
- <el-button type="success" @click="nextAdd()" size="mini" plain>娣诲姞</el-button>
+ <el-button type="success" @click="nextAdd()" size="mini" plain>娣诲姞</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="鎶ヨ鍒嗘暟" prop="alarmScore">
- <el-input v-model="form.alarmScore" placeholder="璇疯緭鍏ユ姤璀﹀垎鏁�" />
+ <el-input v-model="form.alarmScore" placeholder="璇疯緭鍏ユ姤璀﹀垎鏁�"/>
</el-form-item>
<el-form-item label="璋冩暣绯绘暟" prop="adjustCoefficient">
- <el-input v-model="form.adjustCoefficient" placeholder="璇疯緭鍏ョ郴鏁板��" />
+ <el-input v-model="form.adjustCoefficient" placeholder="璇疯緭鍏ョ郴鏁板��"/>
</el-form-item>
<el-form-item label="璋冩暣鏂瑰紡" prop="adjustWay">
<el-select v-model="form.adjustWay" placeholder="璇烽�夋嫨璋冩暣绯绘暟璁$畻鏂瑰紡">
@@ -205,11 +213,12 @@
</el-select>
</el-form-item>
<el-form-item label="瑙勫垯鎻忚堪" prop="description">
- <el-input v-model="form.description" type="textarea" :autosize="{ minRows: 4, maxRows: 6}" placeholder="璇疯緭鍏ヨ鍒欐弿杩�"/>
+ <el-input v-model="form.description" type="textarea" :autosize="{ minRows: 4, maxRows: 6}"
+ placeholder="璇疯緭鍏ヨ鍒欐弿杩�"/>
</el-form-item>
<el-form-item label="鐘舵��" prop="status">
- <el-radio v-model="form.status" label="0" >鍚敤</el-radio>
- <el-radio v-model="form.status" label="1" >鍋滅敤</el-radio>
+ <el-radio v-model="form.status" label="0">鍚敤</el-radio>
+ <el-radio v-model="form.status" label="1">鍋滅敤</el-radio>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -221,18 +230,25 @@
</template>
<script>
-import { listCheckTemplate, getCheckTemplate, delCheckTemplate, addCheckTemplate, updateCheckTemplate,copyCheckTemplate } from "@/api/platform/check-template";
-import { areaSelect } from '@/api/system/dept'
-import { listCheckRule } from "../../../../api/platform/check-rule";
+import {
+ listCheckTemplate,
+ getCheckTemplate,
+ delCheckTemplate,
+ addCheckTemplate,
+ updateCheckTemplate,
+ copyCheckTemplate
+} from "@/api/platform/check-template";
+import {areaSelect} from '@/api/system/dept'
+import {listCheckRule} from "../../../../api/platform/check-rule";
export default {
name: "CheckTemplate",
- dicts: ['platform_use_state','platform_examine_category','platform_rule_category','platform_examine_frequency','platform_examine_tag'],
+ dicts: ['platform_use_state', 'platform_examine_category', 'platform_rule_category', 'platform_examine_frequency', 'platform_examine_tag'],
data() {
return {
- props: { multiple: true },
+ props: {multiple: true},
value: [],
- areaList:[],
+ areaList: [],
ruleList: [],
unitList: [],
selectedRuleIds: [],
@@ -274,28 +290,28 @@
// 琛ㄥ崟鏍¢獙
rules: {
templateName: [
- { required: true, message: "妯℃澘鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ {required: true, message: "妯℃澘鍚嶇О涓嶈兘涓虹┖", trigger: "blur"}
],
examineTag: [
- { required: true, message: "璇烽�夋嫨鑰冩牳鏍囩", trigger: "change" }
+ {required: true, message: "璇烽�夋嫨鑰冩牳鏍囩", trigger: "change"}
],
frequency: [
- { required: true, message: "璇烽�夋嫨鐘舵�佽�冩牳棰戠巼", trigger: "change" }
+ {required: true, message: "璇烽�夋嫨鐘舵�佽�冩牳棰戠巼", trigger: "change"}
],
deptId: [
- { required: true, message: "璇疯嚦灏戦�夋嫨涓�涓�冩牳瀵硅薄", trigger: "change" }
+ {required: true, message: "璇疯嚦灏戦�夋嫨涓�涓�冩牳瀵硅薄", trigger: "change"}
],
examineCategory: [
- { required: true, message: "璇烽�夋嫨鑰冩牳绫诲瀷", trigger: "change" }
+ {required: true, message: "璇烽�夋嫨鑰冩牳绫诲瀷", trigger: "change"}
],
adjustCoefficient: [
- { required: true, message: "璋冩暣绯绘暟涓嶈兘涓虹┖", trigger: "blur" }
+ {required: true, message: "璋冩暣绯绘暟涓嶈兘涓虹┖", trigger: "blur"}
],
adjustWay: [
- { required: true, message: "璇烽�夋嫨璋冩暣鏂瑰紡", trigger: "change" }
+ {required: true, message: "璇烽�夋嫨璋冩暣鏂瑰紡", trigger: "change"}
],
status: [
- { required: true, message: "璇烽�夋嫨鐘舵��", trigger: "change" }
+ {required: true, message: "璇烽�夋嫨鐘舵��", trigger: "change"}
],
},
};
@@ -418,7 +434,7 @@
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
- this.single = selection.length!==1
+ this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 鏂板鎸夐挳鎿嶄綔 */
@@ -430,23 +446,24 @@
this.title = "娣诲姞鑰冩牳妯℃澘";
},
/** 澶嶅埗鎸夐挳鎿嶄綔 */
- handleCopy(row){
+ handleCopy(row) {
copyCheckTemplate(row).then(response => {
this.$modal.msgSuccess("澶嶅埗鎴愬姛");
this.open = false;
this.getList();
});
},
- handleStatus(row){
+ handleStatus(row) {
let text = row.status == 1 ? '鍚敤' : '鍋滅敤';
const templateName = row.templateName;
- this.$modal.confirm('鏄惁纭' + text + '鑰冩牳鍚嶄负"' + templateName + '"鐨勬暟鎹」锛�').then(function() {
+ this.$modal.confirm('鏄惁纭' + text + '鑰冩牳鍚嶄负"' + templateName + '"鐨勬暟鎹」锛�').then(function () {
row.status = row.status == 1 ? "0" : "1";
return updateCheckTemplate(row);
}).then(() => {
this.getList();
this.$modal.msgSuccess(text + "鎴愬姛");
- }).catch(() => {});
+ }).catch(() => {
+ });
},
/** 淇敼鎸夐挳鎿嶄綔 */
@@ -476,6 +493,8 @@
}
}
this.form.ruleFormList = this.tempRuleFormList;
+ //鑰冩牳棰戠巼鍒濆鍖�
+ this.form.frequency = 0;
if (this.form.id != null) {
updateCheckTemplate(this.form).then(response => {
this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -495,12 +514,13 @@
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
const id = row.id
- this.$modal.confirm('鏄惁纭鍒犻櫎鑰冩牳妯℃澘鍚嶄负"' + row.templateName + '"鐨勬暟鎹」锛�').then(function() {
+ this.$modal.confirm('鏄惁纭鍒犻櫎鑰冩牳妯℃澘鍚嶄负"' + row.templateName + '"鐨勬暟鎹」锛�').then(function () {
return delCheckTemplate(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ }).catch(() => {
+ });
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
@@ -516,10 +536,12 @@
.margin-5 {
margin-left: 5px;
}
+
.row-warp {
display: flex;
flex-direction: column;
}
+
.row {
display: flex;
flex-direction: row;
@@ -527,33 +549,37 @@
justify-content: center;
margin: 5px 0;
}
+
.row-left {
flex: 1;
display: flex;
flex-direction: row;
}
+
.row-right {
flex: 1;
display: flex;
flex-direction: row;
}
+
.text {
- font-size: 14px;
- }
+ font-size: 14px;
+}
- .item {
- margin-bottom: 15px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
+.item {
+ margin-bottom: 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
- .box-card {
- width: 20%;
+.box-card {
+ width: 20%;
- margin-right: 50px;
- margin-bottom: 30px;
- }
+ margin-right: 50px;
+ margin-bottom: 30px;
+}
+
.card-container {
display: flex;
flex-wrap: wrap;
--
Gitblit v1.8.0