Sfoglia il codice sorgente

Merge branch 'test' of http://192.168.2.236:10080/zhouna/platformFront into test

Luolei 6 anni fa
parent
commit
080d5ee967

+ 7 - 6
src/api/config.js

@@ -98,7 +98,7 @@ export default {
     'getPromptList':'api/icssman/introduceInfo/getIntroducePage',//提示信息列表
     'addPromptInfo':'api/icssman/introduceInfo/saveIntroduce',//新增提示信息
     'delPromptInfo':'api/icssman/introduceInfo/deleteRecord',//删除提示信息
-    'PromptInfoDetail':'api/icssman/introduceDetail/getByIntroduceId',//提示信息详情
+    'PromptInfoDetail':'api/icssman/introduceInfo/getIntroduceById',//提示信息详情
     'getIcssEnumsData':'api/icssman/getIcssEnumsData',//icss枚举
 	  'similarName': 'api/icssman/retrieval/retrievalList', //别名维护
     'delSimilarName': 'api/icssman/retrieval/delRetrievalsByQuesId', //别名维护-删除
@@ -109,8 +109,9 @@ export default {
     'commonSymptomList': 'api/icssman/questionUsual/getDeptInfos', //常见症状维护-常见症状列表
     'getDepartmentList':'api/icssman/questionUsual/getDeptName', //常见症状维护-科室列表
     'getSymptomList':'api/icssman/questionUsual/getQuestionInfo', //常见科室症状维护--获取症状列表
-    'addCommonSymptom': 'api/icssman/questionUsual/addQuestionUsual',  //常见科室症状维护--添加修改科室症状
-    'delCommonSymptom': 'api/icssman/questionUsual/deleteQuestionUsual',  //常见科室症状维护--添加修改科室症状
+    'addCommonSymptom': 'api/icssman/questionUsual/addQuestionUsual',  //常见科室症状维护--添加科室症状
+    'getCommonSymptomById': 'api/icssman/questionUsual/getQuestionUsualByDept', //常见科室症状维护--修改、详情
+    'delCommonSymptom': 'api/icssman/questionUsual/deleteQuestionUsual',  //常见科室症状维护--删除科室症状
     'discInformation': 'api/icssman/disclaimerInformation/getDisclaimerInformations', //免责声明
     'addDiscInformation': 'api/icssman/disclaimerInformation/addDisclaimerInformations', //免责声明-新增
     'modifDiscInformation': 'api/icssman/disclaimerInformation/updateDisclaimerInformations', //免责声明-修改
@@ -130,7 +131,7 @@ export default {
     'getPhysicalExamTempByDepId':'api/icssman/deptVital/getModuleByDeptId', //通过科室id获取查体模板
     'savePhysicalExamTemp':'api/icssman/deptVital/saveDeptVitals',//保存查体模板
     'delPhysicalExamTemp':'api/icssman/deptVital/delAllDeptVitalList',//删除查体模板
-
+    'getAllConcept':'/api/knowledgeman/concept/getAllConcept', //  术语列表
 	},
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',
@@ -154,8 +155,8 @@ export default {
   groupParams:[
     {controlType:[1,2],tagType:[1],notTagType:[8]},     //多列多选(杂音/初为)     notTagType为文字标签剔除
     {controlType:[1,2,6,7],tagType:[1,2],notTagType:[8]},  //多项统一横铺标签(血压)
-    {controlType:[1,2,6,7],tagType:[1,2],notTagType:[8]},  //症状详细(症状尾巴)
-    {controlType:[1,2],tagType:[1,2,3,4,10],notTagType:[8]}, //组合项标签(既往史)
+    {controlType:[1,2,5,6,7],tagType:[1,2],notTagType:[8]},  //症状详细(症状尾巴)
+    {controlType:[0,2],tagType:[1,4],notTagType:[8]}, //组合项标签(既往史)
     {controlType:[1,6],tagType:[],notTagType:[8]},    //化验组合
     {controlType:[1,2,99],tagType:[],notTagType:[8]},   //症状推送类型(添加症状)
   ]

+ 10 - 1
src/api/icss.js

@@ -22,6 +22,12 @@ export default {
     PromptInfoDetail(param){
         return axios.post(urls.PromptInfoDetail,param)
     },
+    getPrompDetail(param){
+      return axios.post(urls.PromptInfoDetail,param);
+    },
+    getTremList(param){
+      return axios.post(urls.getAllConcept,param);
+    },
     getTagList(param) {
         return axios.post(urls.getTagList, param)
     },
@@ -53,7 +59,10 @@ export default {
         return axios.post(urls.modifDeptInfo, param)
     },
     saveOrUpdate(param) {
-        return axios.post(urls.saveOrUpdate, param)
+        return axios.post(urls.saveOrUpdate, param);
+    },
+    savePrompts(param){
+      return axios.post(urls.addPromptInfo, param);
     },
     deleteTagGroup(param) {
         return axios.post(urls.deleteTagGroup, param)

+ 4 - 3
src/api/utils.js

@@ -155,8 +155,9 @@ export default {
   simpleOptionData(data){
     let arr = data.map((it,i)=>{
       let code = '';
-      if(it.isCorrect){
-        code = '3';
+      let abnormal = 0
+      if(it.isError){
+        abnormal = 1;
       }
       if(it.isNone){
         code = '2';
@@ -164,7 +165,7 @@ export default {
       if(it.isBan){
         code = '1';
       }
-      return {name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,remark:'单选项-'+it.name}
+      return {name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,abnormal,remark:'单选项-'+it.name}
     });
     return arr;
   },

+ 28 - 7
src/components/icss/AddCommonSymptom.vue

@@ -7,13 +7,13 @@
         ></i> 常见症状维护系统--添加科室常见症状</div>
         <el-form :model="form" ref="ruleForm" :rules="rules" class="addDepartForm">
             <el-form-item label="选择科室" prop="department">
-                <el-select v-model="form.department" placeholder="请添加科室" class="selectDepart">
+                <el-select v-model="form.department" placeholder="请添加科室" @change="changeDept" class="selectDepart">
                     <el-option v-for="item in departList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
              <el-form-item label="选择类型" prop="type">
-                <el-select v-model="form.type" placeholder="请选择类型" class="selectDepart">
-                    <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                <el-select v-model="form.type" placeholder="请选择类型"  @change="changeType" class="selectDepart">
+                    <el-option v-for="item in typeList" :key="item.type" :label="item.typeName" :value="item.type"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
@@ -106,8 +106,13 @@
         }
     },
     created(){
-        this.getDepartmentList()
-        this.getSymptomList()
+        const { isEdit, isDetail, data } = this.$route.params;
+        if(isEdit || isDetail) {
+            this.isEdit = isEdit
+            
+        } else {
+            this.getDepartmentList()
+        }
     },
     watch: {
         searchVal(newVal, preVal) {
@@ -126,7 +131,6 @@
             api.getDepartmentList().then((res)=>{
                if(res.data.code === '0') {
                    this.departList = res.data.data
-                   
                 }
             })
         },
@@ -138,7 +142,8 @@
             const param = {
                 "deptId": this.form.department,
                 "tagName": this.searchVal,
-                "noIds": noIds
+                "noIds": noIds,
+                "type": this.form.type
             }
             api.getSymptomList(param).then((res)=>{
                if(res.data.code === '0') {
@@ -146,6 +151,22 @@
                 }
             })
         },
+        changeDept() {
+            console.log('asdasfdgag',this.departList)
+            this.form.type = ''
+            this.typeList = this.departList.filter(item => this.form.department == item.id)[0].typeDTOList
+            this.clearData()
+        },
+        changeType() {
+            this.clearData()
+            this.getSymptomList()
+        },
+        clearData() {
+            this.leftTagsList = [];
+            this.rightTagsList = [];
+            this.selectLeftTagsList = [];
+            this.selectRightTagIndex = -1;
+        },
         selectLeftTag(tag, index, e) {
             const hasTag = this.isHasTag(tag, this.selectLeftTagsList)
             if (hasTag) {

+ 1 - 1
src/components/icss/AddIndeptLabel.vue

@@ -13,7 +13,7 @@
                 ref="submitForm"
         ></PubIndeptTag>
         <div class="main">
-            <p class="title" v-if="dataPub.region2==1||dataPub.region2==2||dataPub.region2==99"> <i>*</i> 标签明细:</p>
+            <p class="title" v-if="dataPub.region2==1||dataPub.region2==2"> <i>*</i> 标签明细:</p>
             <SingleSelect v-if="dataPub.region2==1 || dataPub.region2==2" :ascription="dataPub.region1" :sexType="dataPub.region7" :type="dataPub.region2" @pushValues="pushValues" :options="editData.questionDetailList"></SingleSelect>
             <div class="btn">
                 <el-button

+ 229 - 0
src/components/icss/AddMedicinePrompt.vue

@@ -0,0 +1,229 @@
+<template>
+    <div class="NoiseTemplateWrapper TemplateWrapper">
+        <div class="groupTitle"><i
+                class="el-icon-back"
+                @click="back"
+        ></i> 医学静态知识--{{isEdit?'修改':'添加'}}</div>
+        <div class="info-container">
+            <el-form :rules="rules"
+                     :model="form"
+                     label-width="130px"
+                     ref="groups">
+                <el-form-item label="选择术语标签:" prop="name">
+                    <el-select v-model="form.selectedTerm" :disabled="isEdit">
+                        <el-option v-for="term in terms" v-key="term.id" :value="term.id">{{term.name}}</el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="已选择术语标签:">
+                    {{form.selectedTermName}}
+                </el-form-item>
+                <InfoParagraph v-for="(f,i) in form.prags"
+                               :data="f"
+                               :index="i"
+                               :isEdit = "isEdit"
+                               @change="getPgValues"
+                               @add="addParagraph"
+                               @del="delParagraph" ref="subForm"></InfoParagraph>
+            </el-form>
+            <div class="btn">
+                <el-button
+                        type="primary"
+                        @click="submitForm"
+                >确 定</el-button>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+  /**
+   *
+   */
+  import api from '@api/icss.js';
+  import utils from '@api/utils.js';
+  import TagPool from './PromptTagPool';
+  import schema from 'async-validator';
+  import InfoParagraph from './InfoParagraph';
+
+  export default {
+    name: 'AddPromptInfo',
+    components: {
+      TagPool,
+      InfoParagraph
+    },
+    data() {
+      return {
+        isEdit:false,
+        terms:[],              //术语列表
+        editData:{
+          selectedTerm:'',
+          prags:[]
+        },
+        form:{
+          name:'',
+          selectedTerm:'',            //术语标签
+          selectedTermName:'',
+          prags:[{              //单个段落相关
+            title:'',
+            content:'',
+            isReason:0,
+            orderNo:0,
+            position:[],
+            text:''}]
+        },
+        rules: {
+          name: [
+            { required: true, message: '请选择术语标签', trigger: 'change' }
+          ]
+        }
+      }
+    },
+    created:function(){
+      const {isEdit,data} = this.$route.params;
+      if(isEdit){
+        this.isEdit = isEdit;
+      }
+    },
+    searchTerms(){
+      //搜索术语列表
+      api.getTremList().then((res) =>{
+        if(res.data.code === '0') {
+          this.terms = res.data.data;
+        }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,
+          orderNo:0,
+          position:[],
+          text:''});
+      },
+      delParagraph(i){
+        if(this.form.prags.length==1){
+          this.warning('只剩一个段落,不能再删啦!');
+          return;
+        }
+        this.showConfirmDialog('确定要删除该段落?', () => {
+          this.form.prags.splice(i,1);
+        });
+      },
+      getPgValues(i,data){
+        this.form.prags[i] = data;
+        //console.log(data,this.form.prags);
+      },
+      submitForm() {
+        //验证外层表单
+        let goOn=true,it=null;
+        this.$refs.groups.validate((valid) =>{
+          if(!valid){
+            goOn = false;
+            return false;
+          }
+        });
+        //验证段落表单
+        for(let i=0;i<this.$refs.subForm.length;i++){
+          it=this.$refs.subForm[i];
+          it.$refs.form.validate((valid) =>{
+            if(!valid){
+              goOn = false;
+            }
+          });
+        };
+
+        if(!goOn){
+          return;
+        }
+        //通过必填验证,提交保存
+        const param = {
+          name:this.form.name,
+          detailVOList:Object.assign(this.form.prags),
+          mapVOList:Object.assign(this.form.selectedTags)
+        };
+        //console.log(param);
+        this.showSaveDialog(param);
+      },
+      parseTagsForSubmit(data){
+        return data.map((it)=>{
+          return {questionId:it.id,introduceId:'',type:it.type};
+        });
+      },
+      changeActionData(selectedTags){
+        this.form.selectedTags = this.parseTagsForSubmit(selectedTags);
+        //console.log(selectedTags)
+      },
+      showSaveDialog(param) {
+        this.showConfirmDialog('是否保存该静态知识?', () => {
+          api.savePrompts(param).then((res) => {
+            if (res.data.code === '0') {
+              this.warning(res.data.msg || '保存成功', 'success');
+              this.$router.push("/admin/LT-YXSJWH-TSXXWH");
+            } else {
+              this.warning(res.data.msg)
+            }
+          }).catch((err) => {
+            this.warning(err);
+          })
+        });
+      },
+      showConfirmDialog(msg, resolve) {
+        this.$alert(msg, '提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+          resolve();
+        }).catch(() => {});
+      },
+      warning(msg, type) {
+        this.$message({
+          showClose: true,
+          message: msg,
+          type: type || 'warning'
+        })
+      },
+    }
+  }
+</script>
+<style lang="less">
+    @import "../../less/common.less";
+    .info-container{
+        background: #fff;
+        padding: 20px;
+        margin: 20px 20px -20px 20px;
+    .el-input__inner{
+        width: 200px;
+    }
+    .el-form-item__label{
+        text-align: left;
+    }
+    .add-prg .el-form-item{
+        margin-bottom: 20px;
+    }
+    }
+    .line{
+        border-top:1px #dcdfe6 solid;
+        margin-bottom: 25px;
+    }
+</style>
+

+ 66 - 33
src/components/icss/AddPhysicalExamTemp.vue

@@ -1,6 +1,6 @@
 <!-- 添加常见科室症状  -->
 <template>
-    <div class="addCommonSymptomWrapper">
+    <div class="AddPhysicalExamTempWrapper">
         <div class="groupTitle"><i
             class="el-icon-back"
             @click="back"
@@ -10,15 +10,15 @@
                <span>查体</span>
             </el-form-item>
             <el-form-item label="选择科室" prop="department">
-                <el-select v-model="form.department" placeholder="请添加科室" @change="changeDepart" class="selectDepart">
+                <el-select :disabled="isEdit || isDetail" v-model="form.department" placeholder="请添加科室" @change="changeDepart" class="selectDepart">
                     <el-option v-for="item in departList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
         <div class="symptomList">
-            <div class="bottomPartLeft fl">
+            <div class="bottomPartLeft fl" v-if="!isDetail">
                 
-                <p class="symptomPoolTitle">症状池</p>
+                <p class="symptomPoolTitle">标签池</p>
                 <div class="symptomPool">
                     <el-input
                     placeholder="请输入搜索内容"
@@ -43,28 +43,28 @@
                 </div>
 
             </div>
-            <div class="bottomPartMid fl">
+            <div class="bottomPartMid fl" v-if="!isDetail">
                 <p><span class="el-icon-arrow-right" @click="toRightList"></span></p>
                 <p><span class="el-icon-arrow-left" @click="toLeftList"></span></p>
             </div>
             <div class="bottomPartRight fl">
-                <p class="symptomPoolTitle">常见症状:</p>
+                <p class="symptomPoolTitle">查体模板: 
+                    <span class="el-icon-arrow-right arrowIcon" @click="toDown"></span>
+                    <span class="el-icon-arrow-left arrowIcon" @click="toUp"></span> 
+                </p>
                 <ul class="tagList operationPool">
-                        <li class = "tagItem"
+                        <li class = "tagItem fl"
                             v-for="(item,index) in rightTagsList" 
                             :key='item.id'
                             :style="index === selectRightTagIndex?styles:null"
-                            @click='selectRightTag(index)'
+                            @click='isDetail ? "" : selectRightTag(index)'
                         >   
                             <p v-if="item.tagName" class="tagName  ellipsis" :title="'[ '+item.tagName+' ]'">{{item.tagName}} </p>
                         </li>
                     </ul>
 
             </div>
-            <div class="bottomPartMid fl">
-                <p><span class="el-icon-arrow-up" @click="toUp"></span></p>
-                <p><span class="el-icon-arrow-down" @click="toDown"></span></p>
-            </div>
+           
             
         </div>
         <div class="btn">
@@ -80,11 +80,11 @@
 <script>
   import api from '@api/icss.js';
   export default {
-    name: 'AddCommonSymptom',
+    name: 'AddPhysicalExamTempWrapper',
     data() {
         return{
             rules: {
-                department:[{required: true, message: '请选择科室', trigger: ['blur']}],
+                department:[{required: true, message: '请选择科室', trigger: ['blur', 'change']}],
             },
             form: {
                 department: '',
@@ -94,6 +94,8 @@
             leftTagsList:[],
             rightTagsList:[],
             selectLeftTagsList: [],
+            isEdit: false, 
+            isDetail: false,
             selectRightTagIndex: -1,
             styles:{
                 background:'#eae7e7'
@@ -101,6 +103,16 @@
         }
     },
     created(){
+        const { isEdit, isDetail, data } = this.$route.params;
+        if(isEdit || isDetail) {
+            const { id, name } = data
+            this.isEdit = isEdit
+            this.isDetail = isDetail
+            this.rightTagsList = data.vitals
+            this.departList.push({ id, name, val:id })
+            this.form.department = id
+            
+        }
         this.getDepartmentList()
         this.getTagList()
     },
@@ -126,20 +138,25 @@
             })
         },
         getTagList() {
-            let noIds = []
-            for (let i =0; i < this.rightTagsList.length; i++) {
-                noIds.push(this.rightTagsList[i].id)
+                const notIds = this.getRightTagListIds()
+                let param = {
+                "tagName": this.searchVal,
+                "type": 4,
+                "notIds": notIds,
             }
-            const param = {
-                "deptId": this.form.department,
-                // "tagName": this.searchVal,
-            }
-            console.log()
-            api.getPhysicalExamTempByDepId(param).then((res)=>{
-               if(res.data.code === '0') {
-                   this.leftTagsList = res.data.data
+            api.searchTagList(param).then((res) => {
+                if (res.data.code === '0') {
+                    this.leftTagsList = res.data.data
                 }
             })
+            
+        },
+        getRightTagListIds() {
+            let RightTagListIds = []
+            for (let i =0; i < this.rightTagsList.length; i++) {
+                RightTagListIds.push(this.rightTagsList[i].id)
+            }
+            return RightTagListIds
         },
         changeDepart(){
             console.log(this.form.department)
@@ -161,6 +178,7 @@
             this.selectLeftTagsList = [];
             this.selectRightTagsList = [];
             this.getTagList()
+            console.log('rightTagsList', this.rightTagsList)
         },
         toLeftList(){
             for(let i = 0; i < this.selectRightTagsList.length; i++) {
@@ -221,22 +239,23 @@
             this.showDelDialog()
         },
         showDelDialog() {
-            let questionId = []
+            let dvDetailVOList = []
             for (let i =0; i < this.rightTagsList.length; i++) {
-                questionId.push(this.rightTagsList[i].id)
+                dvDetailVOList.push({orderNo: i+1,vitalId:this.rightTagsList[i].id })
             }
             const param ={
                 "deptId": this.form.department,
-                "questionId": questionId
+                "dvDetailVOList": dvDetailVOList
    
             }
-            this.showConfirmDialog('是否保存该标签组?', () => {
-                api.addCommonSymptom(param).then((res) => {
+            this.showConfirmDialog('是否保存该模板?', () => {
+                api.savePhysicalExamTemp(param).then((res) => {
+                console.log('resssss', res)
                 if (res.data.code  === '0') {
                     this.warning(res.data.msg || '保存成功', 'success','1000')
                     setTimeout(() => {
                     this.$router.push({
-                        path:'/admin/LT-YXSJWH-CJZZWH'
+                        path:'/admin/LT-YXSJWH-CTBQWH'
                     })
                     }, 1000);
                 } else {
@@ -269,7 +288,7 @@
 
 <style lang="less">
     @import '../../less/common.less';
-    .addCommonSymptomWrapper {
+    .AddPhysicalExamTempWrapper {
         .groupTitle {
             background-color: #fff;
             height: 40px;
@@ -342,14 +361,28 @@
             }
             }
         }
+        .arrowIcon {
+             cursor: pointer;
+            display: inline-block;
+            width: 40px;
+            height: 30px;
+            line-height: 30px;
+            border: 1px solid @icssBorder;
+            font-size: 18px;
+            text-align: center;
+            margin-right: 15px;
+            .fr
+
+        }
         .bottomPartRight {
-            width: 32%;
+            width: 52%;
         }
         .operationPool {
             position: relative;
             width: 100%;
             height: 340px;
             padding: 10px 0;
+            overflow: auto;
         }
         .btn {
             position: relative;

+ 141 - 83
src/components/icss/AddPromptInfo.vue

@@ -3,44 +3,34 @@
         <div class="groupTitle"><i
                 class="el-icon-back"
                 @click="back"
-        ></i> 提示信息维护--添加</div>
+        ></i> 提示信息维护--{{isEdit?'修改':'添加'}}</div>
         <div class="info-container">
             <el-form :rules="rules"
                      :model="form"
                      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"
+                               :index="i"
+                               :isEdit = "isEdit"
+                               @change="getPgValues"
+                               @add="addParagraph"
+                               @del="delParagraph" ref="subForm"></InfoParagraph>
                 <p class="line"></p>
-                <el-form-item label="是否属于诊断:" prop="isReason">
-                    <el-select v-model="form.isReason" placeholder="请选择">
-                        <el-option label="否" value="0"></el-option>
-                        <el-option label="是" value="1"></el-option>
-                    </el-select>
+                <el-form-item label="关联标签:" prop="tags">
+                    <el-form-item label="标签归属:">
+                        <el-select placeholder="标签归属" v-model="form.tagFor" clearable>
+                            <el-option v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <TagPool :pool="tagPool"
+                             :type="form.tagFor"
+                             :selected="editData.selectedTags"
+                             @changeActionData="changeActionData"></TagPool>
                 </el-form-item>
-                <el-form-item label="显示位置:" prop="position">
-                    <el-checkbox-group v-model="form.position">
-                        <el-checkbox v-for="it in positions" :key="it.key" :label="it.name" :value="it.key" name="position"></el-checkbox>
-                    </el-checkbox-group>
-                </el-form-item>
-                <el-form-item label="添加段落:" prop="addPrg">
-                    <div class="add-prg">
-                        <el-form-item label="标题" prop="title" label-width="80px">
-                            <el-input v-model="form.title"></el-input>
-                        </el-form-item>
-                        <el-form-item label="内容" prop="desc" label-width="80px">
-                            <InfoUeditor v-model="msg" :config="config"></InfoUeditor>
-                        </el-form-item>
-                    </div>
-                </el-form-item>
-                <el-form-item>
-                    <el-button>添加段落</el-button >
-                </el-form-item>
-                <p class="line"></p>
-                <TagPool :pool="tagPool"
-                         :sexType="sexType"
-                         @changeActionData="changeActionData"></TagPool>
                 </el-form>
                 <div class="btn">
                     <el-button
@@ -58,92 +48,160 @@
   import api from '@api/icss.js';
   import utils from '@api/utils.js';
   import TagPool from './PromptTagPool';
-  import InfoUeditor from 'vue-ueditor-wrap';
+  import schema from 'async-validator';
+  import InfoParagraph from './InfoParagraph';
+
   export default {
     name: 'AddPromptInfo',
     components: {
       TagPool,
-      InfoUeditor
+      InfoParagraph
     },
     data() {
+      const validateTags = (rule,value,callback)=>{
+        if(this.form.selectedTags.length==0){
+          this.warning('请选择关联标签!');
+          return;
+        }
+        callback();
+      };
       return {
-        msg:'',
-        config:{
-          initialFrameWidth: null,
-          initialFrameHeight: 350,
-          imageUrlPrefix:"http://192.168.2.236:82",
-          serverUrl: '/api/icssman/file/uploadImage',
-          UEDITOR_HOME_URL: '/UEditor/',        //静态文件路径
-          toolbars:[['source','undo','redo','bold','italic','underline','fontborder','strikethrough','superscript','subscript','removeformat','formatmatch','autotypeset','blockquote',
-            'pasteplain','forecolor','backcolor','insertorderedlist','insertunorderedlist','selectall',
-            'cleardoc','rowspacingtop','rowspacingbottom','lineheight','customstyle','paragraph',
-            'fontfamily','fontsize','directionalityltr','directionalityrtl','indent','justifyleft',
-            'justifycenter','justifyright','justifyjustify','touppercase','tolowercase','link','simpleupload','insertimage','horizontal',
-            'date','time','spechars','fullscreen']]      //自定义工具
+        isEdit:false,
+        tagPool:[],                 //标签池数据
+        Adscriptions:[],            //归属列表
+        editData:{
+          tagFor:'',
+          selectedTags:[],
+          prags:[]
         },
-        tagPool:[],
-        sexType:'1',
-        positions:[],
         form:{
           name:'',
-          isReason:'0',
-          position:[]
+          tagFor:'',
+          selectedTags:[],            //关联标签
+          prags:[{              //单个段落相关
+            title:'',
+            content:'',
+            isReason:0,
+            orderNo:0,
+            position:[],
+            text:''}]
         },
         rules: {
           name: [
             { required: true, message: '静态知识名称不能为空', trigger: 'change' }
           ],
-          isReason: [
-            { required: true, message: '请选择是否属于诊断', trigger: 'change' }
-          ],
-          position: [
-            { required: true, message: '请选择显示位置', trigger: 'change' }
-          ],
+          tags:[
+            { required: true, validator: validateTags, trigger: 'submit' }
+          ]
         }
       }
     },
     created:function(){
       const {isEdit,data} = this.$route.params;
-      //显示位置枚举列表
-      const pos = localStorage.getItem("icssEnumsData");
-      this.positions = JSON.parse(pos)&&JSON.parse(pos).introducePositionEnum;
+      this.getDropList();           //标签归属列表获取
       if(isEdit){
-        this.editData = data;
+        this.isEdit = isEdit;
+        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) },
-      submitForm() {      // 调用子组件的方法验证公用部分
-        this.$refs.groups.validate((valid) => {
-          if (valid) {
-            //this.$emit('validatePass', this.form, false)
-          } else {
-            console.log('error submit!!');
-            return false;
-          }
-        });;
+      mapStringToNum(str){
+        return str.split(",").map((it)=>{
+          return +it;
+        })
       },
-      changeActionData(){
-
+      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
+        };
       },
-      validatePass() {      //验证成功回调,调取接口
-        //仍需验证标签明细是否选择
-        /*if (this.itemsTypes.includes(+this.dataPub.region2)&&this.options.length==0) {
-          this.$message({
-            message: '至少填一个选项',
-            type: 'warning'
-          });
+      addParagraph(){
+        this.form.prags.push({title:'',
+          content:'',
+          isReason:0,
+          orderNo:0,
+          position:[],
+          text:''});
+      },
+      delParagraph(i){
+        if(this.form.prags.length==1){
+          this.warning('只剩一个段落,不能再删啦!');
           return;
-        }*/
-        const {isEdit,data} = this.$route.params;
-        let param = {
+        }
+        this.showConfirmDialog('确定要删除该段落?', () => {
+            this.form.prags.splice(i,1);
+        });
+      },
+      getPgValues(i,data){
+        this.form.prags[i] = data;
+        //console.log(data,this.form.prags);
+      },
+      getDropList() {
+        return api.getDropList().then((res) =>{
+          if(res.data.code === '0') {
+            this.Adscriptions = res.data.data[1];
+          }
+        })
+      },
+      submitForm() {
+        //验证外层表单
+        let goOn=true,it=null;
+        this.$refs.groups.validate((valid) =>{
+          if(!valid){
+            goOn = false;
+            return false;
+          }
+        });
+        //验证段落表单
+        for(let i=0;i<this.$refs.subForm.length;i++){
+          it=this.$refs.subForm[i];
+          it.$refs.form.validate((valid) =>{
+            if(!valid){
+              goOn = false;
+            }
+          });
+        };
 
+        if(!goOn){
+          return;
+        }
+        //通过必填验证,提交保存
+       const param = {
+          name:this.form.name,
+          detailVOList:Object.assign(this.form.prags),
+          mapVOList:Object.assign(this.form.selectedTags)
         };
-        this.showSaveDialog(param);
+        //console.log(param);
+         this.showSaveDialog(param);
+      },
+      parseTagsForSubmit(data){
+        return data.map((it)=>{
+          return {questionId:it.id,introduceId:'',type:it.type};
+        });
+      },
+      changeActionData(selectedTags){
+        this.form.selectedTags = this.parseTagsForSubmit(selectedTags);
+        //console.log(selectedTags)
       },
       showSaveDialog(param) {
-        this.showConfirmDialog('是否保存该标签?', () => {
-          api.saveOrUpdate(param).then((res) => {
+        this.showConfirmDialog('是否保存该静态知识?', () => {
+          api.savePrompts(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
               this.$router.push("/admin/LT-YXSJWH-TSXXWH");

+ 3 - 2
src/components/icss/BloodPressTagGroup.vue

@@ -238,12 +238,13 @@ export default {
         },
         searchTagList() {
             let notIds = []
-            for (let i = 0; i < this.rightTagsList.length; i++) {
+            for (let i = 0; i < this.rightTagsList2.length; i++) {
                  if(typeof this.rightTagsList2[i].id === 'number') {
                     notIds.push(this.rightTagsList2[i].id)
                 }
                 
             }
+            
             let param1 = api.getGroupParams(3);            
             let param2 = {
                 "tagName": this.searchVal,
@@ -251,7 +252,7 @@ export default {
                 "notIds": notIds,
                 "sexType": this.sexType,
             }
-            let param = Object.assign(param1,param2)
+            let param = Object.assign({},param1,param2)
             api.searchTagList(param).then((res) => {
                 if (res.data.code === '0') {
                     this.leftTagsList = res.data.data

+ 47 - 26
src/components/icss/CommonSymptom.vue

@@ -30,6 +30,11 @@
                         label="操作时间"
                         :show-overflow-tooltip="true">
                 </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="typeName"
+                        label="类型">
+                </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         prop="name"
@@ -48,14 +53,14 @@
                     <template slot-scope="scope">
                         <el-button type="text" size="small" @click="toEditProduct(scope.row)">修改</el-button>
                         <span style="margin:0 3px;">|</span>
-                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row.id)">删除</el-button>
+                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row)">删除</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         label="详情">
                     <template slot-scope="scope">
-                        <el-button type="text" size="small" @click="getDetailList(scope.row.id)">详情</el-button>
+                        <el-button type="text" size="small" @click="getDetailList(scope.row)">详情</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -97,10 +102,23 @@
     },
     methods: {
       toEditProduct(row){
-        this.$router.push({
-          name:'AddCommonSymptom',
-          params: {info:row}
-        })
+        const param = {
+            "deptId": row.id,
+            "type": row.type
+        }
+        api.getCommonSymptomById(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddCommonSymptom',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
+
       },
       filterDatas(){
         this.currentPage = 1;
@@ -122,24 +140,23 @@
           console.log(error);
         });
       },
-      getDetailList(id) {
-        const param = {'id': id,};
-        this.$router.push({name:'AddCommonSymptom', params:{id: id}})
-        /*api.getDeptInfoDetials(param).then((res) => {
-          if (res.data.code == '0') {
-            this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-            // console.log("详情接口调用成功");
-          } else {
-            this.$message({
-              showClose: true,
-              message:res.data.msg,
-              type:'warning'
-            });
-            this.getDataList()  //刷新列表
-          }
-        }).catch((error) => {
-          console.log(error);
-        });*/
+      getDetailList(row) {
+        const param = {
+            "deptId": row.id,
+            "type": row.type
+        }
+        api.getCommonSymptomById(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddCommonSymptom',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
       },
       getFilterItems() {
         const param = {
@@ -175,9 +192,13 @@
           resolve();
         }).catch(() => {});
       },
-      showDelDialog(id){
+      showDelDialog(row){
         this.showConfirmDialog('是否删除该科室症状?',()=>{
-          api.delCommonSymptom({'deptId':id}).then((res)=>{
+          const param = {
+            "deptId": row.id,
+            "type": row.type
+          }
+          api.delCommonSymptom(param).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');
               this.getDataList();

+ 17 - 17
src/components/icss/IndeptLabel.vue

@@ -1,6 +1,6 @@
 <template>
     <div>
-        <crumbs title="独立标签维护" style="min-width: 980px">
+        <crumbs title="独立标签维护">
             <el-form :inline="true" class="demo-form-inline">
                 <!--<el-form-item label="标签类型:">
                     <el-select size="mini" v-model="filter.tagType[0]" placeholder="标签类型" clearable>
@@ -9,7 +9,7 @@
                 </el-form-item>-->
                 <el-form-item label="标签归属:">
                     <el-select size="mini" v-model="filter.tagAdscription" @change="getValue"  placeholder="标签归属" clearable>
-                        <el-option v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
+                        <el-option v-if="item.val!=6&&item.val!=7&&item.val!=8&&item.val!=9" v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="标签系统名称:">
@@ -46,7 +46,7 @@
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="controlTypeCn"
+                        prop="tagTypeCn"
                         label="标签类型">
                 </el-table-column>
                 <el-table-column
@@ -78,7 +78,7 @@
                         :total="total">
             </el-pagination>
         </div>
-        <!-- <div class="pagination"> 
+        <!-- <div class="pagination">
             <el-pagination v-if="total>pageSize"
                         :current-page.sync="currentPage"
                         @current-change="currentChange"
@@ -88,7 +88,7 @@
                         :total="total">
             </el-pagination>
         </div> -->
-        
+
     </div>
 </template>
 
@@ -102,7 +102,6 @@
         list: [],
         tagTypes: [],
         Adscriptions: [],
-        tagTypesList: [],
         filter: {
           tagType: [], //标签类型
           tagAdscription: '', //标签归属
@@ -129,34 +128,29 @@
           if(res.data.code === '0') {
             this.Adscriptions = res.data.data[1];
             this.tagTypes =  res.data.data[6];
-            for (var i = 0; i < this.tagTypes.length; i++) {
-              this.tagTypesList.push(this.tagTypes[i].val)
-            }
           }
 
         })
       },
       getDataList() {
         const param = this.getFilterItems();
-        console.log('param', param)
         api.getTagList(param).then((res) => {
-          const list = res.data.data.records
+          const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
             for (var j =  0; j < this.tagTypes.length; j++) {
-              if(list[i].tagType === this.tagTypes[j].val) {
+              if(list[i].tagType == this.tagTypes[j].val) {
                 list[i].tagTypeCn = this.tagTypes[j].name;
               }
             }
+            //后台数据typeCn转换为筛选中对应的字段名称
             for (var z =  0; z < this.Adscriptions.length; z++) {
-              if(list[i].type === this.Adscriptions[z].val) {
-                list[i].typeCn = this.Adscriptions[z].name
+              if(list[i].type == this.Adscriptions[z].val) {
+                list[i].typeCn = this.Adscriptions[z].name;
               }
             }
-
           }
           this.list = list;
           this.total = res.data.data.total;
-          console.log('tagGroup',res)
         })
       },
       filterDatas() {
@@ -243,9 +237,15 @@
 <style lang="less">
   @import "../../less/admin.less";
     .delete{
-        color: red;
+        color: red
     }
     .delete:hover {
         color: red;
     }
+    .el-select .el-input .el-select__caret{
+        display: inline-block!important;
+    }
+    .el-select .el-input .el-icon-circle-close{
+        float:left;
+    }
 </style>

+ 104 - 0
src/components/icss/InfoParagraph.vue

@@ -0,0 +1,104 @@
+<template>
+    <el-form :rules="rules" :model="data" ref="form" class="sub-form">
+            <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="请选择" :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" :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>
+            <el-form-item label="标题" prop="title" label-width="130px">
+                <el-input v-model="data.title" @change="emitVal"></el-input>
+            </el-form-item>
+            <el-form-item label="内容" prop="content" label-width="130px">
+                <InfoUeditor v-model="data.content" :config="config"></InfoUeditor>
+            </el-form-item>
+            <el-form-item label-width="130px">
+                <el-button @click="addEmit">添加段落</el-button >
+                <el-button @click="delEmit" type="info">删除本段落</el-button>
+            </el-form-item>
+    </el-form>
+</template>
+
+<script>
+  import InfoUeditor from 'vue-ueditor-wrap';
+  export default{
+    props:['data','index','isEdit'],
+    name:'InfoParagraph',
+    components:{
+      InfoUeditor
+    },
+    data(){
+        return {
+          config:{
+            initialFrameWidth: null,
+            initialFrameHeight: 350,
+            imageUrlPrefix:"http://192.168.2.236:82",
+            serverUrl: '/api/icssman/file/uploadImage',
+            UEDITOR_HOME_URL: '/UEditor/',        //静态文件路径
+            toolbars:[['source','undo','redo','bold','italic','underline','fontborder','strikethrough','superscript','subscript','removeformat','formatmatch','autotypeset','blockquote',
+              'pasteplain','forecolor','backcolor','insertorderedlist','insertunorderedlist','selectall',
+              'cleardoc','rowspacingtop','rowspacingbottom','lineheight','customstyle','paragraph',
+              'fontfamily','fontsize','directionalityltr','directionalityrtl','indent','justifyleft',
+              'justifycenter','justifyright','justifyjustify','touppercase','tolowercase','link','simpleupload','insertimage','horizontal',
+              'date','time','spechars','fullscreen']]      //自定义工具
+          },
+          form:{},
+          positions:[],               //位置列表
+          rules:{
+            isReason: [
+              { required: true, message: '请选择是否属于诊断', trigger: 'change' }
+            ],
+            position: [
+              { required: true, message: '请选择显示位置', trigger: 'change' }
+            ],
+            title: [
+              { required: true, message: '请输入段落标题', trigger: 'change' }
+            ],
+            content: [
+              { required: true, message: '请输入段落内容', trigger: 'change' }
+            ],
+          }
+        }
+    },
+    watch:{
+      'data.content':{          //content改变时传值
+        handler(newVal,oldVal){
+          this.emitVal();
+        }
+      }
+    },
+    created(){
+      //显示位置枚举列表
+      const pos = localStorage.getItem("icssEnumsData");
+      this.positions = JSON.parse(pos)&&JSON.parse(pos).introducePositionEnum;
+      this.form = this.data;console.log(this.isEdit)
+    },
+    methods:{
+      addEmit(){
+        this.$emit("add");
+      },
+      delEmit(){
+        this.$emit("del",this.index);
+      },
+      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);
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+   .is-error .el-form-item__error{
+        top:auto;
+    }
+
+</style>

+ 187 - 0
src/components/icss/MedicinePrompt.vue

@@ -0,0 +1,187 @@
+<template>
+    <div>
+        <crumbs title="医学术语静态知识维护">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="静态知识名称:">
+                    <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.tagName" placeholder="标签系统名称" clearable></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <router-link to="/admin/LT-YXSYKWH-TJYXSYJTZS" style="margin:0 10px">
+                        <el-button size="mini" type="warning">添加静态知识</el-button>
+                    </router-link>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table :data="list"
+                      border
+                      style="width: 100%">
+                <el-table-column
+                        type="index"
+                        :index="indexMethod"
+                        label="编号"
+                        width="60">
+                </el-table-column>
+                <el-table-column
+                        prop="gmtOperate"
+                        label="操作时间"
+                        width="180"
+                        :show-overflow-tooltip="true">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="静态知识名称">
+                </el-table-column>
+                <el-table-column
+                        prop="tagName"
+                        label="关联标签"
+                        width="240">
+                </el-table-column>
+                <el-table-column
+                        prop="operatorName"
+                        label="操作人"
+                        width="80">
+                </el-table-column>
+
+                <el-table-column
+                        label="操作" width="120">
+                    <template slot-scope="scope">
+                        <el-button type="text" size="small" @click="toEditProduct(scope.row)">修改</el-button>
+                        <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" @click="showDelDialog(scope.row.id)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-pagination v-if="total>pageSize"
+                           :current-page.sync="currentPage"
+                           @current-change="currentChange"
+                           background
+                           :page-size="pageSize"
+                           layout="total,prev, pager, next, jumper"
+                           :total="total">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+
+<script>
+  import api from '@api/icss.js';
+  import utils from '@api/utils.js';
+
+  export default {
+    name: 'prompt-info',
+    data: function () {
+      return {
+        list: [],
+        cacheData: {},
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+        linkIn:[],
+        pays:[],
+        filter: {
+          name: '',
+          tagName:''
+        }
+      }
+    },
+    created() {
+      this.getDataList();
+    },
+    methods: {
+      toEditProduct(row){
+        this.$router.push({
+          name:'AddPromptInfo',
+          params: {data:row,isEdit:true}
+        })
+      },
+      filterDatas(){
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      getDataList() {
+        const param = this.getFilterItems();
+        // const param = {
+        //   'name':''
+        // };
+        api.getPromptList(param).then((res) => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.list = data.records;
+            this.cacheData[param.current] = data.records;
+            this.total = data.total;
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
+      },
+      getDetailList(id) {
+        const param = {'id': id,};
+        this.$router.push({name:'PromptDetail', params:{id: id}})
+      },
+      getFilterItems() {
+        const param = {
+          name:this.filter.name,
+          tagName:this.filter.tagName,
+          current: this.currentPage,
+          size: this.pageSize
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+          this.list = this.cacheData[next];
+        } else {
+          this.getDataList();
+        }
+      },
+      warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+      showConfirmDialog(msg,resolve){
+        this.$alert(msg, '提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+          resolve();
+        }).catch(() => {});
+      },
+      showDelDialog(id){
+        this.showConfirmDialog('是否删除该静态知识?',()=>{
+          api.delPromptInfo({id}).then((res)=>{
+            if(res.data.code=='0'){
+              this.warning(res.data.msg||'操作成功','success');
+              this.getDataList();
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+    @import "../../less/admin.less";
+    .status-span{
+        font-size: 12px;
+        margin-right:10px;
+        color: unset;
+    }
+</style>

+ 2 - 1
src/components/icss/NoiseTemplate.vue

@@ -23,7 +23,7 @@
         :tipLis="dataPub.tipLis"
         :choose="dataPub.region2 == 6?'multiple':'single'"
         :options="editData.questionMapping"
-        v-show="dataPub.region2 == 2 || dataPub.region2 == 6"
+        v-if="dataPub.region2 == 2 || dataPub.region2 == 6"
         @changeActionData="changeActionData"
       ></PubTagPartDetail>
       <SymptomTagGroup 
@@ -160,6 +160,7 @@ export default {
       // console.log(type)
     },
     changeActionData(arr) {          //标签明细右侧数据id
+    console.log(44254165456)
       this.sendIds = arr
     },
     submitForm() {       // 调用子组件的方法验证公用部分

+ 34 - 24
src/components/icss/PhysicalExamTemplate.vue

@@ -55,7 +55,7 @@
                         :resizable = "false"
                         label="详情">
                     <template slot-scope="scope">
-                        <el-button type="text" size="small" @click="getDetailList(scope.row.id)">详情</el-button>
+                        <el-button type="text" size="small" @click="getDetailList(scope.row)">详情</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -97,10 +97,24 @@
     },
     methods: {
       toEditProduct(row){
-        this.$router.push({
-          name:'AddPhysicalExam',
-          params: {info:row}
-        })
+        api.getPhysicalExamTempByDepId({deptId:row.id}).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                console.log('item', item)
+                this.$router.push({name:'AddPhysicalExamTemp',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
+
+        // this.$router.push({
+        //   name:'AddPhysicalExamTemp',
+        //   params: {info:row}
+        // })
       },
       filterDatas(){
         this.currentPage = 1;
@@ -122,24 +136,20 @@
           console.log(error);
         });
       },
-      getDetailList(id) {
-        const param = {'id': id,};
-        this.$router.push({name:'AddPhysicalExam', params:{id: id}})
-        /*api.getDeptInfoDetials(param).then((res) => {
-          if (res.data.code == '0') {
-            this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-            // console.log("详情接口调用成功");
-          } else {
-            this.$message({
-              showClose: true,
-              message:res.data.msg,
-              type:'warning'
-            });
-            this.getDataList()  //刷新列表
-          }
-        }).catch((error) => {
-          console.log(error);
-        });*/
+      getDetailList(row) {
+        const param = {'deptId': row.id,};
+        api.getPhysicalExamTempByDepId(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddPhysicalExamTemp',params:{isDetail:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
       },
       getFilterItems() {
         const param = {
@@ -177,7 +187,7 @@
       },
       showDelDialog(id){
         this.showConfirmDialog('是否删除该科室症状?',()=>{
-          api.delCommonSymptom({'deptId':id}).then((res)=>{
+          api.delPhysicalExamTemp({'deptId':id}).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');
               this.getDataList();

+ 116 - 0
src/components/icss/PromptDetail.vue

@@ -0,0 +1,116 @@
+<template>
+    <div class="NoiseTemplateWrapper TemplateWrapper">
+        <div class="groupTitle"><i
+                class="el-icon-back"
+                @click="back"
+        ></i> 提示信息维护--详情</div>
+        <div class="info-container">
+            <el-form label-width="130px"
+                     ref="groups">
+                <el-form-item label="静态知识名称:">
+                    {{editData.name}}
+                </el-form-item>
+                <p class="line"></p>
+                <div class="add-prg" v-for="prg in editData.details">
+                    <el-form-item label="是否属于诊断:">
+                        {{prg.isReason?'是':'否'}}
+                    </el-form-item>
+                    <el-form-item label="显示位置:">
+                        {{parsePosition(prg.position)}}
+                    </el-form-item>
+                    <el-form-item label="标题:">
+                        {{prg.title}}
+                    </el-form-item>
+                    <el-form-item label="内容:">
+                        <div v-html="prg.content"></div>
+                    </el-form-item>
+                </div>
+                <p class="line"></p>
+                <el-form-item label="关联标签:">
+                    <span class="tag" v-for="it in editData.questionList">
+                        {{it.name}}
+                    </span>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+</template>
+<script>
+  /**
+   *
+   */
+  import api from '@api/icss.js';
+
+  export default {
+    name: 'PromptDetail',
+    data() {
+      return {
+        editData:{},
+        positions:[],
+        position:''
+      }
+    },
+    created:function(){
+      const {id} = this.$route.params;
+      const pos = localStorage.getItem("icssEnumsData");
+      this.positions = JSON.parse(pos)&&JSON.parse(pos).introducePositionEnum;
+
+      api.getPrompDetail({id}).then((res) =>{
+        if(res.data.code === '0') {
+          this.editData = res.data.data;
+        }else{
+          this.warning("数据获取失败");
+        }
+      })
+    },
+    methods: {
+      back() { this.$router.go(-1) },
+      parsePosition(item){
+        const sit = item||[];
+        let text = '';
+        this.positions.forEach((it)=>{
+          if(sit.split(",").includes(it.key+'')){
+            text+=it.name+',';
+          }
+        });
+        return text.replace(/,$/,'');
+      },
+      warning(msg, type) {
+        this.$message({
+          showClose: true,
+          message: msg,
+          type: type || 'warning'
+        })
+      },
+    }
+  }
+</script>
+<style lang="less">
+    @import "../../less/common.less";
+    .info-container{
+        background: #fff;
+        padding: 20px;
+        margin: 20px 20px -20px 20px;
+    .el-input__inner{
+        width: 200px;
+    }
+    .el-form-item__label{
+        text-align: left;
+    }
+    .add-prg .el-form-item{
+        margin-bottom: 20px;
+    }
+    }
+    .line{
+        border-top:1px #dcdfe6 solid;
+        margin-bottom: 25px;
+    }
+    .tag:before{
+        content:'['
+    }
+    .tag:after{
+        content: ']';
+        margin-right: 10px;
+    }
+</style>
+

+ 11 - 23
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>
@@ -41,7 +41,7 @@
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="questionList"
+                        prop="tagName"
                         label="关联标签"
                         width="240">
                 </el-table-column>
@@ -98,7 +98,8 @@
         linkIn:[],
         pays:[],
         filter: {
-          proName: ''
+          name: '',
+          tagName:''
         }
       }
     },
@@ -109,7 +110,7 @@
       toEditProduct(row){
         this.$router.push({
           name:'AddPromptInfo',
-          params: {info:row}
+          params: {data:row,isEdit:true}
         })
       },
       filterDatas(){
@@ -134,25 +135,12 @@
       },
       getDetailList(id) {
         const param = {'id': id,};
-        this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-        /*api.getDeptInfoDetials(param).then((res) => {
-          if (res.data.code == '0') {
-            this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-            // console.log("详情接口调用成功");
-          } else {
-            this.$message({
-              showClose: true,
-              message:res.data.msg,
-              type:'warning'
-            });
-            this.getDataList()  //刷新列表
-          }
-        }).catch((error) => {
-          console.log(error);
-        });*/
+        this.$router.push({name:'PromptDetail', params:{id: id}})
       },
       getFilterItems() {
         const param = {
+          name:this.filter.name,
+          tagName:this.filter.tagName,
           current: this.currentPage,
           size: this.pageSize
         };
@@ -185,8 +173,8 @@
         }).catch(() => {});
       },
       showDelDialog(id){
-        this.showConfirmDialog('是否删除该科室?',()=>{
-          api.deleteDeptInfo({id}).then((res)=>{
+        this.showConfirmDialog('是否删除该静态知识?',()=>{
+          api.delPromptInfo({id}).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');
               this.getDataList();

+ 26 - 27
src/components/icss/PromptTagPool.vue

@@ -4,7 +4,7 @@
       <p class="poolTitle">标签池:</p>
       <div class="pool">
         <el-input placeholder="请输入搜索内容"
-                v-model="searchVal">
+                v-model="searchVal" clearable>
           <i slot="prefix"
              class="el-input__icon el-icon-search"
           ></i>
@@ -27,7 +27,7 @@
       <p><span class="el-icon-arrow-left" @click="toLeftList"></span></p>
     </div>
     <div class="bottomPartRight ">
-      <p class="poolTitle">操作界面:</p>
+      <p class="poolTitle">已选标签:</p>
       <ul class="tagList operationPool">
         <li class = "tagItem operationItem"
             v-for="(item) in rightTagsList"
@@ -56,10 +56,10 @@
         default: '',
         type: String
       },
-      sexType: {
-        default: '',
-        type: String
-      },
+      selected:{
+        default:[],
+        type:Array
+      }
     },
     data() {
       return {
@@ -72,9 +72,6 @@
           background:'#eae7e7'
         },
       }
-    },
-    mounted() {
-
     },
     watch: {
       pool(newVal, preVal) {
@@ -82,27 +79,31 @@
           this.leftTagsList = newVal
         }
       },
-      searchVal(newVal, preVal){
-        if(newVal.trim() == ''){
-          this.searchTagList()
-        }else if(newVal.trim() != preVal.trim()){
-          this.searchTagList()
+      selected(newVal, preVal) {
+        if (JSON.stringify(newVal) != JSON.stringify(preVal)) {console.log(newVal)
+          this.rightTagsList = newVal
         }
       },
-      sexType(newVal, preVal) {
-        if (newVal != preVal) {
-          if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
+      searchVal(newVal, preVal){
+        if(newVal.trim() == ''){
+          if(this.type==''){    //清空搜索时清空或回到原始
             this.leftTagsList = [];
-            this.selectLeftTagsList = [];
-            this.rightTagsList = [];
-            this.selectRightTagsList = [];
-            this.searchVal = '';
+          }else{
             this.searchTagList();
           }
+        }else if(newVal.trim() != preVal.trim()){
+          this.searchTagList()
         }
       },
-
-
+      type(newVal, preVal) {
+        if(newVal.trim()==''&&this.searchVal.trim()==''){
+          this.leftTagsList = [];
+          return ;
+        }
+        if(this.searchVal.trim()!=''||newVal != preVal){
+          this.searchTagList()
+        }
+      }
     },
     methods: {
       selectLeftTag(tag, index, e) {
@@ -133,8 +134,6 @@
         return false;
       },
       getStyle(item){       //左侧选中状态
-        // console.log('selected',utils.filterArr(this.leftTagsList,item,2))
-        // return utils.filterArr(this.selectLeftTagsList,item,2)
         return this.isHasTag(item, this.selectLeftTagsList)
       },
       getStyle2(item) {
@@ -157,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() {
@@ -174,7 +173,7 @@
           "controlType": [],
           "type": this.type || '',
           "notIds": notIds,
-          "sexType": this.sexType,
+          "sexType": 3,
 
         }
         api.searchTagList(param).then((res) => {

+ 26 - 25
src/components/icss/PubIndeptTag.vue

@@ -44,6 +44,30 @@
                             :key="item.id"
                     ></el-option>
                 </el-select>
+            </el-form-item>
+             <el-form-item
+                    label="性别:"
+                    prop="region7"
+            >
+                <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
+                <el-select
+                        v-model="form.region7"
+                        :disabled="!!editData.id || !form.region1 || form.region2 == '99'"
+                        @change="(e)=>readyChangeSelect(e,3)"
+                >
+                    <el-option
+                            label="通用"
+                            value="3"
+                    ></el-option>
+                    <el-option
+                            label="男"
+                            value="1"
+                    ></el-option>
+                    <el-option
+                            label="女"
+                            value="2"
+                    ></el-option>
+                </el-select>
             </el-form-item>
             <el-form-item
                     label="标签系统名称:"
@@ -73,7 +97,7 @@
                     label="标签前后缀:"
                     class="fix-inp"
                     prop="region12"
-                    v-if="form.region2==6"
+                    v-if="form.region2==6 || form.region2==7"
             >
                 <el-col :span="10">
                 <el-input v-model="form.prefix"
@@ -123,30 +147,7 @@
                     ></el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item
-                    label="性别:"
-                    prop="region7"
-            >
-                <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
-                <el-select
-                        v-model="form.region7"
-                        :disabled="!!editData.id || !form.region1 || form.region2 == '99'"
-                        @change="(e)=>readyChangeSelect(e,3)"
-                >
-                    <el-option
-                            label="通用"
-                            value="3"
-                    ></el-option>
-                    <el-option
-                            label="男"
-                            value="1"
-                    ></el-option>
-                    <el-option
-                            label="女"
-                            value="2"
-                    ></el-option>
-                </el-select>
-            </el-form-item>
+           
             <el-form-item
                     label="年龄:"
                     prop="region8"

+ 17 - 17
src/components/icss/SingleSelect.vue

@@ -2,17 +2,17 @@
     <div class="single-container">
         <el-form>
             <div class="operation-row">
-                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="1+i" v-model="rows[i].defaultSelect" @change="emitValues(i,'hasDefault',rows[i].defaultSelect)">
-                    <el-checkbox-button  v-if=" ascription != 5 || type != 1" :label="i" :disabled="hasNone==i||hasBan==i|| hasCorrect==i || (hasDefault!=-1&&hasDefault!=i)">默认选中</el-checkbox-button>
+                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=2&&(focusOn==i||(focusOn==-1&&i==0))" :key="1+i" v-model="rows[i].defaultSelect" @change="emitValues(i,'hasDefault',rows[i].defaultSelect)">
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1 || type == 2)" :label="i" :disabled="hasNone==i||hasBan==i|| hasError==i || (hasDefault!=-1&&hasDefault!=i)">默认选中</el-checkbox-button>
                 </el-checkbox-group>
-                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="2+i" v-model="rows[i].isNone" @change="emitValues(i,'hasNone',rows[i].isNone)">
-                    <el-checkbox-button  v-if=" ascription != 5 || type != 1" :label="i" :disabled="hasDefault==i||hasBan==i || hasCorrect==i ||(hasNone!=-1&&hasNone!=i)">同“无”类型</el-checkbox-button>
+                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="2+i" v-model="rows[i].isNone" @change="emitValues(i,'hasNone',rows[i].isNone)">
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasBan==i || hasError==i ||(hasNone!=-1&&hasNone!=i)">同“无”类型</el-checkbox-button>
                 </el-checkbox-group>
-                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="3+i" v-model="rows[i].isBan" @change="emitValues(i,'hasBan',rows[i].isBan)">
-                    <el-checkbox-button v-if=" ascription!=5 || type != 1" :label="i" :disabled="hasDefault==i||hasNone==i || hasCorrect==i||(hasBan!=-1&&hasBan!=i)">同“伴”类型</el-checkbox-button>
+                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="3+i" v-model="rows[i].isBan" @change="emitValues(i,'hasBan',rows[i].isBan)">
+                    <el-checkbox-button v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasNone==i || hasError==i||(hasBan!=-1&&hasBan!=i)">同“伴”类型</el-checkbox-button>
                 </el-checkbox-group>
-                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="4+i" v-model="rows[i].isCorrect" @change="emitValues(i,'hasCorrect',rows[i].isCorrect)">
-                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasCorrect!=-1&&hasCorrect!=i)">标记正确选项</el-checkbox-button>
+                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="4+i" v-model="rows[i].isError" @change="emitValues(i,'hasError',rows[i].isError)">
+                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasError!=-1&&hasError==i)">标记异常选项</el-checkbox-button>
                 </el-checkbox-group>
                 <el-button type="danger" size="small" class="del" @click="delRow">删除</el-button>
             </div>
@@ -85,8 +85,8 @@
       props:['type','options','ascription','sexType'],
       data(){
         return {
-          maps:{isBan:'同“伴”',isNone:'同“无”',defaultSelect:'默认选中',isCorrect:'正确选项'},
-          rows:[{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}],
+          maps:{isBan:'同“伴”',isNone:'同“无”',defaultSelect:'默认选中',isError:'异常选项'},
+          rows:[{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}],
           focusOn:-1
         }
       },
@@ -94,7 +94,7 @@
         const {options} = this.$props;
         if(options){
           const arr = options.map((it)=>{
-            return {name:it.name,defaultSelect:it.defaultSelect=='1'?true:false,isBan:it.code==1?true:'',isNone:it.code==2?true:'',isCorrect:it.code==3?true:''};
+            return {name:it.name,defaultSelect:it.defaultSelect=='1'?true:false,isBan:it.code==1?true:'',isNone:it.code==2?true:'',isError:it.abnormal==1?true:''};
           });
           this.rows = arr;
           const items = utils.simpleOptionData(this.rows);
@@ -128,9 +128,9 @@
           });
           return index;
         },
-        hasCorrect:function(){        //是否为正确选项
+        hasError:function(){        //是否为正确选项
           let index =this.rows.findIndex((it)=>{
-            return it.isCorrect;
+            return it.isError;
           });
           return index;
         }
@@ -139,28 +139,28 @@
         ascription(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
         type(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
         sexType(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
       },
       methods:{
         addRow(){
-          this.rows.push({name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''});
+          this.rows.push({name:'',defaultSelect:'',isBan:'',isNone:'',isError:''});
         },
         selectRow(index){
           this.focusOn = index;

+ 2 - 1
src/components/icss/SymptomTagGroup.vue

@@ -109,7 +109,7 @@ export default {
           let newArr = []
           for (let i = 0; i < this.rightTagsList2.length; i++) {
               if(this.rightTagsList2[i].tagType == 8) {
-                  newArr.push({ text: this.rightTagsList2[i].tagName ,type:'input' ,id: i+',,,'})
+                  newArr.push({ text: this.rightTagsList2[i].tagName ,type:'input' ,id: i+',,,', symptomType: this.rightTagsList2[i].symptomType})
               } else {
                   if(i === 0 ) {
                       newArr.push({ text: '' ,type:'input' ,id: i+',,,'})
@@ -249,6 +249,7 @@ export default {
             }
             this.selectLeftTagsList = []
             this.selectRightTagsList = []
+            this.searchTagList()
             this.$emit('changeActionData',this.rightTagsList2, false);
         },
         searchTagList() {

+ 9 - 0
src/routes.js

@@ -42,6 +42,9 @@ import SimilarName from '@components/icss/SimilarName.vue'//别名维护
 import AddSimilarName from '@components/icss/AddSimilarName.vue'//别名维护-详情
 import CommonSymptom from '@components/icss/CommonSymptom.vue' //常见科室症状
 import AddCommonSymptom from '@components/icss/AddCommonSymptom' //常见科室症状--添加
+import PromptDetail from '@components/icss/PromptDetail.vue'//提示信息详情
+import MedicinePrompt from '@components/icss/MedicinePrompt.vue'   //医学术语静态知识
+import AddMedicinePrompt from '@components/icss/AddMedicinePrompt.vue'   //医学术语静态知识
 
 import DisclaimerInformation from '@components/icss/DisclaimerInformation.vue'//免责声明
 import DiscInfoDetail from '@components/icss/DiscInfoDetail.vue'//免责声明-详情
@@ -169,6 +172,12 @@ export default [
       {path:'LT-YXSJWH-CTBQWH',component:PhysicalExamTemplate,name:'PhysicalExamTemplate'},     //查体模板维护
       {path:'LT-YXSJWH-TJCTMB',component:AddPhysicalExamTemp,name:'AddPhysicalExamTemp'},     //查体模板维护
       {path:'LT-YXSJWH-TJMBWH',component:TemplateMaintenanceWrap,name:'TemplateMaintenanceWrap'},     //模板维护-添加修改
+      {path:'LT-YXSJWH-TJTSXX',component:AddPromptInfo,name:'AddPromptInfo'},         //提示信息维护-添加
+      {path:'LT-YXSJWH-TSXXXQ',component:PromptDetail,name:'PromptDetail'},         //提示信息维护详情
+      {path:'LT-YXSYKWH-YXSYJTZSWH',component:MedicinePrompt,name:'MedicinePrompt'},         //医学术语提示信息维护
+      {path:'LT-YXSYKWH-TJYXSYJTZS',component:AddMedicinePrompt,name:'AddMedicinePrompt'},         //医学术语提示信息维护添加
+
+
     ]
   }
 ]