¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ¥è¯¢å®£æä»»å¡å表 |
| | | export function gethetasklist(data) { |
| | | return request({ |
| | | url: "/smartor/hetask/list", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // å é¤å®£æä»»å¡ |
| | | export function delhetaskinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/hetask/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // æ¥è¯¢å®£æä»»å¡è¯¦æ
å表 |
| | | export function gethetaskinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/hetask/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // æ°å¢æ¨¡ç |
| | | export function addhetask(data) { |
| | | return request({ |
| | | url: "/smartor/hetask/add", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // ä¿®æ¹å®£æä»»å¡ |
| | | export function edithetask(data) { |
| | | return request({ |
| | | url: "/smartor/hetask/edit", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // è·åæ£è
ä¿¡æ¯ |
| | | export function getTaskpatient(data) { |
| | | return request({ |
| | | url: "/smartor/hetask/getPatientInfo", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | |
| | | // æ¥è¯¢é®å·æ¨¡çåç±»æ |
| | | export function getQtemplateclassify(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTitleCategory/selectIvrLibasvytitleList", |
| | | url: "/smartor/svyLibTitleCategory/list", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | |
| | | export * from './publicity' |
| | | export * from './Qtemplate' |
| | | export * from './questionnaire' |
| | | export * from './Hetask' |
| | | |
| | | |
| | |
| | | // æ¥è¯¢é®å·é®é¢åç±»æ |
| | | export function getissueclassify(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTopicCategory/selectIvrLibasvytitleList", |
| | | url: "/smartor/svyLibTopicCategory/list", |
| | | method: "post", |
| | | data: data, |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <div class="topicxq" v-for="item in TargetoptionList"> |
| | | <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="å
³é®å(å«)" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="crux" |
| | | type="success" |
| | | v-for="crux in dynamiccruxs" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosecrux(crux)" |
| | | > |
| | | {{ crux }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | | v-if="inputVisible" |
| | | @change="handleInputConfirm" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | default-first-option |
| | | :loading="loading" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in regular" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | v-else |
| | | class="button-new-tag" |
| | | size="small" |
| | | @click="showInput" |
| | | >+ æ°å¢</el-button |
| | | > |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å
³é®å(é)" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="crux" |
| | | type="warning" |
| | | v-for="crux in nodynamiccruxs" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosecrux(crux)" |
| | | > |
| | | {{ crux }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | | v-if="noinputVisible" |
| | | @change="handleInputConfirm" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | default-first-option |
| | | :loading="loading" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in noregular" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | v-else |
| | | class="button-new-tag" |
| | | size="small" |
| | | @click="showInputno" |
| | | >+ æ°å¢</el-button |
| | | > |
| | | </div> |
| | | </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="deloption(item)" round |
| | | >å é¤</el-button |
| | | > |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import store from "@/store"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | zz1: "^(?!.ä¸)(.(æ|ä½ |ä»|å¯ä»¥|æ¯|好|ç¥é|没é)+.*)$", |
| | | zz2: "^(?!.ä¸)(?=.?(æ|ä½ |ä»|å¯ä»¥|æ¯|好|ç¥é|没é)).*$", |
| | | fileList: [ |
| | | { |
| | | name: "food.jpeg", |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | ], |
| | | whether: 1, //1为å
³é®è¯ï¼2为å¦å®å
³é®è¯ |
| | | inputValue: "", |
| | | inputVisible: false, |
| | | noinputVisible: false, |
| | | loading: false, |
| | | regular: [], |
| | | noregular: [], |
| | | nodynamiccruxs: ["å«"], |
| | | dynamiccruxs: ["好"], |
| | | }; |
| | | }, |
| | | props: { |
| | | TargetoptionList: { |
| | | type: Array, |
| | | required: true, |
| | | default: () => [], |
| | | }, |
| | | }, |
| | | |
| | | created() { |
| | | this.regular = store.getters.regular; |
| | | this.noregular = store.getters.noregular; |
| | | }, |
| | | |
| | | methods: { |
| | | // çææ£å |
| | | generateRegex() { |
| | | let regex = ""; |
| | | let regexno = ""; |
| | | let hostregex = ""; |
| | | |
| | | for (let i = 0; i < this.dynamiccruxs.length; i++) { |
| | | regex += `${this.dynamiccruxs[i]}|`; |
| | | } |
| | | for (let i = 0; i < this.nodynamiccruxs.length; i++) { |
| | | regexno += `${this.nodynamiccruxs[i]}|`; |
| | | } |
| | | regex = regex.slice(0, -1); |
| | | regexno = regexno.slice(0, -1); |
| | | |
| | | hostregex = "^(?!." + `${regexno}` + ")(.(" + `${regex}` + ")+.*)$"; |
| | | console.log(hostregex); |
| | | }, |
| | | // æ§å¶æä»¶ |
| | | handleChange(file, fileList) { |
| | | this.fileList = fileList.slice(-3); |
| | | }, |
| | | // æä»¶è¶
åºä¸ªæ°éå¶æ¶çé©å |
| | | handleExceed(files, fileList) { |
| | | this.$message.warning( |
| | | `å½åéå¶éæ© 1 个æä»¶ï¼æ¬æ¬¡éæ©äº ${files.length} 个æä»¶ï¼å
±éæ©äº ${ |
| | | files.length + fileList.length |
| | | } 个æä»¶` |
| | | ); |
| | | }, |
| | | |
| | | handleClosecrux(crux) { |
| | | if (this.whether == 1) { |
| | | this.dynamiccruxs.splice(this.dynamiccruxs.indexOf(crux), 1); |
| | | } else { |
| | | this.nodynamiccruxs.splice(this.nodynamiccruxs.indexOf(crux), 1); |
| | | } |
| | | this.generateRegex(); |
| | | }, |
| | | handleInputConfirm() { |
| | | if (this.whether == 1 && this.inputValue) { |
| | | if (this.dynamiccruxs.indexOf(this.inputValue) == -1) { |
| | | this.dynamiccruxs.push(this.inputValue); |
| | | } else { |
| | | this.$message.error("å
³é®åå·²åå¨"); |
| | | } |
| | | this.inputVisible = false; |
| | | } else if (this.whether == 2 && this.inputValue) { |
| | | console.log(this.inputValue); |
| | | console.log(this.nodynamiccruxs.indexOf(this.inputValue)); |
| | | if (this.nodynamiccruxs.indexOf(this.inputValue) == -1) { |
| | | this.nodynamiccruxs.push(this.inputValue); |
| | | } else { |
| | | this.$message.error("å
³é®åå·²åå¨"); |
| | | } |
| | | this.noinputVisible = false; |
| | | } |
| | | this.generateRegex(); |
| | | |
| | | this.inputValue = ""; |
| | | }, |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | this.whether = 1; |
| | | }, |
| | | showInputno() { |
| | | this.noinputVisible = true; |
| | | this.whether = 2; |
| | | console.log(2); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .topicxq { |
| | | background-color: #e2f5fc; |
| | | border-radius: 4px; |
| | | margin-top: 10px; |
| | | padding: 10px; |
| | | } |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | .button-new-tag { |
| | | margin-left: 10px; |
| | | height: 32px; |
| | | line-height: 30px; |
| | | padding-top: 0; |
| | | padding-bottom: 0; |
| | | } |
| | | .input-new-tag { |
| | | width: 90px; |
| | | margin-left: 10px; |
| | | vertical-align: bottom; |
| | | } |
| | | </style> |
| | |
| | | topbarRouters: (state) => state.permission.topbarRouters, |
| | | defaultRoutes: (state) => state.permission.defaultRoutes, |
| | | sidebarRouters: (state) => state.permission.sidebarRouters, |
| | | // æ£å |
| | | regular: (state) => state.regular.regular, |
| | | noregular: (state) => state.regular.noregular, |
| | | // éç¨æ¹å¼ |
| | | mode: (state) => [ |
| | | { |
| | |
| | | }, |
| | | }, |
| | | ], |
| | | // ä¼å
æ§è¡ |
| | | precedencetype: (state) => [ |
| | | // æ¯å¦å¿
å¡« |
| | | required: (state) => [ |
| | | { |
| | | value: "0", |
| | | label: "è¯é³ä¼å
", |
| | | label: "å¿
å¡«", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | |
| | | }, |
| | | { |
| | | value: "1", |
| | | label: "éå¿
å¡«", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | ], |
| | | // ä¼å
æ§è¡ |
| | | precedencetype: (state) => [ |
| | | { |
| | | value: 0, |
| | | label: "è¯é³ä¼å
", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "æåä¼å
", |
| | | raw: { |
| | | cssClass: "", |
| | |
| | | // å®£ææ¹å¼ |
| | | editableTabs: (state) => [ |
| | | { |
| | | value: "çä¿¡", |
| | | label: "1", |
| | | label: "çä¿¡", |
| | | value: "1", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "éé", |
| | | label: "2", |
| | | label: "éé", |
| | | value: "2", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "微信", |
| | | label: "3", |
| | | label: "微信", |
| | | value: "3", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "çµè¯", |
| | | label: "4", |
| | | label: "çµè¯", |
| | | value: "4", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "线ä¸", |
| | | label: "5", |
| | | label: "线ä¸", |
| | | value: "5", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "æºè½è¯é³", |
| | | label: "6", |
| | | label: "æºè½è¯é³", |
| | | value: "6", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | ], |
| | | // 宣æå½¢å¼ |
| | | editabshape : (state) => [ |
| | | { |
| | | label: "ææ¬", |
| | | value: "1", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | label: "å¾ç", |
| | | value: "2", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | label: "è¯é³", |
| | | value: "3", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | label: "è§é¢", |
| | | value: "4", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | label: "æ··å", |
| | | value: "5", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | |
| | | ], |
| | | // é¢ç®ç±»å« |
| | | xjxsoptions:(state) => [ |
| | |
| | | }, |
| | | |
| | | ], |
| | | // æ£å |
| | | }; |
| | | |
| | | export default getters; |
| | |
| | | import app from './modules/app' |
| | | import dict from './modules/dict' |
| | | import user from './modules/user' |
| | | import regular from './modules/regular' |
| | | import tagsView from './modules/tagsView' |
| | | import permission from './modules/permission' |
| | | import settings from './modules/settings' |
| | |
| | | app, |
| | | dict, |
| | | user, |
| | | regular, |
| | | tagsView, |
| | | permission, |
| | | settings |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const user = { |
| | | state: { |
| | | regular: [ |
| | | { value: "1", label: "ä¼" }, |
| | | { value: "2", label: "ç¾" }, |
| | | { value: "3", label: "å" }, |
| | | { value: "4", label: "ç¾å¥½" }, |
| | | { value: "5", label: "幸ç¦" }, |
| | | { value: "6", label: "çç¾" }, |
| | | { value: "7", label: "å¯ç±" }, |
| | | { value: "8", label: "ç¾æ»¡" }, |
| | | { value: "9", label: "ç¾ä¸½" }, |
| | | { value: "10", label: "å¿«ä¹" }, |
| | | { value: "11", label: "幸ç¦ç¾æ»¡" }, |
| | | { value: "12", label: "ç¾å¥½å¹¸ç¦" }, |
| | | { value: "13", label: "ç¾æ»¡å¹¸ç¦" }, |
| | | { value: "14", label: "ç¾ä¸½å¹¸ç¦" }, |
| | | { value: "15", label: "ç¾å¥½å¿«ä¹" }, |
| | | { value: "16", label: "幸ç¦å¿«ä¹" }, |
| | | { value: "17", label: "ç¾æ»¡å¿«ä¹" }, |
| | | { value: "18", label: "ç¾ä¸½å¿«ä¹" }, |
| | | { value: "19", label: "ç¾å¥½çç¾" }, |
| | | { value: "20", label: "幸ç¦çç¾" }, |
| | | { value: "21", label: "ç¾æ»¡çç¾" }, |
| | | { value: "22", label: "ç¾ä¸½çç¾" }, |
| | | { value: "23", label: "åè¯ç¾å¥½" }, |
| | | { value: "24", label: "ä¼ç¾å¹¸ç¦" }, |
| | | { value: "25", label: "åè¯å¹¸ç¦" }, |
| | | { value: "26", label: "ä¼ç¾å¿«ä¹" }, |
| | | { value: "27", label: "åè¯å¿«ä¹" }, |
| | | { value: "28", label: "ä¼ç¾çç¾" }, |
| | | { value: "29", label: "åè¯çç¾" }, |
| | | { value: "30", label: "ç¾å¥½å¯ç±" }, |
| | | ], |
| | | noregular: [ |
| | | { value: "1", label: "å¦" }, |
| | | { value: "2", label: "æª" }, |
| | | { value: "3", label: "é" }, |
| | | { value: "4", label: "æ " }, |
| | | { value: "5", label: "䏿¯" }, |
| | | { value: "6", label: "ä¸å¯" }, |
| | | { value: "7", label: "ä¸è¡" }, |
| | | { value: "8", label: "ä¸å" }, |
| | | { value: "9", label: "ä¸è¯" }, |
| | | { value: "10", label: "ä¸å" }, |
| | | { value: "11", label: "ä¸å¥½" }, |
| | | { value: "12", label: "ä¸ç¾" }, |
| | | { value: "13", label: "ä¸å¹¸" }, |
| | | { value: "14", label: "ä¸ç" }, |
| | | { value: "15", label: "ä¸å¯ç±" }, |
| | | { value: "16", label: "䏿»¡" }, |
| | | { value: "17", label: "ä¸å¿«" }, |
| | | { value: "18", label: "ä¸çç¾" }, |
| | | { value: "19", label: "ä¸åè¯" }, |
| | | { value: "20", label: "ä¸ä¼ç¾" }, |
| | | { value: "21", label: "ä¸ç¾æ»¡" }, |
| | | { value: "22", label: "ä¸å¹¸ç¦" }, |
| | | { value: "23", label: "ä¸å¯ç±" }, |
| | | { value: "24", label: "ä¸ç¾å¥½" }, |
| | | { value: "25", label: "ä¸å¯å" }, |
| | | { value: "26", label: "ä¸å¯ä¿¡" }, |
| | | { value: "27", label: "ä¸å¯è¡" }, |
| | | { value: "28", label: "ä¸å¯é " }, |
| | | { value: "29", label: "ä¸å¯ç" }, |
| | | { value: "30", label: "ä¸å¯ç¨" }, |
| | | ], |
| | | }, |
| | | mutations: {}, |
| | | actions: {}, |
| | | getters: {}, |
| | | }; |
| | | export default user; |
| | |
| | | const s_url = sessionObj.url; // 请æ±å°å |
| | | const s_data = sessionObj.data; // è¯·æ±æ°æ® |
| | | const s_time = sessionObj.time; // è¯·æ±æ¶é´ |
| | | const interval = 50; // é´éæ¶é´(ms)ï¼å°äºæ¤æ¶é´è§ä¸ºéå¤æäº¤ |
| | | const interval = 10; // é´éæ¶é´(ms)ï¼å°äºæ¤æ¶é´è§ä¸ºéå¤æäº¤ |
| | | if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { |
| | | const message = 'æ°æ®æ£å¨å¤çï¼è¯·å¿éå¤æäº¤'; |
| | | console.warn(`[${s_url}]: ` + message) |
| | |
| | | > |
| | | <el-form-item label="宣æåç±»" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.groupID" |
| | | v-model="ruleForm.assortid" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="å®£ææ é¢" prop="extName"> |
| | | <el-form-item label="å®£ææ é¢" prop="preachname"> |
| | | <div style="width: 30%"> |
| | | <el-input v-model="ruleForm.extName"></el-input> |
| | | <el-input v-model="ruleForm.preachname"></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="宣ææè¿°" prop="extName"> |
| | | <el-form-item label="宣ææè¿°" prop="preachdescription"> |
| | | <div style="width: 30%"> |
| | | <el-input v-model="ruleForm.note"></el-input> |
| | | <el-input v-model="ruleForm.preachdescription"></el-input> |
| | | </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.variable"></el-input> |
| | | </el-col> |
| | | <el-col :span="8" :offset="1"> |
| | | <el-input v-model="item.value"></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 |
| | | 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-form-item label="æä»¶" prop="sickness"> |
| | |
| | | <el-col :span="9"> |
| | | <el-form-item label="å¯ç¨ç¶æ" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.isEnable" |
| | | v-model="ruleForm.isavailable" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | |
| | | </el-row> |
| | | <el-form-item label="å®£ææ¹å¼" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.way" |
| | | v-model="ruleForm.suitway" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in xjxsoptions" |
| | | :key="item.value" |
| | | v-for="item in mode" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="éç¨é¢åº" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.courtyard" |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.administrative" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | <el-cascader |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | |
| | | <el-col :span="12"> |
| | | <div> |
| | | <el-button @click="laststep('ruleForm')">ä¸ä¸æ¥</el-button> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | <el-button type="success" @click="Departmenttreatment('ruleForm')" |
| | | >ä¿å</el-button |
| | | > |
| | | <el-button type="warning" @click="submitForm('ruleForm')" |
| | | <el-button type="warning" @click="Departmenttreatment('ruleForm')" |
| | | >å¦åæ°çæ¬</el-button |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')" |
| | |
| | | </div></el-col |
| | | > |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; margin-left: 66px; margin-bottom: 10px"> |
| | | <div |
| | | v-for="item in variablelist" |
| | | class="tsgname" |
| | | @click="tsgnameto(item)" |
| | | > |
| | | {{ item.variatename }} |
| | | </div> |
| | | </div> |
| | | </el-col></el-row |
| | | > |
| | | |
| | | <div> |
| | | <el-form |
| | |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | // import * as Quill from "quill"; |
| | | import Quill from "quill"; |
| | | import { listtag } from "@/api/system/label"; |
| | |
| | | illnesslist: [], |
| | | options: [], |
| | | optionstag: [], |
| | | deptList: [], |
| | | tempDetpRelevanceslist: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | xjxsoptions: [ |
| | | { |
| | | value: "1", |
| | |
| | | addvalue: "æ·»å é¢ç®", |
| | | |
| | | variablelist: [ |
| | | { |
| | | variable: "paitent", |
| | | value: "表示æ£è
çæ è¯", |
| | | }, |
| | | { variatename: "å§å", variate: "${name}", default: 1 }, |
| | | { variatename: "çµè¯", variate: "${phone}", default: 1 }, |
| | | { variatename: "ç
æ
", variate: "${illness}", default: 1 }, |
| | | ], |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | |
| | | this.loading = true; |
| | | getlibraryinfo({ id: this.$route.query.id }).then((res) => { |
| | | this.ruleForm = res.data; |
| | | this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.split(","); |
| | | this.variablelist = JSON.parse(this.ruleForm.otherdata) |
| | | ? JSON.parse(this.ruleForm.otherdata) |
| | | : this.variablelist; |
| | | }); |
| | | getheLibraryAssort({}).then((res) => { |
| | | this.sortlist = res.rows; |
| | | console.log(res); |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | this.loading = false; |
| | | }, |
| | | /** æ¥è¯¢æ ç¾å表 */ |
| | | gettabList() { |
| | |
| | | this.optionstag = response.rows; |
| | | }); |
| | | }, |
| | | // 宿 |
| | | |
| | | submitForm(formName) { |
| | | this.rules = this.rulesa; |
| | | // æäº¤ |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | alert("submit!"); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | let tgs = []; |
| | | this.dynamicTags.forEach((item) => { |
| | | tgs.push(item.tagname); |
| | | }); |
| | | this.ruleForm.labelInfo = tgs.join(","); |
| | | this.ruleForm.otherdata = JSON.stringify(this.variablelist); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | | if (this.id) { |
| | | this.ruleForm.isoperation = 2; |
| | | compilelibrary(this.ruleForm).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.$router.go(-1); |
| | | }); |
| | | } else { |
| | | this.ruleForm.isoperation = 1; |
| | | compilelibrary(this.ruleForm).then((response) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.$router.go(-1); |
| | | }); |
| | | } |
| | | }, |
| | | // ä¸ä¸æ¥ |
| | | nextstep() { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // ç§å®¤å¤ç |
| | | Departmenttreatment() { |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | console.log(this.tempDetpRelevanceslist); |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | | ); |
| | | console.log(result); |
| | | // idæ°ç»æ¥æ°ç»å¯¹è±¡ |
| | | result.forEach((item) => { |
| | | const condition = this.ruleForm.tempDetpRelevances.some( |
| | | (obj) => obj.deptId === item |
| | | ); |
| | | if (!condition) { |
| | | listDept({ deptId: item }).then((res) => { |
| | | console.log(res.data[0]); |
| | | res.data[0].type = 2; |
| | | this.ruleForm.tempDetpRelevances.push(res.data[0]); |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | // æ°ç»å¯¹è±¡æ¥idæ°ç» |
| | | this.ruleForm.tempDetpRelevances.forEach((item) => { |
| | | const condition = result.some((obj) => obj === item.deptId); |
| | | if (!condition) { |
| | | const index = this.ruleForm.tempDetpRelevances.indexOf(item); |
| | | this.ruleForm.tempDetpRelevances[index].delFlag = 1; |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | setTimeout(() => { |
| | | this.submitForm(); |
| | | }, 1000); |
| | | // this.submitForm(); |
| | | }, |
| | | // ä¿åé¢ç®ä¿¡æ¯ |
| | | Saveproblem() {}, |
| | | /** æ¥è¯¢é¢ç®å表 */ |
| | |
| | | // æ°å¢åé |
| | | addvariable() { |
| | | this.variablelist.push({ |
| | | variable: "", |
| | | value: "", |
| | | variatename: "", |
| | | variate: "", |
| | | }); |
| | | }, |
| | | // å é¤åé |
| | |
| | | console.log(this.dynamicTags.indexOf(tag)); |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | this.ruleForm.heLibraryTagList[lindex].isoperation = 3; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); |
| | | this.ruleForm.heLibraryTagList.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | }); |
| | | } |
| | |
| | | > |
| | | <span class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span>{{ node.label }}</span> |
| | | <span> |
| | | <span v-if="data.id > 0"> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-delete" |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="sickness"> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="queryParams.sickness" |
| | | :options="optionss" |
| | | :props="propss" |
| | | v-model="queryParams.administrative" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | ></el-cascader> |
| | | > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥å
容" prop="userName"> |
| | | <el-input |
| | |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in editableTabs" |
| | | :key="index++" |
| | | :label="item.title" |
| | | :value="index++" |
| | | v-for="(item, index) in editabshape" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in qyoptions" |
| | | v-for="item in usable" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.label" |
| | |
| | | <el-table-column |
| | | label="æ é¢" |
| | | align="center" |
| | | key="extName" |
| | | prop="extName" |
| | | key="preachname" |
| | | prop="preachname" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="主è¦å
容(缺)" |
| | | label="主è¦å
容" |
| | | align="center" |
| | | key="userNamevalue" |
| | | prop="userNamevalue" |
| | | key="preachcontent" |
| | | prop="preachcontent" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="éç¨ç¾ç
(缺)" |
| | | label="éç¨ç¾ç
" |
| | | align="center" |
| | | key="aphonenumber" |
| | | prop="aphonenumber" |
| | |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="éç¨ç§å®¤(缺)" |
| | | label="æ ç¾" |
| | | align="center" |
| | | key="bphonenumber" |
| | | prop="bphonenumber" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="æ ç¾(缺)" |
| | | align="center" |
| | | key="tagList" |
| | | prop="tagList" |
| | | key="labelInfo" |
| | | prop="labelInfo" |
| | | width="160" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.tagList">{{ item }} </span> |
| | | <span v-for="item in scope.row.labelInfo.split(',')" |
| | | >{{ item }}ã |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="å®£ææ¹å¼(缺)" |
| | | label="éç¨æ¹å¼" |
| | | align="center" |
| | | key="cphonenumber" |
| | | prop="cphonenumber" |
| | | key="suitway" |
| | | prop="suitway" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.suitway.split(',')" |
| | | >{{ item }}ã |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="èµæå½¢å¼(缺)" |
| | | label="å
容形å¼" |
| | | align="center" |
| | | key="cphonenumbers" |
| | | prop="cphonenumbers" |
| | | key="preachform" |
| | | prop="preachform" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="editabshape" |
| | | :value="scope.row.preachform" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æè¿ä¿®æ¹" |
| | | align="center" |
| | |
| | | <el-table-column |
| | | label="æ¯å¦å¯ç¨" |
| | | align="center" |
| | | key="isEnable" |
| | | prop="isEnable" |
| | | key="isavailable" |
| | | prop="isavailable" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="usable" :value="scope.row.isavailable" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="æä½" |
| | |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import store from "@/store"; |
| | | |
| | |
| | | optionss: [], |
| | | mode: [], |
| | | languagelist: [], |
| | | qyoptions: [], |
| | | editabshape: [], |
| | | usable: [], |
| | | precedencetype: [], |
| | | xjxsoptions: [], |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | |
| | | //ç±»å«å表 |
| | | editableTabs: [], |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | isavailable: "", |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | this.getDeptTree(); |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.qyoptions = store.getters.usable; |
| | | this.usable = store.getters.usable; |
| | | this.precedencetype = store.getters.precedencetype; |
| | | this.editabshape = store.getters.editabshape; |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | getlibrarylist(this.queryParams).then((response) => { |
| | | console.log(response); |
| | | this.userList = response.rows; |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å¯ç¨" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="è¯·éæ©"> |
| | | <el-form-item label="æ¯å¦å¯ç¨" prop="isavailable"> |
| | | <el-select |
| | | v-model="queryParams.isavailable" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in qyoptions" |
| | | :key="item.value" |
| | |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="é¢ç®å
容(缺)" |
| | | label="é¢ç®å
容" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | key="topicContent" |
| | | prop="topicContent" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | | /><el-table-column |
| | | label="éç¨æ¹å¼(缺)" |
| | | label="éç¨æ¹å¼" |
| | | align="center" |
| | | key="application" |
| | | prop="application" |
| | | key="suitway" |
| | | prop="suitway" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="mode" :value="scope.row.suitway" /> |
| | | </template> |
| | | </el-table-column> |
| | | /><el-table-column |
| | | label="éç¨ç¾ç
(缺)" |
| | | label="éç¨ç¾ç
" |
| | | align="center" |
| | | key="Applicable" |
| | | prop="Applicable" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æ ç¾(缺)" |
| | | label="æ ç¾" |
| | | align="center" |
| | | key="tagList" |
| | | prop="tagList" |
| | |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.tagList">{{ item }} </span> |
| | | <span v-for="item in scope.row.tag.split(',')" |
| | | >{{ item }}ã |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="å¯ç¨(缺)" |
| | | label="å¯ç¨" |
| | | align="center" |
| | | key="usable" |
| | | prop="usable" |
| | | key="isavailable" |
| | | prop="isavailable" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="qyoptions" |
| | | :value="scope.row.isavailable" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æè¿ä¿®æ¹" |
| | | align="center" |
| | |
| | | <el-option |
| | | v-for="item in deptOptions" |
| | | :key="item.id" |
| | | :label="item.indexAssortName" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="请è¾å
¥ç±»å«åç§°"> |
| | | <el-input |
| | | v-model="classifyform.indexAssortName" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | <el-input v-model="classifyform.name" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | // è¡¨æ ¼æ°æ® |
| | | userList: [], |
| | | // å¼¹åºå±æ é¢ |
| | | tag: "", |
| | | title: "", |
| | | // æ¯å¦æ¾ç¤ºå¼¹åºå± |
| | | open: false, |
| | |
| | | illnesslist: [], |
| | | defaultProps: { |
| | | children: "svyLibTopicCategoryList", |
| | | label: "indexAssortName", |
| | | label: "name", |
| | | }, |
| | | mode: [], |
| | | languagelist: [], |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | isavailable: "", |
| | | }, |
| | | // è¡¨åæ ¡éª |
| | | rules: {}, |
| | |
| | | watch: {}, |
| | | created() { |
| | | this.getList(); |
| | | this.getDeptTree(); |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.qyoptions = store.getters.usable; |
| | |
| | | let calssvalue = {}; |
| | | if ( |
| | | this.classifyform.pid && |
| | | this.classifyform.indexAssortName && |
| | | this.classifyform.name && |
| | | this.radio == "ååç±»" |
| | | ) { |
| | | const index = this.deptOptions.findIndex( |
| | | (obj) => obj.id == this.classifyform.pid |
| | | ); |
| | | calssvalue = this.deptOptions[index]; |
| | | calssvalue.ivrLibaTemplateAssortList.push(this.classifyform); |
| | | } else if (this.radio == "主åç±»" && this.classifyform.indexAssortName) { |
| | | calssvalue.svyLibTopicCategoryList.push(this.classifyform); |
| | | } else if (this.radio == "主åç±»" && this.classifyform.name) { |
| | | this.classifyform.pid = null; |
| | | this.classifyform.ivrLibaTemplateAssortList = []; |
| | | this.classifyform.svyLibTopicCategoryList = []; |
| | | } else { |
| | | return this.$modal.msgError("请填å宿´ä¿¡æ¯"); |
| | | } |
| | | addissueclassify(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | | if (b.pid) { |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤å类项为"' + b.indexAssortName + '"çæ°æ®é¡¹ï¼') |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤å类项为"' + b.name + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | | return delissueclassify(b.id); |
| | | }) |
| | |
| | | } else { |
| | | this.$modal |
| | | .confirm( |
| | | 'æ¯å¦ç¡®è®¤å é¤ä¸çº§åç±»"' + |
| | | b.indexAssortName + |
| | | '"ï¼å é¤åå
¶ä¸åç±»å°å½ç±»âæªåç±»â' |
| | | 'æ¯å¦ç¡®è®¤å é¤ä¸çº§åç±»"' + b.name + '"ï¼å é¤åå
¶ä¸åç±»å°å½ç±»âæªåç±»â' |
| | | ) |
| | | .then(() => { |
| | | return delissueclassify(b.id); |
| | |
| | | // çéèç¹ |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.indexAssortName.indexOf(value) !== -1; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | handleNodeClick(data) { |
| | | this.queryParams.assortid = data.id; |
| | |
| | | <div class="headline"> |
| | | é¢ç®è®¾ç½®è¯¦æ
|
| | | <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | ><el-button type="primary" @click="compileissue" |
| | | >ä¿å</el-button |
| | | ></span |
| | | > |
| | |
| | | <el-col :span="6" |
| | | ><el-form-item label="æ¯å¦å¯ç¨"> |
| | | <el-select |
| | | v-model="topicobj.ishide" |
| | | v-model="topicobj.isavailable" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | <el-col :span="8" |
| | | ><el-form-item label="è¯è¨(缺)"> |
| | | <el-select |
| | | v-model="topicobj.languageh" |
| | | v-model="topicobj.language" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="6" |
| | | ><el-form-item label="æ¯å¦å¿
ç"> |
| | | <el-radio-group v-model="topicobj.ismandatory"> |
| | | <el-radio label="1">æ¯</el-radio> |
| | | <el-radio label="2">å¦</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item></el-col |
| | | > |
| | | ><el-form-item label="æ¯å¦å¿
å¡«"> |
| | | <el-select |
| | | v-model="topicobj.ismandatory" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="topicobjaa" |
| | | v-for="item in required" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="6" |
| | | ><el-form-item label="é¢ç®ç±»å"> |
| | | <el-select |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8" |
| | | ><el-form-item label="éç¨æ¹å¼(缺)"> |
| | | ><el-form-item label="éç¨æ¹å¼"> |
| | | <el-select |
| | | v-model="topicobj.languageh" |
| | | v-model="topicobj.suitway" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | </el-option> </el-select></el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="é¢ç®å
容(缺)"> |
| | | <el-form-item label="é¢ç®å
容"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | v-model="topicobj.topic" |
| | | id="questiontext" |
| | | v-model="topicobj.topicContent" |
| | | @focus="handleInput('questiontext')" |
| | | placeholder="请è¾å
¥æ é¢" |
| | | ></el-input> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="æ ç¾" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="tag.tagname" |
| | | :key="tag" |
| | | type="success" |
| | | v-for="tag in dynamicTags" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosetag(tag)" |
| | | > |
| | | {{ tag.tagname }} |
| | | {{ tag }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | |
| | | </div> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-form-item label="éç¥åé" prop="name"> |
| | | <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="24"> |
| | | <div |
| | | style="display: flex; margin-left: 66px; margin-bottom: 10px" |
| | | > |
| | | <div |
| | | v-for="item in variablelist" |
| | | class="tsgname" |
| | | @click="tsgnameto(item)" |
| | | > |
| | | {{ item.variatename }} |
| | | </div> |
| | | </div> |
| | | </el-col></el-row |
| | | > |
| | | </div> |
| | | |
| | | <div class="headline"> |
| | |
| | | ></span |
| | | > |
| | | </div> |
| | | <div class="topicxq" v-for="item in optionlist"> |
| | | <div |
| | | class="topicxq" |
| | | v-for="item in topicobj.svyLibTopicoptions" |
| | | v-if="item.isoperation != 3" |
| | | > |
| | | <el-row :gutter="10"> |
| | | <el-col :span="11" |
| | | ><el-form-item label="é¢å·"> |
| | | ><el-form-item label="é项"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥" |
| | | v-model="item.optionid" |
| | | placeholder="请è¾å
¥é项" |
| | | v-model="item.optioncontent" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="11" |
| | | ><el-form-item label="é项"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥é项" |
| | | v-model="item.optioncontent" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="11" |
| | | ><el-form-item label="ä¸é¢è·³è½¬"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥é¢å·" |
| | | v-model="item.jump" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="2"> |
| | | <el-button |
| | | type="danger" |
| | |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-form-item label="éä¸æç¤º"> |
| | | <el-input |
| | |
| | | > |
| | | <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" |
| | | @keyup.enter.native="gettargetInfo" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="主é¢" prop="sickness"> |
| | | <el-select |
| | | v-model="queryParams.classify" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in optionsclass" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | @click="gettargetInfo" |
| | | >æç´¢</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="loading" :data="userList"> |
| | | <el-table v-loading="loading" :data="targetList"> |
| | | <el-table-column |
| | | label="æ é¢" |
| | | align="center" |
| | | key="userid" |
| | | prop="userid" |
| | | key="targetname" |
| | | prop="targetname" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="é®é¢å
容" |
| | | align="center" |
| | | key="userName" |
| | | prop="userName" |
| | | key="targetdesc" |
| | | prop="targetdesc" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="gettargetInfo" |
| | | /> |
| | | </div> |
| | | </el-drawer> |
| | | </div> |
| | |
| | | import { listtag } from "@/api/system/label"; |
| | | import store from "@/store"; |
| | | import { |
| | | getissueclassify, |
| | | delissueclassify, |
| | | addissueclassify, |
| | | gettargetInfo, |
| | | getissuelist, |
| | | issueinfo, |
| | | compileissue, |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | topicobj: {}, |
| | | topicobj: { |
| | | svyLibTopicoptions: [], |
| | | }, |
| | | inputVisible: false, |
| | | inputValue: "", |
| | | currentInputId: "", |
| | | total: 0, |
| | | drawer: false, |
| | | loading: false, |
| | | id: [], |
| | | userList: [ |
| | | { |
| | | userid: "1", |
| | | userName: "ææ ", |
| | | }, |
| | | { |
| | | userid: "2", |
| | | userName: "äºå·é®å·", |
| | | }, |
| | | ], |
| | | targetList: [], |
| | | dynamicTags: [], |
| | | optionsclass: [], |
| | | variablelist: [ |
| | | { variatename: "å§å", variate: "${name}", default: 1 }, |
| | | { variatename: "çµè¯", variate: "${phone}", default: 1 }, |
| | | { variatename: "ç
æ
", variate: "${illness}", default: 1 }, |
| | | ], |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | isavailable: "", |
| | | }, |
| | | optionlist: [ |
| | | { value: "topic", table: "topic" }, |
| | |
| | | { value: "topic", table: "topic" }, |
| | | ], |
| | | inputValueillness: "", |
| | | required: [], |
| | | themelist: [], |
| | | languagelist: [], |
| | | courtyardlist: [], |
| | |
| | | created() { |
| | | this.gettabList(); |
| | | this.getissueinfo(); |
| | | this.gettargetInfo(); |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.usable = store.getters.usable; |
| | | this.xjxsoptions = store.getters.xjxsoptions; |
| | | this.required = store.getters.required; |
| | | }, |
| | | |
| | | methods: { |
| | | Submittopicobj() {}, |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | |
| | | // è·åæ°æ® |
| | | getissueinfo() { |
| | | this.id = this.$route.query.id; |
| | | issueinfo(this.id).then((res) => { |
| | | this.topicobj = res.data; |
| | | if (!this.id) { |
| | | return; |
| | | } |
| | | getissuelist({ topicid: this.id }).then((res) => { |
| | | this.topicobj = res.rows[0]; |
| | | this.dynamicTags = this.topicobj.tag.split(","); |
| | | this.variablelist = JSON.parse(this.topicobj.otherdata) |
| | | ? JSON.parse(this.topicobj.otherdata) |
| | | : this.variablelist; |
| | | }); |
| | | getillnesslist({ |
| | | pageNum: 1, |
| | |
| | | this.illnesslist = res.rows; |
| | | }); |
| | | }, |
| | | gettargetInfo() { |
| | | gettargetInfo(this.queryParams).then((res) => { |
| | | this.targetList = res.rows; |
| | | this.total = res.total; |
| | | }); |
| | | }, |
| | | // æ°å¢æä¿®æ¹è¯¦æ
|
| | | compileissue() { |
| | | this.topicobj.svyLibTopicoptions = this.topicobj.svyLibTopicoptions.map( |
| | | (item) => { |
| | | if (item.isoperation != 1 && item.isoperation != 3) { |
| | | item.isoperation = 2; |
| | | } |
| | | return item; |
| | | } |
| | | ); |
| | | this.topicobj.otherdata = JSON.stringify(this.variablelist); |
| | | this.topicobj.tag = this.dynamicTags.join(","); |
| | | if (this.id) { |
| | | this.topicobj.isoperation = 1; |
| | | this.topicobj.isoperation = 2; |
| | | compileissue(this.topicobj).then((res) => { |
| | | if (res.code == 1) { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "ä¿®æ¹æå", |
| | | type: "success", |
| | |
| | | } |
| | | }); |
| | | } else { |
| | | this.topicobj.isoperation = 2; |
| | | this.topicobj.isoperation = 1; |
| | | compileissue(this.topicobj).then((res) => { |
| | | if (res.code == 1) { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "æ°å¢æå", |
| | | type: "success", |
| | |
| | | } |
| | | }); |
| | | } |
| | | this.illnesslist.forEach((item, index) => { |
| | | if (!item.id) { |
| | | addtargetillness(item).then((res) => {}); |
| | | } |
| | | }); |
| | | if (this.illnesslistapi.length) { |
| | | deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); |
| | | } |
| | | }, |
| | | // å é¤é项 |
| | | deletexuanx(row) { |
| | | const index = this.getIndexInArray(this.optionlist, row); |
| | | this.optionlist.splice(index, 1); |
| | | const index = this.getIndexInArray(this.topicobj.svyLibTopicoptions, row); |
| | | if (this.topicobj.svyLibTopicoptions[index].topicid) { |
| | | this.topicobj.svyLibTopicoptions[index].isoperation = 3; |
| | | } else { |
| | | this.topicobj.svyLibTopicoptions.splice(index, 1); |
| | | } |
| | | }, |
| | | // æ°å¢é项 |
| | | addoption() { |
| | | this.optionlist.push({ value: "topic", table: "topic" }); |
| | | this.topicobj.svyLibTopicoptions.push({ |
| | | score: "", |
| | | isoperation: 1, |
| | | }); |
| | | }, |
| | | // éæ©ææ |
| | | selectlabel(row) {}, |
| | | selectlabel(row) { |
| | | const labellist = row.targetoptionList; |
| | | labellist.forEach((item) => { |
| | | this.topicobj.svyLibTopicoptions.push({ |
| | | optioncontent: item.targetvalue, |
| | | isoperation: 1, |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // æ ç¾----------------- |
| | | gettabList() { |
| | |
| | | handleClosetag(tag) { |
| | | console.log(tag); |
| | | console.log(this.dynamicTags.indexOf(tag)); |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | // this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | // this.dynamicTags.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue.tagname); |
| | | }); |
| | | } |
| | | this.inputVisible = false; |
| | |
| | | this.illnessVisible = false; |
| | | this.$modal.msgSuccess("ç¼è¾æå"); |
| | | }, |
| | | // æ¥è¯¢é¢åº |
| | | handleQuery() {}, |
| | | resetQuery() {}, |
| | | // ä¾¿æ·æ ç¾ |
| | | tsgnameto(row) { |
| | | let inputValueArr = ""; |
| | | let el = document.querySelector("#" + this.currentInputId); |
| | | //el.selectionStart; è¿å°±æ¯å½åå
æ æå¨çä½ç½®ï¼å符串ä¸å符çindexï¼ |
| | | if (this.currentInputId == "questiontext") { |
| | | inputValueArr = this.indexform.questiontext.split(""); |
| | | } else if (this.currentInputId == "nomatchtext") { |
| | | inputValueArr = this.indexform.nomatchtext.split(""); |
| | | } else if (this.currentInputId == "sliencetext") { |
| | | inputValueArr = this.indexform.sliencetext.split(""); |
| | | } else if (this.currentInputId == "noclearlytext") { |
| | | inputValueArr = this.indexform.noclearlytext.split(""); |
| | | } else if (this.currentInputId == "submoduletext") { |
| | | inputValueArr = this.indexform.submoduletext.split(""); |
| | | } else { |
| | | return; |
| | | } |
| | | //å°è¾å
¥æ¡å
容忿°ç»ï¼æ¹ä¾¿åç»æä½ |
| | | // inputValueArr = this.inputValue.split(""); |
| | | // æ¿å°é䏿åçé¿åº¦ï¼åç»å¯ä»¥ç¨æ¥æ¿æ¢éä¸çæåï¼ |
| | | let selectLength = el.selectionEnd - el.selectionStart; |
| | | // å°è¦æå
¥/æ¿æ¢çæåæå
¥/æ¿æ¢ï¼value.nameæ¯è¦æå
¥/æ¿æ¢çåç¬¦ä¸²ï¼ |
| | | inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); |
| | | // ææ°ç»éæ°è½¬æ¢ä¸ºå符串并èµå¼ |
| | | inputValueArr = inputValueArr.join(""); |
| | | console.log(inputValueArr); |
| | | if (this.currentInputId == "questiontext") { |
| | | this.indexform.questiontext = inputValueArr; |
| | | } else if (this.currentInputId == "nomatchtext") { |
| | | this.indexform.nomatchtext = inputValueArr; |
| | | } else if (this.currentInputId == "sliencetext") { |
| | | this.indexform.sliencetext = inputValueArr; |
| | | } else if (this.currentInputId == "noclearlytext") { |
| | | this.indexform.noclearlytext = inputValueArr; |
| | | } else if (this.currentInputId == "submoduletext") { |
| | | this.indexform.submoduletext = inputValueArr; |
| | | } else { |
| | | return; |
| | | } |
| | | }, |
| | | |
| | | // æ°å¢åé |
| | | addvariable() { |
| | | this.variablelist.push({ |
| | | variatename: "", |
| | | variate: "", |
| | | }); |
| | | }, |
| | | // å é¤åé |
| | | delvariable(item) { |
| | | const index = this.variablelist.indexOf(item); |
| | | if (index !== -1) { |
| | | this.variablelist.splice(index, 1); // ä»ç´¢å¼ä½ç½®å é¤ä¸ä¸ªå
ç´ |
| | | } else { |
| | | console.log("æªæ¾å°è¯¥å¯¹è±¡"); |
| | | } |
| | | }, |
| | | // è¾å
¥è·åid |
| | | handleInput(id) { |
| | | this.currentInputId = id; |
| | | console.log("è¾å
¥æ¡çå¼å·²æ´æ°:", this.currentInputId); |
| | | // å¨è¿éæ§è¡æ´æ°æ°æ®çé»è¾ |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | } |
| | | } |
| | | } |
| | | .tsgname { |
| | | width: 90px; |
| | | margin-right: 10px; |
| | | text-align: center; |
| | | cursor: pointer; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | background: #7799fa; |
| | | color: #ffff; |
| | | font-size: 18px; |
| | | border-radius: 5px; |
| | | } |
| | | .tsgname:hover { |
| | | background: #3366f5; |
| | | } |
| | | .preview-left { |
| | | margin: 20px; |
| | | // margin: 20px; |
| | |
| | | <el-select |
| | | v-model="ruleForm.categoryid" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in optionsclass" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | |
| | | > |
| | | </el-input |
| | | ></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> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æä»¶" prop="sickness"> |
| | | <div style="width: 40%"> |
| | |
| | | <el-form-item label="æ ç¾" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="tag.tagname" |
| | | :key="tag" |
| | | type="success" |
| | | v-for="tag in dynamicTags" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosetag(tag)" |
| | | > |
| | | {{ tag.tagname }} |
| | | {{ tag }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | |
| | | <el-select |
| | | v-model="ruleForm.isenable" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="é®å·æ¹å¼(缺)" prop="region"> |
| | | <el-form-item label="é®å·æ¹å¼" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.way" |
| | | v-model="ruleForm.suitway" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in xjxsoptions" |
| | | v-for="item in mode" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | |
| | | <el-form-item label="éç¨é¢åº" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.courtyard" |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in courtyardlist" |
| | | :key="item.value" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.administrative" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | <el-cascader |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in courtyardlist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | | >ä¸ä¸æ¥</el-button |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | <el-button @click="submitForm('ruleForm')" |
| | | <el-button @click="Departmenttreatment('ruleForm')" |
| | | >ä¿åé®å·åºç¡ä¿¡æ¯</el-button |
| | | > |
| | | </el-form-item> |
| | |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | round |
| | | @click="drawer = true" |
| | | @click="getaddtopiclist" |
| | | >æ·»å é¢ç®</el-button |
| | | > |
| | | </div> |
| | | <div class="presentation"> |
| | | <div class="presentation-left"> |
| | | <el-card class="box-card" style="min-height: 688px"> |
| | | <el-table v-loading="loading" :data="userList"> |
| | | <el-table v-loading="loading" :data="ruleForm.svyLibTopics"> |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | key="userid" |
| | | prop="userid" |
| | | key="topicid" |
| | | prop="topicid" |
| | | /> |
| | | <el-table-column |
| | | label="é¢ç®" |
| | | align="center" |
| | | key="userName" |
| | | prop="userName" |
| | | key="topic" |
| | | prop="topic" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="主è¦å
容" |
| | | align="center" |
| | | key="maincontent" |
| | | prop="maincontent" |
| | | key="topicContent" |
| | | prop="topicContent" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | <div class="presentation-right"> |
| | | <el-card class="box-card"> |
| | |
| | | </div> |
| | | <el-form-item label="é¢ç®æ é¢"> |
| | | <el-input |
| | | v-model="topicobj.title" |
| | | v-model="topicobj.topic" |
| | | placeholder="请è¾å
¥æ é¢" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="æ¯å¦å¿
ç"> |
| | | <el-radio-group v-model="topicobj.resource"> |
| | | <el-radio label="æ¯"></el-radio> |
| | | <el-radio label="å¦"></el-radio> |
| | | </el-radio-group> </el-form-item |
| | | ><el-form-item label="æ¯å¦å¿
å¡«"> |
| | | <el-select |
| | | v-model="topicobj.ismandatory" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in required" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="æ¯å¦éè"> |
| | | <el-radio-group v-model="topicobj.resourcea"> |
| | | <el-radio label="æ¯"></el-radio> |
| | | <el-radio label="å¦"></el-radio> |
| | | </el-radio-group> </el-form-item |
| | | ><el-form-item label="æ¯å¦å¯ç¨"> |
| | | <el-select |
| | | v-model="topicobj.isavailable" |
| | | 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> |
| | | <div class="headline">é项设置</div> |
| | | <div class="topicxq" v-for="item in optionlist"> |
| | | <div |
| | | class="topicxq" |
| | | v-for="item in topicobj.svyLibTopicoptions" |
| | | > |
| | | <el-row :gutter="10"> |
| | | <el-col :span="11" |
| | | ><el-form-item label="é¢å·"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥" |
| | | v-model="item.optionid" |
| | | v-model="item.topicid" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | |
| | | > |
| | | <el-button type="primary" @click="laststep()">ä¸ä¸æ¥</el-button> |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | <el-button @click="Saveproblem('ruleForm')">ä¿åé¢ç®æ°æ®</el-button> |
| | | <el-button @click="submitForm('ruleForm')">ä¿åé¢ç®æ°æ®</el-button> |
| | | </div> |
| | | <!-- é®å·é¢è§ --> |
| | | <div v-if="Editprogress == 3"> |
| | |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | style="width: 200px" |
| | | @keyup.enter.native="handleQuery" |
| | | @keyup.enter.native="getaddtopiclist" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="主é¢" prop="sickness"> |
| | | <el-input |
| | | v-model="queryParams.userName" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | style="width: 200px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | @click="getaddtopiclist" |
| | | >æç´¢</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | |
| | | <el-table-column |
| | | label="æ é¢" |
| | | align="center" |
| | | key="userid" |
| | | prop="userid" |
| | | key="topic" |
| | | prop="topic" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="é®é¢å
容" |
| | | align="center" |
| | | key="userName" |
| | | prop="userName" |
| | | key="topicContent" |
| | | prop="topicContent" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="handleUpdate(scope.row)" |
| | | <el-button size="medium" type="text" @click="addtopic(scope.row)" |
| | | ><span class="button-textxg" |
| | | ><i class="el-icon-circle-plus-outline"></i>æ·»å </span |
| | | ></el-button |
| | |
| | | |
| | | <script> |
| | | import { listtag } from "@/api/system/label"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | import store from "@/store"; |
| | | import { |
| | | getQtemplateclassify, |
| | | delQtemplateclassify, |
| | | addQtemplateclassify, |
| | | getQtemplatelist, |
| | | compileQtemplate, |
| | | Qtemplateinfo, |
| | | compileissue, |
| | | delQtemplateinfo, |
| | | Followupinfo, |
| | | getissuelist, |
| | | deltargetillness, |
| | | addtargetillness, |
| | | getillnesslist, |
| | |
| | | { value: "topic", table: "topic" }, |
| | | { value: "topic", table: "topic" }, |
| | | ], |
| | | xjxsoptions: [ |
| | | { |
| | | value: "é项1", |
| | | label: "徿", |
| | | }, |
| | | { |
| | | value: "é项2", |
| | | label: "è§é¢", |
| | | }, |
| | | { |
| | | value: "é项3", |
| | | label: "é³é¢", |
| | | }, |
| | | ], |
| | | |
| | | fileList: [ |
| | | { |
| | | name: "food.jpeg", |
| | |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | ], |
| | | options: [ |
| | | { |
| | | value: "é项1", |
| | | label: "ç¾ç
é®å·", |
| | | }, |
| | | { |
| | | value: "é项2", |
| | | label: "å
¥é¢é®å·", |
| | | }, |
| | | ], |
| | | |
| | | variablelist: [ |
| | | { |
| | | variable: "paitent", |
| | |
| | | ], |
| | | addvalue: "æ·»å é¢ç®", |
| | | // é¢ç®è¡¨æ ¼æ°æ® |
| | | userList: [ |
| | | { |
| | | userid: "1", |
| | | userName: "ä¸å·é®å·", |
| | | }, |
| | | { |
| | | userid: "2", |
| | | userName: "äºå·é®å·", |
| | | }, |
| | | ], |
| | | userList: [], |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | themelist: [], |
| | | languagelist: [], |
| | | courtyardlist: [], |
| | |
| | | optionsillness: [], |
| | | illnesslistapi: [], |
| | | illnesslist: [], |
| | | |
| | | tempDetpRelevanceslist: [], |
| | | optionstag: [], |
| | | xjxsoptions: [], |
| | | usable: [], |
| | | required: [], |
| | | mode: [], //æ¹å¼ |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | phonenumber: undefined, |
| | | status: undefined, |
| | | deptId: undefined, |
| | | IDnumber: undefined, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.usable = store.getters.usable; |
| | | this.required = store.getters.required; |
| | | this.xjxsoptions = store.getters.xjxsoptions; |
| | | this.courtyardlist = store.getters.courtyardlist; |
| | | }, |
| | |
| | | // è·åæ°æ® |
| | | getissueinfo() { |
| | | this.id = this.$route.query.id; |
| | | Qtemplateinfo(this.id).then((res) => { |
| | | this.ruleForm = res.data; |
| | | getQtemplatelist({ svyid: this.id }).then((res) => { |
| | | this.ruleForm = res.rows[0]; |
| | | this.dynamicTags = this.ruleForm.labelInfo.split(","); |
| | | this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.split(","); |
| | | console.log(this.tempDetpRelevanceslist); |
| | | }); |
| | | getillnesslist({ |
| | | pageNum: 1, |
| | |
| | | getillness({ outid: this.id, type: 5 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | getQtemplateclassify({}).then((res) => { |
| | | this.optionsclass = res.rows; |
| | | }); |
| | | }, |
| | | submitForm(formName) {}, |
| | | submitForm(formName) { |
| | | this.ruleForm.labelInfo = this.dynamicTags.join(","); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | | |
| | | if (this.id) { |
| | | this.ruleForm.isoperation = 2; |
| | | compileQtemplate(this.ruleForm).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.$router.go(-1); |
| | | }); |
| | | } else { |
| | | this.ruleForm.isoperation = 1; |
| | | compileQtemplate(this.ruleForm).then((response) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.$router.go(-1); |
| | | }); |
| | | } |
| | | }, |
| | | // ç§å®¤å¤ç |
| | | Departmenttreatment() { |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | console.log(this.tempDetpRelevanceslist); |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | | ); |
| | | console.log(result); |
| | | // idæ°ç»æ¥æ°ç»å¯¹è±¡ |
| | | result.forEach((item) => { |
| | | const condition = this.ruleForm.tempDetpRelevances.some( |
| | | (obj) => obj.deptId === item |
| | | ); |
| | | if (!condition) { |
| | | listDept({ deptId: item }).then((res) => { |
| | | console.log(res.data[0]); |
| | | res.data[0].type = 2; |
| | | this.ruleForm.tempDetpRelevances.push(res.data[0]); |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | // æ°ç»å¯¹è±¡æ¥idæ°ç» |
| | | this.ruleForm.tempDetpRelevances.forEach((item) => { |
| | | const condition = result.some((obj) => obj === item.deptId); |
| | | if (!condition) { |
| | | const index = this.ruleForm.tempDetpRelevances.indexOf(item); |
| | | this.ruleForm.tempDetpRelevances[index].delFlag = 1; |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | setTimeout(() => { |
| | | this.submitForm(); |
| | | }, 1000); |
| | | // this.submitForm(); |
| | | }, |
| | | // ä¸ä¸æ¥ |
| | | nextstep() { |
| | | if (this.Editprogress <= 2) { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // ä¿åé¢ç®ä¿¡æ¯ |
| | | Saveproblem() {}, |
| | | /** æ¥è¯¢é¢ç®å表 */ |
| | | getList() { |
| | | // this.loading = true; |
| | | listUser().then((response) => { |
| | | console.log(response); |
| | | // this.userList = response.data; |
| | | // this.total = response.total; |
| | | // this.loading = false; |
| | | // è·åé¢ç®å表 |
| | | getaddtopiclist() { |
| | | this.drawer = true; |
| | | getissuelist(this.queryParams).then((res) => { |
| | | this.loading = false; |
| | | this.userList = res.rows; |
| | | this.total = res.total; |
| | | console.log(this.userList); |
| | | }); |
| | | // const { rows } = await listUser(); |
| | | // console.log(rows); |
| | | // this.list = rows; |
| | | }, |
| | | // æ°å¢é¢ç® |
| | | addtopic(row) { |
| | | row.isoperation = 1; |
| | | this.ruleForm.svyLibTopics.push(row); |
| | | }, |
| | | handleDelete(row) { |
| | | this.ruleForm.svyLibTopics.splice( |
| | | this.ruleForm.svyLibTopics.indexOf(row), |
| | | 1 |
| | | ); |
| | | }, |
| | | handleUpdate(row) { |
| | | console.log(row); |
| | | this.topicobj = row; |
| | | }, |
| | | |
| | | // ä¿®æ¹é¢ç®ä¿¡æ¯ |
| | | Submittopicobj() {}, |
| | | // æ°å¢åé |
| | |
| | | handleClosetag(tag) { |
| | | console.log(tag); |
| | | console.log(this.dynamicTags.indexOf(tag)); |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | // this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | |
| | | }; |
| | | } |
| | | // this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | // this.dynamicTags.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue.tagname); |
| | | }); |
| | | } |
| | | this.inputVisible = false; |
| | |
| | | this.$modal.msgSuccess("ç¼è¾æå"); |
| | | }, |
| | | // -------------------------- |
| | | // æ¥è¯¢é¢åº |
| | | handleQuery() {}, |
| | | resetQuery() {}, |
| | | resetQuery() { |
| | | this.queryParams = { pageNum: 1, pageSize: 10 }; |
| | | this.getaddtopiclist(); |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | |
| | | > |
| | | <span class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span>{{ node.label }}</span> |
| | | <span> |
| | | <span v-if="node.id > 0"> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-delete" |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="sickness"> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="queryParams.sickness" |
| | | :options="editableTabs" |
| | | :props="propss" |
| | | v-model="queryParams.administrative" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | ></el-cascader> |
| | | > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥å
容" prop="userName"> |
| | | <el-input |
| | |
| | | prop="description" |
| | | width="260" |
| | | /><el-table-column |
| | | label="éç¨ç¾ç
(缺)" |
| | | label="éç¨ç¾ç
" |
| | | align="center" |
| | | key="Applicable" |
| | | prop="Applicable" |
| | |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="éç¨ç§å®¤(缺)" |
| | | label="æ ç¾" |
| | | align="center" |
| | | key="administrative" |
| | | prop="administrative" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="æ ç¾(缺)" |
| | | align="center" |
| | | key="tagList" |
| | | prop="tagList" |
| | | key="labelInfo" |
| | | prop="labelInfo" |
| | | width="160" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.tagList">{{ item }} </span> |
| | | <span v-for="item in scope.row.labelInfo.split(',')" |
| | | >{{ item }}ã |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="èµæå½¢å¼(缺)" |
| | | align="center" |
| | | key="cphonenumaber" |
| | | prop="cphonenumaber" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="å¯ç¨" |
| | | align="center" |
| | |
| | | <el-option |
| | | v-for="item in deptOptions" |
| | | :key="item.id" |
| | | :label="item.indexAssortName" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="请è¾å
¥ç±»å«åç§°"> |
| | | <el-input |
| | | v-model="classifyform.indexAssortName" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | <el-input v-model="classifyform.name" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | |
| | | import { getToken } from "@/utils/auth"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | illnesslistapi: [], |
| | | illnesslist: [], |
| | | defaultProps: { |
| | | children: "svyLibTopicCategoryList", |
| | | label: "indexAssortName", |
| | | children: "svyLibTitleCategoryList", |
| | | label: "name", |
| | | }, |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | mode: [], |
| | | languagelist: [], |
| | | qyoptions: [], |
| | |
| | | watch: {}, |
| | | created() { |
| | | this.getList(); |
| | | // this.getDeptTree(); |
| | | this.getDeptTree(); |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.qyoptions = store.getters.usable; |
| | |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | let calssvalue = {}; |
| | | if ( |
| | | this.classifyform.pid && |
| | | this.classifyform.indexAssortName && |
| | | this.classifyform.name && |
| | | this.radio == "ååç±»" |
| | | ) { |
| | | const index = this.deptOptions.findIndex( |
| | | (obj) => obj.id == this.classifyform.pid |
| | | ); |
| | | calssvalue = this.deptOptions[index]; |
| | | calssvalue.ivrLibaTemplateAssortList.push(this.classifyform); |
| | | } else if (this.radio == "主åç±»" && this.classifyform.indexAssortName) { |
| | | calssvalue.svyLibTitleCategoryList.push(this.classifyform); |
| | | } else if (this.radio == "主åç±»" && this.classifyform.name) { |
| | | this.classifyform.pid = null; |
| | | this.classifyform.ivrLibaTemplateAssortList = []; |
| | | this.classifyform.svyLibTitleCategoryList = []; |
| | | } else { |
| | | return this.$modal.msgError("请填å宿´ä¿¡æ¯"); |
| | | } |
| | | addQtemplateclassify(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | | if (b.pid) { |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤å类项为"' + b.indexAssortName + '"çæ°æ®é¡¹ï¼') |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤å类项为"' + b.name + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | | return delQtemplateclassify(b.id); |
| | | }) |
| | |
| | | } else { |
| | | this.$modal |
| | | .confirm( |
| | | 'æ¯å¦ç¡®è®¤å é¤ä¸çº§åç±»"' + |
| | | b.indexAssortName + |
| | | '"ï¼å é¤åå
¶ä¸åç±»å°å½ç±»âæªåç±»â' |
| | | 'æ¯å¦ç¡®è®¤å é¤ä¸çº§åç±»"' + b.name + '"ï¼å é¤åå
¶ä¸åç±»å°å½ç±»âæªåç±»â' |
| | | ) |
| | | .then(() => { |
| | | return delQtemplateclassify(b.id); |
| | |
| | | // çéèç¹ |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.indexAssortName.indexOf(value) !== -1; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | handleNodeClick(data) { |
| | | this.queryParams.assortid = data.id; |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { messagelistpatient } from "@/api/patient/homepage"; |
| | | import { |
| | | getTaskpatient, |
| | | edithetask, |
| | | addhetask, |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | | } from "@/api/AiCentre/index"; |
| | | import SFtable from "@/components/SFtable"; //è¡¨æ ¼ç»ä»¶ |
| | | |
| | | export default { |
| | |
| | | methods: { |
| | | // è·åå½åç±»å |
| | | Acquisitiontype() { |
| | | getTaskpatient({ allhosp: 1 }).then((res) => { |
| | | console.log(res); |
| | | }); |
| | | this.currenttype = this.$route.query.type; |
| | | console.log(this.currenttype); |
| | | if (this.currenttype == 1) { |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | key="targetid" |
| | | prop="targetid" |
| | | /> |
| | | <el-table-column label="åºå·" align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | label="éç¨åºåç§°" |
| | | align="center" |
| | |
| | | addgeneralclassify(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | |
| | | reset() { |
| | | this.indexform = { |
| | | suitWay: undefined, |
| | | targetid: undefined, |
| | | id: undefined, |
| | | targetdesc: undefined, |
| | | baseTagList: [], |
| | | targetoptionList: [], |
| | |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.targetid); |
| | | this.ids = selection.map((item) => item.id); |
| | | this.single = selection.length != 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | |
| | | this.targetoptionList |
| | | ); |
| | | if (valid) { |
| | | if (this.indexform.targetid != undefined) { |
| | | if (this.indexform.id != undefined) { |
| | | this.indexform.isoperation = 2; |
| | | editgeneral(this.indexform).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | const userIds = row.targetid || this.ids; |
| | | const userIds = row.id || this.ids; |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤éç¨åºå称为"' + row.targetname + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | key="targetid" |
| | | prop="targetid" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | label="é®é¢ä¸»é¢ï¼ç¼ºï¼" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | key="targetid" |
| | | prop="targetid" |
| | | /> |
| | | <el-table-column label="åºå·" align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | label="å¼ç±»å" |
| | | align="center" |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | <el-card class="box-card" style="margin-bottom: 20px"> |
| | | <Regular :TargetoptionList="testuserList" /> |
| | | </el-card> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æµè¯è¾å
¥" prop="nickName"> |
| | |
| | | } from "@/api/AiCentre/index"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import Regular from "@/components/Regular"; //æ£åç»ä»¶ |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | import { listtag } from "@/api/system/label"; |
| | | import store from "@/store"; |
| | |
| | | export default { |
| | | name: "questionnaire", |
| | | dicts: ["sys_normal_disable", "sys_user_sex"], |
| | | components: { Treeselect }, |
| | | components: { Treeselect, Regular }, |
| | | data() { |
| | | return { |
| | | topactiveName: "Local", //é¡¶é¨éæ© |
| | |
| | | // ç¾ç
----------------------- |
| | | illnessUpdate(row) { |
| | | this.illnessVisible = true; |
| | | this.indexid = row.targetid; |
| | | this.indexid = row.id; |
| | | this.illnesslistapi = []; |
| | | const illnessqueryParams = { |
| | | pageNum: 1, |
| | |
| | | console.log(response); |
| | | this.optionsillness = response.rows; |
| | | }); |
| | | getillness({ outid: row.targetid, type: 1 }).then((res) => { |
| | | getillness({ outid: row.id, type: 1 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | console.log(res); |
| | | }); |
| | |
| | | addoption() { |
| | | const objvakue = { |
| | | guid: 1, |
| | | targetid: this.indexform.targetid, |
| | | id: this.indexform.id, |
| | | targettype: this.indexform.targettype, |
| | | targetvalue: "è´«è¡", |
| | | targetregex: "(?!ä¸.*|没.*|æª.*)^.*([è´«å¹³åè¡]|è´«è¡|è¯å¦|è¯å¦),10", |
| | |
| | | targetvalue: item.targetvalue, |
| | | targetregex: item.targetregex, |
| | | targetoptionid: item.targetoptionid, |
| | | targetid: this.indexform.targetid, |
| | | id: this.indexform.id, |
| | | targettype: this.indexform.targettype, |
| | | isoperation: item.targetoptionid ? 2 : 1, |
| | | categoryName: item.categoryName, |
| | |
| | | addtreeselectIvrLibaTargetAssort(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | |
| | | reset() { |
| | | this.indexform = { |
| | | suitWay: undefined, |
| | | targetid: undefined, |
| | | id: undefined, |
| | | targetdesc: undefined, |
| | | baseTagList: [], |
| | | targetoptionList: [], |
| | |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.targetid); |
| | | this.ids = selection.map((item) => item.id); |
| | | this.single = selection.length != 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | |
| | | this.targetoptionList |
| | | ); |
| | | if (valid) { |
| | | if (this.indexform.targetid != undefined) { |
| | | if (this.indexform.id != undefined) { |
| | | this.indexform.isoperation = 2; |
| | | gettargetInfoedit(this.indexform).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | const userIds = row.targetid || this.ids; |
| | | const userIds = row.id || this.ids; |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å 餿æ å称为"' + row.targetname + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | |
| | | ></el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ææ¥ä¼å
" prop="playType"> |
| | | <el-radio-group v-model="ruleForm.playType"> |
| | | <el-radio |
| | | <el-select |
| | | v-model="ruleForm.playType" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©è¯è¨" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in precedencetype" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item></el-col |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="é访æ¹å¼" prop="region"> |
| | | <el-select |
| | | style="width: 500px" |
| | | v-model="ruleForm.way" |
| | | v-model="ruleForm.suitway" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="éç¨é¢åº" prop="region"> |
| | | <el-select |
| | | v-model="campusvalue" |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-select |
| | | style="width: 500px" |
| | | v-model="deptNamesvalue" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»ï¼å¤éï¼" |
| | | <el-cascader |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in administrativelist" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨åº" prop="region"> |
| | | <el-select |
| | | style="width: 500px" |
| | | v-model="ruleForm.waya" |
| | | v-model="ruleForm.submoduleID" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | |
| | | >ä¸ä¸æ¥</el-button |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | <el-button @click="submitForm('ruleForm')" |
| | | <el-button @click="Departmenttreatment('ruleForm')" |
| | | >ä¿åé访模çåºç¡ä¿¡æ¯</el-button |
| | | > |
| | | </el-form-item> |
| | |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | round |
| | | @click="drawer = true" |
| | | @click="getaddtopiclist" |
| | | >æ·»å é¢ç®</el-button |
| | | > |
| | | </div> |
| | | <div class="presentation"> |
| | | <div class="presentation-left"> |
| | | <el-card class="box-card" style="min-height: 688px"> |
| | | <el-table v-loading="loading" :data="userList"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="ruleForm.ivrLibaTemplateScriptVOList" |
| | | > |
| | | <el-table-column |
| | | label="ç¼å·" |
| | | align="center" |
| | | key="userid" |
| | | prop="userid" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | label="æ é¢" |
| | | align="center" |
| | | key="userName" |
| | | prop="userName" |
| | | key="questiontitle" |
| | | prop="questiontitle" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="é®é¢è¯æ¯" |
| | | align="center" |
| | | key="verbaltrick" |
| | | prop="verbaltrick" |
| | | key="questionText" |
| | | prop="questionText" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | circle |
| | | @click="deloption(scope.row)" |
| | | @click="handleDelete(scope.row)" |
| | | ></el-button> |
| | | <el-button |
| | | @click="syioption(scope.row)" |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | <div class="presentation-right"> |
| | | <el-card class="box-card"> |
| | |
| | | </div> |
| | | <el-form-item label="é¢ç®æ é¢"> |
| | | <el-input |
| | | v-model="topicobj.title" |
| | | v-model="topicobj.questiontitle" |
| | | placeholder="请è¾å
¥æ é¢" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="æ¯å¦å¿
ç"> |
| | | <el-radio-group v-model="topicobj.resource"> |
| | | <el-radio label="æ¯"></el-radio> |
| | | <el-radio label="å¦"></el-radio> |
| | | </el-radio-group> </el-form-item |
| | | ><el-form-item label="æ¯å¦å¿
å¡«"> |
| | | <el-select |
| | | v-model="topicobj.ismandatory" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in required" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="æ¯å¦éè"> |
| | | <el-radio-group v-model="topicobj.resourcea"> |
| | | <el-radio label="æ¯"></el-radio> |
| | | <el-radio label="å¦"></el-radio> |
| | | </el-radio-group> </el-form-item |
| | | ><el-form-item label="æ¯å¦å¯ç¨"> |
| | | <el-select |
| | | v-model="topicobj.isavailable" |
| | | 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> |
| | | <div class="headline"> |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="topicxq" v-for="item in 2"> |
| | | <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="queryParams.text" |
| | | v-model="item.targetvalue" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥èç¹" |
| | | v-model="queryParams.text" |
| | | v-model="item.targetid" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | |
| | | <el-input |
| | | type="text" |
| | | placeholder="(é»è®¤)æ 声" |
| | | v-model="queryParams.text" |
| | | 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-form-item label="éä¸è·³è½¬(缺)"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥é¢ç®èç¹" |
| | | v-model="queryParams.text" |
| | | v-model="item.jump" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | |
| | | style="width: 24vw" |
| | | type="textarea" |
| | | placeholder="请è¾å
¥é¢å·" |
| | | v-model="queryParams.text" |
| | | v-model="item.targetregex" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | |
| | | > |
| | | <el-button type="primary" @click="laststep()">ä¸ä¸æ¥</el-button> |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | <el-button @click="Saveproblem('ruleForm')">ä¿åé¢ç®æ°æ®</el-button> |
| | | <el-button @click="Departmenttreatment('ruleForm')" |
| | | >ä¿åé¢ç®æ°æ®</el-button |
| | | > |
| | | </div> |
| | | <!-- é访模çé¢è§ --> |
| | | <div v-if="Editprogress == 3"> |
| | |
| | | > |
| | | <el-form-item label="æ é¢" prop="userName"> |
| | | <el-input |
| | | v-model="queryParams.userName" |
| | | v-model="queryParams.questiontitle" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | style="width: 200px" |
| | | @keyup.enter.native="handleQuery" |
| | | @keyup.enter.native="getaddtopiclist" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="主é¢" prop="sickness"> |
| | | <el-select |
| | | v-model="ruleForm.classify" |
| | | size="medium" |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in themelist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | @click="getaddtopiclist" |
| | | >æç´¢</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | |
| | | <el-table-column |
| | | label="æ é¢" |
| | | align="center" |
| | | key="userName" |
| | | prop="userName" |
| | | key="questiontitle" |
| | | prop="questiontitle" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="é®é¢è¯æ¯" |
| | | align="center" |
| | | key="verbaltrick" |
| | | prop="verbaltrick" |
| | | key="questionText" |
| | | prop="questionText" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="handleUpdate(scope.row)" |
| | | <el-button size="medium" type="text" @click="addtopic(scope.row)" |
| | | ><span class="button-textxg" |
| | | ><i class="el-icon-circle-plus-outline"></i>æ·»å </span |
| | | ></el-button |
| | |
| | | <script> |
| | | import { listtag } from "@/api/system/label"; |
| | | import store from "@/store"; |
| | | |
| | | import { listDept } from "@/api/system/dept"; |
| | | import { |
| | | getFollowupclassify, |
| | | delFollowupclassify, |
| | |
| | | addtargetillness, |
| | | getvFollowup, |
| | | compileFollowup, |
| | | getverbaltricklist, |
| | | getverbaltrick, |
| | | delFollowupinfo, |
| | | Followupinfo, |
| | | getFollowuplist, |
| | |
| | | drawer: false, //æ§å¶å±å¼ |
| | | radios: [], //å¤éé¢éä¸ |
| | | radioas: "", //填空é¢çæ¡ |
| | | campusvalue: [], //é¢åºä¸´æ¶åå¨ |
| | | labelInfovalue: [], //æ ç¾ä¸´æ¶åå¨ |
| | | deptNamesvalue: [], //ç§å®¤ä¸´æ¶åå¨ |
| | | dynamicTags: [], |
| | |
| | | optionstag: [], |
| | | prefollowuplist: [], |
| | | postfollowuplist: [], |
| | | generallist: [{ value: "1", label: "é访éç¨åºä¸" }], |
| | | generallist: [ |
| | | { value: "1", label: "é访éç¨åºä¸" }, |
| | | { value: "2", label: "é访äºåº" }, |
| | | ], |
| | | |
| | | fileList: [ |
| | | { |
| | |
| | | courtyardlist: [], |
| | | precedencetype: [], |
| | | usable: [], |
| | | required: [], |
| | | mode: [], |
| | | inputVisible: false, |
| | | inputVisibleillness: false, |
| | |
| | | children: "ivrLibaTemplateAssortList", |
| | | label: "indexAssortName", |
| | | }, |
| | | tempDetpRelevanceslist: [], |
| | | variablelist: [ |
| | | { variatename: "å§å", variate: "${name}", default: 1 }, |
| | | { variatename: "çµè¯", variate: "${phone}", default: 1 }, |
| | | { variatename: "ç
æ
", variate: "${illness}", default: 1 }, |
| | | ], |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | |
| | | variablelist: [ |
| | | { |
| | |
| | | this.auxiliary(); |
| | | this.mode = store.getters.mode; |
| | | this.usable = store.getters.usable; |
| | | this.required = store.getters.required; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.courtyardlist = store.getters.courtyardlist; |
| | | this.precedencetype = store.getters.precedencetype; |
| | |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | | processElement(element) { |
| | | return { ...element, isoperation: 0 }; |
| | | }, |
| | | // è·åè¡¨åæ°æ® |
| | | getvFollowup() { |
| | | this.id = this.$route.query.id; |
| | | |
| | | 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.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; |
| | | this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( |
| | | this.processElement |
| | | ); |
| | | console.log(this.ruleForm.suitway); |
| | | }); |
| | | getillnesslist({ |
| | | pageNum: 1, |
| | |
| | | }); |
| | | getillness({ outid: this.id, type: 3 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | | // é屿°æ®è¡¨ |
| | |
| | | if (this.ruleForm.id) { |
| | | this.ruleForm.isoperation = 2; |
| | | } else { |
| | | this.ruleForm.isoperation = 2; |
| | | this.ruleForm.isoperation = 1; |
| | | } |
| | | this.ruleForm.campus = JSON.stringify(this.illnesslist); |
| | | this.ruleForm.deptNames = this.deptNamesvalue.join(","); |
| | | this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | | this.ruleForm.campus = this.ruleForm.campus.join(","); |
| | | this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); |
| | | |
| | | // æäº¤ |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | compileFollowup(this.ruleForm).then((res) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | }); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | |
| | | compileFollowup(this.ruleForm).then((res) => { |
| | | this.$modal.msgSuccess("ç¼è¾æå"); |
| | | }); |
| | | this.illnesslist.forEach((item, index) => { |
| | | if (!item.id) { |
| | | addtargetillness(item).then((res) => {}); |
| | | } |
| | | }); |
| | | if (this.illnesslistapi.length) { |
| | | deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); |
| | | } |
| | | }, |
| | | // ç§å®¤å¤ç |
| | | Departmenttreatment() { |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | console.log(this.tempDetpRelevanceslist); |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | | ); |
| | | // idæ°ç»æ¥æ°ç»å¯¹è±¡ |
| | | result.forEach((item) => { |
| | | const condition = this.ruleForm.tempDetpRelevances.some( |
| | | (obj) => obj.deptId === item |
| | | ); |
| | | if (!condition) { |
| | | listDept({ deptId: item }).then((res) => { |
| | | res.data[0].type = 2; |
| | | this.ruleForm.tempDetpRelevances.push(res.data[0]); |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | // æ°ç»å¯¹è±¡æ¥idæ°ç» |
| | | this.ruleForm.tempDetpRelevances.forEach((item) => { |
| | | const condition = result.some((obj) => obj === item.deptId); |
| | | if (!condition) { |
| | | const index = this.ruleForm.tempDetpRelevances.indexOf(item); |
| | | this.ruleForm.tempDetpRelevances[index].delFlag = 1; |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.tempDetpRelevances); |
| | | setTimeout(() => { |
| | | this.submitForm(); |
| | | }, 1000); |
| | | // this.submitForm(); |
| | | }, |
| | | // ä¸ä¸æ¥ |
| | | nextstep() { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // ä¿åé¢ç®ä¿¡æ¯ |
| | | Saveproblem() {}, |
| | | |
| | | /** æ¥è¯¢é¢ç®å表 */ |
| | | getList() { |
| | | // this.loading = true; |
| | |
| | | console.log(this.dynamicTags.indexOf(tag)); |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); |
| | | this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | }); |
| | | } |
| | |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | }, |
| | | //æµè¯è¡¨å --------------------------------- |
| | | //è¯æ¯é¢ç®---------------- |
| | | addzbiao() {}, |
| | | handleUpdate() {}, |
| | | deloption(item) { |
| | | resetQuery() { |
| | | this.queryParams = { pageNum: 1, pageSize: 10 }; |
| | | this.getaddtopiclist(); |
| | | }, |
| | | getaddtopiclist() { |
| | | this.drawer = true; |
| | | getverbaltricklist(this.queryParams).then((res) => { |
| | | this.loading = false; |
| | | this.userList = res.rows; |
| | | this.total = res.total; |
| | | console.log(this.userList); |
| | | }); |
| | | }, |
| | | addtopic(row) { |
| | | row.isoperation = 1; |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.push(row); |
| | | }, |
| | | handleDelete(row) { |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.splice( |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), |
| | | 1 |
| | | ); |
| | | }, |
| | | handleUpdate(row) { |
| | | console.log(row.id); |
| | | getverbaltrick({ id: row.id }).then((res) => { |
| | | this.topicobj = res.data; |
| | | console.log(res.data); |
| | | }); |
| | | }, |
| | | handleDelete(item) { |
| | | const index = this.userList.indexOf(item); |
| | | if (index !== -1) { |
| | | this.userList.splice(index, 1); // ä»ç´¢å¼ä½ç½®å é¤ä¸ä¸ªå
ç´ |
| | |
| | | console.log(this.userList); |
| | | }, |
| | | // --------------------- |
| | | // æ¥è¯¢é¢åº |
| | | handleQuery() {}, |
| | | resetQuery() {}, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | |
| | | <template> |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧æ --> |
| | | <div class="sidecolumn" v-show="topactiveName == 'Local'"> |
| | | <div class="sidecolumn"> |
| | | <div class="sidecolumn-top"> |
| | | <div class="top-wj">模çç±»å</div> |
| | | <div class="top-tj" @click="dialogFormVisible = true">+æ·»å </div> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- å³ä¾§æ°æ® --> |
| | | <div :class="topactiveName == 'Local' ? 'leftvlue' : 'leftvlues'"> |
| | | <div class="leftvlue"> |
| | | <div class="leftvlue-bg"> |
| | | <el-row :gutter="20"> |
| | | <!--ç¨æ·æ°æ®--> |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in languagelist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="queryParams.administrative" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="å¯ç¨ç¶æ" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="è¯·éæ©"> |
| | |
| | | </el-row> |
| | | <!-- æ 忍¡ç --> |
| | | <el-table |
| | | v-if="topactiveName == 'Local'" |
| | | v-loading="loading" |
| | | :data="userList" |
| | | :border="true" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="éç¨ç§å®¤" |
| | | align="center" |
| | | key="deptNames" |
| | | prop="deptNames" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.deptNames"> |
| | | <span v-for="item in scope.row.deptNames.split(',')" |
| | | >{{ item }} |
| | | </span> |
| | | </div> |
| | | <div v-else>''</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æ ç¾" |
| | | align="center" |
| | | key="labelInfo" |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.campus"> |
| | | <span v-for="item in JSON.parse(scope.row.campus)" |
| | | >{{ item.label }} |
| | | <span v-for="item in scope.row.campus.split(',')" |
| | | >{{ item }}ã |
| | | </span> |
| | | </div> |
| | | <div v-else> |
| | |
| | | getvFollowup, |
| | | compileFollowup, |
| | | delFollowupinfo, |
| | | getverbaltricklist, |
| | | Followupinfo, |
| | | getFollowuplist, |
| | | getillnesslist, |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | export default { |
| | | name: "templateku", |
| | | data() { |
| | |
| | | children: "ivrLibaTemplateAssortList", |
| | | label: "indexAssortName", |
| | | }, |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | mode: [], |
| | | languagelist: [], |
| | | qyoptions: [], |
| | |
| | | console.log(this.userList); |
| | | this.userList = res.rows; |
| | | this.total = res.total; |
| | | |
| | | console.log(this.userList[0].campus.split(",")); |
| | | }); |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | addFollowupclassify(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="é®é¢ä¸»é¢" prop="userName"> |
| | | <el-form-item label="é®é¢æ é¢" prop="userName"> |
| | | <el-input |
| | | v-model="queryParams.userName" |
| | | placeholder="请è¾å
¥" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨æ¹å¼" prop="status"> |
| | | <el-select v-model="queryParams.applyway" placeholder="è¯·éæ©"> |
| | | <el-select v-model="queryParams.suitway" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in languagelist" |
| | | v-for="item in mode" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | /><el-table-column |
| | | label="éç¨æ¹å¼" |
| | | align="center" |
| | | key="application" |
| | | prop="application" |
| | | key="suitway" |
| | | prop="suitway" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="mode" :value="scope.row.suitWay" /> |
| | | <dict-tag :options="mode" :value="scope.row.suitway" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | getverbaltricklist(this.queryParams).then((res) => { |
| | | this.userList = res.rows; |
| | | this.loading = false; |
| | | this.total=res.total |
| | | this.total = res.total; |
| | | }); |
| | | }, |
| | | |
| | |
| | | addbaltrickclassify(this.classifyform).then((res) => { |
| | | this.getDeptTree(); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.classifyform = {}; |
| | | this.dialogFormVisible = false; |
| | | }); |
| | | }, |
| | | remove(a, b) { |
| | |
| | | placeholder="è¯·éæ©ç¶æ" |
| | | > |
| | | <el-option |
| | | v-for="item in qyoptions" |
| | | v-for="item in usable" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | 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> |
| | |
| | | class="tsgname" |
| | | @click="tsgnameto(item)" |
| | | > |
| | | {{ item.name }} |
| | | {{ item.variatename }} |
| | | </div> |
| | | </div> |
| | | </el-col></el-row |
| | |
| | | > |
| | | </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> |
| | | <!-- ææ è®¾ç½® --> |
| | |
| | | </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> |
| | |
| | | mode: [], |
| | | questionclass: [], |
| | | currentInputId: "", |
| | | |
| | | courtyardlist: [], |
| | | // æ»æ¡æ° |
| | | total: 1, |
| | | |
| | |
| | | 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: [], //è¯è¨å表 |
| | |
| | | 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: { |
| | |
| | | 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) => { |
| | |
| | | |
| | | // ä¿å详ç»ä¿¡æ¯ |
| | | 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 { |
| | |
| | | compileverbaltrick(this.indexform).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.$router.go(-1); |
| | | } else { |
| | | this.$message({ |
| | | message: "æ°å¢å¤±è´¥", |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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.indexform.ivrLibaScriptTargetoptionList.length) { |
| | | return this.Editprogress++; |
| | | } |
| | | 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("请å
éæ©å
³èææ "); |
| | |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | }, |
| | | // -------------------------- |
| | | //æµè¯è¡¨å -------------------------- |
| | | gettagerlist() { |
| | | gettagerlist({ targetname: this.targetname }).then((response) => { |
| | |
| | | }); |
| | | this.sortFn(); |
| | | }, |
| | | deloption() { |
| | | deloption(item) { |
| | | const index = this.indexform.ivrLibaScriptTargetoptionList.indexOf(item); |
| | | if (index !== -1) { |
| | | this.indexform.ivrLibaScriptTargetoptionList.splice(index, 1); // ä»ç´¢å¼ä½ç½®å é¤ä¸ä¸ªå
ç´ |
| | |
| | | // æ¿å°é䏿åçé¿åº¦ï¼åç»å¯ä»¥ç¨æ¥æ¿æ¢éä¸çæåï¼ |
| | | let selectLength = el.selectionEnd - el.selectionStart; |
| | | // å°è¦æå
¥/æ¿æ¢çæåæå
¥/æ¿æ¢ï¼value.nameæ¯è¦æå
¥/æ¿æ¢çåç¬¦ä¸²ï¼ |
| | | inputValueArr.splice(el.selectionStart, selectLength, `${row.value}`); |
| | | inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); |
| | | // ææ°ç»éæ°è½¬æ¢ä¸ºå符串并èµå¼ |
| | | inputValueArr = inputValueArr.join(""); |
| | | console.log(inputValueArr); |
| | |
| | | // æ°å¢åé |
| | | addvariable() { |
| | | this.variablelist.push({ |
| | | variable: "", |
| | | value: "", |
| | | variatename: "", |
| | | variate: "", |
| | | }); |
| | | }, |
| | | // å é¤åé |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="éç¨ç§å®¤" prop="userName"> |
| | | <el-select |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="queryParams.administrative" |
| | | placeholder="è¯·éæ©" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in optionks" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥æ é¢" prop="userName"> |
| | | <el-input |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="éç¨ç§å®¤" prop="userName"> |
| | | <el-select |
| | | v-model="indexform.useofstateks" |
| | | multiple |
| | | placeholder="è¯·éæ©(å¤é)" |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="indexform.administrative" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="index in optionks" |
| | | :key="index.value" |
| | | :label="index.label" |
| | | :value="index.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | addUser, |
| | | updateUser, |
| | | } from "@/api/system/user"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | }; |
| | | }, |
| | | watch: {}, |
| | |
| | | // const { rows } = await listUser(); |
| | | // console.log(rows); |
| | | // this.list = rows; |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | | // æ·»å ãä¿®æ¹ç±»å« |
| | | submitsidecolumn() { |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | > |
| | | <el-form-item label="é¨é¨åç§°" prop="deptName"> |
| | | <el-input |
| | | v-model="queryParams.deptName" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="é¨é¨ç¶æ" clearable> |
| | | <el-select |
| | | v-model="queryParams.status" |
| | | placeholder="é¨é¨ç¶æ" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >æç´¢</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >éç½®</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:dept:add']" |
| | | >æ°å¢</el-button> |
| | | >æ°å¢</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | |
| | | icon="el-icon-sort" |
| | | size="mini" |
| | | @click="toggleExpandAll" |
| | | >å±å¼/æå </el-button> |
| | | >å±å¼/æå </el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table |
| | |
| | | :data="deptList" |
| | | row-key="deptId" |
| | | :default-expand-all="isExpandAll" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}" |
| | | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" |
| | | > |
| | | <el-table-column prop="deptName" label="é¨é¨åç§°" width="260"></el-table-column> |
| | | <el-table-column prop="orderNum" label="æåº" width="200"></el-table-column> |
| | | <el-table-column |
| | | prop="deptName" |
| | | label="é¨é¨åç§°" |
| | | width="260" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="orderNum" |
| | | label="æåº" |
| | | width="200" |
| | | ></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" width="100"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> |
| | | <dict-tag |
| | | :options="dict.type.sys_normal_disable" |
| | | :value="scope.row.status" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å建æ¶é´" align="center" prop="createTime" width="200"> |
| | | <el-table-column |
| | | label="å建æ¶é´" |
| | | align="center" |
| | | prop="createTime" |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column |
| | | label="æä½" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:dept:edit']" |
| | | >ä¿®æ¹</el-button> |
| | | >ä¿®æ¹</el-button |
| | | > |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-plus" |
| | | @click="handleAdd(scope.row)" |
| | | v-hasPermi="['system:dept:add']" |
| | | >æ°å¢</el-button> |
| | | >æ°å¢</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.parentId != 0" |
| | | size="mini" |
| | |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:dept:remove']" |
| | | >å é¤</el-button> |
| | | >å é¤</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-row> |
| | | <el-col :span="24" v-if="form.parentId !== 0"> |
| | | <el-form-item label="ä¸çº§é¨é¨" prop="parentId"> |
| | | <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="éæ©ä¸çº§é¨é¨" /> |
| | | <treeselect |
| | | v-model="form.parentId" |
| | | :options="deptOptions" |
| | | :normalizer="normalizer" |
| | | placeholder="éæ©ä¸çº§é¨é¨" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¾ç¤ºæåº" prop="orderNum"> |
| | | <el-input-number v-model="form.orderNum" controls-position="right" :min="0" /> |
| | | <el-input-number |
| | | v-model="form.orderNum" |
| | | controls-position="right" |
| | | :min="0" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è´è´£äºº" prop="leader"> |
| | | <el-input v-model="form.leader" placeholder="请è¾å
¥è´è´£äºº" maxlength="20" /> |
| | | <el-input |
| | | v-model="form.leader" |
| | | placeholder="请è¾å
¥è´è´£äºº" |
| | | maxlength="20" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="èç³»çµè¯" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请è¾å
¥èç³»çµè¯" maxlength="11" /> |
| | | <el-input |
| | | v-model="form.phone" |
| | | placeholder="请è¾å
¥èç³»çµè¯" |
| | | maxlength="11" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="é®ç®±" prop="email"> |
| | | <el-input v-model="form.email" placeholder="请è¾å
¥é®ç®±" maxlength="50" /> |
| | | <el-input |
| | | v-model="form.email" |
| | | placeholder="请è¾å
¥é®ç®±" |
| | | maxlength="50" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | >{{ dict.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"; |
| | | import { |
| | | listDept, |
| | | getDept, |
| | | delDept, |
| | | addDept, |
| | | updateDept, |
| | | listDeptExcludeChild, |
| | | } from "@/api/system/dept"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | | export default { |
| | | name: "Dept", |
| | | dicts: ['sys_normal_disable'], |
| | | dicts: ["sys_normal_disable"], |
| | | components: { Treeselect }, |
| | | data() { |
| | | return { |
| | |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | deptName: undefined, |
| | | status: undefined |
| | | status: undefined, |
| | | }, |
| | | // 表ååæ° |
| | | form: {}, |
| | | // è¡¨åæ ¡éª |
| | | rules: { |
| | | parentId: [ |
| | | { required: true, message: "ä¸çº§é¨é¨ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | { required: true, message: "ä¸çº§é¨é¨ä¸è½ä¸ºç©º", trigger: "blur" }, |
| | | ], |
| | | deptName: [ |
| | | { required: true, message: "é¨é¨åç§°ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | { required: true, message: "é¨é¨åç§°ä¸è½ä¸ºç©º", trigger: "blur" }, |
| | | ], |
| | | orderNum: [ |
| | | { required: true, message: "æ¾ç¤ºæåºä¸è½ä¸ºç©º", trigger: "blur" } |
| | | { required: true, message: "æ¾ç¤ºæåºä¸è½ä¸ºç©º", trigger: "blur" }, |
| | | ], |
| | | email: [ |
| | | { |
| | | type: "email", |
| | | message: "请è¾å
¥æ£ç¡®çé®ç®±å°å", |
| | | trigger: ["blur", "change"] |
| | | } |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | phone: [ |
| | | { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | message: "请è¾å
¥æ£ç¡®çææºå·ç ", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | } |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | /** æ¥è¯¢é¨é¨å表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listDept(this.queryParams).then(response => { |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | console.log(this.deptList); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | |
| | | return { |
| | | id: node.deptId, |
| | | label: node.deptName, |
| | | children: node.children |
| | | children: node.children, |
| | | }; |
| | | }, |
| | | // åæ¶æé® |
| | |
| | | leader: undefined, |
| | | phone: undefined, |
| | | email: undefined, |
| | | status: "0" |
| | | status: "0", |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | } |
| | | this.open = true; |
| | | this.title = "æ·»å é¨é¨"; |
| | | listDept().then(response => { |
| | | listDept().then((response) => { |
| | | this.deptOptions = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }, |
| | |
| | | /** ä¿®æ¹æé®æä½ */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | getDept(row.deptId).then(response => { |
| | | getDept(row.deptId).then((response) => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "ä¿®æ¹é¨é¨"; |
| | | listDeptExcludeChild(row.deptId).then(response => { |
| | | listDeptExcludeChild(row.deptId).then((response) => { |
| | | this.deptOptions = this.handleTree(response.data, "deptId"); |
| | | if (this.deptOptions.length == 0) { |
| | | const noResultsOptions = { deptId: this.form.parentId, deptName: this.form.parentName, children: [] }; |
| | | const noResultsOptions = { |
| | | deptId: this.form.parentId, |
| | | deptName: this.form.parentName, |
| | | children: [], |
| | | }; |
| | | this.deptOptions.push(noResultsOptions); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | /** æäº¤æé® */ |
| | | submitForm: function() { |
| | | this.$refs["form"].validate(valid => { |
| | | submitForm: function () { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.deptId != undefined) { |
| | | updateDept(this.form).then(response => { |
| | | updateDept(this.form).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addDept(this.form).then(response => { |
| | | addDept(this.form).then((response) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤å称为"' + row.deptName + '"çæ°æ®é¡¹ï¼').then(function() { |
| | | return delDept(row.deptId); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }).catch(() => {}); |
| | | } |
| | | } |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤å称为"' + row.deptName + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | | return delDept(row.deptId); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |