| | |
| | | </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="请è¾å
¥èç¹" |
| | |
| | | </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 |
| | |
| | | closable |
| | | effect="dark" |
| | | :disable-transitions="false" |
| | | @close="handleClosecrux(crux, item)" |
| | | @close="handleClosecrux(crux, item, 1)" |
| | | > |
| | | {{ crux }} |
| | | </el-tag> |
| | |
| | | closable |
| | | effect="dark" |
| | | :disable-transitions="false" |
| | | @close="handleClosecrux(crux, item)" |
| | | @close="handleClosecrux(crux, item, 2)" |
| | | > |
| | | {{ crux }} |
| | | </el-tag> |
| | |
| | | created() { |
| | | this.regular = store.getters.regular; |
| | | this.noregular = store.getters.noregular; |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | ); |
| | | }, |
| | | |
| | | 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); |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | ], |
| | | // æ¯å¦å¯ç¨ï¼æ°ï¼ |
| | | usablesz: (state) => [ |
| | | { |
| | | value: 0, |
| | | label: "å¯ç¨", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "åç¨", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | ], |
| | | // æ¯å¦å¿
å¡« |
| | | required: (state) => [ |
| | | { |
| | |
| | | }, |
| | | /** æ°å¢æé®æä½ */ |
| | | 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) { |
| | |
| | | <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" |
| | |
| | | :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 |
| | |
| | | <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 |
| | |
| | | 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 |
| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | <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> |
| | |
| | | editgeneravaluel, |
| | | addgeneravaluel, |
| | | getgeneravaluelinfo, |
| | | addgeneral, |
| | | editgeneral, |
| | | getgeneralinfo, |
| | | getgeneralclassify, |
| | | delgeneravaluelinfo, |
| | |
| | | loading: false, |
| | | id: null, |
| | | usable: [], |
| | | index: "", |
| | | languagelist: [], |
| | | 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); |
| | |
| | | /** æ°å¢æé®æä½ */ |
| | | 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) { |
| | |
| | | }, |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (row.switchText == this.pitchon) { |
| | | console.log(123); |
| | | return "warning-row"; |
| | | } |
| | | return ""; |
| | |
| | | </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 |
| | |
| | | </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" |
| | |
| | | </el-form-item> |
| | | <el-form-item label="éç¨é¢åº" prop="region"> |
| | | <el-select |
| | | style="width: 500px" |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | multiple |
| | |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | style="width: 500px" |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | |
| | | <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> |
| | |
| | | <el-table-column |
| | | label="ç¼å·" |
| | | align="center" |
| | | key="guid" |
| | | prop="guid" |
| | | key="targetid" |
| | | prop="targetid" |
| | | /> |
| | | <el-table-column |
| | | label="æ é¢" |
| | |
| | | :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="æ¯å¦å¿
å¡«"> |
| | |
| | | > |
| | | </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="(é»è®¤)æ 声" |
| | | 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="å¹é
æ£å"> |
| | | <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" |
| | |
| | | </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> |
| | | </div> |
| | |
| | | </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> |
| | | </div> |
| | |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | <el-button type="warning">导åºä¸ºpdf</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> |
| | | <!-- æ·»å é¢ç®å¼¹çª --> |
| | |
| | | getillnesslist, |
| | | illnesslistget, |
| | | getillness, |
| | | getgenerallist, |
| | | } from "@/api/AiCentre/index"; |
| | | |
| | | export default { |
| | |
| | | sdadd: ["sss", "ssccss", "ssaas", "ss"], |
| | | }, |
| | | ], |
| | | radio:'', |
| | | radio: "", |
| | | addvalue: "æ·»å é¢ç®", |
| | | // é¢ç®è¡¨æ ¼æ°æ® |
| | | userList: [ |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | //å
Œ
±æ¹æ³-------------------- |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | |
| | | |
| | | 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 |
| | | ); |
| | |
| | | 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; |
| | |
| | | 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) { |
| | |
| | | this.topicobj = res.data; |
| | | console.log(res.data, "topicobj"); |
| | | }else{ |
| | | console.log('没æ¾å°'); |
| | | console.log("没æ¾å°"); |
| | | } |
| | | }); |
| | | } |
| | |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.splice(index + 1, 0, item); // å°itemæå
¥å°ç´¢å¼ä½ç½®çåä¸ä½ |
| | | 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); |
| | | }, |
| | |
| | | // é¢è§--------------- |
| | | 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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | }; |
| | | // åèµ·wsè¯·æ± |
| | | sendWebsocket( |
| | | "ws://192.168.1.4:8080/chat?userId=2", |
| | | "ws://localhost:8089/chat?userId=1", |
| | | obj, |
| | | this.wsMessage, |
| | | this.wsError |
| | |
| | | // æ·»å ç¶æå¤æï¼å½ä¸º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') |
| | |
| | | } |
| | | // 建ç«wsè¿æ¥ |
| | | function websocketOpen (e) { |
| | | // console.log('wsè¿æ¥æå') |
| | | console.log('wsè¿æ¥æå') |
| | | } |
| | | |
| | | // åå§åweosocket |
| | |
| | | // const requstWsUrl = wsUrl + '?' + token |
| | | const requstWsUrl = wsUrl |
| | | websock = new WebSocket(requstWsUrl) |
| | | |
| | | websock.onmessage = function (e) { |
| | | console.log('websocketonMessage'); |
| | | websocketonmessage(e) |
| | | } |
| | | |
| | | websock.onopen = function () { |
| | | websocketOpen() |
| | | } |