From 6e54a6688661a05de7c418612cea8b38bbc2dee3 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 14 四月 2025 11:28:26 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/intention/index.vue | 411 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 286 insertions(+), 125 deletions(-) diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue index 100dd5b..8e7a41d 100644 --- a/src/views/repositoryai/intention/index.vue +++ b/src/views/repositoryai/intention/index.vue @@ -3,7 +3,7 @@ <!-- 宸︿晶鏍� --> <div class="sidecolumn"> <div class="sidecolumn-top"> - <div class="top-wj">鎸囨爣绫诲瀷</div> + <div class="top-wj">鎸囨爣鍒嗙被</div> <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> </div> <div class="center-ss"> @@ -71,26 +71,24 @@ > <el-form-item label="鎸囨爣鍚嶇О" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.targetname" placeholder="璇疯緭鍏�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鏍囩" prop="sickness"> - <el-select v-model="queryParams.tag" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in dynamicTags" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> + <el-form-item label="鏍囩鍚嶇О" prop="userName"> + <el-input + v-model="queryParams.tagName" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> </el-form-item> - <el-form-item label="閫傜敤鏂瑰紡" prop="shape"> - <el-select v-model="queryParams.value" placeholder="璇烽�夋嫨"> + <el-form-item label="閫傜敤鍦烘櫙" prop="shape"> + <el-select v-model="queryParams.suitWay" placeholder="璇烽�夋嫨"> <el-option v-for="item in mode" :key="item.value" @@ -102,11 +100,11 @@ </el-form-item> <el-form-item label="鎸囨爣绫诲瀷" prop="classify"> <el-select - v-model="queryParams.classifyvalue" + v-model="queryParams.scriptType" placeholder="璇烽�夋嫨" > <el-option - v-for="(item, index) in qyoptions" + v-for="(item, index) in askvaluetype" :key="item.value" :label="item.label" :value="item.value" @@ -114,13 +112,13 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鍙敤鐘舵��" prop="classify"> + <el-form-item label="鏄惁鍙敤" prop="classify"> <el-select - v-model="queryParams.classifyvalue" + v-model="queryParams.isAvailable" placeholder="璇烽�夋嫨" > <el-option - v-for="(item, index) in qyoptions" + v-for="(item, index) in usable" :key="item.value" :label="item.label" :value="item.value" @@ -154,7 +152,7 @@ icon="el-icon-plus" size="medium" @click="handleAdd" - v-hasPermi="['system:user:add']" + >鏂板</el-button > </el-col> @@ -167,7 +165,7 @@ size="medium" :disabled="multiple" @click="handleDelete" - v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button > </el-col> @@ -181,16 +179,32 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" + /> --> + <el-table-column + label="鎸囨爣鍚嶇О" + fixed + align="center" + key="targetname" + prop="targetname" + :show-overflow-tooltip="true" + > + </el-table-column> + <el-table-column + label="鎸囨爣鎻忚堪" + align="center" + key="targetdesc" + prop="targetdesc" + :show-overflow-tooltip="true" + width="200" /> <el-table-column - label="缁撴灉绫诲瀷" - fixed + label="鎸囨爣绫诲瀷" align="center" key="valueType" prop="valueType" @@ -203,16 +217,9 @@ /> </template> </el-table-column> - <el-table-column - label="鎸囨爣鍚嶇О" - align="center" - key="targetname" - prop="targetname" - :show-overflow-tooltip="true" - > - </el-table-column> - <el-table-column + + <!-- <el-table-column label="姝e父鍊艰寖鍥�" align="center" key="warndown" @@ -222,15 +229,9 @@ <template slot-scope="scope"> <span>{{ scope.row.warnup }}~{{ scope.row.warndown }}</span> </template> - </el-table-column> - <el-table-column - label="鎸囨爣鎻忚堪" - align="center" - key="targetdesc" - prop="targetdesc" - width="200" - /><el-table-column - label="閫傜敤鏂瑰紡" + </el-table-column> --> + <el-table-column + label="閫傜敤鍦烘櫙" align="center" key="suitWayList" prop="suitWayList" @@ -252,7 +253,7 @@ size="medium" type="text" @click="illnessUpdate(scope.row)" - v-hasPermi="['system:user:edit']" + ><span class="button-textxg" ><i class="el-icon-date"></i>璇︽儏</span ></el-button @@ -273,10 +274,7 @@ prop="isAvailable" > <template slot-scope="scope"> - <dict-tag - :options="qyoptions" - :value="scope.row.isAvailable" - /> + <dict-tag :options="usable" :value="scope.row.isAvailable" /> </template> </el-table-column> @@ -292,12 +290,12 @@ size="medium" type="text" @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" + ><span class="button-textxg" ><i class="el-icon-edit"></i>淇敼</span ></el-button > - <el-button + <!-- <el-button size="medium" type="text" @click="handlemeasurement(scope.row)" @@ -305,12 +303,12 @@ ><span class="button-textcs" ><i class="el-icon-help"></i>娴嬭瘯</span ></el-button - > + > --> <el-button size="medium" type="text" @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" + ><span class="button-textsc" ><i class="el-icon-delete"></i>鍒犻櫎</span ></el-button @@ -343,31 +341,24 @@ :rules="rules" label-width="100px" > + <div class="headline"> + <div class="basics">鍩虹淇℃伅</div> + </div> + <el-divider></el-divider> <el-row v-if="!measurement"> <el-col :span="12"> <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> <el-input v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囩绫�" + placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" maxlength="40" /> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鐗堟湰鍙�" prop="deptId"> - <el-input - v-model="indexform.version" - placeholder="榛樿1.0" - maxlength="40" - /> - </el-form-item> - </el-col> - </el-row> - <!-- deptOptions --> - <el-row v-if="!measurement"> - <el-col :span="8"> <el-form-item label="鎸囨爣鍒嗙被" prop="assortid"> <el-select + style="width: 300px;" v-model="indexform.assortid" size="medium" filterable @@ -388,6 +379,31 @@ </el-option-group> </el-select> </el-form-item> + + </el-col> + </el-row> + <el-row v-if="!measurement"> + <el-col :span="24"> + <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc"> + <el-input + v-model="indexform.targetdesc" + placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" + id="targetdesc" + @focus="currentInputId = 'targetdesc'" + maxlength="40" + /> + </el-form-item> </el-col + ></el-row> + <!-- deptOptions --> + <el-row v-if="!measurement"> + <el-col :span="8"> + <el-form-item label="鐗堟湰鍙�" prop="deptId"> + <el-input + v-model="indexform.version" + placeholder="榛樿1.0" + maxlength="40" + /> + </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="璇█" prop="language"> @@ -406,31 +422,23 @@ </el-col> <el-col :span="8"> <el-form-item label="鏄惁鍙敤" prop="isAvailable"> - <el-select - v-model="indexform.isAvailable" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="index in qyoptions" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> + <el-radio-group v-model="indexform.isAvailable"> + <el-radio + v-for="(item, index) in usable" + :label="item.value" + >{{ item.label }}</el-radio + > + </el-radio-group> </el-form-item> </el-col> </el-row> - <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - maxlength="40" - /> - </el-form-item> </el-col - ></el-row> - <el-form-item label="鏍囩" prop="desc" v-if="!measurement"> + + <!-- <el-form-item label="鎻掑叆濉┖" prop="scriptContent"> + <div style="display: flex; margin-bottom: 10px"> + <div class="tsgname" @click="tsgnameto">鎻掑叆濉┖</div> + </div> + </el-form-item> --> + <el-form-item label="鏍囩" prop="dynamicTags" v-if="!measurement"> <div class="xinz-inf"> <el-tag :key="tag.tagname" @@ -470,7 +478,19 @@ </el-form-item> <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="鍊肩被鍨�"> + <el-form-item prop="valueType"> + <template #label> + 缁撴灉绫诲瀷 + <el-tooltip + class="item" + effect="light" + content="鏈被鍨嬩负缁撴灉鏀堕泦绫诲瀷锛涢�夐」鐢ㄤ簬鎸囧悜鎬ч鐩鏄惁绛夛紱鏂囨湰閫傜敤澶嶆潅鎯呭喌锛涙暟鍊肩敤浜庢敹闆嗘暟鍊煎瀷鏁版嵁" + placement="top-start" + > + <i class="el-icon-warning-outline"></i> + </el-tooltip> + <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 --> + </template> <el-radio-group v-model="indexform.valueType"> <el-radio :label="1">閫夐」</el-radio> <el-radio :label="2">鏂囨湰</el-radio> @@ -481,11 +501,15 @@ > <el-row v-if="!measurement"> <el-col :span="24"> - <el-form-item label="棰樼洰绫诲瀷"> - <el-radio-group v-model="indexform.scriptType"> + <el-form-item label="閫傜敤棰樺瀷" prop="scriptType"> + <el-radio-group + @input="Changtype" + v-model="indexform.scriptType" + > <el-radio :label="1">鍗曢��</el-radio> <el-radio :label="2">澶氶��</el-radio> - <el-radio :label="3">濉┖</el-radio> + <!-- <el-radio :label="3">濉┖</el-radio> --> + <el-radio :label="4">闂瓟</el-radio> </el-radio-group> </el-form-item> </el-col></el-row @@ -494,46 +518,61 @@ <el-row v-if="!measurement"> <el-col :span="24"> <el-form-item label="閫傜敤鍦烘櫙" prop="suitWayList"> - <el-select - v-model="indexform.suitWayList" - multiple - placeholder="璇烽�夋嫨" - > - <el-option - v-for="index in mode" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> + <el-checkbox-group v-model="indexform.suitWayList"> + <el-checkbox v-for="item in mode" :label="item.value">{{ + item.label + }}</el-checkbox> + </el-checkbox-group> </el-form-item> </el-col> </el-row> - + <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + </div> + <el-divider></el-divider> + </div> <el-card class="box-card" style="margin-bottom: 20px" - v-if="indexform.valueType == 1 || indexform.valueType == 2" + v-if="indexform.scriptType == 1 || indexform.scriptType == 2" > <Regular :TargetoptionList="testuserList" :intent="false" + :hasValue="hasValue" @addoption="addoption" @deloption="deloption" @syioption="syioption" @xiayioption="xiayioption" /> </el-card> - <div v-if="indexform.valueType == 3"> + <!-- <div v-if="indexform.scriptType == 3"> <el-form-item label="鏀堕泦淇℃伅"> - <el-input - type="text" - placeholder="濉叆鏀堕泦淇℃伅" - v-model="indexform.reply" - > - </el-input - ></el-form-item> + <el-card class="box-card"> + <div v-for="item in testuserList" style="margin-bottom: 10px"> + <el-input + type="text" + placeholder="濉叆鏀堕泦淇℃伅" + v-model="indexform.optiondesc" + > + <el-button + slot="append" + @click="deloption(item)" + type="danger" + icon="el-icon-delete" + circle + ></el-button> + <span slot="prepend">{{ "(" + item.orderno + ")" }}</span> + </el-input> + </div> + </el-card> + </el-form-item> + </div> --> + <div class="headline"> + <div class="basics">鎸囨爣娴嬭瘯</div> </div> + <el-divider></el-divider> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="娴嬭瘯杈撳叆" prop="nickName"> @@ -616,7 +655,7 @@ </span> </el-dialog> <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible"> + <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible"> <div style="text-align: center; margin-bottom: 20px"> <el-radio-group v-model="radio"> <el-radio-button label="涓诲垎绫�"></el-radio-button> @@ -696,6 +735,7 @@ showSearch: true, measurement: false, languagelist: [], + usable: [], indexid: null, // 鎬绘潯鏁� total: 0, @@ -707,6 +747,8 @@ radio: "涓诲垎绫�", testvalue: "", testgovalue: "", + creatype: "", //鎸囨爣涓存椂绫诲瀷 + hasValue: true, classifyform: { categoryname: "", }, //绫诲埆琛ㄥ崟 @@ -744,17 +786,17 @@ illnesslist: [], illnesslistapi: [], optionsillness: [], - qyoptions: [], mode: [], optionstag: [], targetoptionList: [], + Temporarytype: "", // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, }, - valuetypelb: [], + askvaluetype: [], // 琛ㄥ崟鏍¢獙 rules: { @@ -765,10 +807,22 @@ { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" }, ], language: [ - { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, message: "璇█涓嶈兘涓虹┖", trigger: "blur" }, ], isAvailable: [ - { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" }, + ], + targetdesc: [ + { required: true, message: "鎸囨爣鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }, + ], + valueType: [ + { required: true, message: "缁撴灉绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }, + ], + scriptType: [ + { required: true, message: "閫傜敤棰樺瀷涓嶈兘涓虹┖", trigger: "blur" }, + ], + suitWayList: [ + { required: true, message: "閫傜敤鍦烘櫙涓嶈兘涓虹┖", trigger: "blur" }, ], }, }; @@ -786,9 +840,10 @@ this.gettabList(); this.getDeptTree(); this.mode = store.getters.mode; + this.askvaluetype = store.getters.askvaluetype; this.valuetypelb = store.getters.valuetypelb; this.languagelist = store.getters.languagelist; - this.qyoptions = store.getters.usable; + this.usable = store.getters.usable; }, methods: { /** 鏌ヨ鎸囨爣鍒楄〃 */ @@ -811,6 +866,10 @@ // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 return arr.indexOf(obj); }, + changeselect(row) { + console.log(row); + this.hasValue = row.includes("2"); + }, //鍒犻櫎鍒嗙被 deletefenlei(row) { if (this.deleteVisible) { @@ -826,7 +885,65 @@ this.deletefenl = row.title; } }, + // 渚挎嵎鏍囩鎻掑叆濉┖ + tsgnameto(row) { + let inputValueArr = ""; + let value = this.testuserList.length + 1; + let el = document.querySelector("#" + this.currentInputId); + //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛� + if (this.currentInputId == "targetdesc") { + inputValueArr = this.indexform.targetdesc.split(""); + } else { + return; + } + //灏嗚緭鍏ユ鍐呭鍒囨垚鏁扮粍锛屾柟渚垮悗缁搷浣� + // inputValueArr = this.inputValue.split(""); + // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級 + let selectLength = el.selectionEnd - el.selectionStart; + // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛� + inputValueArr.splice( + el.selectionStart, + selectLength, + "__" + value + "__" + ); + this.testuserList.push({ + orderno: value, + optiondesc: "", + isoperation: 1, + }); + // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪�� + inputValueArr = inputValueArr.join(""); + + console.log(inputValueArr); + if (this.currentInputId == "targetdesc") { + this.indexform.targetdesc = inputValueArr; + } else { + return; + } + }, + Changtype(item) { + console.log(this.testuserList); + console.log(item, "閫夐」鍙樻洿鐨勫鐞�"); + + if (item == 3 && this.testuserList[0].targetvalue) { + this.$modal + .confirm("鏇存敼绫诲瀷涓哄~绌哄悗閫夐」灏嗘竻绌烘槸鍚︾户缁紵") + .then(() => { + this.testuserList = []; + this.Temporarytype = this.indexform.scriptType; + }) + .catch(() => { + this.indexform.scriptType = this.Temporarytype; + }); + } else if (item == 3) { + this.testuserList = []; + this.Temporarytype = this.indexform.scriptType; + } + { + this.Temporarytype = this.indexform.scriptType; + } + }, // 鐤剧梾----------------------- illnessUpdate(row) { this.illnessVisible = true; @@ -913,7 +1030,7 @@ console.log(this.dynamicTags.indexOf(tag)); const lindex = this.dynamicTags.indexOf(tag); this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.indexform.baseTagList[lindex].isoperation = 3; + this.indexform.ivrLibaTargetTagList[lindex].delFlag = 3; }, handleInputConfirm() { let tagvalue = {}; @@ -935,9 +1052,9 @@ }; } console.log(tagvalue); - this.indexform.baseTagList.push(tagvalue); + this.indexform.ivrLibaTargetTagList.push(tagvalue); this.dynamicTags.push(tagvalue); - console.log(this.indexform.baseTagList); + console.log(this.indexform.ivrLibaTargetTagList); console.log(this.dynamicTags); }); } @@ -954,9 +1071,11 @@ id: this.indexform.id, targettype: this.indexform.targettype, isoperation: 1, + isabnormal: 0, targetvalue: "", targetregex: "", targetregex2: "", + picturePath: "", dynamiccruxs: [], nodynamiccruxs: [], dynamiccruxsJson: "", @@ -975,10 +1094,17 @@ console.log(this.targetoptionList, "aaaa.targetoptionList"); this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� this.sortFn(); + + if (this.indexform.scriptType == 3) { + this.$modal.msgWarning( + "濉┖椤瑰凡鍒犻櫎璇锋墜鍔ㄥ垹闄ら鐩唴瀹逛腑瀵瑰簲鐨勫~绌洪」" + ); + } } else { console.log("鏈壘鍒拌瀵硅薄"); } }, + syioption(row) { const index = this.getIndexInArray(this.testuserList, row); const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� @@ -1008,6 +1134,9 @@ dynamiccruxsJson: item.dynamiccruxsJson, nodynamiccruxsJson: item.nodynamiccruxsJson, targetoptionid: item.targetoptionid, + isabnormal: item.isabnormal, + picturePath: item.picturePath, + optiondesc: item.optiondesc, }; }); console.log(this.testuserList); @@ -1120,7 +1249,7 @@ suitWayList: undefined, id: undefined, targetdesc: undefined, - baseTagList: [], + ivrLibaTargetTagList: [], targetoptionList: [], }; // this.resetForm("indexform"); @@ -1152,8 +1281,9 @@ this.reset(); this.title = "鏂板鎸囨爣"; this.indexform = { - baseTagList: [], + ivrLibaTargetTagList: [], targetoptionList: [], + suitWayList: [], }; this.dynamicTags = []; this.testuserList = [ @@ -1163,6 +1293,8 @@ targetregex: "", targetregex2: "", isoperation: 1, + isabnormal:0, + picturePath: "", dynamiccruxs: [], nodynamiccruxs: [], dynamiccruxsJson: "", @@ -1175,10 +1307,11 @@ /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); - console.log(row); this.title = "鎸囨爣璇︽儏"; this.indexform = {}; this.indexform = row; + this.indexform.scriptType = Number(row.scriptType); + this.Temporarytype = this.indexform.scriptType; if (!row.targetoptionList[0]) { row.targetoptionList = [ { @@ -1187,6 +1320,7 @@ targetregex: "", targetregex2: "", isoperation: 1, + orderno: 1, dynamiccruxs: [], nodynamiccruxs: [], dynamiccruxsJson: "", @@ -1194,7 +1328,7 @@ }, ]; } - this.dynamicTags = row.baseTagList.map(this.processElement); + this.dynamicTags = row.ivrLibaTargetTagList.map(this.processElement); this.testuserList = row.targetoptionList; console.log(this.testuserList, "bbbb"); this.testvalue = ""; @@ -1236,6 +1370,10 @@ } }); if (valid) { + this.indexform.optionDesc = this.testuserList + .filter((item) => item.isoperation != 3) + .map((item) => item.targetvalue) + .join(", "); if (!this.indexform.version) this.indexform.version = "1.0"; if (this.indexform.id != undefined) { this.indexform.isoperation = 2; @@ -1376,6 +1514,29 @@ display: center !important; } } +.tsgname { + width: 90px; + margin-right: 10px; + text-align: center; + cursor: pointer; + height: 40px; + line-height: 40px; + background: #66c18c; + color: #ffff; + font-size: 18px; + border-radius: 5px; +} +.tsgname:hover { + background: #20894d; +} +.headline { + display: flex; + justify-content: space-between; + font-size: 20px; + border-left: 4px solid #41a1be; + padding-left: 5px; + margin: 15px 0; +} .qrcode-dialo { text-align: center; // display: flex; -- Gitblit v1.9.3