Parcourir la source

Merge remote-tracking branch 'origin/AIControlV1.3.1' into test

# Conflicts:
#	src/api/config.js
#	src/api/qualityControl.js
#	src/routes.js
zhouna il y a 5 ans
Parent
commit
8eee1215a4

+ 5 - 0
src/api/config.js

@@ -325,6 +325,11 @@ export default {
       'getQcEntryTypeByHospital': '/api/mrman/qc/qcEntryType/getTypeByHospital', //质控条目与质控类型关系--根据医院获取质控类型列表
       'getQcEntryTypeIndex': '/api/mrman/qc/qcEntryType/index', //质控条目与质控类型关系--根据医院和条目检索未被选择的质控类型
       'saveQcEntryType': '/api/mrman/qc/qcEntryType/saveOrUpdate', //质控条目与质控类型关系--保存
+      'getStdList':'/api/mrman/stdBehospitalInfo/getSthospitalInfoPage' ,//标准病例列表
+      'delStdRecord':'/api/mrman/stdBehospitalInfo/clearSthospitalInfo',//删除标准病例
+      'updateStdRecord':'/api/mrman/stdBehospitalInfo/updataSthospitalInfo',//更新标准病例
+      'findStdRecord':'/api/mrman/stdBehospitalInfo/findSthospitalInfo',//查找标准病例
+      'getStdDeptList':'/api/mrman/medBehospitalInfo/findhospitalDept', //获取科室列表
       'getTestItems':'/api/mrman/stdBehospitalInfo/getStatistic',     //获取病例条目统计
       'addTask':'/api/mrman/stdMissionDetail/addMissionDetail',   //添加任务
       'getTaskList':'/api/mrman/stdMissionInfo/getMissionInfoPage',   //获取任务列表

+ 30 - 15
src/api/qualityControl.js

@@ -54,6 +54,36 @@ export default {
   getQcTypeItem(param){ //获取质控条目
     return axios.post(urls.getQcTypeItem,param);
   },
+  getQcEntryTypeList(param){ //质控条目与质控类型关系--分页列表
+    return axios.post(urls.getQcEntryTypeList,param);
+  },
+  getQcEntryTypeDetail(param){ //质控条目与质控类型关系--根据entryId和医院id返回内容
+    return axios.post(urls.getQcEntryTypeDetail,param);
+  },
+  getQcEntryTypeByHospital(param){ //质控条目与质控类型关系--根据医院获取质控类型列表
+    return axios.post(urls.getQcEntryTypeByHospital,param);
+  },
+  getQcEntryTypeIndex(param){ //质控条目与质控类型关系--根据医院和条目检索未被选择的质控类型
+    return axios.post(urls.getQcEntryTypeIndex,param);
+  },
+  saveQcEntryType(param){ //质控条目与质控类型关系--保存
+    return axios.post(urls.saveQcEntryType,param);
+  },
+  getStdList(param){//获取标准病例列表
+    return axios.post(urls.getStdList,param);
+  },
+  delStdRecord(param){//删除标准病例
+    return axios.post(urls.delStdRecord,param);
+  },
+  updateStdRecord(param){//更新标准病例
+    return axios.post(urls.updateStdRecord,param);
+  },
+  findStdRecord(param){//查找标准病例
+    return axios.post(urls.findStdRecord,param);
+  },
+  getStdDeptList(param){//更新标准病例
+    return axios.post(urls.getStdDeptList,param);
+  },
   getTestItems(param){
     return axios.post(urls.getTestItems,param);
   },
@@ -90,19 +120,4 @@ export default {
   autoTest(param){
     return axios.post(urls.autoTest,param);
   },
-  getQcEntryTypeList(param){ //质控条目与质控类型关系--分页列表
-    return axios.post(urls.getQcEntryTypeList,param);
-  },
-  getQcEntryTypeDetail(param){ //质控条目与质控类型关系--根据entryId和医院id返回内容
-    return axios.post(urls.getQcEntryTypeDetail,param);
-  },
-  getQcEntryTypeByHospital(param){ //质控条目与质控类型关系--根据医院获取质控类型列表
-    return axios.post(urls.getQcEntryTypeByHospital,param);
-  },
-  getQcEntryTypeIndex(param){ //质控条目与质控类型关系--根据医院和条目检索未被选择的质控类型
-    return axios.post(urls.getQcEntryTypeIndex,param);
-  },
-  saveQcEntryType(param){ //质控条目与质控类型关系--保存
-    return axios.post(urls.saveQcEntryType,param);
-  },
 }

+ 82 - 287
src/components/qualityControl/AddStandardRecord.vue

@@ -1,142 +1,74 @@
 <template>
     <div>
-        <crumbs :title="title" :param="$route.params" linkTo="BaseField"></crumbs>
+        <crumbs :title="title" :param="$route.params" linkTo="StandardRecord"></crumbs>
         <div class="contents">
             <div class="content">
             <el-form ref="form" :label-position="labelPosition" label-width="125px" :model="form" :rules="rules">
                 <el-form-item label="所属医院:" prop="hospitalId">
                     <el-select v-model="form.hospitalId"
                                placeholder="请选择"
-                                 @change="changeHospital"
                                size="small">
                         <el-option
                                 v-for="item in hisTypes"
-                                :key="item.val"
+                                :key="item.id"
                                 :label="item.name"
-                                :value="Number(item.val)">
+                                :value="item.id">
                         </el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="病人住院序号:" prop="hospitalNo">
-                    <el-select v-model="hospitalNo" filterable placeholder="请选择">
-                        <el-option
-                        v-for="item in hospitalNoList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                        </el-option>
-                    </el-select>  <span>搜索</span>
+                <el-form-item label="病人住院序号:" prop="behospitalCode">
+                    <el-input size="mini" v-model.trim="form.behospitalCode" placeholder="病人住院序号" clearable style="width: 200px;"></el-input>
+                    <el-button size="mini" @click="searchList" style="margin-left: 20px;height: 30px;">搜索</el-button>
                 </el-form-item>
                 <div>
                     <el-table
                     :data="medicalRecordlist"
                     border
                     style="width: 100%">
-                <el-table-column
+                <!--<el-table-column
                         :resizable = "false"
                         label="所属医院"
-                        prop="id"
+                        prop="hospitalName"
                         >
-                </el-table-column>
+                </el-table-column>-->
                 <el-table-column
                         :resizable = "false"
-                        prop="name"
+                        prop="behospitalCode"
                         label="病人住院序号"
                         width="180">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
-                        label="病案号">
-                </el-table-column>
-                
-                <el-table-column
-                        :resizable = "false"
-                        prop="hospitalId"
-                        :formatter="hisFormatter"
+                        prop="name"
                         label="病人姓名">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="sex"
                         label="性别">
                 </el-table-column>
-                <el-table-column
-                        :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
-                        label="年龄">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="behospitalDate"
+                        :formatter="dateFormatter"
                         label="入院日期">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="leaveHospitalDate"
+                        :formatter="dateFormatter"
                         label="出院日期">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="gmtModified"
+                        :formatter="dateFormatter"
                         label="加入时间">
                 </el-table-column>
             </el-table>
-                    
                 </div>
-                <!-- <el-form-item label="所属模块:" prop="modeId">
-                    <el-select v-model="form.modeId"
-                               placeholder="请选择"
-                               @change="changeModule"
-                               size="small">
-                        <el-option
-                                v-for="item in fieldTypes"
-                                :key="item.val"
-                                :label="item.name"
-                                :value="Number(item.val)">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="备注:" prop="tagName">
-                    <el-input type="text" placeholder="请输入备注" v-model.trim="form.tagName"></el-input>
-                </el-form-item>
-                <el-form-item label="显示名称:" prop="name">
-                    <el-input type="text" placeholder="请输入显示名称" v-model.trim="form.name"></el-input>
-                </el-form-item>
-                <el-form-item label="取值字段:" prop="value">
-                    <el-input type="text" placeholder="请输入取值字段" v-model.trim="form.val"></el-input>
-                    
-                </el-form-item>
-                <el-form-item label="关联缺陷条目:" prop="casesEntryIds">
-                    <el-select filterable
-                               multiple
-                               v-model="casesEIds"
-                               placeholder="请选择"
-                               class="big-select"
-                               size="small">
-                        <el-option
-                                v-for="item in flawList"
-                                :key="item.id"
-                                :label="item.name"
-                                :value="String(item.id)">
-                        </el-option>
-                    </el-select>
-                    
-                </el-form-item>
-                <el-form-item>
-                    <el-checkbox v-model="form.monoLine" :true-label="Number(1)" :false-label="Number(0)">独占一行</el-checkbox>
-                    <el-checkbox v-model="form.addLine" :true-label="Number(1)" :false-label="Number(0)">内容换行</el-checkbox>
-                    <el-checkbox v-model="form.position" :true-label="Number(1)" :false-label="Number(0)">靠右显示</el-checkbox>
-                    <el-checkbox v-model="form.bold" :true-label="Number(1)" :false-label="Number(0)">内容加粗</el-checkbox>
-                    <el-checkbox v-model="form.retract" :true-label="Number(1)" :false-label="Number(0)">内容缩进</el-checkbox>
-                </el-form-item> -->
-                <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn('form')">确定</el-button>
+                <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn">确定</el-button>
             </el-form>
         </div>
         </div>
@@ -156,236 +88,91 @@
         title:'标准病历-新增',
         casesEIds:'',
         form:{
-          modeId:"",
           hospitalId:"",
-          hospitalNo:"", //病人住院序号
-          name:'',
-          val:'',
-          tagName:'',
-          monoLine:0,
-          addLine:0,
-          bold:0,
-          position:0,
-          retract:0,
-          casesEntryIds:'',
-          quesCasesEntryVOList:[]
+          behospitalCode:"", //病人住院序号
         },
         id:null,
         rules:{
           hospitalId:{ required: true, message: '请选择所属医院', trigger: ['blur', 'change']},
-          hospitalNo:{ required: true, message: '请选择病人住院序号', trigger: ['blur', 'change']},
+          behospitalCode:{ required: true, message: '请输入病人住院序号', trigger: ['blur', 'change']},
           /*name:[{ required: true, message: '请输入显示名称',trigger: ['blur', 'change'] }],*/
         },
         copy:null,
-        saveDisable: false,  //保存按钮禁止点击
+        saveDisable: true,  //保存按钮禁止点击
         flawList:[],
         hisTypes:[],
-        hospitalNoList:[], //住院序号列表
-        fieldTypes:[],
       }
     },
     created(){
-      this.getAllTypes();
-      let {isCopy,info} = this.$route.params;
-      this.copy=isCopy;
-      if(info){
-        const infoCopy =  Object.assign({},info);
-        isCopy?infoCopy.id="":"";
-        // infoCopy.casesEntryIds?this.casesEIds = infoCopy.casesEntryIds.split(","):'';
-        let tmpArr = [],tmpArr1 = []
-        for(let i = 0;i < infoCopy.quesCasesEntryDTOList.length;i++){
-          let obj = {
-            name:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
-            casesEntryName:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
-            id:infoCopy.quesCasesEntryDTOList[i].casesEntryId,
-            casesEntryId:infoCopy.quesCasesEntryDTOList[i].casesEntryId
-          }
-          tmpArr.push(""+infoCopy.quesCasesEntryDTOList[i].casesEntryId)
-          tmpArr1.push(obj)
-        }
-        infoCopy.quesCasesEntryDTOList?this.casesEIds = tmpArr:'';
-        infoCopy.quesCasesEntryVOList = [...tmpArr1];
-        this.title=isCopy?"字段映射维护-复制字段映射":'字段映射维护-修改字段映射';
-        this.form = infoCopy;
-        this.getQcFlawList(tmpArr1);
-      }else{
-        let hospitalId = localStorage.getItem("qcSelectHospital")&&Number(localStorage.getItem("qcSelectHospital")) || "";
-        let modeId = localStorage.getItem("qcSelectModule")&&Number(localStorage.getItem("qcSelectModule"))  || "";
-    
-        let qcSelecttModuleNme = localStorage.getItem("qcSelectModuleName");
-        this.form.hospitalId = hospitalId
-        this.form.modeId = modeId
-        this.form.tagName = qcSelecttModuleNme
-        this.getQcFlawList()
+      let {hisTypes} = this.$route.params;
+      if(!hisTypes){
+        this.getHisTypes();
+        return;
       }
+      this.hisTypes = hisTypes;
     },
     watch:{
-      "casesEIds":function(val){
-        this.form.casesEntryIds = val.join(",");
-        let tmp = []
-        for(let i = 0;i < val.length;i++){
-          let obj = {
-            casesEntryId:val[i],
-            id:val[i],
-          }
-          tmp.push(obj)
-        }
-        this.form.quesCasesEntryVOList = tmp
-      }
     },
     methods:{
-      changeHospital(val){
-         localStorage.setItem("qcSelectHospital",val);
-        const mName=localStorage.getItem("qcSelectModuleName");
-        const qcSelecttModuleNme  = this.hisTypes.find(item => Number(item.val) === val).name + '-'+(mName||"");
-        localStorage.setItem("qcSelectModuleName",qcSelecttModuleNme);
-        this.getQcFlawList()
-        this.form.modeId=""
-        this.form.quesCasesEntryDTOList =[]
-        this.casesEIds=[]
-      },
-      changeModule(val){
-         localStorage.setItem("qcSelectModule",val);
-         const shis=localStorage.getItem("qcSelectHospital");
-         const qcSelecttModuleNme  = this.hisTypes.find(item => +item.val === +shis).name + '-'+this.fieldTypes.find(item => Number(item.val) === val).name + '-';
-         this.form.tagName = qcSelecttModuleNme
-          localStorage.setItem("qcSelectModuleName",qcSelecttModuleNme);
-        this.getQcFlawList()
-         this.form.quesCasesEntryDTOList =[]
-        this.casesEIds=[]
-      },
-      getQcFlawList(val){
-        const { hospitalId, modeId } = this.form
-        if(hospitalId === '' || modeId === ''){
-          return
-        }
-        const param={modeId:modeId,hospitalId:hospitalId,name:"",size:500};
-        api.getQcFlawList(param).then((res)=>{
-          if(res.data.code==="0") {
-            const data = res.data.data;
-            this.flawList = []
-            this.flawList = data.records;
-            /*let info = this.$route.params.info;
-            if(info){
-              const infoCopy =  Object.assign({},this.form);
-
-              
-              for(let i = 0;i < infoCopy.quesCasesEntryDTOList.length;i++){
-                let obj = {
-                  name:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
-                  casesEntryName:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
-                  id:infoCopy.quesCasesEntryDTOList[i].casesEntryId,
-                  casesEntryId:infoCopy.quesCasesEntryDTOList[i].casesEntryId
-              }
-              this.flawList.unshift(obj)
-            }
-            }*/
-          }else{
-            this.warning("获取缺陷条目失败");
-          }
-        });
-      },
-      getAllTypes(){
-        if(localStorage.getItem("qcModuleTypes")){
-          this.hisTypes = JSON.parse(localStorage.getItem("qcHospitalTypes"));
-          this.fieldTypes = JSON.parse(localStorage.getItem("qcModuleTypes"));
-          return ;
-        }
-        //获取枚举信息
-        api.getQcTypes().then((res)=>{
+      getHisTypes(){
+        api.getRecordHopitalList().then((res)=>{
           if(res.data.code==="0"){
             const data = res.data.data;
-            localStorage.setItem("qcFieldTypes",JSON.stringify(data[11]));
-            localStorage.setItem("qcModuleTypes",JSON.stringify(data[12]));
-            localStorage.setItem("qcHospitalTypes",JSON.stringify(data[13]));
+            this.hisTypes =data;
           }else{
-            this.warning("获取枚举信息失败");
+            this.warning("获取医院列表失败");
           }
         });
       },
-      comfirn(form){
-        /*if(!this.form.name.trim() || !this.form.refreshTime.trim()){
-          this.$message({
-            message:'请填写相关内容',
-            type:'warning'
-          });
-          return
-        }*/
-        const {hospitalId,modeId,tagName} = this.form
+      dateFormatter(item,prop,it){
+        return it.substr(0,10);
+      },
+      searchList(){
+        const { hospitalId, behospitalCode } = this.form;
         if(!hospitalId){
           this.warning("请选择所属医院");
           return
         }
-         if(!modeId){
-          this.warning("请选择所属模块");
-          return
-        }
-         if(!tagName){
-          this.warning("请输入备注");
+        if(!behospitalCode){
+          this.warning("请输入病人住院号");
           return
         }
-        // this.$refs[form].validate((valid) => {
-          // if (valid) {
-            const { val } = this.form
-            let regex = /(?<=【)(.+?)(?=】)/g;
-             let regex2 = /[^\u4e00-\u9fa5|a-zA-Z0-9]+/
-            const matchVal = val.match(regex) ||[]
-            let illegalCode = false
-            for(let i = 0; i < matchVal.length; i++){
-              if(regex2.test(matchVal[i])){
-                illegalCode = true
-              }
-            }
-            if(illegalCode){
-              this.warning("取值字段【】含有非法字符")
-              return;
-            }
-
-            if(this.form.id){//修改
-              const param = Object.assign({},this.form);
-              this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
-              api.addFieldMatch({questionWrapper:param}).then((res)=>{
-                if(res.data.code==0){
-                  this.$message({
-                    message:"修改成功",
-                    type:'success'
-                  });
-                  //返回带搜索条件的首页
-                  this.$router.push({
-                    name: 'BaseField',
-                    params: Object.assign({}, this.$route.params, {currentPage: 1})
-                  });
-                }else{
-                  this.$message({
-                    message:res.data.msg,
-                    type:'warning'
-                  });
-                }
-                this.saveDisable = false
-              })
-            }else{//添加
-              const params = Object.assign({},this.form);
-              this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
-              api.addFieldMatch({questionWrapper:params}).then((res)=>{
-                if(res.data.code==0){
-                  this.$message({
-                    message:"添加成功",
-                    type:'success'
-                  });
-                  this.$router.push({name: 'BaseField'});
-                }else{
-                  this.$message({
-                    message:res.data.msg,
-                    type:'warning'
-                  });
-                }
-                this.saveDisable = false
-              })
+        const param={ hospitalId, behospitalCode };
+        api.findStdRecord(param).then((res)=>{
+          if(res.data.code==="0") {
+            const data = res.data.data;
+            this.medicalRecordlist = [data];
+            if(data.status===1){
+              this.saveDisable=true;
+              this.warning("病历此前已被添加");
+            }else{
+              this.saveDisable=false;
             }
-          // } else {
-          //   return false;
-          // }
-        // });
+          }else{
+            this.saveDisable=true;
+            this.warning(res.data.msg);
+          }
+        });
+      },
+      comfirn(){
+        const {hospitalId,behospitalCode} = this.form;
+        const params = Object.assign({},this.form);
+        this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+        api.updateStdRecord(params).then((res)=>{
+          if(res.data.code==0){
+            this.$message({
+              message:"添加成功",
+              type:'success'
+            });
+            this.$router.push({name: 'StandardRecord'});
+          }else{
+            this.$message({
+              message:res.data.msg,
+              type:'warning'
+            });
+          }
+          this.saveDisable = false;
+        })
       },
       warning(msg, type,time) {
           this.$message({
@@ -409,7 +196,7 @@
 <style lang="less" scoped>
     .content {
         background: #fff;
-        padding: 20px 20px 50px;
+        padding: 20px 20px 80px;
         color: #545455;
         min-width: 980px;
         position: relative;
@@ -421,6 +208,7 @@
               .el-input__inner{
                     height: 30px;
                     line-height: 30px;
+                  width: 200px;
               }
             }
     .el-form-item{
@@ -429,4 +217,11 @@
     .el-select.big-select{
         width: 360px;
     }
+    .disclButn{
+        left: 49%;
+        bottom: 20px;
+    }
+    .el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover{
+        color: #fff;
+    }
 </style>

+ 80 - 96
src/components/qualityControl/StandardRecord.vue

@@ -1,16 +1,21 @@
 <template>
     <div class="standardRecordWrapper">
         <crumbs title="标准病历维护">
-            <el-form :inline="true" class="demo-form-inline">
+            <el-form :inline="true" class="demo-form-inline" style="max-width: 870px;text-align: right;">
+                <el-form-item label="所属医院:">
+                    <el-select size="mini" v-model="filter.hospitalId" placeholder="所属医院" clearable>
+                        <el-option v-for="item in hisTypes" :label="item.name" :value="item.id" :key="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
               <el-form-item label="病人住院序号:">
-                    <el-input size="mini" v-model.trim="filter.moduleId" placeholder="病人住院序号" clearable></el-input>
+                    <el-input size="mini" v-model.trim="filter.behospitalCode" placeholder="病人住院序号" clearable></el-input>
                 </el-form-item>
                  <el-form-item label="病人姓名:">
-                    <el-input size="mini" v-model.trim="filter.modeName" placeholder="病人姓名" clearable></el-input>
+                    <el-input size="mini" v-model.trim="filter.name" placeholder="病人姓名" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="科室:">
-                     <el-select size="mini" v-model.trim="filter.modeId" @change="getValue"  placeholder="请选择科室" clearable>
-                        <el-option v-for="item in moduleList" :label="item.name" :value="item.val" :key="item.id" ></el-option>
+                     <el-select size="mini" v-model.trim="filter.deptId" @change="getValue"  placeholder="请选择科室" clearable>
+                        <el-option v-for="item in moduleList" :label="item.deptName" :value="item.deptId" :key="item.deptId" ></el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="出院日期:">
@@ -47,56 +52,47 @@
                 <el-table-column
                         :resizable = "false"
                         label="所属医院"
-                        prop="id"
+                        prop="hospitalName"
                         >
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="name"
+                        prop="behospitalCode"
                         label="病人住院序号"
                         width="180">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="deptName"
                         label="科室">
                 </el-table-column>
                 
                 <el-table-column
                         :resizable = "false"
-                        prop="hospitalId"
-                        :formatter="hisFormatter"
+                        prop="name"
                         label="病人姓名">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="sex"
                         label="性别">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
-                        label="年龄">
-                </el-table-column>
-                <el-table-column
-                        :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="behospitalDate"
+                        :formatter="dateFormatter"
                         label="入院日期">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="leaveHospitalDate"
+                        :formatter="dateFormatter"
                         label="出院日期">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
-                        prop="modeId"
-                        :formatter="moduleFormatter"
+                        prop="gmtModified"
+                        :formatter="dateFormatter"
                         label="加入时间">
                 </el-table-column>
                 <el-table-column
@@ -104,9 +100,7 @@
                         prop="operate"
                         label="操作">
                     <template slot-scope="scope">
-                        <el-button  @click="modifyIndeptTag(scope.row, 'modify')" type="text" size="small">修改</el-button>
-                        <span style="margin:0 3px;">|</span>
-                        <el-button @click="modifyIndeptTag(scope.row, 'copy')" class="text" type="text" size="small">复制</el-button>
+                        <el-button  @click="modifyStd(scope.row)" type="text" size="small">更新</el-button>
                         <span style="margin:0 3px;">|</span>
                         <el-button @click="showDelDialog(scope.row)" class="delete" type="text" size="small">删除</el-button>
                     </template>
@@ -134,14 +128,14 @@
     data: function() {
       return {
         list: [],
-        hospitalList: [],
+        hisTypes:[],
         moduleList:[],
         searched: false,
         filter: {
-          modeName: '', //模板名称
-          moduleId:null, //模板Id
-          modeId: '',//所属模块
-          hospitalName: '', //所属医院
+          hospitalId:'',
+          behospitalCode: '',
+          deptId:'',
+          name: '',
           date1:"",
           date2:"",
         },
@@ -155,9 +149,7 @@
     created() {
       const _this=this;
       setTimeout(function(){
-        _this.getAllTypes().then(()=>{
-          _this.getDataList()
-        })
+        _this.getAllTypes()
       },100);
 
     },
@@ -177,35 +169,27 @@
       })
     },
     methods: {
-      moduleFormatter(row, column, cellValue){
-        const it = this.moduleList.find(item => item.val == cellValue);
-        return it?it.name:'';
-      },
-      hisFormatter(row, column, cellValue){
-        const it = this.hospitalList.find(item => item.val == cellValue);
-        return it?it.name:'';
+      dateFormatter(item,prop,it){
+        return it.substr(0,10);
       },
       getAllTypes(){
-          if(localStorage.getItem("qcModuleTypes")){
-              this.hospitalList = JSON.parse(localStorage.getItem("qcHospitalTypes"));
-              this.moduleList = JSON.parse(localStorage.getItem("qcModuleTypes"));
-              return new Promise(function(resolve, reject){
-                  resolve()
-              });
+        api.getRecordHopitalList().then((res)=>{
+          if(res.data.code==="0"){
+            const data = res.data.data;
+            this.hisTypes =data;
+          }else{
+            this.warning("获取医院列表失败");
           }
-          //获取枚举信息
-          return api.getQcTypes().then((res)=>{
-              if(res.data.code==="0"){
-                  const data = res.data.data;
-                  localStorage.setItem("qcFieldTypes",JSON.stringify(data[11]));
-                  localStorage.setItem("qcModuleTypes",JSON.stringify(data[12]));
-                  localStorage.setItem("qcHospitalTypes",JSON.stringify(data[13]));
-                  this.hospitalList = JSON.parse(localStorage.getItem("qcHospitalTypes"));
-                  this.moduleList = JSON.parse(localStorage.getItem("qcModuleTypes"));
-              }else{
-                  this.warning("获取枚举信息失败");
-              }
-          });
+        });
+        api.getStdDeptList({}).then((res)=>{
+            if(res.data.code==="0"){
+                const data = res.data.data;
+                this.moduleList=data;
+            }else{
+                this.warning("获取科室列表失败");
+            }
+        });
+        this.getDataList();
       },
       handleSizeChange(val){
         this.pageSize = val;
@@ -224,13 +208,9 @@
             spinner: 'el-icon-loading',
             background: 'rgba(0, 0, 0, 0.7)'
         });
-        api.getQCTemplist(param).then((res) => {
+        api.getStdList(param).then((res) => {
           loading.close()
           let list = res.data.data.records
-          /*for(let i = 0; i < list.length; i++){
-            list[i].hospitalId = this.hospitalList.find(item => item.val == list[i].hospitalId).name
-            list[i].modeId  = this.moduleList.find(item => item.val == list[i].modeId).name
-          }*/
           this.list = list;
           this.total = res.data.data.total;
           if(this.inCurrentPage!==undefined){
@@ -247,29 +227,20 @@
         const pam = this.searched ? {
           currentPage: this.currentPage,
           pageSize:this.pageSize,
-          filter: this.filter
-        } : {currentPage: this.currentPage,pageSize:this.pageSize};
+          filter: this.filter,
+          hisTypes:this.hisTypes
+        } : {currentPage: this.currentPage,pageSize:this.pageSize,hisTypes:this.hisTypes};
         this.$router.push({
           name: 'AddStandardRecord',
           params: pam
         })
       },
-      modifyIndeptTag(row, type) {
-        api.getQCTempDetail({moduleId:row.id}).then((res)=>{
+      modifyStd(row) {
+        api.updateStdRecord({behospitalCode:row.behospitalCode,hospitalId:row.hospitalId}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
-            const item = Object.assign({},row,data);
-            const pam = this.searched ? {
-              currentPage: this.currentPage,
-              filter: this.filter
-            } : {currentPage: this.currentPage};
-            if(type == 'modify') {
-              this.$router.push({name: 'AddQualityControlTemp', params: Object.assign(pam, {isEdit: true, data: item})});
-            } else if( type == 'copy') {
-              this.$router.push({name: 'AddQualityControlTemp', params: Object.assign(pam, {isCopy: true, data: item})});
-            } else {
-                return
-            }
+            this.warning(res.data.msg || '更新成功','success');
+            this.getDataList();
           }else{
             this.$message({
               message: msg,
@@ -290,11 +261,12 @@
       },
       clearFilter(){
         this.filter={
-          name: "",
-          modeId: "",
-          hospitalName: "",
-          id:"",
-
+          hospitalId:'',
+          behospitalCode: '',
+          deptId:'',
+          name: '',
+          date1:"",
+          date2:"",
         };
       },
       getFilterItems(isTurnPage) {
@@ -302,14 +274,16 @@
         if(isTurnPage&&!this.searched){
           this.clearFilter();
         };
-        const {modeName, modeId, hospitalName,moduleId} = this.filter
+        const {hospitalId,behospitalCode, deptId, name,date1,date2} = this.filter;
         const param = {
-          name: modeName,
           current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
-          modeId: modeId,
-          id:moduleId,
-          hospitalId: hospitalName
+          hospitalId,
+          deptId,
+          name,
+          behospitalCode,
+          leaveHosDateEnd:date2,
+          leaveHosDateStart: date1
         };
         return param;
       },
@@ -337,10 +311,11 @@
       },
       showDelDialog(row){
         const param = {
-          "ids": row.id,
+          "behospitalCode": row.behospitalCode,
+          "hospitalId":row.hospitalId
         }
-        this.showConfirmDialog('是否删除该模板?',()=>{
-          api.delQCTemp(param).then((res)=>{
+        this.showConfirmDialog('是否删除该病历?',()=>{
+          api.delStdRecord(param).then((res)=>{
             if(res.data.code=='0'){
               if(!this.searched){
                 //未点确认时清空搜索条件
@@ -396,4 +371,13 @@
         line-height: 28px;
     }
   }
+  div.container{
+      height: 90px!important;
+  }
+  .standardRecordWrapper>.contents{
+      padding:120px 20px 0;
+  }
+  .standardRecordWrapper .el-form-item{
+      margin-bottom: 0;
+  }
 </style>

+ 3 - 3
src/routes.js

@@ -343,12 +343,12 @@ export default [
       {path: 'LT-BLZK-PLGLBLTM',name:'ManageItemBatch', component: ManageItemBatch},//病例条目
       {path:'LT-ZKYMSJWH-ZKLXWH',name:'QCTypeMang',component: QCTypeMang},  //质控类型
       {path:'LT-ZKYMSJWH-TJZKLXWH',name:'AddQcType',component: AddQcType},  //添加质控类型
+      {path:'LT-ZKYMSJWH-ZDHCSTJ',name:'AutoTestList',component:AutoTestList},//自动化测试统计
+      {path:'LT-ZKYMSJWH-RWLB',name:'AutoTestTask',component:AutoTestTask},//自动化测试统计-转为任务
+      {path:'LT-ZKYMSJWH-ZDHCSXQ',name:'TaskDetail',component:TaskDetail},//自动化测试统计-转为任务-详情
       {path:'LT-ZKYMSJWH-BZBL',name:'StandardRecord',component: StandardRecord},  //标准病历
       {path:'LT-ZKYMSJWH-TJBZBL',name:'AddStandardRecord',component: AddStandardRecord},  //添加标准病历
 
-      {path:'LT-ZKYMSJWH-ZDHCSTJ',name:'AutoTestList',component:AutoTestList},//自动化测试统计
-      {path:'LT-ZKYMSJWH-ZHWRW',name:'AutoTestTask',component:AutoTestTask},//自动化测试统计-转为任务
-      {path:'LT-ZKYMSJWH-ZDHCSXQ',name:'TaskDetail',component:TaskDetail},//自动化测试统计-转为任务-详情
     ]
   }
 ]