From b3be6406c8105376eef209af3bd6635cb95fa81d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 24 九月 2024 12:15:22 +0800 Subject: [PATCH] 增加部级考核标签 --- src/views/system/check/template/index.vue | 251 +++++++++++++++++++++++++++---------------------- 1 files changed, 137 insertions(+), 114 deletions(-) diff --git a/src/views/system/check/template/index.vue b/src/views/system/check/template/index.vue index 01208d4..f790db1 100644 --- a/src/views/system/check/template/index.vue +++ b/src/views/system/check/template/index.vue @@ -1,16 +1,17 @@ <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 @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-form-item label="鑰冩牳鏍囩" prop="examineTag"> <el-select v-model="queryParams.examineTag" placeholder="鑰冩牳鏍囩" clearable @keyup.enter.native="handleQuery"> <el-option @@ -35,7 +36,8 @@ icon="el-icon-plus" size="mini" @click="handleAdd" - >鏂板</el-button> + >鏂板 + </el-button> </el-col> <!-- <el-col :span="1.5"> <el-button @@ -57,46 +59,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 +118,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 +130,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 +164,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 +212,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 +229,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 +289,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 +433,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 +445,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(() => { + }); }, /** 淇敼鎸夐挳鎿嶄綔 */ @@ -495,12 +511,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 +533,12 @@ .margin-5 { margin-left: 5px; } + .row-warp { display: flex; flex-direction: column; } + .row { display: flex; flex-direction: row; @@ -527,33 +546,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