瀏覽代碼

Merge branch 'ChronicMag' into ChronicMag_zxc

zhangxc 6 年之前
父節點
當前提交
eb85ba9abf

+ 3 - 2
src/api/config.js

@@ -136,7 +136,6 @@ export default {
     'getConceptKnowledgeList':'/api/knowledgeman/libraryDetail/getLibraryDetailList', //  术语静态知识列表
     'getConceptKnowledge':'/api/knowledgeman/Knowledge/getConceptKnowledge',//术语静态知识查询
     'getConceptInfo':'/api/knowledgeman/concept/getConceptInfo', //  搜索术语
-    'getAllConcept':'/api/knowledgeman/concept/getAllConcept', //  术语列表
     'versionInfo': 'api/icssman/versionInfo/getVersionInfoAlls', //版本信息
     'addVersInfo': 'api/icssman/versionInfo/saveVersionInfoAlls', //版本信息-添加
     'updateVersInfo': 'api/icssman/versionInfo/updateVersionInfoAlls', //版本信息-修改
@@ -159,7 +158,9 @@ export default {
     'getAllRelationType': 'api/knowledgeman/lexiconRelationship/getAllLexiconRelationship', //医学术语-关系维护-关系下拉
     'addRelationConcept': 'api/knowledgeman/relation/addRelationInfo', //医学术语-关系维护-添加
     'RelationUpload': 'api/knowledgeman/relation/relationInfoExcelIm', //医学术语-关系维护-导入
-    'getAllConcept': 'api/knowledgeman/concept/getAllConcept', //查询所有术语名称
+    'scaleContentStructure': 'api/icssman/scaleContent/list',  //量表结构维护 -- 列表
+    'getAllDeptAndDisInfo': 'api/icssman/moduleInfo/getAllDeptAndDisInfo',  //模板维护-获取科室和疾病所有信息
+    'queryEvaluationModulePages': 'api/icssman/evaluationModuleMapping/queryEvaluationModulePages',  //慢病管理评估维护 -- 列表
     'getMedicalInfoList': '/api/knowledgeman/medical/getMedicalInfoList', //医学术语--属性维护--属性列表
     'medicalInfoExcelIm': '/api/knowledgeman/medical/medicalInfoExcelIm', //医学术语--属性维护-术语医学属性excel文件导入
     'getMedicalInfoDetail': '/api/knowledgeman/medical/getMedicalInfoDetail', //医学术语--属性维护--属性详情

+ 10 - 3
src/api/icss.js

@@ -250,9 +250,6 @@ export default {
     RelationUpload(param) {//关系维护-导入
         return axios.post(urls.RelationUpload, param)
     },
-    getAllConcept(param) {//查询所有术语名称
-        return axios.post(urls.getAllConcept, param)
-    },
     getMedicalInfoList(param) { //医学术语--属性维护--属性列表
         return axios.post(urls.getMedicalInfoList, param)
     },
@@ -277,6 +274,16 @@ export default {
     getAllBodypart(param) {
         return axios.post(urls.getAllBodypart, param)
     },
+
+    scaleContentStructure(param) {
+        return axios.post(urls.scaleContentStructure, param)
+    },
+    getAllDeptAndDisInfo() { //模板维护-获取科室和疾病所有信息
+        return axios.post(urls.getAllDeptAndDisInfo)
+    },
+    queryEvaluationModulePages(param) { 
+        return axios.post(urls.queryEvaluationModulePages,param)
+    },
     getAllDepts(param) {
         return axios.post(urls.getAllDepts, param)
     },

+ 1 - 0
src/api/utils.js

@@ -199,6 +199,7 @@ export default {
       "copyType":'region10',          //是否复制主标签  
       "showAdd":'region11',           //是否复制当前模块
       "itemType": 'region12',
+      "disType": 'region13',
       "labelPrefix":'prefix',                                 //前缀
       "labelSuffix":'suffix',                                 //后缀
       "maxValue":'maxNormalVal',                                 //前缀

+ 7 - 6
src/components/icss/AddIndeptLabel.vue

@@ -1,9 +1,10 @@
 <template>
     <div class="NoiseTemplateWrapper TemplateWrapper">
-        <div class="groupTitle"><i
-                class="el-icon-back"
-                @click="back"
-        ></i> {{txt}}</div>
+        <crumbs
+          :title="txt"
+          class="topBack"
+          linkTo="/admin/LT-YXSJWH-DLLXBQWH"
+        ></crumbs>
         <PubIndeptTag
                 @changeVal="changeVal"
                 @changeSex="changeSex"
@@ -40,7 +41,7 @@
     name: 'NoiseTemplateWrapper',
     data() {
       return {
-        txt:'独立标签维护--添加独立标签',
+        txt:'独立标签维护-添加独立标签',
         dataPub: {},      //公用组件传的值都在这
         itemsTypes:[1,2],            //有明细的类型
         editData:{},                    //编辑数据
@@ -58,7 +59,7 @@
     beforeMount:function(){
       const {isEdit,data} = this.$route.params;
       if(isEdit){
-        this.txt = '独立标签维护--修改独立标签'
+        this.txt = '独立标签维护-修改独立标签'
         this.editData = data;
       }
     },

+ 9 - 5
src/components/icss/AddPhysicalExamTemp.vue

@@ -1,10 +1,11 @@
 <!-- 添加常见科室症状  -->
 <template>
     <div class="AddPhysicalExamTempWrapper">
-        <div class="groupTitle"><i
-            class="el-icon-back"
-            @click="back"
-        ></i> 查体模板维护系统--{{titleText}}</div>
+        <crumbs
+          :title="'查体模板维护系统-'+titleText"
+          class="topBack"
+          linkTo="/admin/LT-YXSJWH-CTMBWH"
+        ></crumbs>
         <el-form :model="form" ref="ruleForm" :rules="rules" class="addDepartForm">
             <el-form-item label="模板归属:"  >
                <span>查体</span>
@@ -306,6 +307,9 @@
 <style lang="less">
     @import '../../less/common.less';
     .AddPhysicalExamTempWrapper {
+      .topBack {
+        top:0;
+      }
         .groupTitle {
             background-color: #fff;
             height: 40px;
@@ -315,7 +319,7 @@
         .addDepartForm {
             background-color: #fff;
             padding: 20px;
-            margin: 20px 20px 0px 20px;
+            margin: 60px 20px 0px 20px;
         }
         .symptomList {
             background-color: #fff;

+ 1 - 0
src/components/icss/AddPromptInfo.vue

@@ -16,6 +16,7 @@
                                :data="f"
                                :index="i"
                                :len="len"
+                               :key="i"
                                :isEdit = "isEdit"
                                @add="addParagraph"
                                @del="delParagraph" ref="subForm"></InfoParagraph>

+ 251 - 0
src/components/icss/ChronicDiseaseAdd.vue

@@ -0,0 +1,251 @@
+<template>
+  <div>
+    <crumbs
+      :title="minTitle"
+      class="topBack"
+      linkTo="/admin/LT-YXSJWH-LBJGWH"
+    ></crumbs>
+    <div class="ChronicDiseaseAddWrap">
+      <div class="ChronicDisease">
+        <p class="ChronicDiseaseTop">
+          <span>选择量表标签:</span>
+          <input
+            type="text"
+            v-model="region"
+          >
+          <i>搜索</i>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </p>
+        <p class="ChronicDiseaseBtm">
+          <span>已选择量表:</span>
+          <i>{{region}}</i>
+        </p>
+      </div>
+      <div class="ChronicDiseaseDetail">
+        <div class="ChronicDiseaseLeft">
+          <h4>操作栏:</h4>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </div>
+        <div class="bottomPartMid fl">
+          <p><span
+              class="el-icon-arrow-right"
+              @click="toRightPool"
+            ></span></p>
+          <p><span
+              class="el-icon-arrow-left"
+              @click="toLeftPool"
+            ></span></p>
+        </div>
+        <div class="ChronicDiseaseRight">
+          <h4>内容池:</h4>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </div>
+        <div class="bottomPartMid fl">
+          <p><span
+              class="el-icon-arrow-up"
+              @click="toTopPool"
+            ></span></p>
+          <p><span
+              class="el-icon-arrow-down"
+              @click="toBtmPool"
+            ></span></p>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import api from '@api/icss.js';
+import utils from '@api/utils.js';
+
+/**
+ * 归属type
+ * 1:主诉模板 2:现病史模板 3:现病史空模板 4 : 其他史模板 5:嵌套模板 6:慢病模板
+ */
+
+
+export default {
+  data() {
+    return {
+      region: '',    //量表标签
+      AdscriptionsType: [],
+      editData: {},
+      minTitle:'量表维护-添加量表',
+    }
+  },
+  mounted() {
+    console.log(this.$route.params, 78787)
+    let tmpEditData = this.$route.params
+    this.editData = tmpEditData
+    if (tmpEditData.isEdit) {      //修改
+      this.minTitle='量表维护-修改量表', 
+      this.form = Object.assign({}, this.form, editData);
+      this.form.region1 = (editData.type + '')
+      this.form.region2 = editData.name
+    }
+    this.$emit('changeVal', this.form, false)
+    // this.searchTagList()
+  },
+  methods: {
+    sendData(val) {
+      this.$emit('changeVal', this.form, false)
+    },
+    toRightPool() {
+
+    },
+    toLeftPool() {
+
+    },
+    toTopPool() {
+
+    },
+    toBtmPool() {
+
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.$emit('validatePass', this.form, false)
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+  }
+}
+</script>
+<style lang="less" scoped>
+@import "../../less/common.less";
+.topBack {
+  top: 0;
+}
+.ChronicDiseaseAddWrap {
+  margin: 20px;
+  box-sizing: border-box;
+  background-color: #fff;
+  color: #606266;
+  .ChronicDisease {
+    border-bottom: 1px solid #c0c4cc;
+    padding: 20px;
+    margin-top: 60px;
+    span {
+      width: 160px;
+      display: inline-block;
+    }
+    .ChronicDiseaseTop {
+      input {
+        width: 221px;
+        height: 34px;
+        line-height: 34px;
+        padding-left: 7px;
+        padding-right: 56px;
+        box-sizing: border-box;
+      }
+      i {
+        display: inline-block;
+        width: 56px;
+        height: 34px;
+        line-height: 32px;
+        border-left: 1px solid #ccc;
+        position: relative;
+        left: -57px;
+        vertical-align: middle;
+        text-align: center;
+        cursor: default;
+      }
+      ul {
+        margin-left: 160px;
+        width: 219px;
+        border: 1px solid #ccc;
+        background: #fff;
+        max-height: 291px;
+        overflow-y: auto;
+        li {
+          border: 1px solid #fff;
+          padding-left: 7px;
+          height: 27px;
+          line-height: 27px;
+          overflow: hidden;
+          white-space: nowrap;
+          text-overflow: ellipsis;
+        }
+        li:hover {
+          border-color: #22ccc8;
+        }
+      }
+    }
+    .ChronicDiseaseBtm {
+      margin: 10px 0;
+    }
+  }
+  .ChronicDiseaseDetail {
+    padding: 20px;
+    overflow: hidden;
+    min-width: 650px;
+    h4 {
+      margin-bottom: 10px;
+    }
+    .bottomPartMid {
+      width: 60px;
+      margin-top: 60px;
+      p {
+        width: 100%;
+        text-align: center;
+        span {
+          cursor: pointer;
+          display: inline-block;
+          width: 30px;
+          height: 40px;
+          line-height: 40px;
+          margin: 0 auto;
+          border: 1px solid @icssBorder;
+          margin-bottom: 15px;
+          font-size: 18px;
+        }
+      }
+    }
+    .ChronicDiseaseLeft {
+      float: left;
+    }
+  }
+  .ChronicDiseaseRight {
+    float: left;
+    ul {
+      width: auto;
+    }
+  }
+  ul {
+    width: 219px;
+    border: 1px solid #ccc;
+    background: #fff;
+    height: 400px;
+    overflow-y: auto;
+    li {
+      border: 1px solid #fff;
+      padding: 0 7px;
+      height: 27px;
+      line-height: 27px;
+      overflow: hidden;
+      white-space: nowrap;
+      text-overflow: ellipsis;
+    }
+    li:hover {
+      border-color: #22ccc8;
+    }
+  }
+}
+</style>
+

+ 196 - 0
src/components/icss/ChronicDiseaseManage.vue

@@ -0,0 +1,196 @@
+<template>
+    <div>
+        <crumbs title="慢病管理与评估维护" style="min-width: 980px">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="慢病名称:">
+                    <el-input size="mini" v-model="filter.tagSysName" placeholder="慢病名称" clearable></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <el-button size="mini" type="warning" @click="addIndeptTag">添加管理评估</el-button>
+                </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="编号"
+                        :resizable = "false"
+                        width="60">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="gmtModified"
+                        label="操作时间"
+                        width="180">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="diseaseName"
+                        label="慢病名称">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="modifier"
+                        label="操作人">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="operate"
+                        label="操作">
+                    <template slot-scope="scope">
+                        <el-button  @click="modifyIndeptTag(scope.row)" type="text" size="small">修改</el-button>
+                        <el-button @click="showDelDialog(scope.row.id)" class="delete" type="text" size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+        </div>
+        <div class="pagination">
+            <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';
+
+  export default {
+    name: 'TemplateMaintenance',
+    data: function() {
+      return {
+        list: [],
+        tagTypes: [],
+        Adscriptions: [],
+        AdscriptionsType:[],
+        AdscriptionsOwnTo:[],
+        tagTypesList: [],
+        filter: {
+          tagType: [], //标签类型
+          tagSysName: '', //标签系统名称
+        },
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+      }
+    },
+    created() {
+      this.getDropList().then(() => {
+        this.getDataList()
+      })
+    },
+    methods: {
+      getDropList() {
+        let templateOwn = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleTypeEnum : []
+        let templateType = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleInfoTypeEnum : []
+        this.Adscriptions = templateOwn;
+        this.AdscriptionsType = templateType
+        return api.getDropList().then((res) =>{
+          if(res.data.code === '0') {
+            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();
+        api.queryEvaluationModulePages(param).then((res) => {
+          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) {
+                list[i].tagTypeCn = this.tagTypes[j].name;
+              }
+            }
+            for (var z =  0; z < this.Adscriptions.length; z++) {
+              if(list[i].type === this.Adscriptions[z].val) {
+                list[i].typeCn = this.Adscriptions[z].name
+              }
+            }
+          }
+          this.list = list;
+          this.total = res.data.data.total;
+        })
+      },
+      filterDatas() {
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      addIndeptTag() {
+        this.$router.push({name:'ChronicDiseaseManageAdd'})
+      },
+      modifyIndeptTag(row) {
+        this.$router.push({name:'ChronicDiseaseManageAdd',params:{isEdit:true,data:row}});
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        this.getDataList();
+      },
+      getFilterItems() {
+        const param = {
+          current: this.currentPage,
+          size: this.pageSize,
+          diseaseName:this.filter.tagSysName,
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      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.delTemplate({ids:id}).then((res)=>{
+            if(res.data.code=='0'){
+              this.getDataList();
+              this.warning(res.data.msg || '操作成功','success');
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+
+<style lang="less">
+    .delete{
+        color: red
+    }
+    .delete:hover {
+        color: red;
+    }
+</style>

+ 284 - 0
src/components/icss/ChronicDiseaseManageAdd.vue

@@ -0,0 +1,284 @@
+<template>
+  <div>
+    <crumbs
+      :title="minTitle"
+      class="topBack"
+      linkTo="/admin/LT-YXSJWH-MBGLYPG"
+    ></crumbs>
+    <div class="ChronicDiseaseAddWrap">
+      <div class="ChronicDisease">
+        <p class="ChronicDiseaseTop">
+          <span>选择诊断标签:</span>
+          <input
+            type="text"
+            v-model="region"
+          >
+          <i>搜索</i>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </p>
+        <p class="ChronicDiseaseBtm">
+          <span>已选择诊断:</span>
+          <i>{{region}}</i>
+        </p>
+      </div>
+      <div class="ChronicDiseaseDetail">
+         <el-form
+            class="ChronicDiseaseForm"
+          >
+            <el-form-item
+              label="数据来源:"
+              prop="comes"
+            >
+              <el-select
+                v-model="comes"
+                placeholder="请选择数据来源"
+              >
+                <el-option
+                  v-for="item in Adscriptions"
+                  :label="item.name"
+                  :value="item.id"
+                  :key="item.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-form>
+        <div class="ChronicDiseaseLeft">
+          <h4>操作栏:</h4>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </div>
+        <div class="bottomPartMid fl">
+          <p><span
+              class="el-icon-arrow-right"
+              @click="toRightPool"
+            ></span></p>
+          <p><span
+              class="el-icon-arrow-left"
+              @click="toLeftPool"
+            ></span></p>
+        </div>
+        <div class="ChronicDiseaseRight">
+          <h4>内容池:</h4>
+          <ul>
+            <li>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</li>
+            <li>呵呵呵</li>
+            <li>咯咯咯</li>
+          </ul>
+        </div>
+        <div class="bottomPartMid fl">
+          <p><span
+              class="el-icon-arrow-up"
+              @click="toTopPool"
+            ></span></p>
+          <p><span
+              class="el-icon-arrow-down"
+              @click="toBtmPool"
+            ></span></p>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import api from '@api/icss.js';
+import utils from '@api/utils.js';
+
+/**
+ * 归属type
+ * 1:主诉模板 2:现病史模板 3:现病史空模板 4 : 其他史模板 5:嵌套模板 6:慢病模板
+ */
+
+
+export default {
+  data() {
+    return {
+      region: '',    //量表标签
+      AdscriptionsType: [],
+      Adscriptions:[
+        {name:'图谱',id:'1'},
+        {name:'后端',id:'2'},
+        {name:'前端',id:'3'},
+      ],
+      editData: {},
+      comes:'',
+      minTitle: '慢病评估维护-添加管理评估'
+    }
+  },
+  mounted() {
+    console.log(this.$route.params, 78787)
+    let tmpEditData = this.$route.params
+    this.editData = tmpEditData
+    if (tmpEditData.isEdit) {      //修改
+      this.minTitle = '慢病评估维护-修改管理评估'
+      this.form = Object.assign({}, this.form, editData);
+      this.form.region1 = (editData.type + '')
+      this.form.region2 = editData.name
+    }
+    this.$emit('changeVal', this.form, false)
+    // this.searchTagList()
+  },
+  methods: {
+    sendData(val) {
+      this.$emit('changeVal', this.form, false)
+    },
+    toRightPool() {
+
+    },
+    toLeftPool() {
+
+    },
+    toTopPool() {
+
+    },
+    toBtmPool() {
+
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.$emit('validatePass', this.form, false)
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+  }
+}
+</script>
+<style lang="less" scoped>
+@import "../../less/common.less";
+.topBack {
+  top: 0;
+}
+.ChronicDiseaseAddWrap {
+  margin: 20px;
+  box-sizing: border-box;
+  background-color: #fff;
+  color: #606266;
+  .ChronicDisease {
+    border-bottom: 1px solid #c0c4cc;
+    padding: 20px;
+    margin-top: 60px;
+    span {
+      width: 160px;
+      display: inline-block;
+    }
+    .ChronicDiseaseTop {
+      input {
+        width: 221px;
+        height: 34px;
+        line-height: 34px;
+        padding-left: 7px;
+        padding-right: 56px;
+        box-sizing: border-box;
+      }
+      i {
+        display: inline-block;
+        width: 56px;
+        height: 34px;
+        line-height: 32px;
+        border-left: 1px solid #ccc;
+        position: relative;
+        left: -57px;
+        vertical-align: middle;
+        text-align: center;
+        cursor: default;
+      }
+      ul {
+        margin-left: 160px;
+        width: 219px;
+        border: 1px solid #ccc;
+        background: #fff;
+        max-height: 291px;
+        overflow-y: auto;
+        li {
+          border: 1px solid #fff;
+          padding-left: 7px;
+          height: 27px;
+          line-height: 27px;
+          overflow: hidden;
+          white-space: nowrap;
+          text-overflow: ellipsis;
+        }
+        li:hover {
+          border-color: #22ccc8;
+        }
+      }
+    }
+    .ChronicDiseaseBtm {
+      margin: 10px 0;
+    }
+  }
+  .ChronicDiseaseDetail {
+    padding: 20px;
+    overflow: hidden;
+    min-width: 650px;
+    .ChronicDiseaseForm {
+      margin-bottom: 15px;
+      .el-form-item__content {
+        font-size: 16px;
+      }
+    }
+    h4 {
+      margin-bottom: 10px;
+      font-weight: normal;
+    }
+    .bottomPartMid {
+      width: 60px;
+      margin-top: 60px;
+      p {
+        width: 100%;
+        text-align: center;
+        span {
+          cursor: pointer;
+          display: inline-block;
+          width: 30px;
+          height: 40px;
+          line-height: 40px;
+          margin: 0 auto;
+          border: 1px solid @icssBorder;
+          margin-bottom: 15px;
+          font-size: 18px;
+        }
+      }
+    }
+    .ChronicDiseaseLeft {
+      float: left;
+    }
+  }
+  .ChronicDiseaseRight {
+    float: left;
+    ul {
+      width: auto;
+    }
+  }
+  ul {
+    width: 219px;
+    border: 1px solid #ccc;
+    background: #fff;
+    height: 400px;
+    overflow-y: auto;
+    li {
+      border: 1px solid #fff;
+      padding: 0 7px;
+      height: 27px;
+      line-height: 27px;
+      overflow: hidden;
+      white-space: nowrap;
+      text-overflow: ellipsis;
+    }
+    li:hover {
+      border-color: #22ccc8;
+    }
+  }
+}
+</style>
+

+ 197 - 0
src/components/icss/ChronicDiseaseStructureList.vue

@@ -0,0 +1,197 @@
+<template>
+    <div>
+        <crumbs title="量表结构维护" style="min-width: 980px">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="量表名称:">
+                    <el-input size="mini" v-model="filter.tagSysName" placeholder="量表名称" clearable></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <el-button size="mini" type="warning" @click="addIndeptTag">添加量表</el-button>
+                </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="编号"
+                        :resizable = "false"
+                        width="60">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="gmtModified"
+                        label="操作时间"
+                        width="180">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="name"
+                        label="量表名称">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="modifier"
+                        label="操作人">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="operate"
+                        label="操作">
+                    <template slot-scope="scope">
+                        <el-button  @click="modifyIndeptTag(scope.row)" type="text" size="small">修改</el-button>
+                        <el-button @click="showDelDialog(scope.row.id)" class="delete" type="text" size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+        </div>
+        <div class="pagination">
+            <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';
+
+  export default {
+    name: 'TemplateMaintenance',
+    data: function() {
+      return {
+        list: [],
+        tagTypes: [],
+        Adscriptions: [],
+        AdscriptionsType:[],
+        AdscriptionsOwnTo:[],
+        tagTypesList: [],
+        filter: {
+          tagType: [], //标签类型
+          tagSysName: '', //标签系统名称
+        },
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+      }
+    },
+    created() {
+      this.getDropList().then(() => {
+        this.getDataList()
+      })
+    },
+    methods: {
+      getDropList() {
+        let templateOwn = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleTypeEnum : []
+        let templateType = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleInfoTypeEnum : []
+        this.Adscriptions = templateOwn;
+        this.AdscriptionsType = templateType
+        return api.getDropList().then((res) =>{
+          if(res.data.code === '0') {
+            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();
+        api.scaleContentStructure(param).then((res) => {
+          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) {
+                list[i].tagTypeCn = this.tagTypes[j].name;
+              }
+            }
+            for (var z =  0; z < this.Adscriptions.length; z++) {
+              if(list[i].type === this.Adscriptions[z].val) {
+                list[i].typeCn = this.Adscriptions[z].name
+              }
+            }
+          }
+          this.list = list;
+          this.total = res.data.data.total;
+        })
+      },
+      filterDatas() {
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      addIndeptTag() {
+        this.$router.push({name:'ChronicDiseaseAdd'})
+      },
+      modifyIndeptTag(row) {
+        this.$router.push({name:'ChronicDiseaseAdd',params:{isEdit:true,data:row}});
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        this.getDataList();
+      },
+      getFilterItems() {
+        const param = {
+          current: this.currentPage,
+          size: this.pageSize,
+          type: this.filter.tagAdscription,
+          moduleType:this.filter.templateType,
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      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.delTemplate({ids:id}).then((res)=>{
+            if(res.data.code=='0'){
+              this.getDataList();
+              this.warning(res.data.msg || '操作成功','success');
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+
+<style lang="less">
+    .delete{
+        color: red
+    }
+    .delete:hover {
+        color: red;
+    }
+</style>

+ 256 - 0
src/components/icss/DiagnosisList.vue

@@ -0,0 +1,256 @@
+<template>
+    <div>
+        <crumbs title="诊断标签维护" style="min-width: 980px">
+            <el-form :inline="true" class="demo-form-inline">
+                <!-- <el-form-item label="标签类型:">
+                    <el-select size="mini" v-model="filter.tagType[0]" placeholder="标签类型" clearable>
+                        <el-option v-for="item in tagTypes" :label="item.name" :value="item.val" :key="item.id"></el-option>
+                    </el-select>
+                </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-select>
+                </el-form-item>
+                <el-form-item label="标签系统名称:">
+                    <el-input size="mini" v-model="filter.tagSysName" placeholder="标签系统名称" clearable></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <el-button size="mini" type="warning" @click="addTagGroup">添加诊断标签</el-button>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table
+                :data="list"
+                border
+                style="width: 100%">
+                <el-table-column
+                    :resizable = "false"
+                    type="index"
+                    :index = 'indexMethod'
+                    label="编号"
+                    width="60">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="gmtModified"
+                    label="操作时间"
+                    width="180">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="typeCn"
+                    label="诊断归属">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="tagTypeCn"
+                    label="标签类型">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="tagName"
+                    label="标签系统名称">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="modifier"
+                    label="操作人">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="operate"
+                    label="操作">
+                    <template slot-scope="scope">
+                        <el-button  @click="modifyTagGroup(scope.row)" type="text" size="small">修改</el-button>
+                        <el-button @click="showDelDialog(scope.row.id,scope.row.type)" class="delete" type="text" size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        <div class="pagination">
+            <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>
+       <!--  <div class="pagination">
+           <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';
+
+export default {
+    name: 'DiagnosisList',
+    data: function() {
+        return {
+            list: [],
+            tagTypes: [],
+            Adscriptions: [],   //标签归属列表
+            tagTypesList: [],   //标签类型列表
+            filter: {
+                tagType: [], //标签类型
+                tagAdscription: '', //标签归属
+                tagSysName: '', //标签系统名称
+            },
+            currentPage: 1,
+            pageSize: 10,
+            total: 0,
+        }
+    },
+    created() {
+        this.getDropList().then(() => {
+            this.getDataList()
+        })
+        
+    },
+    methods: {
+        getValue(val) {
+            console.log('changeVal', val, this.filter.tagAdscription)
+        },
+        getDropList() {
+            return api.getDropList().then((res) =>{
+                // console.log('dropList', res)
+                if(res.data.code === '0') {
+                    this.Adscriptions = res.data.data[7];
+                    this.tagTypes =  res.data.data[3];
+                    for (var i = 0; i < this.tagTypes.length; i++) {
+                        this.tagTypesList.push(this.tagTypes[i].val)
+                    }
+                }
+                 
+            })
+        },
+        getDataList() {
+            const param = this.getFilterItems();
+            api.getTagList(param).then((res) => {
+                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) {
+                            list[i].tagTypeCn = this.tagTypes[j].name
+                        }
+                    }
+                    for (var z =  0; z < this.Adscriptions.length; z++) {
+                        if(list[i].disType == this.Adscriptions[z].val) {
+                            list[i].typeCn = this.Adscriptions[z].name
+                        }
+                    }
+                   
+                }
+                this.list = list;
+                this.total = res.data.data.total;
+            })
+        },
+        filterDatas() {
+            this.currentPage = 1;
+            this.getDataList();
+        },
+        addTagGroup() {
+            this.$router.push({path:'LT-YXSJWH-ZDBQTJ'})
+        },
+        modifyTagGroup(row) {
+            api.detailsTag({id: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:'DiagnosisTemplate',params:{isEdit:true,data:item}});
+                }else{
+                    this.$message({
+                    message: msg,
+                    type: 'warning'
+                    });
+                }
+            });
+        },
+        currentChange(next) {
+            this.currentPage = next;
+            this.getDataList();
+            // if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+            //     this.list = this.cacheData[next];
+            // } else {
+            //     this.getDataList();
+            // }
+        },
+        getFilterItems() {
+            const param = {
+                tagTypeList: ['9'],
+                current: this.currentPage,
+                size: this.pageSize,
+                type: '7',
+                disType:this.filter.tagAdscription,
+                tagName: this.filter.tagSysName,
+            };
+            return param;
+        },
+        indexMethod(index) {
+            return ((this.currentPage - 1) * this.pageSize) + index + 1;
+        },
+        getTagType(val) {
+            return val
+        },
+        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,type){
+          this.showConfirmDialog('是否删除该标签组?',()=>{
+            api.deleteTagGroup({ids:id,type:type}).then((res)=>{
+              if(res.data.code=='0'){
+                this.getDataList();
+                this.warning(res.data.msg || '操作成功','success');
+              }else{
+                this.warning(res.data.msg);
+              }
+            }).catch((error)=>{
+              this.warning(error);
+            })
+          });
+        }
+    }
+}
+</script>
+
+
+<style lang="less">
+    @import "../../less/admin.less";
+    .delete{
+       color: red;
+    }
+    .delete:hover {
+        color: red;
+    } 
+    .pagination {
+        min-width: 1010px;
+    }
+</style>

+ 525 - 0
src/components/icss/DiagnosisPubTag.vue

@@ -0,0 +1,525 @@
+<template>
+  <div class="PubTagGroupWrapper">
+    <el-form
+      class="groups"
+      :rules="rules"
+      ref="groups"
+      :model="form"
+      label-width="150px"
+    >
+      <el-form-item
+        label="选择归属:"
+        prop="region1"
+      >
+        <el-select
+          :disabled="true"
+          v-model="form.region1"
+          placeholder="请选择归属"
+          @change="(e)=>readyChangeSelect(e,1)"
+        >
+          <el-option
+            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="选择填写单类型:"
+        prop="region2"
+      >
+        <el-select
+          :disabled="true"
+          v-model="form.region2"
+          placeholder="请选择填写单类型"
+          @change="(e)=>readyChangeSelect(e,2)"
+        >
+          <el-option
+            v-for="item in labelTypes"
+            :label="item.name"
+            :value="item.val"
+            :key="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="性别:"
+        prop="region7"
+      >
+        <el-select
+          v-model="form.region7"
+          :disabled="!!editData.id || !form.region1 || form.region2 == 11"
+          @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="region3"
+      >
+        <el-input
+          v-model="form.region3"
+          :disabled="!form.region1"
+          maxLength="30"
+          placeholder="请输入标签系统名称"
+          @change="sendData"
+        ></el-input>
+      </el-form-item>
+      <el-form-item
+        label="标签界面名称:"
+        prop="region4"
+      >
+        <el-input
+          v-model="form.region4"
+          :disabled="!form.region1"
+          maxLength="30"
+          placeholder="请输入标签界面名称"
+          @change="sendData"
+        ></el-input>
+      </el-form-item>
+      <el-form-item
+        label="诊断归属:"
+        prop="region2"
+      >
+        <el-select
+          :disabled="!!editData.id"
+          v-model="form.region13"
+          placeholder="请选择诊断归属"
+          @change="(e)=>readyChangeSelect(e,2)"
+        >
+          <el-option
+            v-for="item in DiagnosislabelTypes"
+            :label="item.name"
+            :value="item.val"
+            :key="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <!-- <el-form-item
+        label="选择项之间链接:"
+        prop="region5"
+      >
+        <el-input
+          v-model="form.region5"
+          maxLength="30"
+          placeholder="请输入选择项之间链接"
+          @change="sendData"
+        ></el-input>
+      </el-form-item> -->
+      <!-- <el-form-item
+        label="能否当项目检索:"
+        prop="region6"
+      >
+        <el-select
+          v-model="form.region6"
+          :disabled="!form.region1 || form.region2 == 11"
+          @change="sendData"
+        >
+          <el-option
+            label="不可以"
+            value="1"
+          ></el-option>
+          <el-option
+            label="可以"
+            value="0"
+          ></el-option>
+        </el-select>
+      </el-form-item> -->
+      <el-form-item
+        v-if="form.region1 == 1 && form.region2 ==4"
+        label="是否为症状"
+        prop="region12"
+      >
+        <el-select
+          v-model="form.region12"
+          @change="sendData"
+        >
+          <el-option
+            label="是"
+            value="0"
+          ></el-option>
+          <el-option
+            label="不是"
+            value="1"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="年龄:"
+        prop="region8"
+        class="ages"
+      >
+        <el-input
+          v-model.number="form.region8"
+          :disabled="!form.region1 || form.region2 == 11"
+          ref="valage1"
+          type="number"
+          @input="sendData"
+        ></el-input>
+      </el-form-item> ~
+      <el-form-item
+        prop="region9"
+        class="ages maxAges"
+      > 
+        <el-input
+          v-model.number="form.region9"
+          :disabled="!form.region1 || form.region2 == 11"
+          type="number"
+          ref="valage2"
+          @input="sendData"
+        ></el-input>
+      </el-form-item>
+      <el-form-item class="verticalMiddle" label="选择子项时是否复制主项标签:" prop="region10" v-if="form.region2 == 6">
+        <el-select v-model="form.region10" :disabled="!form.region1 || form.region2 == 11">
+          <el-option label="不可以" value="0"></el-option>
+          <el-option label="可以" value="1"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="是否显示加号:" prop="region11" v-if="form.region2 == 2 || form.region2 == 3">
+        <el-select v-model="form.region11" :disabled="!form.region1 || form.region2 == 11">
+          <el-option label="显示" value="1"></el-option>
+          <el-option label="不显示" value="0"></el-option>
+        </el-select>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+<script>
+import api from '@api/icss.js';
+import utils from '@api/utils.js';
+
+export default {
+  props:['editData'],
+  data() {
+    var validatePass2 = (rule, value, callback) => {
+        const editData = this.$props.editData;
+        if(editData.id && value == editData.tagName){ //修改系统名称没变就不再校验
+          callback();    
+        }else{
+          this.validateSystomName(value,callback)
+        }
+    };
+    return {
+      form: {
+        region1: '7',    //归属
+        region2: '9',     //填写单类型
+        region3: '',      //系统名称
+        region4: '',      //界面名称
+        region5: '',      //选项之间的链接
+        // region6: '0',      //是否可以检索
+        region7: '3',       //性别
+        region8: '0',          //最小年龄
+        region9: '200',         //最大年龄
+        region10: '1',        //是否复制主标签
+        region11: '0',       //是否复制当前模块
+        region12:'1',        //是否为症状
+        region13:'',        //诊断归属
+        tagPool:[],          //标签池数据
+        order:[],            //排序方式
+        tipLis:[],           //提示列表
+      },
+      labelTypesMaps: {       //// 归属和填写单类型限制
+        '7':['9'],
+      },
+      rules: {
+        region1: [
+          { required: true, message: '请选择归属', trigger: 'change' }
+        ],
+        region2: [
+          { required: true, message: '请选择填写单类型', trigger: 'change' }
+        ],
+        region3: [
+          { required: true, message: '请输入标签系统名称', trigger: 'change' },
+          { validator: validatePass2, trigger: 'blur' },
+        ],
+        region4: [
+          { required: true, message: '请输入标签界面名称', trigger: 'change' }
+        ],
+        region6: [
+          { required: true, message: '请输入能否当项目检索', trigger: 'change' }
+        ],
+        region7: [
+          { required: true, message: '请选择性别', trigger: 'change' }
+        ],
+        region8: [
+          { required: true, message: '请输入最小年龄', trigger: 'change' }
+        ],
+        region9: [
+          { required: true, message: '请输入最大年龄', trigger: 'change' }
+        ],
+        region10: [
+          { required: true, message: '选择子项时是否复制主项标签', trigger: 'change' }
+        ],
+        region11: [
+          { required: true, message: '是否复制当前模块', trigger: 'change' }
+        ],
+        region12: [
+          { required: true, message: '是否为症状', trigger: 'change' }
+        ],
+        region13: [
+          { required: true, message: '请选择诊断归属', trigger: 'change' }
+        ],
+      },
+      tmpSex: '通用',
+      tmpOwn: '',
+      tmpType: '',
+      Adscriptions: [
+        {
+          id:6,
+          name:"诊断",
+          remark:"标签归属",
+          val:"7",
+        }
+      ],
+      labelTypes: [],
+      DiagnosislabelTypes: [],
+      labelTypesList: [],
+      tagTypes: [],        //标签池数据
+      type:'',
+      systom:null,      //标签系统名称存在与否
+    }
+  },
+  computed: {
+    newType() {
+      return this.form.region1;
+    },
+  },
+  mounted() {
+    const editData = this.$props.editData;
+    if(editData.id){
+      const trans = utils.transformKeys(editData,2); //(2是标签组类型)
+      // console.log('editData1', editData)
+      this.form = Object.assign({},this.form,trans);
+    }
+    this.$emit('submitForm', 'groups', false);
+    this.getDropList();
+    this.$emit('changeVal', this.form, false)
+  },
+  watch: {
+    newType(nextVal, prevVal) {
+      this.tmpOwn = prevVal;
+    },
+  },
+  methods: {
+    getDropList() {
+      return api.getDropList().then((res) => {
+        if (res.data.code === '0') {
+          this.AdscriptionsList = res.data.data[1];
+          this.labelTypesList = res.data.data[2];
+          this.form.order = res.data.data[5];
+          this.form.tipLis = res.data.data[6];
+          this.labelTypes = this.labelTypesList;
+          this.DiagnosislabelTypes = res.data.data[7];
+          // console.log('labelTypes', this.labelTypes)
+          this.Adscriptions = this.AdscriptionsList.filter(item => Object.keys(this.labelTypesMaps).indexOf(item.val) > -1);
+        }
+      })
+    },
+    searchTagList() {
+      const editData = this.$props.editData;
+      if(editData.id){
+        return;
+      }
+      let region1 = this.form.region1, region2 = this.form.region2;
+      let paramFst = !!region2 ? api.getGroupParams(region2): {};
+      let paramSec = {
+        "type": region1,
+        "sexType": this.form.region7,
+        "tagName":'',
+        "notIds": [],
+      }
+      // console.log(paramFst,paramSec,7787)
+      let params = Object.assign({},paramFst,paramSec)
+      api.searchTagList(params).then((res) => {
+        if (res.data.code === '0') {
+          this.form.tagPool = res.data.data
+        }
+      })
+    },
+    validateSystomName(name,callback) {
+      if(this.form.region3.trim() == ''){ return }
+      let param = {
+        "existName": this.form.region3,     
+        "type": this.form.region1,  
+        "notTagType":[8,10],        //去掉文字标签查重
+      }
+      api.validateSystomName(param).then((res) => {
+        if (res.data.code === '0') {
+          if(res.data.data && res.data.data.length != 0){
+            callback(new Error('该系统名称已存在'));
+          }else{
+            callback();
+          }
+        }
+      })
+    },
+    sendData() {
+      this.$emit('changeVal', this.form, false)
+    },
+    changeType(type){
+      this.$emit('changeVal', this.form, false)
+      this.$emit('changeType', type, false)
+    },
+    changeSex(data) {   //改变性别清空数据
+      this.$emit('changeVal', this.form, false)
+      this.$emit('changeSex', data, false)
+    },
+    readyChangeSelect(tmpData,type) {
+      if(type === 1) {
+        this.form.region2 = '';
+        this.labelTypes = this.labelTypesList.filter(item => this.labelTypesMaps[tmpData].indexOf(item.val) > -1)
+      }
+      if(type === 2) {
+        this.initForm()
+      }
+      this.changeSex(tmpData);
+      // if(type == 3){
+      //   this.form.region7 = this.tmpSex;
+      //   this.$alert('改变性别后,标签明细将会恢复到默认状态?', '提示', {
+      //     confirmButtonText: '确定',
+      //     cancelButtonClass: 'cancelColor',
+      //     type: 'warning'
+      //   }).then(() => {
+      //     this.form.region7 = tmpData
+      //     this.changeSex(tmpData);
+      //   }).catch(() => {
+      //     // this.form.region7 = this.tmpSex;
+      //   });
+      // }else if(type == 2){
+      //   this.form.region2 = this.tmpType
+      //   this.$alert('改变类型后,标签明细将会恢复到默认状态?', '提示', {
+      //     confirmButtonText: '确定',
+      //     cancelButtonClass: 'cancelColor',
+      //     type: 'warning'
+      //   }).then(() => {
+      //     this.form.region2 = tmpData;
+      //     this.changeSex(tmpData);
+      //   }).catch(() => {
+      //     // this.form.region2 = this.tmpType;
+      //   });
+      // }else if(type == 1){
+      //   this.form.region1 = this.tmpOwn;
+      //   this.$alert('改变归属后,标签明细将会恢复到默认状态?', '提示', {
+      //     confirmButtonText: '确定',
+      //     cancelButtonClass: 'cancelColor',
+      //     type: 'warning'
+      //   }).then(() => {
+      //     this.form.region1 = tmpData;
+      //     this.changeSex(tmpData);
+      //   }).catch(() => {
+      //     // this.form.region1 = this.tmpOwn;
+      //   });
+      // }
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.$emit('validatePass', this.form, false)
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || 'warning'
+      })
+    },
+    initForm() {
+      this.form.region12 = '1'
+      this.form.region10 = '1'
+      this.form.region11 = '0'
+    }
+  }
+}
+</script>
+<style lang="less">
+.PubTagGroupWrapper {
+  .groups {
+  background-color: #fff;
+  padding: 20px;
+  margin: 20px 20px -20px 20px;
+  .el-form-item__content,
+  .el-input__inner {
+    height: 30px;
+    line-height: 30px;
+    width: 200px;
+  }
+  .el-form-item {
+    margin-bottom: 20px;
+  }
+  .el-form-item__error {
+    top: 28px;
+  }
+  .el-form-item__label {
+    line-height: 30px;
+    text-align: left;
+  }
+  .el-input__icon {
+    line-height: 30px;
+  }
+  .verticalMiddle .el-form-item__content {
+    position: relative;
+    top: 16px;
+  }
+  .maxAges {
+    margin-left: -125px;
+  }
+  .ages {
+    display: inline-block;
+    .el-form-item__content {
+      width: auto;
+    }
+    .el-input {
+      display: inline-block;
+      width: auto;
+      .el-input__inner {
+        width: 60px;
+        padding: 0 5px;
+        margin-right: 25px;
+        text-align: center;
+      }
+
+      .el-input__inner::-webkit-outer-spin-button,
+      .el-input__inner::-webkit-inner-spin-button {
+        -webkit-appearance: none;
+      }
+
+      .el-input__inner[type="number"] {
+        -moz-appearance: textfield;
+      }
+    }
+  }
+  .el-message-box__btns .el-button--default {
+    color: #606266 !important;
+  }
+  .cancelColor {
+    color: #22ccc8 !important;
+  }
+  .changeTips {
+    position: absolute;
+    left: 220px;
+    min-width: 300px;
+    color: #22ccc8;
+    font-size: 12px;
+  }
+}
+}
+</style>
+

+ 222 - 0
src/components/icss/DiagnosisTemplate.vue

@@ -0,0 +1,222 @@
+<template>
+  <div class="NoiseTemplateWrapper TemplateWrapper">
+    <crumbs
+      :title="txt"
+      class="topBack"
+      linkTo="/admin/LT-YXSJWH-ZDBQWH"
+    ></crumbs>
+    <DiagnosisPubTag
+      :editData="editData"
+      @changeVal="changeVal"
+      @changeSex="changeSex"
+      @changeType="changeType"
+      @validatePass="validatePass"
+      ref="submitForm"
+    ></DiagnosisPubTag>
+    <div class="main">
+      <div class="btn">
+        <el-button
+          type="primary"
+          @click="submitForm"
+        >确 定</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+/**
+ * dataPub.region2  判断底部显示哪些
+ */
+import DiagnosisPubTag from './DiagnosisPubTag';
+import api from '@api/icss.js';
+
+export default {
+  name: 'NoiseTemplateWrapper',
+  data() {
+    return {
+      txt:'诊断标签维护-添加诊断标签',
+      dataPub: {},      //公用组件传的值都在这
+      editData:{},                    //编辑数据
+      form: {
+        currentOrder: '0',     //标签成文顺序
+      },
+      rules: {
+        currentOrder: [
+          { required: true, message: '选择标签成文顺序', trigger: 'change' }
+        ]
+      },
+      sendIds: [[], [], [], [], [], []],           //标签明细右侧操作数据
+    }
+  },
+  beforeMount:function(){
+    const {isEdit,data} = this.$route.params;
+    if(isEdit){
+      this.txt = '诊断标签维护-修改诊断标签';
+      this.editData = data;
+      // console.log('回读数据', this.editData)
+    }
+  },
+  computed: {
+    newSign() {
+      return this.dataPub.region2;
+    },
+  },
+  watch: {
+    newSign(nextVal, prevVal) {
+      if (nextVal != prevVal) {
+        this.form.currentOrder = '0'
+      }
+    },
+  },
+  methods: {
+    back() { this.$router.go(-1) },
+    changeVal(val) {    //子组件数据改变传递到父组件
+      this.dataPub = val
+      // console.log('公用组件传的值都在这', val)
+    },
+    changeSex(sex) {       //性别改变,清空标签明细
+      // console.log(sex)
+    },
+    changeType(type) {        //填写单类型改变,标签明细左侧更新,右侧清空
+      // console.log(type)
+    },
+    changeActionData(arr) {          //标签明细右侧数据id
+      this.sendIds = arr
+    },
+    submitForm() {       // 调用子组件的方法验证公用部分
+      this.$refs.submitForm.submitForm('groups');
+    },
+    validatePass() {      //验证成功回调,调取接口
+      //仍需验证标签明细是否选择
+      let type = this.dataPub.region1;
+      if (JSON.stringify(this.sendIds) == '[[],[],[],[],[],[]]' && type != 6 && type != 7 && type != 8 && type != 9 && type != 10 && type != 11) {
+        this.$message({
+          message: '请选择标签明细',
+          type: 'warning'
+        });
+        return;
+      }
+      if(parseInt(this.dataPub.region8) >= parseInt(this.dataPub.region9)) {
+          this.$message({
+            message: '最小年龄不能大于或等于最大年龄',
+            type: 'warning'
+          });
+          return;
+      }
+     
+
+      let param = {
+        "disTypeVO": {
+          "type": this.dataPub.region13
+        },
+        "questionWrapper": {
+          "controlType": 0,                            //控件类型(0:默认值 1:下拉单选 2:下拉多选 6:文本框 7:数字键盘文本框 99:联合推送)
+          "id": this.editData.id || '',                //新增id空
+          "type": this.dataPub.region1,                //标签归属
+          // "itemType":0,                                //0:是症状,1:不是症状
+          "tagType": this.dataPub.region2,             //标签类型
+          "tagName": this.dataPub.region3,             //系统名称
+          "name": this.dataPub.region4,                //界面名称
+          "joint": this.dataPub.region5,               //标签间的连接符
+          // "subType": this.dataPub.region6,   	         //0:可以,1:不可以(当项目检索)
+          "sexType": this.dataPub.region7,             //1:男,2:女,3:通用
+          "ageBegin": this.dataPub.region8,       		 //最小年龄
+          "ageEnd": this.dataPub.region9,              //最大年龄
+          "textGenerate": this.form.currentOrder,      //成文顺序 默认0
+          "copyType": this.dataPub.region10,           //是否复制
+          "showAdd": this.dataPub.region11,            //是否显示加号血压
+          "itemType" :this.dataPub.region12,
+          "showInfo": 0,
+          "questionDetails": [],
+          "questionMappings": []       //映射关系,
+        }
+      }
+      if((this.dataPub.region2 == 2 || this.dataPub.region2 == 3)&& detailLis.length == 0) {
+         this.warning('请选择标签明细')
+         return
+      }
+      this.showDelDialog(param)
+    },
+    showDelDialog(param) {
+      this.showConfirmDialog('是否保存该诊断标签?', () => {
+        api.saveOrUpdate(param).then((res) => {
+          if (res.data.code === '0') {
+            this.warning(res.data.msg || '保存成功', 'success','1000')
+            setTimeout(() => {
+              this.$router.push({
+                path:'/admin/LT-YXSJWH-ZDBQWH'
+              })
+            }, 1000);
+          } 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,time) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || 'warning',
+        duration:time || '3000'
+      })
+    },
+  },
+  components: {
+    DiagnosisPubTag
+  }
+}
+</script>
+<style lang="less">
+@import "../../less/common.less";
+.NoiseTemplateWrapper {
+  .groupTitle {
+    background-color: #fff;
+    height: 40px;
+    line-height: 40px;
+    padding-left: 20px;
+  }
+  .main {
+    background-color: #fff;
+    margin: 0 20px 20px;
+    padding: 20px;
+    border-top: 1px solid @icssBorder;
+    box-sizing: border-box;
+    font-size: 14px;
+    color: #606266;
+    .title {
+      margin-bottom: 20px;
+      min-width: 915px;
+      i {
+        color: #f56c6c;
+      }
+      span {
+        color:#22ccc8;
+        font-size: 12px;
+      }
+    }
+  }
+  .btn {
+    text-align: right;
+    margin-top: 10px;
+  }
+  .order {
+    margin-bottom: 20px;
+    .el-input__inner {
+      line-height: 30px;
+      height: 30px;
+    }
+  }
+}
+</style>
+

+ 9 - 5
src/components/icss/LabelGroup.vue

@@ -65,7 +65,7 @@
                     label="操作">
                     <template slot-scope="scope">
                         <el-button  @click="modifyTagGroup(scope.row)" type="text" size="small">修改</el-button>
-                        <el-button @click="showDelDialog(scope.row.id)" class="delete" type="text" size="small">删除</el-button>
+                        <el-button @click="showDelDialog(scope.row.id,scope.row.type)" class="delete" type="text" size="small">删除</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -130,7 +130,10 @@ export default {
             return api.getDropList().then((res) =>{
                 // console.log('dropList', res)
                 if(res.data.code === '0') {
-                    this.Adscriptions = res.data.data[1];
+                    // this.Adscriptions = res.data.data[1];
+                    let tmpLis = res.data.data[1]
+                    this.Adscriptions = tmpLis.filter(item => item.val != 7);
+
                     this.tagTypes =  res.data.data[3];
                     for (var i = 0; i < this.tagTypes.length; i++) {
                         this.tagTypesList.push(this.tagTypes[i].val)
@@ -197,7 +200,8 @@ export default {
                 current: this.currentPage,
                 size: this.pageSize,
                 type: this.filter.tagAdscription,
-                tagName: this.filter.tagSysName
+                tagName: this.filter.tagSysName,
+                notTypeList: [7]
             };
             return param;
         },
@@ -222,9 +226,9 @@ export default {
             resolve();
           }).catch(() => {});
         },
-        showDelDialog(id){
+        showDelDialog(id,type){
           this.showConfirmDialog('是否删除该标签组?',()=>{
-            api.deleteTagGroup({ids:id}).then((res)=>{
+            api.deleteTagGroup({ids:id,type:type}).then((res)=>{
               if(res.data.code=='0'){
                 this.getDataList();
                 this.warning(res.data.msg || '操作成功','success');

File diff suppressed because it is too large
+ 16 - 8
src/components/icss/NoiseTemplate.vue


+ 5 - 3
src/components/icss/PubTagGroup.vue

@@ -242,9 +242,11 @@ export default {
         '4':['2','3'],
         '5':['7'],
         '6':['9'],
-        '7':['9'],
+        // '7':['9'],
         '8':['9'],
-        '9':['9']
+        '9':['9'],
+        '10':['9'],
+        '11':['9']
       },
       rules: {
         region1: [
@@ -463,13 +465,13 @@ export default {
       this.form.region12 = '1'
       this.form.region10 = '1'
       this.form.region11 = '0'
-
     }
   }
 }
 </script>
 <style lang="less">
 .PubTagGroupWrapper {
+  margin-top: 60px;
   .groups {
   background-color: #fff;
   padding: 20px;

+ 71 - 26
src/components/icss/PubTemplateGroup.vue

@@ -8,34 +8,45 @@
       label-width="150px"
     >
       <el-form-item
-        label="选择归属:"
-        prop="region1"
+        label="模板名称:"
+        prop="region2"
+      >
+        <el-input
+          v-model="form.region2"
+          :disabled="!!editData.id"
+          maxLength="120"
+          placeholder="请输入模板名称"
+        ></el-input>
+      </el-form-item>
+      <el-form-item
+        label="模板类型:"
+        prop="region3"
       >
-        <span class="changeTips">改变归属后,模板内容将会恢复到默认状态</span>
+        <span class="changeTips">改变模板类型后,模板内容将会恢复到默认状态</span>
         <el-select
           :disabled="!!editData.id"
-          v-model="form.region1"
-          placeholder="请选择模板归属"
+          v-model="form.region3"
+          placeholder="模板类型"
           @change="sendData"
         >
           <el-option
-            v-for="item in Adscriptions"
+            v-for="item in AdscriptionsType"
             :label="item.name"
             :value="item.key+''"
             :key="item.key"
           ></el-option>
         </el-select>
       </el-form-item>
-      <!-- <el-form-item
-        label="选择子模板归属:"
-        prop="region3"
-        v-if="form.region1 == 5"
+      <el-form-item
+        label="属于科室:"
+        prop="region4"
+        v-if="form.region3 == 1"
       >
-        <span class="changeTips">改变子模板归属后,模板内容将会恢复到默认状态</span>
+        <!-- <span class="changeTips">改变属于科室后,模板内容将会恢复到默认状态</span> -->
         <el-select
           :disabled="!!editData.id"
-          v-model="form.region3"
-          placeholder="请选择子模板"
+          v-model="form.region4"
+          placeholder="属于科室"
           @change="sendData"
         >
           <el-option
@@ -45,17 +56,45 @@
             :key="item.key"
           ></el-option>
         </el-select>
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item
-        label="模板名称:"
-        prop="region2"
+        label="属于慢病:"
+        prop="region5"
+        v-if="form.region3 == 2"
       >
-        <el-input
-          v-model="form.region2"
+        <!-- <span class="changeTips">改变属于慢病后,模板内容将会恢复到默认状态</span> -->
+        <el-select
           :disabled="!!editData.id"
-          maxLength="120"
-          placeholder="请输入模板名称"
-        ></el-input>
+          v-model="form.region5"
+          placeholder="属于慢病"
+          @change="sendData"
+        >
+          <el-option
+            v-for="item in sonLis"
+            :label="item.name"
+            :value="item.key+''"
+            :key="item.key"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="模板归属:"
+        prop="region1"
+      >
+        <span class="changeTips">改变模板归属后,模板内容将会恢复到默认状态</span>
+        <el-select
+          :disabled="!!editData.id"
+          v-model="form.region1"
+          placeholder="模板归属"
+          @change="sendData"
+        >
+          <el-option
+            v-for="item in Adscriptions"
+            :label="item.name"
+            :value="item.key+''"
+            :key="item.key"
+          ></el-option>
+        </el-select>
       </el-form-item>
     </el-form>
   </div>
@@ -92,7 +131,9 @@ export default {
       form: {
         region1: '',    //归属
         region2: '',     //模板名称
-        region3: '-1',     //子模板
+        region3: '',     //子模板
+        region4: '',     //所属科室
+        region5: '',     //所属慢病
         tagPool:[],      //标签池
       },
       rules: {
@@ -101,20 +142,24 @@ export default {
         ],
         region2: [
           { required: true, message: '请输入模板名称', trigger: 'change' },
-          // { validator: validatePass2, trigger: 'blur' },
         ],
         region3: [
-          { required: true, message: '请选择子模板归属', trigger: 'change' },
-          // { validator: validatePass2, trigger: 'blur' },
+          { required: true, message: '请选择模板类型', trigger: 'change' },
+        ],
+        region4: [
+          { required: true, message: '请选择所属科室', trigger: 'change' },
         ],
       },
+      AdscriptionsType:[]
     }
   },
   beforeMount:function(){
     let templateOwn = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleTypeEnum : []
+    let templateType = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleInfoTypeEnum : []
+    this.AdscriptionsType = templateType
     let guisu = localStorage.getItem('guisu') ? JSON.parse(localStorage.getItem('guisu')) : []
     for(let k = 0;k < guisu.length;k++){
-      templateOwn = templateOwn.filter(item => item.key != guisu[k])
+      // templateOwn = templateOwn.filter(item => item.key != guisu[k])
     }
     this.Adscriptions = templateOwn;
   },

+ 61 - 35
src/components/icss/TemplateMaintenance.vue

@@ -2,11 +2,21 @@
     <div>
         <crumbs title="模板维护" style="min-width: 980px">
             <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="模板归属:">
-                    <el-select size="mini" v-model="filter.tagAdscription" placeholder="模板归属" clearable>
+                <el-form-item label="模板类型:">
+                    <el-select size="mini" v-model="filter.templateType" placeholder="模板类型" clearable>
+                        <el-option v-for="item in AdscriptionsType" :label="item.name" :value="item.key" :key="item.key" ></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="归属:">
+                    <el-select size="mini" v-model="filter.tagAdscription" placeholder="归属" clearable>
                         <el-option v-for="item in Adscriptions" :label="item.name" :value="item.key" :key="item.key" ></el-option>
                     </el-select>
                 </el-form-item>
+                <el-form-item label="属于:">
+                    <el-select size="mini" v-model="filter.ownTo" placeholder="属于" clearable>
+                        <el-option v-if="!!item.name" v-for="item in AdscriptionsOwnTo" :label="item.name" :value="item.id" :key="item.id" ></el-option>
+                    </el-select>
+                </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
                     <el-button size="mini" type="warning" @click="addIndeptTag">添加模板</el-button>
@@ -36,6 +46,16 @@
                         prop="name"
                         label="模板名称">
                 </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="moduleTypeName"
+                        label="模板类型">
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="relationName"
+                        label="属于">
+                </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         prop="ascriptionName"
@@ -52,7 +72,7 @@
                         label="操作">
                     <template slot-scope="scope">
                         <el-button  @click="modifyIndeptTag(scope.row)" type="text" size="small">修改</el-button>
-                        <!-- <el-button @click="showDelDialog(scope.row.id)" class="delete" type="text" size="small">删除</el-button> -->
+                        <el-button @click="showDelDialog(scope.row.id,scope.row.type)" class="delete" type="text" size="small">删除</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -82,15 +102,20 @@
         list: [],
         tagTypes: [],
         Adscriptions: [],
+        AdscriptionsType:[],
+        AdscriptionsOwnTo:[],
         tagTypesList: [],
         filter: {
           tagType: [], //标签类型
+          templateType: '', //模板类型
+          ownTo: '', //属于科室、慢病
           tagAdscription: '', //标签归属
           tagSysName: '', //标签系统名称
         },
         currentPage: 1,
         pageSize: 10,
         total: 0,
+        deptAndDisInfo:[],
       }
     },
     created() {
@@ -99,45 +124,43 @@
       })
       this.getSubTemplate()
     },
+    computed:{
+      tmpType(){
+        return this.filter.templateType
+      }
+    },
+    watch: {
+      tmpType(newVal, preVal){
+        console.log(newVal,preVal)
+        if(newVal != preVal){
+          if(newVal == 1){
+            this.AdscriptionsOwnTo = this.deptAndDisInfo.deptDTOS
+            this.filter.ownTo = ''
+          }else if(newVal == 2){
+            this.AdscriptionsOwnTo = this.deptAndDisInfo.disDTOS
+            this.filter.ownTo = ''
+          }else{
+            this.AdscriptionsOwnTo = []
+            this.filter.ownTo = ''
+          }
+        }
+      }
+    },
     methods: {
       getSubTemplate() {
-        let param = {
-          noIds:this.subTmpList,
-        }
-        api.getModuleInfoSub(param).then((res) => {
-          if (res.data.code === '0') {
+        api.getAllDeptAndDisInfo().then((res) => {
+          if (res.data.code === '0') {//获取科室和疾病所有信息
             let result = res.data.data
-            let arr = [],main = '',now = '',nowEmpt = '',other = '';
-            for(let i = 0;i < result.length;i++){
-              if(result[i].name == '主诉模板'){
-                if(!main){
-                  main = 1
-                  arr.push(main)
-                }
-              }else if(result[i].name == '现病史模板'){
-                if(!now){
-                  now = 2
-                  arr.push(now)
-                }
-              }else if(result[i].name == '现病史空模板'){
-                if(!nowEmpt){
-                  nowEmpt = 3
-                  arr.push(nowEmpt)
-                }
-              }else if(result[i].name == '其他史模板'){
-                if(!other){
-                  other = 4
-                  arr.push(other)
-                }
-              }
-            }
-            localStorage.setItem('guisu',JSON.stringify(arr))
+
+            this.deptAndDisInfo = result
           }
         })
       },
       getDropList() {
         let templateOwn = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleTypeEnum : []
+        let templateType = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleInfoTypeEnum : []
         this.Adscriptions = templateOwn;
+        this.AdscriptionsType = templateType
         return api.getDropList().then((res) =>{
           if(res.data.code === '0') {
             this.tagTypes =  res.data.data[6];
@@ -175,6 +198,7 @@
         this.$router.push({path:'LT-YXSJWH-TJMBWH'})
       },
       modifyIndeptTag(row) {
+        console.log(row)
         Promise.all([
           api.getModuleInfoOne({moduleId:row.id}),
           api.getModuleDetailInfo({moduleId:row.id})
@@ -201,6 +225,8 @@
           current: this.currentPage,
           size: this.pageSize,
           type: this.filter.tagAdscription,
+          moduleType:this.filter.templateType,
+          relationId:this.filter.ownTo
         };
         return param;
       },
@@ -222,9 +248,9 @@
           resolve();
         }).catch(() => {});
       },
-      showDelDialog(id){
+      showDelDialog(id,type){
         this.showConfirmDialog('是否删除该标签?',()=>{
-          api.delTemplate({ids:id}).then((res)=>{
+          api.delTemplate({ids:id,type:type}).then((res)=>{
             if(res.data.code=='0'){
               this.getDataList();
               this.warning(res.data.msg || '操作成功','success');

+ 15 - 8
src/components/icss/TemplateMaintenanceWrap.vue

@@ -1,9 +1,10 @@
 <template>
   <div class="NoiseTemplateWrapper TemplateWrapper">
-    <div class="groupTitle"><i
-        class="el-icon-back"
-        @click="back"
-      ></i> {{txt}}</div>
+    <crumbs
+      :title="txt"
+      class="topBack"
+      linkTo="/admin/LT-YXSJWH-MBWH"
+    ></crumbs>
     <PubTemplateGroup
       :editData="editData"
       @changeVal="changeVal"
@@ -42,7 +43,7 @@ export default {
   name: 'TemplateMaintenanceWrap',
   data() {
     return {
-      txt:'模板维护--添加模板',
+      txt:'模板维护-添加模板',
       dataPub: {},                    //公用组件传的值都在这
       editData:{},                    //编辑数据
       sendIds: [],           //标签明细右侧操作数据
@@ -51,7 +52,7 @@ export default {
   beforeMount:function(){
     const {isEdit,data} = this.$route.params;
     if(isEdit){
-      this.txt = '模板维护--修改模板';
+      this.txt = '模板维护-修改模板';
       this.editData = data;
       // console.log('回读数据', this.editData)
     }
@@ -71,10 +72,16 @@ export default {
       //仍需验证标签明细是否选择
       let type = this.dataPub.region1,name=this.dataPub.region2;
       let detailLis = utils.orderTemplateData(this.sendIds)
-      console.log(detailLis)
+      // console.log(detailLis)
       if (JSON.stringify(this.sendIds) == '[]' || !detailLis) {
         this.$message({
-          message: '请选择模板内容',
+          message: '模板至少包含一个标签池标签',
+          type: 'warning'
+        });
+        return;
+      }else if(detailLis[0].text == '' && detailLis[0].questionId == ''){
+        this.$message({
+          message: '保存模版时,无法保存单独的输入栏',
           type: 'warning'
         });
         return;

+ 0 - 1
src/main.js

@@ -10,7 +10,6 @@ import qs from 'qs';
 import utils from '@api/utils.js';
 import Crumbs from '@components/common/Crumbs.vue';
 
-
 Vue.config.productionTip = false;
 Vue.prototype.axios = axios;
 Vue.prototype.qs = qs;

+ 13 - 0
src/routes.js

@@ -63,6 +63,13 @@ import MedicalRelation from '@components/icss/MedicalRelation.vue'//医学术语
 import AddMedicalRelation from '@components/icss/AddMedicalRelation.vue'//医学术语维护-关系维护-添加
 import MedicalInfo from '@components/icss/MedicalInfo.vue'//医学术语维护-信息维护(属性维护)
 import AddMedicalInfo from '@components/icss/AddMedicalInfo.vue'//医学术语维护-信息维护(属性维护)-添加
+import DiagnosisList from '@components/icss/DiagnosisList.vue'//诊断标签维护 -- 列表显示
+import DiagnosisTemplate from '@components/icss/DiagnosisTemplate.vue';//诊断标签维护 -- 添加
+import ChronicDiseaseStructureList from '@components/icss/ChronicDiseaseStructureList.vue'; //量表结构维护 -- 列表
+import ChronicDiseaseAdd from '@components/icss/ChronicDiseaseAdd.vue'; //量表结构维护 -- 添加
+import ChronicDiseaseManage from '@components/icss/ChronicDiseaseManage.vue'; //慢病管理评估维护 -- 列表
+import ChronicDiseaseManageAdd from '@components/icss/ChronicDiseaseManageAdd.vue'; //慢病管理评估维护 -- 添加
+
 import ChemicalAndCommonMapping from '@components/icss/ChemicalAndCommonMapping.vue'; //化验大小项与公表维护
 import AddChemicalAndCommonMapping from '@components/icss/AddChemicalAndCommonMapping.vue'  //化验大小项与公表维护--添加关联
 import ChronicAndIndexRelation from '@components/icss/ChronicAndIndexRelation.vue'  //医学数据--慢病指标值关联维护
@@ -202,6 +209,12 @@ export default [
       {path:'LT-YXSYKWH-TJYXSYGX',component:AddMedicalRelation,name:'AddMedicalRelation'},     //医学术语--关系维护-添加
       {path:'LT-YXSYKWH-SYYXSXWH',component:MedicalInfo,name:'MedicalInfo'},  //医学术语维护-信息维护(属性维护)
       {path:'LT-YXSYKWH-TJYXSYXX',component:AddMedicalInfo,name:'AddMedicalInfo'},  //医学术语维护-信息维护(属性维护) -- 添加
+      {path:'LT-YXSJWH-ZDBQWH',component:DiagnosisList,name:'DiagnosisList'},  //诊断标签维护 -- 列表显示
+      {path:'LT-YXSJWH-ZDBQTJ',component:DiagnosisTemplate,name:'DiagnosisTemplate'},  //诊断标签维护 -- 添加
+      {path:'LT-YXSJWH-LBJGWH',component:ChronicDiseaseStructureList,name:'ChronicDiseaseStructureList'},  //量表结构维护 -- 列表
+      {path:'LT-YXSJWH-LBJGTJ',component:ChronicDiseaseAdd,name:'ChronicDiseaseAdd'},  //量表结构维护 -- 添加
+      {path:'LT-YXSJWH-MBGLYPG',component:ChronicDiseaseManage,name:'ChronicDiseaseManage'},  //慢病管理评估维护 -- 列表
+      {path:'LT-YXSJWH-MBGLYTJ',component:ChronicDiseaseManageAdd,name:'ChronicDiseaseManageAdd'},  //慢病管理评估维护 -- 添加
       {path:'LT-YXSJWH-HYDXXYGBXDY',component:ChemicalAndCommonMapping,name:'ChemicalAndCommonMapping'},  //化验大小项与公表维护
       {path:'LT-YXSJWH-TJHYDXXYGBXDY',component:AddChemicalAndCommonMapping,name:'AddChemicalAndCommonMapping'},  //化验大小项与公表维护--添加关联
       {path:'LT-YXSYKWH-YXSYLXWH',component:MedicalType,name:'MedicalType'},     //医学术语--类型维护

+ 1 - 1
vue.config.js

@@ -1,7 +1,7 @@
 const path = require('path');
 // const proxy_path = 'http://192.168.2.236:80';
+// const proxy_path = 'http://192.168.2.241:88';
 const proxy_path = 'http://192.168.2.236:88';
-// const proxy_path = 'http://192.168.2.236:88';
 // const proxy_path = 'http://192.168.3.101:5050';
 // const proxy_path = 'http://192.168.3.117:5050';//周铁刚
 // const proxy_path = 'http://192.168.3.115:5050';