From ad70f145e8bea957b41043b4a1e37ce37cc5ed1e Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 16 一月 2024 18:39:24 +0800 Subject: [PATCH] 指标完成 --- src/views/knowledge/education/compilequer/index.vue | 264 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 167 insertions(+), 97 deletions(-) diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue index 8ec30df..40afd79 100644 --- a/src/views/knowledge/education/compilequer/index.vue +++ b/src/views/knowledge/education/compilequer/index.vue @@ -23,54 +23,68 @@ > <el-form-item label="瀹f暀鍒嗙被" prop="region"> <el-select - v-model="ruleForm.groupID" + v-model="ruleForm.assortid" size="medium" filterable placeholder="璇烽�夋嫨鍒嗙被" > - <el-option - class="ruleFormaa" - v-for="item in sortlist" - :key="item.id" - :label="item.assortname" - :value="item.id" + <el-option-group + v-for="group in sortlist" + :key="group.id" + :label="group.assortname" > - </el-option> + <el-option + v-for="item in group.heLibraryAssortList" + :key="item.id" + :label="item.assortname" + :value="item.id" + > + </el-option> + </el-option-group> </el-select> </el-form-item> - <el-form-item label="瀹f暀鏍囬" prop="extName"> + <el-form-item label="瀹f暀鏍囬" prop="preachname"> <div style="width: 30%"> - <el-input v-model="ruleForm.extName"></el-input> + <el-input v-model="ruleForm.preachname"></el-input> </div> </el-form-item> - <el-form-item label="瀹f暀鎻忚堪" prop="extName"> + <el-form-item label="瀹f暀鎻忚堪" prop="preachcontent"> <div style="width: 30%"> - <el-input v-model="ruleForm.note"></el-input> + <el-input v-model="ruleForm.preachcontent"></el-input> </div> </el-form-item> <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <el-row v-for="item in variablelist"> - <el-col :span="4"> - <el-input v-model="item.variable"></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input v-model="item.value"></el-input> - </el-col> - <el-col :span="4" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> + <div style="margin-bottom: 5px" v-for="item in variablelist"> + <el-row> + <el-col :span="5"> + <el-input + v-model="item.variatename" + placeholder="璇疯緭鍏ュ彉閲忓悕" + ></el-input> + </el-col> + <el-col :span="8" :offset="1"> + <el-input + v-model="item.variate" + placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" + ></el-input> + </el-col> + <el-col :span="8" :offset="1"> + <el-button + type="success" + icon="el-icon-plus" + circle + @click="addvariable(item)" + ></el-button> + <el-button + v-if="!item.default" + type="danger" + icon="el-icon-delete" + circle + @click="delvariable(item)" + ></el-button> + </el-col> + </el-row> + </div> </el-form-item> <el-form-item label="鏂囦欢" prop="sickness"> @@ -137,9 +151,8 @@ <el-col :span="9"> <el-form-item label="鍙敤鐘舵��" prop="region"> <el-select - v-model="ruleForm.isEnable" + v-model="ruleForm.isavailable" size="medium" - multiple filterable placeholder="璇烽�夋嫨鍒嗙被" > @@ -156,7 +169,7 @@ </el-row> <el-form-item label="瀹f暀鏂瑰紡" prop="region"> <el-select - v-model="ruleForm.way" + v-model="ruleForm.suitway" size="medium" multiple filterable @@ -164,10 +177,10 @@ > <el-option class="ruleFormaa" - v-for="item in xjxsoptions" - :key="item.value" + v-for="item in mode" + :key="item.label" :label="item.label" - :value="item.value" + :value="item.label" > </el-option> </el-select> @@ -215,7 +228,7 @@ </el-form-item> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select - v-model="ruleForm.courtyard" + v-model="ruleForm.campus" size="medium" filterable placeholder="璇烽�夋嫨鍒嗙被" @@ -231,28 +244,26 @@ </el-select> </el-form-item> <el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="ruleForm.administrative" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" + <el-cascader + v-model="tempDetpRelevanceslist" + :options="deptList" + :props="props" + :show-all-levels="false" + clearable > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> + <template slot-scope="{ node, data }"> + <span>{{ data.deptName }}</span> + <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> + </template> + </el-cascader> </el-form-item> <el-form-item> <el-button type="success" @click="nextstep('ruleForm')" >涓嬩竴姝�</el-button > - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + <el-button type="success" @click="Departmenttreatment('ruleForm')" + >淇濆瓨</el-button + > <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> </el-form-item> </el-form> @@ -264,10 +275,10 @@ <el-col :span="12"> <div> <el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')" + <el-button type="success" @click="Departmenttreatment('ruleForm')" >淇濆瓨</el-button > - <el-button type="warning" @click="submitForm('ruleForm')" + <el-button type="warning" @click="Departmenttreatment('ruleForm')" >鍙﹀瓨鏂扮増鏈�</el-button > <el-button type="info" @click="closeFm('ruleForm')" @@ -276,6 +287,19 @@ </div></el-col > </el-row> + <el-row> + <el-col :span="24"> + <div style="display: flex; margin-left: 66px; margin-bottom: 10px"> + <div + v-for="item in variablelist" + class="tsgname" + @click="tsgnameto(item)" + > + {{ item.variatename }} + </div> + </div> + </el-col></el-row + > <div> <el-form @@ -342,6 +366,7 @@ illnesslistget, getillness, } from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; // import * as Quill from "quill"; import Quill from "quill"; import { listtag } from "@/api/system/label"; @@ -459,6 +484,9 @@ illnesslist: [], options: [], optionstag: [], + deptList: [], + tempDetpRelevanceslist: [], + props: { multiple: true, value: "deptId", label: "deptName" }, xjxsoptions: [ { value: "1", @@ -483,10 +511,9 @@ addvalue: "娣诲姞棰樼洰", variablelist: [ - { - variable: "paitent", - value: "琛ㄧず鎮h�呯殑鏍囪瘑", - }, + { variatename: "濮撳悕", variate: "${name}", default: 1 }, + { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, + { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, ], // 鏌ヨ鍙傛暟 queryParams: { @@ -517,38 +544,56 @@ methods: { getList() { this.loading = true; - getlibraryinfo({ id: this.$route.query.id }).then((res) => { - this.ruleForm = res.data; + this.id = this.$route.query.id; + getlibraryinfo({ id: this.id }).then((res) => { + this.ruleForm = res.data[0]; + + if (this.ruleForm.deptNames) { + this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + } + if (this.ruleForm.suitway) { + this.ruleForm.suitway = this.ruleForm.suitway.split(","); + } + this.variablelist = this.ruleForm.otherdata + ? JSON.parse(this.ruleForm.otherdata) + : this.variablelist; }); getheLibraryAssort({}).then((res) => { this.sortlist = res.rows; - console.log(res); }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); }); + this.loading = false; }, - // 瀹屾垚 + submitForm(formName) { - this.rules = this.rulesa; - // 鎻愪氦 - this.$refs[formName].validate((valid) => { - if (valid) { - alert("submit!"); - } else { - console.log("error submit!!"); - return false; - } + let tgs = []; + this.dynamicTags.forEach((item) => { + tgs.push(item.tagname); }); + console.log(tgs.length, "tgs"); + + this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : ""; + this.ruleForm.otherdata = JSON.stringify(this.variablelist); + console.log(22); + this.ruleForm.suitway = + this.ruleForm.suitway.length != 0 + ? this.ruleForm.suitway.join(",") + : ""; + if (this.id) { + this.ruleForm.isoperation = 2; + compilelibrary(this.ruleForm).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.$router.go(-1); + }); + } else { + this.ruleForm.isoperation = 1; + compilelibrary(this.ruleForm).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.$router.go(-1); + }); + } }, // 涓嬩竴姝� nextstep() { @@ -577,6 +622,37 @@ }); }); }, + // 绉戝澶勭悊 + Departmenttreatment() { + this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); + const result = this.tempDetpRelevanceslist.map( + (subArr) => subArr[subArr.length - 1] + ); + // id鏁扮粍鏌ユ暟缁勫璞� + result.forEach((item) => { + const condition = this.ruleForm.tempDetpRelevances.some( + (obj) => obj.deptId === item + ); + if (!condition) { + listDept({ deptId: item }).then((res) => { + res.data[0].type = 2; + this.ruleForm.tempDetpRelevances.push(res.data[0]); + }); + } + }); + // 鏁扮粍瀵硅薄鏌d鏁扮粍 + this.ruleForm.tempDetpRelevances.forEach((item) => { + const condition = result.some((obj) => obj === item.deptId); + if (!condition) { + const index = this.ruleForm.tempDetpRelevances.indexOf(item); + this.ruleForm.tempDetpRelevances[index].delFlag = 1; + } + }); + setTimeout(() => { + this.submitForm(); + }, 1000); + // this.submitForm(); + }, // 淇濆瓨棰樼洰淇℃伅 Saveproblem() {}, /** 鏌ヨ棰樼洰鍒楄〃 */ @@ -584,8 +660,8 @@ // 鏂板鍙橀噺 addvariable() { this.variablelist.push({ - variable: "", - value: "", + variatename: "", + variate: "", }); }, // 鍒犻櫎鍙橀噺 @@ -609,16 +685,13 @@ tagcategoryid: "0", }; listtag(tagqueryParams).then((response) => { - console.log(response); this.optionstag = response.rows; }); }, handleClosetag(tag) { - console.log(tag); - console.log(this.dynamicTags.indexOf(tag)); const lindex = this.dynamicTags.indexOf(tag); this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; + this.ruleForm.heLibraryTagList[lindex].isoperation = 3; }, handleInputConfirm() { let tagvalue = {}; @@ -639,7 +712,7 @@ isoperation: 1, }; } - this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); + this.ruleForm.heLibraryTagList.push(tagvalue); this.dynamicTags.push(tagvalue); }); } @@ -670,12 +743,10 @@ pageSize: 100, }; getillnesslist(illnessqueryParams).then((response) => { - console.log(response); this.optionsillness = response.rows; }); getillness({ outid: this.$route.query.id, type: 6 }).then((res) => { this.illnesslist = res.rows; - console.log(res); }); }, handleCloseillness(tag) { @@ -685,7 +756,6 @@ } }, remoteMethod(value) { - console.log(value); const illnessqueryParams = { pageNum: 1, pageSize: 100, -- Gitblit v1.9.3