From 8f4cb950a38f4e2c24ec96916d2aad0eb8c9aa9d Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 07 四月 2024 10:17:52 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/measurement.vue | 298 ++++++++++++++++++ src/views/repositoryai/general/index.vue | 20 - src/websocket/websocket.js | 8 src/views/repositoryai/templateku/configurat/index.vue | 244 ++++++-------- src/views/shortmessage/communication/index.vue | 2 src/components/Regular/index.vue | 25 src/views/repositoryai/general/particulars/index.vue | 322 ++++++++++++------- src/store/getters.js | 19 + 8 files changed, 642 insertions(+), 296 deletions(-) diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue index a1b49cb..5f23dca 100644 --- a/src/components/Regular/index.vue +++ b/src/components/Regular/index.vue @@ -13,7 +13,7 @@ </el-input> </el-form-item ></el-col> <el-col :span="12" - ><el-form-item label="鑺傜偣ID"> + ><el-form-item label="閫夐」鑺傜偣"> <el-input type="text" placeholder="璇疯緭鍏ヨ妭鐐�" @@ -36,11 +36,11 @@ </el-input> </el-form-item ></el-col> <el-col :span="12" - ><el-form-item label="閫変腑璺宠浆(缂�)"> + ><el-form-item label="閫変腑璺宠浆"> <el-input type="text" placeholder="璇疯緭鍏ラ鐩妭鐐�" - v-model="item.jump" + v-model="item.nextQuestion" show-word-limit > </el-input> </el-form-item @@ -55,7 +55,7 @@ closable effect="dark" :disable-transitions="false" - @close="handleClosecrux(crux, item)" + @close="handleClosecrux(crux, item, 1)" > {{ crux }} </el-tag> @@ -97,7 +97,7 @@ closable effect="dark" :disable-transitions="false" - @close="handleClosecrux(crux, item)" + @close="handleClosecrux(crux, item, 2)" > {{ crux }} </el-tag> @@ -223,9 +223,6 @@ created() { this.regular = store.getters.regular; this.noregular = store.getters.noregular; - - - }, methods: { @@ -275,11 +272,15 @@ ); }, - handleClosecrux(crux, item) { - if (this.whether == 1) { - this.dynamiccruxs.splice(this.dynamiccruxs.indexOf(crux), 1); + handleClosecrux(crux, item, whether) { + if (whether == 1) { + item.dynamiccruxs.splice(item.dynamiccruxs.indexOf(crux), 1); + console.log(1); + console.log(item.dynamiccruxs); + console.log(item.nodynamiccruxs); } else { - this.nodynamiccruxs.splice(this.nodynamiccruxs.indexOf(crux), 1); + console.log(2); + item.nodynamiccruxs.splice(item.nodynamiccruxs.indexOf(crux), 1); } this.generateRegex(item); }, diff --git a/src/store/getters.js b/src/store/getters.js index 848d72a..0325af3 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -91,6 +91,25 @@ }, }, ], + // 鏄惁鍙敤锛堟暟锛� + usablesz: (state) => [ + { + value: 0, + label: "鍚敤", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: 1, + label: "鍋滅敤", + raw: { + cssClass: "", + listClass: "", + }, + }, + ], // 鏄惁蹇呭~ required: (state) => [ { diff --git a/src/views/repositoryai/general/index.vue b/src/views/repositoryai/general/index.vue index fb99d10..4ac4ee1 100644 --- a/src/views/repositoryai/general/index.vue +++ b/src/views/repositoryai/general/index.vue @@ -536,23 +536,9 @@ }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { - this.reset(); - this.title = "鏂板閫氱敤搴�"; - this.indexform = { - baseTagList: [], - targetoptionList: [], - }; - this.testuserList = [ - { - guid: 1, - isoperation: 1, - targettype: "1", - targetvalue: "", - targetregex: "", - }, - ]; - this.indexopen = true; - this.measurement = false; + this.$router.push({ + path: "/knowledge/general/particulars/", + }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { diff --git a/src/views/repositoryai/general/particulars/index.vue b/src/views/repositoryai/general/particulars/index.vue index a5f229d..63f1374 100644 --- a/src/views/repositoryai/general/particulars/index.vue +++ b/src/views/repositoryai/general/particulars/index.vue @@ -1,20 +1,63 @@ <template> <div> <el-card style="margin: 20px" class="box-card"> + <el-form + :model="baseForm" + :rules="bases" + ref="baseForm" + label-width="100px" + class="demo-baseForm" + > + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="妯$増鍚嶇О" prop="extName"> + <el-input + v-model="baseForm.extName" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="妯$増鍒嗙被" prop="groupID"> + <el-select v-model="baseForm.groupID" placeholder="璇烽�夋嫨鍒嗙被"> + <el-option + v-for="item in deptOptions" + :key="item.intertcatid" + :label="item.categoryname" + :value="item.intertcatid" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="妯$増姒傝堪" prop="name"> + <el-input + v-model="baseForm.note" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鏄惁鍙敤" prop="resource"> + <el-select v-model="baseForm.isEnable" placeholder="璇烽�夋嫨鐘舵��"> + <el-option + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + </el-form> <div class="elcardiv"> <div class="leftvlue-jbxx">璇濇湳鍒楄〃</div> <el-divider></el-divider> <el-table :data="targetList" :row-class-name="tableRowClassName"> <el-table-column label="搴忓彿" align="center" key="id" prop="id" /> - <el-table-column - label="闂涓婚锛堢己锛�" - align="center" - key="extName" - prop="extName" - width="200" - :show-overflow-tooltip="true" - /> + <el-table-column label="闂鏂囨湰" align="center" @@ -24,41 +67,15 @@ :show-overflow-tooltip="true" > </el-table-column> - <el-table-column - label="鍥炲璇煶锛堢己锛�" - align="center" - key="switchTexty" - width="200" - prop="switchTexty" - :show-overflow-tooltip="true" - > - </el-table-column> - <el-table-column - label="閫傜敤鏂瑰紡锛堢己锛�" - align="center" - key="suitWay" - prop="suitWay" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.suitWay">{{ item }}</span> - </template> - </el-table-column> <el-table-column - label="璇█锛堢己锛�" - align="center" - key="language" - prop="language" - width="120" - /> - <el-table-column - label="鏄惁鍙敤锛堟敼锛�" + label="鏄惁鍙敤" align="center" key="isEnable" prop="isEnable" > <template slot-scope="scope"> - <dict-tag :options="usable" :value="scope.row.isEnable" /> + <span>{{ scope.row.isEnable == 1 ? "鍋滅敤" : "鍚敤" }}</span> </template> </el-table-column> <el-table-column @@ -81,8 +98,7 @@ <el-button size="medium" type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" + @click="handleUpdate(scope.row, scope.$index)" ><span class="button-textxg" ><i class="el-icon-edit"></i>淇敼</span ></el-button @@ -92,7 +108,6 @@ 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 @@ -110,44 +125,17 @@ <div style="margin: 15px; margin-top: 50px"> <div class="leftvlue-jbxx">璇濇湳缂栬緫</div> <el-divider></el-divider> + + <el-form-item label="璇濇湳鏂囨湰" prop="name"> + <el-input + v-model="ruleForm.switchText" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> <el-row :gutter="20"> <el-col :span="12"> - <el-form-item label="妯$増鍚嶇О" prop="name"> - <el-input - v-model="ruleForm.name" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="妯$増鍒嗙被" prop="resource"> - <el-select - v-model="ruleForm.groupID" - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - v-for="item in deptOptions" - :key="item.intertcatid" - :label="item.categoryname" - :value="item.intertcatid" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="闂涓婚" prop="name"> - <el-input - v-model="ruleForm.name" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鏄惁鍙敤" prop="resource"> - <el-select - v-model="ruleForm.assortid" - placeholder="璇烽�夋嫨鐘舵��" - > + <el-form-item label="鏄惁鍚敤" prop="resource"> + <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> <el-option v-for="item in usable" :key="item.value" @@ -157,30 +145,11 @@ </el-option> </el-select> </el-form-item ></el-col> - </el-row> - - <el-form-item label="闂鏂囨湰" prop="name"> - <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - <el-row :gutter="20"> <el-col :span="12"> - <el-form-item label="璇█" prop="resource"> - <el-select v-model="ruleForm.language" placeholder="璇烽�夋嫨"> + <el-form-item label="鏄惁涓虹粨鏉熻" prop="resource"> + <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> <el-option - v-for="item in languagelist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閫傜敤鏂瑰紡" prop="resource"> - <el-select v-model="ruleForm.mode" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in mode" + v-for="item in usablend" :key="item.value" :label="item.label" :value="item.value" @@ -207,14 +176,28 @@ <el-input type="textarea" placeholder="璇疯緭鍏ュ尮閰嶆鍒�" - v-model="ruleForm.desc" + v-model="ruleForm.selfRegex" ></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button + >淇濆瓨妯$増</el-button > - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + <el-button + v-if="ruleForm.id" + type="primary" + plain + @click="modification('edit')" + >淇濆瓨璇濇湳</el-button + > + <el-button + v-else + type="success" + plain + @click="modification('add')" + >鏂板璇濇湳</el-button + > + <el-button @click="resetForm('ruleForm')">鍏抽棴</el-button> </el-form-item> </div> </el-form> @@ -229,6 +212,8 @@ editgeneravaluel, addgeneravaluel, getgeneravaluelinfo, + addgeneral, + editgeneral, getgeneralinfo, getgeneralclassify, delgeneravaluelinfo, @@ -240,47 +225,62 @@ loading: false, id: null, usable: [], + index: "", languagelist: [], - deptOptions:[], + deptOptions: [], mode: [], - pitchon: "杩樺ソ鍚�", - targetList: [{ switchText: "杩樺ソ鍚�" }, { switchText: "杩樹笉閿�" }], + pitchon: "", + targetList: [], fileList: [ { name: "food.jpeg", url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, ], - ruleForm: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "*(浜簗鎵搢鐝晩|鍞旂郴鐪熶汉(杈箌鍜絴鍜�)*(鍗曚綅|鍦版柟鍖婚櫌|涓績|鍗敓|璁憳|鏈嶅姟)", + usablend: [ + { + value: 0, + label: "闈炵粨鏉熻", + }, + { + value: 1, + label: "缁撴潫璇�", + }, + ], + ruleForm: {}, + baseForm: { + extName: "", }, rules: {}, + bases: {}, }; }, created() { + this.id = this.$route.query.id; this.getList(); - this.usable = store.getters.usable; + this.usable = store.getters.usablesz; this.languagelist = store.getters.languagelist; this.mode = store.getters.mode; }, methods: { getList() { - this.loading = true; - this.id = this.$route.query.id; - getgeneralinfo({ pid: this.id }).then((res) => { - this.targetList = res.rows; - console.log(this.targetList); - this.loading = false; - }); + if (this.id) { + this.$modal.loading("璇风◢鍊�..."); + getgeneralinfo(this.id).then((res) => { + if (res.code == 200) { + this.baseForm = res.data; + } + this.$modal.closeLoading(); + }); + getgeneravaluellist({ extID: this.id }).then((res) => { + if (res.code == 200) { + this.targetList = res.rows; + } + this.$modal.closeLoading(); + }); + } getgeneralclassify({}).then((res) => { this.deptOptions = res.rows; console.log(res); @@ -289,11 +289,86 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() {}, /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { + handleUpdate(row, index) { this.pitchon = row.switchText; + this.ruleForm = row; + this.index = index; }, - submitForm() {}, - resetForm() {}, + // 鍒犻櫎 + handleDelete(item) { + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ瘽鏈」锛�") + .then((res) => { + if (item.id) { + delgeneravaluelinfo(item.id).then((res) => { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }); + } + this.targetList = this.targetList.filter((obj) => obj !== item); + }) + .catch(() => {}); + }, + // 淇濆瓨涓昏〃 + submitForm() { + if (this.baseForm.id) { + editgeneral(this.baseForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.savetalk(); + } + }); + } else { + addgeneral(this.baseForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.baseForm.id = res.data.id; + this.id = res.data.id; + this.savetalk(); + } + }); + } + }, + // 淇濆瓨璇濇湳 + savetalk() { + this.targetList.forEach((obj) => { + if (obj.id) { + editgeneravaluel(obj).then((res) => { + this.getList(); + }); + } else { + obj.extID = this.baseForm.id; + addgeneravaluel(obj).then((res) => { + this.getList(); + }); + } + }); + }, + modification(type) { + if (type == "add") { + console.log(this.ruleForm, "ruleForm"); + this.targetList.push(this.ruleForm); + } else { + this.targetList[this.index] = this.ruleForm; + } + this.ruleForm = {}; + }, + // 鍏抽棴 + resetForm() { + this.$confirm("鍗冲皢閫�鍑洪〉闈�, 璇风‘璁ゆ暟鎹槸鍚︿繚瀛�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.$router.go(-1); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑�", + }); + }); + }, // 鏂囦欢---------------------- // 鎺у埗鏂囦欢 handleChange(file, fileList) { @@ -309,7 +384,6 @@ }, tableRowClassName({ row, rowIndex }) { if (row.switchText == this.pitchon) { - console.log(123); return "warning-row"; } return ""; diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index c074384..8783cfb 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -86,9 +86,10 @@ </div> </el-form-item> <el-row :gutter="20"> - <el-col :span="10"> + <el-col :span="12"> <el-form-item label="鐗堟湰鍙�" prop="version"> <el-input + style="width: 220px" v-model="ruleForm.version" placeholder="榛樿1.0.1" ></el-input> </el-form-item @@ -113,7 +114,7 @@ </el-row> <el-row :gutter="20"> - <el-col :span="10"> + <el-col :span="12"> <el-form-item label="璇█" prop="name"> <el-select v-model="ruleForm.language" @@ -254,6 +255,7 @@ </el-form-item> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select + style="width: 500px" v-model="ruleForm.campus" size="medium" multiple @@ -272,6 +274,7 @@ </el-form-item> <el-form-item label="閫傜敤绉戝" prop="region"> <el-cascader + style="width: 500px" v-model="tempDetpRelevanceslist" :options="deptList" :props="props" @@ -296,63 +299,46 @@ <el-option class="ruleFormaa" v-for="item in generallist" - :key="item.value" - :label="item.label" - :value="item.value" + :key="item.id" + :label="item.extName" + :value="item.id" > </el-option> </el-select> </el-form-item> <el-row :gutter="20"> <el-col :span="8"> - <el-form-item label="闅忚鍓嶅鐞嗭紙鏄惁闇�瑕侊級" prop="name"> - <el-select - v-model="ruleForm.prefollowup" - size="medium" - filterable - placeholder="璇烽�夋嫨" - > - <el-option - class="ruleFormaa" - v-for="item in prefollowuplist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item + <el-form-item label="闅忚鍓嶅鐞�" prop="name"> + <el-input + v-model="ruleForm.revisitBefore" + ></el-input></el-form-item ></el-col> <el-col :span="9"> - <el-form-item label="闅忚鍚庡鐞嗭紙鏄惁闇�瑕侊級" prop="region"> - <el-select - v-model="ruleForm.postfollowup" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in postfollowuplist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item + <el-form-item label="闅忚鍚庡鐞�" prop="region"> + <el-input + v-model="ruleForm.revisitAfter" + ></el-input> </el-form-item ></el-col> </el-row> <el-row :gutter="20"> - <el-col :span="10"> + <el-col :span="8"> <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> <div style="width: 40%"> <el-input v-model="ruleForm.silencetime" ></el-input></div></el-form-item ></el-col> - <el-col :span="10"> + <el-col :span="8"> + <el-form-item label="闈欓粯娆℃暟" prop="name"> + <div style="width: 40%"> + <el-input + v-model="ruleForm.noVoiceNum" + ></el-input></div></el-form-item + ></el-col> + <el-col :span="8"> <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> <div style="width: 40%"> - <el-input v-model="ruleForm.name"></el-input> + <el-input v-model="ruleForm.mateNum"></el-input> </div> </el-form-item ></el-col> </el-row> @@ -390,8 +376,8 @@ <el-table-column label="缂栧彿" align="center" - key="guid" - prop="guid" + key="targetid" + prop="targetid" /> <el-table-column label="鏍囬" @@ -466,6 +452,13 @@ :disabled="true" ></el-input> </el-form-item> + <el-form-item label="闂鑺傜偣"> + <el-input + v-model="topicobj.targetid" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + :disabled="true" + ></el-input> + </el-form-item> <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="鏄惁蹇呭~"> @@ -509,90 +502,7 @@ > </div> </div> - <!-- <div - class="topicxq" - v-for="item in topicobj.ivrLibaScriptTargetoptionList" - > - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="閫夐」鍚�"> - <el-input - type="text" - placeholder="璇疯緭鍏�" - v-model="item.targetvalue" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="鑺傜偣ID"> - <el-input - type="text" - placeholder="璇疯緭鍏ヨ妭鐐�" - v-model="item.targetid" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="item.text" - maxlength="10" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="閫変腑璺宠浆(缂�)"> - <el-input - type="text" - placeholder="璇疯緭鍏ラ鐩妭鐐�" - v-model="item.jump" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-form-item label="鍖归厤姝e垯"> - <el-input - style="width: 24vw" - type="textarea" - placeholder="璇疯緭鍏ラ鍙�" - v-model="item.targetregex" - show-word-limit - > - </el-input> - </el-form-item> - <el-row :gutter="10"> - <el-col :span="16"> - <el-form-item label="璇煶鏂囦欢"> - <el-upload - class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item></el-col - > - <el-col :span="8"> - <div style="text-align: right; padding-right: 10px"> - <el-button type="danger" @click="" round>鍒犻櫎</el-button> - </div> - </el-col> - </el-row> - </div> --> + <Regular :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" @deloption="deloption" @@ -756,13 +666,17 @@ </div> <!-- 闅忚妯$増棰勮 --> <div v-if="Editprogress == 3"> - <div class="leftvlue-jbxx">闅忚妯$増棰勮</div> + <div class="leftvlue-jbxx">闅忚妯$増闂棰勮</div> <el-divider></el-divider> <div class="preview-left"> <!-- 鍗曢�� --> - <div class="topic-dev" v-for="(item,index) in valssu" :key="item.aaa"> + <div + class="topic-dev" + v-for="(item, index) in valssu" + :key="item.aaa" + > <div class="dev-text"> - {{ index+1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span> + {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span> </div> <div class="dev-xx"> <el-radio-group v-model="radio"> @@ -776,9 +690,13 @@ </div> </div> <!-- 澶氶�� --> - <div class="topic-dev" v-for="(item,index) in valssu" :key="item.aaa"> + <div + class="topic-dev" + v-for="(item, index) in valssu" + :key="item.aaa" + > <div class="dev-text"> - {{ index+1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span> + {{ index + 1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span> </div> <div class="dev-xx"> <el-checkbox-group v-model="radios"> @@ -803,9 +721,9 @@ </div> </div> --> </div> - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button type="warning">瀵煎嚭涓簆df</el-button> <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> + <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> </div> </div> <!-- 娣诲姞棰樼洰寮圭獥 --> @@ -903,6 +821,7 @@ getillnesslist, illnesslistget, getillness, + getgenerallist, } from "@/api/AiCentre/index"; export default { @@ -988,7 +907,7 @@ sdadd: ["sss", "ssccss", "ssaas", "ss"], }, ], - radio:'', + radio: "", addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 userList: [ @@ -1039,6 +958,7 @@ }, methods: { + //鍏叡鏂规硶-------------------- getIndexInArray(arr, obj) { return arr.indexOf(obj); }, @@ -1051,11 +971,17 @@ getvFollowup({ id: this.id }).then((res) => { this.ruleForm = res.data; + this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); this.ruleForm.suitway = this.ruleForm.suitway.split(","); this.ruleForm.campus = this.ruleForm.campus.split(","); this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { + return Number(res); + }); + console.log(this.ruleForm.submoduleID, "this.ruleForm.submoduleID鍙�"); this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( this.processElement ); @@ -1080,8 +1006,15 @@ getFollowupclassify({}).then((res) => { this.indexAssortlist = res.rows; }); + getgenerallist({ + pageNum: 1, + pageSize: 100, + }).then((res) => { + this.generallist = res.rows; + }); // 鐤剧梾鍒� }, + // submitForm(formName) { if (this.ruleForm.id) { this.ruleForm.isoperation = 2; @@ -1094,6 +1027,19 @@ this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); // 鎻愪氦 + this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => { + if (!res.isoperation) { + res.isoperation = 2; + } + res.ivrLibaScriptTargetoptionList = + res.ivrLibaScriptTargetoptionList.map((item) => { + if (!item.isoperation) { + item.isoperation = 2; + item.templateID = this.ruleForm.id; + } + return item; + }); + }); this.illnesslist.forEach((item, index) => { if (!item.id) { @@ -1289,11 +1235,11 @@ this.topicobj = row; } else { getverbaltrick({ id: row.id }).then((res) => { - if (res.code==200) { + if (res.code == 200) { this.topicobj = res.data; console.log(res.data, "topicobj"); - }else{ - console.log('娌℃壘鍒�'); + } else { + console.log("娌℃壘鍒�"); } }); } @@ -1322,11 +1268,19 @@ this.ruleForm.ivrLibaTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� this.sortFn(); }, + // 闂鎺掑簭 sortFn() { this.ruleForm.ivrLibaTemplateScriptVOList = this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => { - return Object.assign({}, item, { guid: (index + 1).toString() }); + return Object.assign({}, item, { targetid: (index + 1).toString() }); }); + this.ruleForm.ivrLibaTemplateScriptVOList.forEach((question, index) => { + question.ivrLibaScriptTargetoptionList = + question.ivrLibaScriptTargetoptionList.map((option) => { + option.nextQuestion = Number(question.targetid) + 1; + return option; + }); + }); console.log(this.ruleForm.ivrLibaTemplateScriptVOList); }, // -----------------------璇濇湳閫夐」 @@ -1387,9 +1341,21 @@ // 棰勮--------------- preview() { console.log(this.ruleForm); - this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList + this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList; this.Editprogress = 3; }, + // 鍓嶅線娴嬭瘯 + measurement() { + this.$modal + .confirm("鍗冲皢鍓嶅線妯$増娴嬭瘯椤甸潰锛岃纭妯$増鏁版嵁宸蹭繚瀛樸��") + .then((res) => { + this.$router.push({ + path: "/knowledge/templateku/configurat/measurement", + query: { id: this.id, name: this.ruleForm.templateName }, + }); + }) + .catch(() => {}); + }, }, }; </script> diff --git a/src/views/repositoryai/templateku/configurat/measurement.vue b/src/views/repositoryai/templateku/configurat/measurement.vue new file mode 100644 index 0000000..491059f --- /dev/null +++ b/src/views/repositoryai/templateku/configurat/measurement.vue @@ -0,0 +1,298 @@ +<template> + <!-- 鑱婅繛椤甸潰璁板綍 --> + <div class="Followupdetailspage"> + <div> + <el-card class="box-card"> + <div slot="header" class="clearfix"> + <span>{{ TemplateName }}</span> + <el-button + style="float: right; padding: 3px 0; color: red" + type="text" + @click="$router.go(-1)" + >閫�鍑烘祴璇�</el-button + > + <el-button + style="float: right; padding: 3px 0; margin-right: 10px" + type="text" + @click="drawer = true" + >鏌ョ湅鍖归厤缁撴灉</el-button + > + </div> + <div class="borderdiv"> + <div v-for="item in Answerline"> + <div class="leftside" v-if="item.isEat == 1"> + <i class="el-icon-phone-outline"></i><span>{{ item.value }}</span> + </div> + <div class="offside" v-else-if="item.isEat == 2"> + <i class="el-icon-user"></i> + <div class="offside-value"> + <el-input :disabled="true" v-model="item.value"></el-input> + </div> + </div> + <div class="offside" v-else-if="item.isEat == 3"> + <i class="el-icon-user"></i> + <div class="offside-value"> + <el-input v-model="item.value"></el-input> + <el-radio v-model="radio" label="1">澶囬�夐」</el-radio> + <el-radio v-model="radio" label="2">澶囬�夐」2</el-radio> + <el-radio v-model="radio" label="3">澶囬�夐」3</el-radio> + <el-radio v-model="radio" label="4">澶囬�夐」4</el-radio> + </div> + </div> + </div> + </div> + <div style="margin-top: 15px"> + <el-input + placeholder="璇疯緭鍏ュ唴瀹�" + @keyup.enter.native="sendFn" + v-model="answer" + > + <el-button + style="background-color: #7799fa; color: #ffff; border: 0" + @click="sendFn" + slot="append" + type="primary" + >鍙戦��</el-button + > + </el-input> + </div> + </el-card> + <el-drawer title="鍖归厤缁撴灉" :visible.sync="drawer" direction="rtl"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div + class="topic-dev" + v-for="(item, index) in questionList" + :key="item.aaa" + > + <div class="dev-text"> + {{ index + 1 }}銆�<span>{{ item.questionText }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="item.radio"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="items.id" + :label="items.id" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> + </div> + </div> + </el-drawer> + </div> + </div> +</template> + +<script> +import { + sendWebsocket, + websocketSend, + closeWebsocket, +} from "@/websocket/websocket.js"; +export default { + data() { + return { + answer: "", //鍥炵瓟 + id: null, + TemplateName: "闅忚妯$増鍚嶇О", //妯$増鍚� + radio: "1", + userid: "", + input: "杩樹笉閿�", + drawer: false, + radio: "2", + code: "", + Answerline: [], + questionList: [], + }; + }, + + created() { + this.TemplateName = this.$route.query.name; + this.requstWs(); //杩涘叆椤甸潰鍒涘缓杩炴帴 + }, + + methods: { + // 寤虹珛杩炴帴 + requstWs(message, next, file) { + console.log("杩炴帴"); + this.id = this.$route.query.id; + // 闃叉鐢ㄦ埛澶氭杩炵画鐐瑰嚮鍙戣捣璇锋眰锛屾墍浠ヨ鍏堝叧闂笂娆$殑ws璇锋眰銆� + closeWebsocket(); + console.log(this.id); + const obj = { + type: "text", + userId: "1", + templateId: this.id, + content: null, + }; + // 鍙戣捣ws璇锋眰 + sendWebsocket( + "ws://localhost:8089/chat?userId=1", + obj, + this.wsMessage, + this.wsError + ); + }, + // 鎺ユ敹ws杩斿洖鐨勬暟鎹� + wsMessage(data) { + let dataJson = data; + dataJson = JSON.parse(dataJson); + dataJson = JSON.parse(dataJson); + console.log(dataJson, "鏁版嵁"); + if (!this.Answerline[0]) { + this.Answerline.push({ + value: dataJson.kcb, + isEat: 1, + }); + } + this.Answerline.push({ + value: dataJson.nowQuestion.questionText, + isEat: 1, + }); + this.questionList = dataJson.questionList; + this.questionList = this.questionList.map((item) => { + item.ivrLibaScriptTargetoptionList.forEach((row) => { + if (row.isUserOperation) { + item.radio = row.id; + } + }); + return item; + }); + + // IMUI.appendMessage(data); + }, + //ws閿欒鍥炶皟 + wsError(data) { + console.log(data); + }, + + sendFn() { + // 娑堟伅鍙戦�� + const obj = { + type: "text", + userId: "1", + templateId: "", + questionMessage: { content: this.answer }, + }; + console.log(obj, "鍏ュ弬"); + // 鍙戣捣ws璇锋眰 + sendWebsocket( + "ws://localhost:8089/chat?userId=1", + obj, + this.wsMessage, + this.wsError + ); + this.Answerline.push({ + value: this.answer, + isEat: 2, + }); + this.answer = ""; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.Followupdetailspage { + margin: 10px; +} +.Followuserinfo { + margin: 20px 10px; + align-items: center; + padding: 30px; + background: #ffff; + 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); + .userinfo-text { + font-size: 20px; + margin-right: 20px; + margin-bottom: 10px; + } + .userinfo-value { + color: rgb(15, 139, 211); + span { + margin-right: 20px; + } + } +} +.borderdiv { + min-height: 60vh; + font-size: 20px; + padding: 30px; + max-height: 700px; + overflow: auto; + .leftside { + margin-bottom: 30px; + span { + width: 400px; + margin-left: 20px; + padding: 10px; + color: #fff; + background: rgb(110, 196, 247); + border-radius: 10px; + } + } + .offside { + display: flex; + flex-direction: row-reverse; + margin-bottom: 10px; + .offside-value { + padding: 10px; + background: rgb(217, 173, 253); + border-radius: 10px; + color: #fff; + margin-right: 20px; + } + } +} +.preview-left { + margin: 20px; + // margin: 20px; + padding: 30px; + background: #ffff; + 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); + .topic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} +::v-deep.offside-value .el-radio__label { + color: #fff; +} +::v-deep.el-input.is-disabled .el-input__inner { + background-color: #fff; + border-color: #dfe4ed; + color: #000; + cursor: not-allowed; +} +.mulsz { + font-size: 25px; + margin-top: 20px; +} +.text { + font-size: 14px; +} + +.item { + margin-bottom: 18px; +} +.clearfix { + font-size: 20px; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} +</style> diff --git a/src/views/shortmessage/communication/index.vue b/src/views/shortmessage/communication/index.vue index 5cfb0ff..bbfa8a8 100644 --- a/src/views/shortmessage/communication/index.vue +++ b/src/views/shortmessage/communication/index.vue @@ -660,7 +660,7 @@ }; // 鍙戣捣ws璇锋眰 sendWebsocket( - "ws://192.168.1.4:8080/chat?userId=2", + "ws://localhost:8089/chat?userId=1", obj, this.wsMessage, this.wsError diff --git a/src/websocket/websocket.js b/src/websocket/websocket.js index a7e337b..ae54567 100644 --- a/src/websocket/websocket.js +++ b/src/websocket/websocket.js @@ -22,8 +22,9 @@ // 娣诲姞鐘舵�佸垽鏂紝褰撲负OPEN鏃讹紝鍙戦�佹秷鎭� if (websock.readyState === websock.OPEN) { // websock.OPEN = 1 // 鍙戠粰鍚庣鐨勬暟鎹渶瑕佸瓧绗︿覆鍖� - websock.send(agentData) + websock.send(JSON.stringify(agentData)) console.log('杩炴帴鎴愬姛'); + } if (websock.readyState === websock.CLOSED) { // websock.CLOSED = 3 console.log('websock.readyState=3') @@ -55,7 +56,7 @@ } // 寤虹珛ws杩炴帴 function websocketOpen (e) { - // console.log('ws杩炴帴鎴愬姛') + console.log('ws杩炴帴鎴愬姛') } // 鍒濆鍖杦eosocket @@ -70,10 +71,11 @@ // const requstWsUrl = wsUrl + '?' + token const requstWsUrl = wsUrl websock = new WebSocket(requstWsUrl) - websock.onmessage = function (e) { + console.log('websocketonMessage'); websocketonmessage(e) } + websock.onopen = function () { websocketOpen() } -- Gitblit v1.9.3