Browse Source

病历条目增加条目类型

zhouna 5 years ago
parent
commit
31fd5b9b9e

+ 3 - 0
src/api/records.js

@@ -6,6 +6,9 @@ export default {
   getRecordList:(param)=>{
     return axios.post(urls.getRecord,param);
   },
+  getRuleTypes:(param)=>{
+    return axios.post(urls.getQcTypes,param);
+  },
   getRecordDetail:(param)=>{
     return axios.post(urls.getRecordDetail,param);
   },

+ 19 - 3
src/components/recordInput/AddRecordItem.vue

@@ -38,6 +38,18 @@
                             </el-option>
                         </el-select>
                     </el-form-item>
+                    <el-form-item label="条目类型:" prop="ruleType">
+                        <el-select v-model="form.ruleType"
+                                   placeholder="请选择条目类型"
+                        >
+                            <el-option
+                                    v-for="item in ruleTypeList"
+                                    :key="item.val"
+                                    :label="item.name"
+                                    :value="Number(item.val)">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
                     <el-form-item label="备注:" prop="remark">
                          <el-input v-model="form.remark" maxlength="200" placeholder="请输入备注"></el-input>
                     </el-form-item>
@@ -117,6 +129,7 @@
         ],*/
         modifier:'',
         hospitalList:[],
+        ruleTypeList:[],
         caseLIst:[],
         hospitalModuleList:[], //医院数据模块列表
         title:'病历条目-新增',
@@ -124,6 +137,7 @@
           itemName:'',
           casesId:'',
           itemCode:'',
+          ruleType:'',
           remark:'',
           levelNo:'',
           precond:'',
@@ -145,15 +159,16 @@
       }
     },
     created(){
-      let {isEdit, data} = this.$route.params;
+      let {isEdit, data,ruleTypeList} = this.$route.params;
       const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'))
       this.modifier = userLoginDTO && userLoginDTO.linkman
-     
+      this.ruleTypeList=ruleTypeList;
       if(isEdit){
         this.title = '病历条目-修改'
         this.isEdit = isEdit
         this.id = data.id
         this.form.itemName = data.name
+        this.form.ruleType = data.ruleType
         this.form.itemCode = data.code
         this.form.casesId = data.casesId
         this.form.remark = data.remark
@@ -269,7 +284,7 @@
             return
           }
           this.canSave = false
-          const {itemName,casesId,itemCode,remark,levelNo,precond,hospitalModuleId} = this.form
+          const {itemName,casesId,itemCode,remark,levelNo,precond,hospitalModuleId,ruleType} = this.form
           if(!itemName){
             this.$message({
               message:"请输入条目名称",
@@ -333,6 +348,7 @@
             id:this.id,
             name:itemName,
             modeId: hospitalModuleId,
+            ruleType:ruleType,
             remark: remark,
             code: itemCode,
             precond:precond,

+ 56 - 5
src/components/recordInput/RecordItemList.vue

@@ -5,12 +5,28 @@
                 <el-form-item label="条目名称:">
                    <el-input size="mini" v-model.trim="filter.itemName" placeholder="条目名称" clearable></el-input>
                </el-form-item>
+                <el-form-item label="条目类型:">
+                    <!-- <el-input size="mini" v-model.trim="filter.module" placeholder="所属模块" clearable></el-input> -->
+                    <el-select v-model="filter.ruleType"
+                               clearable
+                               filterable
+                               placeholder="请选择条目类型"
+                               size="mini"
+                               class="long-item">
+                        <el-option
+                                v-for="item in ruleTypeList"
+                                :key="item.val"
+                                :label="item.name"
+                                :value="item.val">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
                 <el-form-item label="所属模块:">
                    <!-- <el-input size="mini" v-model.trim="filter.module" placeholder="所属模块" clearable></el-input> -->
-                   <el-select v-model="filter.module"  
-                      clearable 
-                      filterable 
-                      placeholder="请选择模块" 
+                   <el-select v-model="filter.module"
+                      clearable
+                      filterable
+                      placeholder="请选择模块"
                       size="mini">
                     <el-option
                       v-for="item in caseLIst"
@@ -50,6 +66,13 @@
                         label="条目名称"
                 >
                 </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="ruleType"
+                        label="条目类型"
+                        :formatter="typeFormatter"
+                >
+                </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         prop="casesName"
@@ -114,8 +137,10 @@
         list: [],
         searched: false,
         caseLIst:[],
+        ruleTypeList:[],
         filter:{
           itemName:'',
+          ruleType:'',
           module:'',
           level:'',
           itemCode:''
@@ -129,6 +154,7 @@
     },
     created() {
       const that = this;
+      this.getRuleTypeModule();
       //返回时避免参数未赋值就获取列表
       setTimeout(function(){
         that.getDataList();
@@ -151,6 +177,10 @@
       })
     },
     methods: {
+      typeFormatter(row, column, cellValue){
+        const li = this.ruleTypeList.filter((it)=>it.val===""+cellValue);
+        return li[0]?li[0].name:"";
+      },
      handleSizeChange(val){
         this.pageSize = val;
         this.currentPage = utils.getCurrentPage(this.currentPage, this.total, this.pageSize);
@@ -162,7 +192,9 @@
       AddRecordItem(){
          const pam = this.searched?{currentPage:this.currentPage,
           pageSize:this.pageSize,
+          ruleTypeList:this.ruleTypeList,
           filter:this.filter}:{currentPage:this.currentPage,
+           ruleTypeList:this.ruleTypeList,
           pageSize:this.pageSize};
         this.$router.push({
           name:'AddRecordItem',
@@ -193,6 +225,20 @@
           }
         })
       },
+      getRuleTypeModule(){
+        return api.getRuleTypes({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.ruleTypeList = result.data[14];
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
       getDataList(isTurnPage) {
         const param = this.getFilterItems(isTurnPage);
         this.searched = true;
@@ -232,9 +278,11 @@
           const pam = this.searched ? {
             currentPage: this.currentPage,
             pageSize:this.pageSize,
+            ruleTypeList:this.ruleTypeList,
             filter: this.filter,
           } : {
             currentPage: this.currentPage,
+            ruleTypeList:this.ruleTypeList,
             pageSize:this.pageSize};
           this.$router.push({
             name:'AddRecordItem',
@@ -255,6 +303,7 @@
         };
         const param = {
           casesId:this.filter.module,
+          ruleType:this.filter.ruleType,
           code: this.filter.itemCode.trim(),
           levelNo:this.filter.level.trim(),
           name: this.filter.itemName.trim(),
@@ -304,7 +353,9 @@
 
 <style lang="less">
     @import "../../less/admin.less";
-    
+    .demo-form-inline .long-item .el-input--mini .el-input__inner{
+        width: 124px;
+    }
     .delete{
         color: red;
     }