From 4fa44f71fbb58abf9256f8bd872b8e0890f49f9c Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 24 四月 2024 18:08:59 +0800 Subject: [PATCH] 合同规则分三层、合同积分新增 --- src/views/system/score/default/index.vue | 119 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 65 insertions(+), 54 deletions(-) diff --git a/src/views/system/score/default/index.vue b/src/views/system/score/default/index.vue index 126fd5e..7edbf72 100644 --- a/src/views/system/score/default/index.vue +++ b/src/views/system/score/default/index.vue @@ -164,59 +164,54 @@ </el-dialog> <!-- 鏂板鎴栦慨鏀� --> - <el-dialog title="杩愮淮绉垎瀹℃牳" :visible.sync="open" width="700px"append-to-body> + <el-dialog title="杩愮淮绉垎瀹℃牳" :visible.sync="open" width="700px" append-to-body> <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="120px"> - <el-form-item label="杩愮淮鑰冩牳鍗曚綅" prop="unitName"> - <el-select v-model="form.unitNameList" placeholder="杩愮淮鑰冩牳鍗曚綅"> + <el-form-item label="杩愮淮鑰冩牳鍗曚綅" prop="unitId"> + <el-select v-model="form.unitId" placeholder="杩愮淮鑰冩牳鍗曚綅" @change="handleChangeUnit"> <el-option - v-for="item in unitNameList" - :key="item.id" - :label="item.value" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鑰冩牳鍚�" prop="examineId"> - <el-select v-model="form.examineId" placeholder="鑰冩牳鍚�" > - <el-option - v-for="item in examineList" - :key="item.id" - :label="item.value" - :value="item.id"> - </el-option> + v-for="item in unitList" + :key="item.id" + :label="item.value" + :value="item.id"> + </el-option> </el-select> </el-form-item> <el-form-item label="杩愮淮鑰冩牳瑙勫垯" prop="tempRuleFormList"> <div class="row-warp"> - <div class="row" v-for="(form) in tempRuleFormList"> + <div class="row"> <div class="row-left"> - <div>瑙勫垯</div> <div class="block"> <span class="demonstration"></span> <el-cascader + ref="cascader" v-model="value" :options="options" - :props = "props" - @change="handleChange"></el-cascader> + @change="handleChange"> + <template slot-scope="{ data }"> + <el-tooltip + class="item" + :disabled="data.label.length < 16 && !data.deductCategory" + effect="dark" + :content="data.label.length < 16 ? data.deductCategory ? data.deductCategory + ' ' + data.calcFraction + (data.calcUnit ? '/' + data.calcUnit : '') : '' : (data.deductCategory ? data.label + ' ' + data.deductCategory + ' ' + data.calcFraction + (data.calcUnit ? '/' + data.calcUnit : '') : data.label)" + placement="left" + > + <span>{{ data.label }}</span> + </el-tooltip> + </template> + </el-cascader> </div> </div> - <div class="row-right"> + <div class="row-right" v-if="needNum"> <div>鎸囨爣</div> <div class="margin-5"> - <el-input type="number" v-model="form.weight"/> + <el-input type="number" placeholder="璇疯緭鍏�" v-model="form.num" @change="handleChangeNum"/> </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> </div> </div> </el-form-item> - <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 20%"> - <el-input v-model="auditingForm.score"></el-input> + <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 51%"> + <el-input type="number" v-model="form.score"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -230,33 +225,17 @@ <script> import { listAuditing, getAuditing, delAuditing, addAuditing, updateAuditing,auditing } from "@/api/platform/contract-score"; import { unitSelect } from "@/api/platform/unit"; +import { getRuleListByUnitId } from "@/api/platform/calculate-rule"; export default { name: "Auditing", data() { return { - options: [{ - value: 'city', - label: '鍓嶇鎰熺煡婧愭不鐞嗗伐浣�', - children: [{ - value: 'fushun', - label: '鏃堕挓鍚屾', - }, { - value: 'rong', - label: 'OSD鏍囪瘑鏈慨澶�', - }, { - value: 'rong', - label: '涓�鏈轰竴妗d笉鍚堟牸', - } - ] - }, - ], + needNum: false, + options: [], auditingOpen: false, auditingForm: {}, unitList: [], - unitNameList: [ - {id:2 , value:"鎴愰兘x杩愮淮"} - ], // 鑰冩牳妯℃澘 examineList: [ {id:1 , value:"杞﹁締鑰冩牳"}, @@ -314,8 +293,36 @@ this.getUnitSelect(); }, methods: { - handleChange(value) { - console.log(value); + handleChange() { + let item = this.$refs['cascader'].getCheckedNodes()[0].data; + console.log("item", item); + if (item.deductCategory == "鎵f寚瀹氬垎鏁�") { + this.needNum = false; + this.form.score = item.calcFraction; + } else { + this.needNum = true; + this.form.score = null; + } + }, + handleChangeNum() { + // 绠楀垎 + }, + handleChangeUnit(value) { + getRuleListByUnitId(value).then((res) => { + this.options = this.getTreeData(res.data); + }) + }, + getTreeData(data){ + for(var i=0;i<data.length;i++){ + if(data[i].children.length<1){ + // children鑻ヤ负绌烘暟缁勶紝鍒欏皢children璁句负undefined + data[i].children=undefined; + }else { + // children鑻ヤ笉涓虹┖鏁扮粍锛屽垯缁х画 閫掑綊璋冪敤 鏈柟娉� + this.getTreeData(data[i].children); + } + } + return data; }, // 鎻愪氦瀹℃牳 submitAuditing() { @@ -489,4 +496,8 @@ flex-direction: row; } </style> - +<style> +.el-cascader-node { + max-width: 300px; +} +</style> \ No newline at end of file -- Gitblit v1.8.0