Browse Source

静态知识修改

zhouna 6 years ago
parent
commit
27e21af25e

+ 36 - 6
src/components/icss/AddPromptInfo.vue

@@ -10,7 +10,7 @@
                      label-width="130px"
                      ref="groups">
                 <el-form-item label="静态知识名称:" prop="name">
-                    <el-input v-model="form.name"></el-input>
+                    <el-input v-model="form.name" disabled="isEdit"></el-input>
                 </el-form-item>
                 <InfoParagraph v-for="(f,i) in form.prags"
                                :data="f"
@@ -27,6 +27,7 @@
                     </el-form-item>
                     <TagPool :pool="tagPool"
                              :type="form.tagFor"
+                             :selected="editData.selectedTags"
                              @changeActionData="changeActionData"></TagPool>
                 </el-form-item>
                 </el-form>
@@ -67,13 +68,19 @@
         isEdit:false,
         tagPool:[],                 //标签池数据
         Adscriptions:[],            //归属列表
+        editData:{
+          tagFor:'',
+          selectedTags:[],
+          prags:[]
+        },
         form:{
           name:'',
+          tagFor:'',
           selectedTags:[],            //关联标签
           prags:[{              //单个段落相关
             title:'',
             content:'',
-            isReason:'0',
+            isReason:0,
             orderNo:0,
             position:[],
             text:''}]
@@ -93,17 +100,40 @@
       this.getDropList();           //标签归属列表获取
       if(isEdit){
         this.isEdit = isEdit;
-        /*this.form = {
-            name: data.name
-        }*/
+        const id = data.id;
+        api.getPrompDetail({id}).then((res) =>{
+          if(res.data.code === '0') {
+            this.form = this.parseData(res.data.data);
+            this.editData = Object.assign({},this.form);
+          }else{
+            this.warning("数据获取失败");
+          }
+        })
       }
     },
     methods: {
       back() { this.$router.go(-1) },
+      mapStringToNum(str){
+        return str.split(",").map((it)=>{
+          return +it;
+        })
+      },
+      parseData(info){
+        let detail = [];
+        info.details.forEach((it)=>{
+          detail.push(Object.assign({},it,{position:this.mapStringToNum(it.position)}));
+        });
+        return {
+          name:info.name,
+          tagFor:info.questionList[0].type+'',
+          selectedTags:info.questionList,
+          prags:detail
+        };
+      },
       addParagraph(){
         this.form.prags.push({title:'',
           content:'',
-          isReason:'0',
+          isReason:0,
           orderNo:0,
           position:[],
           text:''});

+ 5 - 5
src/components/icss/InfoParagraph.vue

@@ -3,13 +3,13 @@
             <p class="line"></p>
             <el-input v-model="data.orderNo" :value="index" type="hidden"></el-input>
             <el-form-item label="是否属于诊断:" prop="isReason" @change="emitVal">
-                <el-select v-model="data.isReason" placeholder="请选择">
-                    <el-option label="否" value="0"></el-option>
-                    <el-option label="是" value="1"></el-option>
+                <el-select v-model="data.isReason" placeholder="请选择" disabled="isEdit">
+                    <el-option label="否" :value="0"></el-option>
+                    <el-option label="是" :value="1"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="显示位置:" prop="position" label-width="130px">
-                <el-checkbox-group v-model="data.position" @change="emitVal">
+                <el-checkbox-group v-model="data.position" @change="emitVal" disabled="isEdit">
                     <el-checkbox v-for="it in positions" :key="it.key" :label="it.key">{{it.name}}</el-checkbox>
                 </el-checkbox-group>
             </el-form-item>
@@ -87,7 +87,7 @@
       delEmit(){
         this.$emit("del",this.index);
       },
-      emitVal(){console.log(this.data.position)
+      emitVal(){
         let data = Object.assign({},this.data);
         data =   Object.assign({},data,{position:this.data.position?this.data.position.join(","):''});
         this.$emit("change",this.index,data);

+ 6 - 3
src/components/icss/PromptInfo.vue

@@ -3,10 +3,10 @@
         <crumbs title="提示信息维护">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="静态知识名称:">
-                    <el-input size="mini" v-model="filter.proName" placeholder="静态知识名称"></el-input>
+                    <el-input size="mini" v-model="filter.name" placeholder="静态知识名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="标签系统名称:">
-                    <el-input size="mini" v-model="filter.proName" placeholder="标签系统名称"></el-input>
+                    <el-input size="mini" v-model="filter.tagName" placeholder="标签系统名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
@@ -91,7 +91,8 @@
         linkIn:[],
         pays:[],
         filter: {
-          proName: ''
+          name: '',
+          tagName:''
         }
       }
     },
@@ -131,6 +132,8 @@
       },
       getFilterItems() {
         const param = {
+          name:this.filter.name,
+          tagName:this.filter.tagName,
           current: this.currentPage,
           size: this.pageSize
         };

+ 10 - 4
src/components/icss/PromptTagPool.vue

@@ -56,6 +56,10 @@
         default: '',
         type: String
       },
+      selected:{
+        default:[],
+        type:Array
+      }
     },
     data() {
       return {
@@ -68,9 +72,6 @@
           background:'#eae7e7'
         },
       }
-    },
-    mounted() {
-
     },
     watch: {
       pool(newVal, preVal) {
@@ -78,6 +79,11 @@
           this.leftTagsList = newVal
         }
       },
+      selected(newVal, preVal) {
+        if (JSON.stringify(newVal) != JSON.stringify(preVal)) {console.log(newVal)
+          this.rightTagsList = newVal
+        }
+      },
       searchVal(newVal, preVal){
         if(newVal.trim() == ''){
           if(this.type==''){    //清空搜索时清空或回到原始
@@ -150,7 +156,7 @@
           this.leftTagsList = this.leftTagsList.filter(item => item.id !== this.rightTagsList[i].id)
         }
         this.selectLeftTagsList = []
-        this.selectRightTagsList = []
+        this.selectRightTagsList = [];
         this.$emit('changeActionData',this.rightTagsList, false);
       },
       searchTagList() {