Browse Source

基础术语维护

wyq 4 years ago
parent
commit
ced0bbe324
3 changed files with 411 additions and 83 deletions
  1. 296 10
      src/components/basicKnow/AddTerm.vue
  2. 59 28
      src/components/knowledgeExtra/AddZskRegisteredDrug.vue
  3. 56 45
      src/routes.js

+ 296 - 10
src/components/basicKnow/AddTerm.vue

@@ -311,53 +311,92 @@
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input v-model.trim="unit" placeholder="请输入" maxlength="6" type="text"></el-input>
+              <div
+                class="test_box"
+                ref="Maincontent"
+                @input="handleInput"
+                @compositionstart="handleStart"
+                @compositionend="handleEnd"
+                placeholder="请输入"
+                contenteditable="true"
+              ></div>
             </el-form-item>
             <el-form-item
               label="检查技术:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input v-model.trim="unit" placeholder="请输入" maxlength="6" type="text"></el-input>
+              <el-input v-model.trim="unit" placeholder="请输入" maxlength="200" type="text"></el-input>
             </el-form-item>
             <el-form-item
               label="项目定义:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
+              <el-input
+                type="textarea"
+                row="3"
+                v-model.trim="unit"
+                placeholder="请输入"
+                maxlength="500"
+              ></el-input>
             </el-form-item>
             <el-form-item
               label="检查目的:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
+              <el-input
+                type="textarea"
+                row="3"
+                v-model.trim="unit"
+                placeholder="请输入"
+                maxlength="500"
+              ></el-input>
             </el-form-item>
             <el-form-item
               label="禁忌症和局限性:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
+              <el-input
+                type="textarea"
+                row="3"
+                v-model.trim="unit"
+                placeholder="请输入"
+                maxlength="500"
+              ></el-input>
             </el-form-item>
             <el-form-item
               label="适应症:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
+              <el-input
+                type="textarea"
+                row="3"
+                v-model.trim="unit"
+                placeholder="请输入"
+                maxlength="500"
+              ></el-input>
             </el-form-item>
             <el-form-item
               label="检查前准备:"
               v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
               class="marT"
             >
-              <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
+              <el-input
+                type="textarea"
+                row="3"
+                v-model.trim="unit"
+                placeholder="请输入"
+                maxlength="500"
+              ></el-input>
             </el-form-item>
-            <el-form-item v-if="data.type=='疾病'" label="发病率:" prop="description">
-              <el-input v-model.trim="icdCode" maxlength="30" placeholder="请输入编码"></el-input>
+            <el-form-item v-if="data.type=='疾病'" label="发病率:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
             </el-form-item>
+
             <el-form-item label="遗传性:" v-if="data.type=='疾病'" class="marT">
               <el-radio-group v-model="critical">
                 <el-radio :label="3">是</el-radio>
@@ -376,6 +415,167 @@
                 <el-radio :label="6">否</el-radio>
               </el-radio-group>
             </el-form-item>
+            <el-form-item label="疾病就诊科室:" v-if="data.type=='疾病'" class="marT">
+              <el-select
+                v-model="value"
+                multiple
+                filterable
+                allow-create
+                default-first-option
+                placeholder="请选择文章标签"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="疾病发病部位:" v-if="data.type=='疾病'" class="marT">
+              <el-select
+                v-model="value"
+                multiple
+                filterable
+                allow-create
+                default-first-option
+                placeholder="请选择文章标签"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="疾病系统分类:" v-if="data.type=='疾病'" class="marT">
+              <el-select v-model="value" filterable placeholder="请选择">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="英文名称:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="英文简称:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="疾病简称:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="好发人群:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="好发地区:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="病程:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="危害性:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="治愈系:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="诱因:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="疾病分型:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="并发症:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="临床分类:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="病因:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="危险因素:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='疾病'" label="饮食禁忌:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="500"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="英文缩写:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="所属类别:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="检查标本:" prop="description" class="marT">
+              <el-input v-model.trim="icdCode" maxlength="200" placeholder="请输入编码"></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="临床意义:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="200"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="影响因素:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="200"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-if="data.type=='实验室检查套餐'" label="检查方法:" prop="description" class="marT">
+              <el-input
+                v-model.trim="icdCode"
+                maxlength="200"
+                placeholder="请输入编码"
+                row="3"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
             <!-- <el-form-item
               v-if="data.type=='症状'"
               label="填写单患者界面展示通俗内容:"
@@ -485,6 +685,7 @@ export default {
       searchType: '',
       description: '',
       explains: '',
+      composing: false,
       critical: '' //危急标识
     };
   },
@@ -508,6 +709,73 @@ export default {
     }
   },
   methods: {
+    handleInput(event) {
+      let text = event.target.innerText;
+      this.valueHandle(event, text);
+    },
+    //长度计算
+    validateTextLength(value) {
+      // 中文、中文标点、全角字符按1长度,英文、英文符号、数字按1长度计算
+      let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/g;
+      let mat = value.match(cnReg);
+      let length;
+      if (mat) {
+        length = mat.length + (value.length - mat.length);
+        return length;
+      } else {
+        return value.length;
+      }
+    },
+    valueHandle(event, strVale) {
+      let _this = this;
+      let text = strVale;
+      this.sendContent = text;
+      if (this.composing) {
+        return;
+      }
+      let len = this.validateTextLength(text);
+      if (len > 200) {
+        this.$refs.Maincontent.innerHTML = text.substr(0, 200);
+        this.$refs.Maincontent.focus();
+      }
+      setTimeout(() => {
+        _this.keepLastIndex(event.target);
+      }, 5);
+      // 拓展 如果想要只需要前100位数据
+      // this.content = this.content.substring(0, 100)
+    },
+    handleStart() {
+      this.composing = true;
+    },
+    /**
+     * 中文输入结束
+     */
+    handleEnd($event) {
+      this.composing = false;
+      let text = $event.target.innerHTML;
+      // console.log($event.target.innerHTML)
+      this.valueHandle($event, text);
+    },
+    handleInput(event) {
+      let text = event.target.innerText;
+      this.valueHandle(event, text);
+    },
+    keepLastIndex(obj) {
+      if (window.getSelection) {
+        // ie11 10 9 ff safari
+        obj.focus(); // 解决ff不获取焦点无法定位问题
+        let range = window.getSelection(); // 创建range
+        range.selectAllChildren(obj); // range 选择obj下所有子内容
+        range.collapseToEnd(); // 光标移至最后
+      } else if (document.selection) {
+        // ie10 9 8 7 6 5
+        let range = document.selection.createRange(); // 创建选择对象
+        // var range = document.body.createTextRange();
+        range.moveToElementText(obj); // range定位到obj
+        range.collapse(false); // 光标移至最后
+        range.select();
+      }
+    },
     clearDataCi() {
       this.data.code = '';
     },
@@ -530,6 +798,7 @@ export default {
           // 修改时无需赋值
           if (!flag) {
             this.dioType = this.dioTypeList[0].val;
+            console.log(this.dioTypeList[0].val);
           }
         }
       });
@@ -1115,7 +1384,23 @@ tr,
 td {
   list-style: none;
 }
-
+.test_box {
+  min-height: 38px;
+  max-height: 300px;
+  _height: 120px;
+  margin-left: auto;
+  margin-right: auto;
+  padding: 3px;
+  outline: 0;
+  border: 1px solid #dcdfe6;
+  font-size: 12px;
+  line-height: 24px;
+  padding: 2px;
+  word-wrap: break-word;
+  overflow-x: hidden;
+  overflow-y: auto;
+  border-radius: 4px;
+}
 /deep/ .radioWrap .el-radio {
   display: block;
   height: 41px;
@@ -1127,6 +1412,7 @@ td {
   width: 85px;
   text-align: left;
 }
+
 // 饿了么分组下拉
 .el-scrollbar {
   .el-select-dropdown__list {

+ 59 - 28
src/components/knowledgeExtra/AddZskRegisteredDrug.vue

@@ -3,44 +3,63 @@
     <crumbs :title="title" :param="$route.params" linkTo="RegisteredDrug"></crumbs>
     <div class="contents">
       <div class="content">
-        <el-form :inline="true" :model="formInline" class="demo-form-inline">
-          <el-form-item label="审批人">
-            <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+        <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100px">
+          <el-form-item label="药品代码:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="活动区域">
-            <el-select v-model="formInline.region" placeholder="活动区域">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
-            </el-select>
+          <el-form-item label="最小包装单位:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="审批人">
-            <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+          <el-form-item label="注册名称:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="活动区域">
-            <el-select v-model="formInline.region" placeholder="活动区域">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
-            </el-select>
+          <el-form-item label="药品企业:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="审批人">
-            <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+          <el-form-item label="英文名称:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="活动区域">
-            <el-select v-model="formInline.region" placeholder="活动区域">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
-            </el-select>
+          <el-form-item label="批准文号:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="商品名称:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="药品本位码:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="药品剂型:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="审批人">
-            <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+          <el-form-item label="医保类型:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="活动区域">
-            <el-select v-model="formInline.region" placeholder="活动区域">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
+          <el-form-item label="注册规格:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="医保备注:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="最小包装数量:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="药品类别:">
+            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="关联通用名:">
+            <el-select v-model="value" filterable placeholder="请输入要选择的内容">
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
             </el-select>
           </el-form-item>
         </el-form>
+        <div class="Butn">
+          <el-button class="disclButn" size="small" type="primary" @click="confirm">确定</el-button>
+        </div>
       </div>
     </div>
   </div>
@@ -77,6 +96,18 @@ export default {
     color: #545455;
     min-width: 980px;
     position: relative;
+    /deep/ .el-form-item {
+      margin-bottom: 20px;
+      .el-form-item__label {
+        margin-right: 20px;
+      }
+
+      .el-input {
+        .el-input__inner {
+          width: 300px;
+        }
+      }
+    }
   }
 }
 </style>

+ 56 - 45
src/routes.js

@@ -211,14 +211,15 @@ import AddDevKnow from '@components/knowledgeExtra/AddDevKnow.vue'   //知识库
 import ZskRuleManager from '@components/knowledgeExtra/RuleManager.vue';  //知识库规则维护
 import AddZskRule from '@components/knowledgeExtra/AddNewRule.vue';   //知识库添加规则
 import KnowledgeAll from '@components/knowledgeExtra/KnowledgeAll.vue'   //知识库树
-import KnowledgeBaseType from '@components/knowledgeExtra/KnowledgeBaseType.vue'   
-import AboutDisease from '@components/knowledgeExtra/AboutDisease.vue'   
-import DiseaseTree from '@components/knowledgeExtra/DiseaseTree.vue'   
+import KnowledgeBaseType from '@components/knowledgeExtra/KnowledgeBaseType.vue'
+import AboutDisease from '@components/knowledgeExtra/AboutDisease.vue'
+import DiseaseTree from '@components/knowledgeExtra/DiseaseTree.vue'
 import AutoKnowledgeMapRuleTest from '@components/autoTest/AutoKnowledgeMapRuleTest.vue';
 import AutoBillCommonTest from '@components/autoTest/AutoBillCommonTest.vue';
 import ZskDiagBase from '@components/knowledgeExtra/DiagBase.vue';      //知识库拓展-诊断依据维护
 import AddZskDiagBase from '@components/knowledgeExtra/AddDiagBase.vue';
-
+import ZskRegisteredDrug from '@components/knowledgeExtra/RegisteredDrug.vue';
+import AddZskRegisteredDrug from '@components/knowledgeExtra/AddZskRegisteredDrug.vue';
 export default [
     {
         path: '/',
@@ -618,46 +619,56 @@ export default [
                 component: AddZskDiagBase,
                 name: 'AddZskDiagBase',
             },
-    {
-        path: 'LT-ZSKKZWH-JTXXWH',
-        component: StaticInfo,
-        name: 'StaticInfo',
-    },
-    {
-        path: 'LT-ZSKKZWH-JTXXWH-EDIT',
-        component: AddDevKnow,
-        name: 'AddDevKnow',
-    },
-    {
-        path: 'LT-ZSKKZWH-SXJGWH',
-        component: KnowledgeAll,
-        name: 'KnowledgeAll',
-    }, //树形结构维护
-    {
-        path: 'LT-ZSKJCWH-JCSYLXWH',
-        component: KnowledgeBaseType,
-        name: 'KnowledgeBaseType',
-    }, //基础术语类型维护
-    {
-        path: 'LT-ZSKKZWH-JBXGWH',
-        component: AboutDisease,
-        name: 'AboutDisease',
-    }, //疾病相关维护
-    {
-        path: 'LT-ZSKKZWH-JBXGWH-EDIT',
-        component: DiseaseTree,
-        name: 'DiseaseTree',
-    }, //疾病相关维护, 
-    {
-        path: 'LT-YYSYZDHCS-ZSTPGZCS',
-        component: AutoKnowledgeMapRuleTest,
-        name: 'AutoKnowledgeMapRuleTest',
-    }, 
-    {
-        path: 'LT-YYSYZDHCS-ZSTPGZCS-TYGZCS',
-        component: AutoBillCommonTest,
-        name: 'AutoBillCommonTest',
+            {
+                path: 'LT-ZSKKZWH-JTXXWH',
+                component: StaticInfo,
+                name: 'StaticInfo',
+            },
+            {
+                path: 'LT-ZSKKZWH-JTXXWH-EDIT',
+                component: AddDevKnow,
+                name: 'AddDevKnow',
+            },
+            {
+                path: 'LT-ZSKKZWH-SXJGWH',
+                component: KnowledgeAll,
+                name: 'KnowledgeAll',
+            }, //树形结构维护
+            {
+                path: 'LT-ZSKJCWH-JCSYLXWH',
+                component: KnowledgeBaseType,
+                name: 'KnowledgeBaseType',
+            }, //基础术语类型维护
+            {
+                path: 'LT-ZSKKZWH-JBXGWH',
+                component: AboutDisease,
+                name: 'AboutDisease',
+            }, //疾病相关维护
+            {
+                path: 'LT-ZSKKZWH-JBXGWH-EDIT',
+                component: DiseaseTree,
+                name: 'DiseaseTree',
+            }, //疾病相关维护, 
+            {
+                path: 'LT-YYSYZDHCS-ZSTPGZCS',
+                component: AutoKnowledgeMapRuleTest,
+                name: 'AutoKnowledgeMapRuleTest',
+            },
+            {
+                path: 'LT-YYSYZDHCS-ZSTPGZCS-TYGZCS',
+                component: AutoBillCommonTest,
+                name: 'AutoBillCommonTest',
+            },
+            {
+                path: 'LT-ZSKKZWH-ZCYPWH',
+                component: ZskRegisteredDrug,
+                name: 'ZskRegisteredDrug',
+            },
+            {
+                path: 'LT-ZSKKZWH-TJZCYPWH',
+                component: AddZskRegisteredDrug,
+                name: 'AddZskRegisteredDrug',
+            },
+        ],
     },
-],
-},
 ];