From a46f2000f85c91b0e118a0af1bc6022a16feadcb Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 04 七月 2024 17:15:57 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/intention/index.vue | 386 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 248 insertions(+), 138 deletions(-) diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue index 9d7591e..47cfd46 100644 --- a/src/views/repositoryai/intention/index.vue +++ b/src/views/repositoryai/intention/index.vue @@ -30,7 +30,7 @@ > <span class="custom-tree-node" slot-scope="{ node, data }"> <span>{{ node.label }}</span> - <span> + <span v-if="data.id > 0"> <el-button type="text" icon="el-icon-delete" @@ -38,6 +38,17 @@ size="mini" @click="() => remove(node, data)" > + </el-button> + </span> + <span v-if="data.id > 0"> + <el-button + type="text" + circle + size="mini" + @click="() => altertag(node, data)" + ><span class="button-textxg" + ><i class="el-icon-edit-outline"></i + ></span> </el-button> </span> </span> @@ -170,16 +181,26 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="搴忓彿" align="center" key="id" prop="id" /> + <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> <el-table-column label="鍊肩被鍨�" + fixed align="center" - key="isenable" - prop="isenable" + key="valueType" + prop="valueType" :show-overflow-tooltip="true" > <template slot-scope="scope"> - <dict-tag :options="valuetype" :value="scope.row.isenable" /> + <dict-tag + :options="valuetypelb" + :value="scope.row.valueType" + /> </template> </el-table-column> <el-table-column @@ -211,12 +232,12 @@ /><el-table-column label="閫傜敤鏂瑰紡" align="center" - key="suitWay" - prop="suitWay" + key="suitWayList" + prop="suitWayList" width="120" > <template slot-scope="scope"> - <dict-tag :options="mode" :value="scope.row.suitWay" /> + <dict-tag :options="mode" :value="scope.row.suitWayList" /> </template> </el-table-column> <el-table-column @@ -261,6 +282,7 @@ <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="200" class-name="small-padding fixed-width" @@ -311,6 +333,7 @@ <el-dialog :title="title" :visible.sync="indexopen" + :close-on-click-modal="false" width="900px" append-to-body > @@ -322,7 +345,7 @@ > <el-row v-if="!measurement"> <el-col :span="12"> - <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> + <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> <el-input v-model="indexform.targetname" placeholder="璇疯緭鍏ユ寚鏍囩绫�" @@ -334,15 +357,40 @@ <el-form-item label="鐗堟湰鍙�" prop="deptId"> <el-input v-model="indexform.version" - placeholder="璇疯緭鍏ユ寚鏍囩绫�" + placeholder="榛樿1.0" maxlength="40" /> </el-form-item> </el-col> </el-row> + <!-- deptOptions --> <el-row v-if="!measurement"> - <el-col :span="12"> - <el-form-item label="璇█" prop="deptId"> + <el-col :span="8"> + <el-form-item label="鎸囨爣鍒嗙被" prop="assortid"> + <el-select + v-model="indexform.assortid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in deptOptions" + :key="group.id" + :label="group.indexAssortName" + > + <el-option + v-for="item in group.ivrLibaTargetAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> + </el-select> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="璇█" prop="language"> <el-select v-model="indexform.language" placeholder="璇烽�夋嫨璇█" @@ -356,7 +404,7 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="8"> <el-form-item label="鏄惁鍙敤" prop="isAvailable"> <el-select v-model="indexform.isAvailable" @@ -423,7 +471,7 @@ <el-row v-if="!measurement"> <el-col :span="24"> <el-form-item label="鍊肩被鍨�"> - <el-radio-group v-model="indexform.isenable"> + <el-radio-group v-model="indexform.valueType"> <el-radio :label="1">閫夐」</el-radio> <el-radio :label="2">鏂囨湰</el-radio> <el-radio :label="3">鏁板��</el-radio> @@ -431,27 +479,15 @@ </el-form-item> </el-col></el-row > - <!-- <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="閫傜敤鐤剧梾" prop="userName"> - <el-select - v-model="indexform.suitDisease" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="index in qyoptions" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> </el-col - ></el-row> --> <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="閫傜敤鏂瑰紡" prop="email"> - <el-select v-model="indexform.suitWay" placeholder="璇烽�夋嫨"> + <el-form-item label="閫傜敤鍦烘櫙" prop="suitWayList"> + <el-select + v-model="indexform.suitWayList" + multiple + placeholder="璇烽�夋嫨" + > <el-option v-for="index in mode" :key="index.value" @@ -462,95 +498,58 @@ </el-form-item> </el-col> </el-row> - <el-card class="box-card" style="margin-bottom: 20px"> - <el-table v-loading="loading" :data="testuserList"> - <el-table-column - label="搴忓彿" - align="center" - key="guid" - prop="guid" - width="50" - /> - <el-table-column - label="鎸囨爣閫夐」" - align="center" - key="targetvalue" - prop="targetvalue" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.targetvalue" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column - label="瑙f瀽瑙勫垯" - align="center" - key="targetregex" - prop="targetregex" - width="460" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.targetregex" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="200" - class-name="small-padding fixed-width" + <el-card + class="box-card" + style="margin-bottom: 20px" + v-if="indexform.valueType == 1" + > + <Regular + :TargetoptionList="testuserList" + :intent="false" + @addoption="addoption" + @deloption="deloption" + @syioption="syioption" + @xiayioption="xiayioption" + /> + </el-card> + <div v-if="indexform.valueType == 2"> + <el-form-item label="鏀堕泦淇℃伅"> + <el-input + type="textarea" + :rows="2" + placeholder="濉叆鏀堕泦淇℃伅" + v-model="indexform.reply" + maxlength="50" + show-word-limit > - <template slot-scope="scope"> - <el-button - @click="addoption(scope.row)" - type="success" - icon="el-icon-circle-plus-outline" - circle - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="deloption(scope.row)" - ></el-button> - <el-button - @click="syioption(scope.row)" - type="primary" - icon="el-icon-top" - circle - ></el-button> - <el-button - @click="xiayioption(scope.row)" - type="primary" - icon="el-icon-bottom" - circle - ></el-button> - </template> - </el-table-column> - </el-table> - </el-card> - <el-card class="box-card" style="margin-bottom: 20px"> - <Regular :TargetoptionList="testuserList" /> - </el-card> + </el-input + ></el-form-item> + </div> + <div v-if="indexform.valueType == 3"> + <el-form-item label="鏀堕泦淇℃伅"> + <el-input + type="text" + placeholder="濉叆鏀堕泦淇℃伅" + v-model="indexform.reply" + > + </el-input + ></el-form-item> + </div> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="娴嬭瘯杈撳叆" prop="nickName"> <el-input - v-model="testvalue" + v-model="indexform.content" placeholder="璇疯緭鍏ユ祴璇曞唴瀹�" maxlength="40" /> </el-form-item> </el-col> <el-col :span="4"> - <el-button type="success">寮�濮嬫祴璇�</el-button> + <el-button type="success" @click="testtagerlist" + >寮�濮嬫祴璇�</el-button + > </el-col> </el-row> </el-form> @@ -648,7 +647,7 @@ </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button @click="getDeptTree()">鍙� 娑�</el-button> <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> </div> </el-dialog> @@ -657,16 +656,10 @@ <script> import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; -import { gettargetInfo, particulartarget, gettargetInfoedit, + testtagerlist, addtarget, deletetarget, getillnesslist, @@ -676,6 +669,7 @@ addtargetillness, selectIvrLibaTargetAssortList, addtreeselectIvrLibaTargetAssort, + edittreeselectIvrLibaTargetAssort, delselectIvrLibaTargetAssort, } from "@/api/AiCentre/index"; import { getToken } from "@/utils/auth"; @@ -761,33 +755,43 @@ queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, }, + valuetypelb: [], // 琛ㄥ崟鏍¢獙 - rules: {}, + rules: { + targetname: [ + { required: true, message: "鎸囨爣鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + ], + assortid: [ + { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" }, + ], + language: [ + { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" }, + ], + isAvailable: [ + { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" }, + ], + }, }; }, watch: { // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 sidecolumnval(val) { + console.log(val); this.$refs.tree.filter(val); }, }, created() { + // 鍒濆鍖栨暟鎹� this.getList(); this.gettabList(); this.getDeptTree(); this.mode = store.getters.mode; - this.valuetype = store.getters.valuetype; + this.valuetypelb = store.getters.valuetypelb; this.languagelist = store.getters.languagelist; this.qyoptions = store.getters.usable; }, - methods: { /** 鏌ヨ鎸囨爣鍒楄〃 */ getList() { @@ -801,12 +805,14 @@ }, processElement(element) { + // 杩斿洖涓�涓柊鐨勫璞★紝灏唀lement瀵硅薄鐨勫睘鎬soperation璁剧疆涓�1 return { ...element, isoperation: 1 }; }, + // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 getIndexInArray(arr, obj) { + // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 return arr.indexOf(obj); }, - //鍒犻櫎鍒嗙被 deletefenlei(row) { if (this.deleteVisible) { @@ -848,7 +854,6 @@ } }, remoteMethod(value) { - console.log(value); const illnessqueryParams = { pageNum: 1, pageSize: 100, @@ -950,8 +955,14 @@ guid: 1, id: this.indexform.id, targettype: this.indexform.targettype, - targetvalue: "璐", - targetregex: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10", + isoperation: 1, + targetvalue: "", + targetregex: "", + targetregex2: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", }; this.testuserList.push(objvakue); // this.indexform.targetoptionList.push(objvakue); @@ -963,6 +974,7 @@ if (index !== -1) { this.testuserList[index].isoperation = 3; this.targetoptionList.push(this.testuserList[index]); + console.log(this.targetoptionList, "aaaa.targetoptionList"); this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� this.sortFn(); } else { @@ -986,13 +998,18 @@ return { guid: index + 1, targetvalue: item.targetvalue, + targetregex2: item.targetregex2, targetregex: item.targetregex, - targetoptionid: item.targetoptionid, id: this.indexform.id, targettype: this.indexform.targettype, isoperation: item.targetoptionid ? 2 : 1, categoryName: item.categoryName, language: item.language, + dynamiccruxs: item.dynamiccruxs, + nodynamiccruxs: item.nodynamiccruxs, + dynamiccruxsJson: item.dynamiccruxsJson, + nodynamiccruxsJson: item.nodynamiccruxsJson, + targetoptionid: item.targetoptionid, }; }); console.log(this.testuserList); @@ -1003,7 +1020,7 @@ getDeptTree() { selectIvrLibaTargetAssortList({}).then((res) => { this.deptOptions = res.rows; - console.log(res); + this.dialogFormVisible = false; }); }, // 绛涢�夎妭鐐� @@ -1013,6 +1030,15 @@ }, // 娣诲姞绫诲埆鏍� submitsidecolumn() { + if (this.classifyform.id) { + edittreeselectIvrLibaTargetAssort(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } let calssvalue = {}; if ( this.classifyform.pid && @@ -1068,6 +1094,16 @@ .catch(() => {}); } }, + altertag(a, b) { + this.dialogFormVisible = true; + if (!b.pid) { + this.radio = "涓诲垎绫�"; + } else { + this.radio = "瀛愬垎绫�"; + } + this.classifyform = b; + this.dialogFormVisible = true; + }, handleNodeClick(data) { this.queryParams.assortid = data.id; this.getList(); @@ -1075,6 +1111,7 @@ // 鍙栨秷鎸夐挳 cancel() { + this.indexform = null; this.indexopen = false; this.reset(); }, @@ -1082,13 +1119,13 @@ // 琛ㄥ崟閲嶇疆 reset() { this.indexform = { - suitWay: undefined, + suitWayList: undefined, id: undefined, targetdesc: undefined, baseTagList: [], targetoptionList: [], }; - this.resetForm("indexform"); + // this.resetForm("indexform"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -1099,7 +1136,10 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.queryParams = { + pageNum: 1, + pageSize: 10, + }; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, @@ -1120,11 +1160,15 @@ this.dynamicTags = []; this.testuserList = [ { - guid: 1, - isoperation: 1, targettype: "1", targetvalue: "", targetregex: "", + targetregex2: "", + isoperation: 1, + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", }, ]; this.indexopen = true; @@ -1135,9 +1179,27 @@ this.reset(); console.log(row); this.title = "鎸囨爣璇︽儏"; + this.indexform = {}; this.indexform = row; + if (!row.targetoptionList[0]) { + row.targetoptionList = [ + { + targettype: "1", + targetvalue: "", + targetregex: "", + targetregex2: "", + isoperation: 1, + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }, + ]; + } this.dynamicTags = row.baseTagList.map(this.processElement); this.testuserList = row.targetoptionList; + console.log(this.testuserList, "bbbb"); + this.testvalue = ""; this.indexopen = true; this.measurement = false; }, @@ -1156,12 +1218,27 @@ /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ submitForm: function () { - // this.indexform.targetoptionList=[] + // this.indexform.targetoptionList = this.indexform.targetoptionList.map( + // (res) => { + // res.isoperation = 2; + // return res; + // } + // ); + this.$refs["indexform"].validate((valid) => { this.indexform.targetoptionList = this.testuserList.concat( this.targetoptionList ); + console.log(this.indexform.targetoptionList, "11"); + this.indexform.targetoptionList.forEach((item) => { + if (item.isoperation != 3 && item.targetoptionid) { + console.log(item, "item"); + item.isoperation = 2; + } else { + } + }); if (valid) { + if (!this.indexform.version) this.indexform.version = "1.0"; if (this.indexform.id != undefined) { this.indexform.isoperation = 2; gettargetInfoedit(this.indexform).then((response) => { @@ -1180,6 +1257,21 @@ } } }); + }, + // 娴嬭瘯琛ㄥ崟 + testtagerlist() { + if (this.indexform.content) { + let data = this.indexform; + data.targetoptionList = this.testuserList.concat(this.targetoptionList); + testtagerlist(data).then((res) => { + this.$modal.msgSuccess("娴嬭瘯鎴愬姛"); + this.testgovalue = res.msg; + this.getList(); + }); + } else { + this.$modal.msgError("璇峰~鍐欐祴璇曞唴瀹�"); + return; + } }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -1258,7 +1350,7 @@ margin-top: 20px; margin: 20px; padding: 30px; - background: #edf1f7; + background: #fff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); @@ -1350,6 +1442,24 @@ font-size: 20px; cursor: pointer; } +::v-deep .el-tree { + position: relative; + cursor: default; + border-radius: 5px; + background: #eff8fe; + color: #606266; + border: 1px solid #bbe1fa; + // border: 1px solid #dcdfe6; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), + 0 0 6px 0 rgba(0, 0, 0, 0.04); +} +::v-deep + .el-tree--highlight-current + .el-tree-node.is-current + > .el-tree-node__content { + background-color: #7799fb; + color: #fff; +} ::v-deep .el-button--mini.is-circle { padding: 7px; margin: 0; -- Gitblit v1.9.3