From cf9259c2ebee0e82c32864a1ee91d96c403b9099 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 04 二月 2024 13:42:04 +0800 Subject: [PATCH] 指标完成 --- src/views/repositoryai/verbaltrick/particulars/index.vue | 253 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 162 insertions(+), 91 deletions(-) diff --git a/src/views/repositoryai/verbaltrick/particulars/index.vue b/src/views/repositoryai/verbaltrick/particulars/index.vue index 0d3bd1b..3d5189e 100644 --- a/src/views/repositoryai/verbaltrick/particulars/index.vue +++ b/src/views/repositoryai/verbaltrick/particulars/index.vue @@ -2,10 +2,22 @@ <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> <div class="sidecolumn"> - <div style="height: 300px"> - <el-steps direction="vertical" :active="Editprogress"> - <el-step title="闂搴撶紪杈�"></el-step> - <el-step title="闂鎸囨爣缂栬緫"></el-step> + <div> + <el-steps finish-status="success" :active="Editprogress" simple> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 1" + >闂搴撶紪杈�</span + > + </template> + </el-step> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="nextstep" + >闂鎸囨爣缂栬緫</span + > + </template> + </el-step> </el-steps> </div> </div> @@ -44,7 +56,7 @@ placeholder="璇烽�夋嫨鐘舵��" > <el-option - v-for="item in qyoptions" + v-for="item in usable" :key="item.value" :label="item.label" :value="item.value" @@ -60,15 +72,22 @@ <el-form-item label="闂鍒嗙被" prop="status"> <el-select v-model="indexform.assortid" - placeholder="璇烽�夋嫨鐘舵��" + filterable + placeholder="璇烽�夋嫨鍒嗙被" > - <el-option - v-for="item in questionclass" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" + <el-option-group + v-for="group in questionclass" + :key="group.id" + :label="group.indexAssortName" > - </el-option> + <el-option + v-for="item in group.ivrLibaScriptAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> </el-select> </el-form-item> </el-col> @@ -136,49 +155,51 @@ </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.name" - placeholder="璇疯緭鍏ュ彉閲忓悕" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input - v-model="item.value" - placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" - ></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 - v-if="item" - 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-row> - <el-col :span="12"> + <el-col :span="6"> <el-form-item label="浠呴檺闄㈠尯" prop="region"> <el-select - v-model="indexform.courtyard" + v-model="indexform.campus" size="medium" filterable placeholder="璇烽�夋嫨" > <el-option class="indexformaa" - v-for="item in options" + v-for="item in courtyardlist" :key="item.value" :label="item.label" :value="item.value" @@ -187,7 +208,24 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="6"> + <el-form-item label="閫傜敤鏂瑰紡" prop="status"> + <el-select + v-model="indexform.suitway" + multiple + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in mode" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="8"> <el-form-item label="鍏宠仈鎸囨爣" prop="region"> <el-select v-model="indexform.targetid" @@ -196,13 +234,14 @@ reserve-keyword placeholder="璇疯緭鍏ュ叧閿瘝" :remote-method="remoteMethod" + @change="targetchange" :loading="loading" > <el-option v-for="item in targetlist" - :key="item.targetid" + :key="item.id" :label="item.targetname" - :value="item.targetid" + :value="item.id" > </el-option> </el-select> @@ -219,7 +258,7 @@ class="tsgname" @click="tsgnameto(item)" > - {{ item.name }} + {{ item.variatename }} </div> </div> </el-col></el-row @@ -377,8 +416,9 @@ > </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="nextstep">纭� 瀹�</el-button> + <el-button type="primary" @click="nextstep">涓嬩竴姝�</el-button> <el-button @click="closeFm">鍏� 闂�</el-button> + <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button> </div> </div> <!-- 鎸囨爣璁剧疆 --> @@ -415,7 +455,7 @@ </el-col></el-row > - <el-card class="box-card" style="margin-bottom: 20px"> + <!-- <el-card class="box-card" style="margin-bottom: 20px"> <el-table v-loading="loading" :data="indexform.ivrLibaScriptTargetoptionList" @@ -491,7 +531,16 @@ </template> </el-table-column> </el-table> - </el-card> + </el-card> --> + <el-card class="box-card" style="margin-bottom: 20px"> + <Regular + :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" + @addoption="addoption" + @deloption="deloption" + @syioption="syioption" + @xiayioption="xiayioption" + /> + </el-card> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="娴嬭瘯杈撳叆" prop="targetvalue"> @@ -518,7 +567,7 @@ </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="info" @click="closeFm()">鍏抽棴</el-button> - <el-button @click="Saveproblem()">淇濆瓨鎸囨爣鏁版嵁</el-button> + <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button> </div> </div> </div> @@ -536,9 +585,12 @@ gettargetInfolist, gettargetInfo, } from "@/api/AiCentre/index"; +import Regular from "@/components/Regular"; //姝e垯缁勪欢 import store from "@/store"; export default { + name:'Verbalproblem', + components: { Regular }, data() { return { Editprogress: 1, //缂栬緫杩涘害 @@ -556,7 +608,7 @@ mode: [], questionclass: [], currentInputId: "", - + courtyardlist: [], // 鎬绘潯鏁� total: 1, @@ -576,9 +628,13 @@ url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, ], - qyoptions: [], + usable: [], options: [], - variablelist: [], + variablelist: [ + { variatename: "濮撳悕", variate: "${name}", default: 1 }, + { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, + { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, + ], addvalue: "娣诲姞棰樼洰", languagelist: [], //璇█鍒楄〃 @@ -601,7 +657,8 @@ this.mode = store.getters.mode; this.valuetype = store.getters.valuetype; this.languagelist = store.getters.languagelist; - this.qyoptions = store.getters.usable; + this.usable = store.getters.usable; + this.courtyardlist = store.getters.courtyardlist; }, methods: { @@ -610,20 +667,20 @@ let id = this.$route.query.id; getverbaltrick({ id: id }).then((res) => { this.indexform = res.data; + this.indexform.suitway = this.indexform.suitway.split(","); this.indexform.assortid = parseInt(this.indexform.assortid); - this.variablelist = JSON.parse(this.indexform.parameter) - ? JSON.parse(this.indexform.parameter) - : [{ name: "", value: "" }]; + this.variablelist = JSON.parse(this.indexform.otherdata).length + ? JSON.parse(this.indexform.otherdata) + : this.variablelist; this.dynamicTags = this.indexform.ivrLibaScriptTagList.map( this.processElement ); this.targetlist = [ { - targetid: this.indexform.targetid, + id: this.indexform.targetid, targetname: this.indexform.targetname, }, ]; - console.log(this.targetlist); }); // 鏍� getbaltrickclassify({}).then((res) => { @@ -634,12 +691,20 @@ // 淇濆瓨璇︾粏淇℃伅 Saveproblem() { + console.log(this.variablelist); + this.indexform.otherdata = JSON.stringify(this.variablelist); + this.indexform.suitway = this.indexform.suitway.join(","); if (this.indexform.id) { this.indexform.isoperation = 2; - this.indexform.parameter = JSON.stringify(this.variablelist); compileverbaltrick(this.indexform).then((res) => { if (res.code == 200) { this.$modal.msgSuccess("淇敼鎴愬姛"); + this.$router.go(-1); + } else { + this.$message({ + message: "淇敼澶辫触", + type: "error", + }); } }); } else { @@ -647,6 +712,12 @@ compileverbaltrick(this.indexform).then((res) => { if (res.code == 200) { this.$modal.msgSuccess("鏂板鎴愬姛"); + this.$router.go(-1); + } else { + this.$message({ + message: "鏂板澶辫触", + type: "error", + }); } }); } @@ -664,24 +735,34 @@ this.targetlist = []; } }, + targetchange(res) { + console.log(res); + gettargetInfo({ id: res }).then((res) => { + this.indexform.targetname = res.rows[0].targetname; + this.$modal + .confirm('鏄惁娣诲姞"' + this.indexform.targetname + '"鎸囨爣鐨勯�夐」锛�') + .then(() => { + this.indexform.isenable = res.rows[0].isenable; + res.rows[0].targetoptionList.forEach((item) => { + item.isoperation = 1; + this.indexform.ivrLibaScriptTargetoptionList.push(item); + }); + }) + .catch(() => { + this.$modal.msgSuccess("宸插彇娑�"); + }); + }); + }, // 涓嬩竴姝� nextstep() { - if (this.Editprogress <= 1 && this.indexform.targetid) { - if (this.indexform.ivrLibaScriptTargetoptionList.length) { + if (this.Editprogress <= 1) { + if (this.indexform.targetid) { return this.Editprogress++; + } else { + this.$message.warning("璇峰厛閫夋嫨鍏宠仈鎸囨爣"); } - gettargetInfo({ targetid: this.indexform.targetid }).then((res) => { - this.indexform.isenable = res.rows[0].isenable; - this.indexform.targetname = res.rows[0].targetname; - res.rows[0].targetoptionList.forEach((item) => { - item.isoperation = 1; - this.indexform.ivrLibaScriptTargetoptionList.push(item); - }); - }); - return this.Editprogress++; } else { - this.$message.warning("璇峰厛閫夋嫨鍏宠仈鎸囨爣"); } }, // 涓婁竴姝� @@ -779,7 +860,6 @@ showInput() { this.inputVisible = true; }, - // -------------------------- //娴嬭瘯琛ㄥ崟 -------------------------- gettagerlist() { gettagerlist({ targetname: this.targetname }).then((response) => { @@ -796,7 +876,7 @@ }); this.sortFn(); }, - deloption() { + deloption(item) { const index = this.indexform.ivrLibaScriptTargetoptionList.indexOf(item); if (index !== -1) { this.indexform.ivrLibaScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� @@ -870,7 +950,7 @@ // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級 let selectLength = el.selectionEnd - el.selectionStart; // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛� - inputValueArr.splice(el.selectionStart, selectLength, `${row.value}`); + inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪�� inputValueArr = inputValueArr.join(""); console.log(inputValueArr); @@ -892,8 +972,8 @@ // 鏂板鍙橀噺 addvariable() { this.variablelist.push({ - variable: "", - value: "", + variatename: "", + variate: "", }); }, // 鍒犻櫎鍙橀噺 @@ -917,28 +997,19 @@ <style lang="scss" scoped> .Questionnairemanagement { - display: flex; + // display: flex; } .sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - // margin-top: 20px; margin: 20px; margin-bottom: 0; - padding: 30px; + padding: 20px; background: #edf1f7; 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); } .leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; + margin: 20px; padding: 30px; background: #ffff; border: 1px solid #dcdfe6; -- Gitblit v1.9.3