瀏覽代碼

整体架构搭建

Luolei 6 年之前
父節點
當前提交
c6105a98d4

+ 4 - 1
src/api/config.js

@@ -164,7 +164,10 @@ export default {
     'removeMedicalInfo': 'http://192.168.3.101:5050/api/knowledgeman/medical/removeMedicalInfo', //医学术语--属性维护--术语医学属性删除
     'getAllLexiconRelationship':'http://192.168.3.101:5050/api/knowledgeman/lexicon/getAllLexicon', //医学术语--获取所有关系类型
     'getAllConcept':'http://192.168.3.101:5050/api/knowledgeman/concept/getAllConcept',   //医学术语--获取所有概念(标准术语)
-    'getAllBodypart': 'http://192.168.3.101:5050/api/knowledgeman/bodypart/getAllBodypart'  //医学术语--获取所有部位
+    'getAllBodypart': 'http://192.168.3.101:5050/api/knowledgeman/bodypart/getAllBodypart',  //医学术语--获取所有部位
+    'scaleContentStructure': 'api/icssman/scaleContent/list',  //量表结构维护 -- 列表
+    'getAllDeptAndDisInfo': 'api/icssman/moduleInfo/getAllDeptAndDisInfo',  //模板维护-获取科室和疾病所有信息
+    'queryEvaluationModulePages': 'api/icssman/evaluationModuleMapping/queryEvaluationModulePages',  //慢病管理评估维护 -- 列表
 	},
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 10 - 1
src/api/icss.js

@@ -264,5 +264,14 @@ 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)
+    },
 }

+ 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>
@@ -304,6 +305,9 @@
 <style lang="less">
     @import '../../less/common.less';
     .AddPhysicalExamTempWrapper {
+      .topBack {
+        top:0;
+      }
         .groupTitle {
             background-color: #fff;
             height: 40px;
@@ -313,7 +317,7 @@
         .addDepartForm {
             background-color: #fff;
             padding: 20px;
-            margin: 20px 20px 0px 20px;
+            margin: 60px 20px 0px 20px;
         }
         .symptomList {
             background-color: #fff;

+ 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>

+ 7 - 6
src/components/icss/DiagnosisTemplate.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-ZDBQWH"
+    ></crumbs>
     <DiagnosisPubTag
       :editData="editData"
       @changeVal="changeVal"
@@ -33,7 +34,7 @@ export default {
   name: 'NoiseTemplateWrapper',
   data() {
     return {
-      txt:'诊断标签维护--添加诊断标签',
+      txt:'诊断标签维护-添加诊断标签',
       dataPub: {},      //公用组件传的值都在这
       editData:{},                    //编辑数据
       form: {
@@ -50,7 +51,7 @@ export default {
   beforeMount:function(){
     const {isEdit,data} = this.$route.params;
     if(isEdit){
-      this.txt = '诊断标签维护--修改诊断标签';
+      this.txt = '诊断标签维护-修改诊断标签';
       this.editData = data;
       // console.log('回读数据', this.editData)
     }

+ 10 - 6
src/components/icss/NoiseTemplate.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-BQZWH"
+    ></crumbs>
     <PubTagGroup
       :editData="editData"
       @changeVal="changeVal"
@@ -113,7 +114,7 @@ export default {
   name: 'NoiseTemplateWrapper',
   data() {
     return {
-      txt:'标签组维护--添加标签组',
+      txt:'标签组维护-添加标签组',
       dataPub: {},      //公用组件传的值都在这
       editData:{},                    //编辑数据
       form: {
@@ -130,7 +131,7 @@ export default {
   beforeMount:function(){
     const {isEdit,data} = this.$route.params;
     if(isEdit){
-      this.txt = '标签组维护--修改标签组';
+      this.txt = '标签组维护-修改标签组';
       this.editData = data;
       // console.log('回读数据', this.editData)
     }
@@ -265,6 +266,9 @@ export default {
 <style lang="less">
 @import "../../less/common.less";
 .NoiseTemplateWrapper {
+  .topBack {
+    top: 0;
+  }
   .groupTitle {
     background-color: #fff;
     height: 40px;

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

@@ -471,6 +471,7 @@ export default {
 </script>
 <style lang="less">
 .PubTagGroupWrapper {
+  margin-top: 60px;
   .groups {
   background-color: #fff;
   padding: 20px;

+ 30 - 5
src/components/icss/PubTemplateGroup.vue

@@ -30,7 +30,7 @@
           @change="sendData"
         >
           <el-option
-            v-for="item in sonLis"
+            v-for="item in AdscriptionsType"
             :label="item.name"
             :value="item.key+''"
             :key="item.key"
@@ -38,14 +38,35 @@
         </el-select>
       </el-form-item>
       <el-form-item
-        label="属科室:"
+        label="属科室:"
         prop="region4"
+        v-if="form.region3 == 1"
       >
-        <span class="changeTips">改变属科室后,模板内容将会恢复到默认状态</span>
+        <!-- <span class="changeTips">改变属科室后,模板内容将会恢复到默认状态</span> -->
         <el-select
           :disabled="!!editData.id"
           v-model="form.region4"
-          placeholder="所属科室"
+          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="region5"
+        v-if="form.region3 == 2"
+      >
+        <!-- <span class="changeTips">改变属于慢病后,模板内容将会恢复到默认状态</span> -->
+        <el-select
+          :disabled="!!editData.id"
+          v-model="form.region5"
+          placeholder="属于慢病"
           @change="sendData"
         >
           <el-option
@@ -110,8 +131,9 @@ export default {
       form: {
         region1: '',    //归属
         region2: '',     //模板名称
-        region3: '-1',     //子模板
+        region3: '',     //子模板
         region4: '',     //所属科室
+        region5: '',     //所属慢病
         tagPool:[],      //标签池
       },
       rules: {
@@ -128,10 +150,13 @@ export default {
           { 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])

+ 54 - 40
src/components/icss/TemplateMaintenance.vue

@@ -4,12 +4,7 @@
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="模板类型:">
                     <el-select size="mini" v-model="filter.templateType" 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-for="item in Adscriptions" :label="item.name" :value="item.key" :key="item.key" ></el-option>
+                        <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="归属:">
@@ -17,6 +12,11 @@
                         <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>
@@ -46,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"
@@ -62,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>
@@ -92,17 +102,20 @@
         list: [],
         tagTypes: [],
         Adscriptions: [],
+        AdscriptionsType:[],
+        AdscriptionsOwnTo:[],
         tagTypesList: [],
         filter: {
           tagType: [], //标签类型
           templateType: '', //模板类型
-          ownTo: '', //属于科室
+          ownTo: '', //属于科室、慢病
           tagAdscription: '', //标签归属
           tagSysName: '', //标签系统名称
         },
         currentPage: 1,
         pageSize: 10,
         total: 0,
+        deptAndDisInfo:[],
       }
     },
     created() {
@@ -111,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];
@@ -187,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})
@@ -213,6 +225,8 @@
           current: this.currentPage,
           size: this.pageSize,
           type: this.filter.tagAdscription,
+          moduleType:this.filter.templateType,
+          relationId:this.filter.ownTo
         };
         return param;
       },
@@ -234,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');

+ 7 - 6
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)
     }

+ 9 - 0
src/routes.js

@@ -65,6 +65,11 @@ 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'; //慢病管理评估维护 -- 添加
+
 export default [
   {
     path: '/',
@@ -196,6 +201,10 @@ export default [
       {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'},  //慢病管理评估维护 -- 添加
     ]
   }
 ]