浏览代码

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

reaper 4 年之前
父节点
当前提交
7be734a458

+ 1 - 4
src/api/cdss.js

@@ -3,7 +3,7 @@ import config from '@api/config.js';
 const urls = config.urls;
 function request(config) {
   const instance = axios.create({
-    baseURL: "http://192.168.2.121:7010",
+    //baseURL: "http://192.168.2.121:7010",
     timeout: 500000,
     headers: {
       'Content-Type': "application/json;charset=utf-8"
@@ -715,8 +715,6 @@ export default {
     return axios.post(urls.updateRunningStatus, param);
   },
 
-
-
   getRelatedMapping(param) {
     //查询已映射关系
     return axios.post(urls.getRelatedMapping, param);
@@ -725,5 +723,4 @@ export default {
     //推荐匹配
     return axios.post(urls.getTermMatching, param);
   },
-  
 };

+ 16 - 15
src/api/config.js

@@ -3,9 +3,9 @@ const testUrl = ''
 
 export default {
   host: 'http://192.168.2.121:5050',
-   imgHost: 'http://192.168.2.236:82',      //富文本编辑器图片回传地址
+   //imgHost: 'http://192.168.2.236:82',      //富文本编辑器图片回传地址
   // imgHost: 'http://192.168.2.121:82',      //富文本编辑器图片回传地址
-  imgHost: 'http://192.168.2.241:82',      //富文本编辑器图片回传地址
+  imgHost:'http://192.168.2.121:82',      //富文本编辑器图片回传地址
   delayTime: 500,
   urls: {
     /* 登录注册相关接口 */
@@ -395,6 +395,7 @@ export default {
     'exportPacsModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
     'precPacsDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
     'dataPacsVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+    
 
     'getDrugPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //药品列表
     'drugIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //药品-映射关系是否已存在
@@ -532,11 +533,11 @@ export default {
     'getKlmEnumsDataCDSS': '/api/cdssman/getKlmEnumsData',   //枚举数据获取
 
 
-    'getCaseResultList': '/api/cdssman/test/rule/getCaseResultList',
-    'billRuleTest': '/api/cdssman/test/rule/billRuleTest',
-    'getResultBillPage': '/api/cdssman/test/rule/getResultBillPage',
-    'exportRuleExcel': '/api/cdssman/test/rule/exportExcel',
-    'ruleAllTest': '/api/cdssman/test/rule/ruleTest',
+    'getCaseResultList': '/api/cdssman/test/rule/getCaseResultList', 
+    'billRuleTest': '/api/cdssman/test/rule/billRuleTest',   
+    'getResultBillPage': '/api/cdssman/test/rule/getResultBillPage', 
+    'exportRuleExcel': '/api/cdssman/test/rule/exportExcel', 
+    'ruleAllTest': '/api/cdssman/test/rule/ruleTest', 
     'getResultCriticalPage': '/api/cdssman/test/rule/getResultCriticalPage',   //危急值测试列表
     'criticalRuleTest': '/api/cdssman/test/rule/criticalRuleTest',   //危急值规则测试
     'getResultHighriskDrugPage': '/api/cdssman/test/rule/getResultHighriskDrugPage',   //高危药品测试列表
@@ -546,7 +547,7 @@ export default {
     'getResultOtherPacsPage': '/api/cdssman/test/rule/getResultOtherPacsPage',   //其他值提醒(辅检)测试列表
     'getResultOtherTransfusionPage': '/api/cdssman/test/rule/getResultOtherTransfusionPage',   //其他值提醒(输血)测试列表
     'otherRuleTest': '/api/cdssman/test/rule/otherRuleTest',   //其他值提醒规则测试
-
+    
     'billExportExcel': '/api/cdssman/test/rule/billExportExcel',   //开单合理性规则测试结果导出
     'criticalExportExcel': '/api/cdssman/test/rule/criticalExportExcel',   //危急值规则测试结果导出
     'highriskDrugExportExcel': '/api/cdssman/test/rule/highriskDrugExportExcel',   //高危药品规则测试结果导出
@@ -607,13 +608,13 @@ export default {
     'saveBaseOrUpdateRecord': '/api/cdssman/kl/conceptInfo/saveOrUpdateRecord',
     'staticKnowledgeBaseInfo': '/api/cdssman/kl/conceptInfo/staticKnowledgeIndexWithoutInfo',
     //规则测试相关
-    'allRuleTest': '/api/cdssman/test/rule/allRuleTest',
-    'autoGetCaseResultList': '/api/cdssman/test/rule/getCaseResultList',
-    'getDroplistData': '/api/cdssman/test/rule/getDroplistData',
-    'getResultRulePage': '/api/cdssman/test/rule/getResultRulePage',
-    'ruleExportExcel': '/api/cdssman/test/rule/ruleExportExcel',
-    'autoRuleTest': '/api/cdssman/test/rule/ruleTest',
-    'clearDrug': '/api/cdssman/cache/clearDrug',
+    'allRuleTest':'/api/cdssman/test/rule/allRuleTest',
+    'autoGetCaseResultList':'/api/cdssman/test/rule/getCaseResultList',
+    'getDroplistData':'/api/cdssman/test/rule/getDroplistData',
+    'getResultRulePage':'/api/cdssman/test/rule/getResultRulePage',
+    'ruleExportExcel':'/api/cdssman/test/rule/ruleExportExcel',
+    'autoRuleTest':'/api/cdssman/test/rule/ruleTest',
+    'clearDrug':'/api/cdssman/cache/clearDrug',
     //药品维护
     'getPageList': '/api/cdssman/klDrugRegister/getPage',
     'getsearchDrug': '/api/cdssman/klDrugRegister/searchDrug',

+ 1 - 1
src/api/index.js

@@ -3,7 +3,7 @@ import config from './config.js';
 
 axios.default.timeout = 500000;
 axios.defaults.headers.post['Content-Type'] = "application/json;charset=utf-8";
-//  axios.defaults.baseURL = 'http://192.168.2.236:5050';
+ //axios.defaults.baseURL = 'http://192.168.2.236:5050';
 // axios.defaults.baseURL = 'http://192.168.2.241';
 // axios.defaults.baseURL = 'http://192.168.3.117:5050';
 

+ 82 - 19
src/components/base/LtModal.vue

@@ -3,6 +3,7 @@
     <div class="cover"></div>
     <div class="modal-box">
       <div class="modal-title">
+        <span class="title-l">{{title}}{{tip}}</span>
         <a class="close" @click="closeModal()">×</a>
       </div>
       <div class="modal-body">
@@ -37,13 +38,14 @@
                     <el-input v-model.trim="form.hisCode" clearable style="minWidth: 240px"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="16" v-if="type == 1">
+                <el-col :span="16" v-if="type == 1 || type == 2">
                   <el-form-item :label="detail+':'" prop="hisDetailName">
                     <el-input
                       v-model.trim="form.hisDetailName"
                       clearable
                       style="minWidth: 240px"
                       @input="onchange"
+                      @blur="onblur"
                     ></el-input>
                   </el-form-item>
                   <el-form-item :label="detail+'预览:'">
@@ -86,18 +88,19 @@
                   </el-form-item>
                   <el-form-item v-if="tableData.length >0">
                     <el-table
+                      :header-row-style="{height:'40px'}"
+                      :header-cell-style="{height:'40px',padding:'0'}"
                       :row-class-name="tableRowClassName"
                       :row-style="selectedstyle"
                       :data="tableData"
                       @row-click="btn"
-                      size="mini"
-                      :class="{tabs:uniqueNameList}"
                       class="tab"
+                      border
                     >
                       <el-table-column prop="name" :show-overflow-tooltip="true" label="词名"></el-table-column>
                       <el-table-column prop="address" :show-overflow-tooltip="true" label="来源">
                         <template slot-scope="scope">
-                          <span>{{scope.row.source == 1?'标准词匹配':scope.row.source == 2?'同义词匹配':scope.row.source == 5?'相似词匹配':''}}</span>
+                          <p>{{scope.row.source == 1?'标准词匹配':scope.row.source == 2?'同义词匹配':scope.row.source == 5?'相似词匹配':''}}</p>
                         </template>
                       </el-table-column>
                     </el-table>
@@ -168,7 +171,8 @@ export default {
     'standard',
     'type',
     'data',
-    'hospitalId'
+    'hospitalId',
+    'tip'
   ],
   data() {
     return {
@@ -200,15 +204,20 @@ export default {
       drugList: [],
       tableData: [],
       mapList: [],
-      getIndex: 6
+      getIndex: 6,
+      ty: this.type,
+      searchType: '',
+      title: '添加'
     };
   },
   created() {
     //修改
-    if (this.data != {}) {
+    if (JSON.stringify(this.data) != '{}') {
+      this.title = '编辑';
       this.isEdit = true;
       this.editId = this.data.id;
       this.form.hisName = this.data.hisName;
+      this.form.hisDetailName = this.data.hisDetailName;
       this.form.searchText = this.data.uniqueName;
       this.form.icdCode = this.data.code;
       this.form.conceptId = this.data.conceptId;
@@ -224,7 +233,8 @@ export default {
     selectedstyle({ row, rowIndex }) {
       if (this.getIndex === rowIndex) {
         return {
-          'background-color': '#EBEEF5'
+          'background-color': '#ECF9FB',
+          'color':'#48C5D7'
         };
       }
     },
@@ -246,15 +256,24 @@ export default {
         this.form.source = row.source;
       }
     },
+
     // 搜索列表
     searchTerms(query) {
       if (!query) {
         this.uniqueNameList = [];
         return;
       }
+      if (this.type == 1) {
+        const { hisName, hisDetailName } = this.form;
+        this.ty = 2; // 1-化验大项、2-化验小项
+        if (hisName !== '' && hisDetailName === '') {
+          this.ty = 1;
+        }
+        this.searchType = this.ty;
+      }
       this.showDrop = true;
       let params = {
-        type: this.type,
+        type: this.ty ? this.ty : this.type,
         inputStr: query,
         sex: 3,
         age: 0
@@ -262,7 +281,11 @@ export default {
       api.retrievalSearch(params).then(res => {
         this.showDrop = false;
         if (res.data.code === '0') {
-          this.uniqueNameList = res.data.data.nameList;
+          if (this.ty == 2) {
+            this.uniqueNameList = res.data.data.lisDetailNames;
+          } else {
+            this.uniqueNameList = res.data.data.nameList;
+          }
         }
       });
     },
@@ -321,17 +344,28 @@ export default {
     // 获取焦点
     handleFocus() {},
     onblur() {
-      this.getTermMatching();
+      let type,name
+      if (this.type == 1) {
+        const { hisName, hisDetailName } = this.form;
+        type = 1; // 1-化验大项、2-化验小项
+        name = hisName
+        if (hisName !== '' && hisDetailName !== '') {
+          type = 2;
+          name = hisDetailName
+        }
+      }
+      this.getTermMatching(type,name);
     },
-    getTermMatching() {
+    getTermMatching(type,name) {
       let params = {
-        type: this.ty ? this.ty : this.type,
-        inputStr: this.form.hisName
+        type: type ? type : this.type,
+        inputStr: name ? name :this.form.hisName
       };
       api.getTermMatching(params).then(res => {
         this.showDrop = false;
         if (res.data.code === '0') {
           this.tableData = res.data.data;
+          this.getIndex = 6;
         }
       });
     },
@@ -350,6 +384,20 @@ export default {
             source
           } = this.form;
           // 当标准术语是套餐时,细项必须为空
+          if (this.searchType === 1 && hisDetailName !== '') {
+            this.warning('医院术语与标准术语类型不匹配,请修改');
+            return;
+          }
+          // 当标准术语是细项时,医院术语套餐和细项均不能为空
+          if (this.searchType === 2) {
+            if (hisName === '') {
+              this.warning('医院术语与标准术语类型不匹配,请修改');
+              return;
+            } else if (hisDetailName === '') {
+              this.warning('医院术语与标准术语类型不匹配,请修改');
+              return;
+            }
+          }
           let params = {
             hisName: hisName,
             uniqueName: searchText,
@@ -359,7 +407,7 @@ export default {
             formConceptId: formConceptId,
             hospitalId: this.hospitalId,
             hisCode: hisCode,
-            source: source?source:1
+            source: source ? source : 1
           };
           this.showSaveDialog(params);
         } else {
@@ -462,7 +510,7 @@ export default {
     height: 100%;
   }
   .modal-box {
-    width: 900px;
+    width: 950px;
     background: #fff;
     position: absolute;
     top: 50%;
@@ -515,7 +563,7 @@ export default {
   //   top: 0;
   z-index: 999;
   margin-bottom: 15px;
-  margin-top: -40px;
+  margin-top: -62px;
 }
 // .tabs {
 //   max-width: 240px;
@@ -525,7 +573,6 @@ export default {
 //   left: 250px;
 // }
 .mapList {
-  width: 380px;
   padding: 0 20px 20px;
   font-size: 14px;
   line-height: 24px;
@@ -570,6 +617,17 @@ export default {
 .titleBox {
   padding: 0 0 10px 0px;
 }
+/deep/.el-table th{
+  background: #F7F7F7;
+}
+/deep/ .el-table td, .el-table th.is-leaf{
+  border-bottom:none
+}
+.title-l {
+  font-size: 14px;
+  line-height: 40px;
+  margin-left: 10px;
+}
 .title {
   width: 50%;
   float: left;
@@ -580,7 +638,7 @@ export default {
 .rightBox {
   width: 380px;
   float: left;
-  min-height: 200px;
+  min-height: 248px;
   font-size: 14px;
 }
 .midBox {
@@ -600,6 +658,11 @@ export default {
   border: 1px solid #dcdfe6;
   padding: 20px 10px;
 }
+.rightBox {
+  padding-right: 33px;
+  height: 248px;
+  overflow-y: auto;
+}
 .itemLabel {
   width: 100%;
   min-height: 50px;

+ 8 - 2
src/components/cdssManage/dept/DeptManage.vue

@@ -45,6 +45,11 @@
         <el-table-column :resizable="false" prop="hisCode" label="医院科室编码" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院科室名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准科室名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'科室名称'"
       :standard="'科室名称'"
+      :tip="'科室关联'"
       :type="7"
       :hospitalId="hospitalId"
       :data="data"
@@ -178,7 +184,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataDeptVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -460,7 +466,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             type: 'success'

+ 8 - 2
src/components/cdssManage/disease/Disease.vue

@@ -45,6 +45,11 @@
         <el-table-column :resizable="false" prop="hisName" label="医院诊断名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="code" label="ICD-10编码" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准诊断名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'诊断名称'"
       :standard="'诊断名称'"
+      :tip="'诊断关联'"
       :type="4"
       :hospitalId="hospitalId"
       :data="data"
@@ -177,7 +183,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataDiseaseVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -445,7 +451,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/drug/DrugManage.vue

@@ -45,6 +45,11 @@
         <el-table-column :resizable="false" prop="hisName" label="医院药品名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准药品名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="form" label="药品剂型" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -77,6 +82,7 @@
       @func="getMsgFormSon"
       :meal="'药品名称'"
       :standard="'药品名称'"
+      :tip="'药品关联'"
       :type="5"
       :hospitalId="hospitalId"
       :data="data"
@@ -176,7 +182,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataDrugVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -461,7 +467,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/fusion/Fusion.vue

@@ -44,6 +44,11 @@
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院输血类型" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准输血类型" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'输血类型'"
       :standard="'输血类型'"
+      :tip="'输血关联'"
       :type="8"
       :hospitalId="hospitalId"
       :data="data"
@@ -175,7 +181,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataFusionVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -457,7 +463,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 2 - 2
src/components/cdssManage/knowledge/AddKnowledge.vue

@@ -452,7 +452,7 @@ export default {
                         currentPage: numberpage
                       })
                     });
-                  } else if (res.data.code === '00020007') {
+                  } else if ((res.data.code === '00020007' || res.data.code === '00020004')) {
                     this.$message({
                       showClose: true,
                       message: res.data.msg,
@@ -494,7 +494,7 @@ export default {
                     currentPage: numberpage
                   })
                 });
-              } else if (res.data.code === '00020007') {
+              } else if ((res.data.code === '00020007' || res.data.code === '00020004')) {
                 this.$message({
                   showClose: true,
                   message: res.data.msg,

+ 8 - 2
src/components/cdssManage/lis/Lis.vue

@@ -48,6 +48,11 @@
         <el-table-column :resizable="false" prop="hisName" label="检验套餐" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="hisDetailName" label="检验细项" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准检验项" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -80,6 +85,7 @@
       :meal="'检验套餐'"
       :detail="'检验细项'"
       :standard="'检验标准术语'"
+      :tip="'检验关联'"
       :type="1"
       :hospitalId="hospitalId"
       :data="data"
@@ -180,7 +186,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataLisVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -464,7 +470,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if (res.data.data === true && res.status === 200) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/nursing/nursing.vue

@@ -44,6 +44,11 @@
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院护理名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准护理名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'护理名称'"
       :standard="'护理名称'"
+      :tip="'护理关联'"
       :type="11"
       :hospitalId="hospitalId"
       :data="data"
@@ -175,7 +181,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataNurseVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -457,7 +463,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/operation/Operation.vue

@@ -49,6 +49,11 @@
           label="标准手术/操作名称"
           show-overflow-tooltip
         ></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -81,6 +86,7 @@
       @func="getMsgFormSon"
       :meal="'手术/操作名称'"
       :standard="'手术/操作名称'"
+      :tip="'手术/操作关联'"
       :type="6"
       :hospitalId="hospitalId"
       :data="data"
@@ -180,7 +186,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataOperationVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -465,7 +471,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/pacs/Pacs.vue

@@ -44,6 +44,11 @@
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院检查项目" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准检查项目" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'检查项目'"
       :standard="'检查项目'"
+      :tip="'检查关联'"
       :type="3"
       :hospitalId="hospitalId"
       :data="data"
@@ -175,7 +181,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataPacsVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -458,7 +464,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // // cancelButtonText: '取消',

+ 5 - 4
src/components/cdssManage/plan/AddPlan.vue

@@ -436,13 +436,13 @@ export default {
           params.planDetailParent = params.planDetailParent.map((item) => {
             let newArr = [];
             if (item.planDetails) {
-              newArr = item.planDetails.map((child, index) => {
+              newArr = item.planDetails.map((child) => {
                 return {
                   code: child.code,
                   hospitalId: this.form.hospitalId,
                   name: child.name,
                   number: child.number,
-                  orderNo: index + 1,
+                  orderNo: child.orderNo,
                   planId: child.planId,
                   remark: child.remark,
                   status: child.status,
@@ -550,7 +550,7 @@ export default {
         return j === -1;
       });
       let obj = { list };
-      obj.list.forEach((child) => {
+      list.forEach((child) => {
         if (child.name === "开单合理性") {
           obj.orderNo = child.orderNo;
           obj.name = child.name;
@@ -574,7 +574,7 @@ export default {
         for (let i = arr.length - 1; i > 0; i--) {
           for (let j = 0; j < i; j++) {
             if (arr[j].orderNo > arr[j + 1].orderNo) {
-              [arr[j], arr[j + 1]] = [{ ...arr[j + 1] }, { ...arr[j] }];
+              [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
             }
           }
         }
@@ -596,6 +596,7 @@ export default {
             planDetailSub: obj.sysSetInfo,
             id: data.id
           };
+
           const defaultRes = await api.getDefaultPlans();
           if (defaultRes.data.code === "0") {
             // 合并默认数据

+ 8 - 2
src/components/cdssManage/scale/ScaleManage.vue

@@ -44,6 +44,11 @@
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院量表名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准量表名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -76,6 +81,7 @@
       @func="getMsgFormSon"
       :meal="'量表名称'"
       :standard="'量表名称'"
+      :tip="'量表关联'"
       :type="10"
       :hospitalId="hospitalId"
       :data="data"
@@ -175,7 +181,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataScaleVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -441,7 +447,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/tcmdisease/tcmdisease.vue

@@ -45,6 +45,11 @@
         <el-table-column :resizable="false" prop="hisName" label="医院中医疾病名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="code" label="中医疾病代码" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准中医疾病名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -78,6 +83,7 @@
       :meal="'中医疾病名称'"
       :standard="'中医疾病名称'"
       :detail="'中医疾病代码'"
+      :tip="'中医疾病关联'"
       :type="12"
       :hospitalId="hospitalId"
       :data="data"
@@ -177,7 +183,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataTcmVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -459,7 +465,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 8 - 2
src/components/cdssManage/tcmdrome/tcmdrome.vue

@@ -45,6 +45,11 @@
         <el-table-column :resizable="false" prop="hisName" label="医院中医证候名称" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="code" label="中医证候代码" show-overflow-tooltip></el-table-column>
         <el-table-column :resizable="false" prop="uniqueName" label="标准中医证候名称" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="operate" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
+          </template>
+        </el-table-column>
         <el-table-column :resizable="false" prop="operate" label="操作">
           <template slot-scope="scope">
             <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
@@ -77,6 +82,7 @@
       :meal="'中医证候名称'"
       :standard="'中医证候名称'"
       :detail="'中医证候代码'"
+      :tip="'中医证候关联'"
       :type="13"
       :hospitalId="hospitalId"
       :data="data"
@@ -177,7 +183,7 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       api.dataTcmdromeVerify(formData, header).then(res => {
-        if (res.data.code === '00020007') {
+        if ((res.data.code === '00020007' || res.data.code === '00020004')) {
           loading.close();
           this.$alert(`${res.data.msg}`, '提示', {
             confirmButtonText: '确定',
@@ -460,7 +466,7 @@ export default {
           setTimeout(() => {
             this.uploadInfo = '导入';
           }, 300);
-        } else if (res.data === '' && res.status === 200) {
+        } else if ((res.data.data === true && res.status === 200)) {
           this.$alert(`导入成功`, '提示', {
             confirmButtonText: '确定',
             // cancelButtonText: '取消',

+ 173 - 199
src/components/knowledgeExtra/AddDevKnow.vue

@@ -9,13 +9,7 @@
       ></crumbs>
 
       <div class="info-container">
-        <el-form
-          :rules="rules1"
-          :model="form"
-          label-width="160px"
-          ref="groups1"
-          size="mini"
-        >
+        <el-form :rules="rules1" :model="form" label-width="160px" ref="groups1" size="mini">
           <div class="container_top">
             <div v-if="!isEdit" style="margin-right: 40px">
               <el-form-item label="选择标准术语:" prop="selectedTerm">
@@ -51,9 +45,11 @@
               </el-form-item>
             </div>
 
-            <el-form-item label="已选择标准术语:" label-width="160px">{{
+            <el-form-item label="已选择标准术语:" label-width="160px">
+              {{
               form.selectedTermName
-            }}</el-form-item>
+              }}
+            </el-form-item>
           </div>
         </el-form>
         <div class="tabs_box">
@@ -72,14 +68,14 @@
               <img
                 @click.stop="handleStaticTab"
                 src="@/images/tab_add.png"
-                alt=""
+                alt
                 v-if="AssesComSHow && !AssesTabSHow"
               />
               <img
                 v-if="AssesTabSHow && AssesComSHow"
                 @click.stop="closeStaticTab"
                 src="@/images/tab_close.png"
-                alt=""
+                alt
               />
             </div>
             <div
@@ -97,31 +93,21 @@
                 v-if="!staticTabShow"
                 @click.stop="handleAssesTab"
                 src="@/images/tab_add.png"
-                alt=""
+                alt
               />
               <img
                 v-if="staticTabShow"
                 @click.stop="closeAssesTab"
                 src="@/images/tab_close.png"
-                alt=""
+                alt
               />
             </div>
           </div>
         </div>
 
         <p class="line"></p>
-        <div
-          class="tab_box_left"
-          v-show="tabActive == 'one'"
-          v-if="staticTabShow"
-        >
-          <el-form
-            :rules="rules"
-            :model="form"
-            label-width="160px"
-            ref="groups"
-            size="mini"
-          >
+        <div class="tab_box_left" v-show="tabActive == 'one'" v-if="staticTabShow">
+          <el-form :rules="rules" :model="form" label-width="160px" ref="groups" size="mini">
             <div
               v-if="
                 form.selectedTerm &&
@@ -159,11 +145,7 @@
             </div>
 
             <div v-if="upload">
-              <el-form-item
-                label="标题名称搜索:"
-                prop="fileTitle"
-                label-width="160px"
-              >
+              <el-form-item label="标题名称搜索:" prop="fileTitle" label-width="160px">
                 <el-input v-model="form.fileTitle"></el-input>
               </el-form-item>
             </div>
@@ -193,37 +175,29 @@
                   :show-file-list="showFileList"
                   :file-list="form.fileList"
                 >
-                  <el-button size="small" type="primary" v-if="showUpLoad"
-                    >点击上传</el-button
-                  >
+                  <el-button size="small" type="primary" v-if="showUpLoad">点击上传</el-button>
                   <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
                 </el-upload>
-                <span class="tipInfo" v-show="isShowTip">{{
+                <span class="tipInfo" v-show="isShowTip">
+                  {{
                   form.fileList[0] && form.fileList[0].name
-                }}</span>
+                  }}
+                </span>
                 <!-- <el-button size="small" type="primary" >点击上传</el-button> -->
               </el-form-item>
             </div>
             <el-form-item label-width="160px">
-              <div class="uploadInfo" v-if="isSuccessUpload === 1">
-                文件上传中,请稍等...
-              </div>
+              <div class="uploadInfo" v-if="isSuccessUpload === 1">文件上传中,请稍等...</div>
             </el-form-item>
           </el-form>
         </div>
         <div v-if="AssesComSHow && AssesTabSHow" v-show="tabActive == 'two'">
-          <AddAssess
-            @scrollTo="scrollTo"
-            :childScaleData="scaleData"
-            ref="assessRef"
-          />
+          <AddAssess @scrollTo="scrollTo" :childScaleData="scaleData" ref="assessRef" />
         </div>
       </div>
 
       <div class="btn">
-        <el-button type="primary" :disabled="saveDisable" @click="submitForm"
-          >确 定</el-button
-        >
+        <el-button type="primary" :disabled="saveDisable" @click="submitForm">确 定</el-button>
       </div>
     </div>
   </el-scrollbar>
@@ -232,14 +206,14 @@
 /**
  *
  */
-import api from "@api/knowledgeTree.js";
-import DevInfo from "./DevInfo";
-import config from "@api/config";
-import $ from "jquery";
-import AddAssess from "./AddAssess";
+import api from '@api/knowledgeTree.js';
+import DevInfo from './DevInfo';
+import config from '@api/config';
+import $ from 'jquery';
+import AddAssess from './AddAssess';
 
 export default {
-  name: "AddDevKnow",
+  name: 'AddDevKnow',
   components: {
     DevInfo,
     AddAssess
@@ -255,55 +229,55 @@ export default {
       isFixedTop: true,
       isEdit: false,
       isCopy: false,
-      title: "添加",
+      title: '添加',
       termTypes: [],
       terms: [], //术语列表
       form: {
-        conceptId: "", //术语id
+        conceptId: '', //术语id
         isTip: 0, //是否要覆盖,0不覆盖,1覆盖
-        selectedTerm: "", //术语标签
-        termType: "",
-        typeId: "",
-        selectedTermName: "",
-        selectedTermType: "",
+        selectedTerm: '', //术语标签
+        termType: '',
+        typeId: '',
+        selectedTermName: '',
+        selectedTermType: '',
         // titleChange: '',
         fileList: [],
-        name: "",
+        name: '',
         prags: [
           {
             //单个段落相关
-            title: "",
-            content: "",
+            title: '',
+            content: '',
             isReason: 0,
             orderNo: 0,
             position: [],
-            text: ""
+            text: ''
           }
         ],
-        fileTitle: "",
-        titleChange: ""
+        fileTitle: '',
+        titleChange: ''
       },
       rules1: {
         selectedTerm: [
-          { required: true, message: "请选择标准术语", trigger: "change" }
+          { required: true, message: '请选择标准术语', trigger: 'change' }
         ]
       },
       rules: {
         fileTitle: [
-          { required: true, message: "请输入标题名称", trigger: "change" },
+          { required: true, message: '请输入标题名称', trigger: 'change' },
           {
             validator: (rule, value, callback) => {
               if (value.trim().length > 30) {
-                callback(new Error("标题名称不能超过30字"));
+                callback(new Error('标题名称不能超过30字'));
               } else {
                 callback();
               }
             },
-            trigger: "change"
+            trigger: 'change'
           }
         ],
         fileList: [
-          { required: true, message: "请上传文件", trigger: "change" }
+          { required: true, message: '请上传文件', trigger: 'change' }
         ],
         titleChange: [
           // {
@@ -318,7 +292,7 @@ export default {
           //   },
           //   trigger: 'change'
           // },
-          { max: 30, message: "标题最多30字", trigger: "change" }
+          { max: 30, message: '标题最多30字', trigger: 'change' }
         ]
       },
       saveDisable: false, //保存按钮禁止点击
@@ -334,14 +308,14 @@ export default {
       editCount: -1, // 页面会否被编辑 >0被编辑   =0 未编辑
       startCount: -1,
       isSaveSuccess: false, // 是否保存成功
-      tabActive: "one"
+      tabActive: 'one'
     };
   },
   watch: {
     showType: {
       handler(newVal, oldVal) {
         if (newVal !== oldVal) {
-          this.form.prags = this.form.prags.map((item) => {
+          this.form.prags = this.form.prags.map(item => {
             return { ...item, position: [] };
           });
         }
@@ -355,27 +329,27 @@ export default {
       immediate: true
     }
   },
-  created: function () {
+  created: function() {
     const { isEdit, data, isCopy } = this.$route.params;
     if (isEdit || isCopy) {
       const loading = this.$loading({
         lock: true,
-        text: "Loading",
-        spinner: "el-icon-loading",
-        background: "rgba(0, 0, 0, 0.7)"
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
       });
       this.showType = data.type; // 编辑页确认显示类型
       this.isEdit = isEdit;
       this.isCopy = isCopy;
-      this.title = isEdit ? "修改" : isCopy ? "复制" : "添加";
+      this.title = isEdit ? '修改' : isCopy ? '复制' : '添加';
       (isEdit || isCopy) && this.changeWord(data);
 
       api
         .getBaseRecordById({ id: data.id })
-        .then((res) => {
-          if (res.data.code == "0") {
+        .then(res => {
+          if (res.data.code == '0') {
             const data = res.data.data;
-            console.log("dwadfesvgeosboau13131213h", data.scale);
+            console.log('dwadfesvgeosboau13131213h', data.scale);
             if (data.type === 8) {
               this.AssesComSHow = true;
               if (data.scale) {
@@ -389,7 +363,7 @@ export default {
               // console.log('data',data)
               this.form.fileList =
                 data &&
-                data.map((it) => {
+                data.map(it => {
                   return JSON.parse(it.content);
                 });
               this.showFileList = true;
@@ -406,18 +380,18 @@ export default {
                     data.type == 5 ||
                     data.type == 6
                   ? data.noticeName
-                  : "";
+                  : '';
               this.form.selectedTermName =
-                data.name + (data.typeName ? "(" + data.typeName + ")" : "");
+                data.name + (data.typeName ? '(' + data.typeName + ')' : '');
               this.form.selectedTerm =
-                data.name + (data.typeName ? "(" + data.typeName + ")" : "");
+                data.name + (data.typeName ? '(' + data.typeName + ')' : '');
               if (isCopy) {
                 this.handleClear();
               }
               if (data.details.length) {
                 this.form.prags =
                   data &&
-                  data.details.map((it) => {
+                  data.details.map(it => {
                     return {
                       title: it.title,
                       position: this.mapStringToNum(it.contentType),
@@ -432,7 +406,7 @@ export default {
                   });
               } else {
                 this.staticTabShow = false;
-                this.tabActiveChange("two");
+                this.tabActiveChange('two');
               }
             }
           }
@@ -440,9 +414,9 @@ export default {
             loading.close();
           }, 200);
         })
-        .catch((error) => {
+        .catch(error => {
           loading.close();
-          if (error.code === "900010001") {
+          if (error.code === '900010001') {
             return false;
           }
           console.log(error);
@@ -482,12 +456,12 @@ export default {
     // }
 
     if (this.startCount !== this.editCount && !this.isSaveSuccess) {
-      this.$alert("还有未保存的内容,确定要退出当前页面吗?", "提示", {
-        confirmButtonText: "确定",
+      this.$alert('还有未保存的内容,确定要退出当前页面吗?', '提示', {
+        confirmButtonText: '确定',
         // cancelButtonText: '取消',
         // cancelButtonClass: 'leaveBtn',
         // customClass: 'leaveBox',
-        type: "warning"
+        type: 'warning'
       })
         .then(() => {
           next();
@@ -499,7 +473,7 @@ export default {
   },
   methods: {
     scrollTo(dom) {
-      var div = this.$refs["elscrollbar"].$refs["wrap"];
+      var div = this.$refs['elscrollbar'].$refs['wrap'];
       if (dom >= 0) {
         div.scrollTop += dom - 120;
       } else {
@@ -509,64 +483,64 @@ export default {
     handleStaticTab() {
       this.AssesTabSHow = true;
       this.AssesComSHow = true;
-      this.tabActiveChange("two");
+      this.tabActiveChange('two');
     },
     handleAssesTab() {
       this.staticTabShow = true;
       this.form.prags = [
         {
           //单个段落相关
-          title: "",
-          content: "",
+          title: '',
+          content: '',
           isReason: 0,
           orderNo: 0,
           position: [],
-          text: ""
+          text: ''
         }
       ];
-      this.tabActiveChange("one");
+      this.tabActiveChange('one');
     },
     closeStaticTab() {
-      this.$alert("确定要删除该标签?删除后该标签内容将会被清空!", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$alert('确定要删除该标签?删除后该标签内容将会被清空!', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
         // cancelButtonClass: 'leaveBtn',
         // customClass: 'leaveBox',
-        type: "warning"
+        type: 'warning'
       })
         .then(() => {
           this.staticTabShow = false;
-          this.tabActiveChange("two");
+          this.tabActiveChange('two');
         })
         .catch(() => {});
     },
     closeAssesTab() {
-      this.$alert("确定要删除该标签?删除后该标签内容将会被清空!", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$alert('确定要删除该标签?删除后该标签内容将会被清空!', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
         // cancelButtonClass: 'leaveBtn',
         // customClass: 'leaveBox',
-        type: "warning"
+        type: 'warning'
       })
         .then(() => {
           this.AssesTabSHow = false;
           // this.AssesComSHow = false;
-          this.tabActiveChange("one");
+          this.tabActiveChange('one');
         })
         .catch(() => {});
     },
     tabActiveChange(type) {
       this.tabActive = type;
-      if (type == "two") {
+      if (type == 'two') {
         setTimeout(() => {
           this.$refs.assessRef.resizeTable();
         }, 200);
       }
     },
     handleClear() {
-      this.form.selectedTermName = "";
-      this.form.selectedTerm = "";
-      this.form.titleChange = "";
+      this.form.selectedTermName = '';
+      this.form.selectedTerm = '';
+      this.form.titleChange = '';
     },
 
     handleMouseenter() {
@@ -578,12 +552,12 @@ export default {
       this.isShowTip = false;
     },
     changeWord(newVal) {
-      if (newVal.typeName == "量表") {
+      if (newVal.typeName == '量表') {
         this.AssesComSHow = true;
       } else {
         this.staticTabShow = true;
         this.AssesComSHow = false;
-        this.tabActive = "one";
+        this.tabActive = 'one';
       }
       this.toAssesTermId = newVal.id;
       this.showType = newVal.type || -1;
@@ -591,20 +565,20 @@ export default {
       const typeName = newVal.typeName;
       const type = newVal.type;
       this.form.selectedTermName =
-        name + (typeName ? "(" + typeName + ")" : "");
+        name + (typeName ? '(' + typeName + ')' : '');
       // this.form.selectedTerm = name + (typeName ? '(' + typeName + ')' : '');
       this.form.name = name;
       this.form.fileList = [];
       this.showFileList = false;
-      this.form.typeId = type || "";
+      this.form.typeId = type || '';
       this.showUpLoad = true;
       this.titleChange =
         type == 1
-          ? "临床路径标题:"
+          ? '临床路径标题:'
           : type == 3 || type == 4 || type == 5 || type == 6
-          ? "注意事项标题:"
-          : "";
-      this.form.fileTitle = "";
+          ? '注意事项标题:'
+          : '';
+      this.form.fileTitle = '';
       if (newVal.typeId === 82 || newVal.typeId === 83) {
         this.upload = true;
         this.form.fileTitle = newVal.title;
@@ -619,12 +593,12 @@ export default {
     },
     reOrder(isUp, i) {
       // isUp: 1 上升    0 下降
-      let div = this.$refs["elscrollbar"].$refs["wrap"];
+      let div = this.$refs['elscrollbar'].$refs['wrap'];
       let temp = {},
         it = {};
       if (isUp === 1) {
         if (i === 0) {
-          this.warning("已经是第一个,不能再升啦!");
+          this.warning('已经是第一个,不能再升啦!');
           return;
         }
         temp = Object.assign(this.form.prags[i - 1]);
@@ -635,7 +609,7 @@ export default {
         });
       } else {
         if (i === this.form.prags.length - 1) {
-          this.warning("已经是最后一个,不能再降啦!");
+          this.warning('已经是最后一个,不能再降啦!');
           return;
         }
         temp = Object.assign(this.form.prags[i + 1]);
@@ -645,25 +619,25 @@ export default {
     },
     addParagraph(i) {
       this.form.prags.splice(i + 1, 0, {
-        title: "",
-        content: "",
+        title: '',
+        content: '',
         isReason: 0,
         position: [],
-        text: ""
+        text: ''
       });
       //添加段落光标自动落到新增的段落中
       setTimeout(() => {
         this.$refs.subForm[i + 1].$el
-          .getElementsByClassName("el-input__inner")[0]
+          .getElementsByClassName('el-input__inner')[0]
           .focus();
       });
     },
     delParagraph(i) {
       if (this.form.prags.length == 1) {
-        this.warning("只剩一个段落,不能再删啦!");
+        this.warning('只剩一个段落,不能再删啦!');
         return;
       }
-      this.showConfirmDialog("确定要删除该段落?", () => {
+      this.showConfirmDialog('确定要删除该段落?', () => {
         this.form.prags.splice(i, 1);
       });
     },
@@ -679,33 +653,33 @@ export default {
       this.showDrop = true;
       api
         .staticKnowledgeBaseInfo({ inputStr: query.trim(), types: [0] })
-        .then((res) => {
+        .then(res => {
           this.showDrop = false;
-          if (res.data.code === "0") {
+          if (res.data.code === '0') {
             this.terms = res.data.data;
           } else {
-            this.warning("数据获取失败");
+            this.warning('数据获取失败');
           }
         });
     },
     mapStringToNum(str) {
-      return str.split(",").map((it) => {
+      return str.split(',').map(it => {
         return +it;
       });
     },
 
     // 额外的表单检验
     formVal() {
-      let positiontemp = this.form.prags.map((item) => {
+      let positiontemp = this.form.prags.map(item => {
         return [...item.position];
       });
-      let positionArr = positiontemp.reduce(function (a, b) {
+      let positionArr = positiontemp.reduce(function(a, b) {
         return a.concat(b);
       }); // 所有被选中的值集合
       // console.log(positionArr, "positionArr");
       // console.log(this.showType, "当前页的显示类型");
-      let isVisFlag = positionArr.some((item) => item === 2);
-      let isDiagFlag = positionArr.some((item) => item === 3);
+      let isVisFlag = positionArr.some(item => item === 2);
+      let isDiagFlag = positionArr.some(item => item === 3);
       // console.log(isVisFlag, "isVisFlag是否显示");
       if (
         (this.showType == 3 ||
@@ -719,18 +693,18 @@ export default {
         this.$refs.groups && this.$refs.groups.clearValidate();
         this.rules.titleChange.push({
           required: true,
-          message: "请输入注意事项标题",
-          trigger: "change"
+          message: '请输入注意事项标题',
+          trigger: 'change'
         });
-        this.$refs.groups && this.$refs.groups.validateField("titleChange");
-        this.$refs.groups && this.$refs.groups.validateField("selectedTerm");
+        this.$refs.groups && this.$refs.groups.validateField('titleChange');
+        this.$refs.groups && this.$refs.groups.validateField('selectedTerm');
         this.rules.titleChange = this.rules.titleChange.slice(0, 1);
 
-        if (this.form.titleChange.trim() !== "") {
+        if (this.form.titleChange.trim() !== '') {
           // console.log('内容不为空');
           return true;
         } else {
-          var div = this.$refs["elscrollbar"].$refs["wrap"];
+          var div = this.$refs['elscrollbar'].$refs['wrap'];
           this.$nextTick(() => {
             div.scrollTop = 0;
           });
@@ -742,18 +716,18 @@ export default {
         this.$refs.groups && this.$refs.groups.clearValidate();
         this.rules.titleChange.push({
           required: true,
-          message: "请输入临床路径标题",
-          trigger: "change"
+          message: '请输入临床路径标题',
+          trigger: 'change'
         });
-        this.$refs.groups && this.$refs.groups.validateField("titleChange");
-        this.$refs.groups && this.$refs.groups.validateField("selectedTerm");
+        this.$refs.groups && this.$refs.groups.validateField('titleChange');
+        this.$refs.groups && this.$refs.groups.validateField('selectedTerm');
         this.rules.titleChange = this.rules.titleChange.slice(0, 1);
 
-        if (this.form.titleChange.trim() !== "") {
+        if (this.form.titleChange.trim() !== '') {
           // console.log('内容不为空');
           return true;
         } else {
-          var div = this.$refs["elscrollbar"].$refs["wrap"];
+          var div = this.$refs['elscrollbar'].$refs['wrap'];
           this.$nextTick(() => {
             div.scrollTop = 0;
           });
@@ -775,7 +749,7 @@ export default {
           if (valid) {
             resolve(true);
           } else {
-            reject("top", object);
+            reject('top', object);
             return false;
           }
         });
@@ -783,7 +757,7 @@ export default {
       all.push(fvalidate1);
       if (this.staticTabShow) {
         if (this.isSuccessUpload === 1) {
-          this.warning("文件上传中,请稍等");
+          this.warning('文件上传中,请稍等');
           return;
         }
         let flagVal = this.formVal(); // 额外的表单校验
@@ -797,7 +771,7 @@ export default {
               if (valid) {
                 resolve(true);
               } else {
-                reject("f", object);
+                reject('f', object);
                 return false;
               }
             });
@@ -815,7 +789,7 @@ export default {
                 // viewHeight += it.$el.getBoundingClientRect().top;
                 it.$refs.form.validate((valid, object) => {
                   if (!valid) {
-                    reject("f", object);
+                    reject('f', object);
                     goOn = false;
                     viewHeightArr.push(it.$el);
                   } else {
@@ -834,20 +808,20 @@ export default {
         all.push(...this.$refs.assessRef.assessCommit());
       }
       // 批量处理Promise返回
-      let transferedPromises = (promises) => {
+      let transferedPromises = promises => {
         // 返回一个处理之后的promise数组
-        return promises.map((promise) => {
-          return promise.then((res) => res).catch((err) => err);
+        return promises.map(promise => {
+          return promise.then(res => res).catch(err => err);
         });
       };
       let promiseArr = transferedPromises(all);
-      await Promise.all(promiseArr).then((resArr) => {
-        let cErrIndex = resArr.findIndex((item) => item.type == "c");
-        let fErrIndex = resArr.findIndex((item) => item == "f");
-        let topErrIndex = resArr.findIndex((item) => item == "top");
+      await Promise.all(promiseArr).then(resArr => {
+        let cErrIndex = resArr.findIndex(item => item.type == 'c');
+        let fErrIndex = resArr.findIndex(item => item == 'f');
+        let topErrIndex = resArr.findIndex(item => item == 'top');
         if (topErrIndex != -1) {
           outIsVia = false;
-          var div = this.$refs["elscrollbar"].$refs["wrap"];
+          var div = this.$refs['elscrollbar'].$refs['wrap'];
           this.$nextTick(() => {
             div.scrollTop = 0;
           });
@@ -855,20 +829,20 @@ export default {
           if (this.staticTabShow) {
             goOn = false;
           }
-          this.tabActive = "one";
+          this.tabActive = 'one';
           this.$message({
             showClose: true,
             message: `"静态信息"和"评估内容"标签内有未填写项目,请填写完整或者删除该标签!`,
-            type: "warning"
+            type: 'warning'
           });
         } else if (cErrIndex != -1 && fErrIndex == -1) {
-          this.tabActive = "two";
+          this.tabActive = 'two';
           this.$message({
             showClose: true,
             message: `"评估内容"标签内有未填写项目,请填写完整或者删除该标签!`,
-            type: "warning"
+            type: 'warning'
           });
-          let cErrArr = resArr.filter((item) => item.type == "c");
+          let cErrArr = resArr.filter(item => item.type == 'c');
           if (cErrArr) {
             cErrArr = Object.keys(cErrArr[0].object);
           }
@@ -876,7 +850,7 @@ export default {
           this.$nextTick(() => {
             setTimeout(() => {
               let domTop = this.$refs.assessRef.getDom(cErrArr[0]);
-              var div = this.$refs["elscrollbar"].$refs["wrap"];
+              var div = this.$refs['elscrollbar'].$refs['wrap'];
               if (domTop >= 0) {
                 div.scrollTop += domTop - 120;
               } else {
@@ -885,11 +859,11 @@ export default {
             }, 100);
           });
         } else if (cErrIndex == -1 && fErrIndex != -1) {
-          this.tabActive = "one";
+          this.tabActive = 'one';
           this.$message({
             showClose: true,
             message: `"静态信息"标签内有未填写项目,请填写完整或者删除该标签!`,
-            type: "warning"
+            type: 'warning'
           });
         } else {
           assessRule = true;
@@ -897,7 +871,7 @@ export default {
       });
       if (this.staticTabShow && !goOn) {
         setTimeout(() => {
-          var div = this.$refs["elscrollbar"].$refs["wrap"];
+          var div = this.$refs['elscrollbar'].$refs['wrap'];
           if (outIsVia) {
             // 外层校验通过,跳转至下层校验具体位置
             let sTop = viewHeightArr[0].getBoundingClientRect().top;
@@ -928,14 +902,14 @@ export default {
 
       if (this.form.typeId === 82 || this.form.typeId === 83) {
         if (this.form.fileList.length === 0) {
-          this.warning("文件未上传,不存储数据");
+          this.warning('文件未上传,不存储数据');
           return;
         }
         param.push(
           Object.assign(
             {},
             {
-              position: this.form.typeId === 82 ? "8" : "9",
+              position: this.form.typeId === 82 ? '8' : '9',
               conceptId: this.form.conceptId,
               title: this.form.fileTitle,
               orderNo: 0,
@@ -957,16 +931,16 @@ export default {
           obj.conceptId = data[i].conceptId;
           obj.orderNo = i;
           obj.title = data[i].title;
-          obj.contentType = data[i].position.join(",");
+          obj.contentType = data[i].position.join(',');
           tempArr.push(obj);
         }
-        paramsAll.clinicalPathwayName = types == 1 ? this.form.titleChange : "";
+        paramsAll.clinicalPathwayName = types == 1 ? this.form.titleChange : '';
         paramsAll.id = this.conceptId;
         paramsAll.name = this.form.name;
         paramsAll.noticeName =
           types == 3 || types == 4 || types == 5 || types == 6
             ? this.form.titleChange
-            : "";
+            : '';
         paramsAll.type = this.form.typeId;
         if (this.staticTabShow) {
           paramsAll.details = tempArr;
@@ -975,29 +949,29 @@ export default {
         }
         param = paramsAll;
         if (!param.details) param.details = [];
-        param.details.forEach((item) => {
-          let regExp = new RegExp(config.imgHost, "g");
-          item.content = item.content.replace(regExp, "{imageUrlPrefix}");
+        param.details.forEach(item => {
+          let regExp = new RegExp(config.imgHost, 'g');
+          item.content = item.content.replace(regExp, '{imageUrlPrefix}');
         });
         // 评估内容的数据
         param.scale = {};
         console.log(
-          "this.AssesComSHow",
+          'this.AssesComSHow',
           this.AssesComSHow,
-          "AssesTabSHow",
+          'AssesTabSHow',
           this.AssesTabSHow
         );
         if (this.AssesComSHow && this.AssesTabSHow) {
           const assessParam = this.$refs.assessRef.formtParams();
           param.scale = assessParam;
           param.scale.conceptId = this.toAssesTermId;
-          const userInfo = localStorage.getItem("userLoginDTO");
+          const userInfo = localStorage.getItem('userLoginDTO');
           param.scale.modifier = userInfo.linkman;
         }
       }
       // return;
       // this.showSaveDialog(param,'是否'+(this.isEdit?'修改':'保存')+'该静态知识?');
-      console.log("param-------");
+      console.log('param-------');
       console.dir(param);
       // return;
       if (!this.isEdit) {
@@ -1024,14 +998,14 @@ export default {
       param.source = 1; //0:医院端  1:云平台
       api
         .saveBaseOrUpdateRecord(param)
-        .then((res) => {
-          if (res.data.code === "0") {
+        .then(res => {
+          if (res.data.code === '0') {
             this.isSuccessUpload = 0; // 修改文件上传状态为0
-            this.warning(res.data.msg || "保存成功", "success");
+            this.warning(res.data.msg || '保存成功', 'success');
             this.isSaveSuccess = true; // 保存成功,可正常退出
             //返回带搜索条件的首页
             this.$router.push({
-              name: "StaticInfo",
+              name: 'StaticInfo',
               params: Object.assign({}, this.$route.params, {
                 currentPage: 1
               })
@@ -1041,8 +1015,8 @@ export default {
           }
           this.saveDisable = false;
         })
-        .catch((err) => {
-          if (err.code === "900010001") {
+        .catch(err => {
+          if (err.code === '900010001') {
             return false;
           }
           this.saveDisable = false;
@@ -1052,13 +1026,13 @@ export default {
 
     // 弹出窗
     showConfirmDialog(msg, resolve) {
-      this.$alert(msg, "提示", {
-        confirmButtonText: "确定",
+      this.$alert(msg, '提示', {
+        confirmButtonText: '确定',
         // cancelButtonText: '取消',
         // cancelButtonClass: 'cancel',
         // confirmButtonClass: 'confirmBtn',
         dangerouslyUseHTMLString: true,
-        type: "warning"
+        type: 'warning'
       })
         .then(() => {
           resolve();
@@ -1069,7 +1043,7 @@ export default {
       this.$message({
         showClose: true,
         message: msg,
-        type: type || "warning"
+        type: type || 'warning'
       });
     },
     handleChange(file, fileList) {
@@ -1083,7 +1057,7 @@ export default {
       // console.log(fileList,this.form.fileList,'aa')
     },
     handleSuccess(response, file, fileList) {
-      if (response.code == "0") {
+      if (response.code == '0') {
         this.showFileList = true;
         this.form.fileList = [];
         this.form.fileList.push({
@@ -1098,7 +1072,7 @@ export default {
         this.isSuccessUpload = 2; // 上传成功状态
         this.$refs.upload && this.$refs.upload.clearValidate(); // 清除校验
       } else {
-        this.warning(response.msg || "上传失败");
+        this.warning(response.msg || '上传失败');
         // this.form.fileList = []
         this.showUpLoad = true;
         this.showFileList = false;
@@ -1118,7 +1092,7 @@ export default {
 
       this.showUpLoad = false;
       if (file.size / 1024 / 1024 >= 500) {
-        this.warning("文件上传失败,超出大小限制500MB");
+        this.warning('文件上传失败,超出大小限制500MB');
         this.form.fileList = [];
         this.showConfirm = false;
         return false;
@@ -1129,8 +1103,8 @@ export default {
     handlePreview(file) {},
     beforeRemove(file, fileList) {
       if (this.showConfirm) {
-        return this.$alert(`确定移除 ${file.name}?`, "", {
-          cancelButtonClass: "cacelBtn"
+        return this.$alert(`确定移除 ${file.name}?`, '', {
+          cancelButtonClass: 'cacelBtn'
         });
       }
     }
@@ -1138,7 +1112,7 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-@import "../../less/common.less";
+@import '../../less/common.less';
 .cell .el-button.delete:focus {
   color: red !important;
 }
@@ -1219,7 +1193,7 @@ export default {
   font-size: 14px;
 }
 .tipInfo:before {
-  content: "";
+  content: '';
   display: block;
   position: absolute;
   // bottom: 9px;

+ 126 - 95
src/components/knowledgeExtra/DevInfo.vue

@@ -14,19 +14,16 @@
                 <el-option label="是" :value="1"></el-option>
             </el-select>
     </el-form-item>-->
-    <el-form-item
-      label="段落标题:"
-      prop="title"
-      label-width="160px"
-      class="is-required"
-    >
+    <el-form-item label="段落标题:" prop="title" label-width="160px" class="is-required">
       <el-input v-model="data.title"></el-input>
     </el-form-item>
     <el-form-item label="内容类型:" prop="position" label-width="160px">
       <el-checkbox-group v-model="data.position">
-        <el-checkbox v-for="it in positions" :key="it.key" :label="it.key">{{
+        <el-checkbox v-for="it in positions" :key="it.key" :label="it.key">
+          {{
           it.name
-        }}</el-checkbox>
+          }}
+        </el-checkbox>
       </el-checkbox-group>
     </el-form-item>
     <el-form-item label="内容" prop="content" label-width="160px" ref="editor">
@@ -50,7 +47,7 @@
         @click="reOrder(0)"
         >下降</a
       >
-    </div> -->
+    </div>-->
     <div class="move_btn">
       <div
         v-if="index !== 0"
@@ -65,7 +62,7 @@
               ? require('@/images/icon_hover_top.png')
               : require('@/images/icon_default_top.png')
           "
-          alt=""
+          alt
         />
       </div>
       <div
@@ -81,7 +78,7 @@
               ? require('@/images/icon_hover_down.png')
               : require('@/images/icon_default_down.png')
           "
-          alt=""
+          alt
         />
       </div>
     </div>
@@ -89,7 +86,7 @@
       <!-- <el-button size="small" @click="addEmit">添加段落</el-button>
       <el-button size="small" @click="delEmit" type="info"
         >删除本段落</el-button
-      > -->
+      >-->
       <div class="change_btns">
         <div @click="addEmit">添加段落</div>
         <div @click="delEmit">删除本段落</div>
@@ -99,17 +96,17 @@
 </template>
 
 <script>
-import api from "@api/knowledgeTree.js";
-import "quill/dist/quill.core.css";
-import "quill/dist/quill.snow.css";
-import "quill/dist/quill.bubble.css";
-import { quillEditor, Quill } from "vue-quill-editor";
-import config from "@api/config";
-import { container, ImageExtend, QuillWatch } from "quill-image-extend-module";
-Quill.register("modules/ImageExtend", ImageExtend);
+import api from '@api/knowledgeTree.js';
+import 'quill/dist/quill.core.css';
+import 'quill/dist/quill.snow.css';
+import 'quill/dist/quill.bubble.css';
+import { quillEditor, Quill } from 'vue-quill-editor';
+import config from '@api/config';
+import { container, ImageExtend, QuillWatch } from 'quill-image-extend-module';
+Quill.register('modules/ImageExtend', ImageExtend);
 export default {
-  props: ["data", "index", "isEdit", "isCopy", "total", "showType"],
-  name: "DevInfo",
+  props: ['data', 'index', 'isEdit', 'isCopy', 'total', 'showType'],
+  name: 'DevInfo',
   components: {
     quillEditor
   },
@@ -119,12 +116,12 @@ export default {
       moveBottomHover: false,
       toolbars: [
         [
-          ["bold", "underline", "strike"],
-          [{ list: "ordered" }, { list: "bullet" }],
-          [{ script: "sub" }, { script: "super" }],
+          ['bold', 'underline', 'strike'],
+          [{ list: 'ordered' }, { list: 'bullet' }],
+          [{ script: 'sub' }, { script: 'super' }],
           [{ color: [] }, { background: [] }],
           [{ align: [] }],
-          ["image"]
+          ['image']
         ]
       ],
       toolbarMode: 0,
@@ -132,24 +129,24 @@ export default {
         modules: {
           ImageExtend: {
             loading: true,
-            name: "upfile",
+            name: 'upfile',
             size: 1,
             sizeError: () => {
               this.$message({
                 showClose: true,
-                message: "请上传 1M 以内的图片!",
-                type: "warning"
+                message: '请上传 1M 以内的图片!',
+                type: 'warning'
               });
             },
             action: config.urls.promptServer,
-            response: (res) => {
-              if (res.code == "0") {
+            response: res => {
+              if (res.code == '0') {
                 return config.imgHost + res.data.url;
               } else {
                 this.$message({
                   showClose: true,
                   message: res.msg,
-                  type: "warning"
+                  type: 'warning'
                 });
               }
             }
@@ -157,7 +154,7 @@ export default {
           toolbar: {
             container: container,
             handlers: {
-              image: function () {
+              image: function() {
                 QuillWatch.emit(this.quill.id);
               }
             }
@@ -173,66 +170,68 @@ export default {
     };
   },
   watch: {
-    "data.content": function () {
-      if (this.data.content !== "") {
+    'data.content': function() {
+      if (this.data.content !== '') {
         this.$refs.editor && this.$refs.editor.clearValidate(); // 清除校验
       }
-      if (this.data.content === "") {
+      if (this.data.content === '') {
         // console.log('内容为空');
-        this.$refs["form"].validateField("content"); // 手动校验
+        this.$refs['form'].validateField('content'); // 手动校验
       }
       this.data.text = this.$refs.quillEditor.quill.root.innerText;
     }
   },
   created() {
     // console.log(this.showType, 'showType','需要显示的类型');
-    this.editorOption.modules.toolbar.container =
-      this.toolbars[this.toolbarMode];
-    this.renderPositions();
+    this.editorOption.modules.toolbar.container = this.toolbars[
+      this.toolbarMode
+    ];
+    this.zskgetDict();
+
     if (this.isEdit || this.isCopy) {
       setTimeout(() => {
         this.rules = {
           position: [
-            { required: true, message: "请选择内容类型", trigger: "change" }
+            { required: true, message: '请选择内容类型', trigger: 'change' }
           ],
           title: [
             {
               validator: (rule, value, callback) => {
                 if (!value.trim()) {
-                  callback(new Error("请输入段落标题"));
+                  callback(new Error('请输入段落标题'));
                 } else {
                   callback();
                 }
               },
-              trigger: "change"
+              trigger: 'change'
             },
-            { max: 30, message: "标题名称不能超过30字", trigger: "change" }
+            { max: 30, message: '标题名称不能超过30字', trigger: 'change' }
           ],
           content: [
-            { required: true, message: "请输入段落内容", trigger: "change" }
+            { required: true, message: '请输入段落内容', trigger: 'change' }
           ]
         };
       }, 100);
     } else {
       this.rules = {
         position: [
-          { required: true, message: "请选择内容类型", trigger: "change" }
+          { required: true, message: '请选择内容类型', trigger: 'change' }
         ],
         title: [
           {
             validator: (rule, value, callback) => {
               if (!value.trim()) {
-                callback(new Error("请输入段落标题"));
+                callback(new Error('请输入段落标题'));
               } else {
                 callback();
               }
             },
-            trigger: "change"
+            trigger: 'change'
           },
-          { max: 30, message: "标题名称不能超过30字", trigger: "change" }
+          { max: 30, message: '标题名称不能超过30字', trigger: 'change' }
         ],
         content: [
-          { required: true, message: "请输入段落内容", trigger: "change" }
+          { required: true, message: '请输入段落内容', trigger: 'change' }
         ]
       };
     }
@@ -242,34 +241,33 @@ export default {
   },
   mounted() {
     let quill = this.$refs.quillEditor.quill;
-    console.log(quill);
     quill.root.addEventListener(
-      "paste",
-      (evt) => {
-        console.log("evt", evt);
+      'paste',
+      evt => {
+        console.log('evt', evt);
         if (
           evt.clipboardData &&
           evt.clipboardData.files &&
           evt.clipboardData.files.length
         ) {
-          console.log("ddadada");
+          console.log('ddadada');
           evt.preventDefault();
-          [].forEach.call(evt.clipboardData.files, (file) => {
-            console.log("file", file);
+          [].forEach.call(evt.clipboardData.files, file => {
+            console.log('file', file);
             if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) return;
             if (file.size > 1024 * 1000) return;
             let formData = new FormData();
-            formData.append("upfile", file);
-            api.uploadFile(formData).then((res) => {
-              console.log("formData", res);
-              if (res.data.code == "0") {
+            formData.append('upfile', file);
+            api.uploadFile(formData).then(res => {
+              console.log('formData', res);
+              if (res.data.code == '0') {
                 let imgUrl = config.imgHost + res.data.data.url;
                 var range = quill.getSelection();
-                console.log("range", range);
+                console.log('range', range);
                 if (range) {
                   // this.uploadAttachment(res, file, null);
                   let length = quill.getSelection().index;
-                  quill.insertEmbed(length, "image", imgUrl);
+                  quill.insertEmbed(length, 'image', imgUrl);
                   quill.setSelection(length + 1);
                   //  将光标移动到图片后面
                   this.$refs.quillEditor.quill.setSelection(range.index + 1);
@@ -278,7 +276,7 @@ export default {
                 this.$message({
                   showClose: true,
                   message: res.msg,
-                  type: "warning"
+                  type: 'warning'
                 });
               }
             });
@@ -289,55 +287,88 @@ export default {
     );
   },
   methods: {
+    zskgetDict() {
+      api
+        .zskgetDict()
+        .then(res => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.positions = data['50'];
+            this.renderPositions(data['50'], data['51']);
+          }
+        })
+        .catch(error => {
+          console.log(error);
+        });
+    },
     reOrder(i) {
-      this.$emit("reOrder", i, this.index);
+      this.$emit('reOrder', i, this.index);
     },
     addEmit() {
-      this.$emit("add");
+      this.$emit('add');
     },
     delEmit() {
-      this.$emit("del", this.index);
+      this.$emit('del', this.index);
     },
     filterHiddenPosition() {
       const pos = this.data.position;
-      const pArr = this.positions.map((it) => {
+      const pArr = this.positions.map(it => {
         return it.key;
       });
-      const pStr = pArr.join(",");
-      const arr = pos.filter((it) => {
+      const pStr = pArr.join(',');
+      const arr = pos.filter(it => {
         return pStr.indexOf(it) > -1;
       });
       this.data.position = arr;
     },
     // 渲染内容类型
-    renderPositions() {
+    renderPositions(data1, data2) {
       //显示位置枚举列表
-      const pos = localStorage.getItem("knowledgeEnumsData");
-      let positions = config.contentTypes;
-      if (this.showType == 1) {
-        // 诊断
-        this.positions = positions.filter((item) => item.key !== 2);
-      } else if (
-        this.showType == 3 ||
-        this.showType == 4 ||
-        this.showType == 5 ||
-        this.showType == 6
-      ) {
-        // 检验/检查
-        this.positions = positions.filter((item) => {
-          return item.key <= 2;
+      if (this.showType>0) {
+        data2 = data2.filter(item => item.name == this.showType);
+        let val = data2[0].val.split(',');
+        this.positions = data1.filter(it => {
+          let arr = val.map(v => v);
+          return arr.includes(it.val);
         });
-      } else if (
-        this.showType == 2 ||
-        this.showType == 7 ||
-        this.showType == 8 ||
-        this.showType == 9
-      ) {
-        // 药品/手术
-        this.positions = positions.filter((item) => item.key === 1);
-      } else {
-        this.positions = positions;
       }
+
+      // let obj = {};
+      // let arr = formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
+      //   i
+      // ].basConceptList.concat(data2);
+      // arr = arr.reduce(function(item, next) {
+      //   obj[next.conceptId]
+      //     ? ''
+      //     : (obj[next.conceptId] = true && item.push(next));
+      //   return item;
+      // }, []);
+      // let positions = config.contentTypes;
+      // if (this.showType == 1) {
+      //   // 诊断
+      //   this.positions = positions.filter((item) => item.key !== 2);
+      // } else if (
+      //   this.showType == 3 ||
+      //   this.showType == 4 ||
+      //   this.showType == 5 ||
+      //   this.showType == 6
+      // ) {
+      //   // 检验/检查
+      //   this.positions = positions.filter((item) => {
+      //     return item.key <= 2;
+      //   });
+      // } else if (
+      //   this.showType == 2 ||
+      //   this.showType == 7 ||
+      //   this.showType == 8 ||
+      //   this.showType == 9 ||
+      //   this.showType == 10
+      // ) {
+      //   // 药品/手术
+      //   this.positions = positions.filter((item) => item.key === 1);
+      // } else {
+      //   this.positions = positions;
+      // }
     }
 
     /*emitVal(){

+ 1 - 0
src/components/knowledgeExtra/KnowledgeAll.vue

@@ -120,6 +120,7 @@ export default {
           this.id = id
           this.showSearch = false
         }
+        this.list = []
         const loading = this.$loading({
           lock: true,
           text: 'Loading',

+ 167 - 196
src/components/login/Login.vue

@@ -1,203 +1,177 @@
 <template>
-  <div class="login-container">
-    <banner></banner>
-    <div class="login-img fl">
-      <img src="../../images/loginImg.png" />
-    </div>
-    <div class="login-box">
-      <!-- <div class="box-le"><img src="../../images/left.jpg"/></div> -->
-      <div class="box-ri">
-        <div class="title-box clearfix">
-          <h3 class="login-title fl">登录</h3>
-          <h4 class="num fr" @click="toRegister">立即注册</h4>
-        </div>
-
-        <div class="ri-center">
-          <el-form :model="ruleForm2" :rules="rules2" ref="ruleFormReg">
-            <el-form-item prop="tel">
-              <el-input
-                v-model="ruleForm2.tel"
-                name="username"
-                autocomplete="off"
-                maxlength="11"
-                placeholder="请输入用户名或手机号"
-                clearable
-                class="ri-tel"
-                @keyup.enter.native="submitForm('ruleForm2')"
-                ref="username"
-              ></el-input>
-            </el-form-item>
-            <div style="height: 20px;"></div>
-            <el-form-item prop="pwd">
-              <el-input
-                v-model="ruleForm2.pwd"
-                name="password"
-                autocomplete="off"
-                maxlength="16"
-                placeholder="请输入密码"
-                clearable
-                type="password"
-                class="ri-pwd"
-                @keyup.enter.native="submitForm('ruleForm2')"
-                ref="password"
-              ></el-input>
-            </el-form-item>
-            <el-form-item>
-              <!-- <span class="num" @click="toRegister">注册账号</span> -->
-              <span class="pwd" @click="toForgetPsw">忘记密码?</span>
-            </el-form-item>
-            <el-form-item>
-              <el-button plain v-if="otherCor">登录</el-button>
-              <el-button ref="btn" v-else class="otherCor" plain @click="submitForm('ruleForm2')">登录</el-button>
-            </el-form-item>
-          </el-form>
+    <div class="login-container">
+        <banner></banner>
+        <div class="login-img fl"><img src="../../images/loginImg.png"/></div>
+        <div class="login-box">
+            <!-- <div class="box-le"><img src="../../images/left.jpg"/></div> -->
+            <div class="box-ri">
+                <div class="title-box clearfix"> <h3 class="login-title fl">登录</h3> <h4 class="num fr" @click="toRegister">立即注册</h4></div>
+               
+                <div class="ri-center">
+                    <el-form :model="ruleForm2" :rules="rules2" ref="ruleFormReg">
+                        <el-form-item prop="tel">
+                            <el-input v-model="ruleForm2.tel" name="username" autocomplete="off" maxlength="11"
+                                      placeholder="请输入用户名或手机号"
+                                      clearable class="ri-tel" @keyup.enter.native="submitForm('ruleForm2')"
+                                      ref="username"></el-input>
+                        </el-form-item>
+                        <div style="height: 20px;"></div>
+                        <el-form-item prop="pwd">
+                            <el-input v-model="ruleForm2.pwd" name="password" autocomplete="off" maxlength="16"
+                                      placeholder="请输入密码"
+                                      clearable type="password" class="ri-pwd"
+                                      @keyup.enter.native="submitForm('ruleForm2')" ref="password"></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <!-- <span class="num" @click="toRegister">注册账号</span> -->
+                            <span class="pwd" @click="toForgetPsw">忘记密码?</span>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button plain v-if="otherCor" >登录</el-button>
+                            <el-button ref="btn" v-else class="otherCor" plain @click="submitForm('ruleForm2')">登录
+                            </el-button>
+                        </el-form-item>
+                    </el-form>
+                </div>
+            </div>
         </div>
-      </div>
+        <copy-right-info></copy-right-info>
     </div>
-    <copy-right-info></copy-right-info>
-  </div>
 </template>
 
 <script>
-import Vue from 'vue';
-import banner from '../common/Banner.vue';
-import copyRightInfo from '../common/CopyRightInfo.vue';
-import api from '../../api/index.js';
-import './login.less';
-import md5 from 'js-md5';
+  import Vue from 'vue';
+  import banner from '../common/Banner.vue';
+  import copyRightInfo from '../common/CopyRightInfo.vue';
+  import api from '../../api/index.js';
+  import './login.less';
+  import md5 from 'js-md5'
+	
+  export default {
+    name: 'Login',
+    data() {
+      //手机号码验证
+      var myreg = /^1[0-9]{10}$/;
+      //密码验证 纯字母纯英文
+      var numreg = /^(?![0-9]+$)(?![a-zA-Z]+$)/;
+      //密码验证 密码长度
+      var lengreg = /^[0-9A-Za-z]{6,16}$/;
+      var validatePass = (rule, value, callback) => {
+        // if(isNaN(value) == false){   //手机号
+        // 正常情况
 
-export default {
-  name: 'Login',
-  data() {
-    //手机号码验证
-    var myreg = /^1[0-9]{10}$/;
-    //密码验证 纯字母纯英文
-    var numreg = /^(?![0-9]+$)(?![a-zA-Z]+$)/;
-    //密码验证 密码长度
-    var lengreg = /^[0-9A-Za-z]{6,16}$/;
-    var validatePass = (rule, value, callback) => {
-      // if(isNaN(value) == false){   //手机号
-      // 正常情况
-
-      if (value.trim() == '') {
-        callback(new Error('用户名不能为空'));
-        this.$refs.username.value = '';
-      }
-      // 手机号
-      if (isNaN(value) == false) {
-        if (value.length !== 11 || !myreg.test(value)) {
-          callback(new Error('手机号格式有误'));
+        if (value.trim() == '') {
+          callback(new Error('用户名不能为空'));
+          this.$refs.username.value = "";
+        }
+        // 手机号
+        if (isNaN(value) == false) {
+          if (value.length !== 11 || !myreg.test(value)) {
+            callback(new Error('手机号格式有误'));
+          } else {
+            callback();
+          }
+        } else if (isNaN(value) == true) {
+          callback();
+        }
+      };
+      var validatePass2 = (rule, value, callback) => {
+        if (value.trim() == '') {
+          callback(new Error('密码不能为空'));
+          this.$refs.password.value = "";
+        } else if (value.length < 6) {
+          callback(new Error('密码长度应为6位至16位之间'));
+        } else if (!numreg.test(value)) {
+          callback(new Error('密码不能为纯数字或纯英文'));
         } else {
           callback();
         }
-      } else if (isNaN(value) == true) {
-        callback();
-      }
-    };
-    var validatePass2 = (rule, value, callback) => {
-      if (value.trim() == '') {
-        callback(new Error('密码不能为空'));
-        this.$refs.password.value = '';
-      } else if (value.length < 6) {
-        callback(new Error('密码长度应为6位至16位之间'));
-      } else if (!numreg.test(value)) {
-        callback(new Error('密码不能为纯数字或纯英文'));
-      } else {
-        callback();
-      }
-    };
-    return {
-      otherCor: true,
-      ruleForm2: {
-        tel: '',
-        pwd: ''
-      },
-      rules2: {
-        tel: [
-          {
+      };
+      return {
+        otherCor: true,
+        ruleForm2: {
+          tel: '',
+          pwd: ''
+        },
+        rules2: {
+          tel: [{
             required: true,
             validator: validatePass,
             trigger: 'blur'
-          }
-        ],
-        pwd: [
-          {
+          }],
+          pwd: [{
             required: true,
             validator: validatePass2,
             trigger: 'blur'
-          }
-        ]
-      }
-    };
-  },
-  mounted() {
-    if (window.history && window.history.pushState) {
-      history.pushState(null, null, document.URL);
-      window.addEventListener('popstate', function() {
-        history.pushState(null, null, document.URL);
-      });
-    }
-  },
-  computed: {
-    nextButton() {
-      const { tel, pwd } = this.ruleForm2;
-      return {
-        tel,
-        pwd
+          }],
+        }
       };
-    }
-  },
-  watch: {
-    nextButton: {
-      handler: function(val) {
-        if (val.tel.trim() && val.pwd.trim()) {
-          this.otherCor = false;
-        } else {
-          this.otherCor = true;
+    },
+    mounted() {
+      if (window.history && window.history.pushState) {
+        history.pushState(null, null, document.URL);
+        window.addEventListener('popstate', function () {
+            history.pushState(null, null, document.URL);
+        });
+      }
+    },
+    computed: {
+      nextButton() {
+        const {
+          tel,
+          pwd
+        } = this.ruleForm2;
+        return {
+          tel,
+          pwd
         }
-      },
-      deep: true
-    }
-  },
-  methods: {
-    CalcuMD5(password) {
-      // password = password.toUpperCase();
-      password = md5(password);
-      return password;
+      }
     },
-    submitForm: function() {
-      const username = this.ruleForm2.tel;
-      const password = this.CalcuMD5(this.ruleForm2.pwd);
-      let params = {
-        username: username,
-        password: password
-      };
-      //重新登录清空原有token;
-      localStorage.removeItem('token');
-      this.$refs.ruleFormReg.validate(valid => {
-        if (valid) {
-          api
-            .loginMess(params)
-            .then(res => {
+    watch: {
+      nextButton: {
+        handler: function (val) {
+          if (val.tel.trim() && val.pwd.trim()) {
+            this.otherCor = false;
+          } else {
+            this.otherCor = true;
+          }
+        },
+        deep: true
+      }
+    },
+    methods: {
+      CalcuMD5(password){
+        // password = password.toUpperCase();
+        password = md5(password);
+        return password;
+      },
+      submitForm: function () {
+        const username = this.ruleForm2.tel;
+        const password = this.CalcuMD5(this.ruleForm2.pwd);
+        let params = {
+          "username": username,
+          "password": password
+        }
+        //重新登录清空原有token;
+        localStorage.removeItem('token');
+        this.$refs.ruleFormReg.validate((valid) => {
+          if (valid) {
+            api.loginMess(params).then((res) => {
               if (res.status == 200) {
-                // console.log(res)
-                if (res.data.code == '10020000') {
-                  //未注册
+								// console.log(res)
+                if (res.data.code == '10020000') { //未注册
                   // this.$message.error(res.data.msg);
-                  this.$message.error('该账号或手机号未注册!');
-                } else if (res.data.code == '10020001') {
-                  //密码错误
+									this.$message.error("该账号或手机号未注册!")
+                } else if (res.data.code == '10020001') { //密码错误
                   this.$message.error(res.data.msg);
                 } else if (res.data.code == '0') {
                   const token = JSON.stringify(res.data.data);
-                  localStorage.setItem('token', token);
-                  const uesrId = JSON.stringify(res.data.data.type);
-                  localStorage.setItem('uesrId', uesrId);
+                  localStorage.setItem("token", token);
                   this.$message({
                     message: '登录成功!',
                     type: 'success',
                     duration: 1000,
-                    onClose: function() {
+                    onClose: function () {
                       const type = res.data.data.type;
                       if (type == 0) {
                         this.$router.push({
@@ -212,32 +186,29 @@ export default {
                   });
                 }
               }
-            })
-            .catch(err => {
+            }).catch((err) => {
               console.log(err);
-            });
-        } else {
-          console.log('faild');
-          return false;
-        }
-      });
+            })
+          } else {
+            console.log('faild')
+            return false;
+          }
+        });
+      },
+      toRegister() { //点击注册
+        this.$router.push({
+          path: '/register'
+        });
+      },
+      toForgetPsw() {//忘记密码
+        this.$router.push({
+          path: '/forgetPassword'
+        });
+      }
     },
-    toRegister() {
-      //点击注册
-      this.$router.push({
-        path: '/register'
-      });
+    components: {
+      'banner': banner,
+      'copyRightInfo': copyRightInfo
     },
-    toForgetPsw() {
-      //忘记密码
-      this.$router.push({
-        path: '/forgetPassword'
-      });
-    }
-  },
-  components: {
-    banner: banner,
-    copyRightInfo: copyRightInfo
   }
-};
 </script>

+ 2 - 2
vue.config.js

@@ -1,6 +1,6 @@
 const path = require('path');
-// const proxy_path = 'http://192.168.2.241:88';
-const proxy_path = 'http://192.168.2.236:5050';
+const proxy_path = 'http://192.168.2.241: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.113:5050'; //王峰