浏览代码

质控条目终末运行分离

zhangxc 5 年之前
父节点
当前提交
175a9ea6ae
共有 3 个文件被更改,包括 98 次插入19 次删除
  1. 52 12
      src/components/recordInput/AddRecordItem.vue
  2. 44 5
      src/components/recordInput/ManageItemBatch.vue
  3. 2 2
      vue.config.js

+ 52 - 12
src/components/recordInput/AddRecordItem.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="addRecordItemWrapper">
-        <crumbs :title="title" :param="$route.params"  minWidth="1120px" linkTo="RecordItemList"></crumbs>
+        <crumbs :title="title" :param="$route.params"  minWidth="1370px" linkTo="RecordItemList"></crumbs>
         <div class="contents">
             <div class="content">
                 <el-form :rules="rules" ref="form" :label-position="labelPosition" label-width="125px" class="add-record-form" :model="form">
@@ -115,7 +115,7 @@
                             ref="multipleTable"
                             :data="tableData"
                             tooltip-effect="light"
-                            style="width: 100%"
+                            style="width: 100%; minWidth:1200px"
                             @selection-change="handleSelectionChange">
                             <el-table-column
                               type="selection"
@@ -129,12 +129,20 @@
                             </el-table-column>
                             <el-table-column
                               prop="name"
-                              label="扣分值"
+                              label="终末扣分值"
                               width="120">
                                  <template slot-scope="scope">
                                   <el-input  class="scoreInp" v-model.trim="scope.row.value"  oninput="if(value.length>5)value=value.slice(0,5)" type="number"   placeholder=""></el-input>
                                  </template>
                             </el-table-column>
+                            <el-table-column
+                              prop="name"
+                              label="运行扣分值"
+                              width="120">
+                                 <template slot-scope="scope">
+                                  <el-input  class="scoreInp" v-model.trim="scope.row.scoreRun"  oninput="if(value.length>5)value=value.slice(0,5)" type="number"   placeholder=""></el-input>
+                                 </template>
+                            </el-table-column>
                             <el-table-column
                               prop="address"
                               label="提示信息"
@@ -146,20 +154,29 @@
                             </el-table-column>
                             <el-table-column
                               prop="address"
-                              label="是否启用"
+                              label="单项否决"
+                              width="120"
+                              show-overflow-tooltip>
+                               <template slot-scope="scope">
+                                   <el-checkbox v-model="scope.row.isReject" :checked="scope.row.isReject=='1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
+                                </template>
+                            </el-table-column>
+                             <el-table-column
+                              prop="address"
+                              label="终末质控"
                               width="120"
                               show-overflow-tooltip>
                                <template slot-scope="scope">
                                    <el-checkbox v-model="scope.row.isUsed" :checked="scope.row.isUsed=='1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
                                 </template>
                             </el-table-column>
-                            <el-table-column
+                             <el-table-column
                               prop="address"
-                              label="单项否决"
+                              label="运行质控"
                               width="120"
                               show-overflow-tooltip>
                                <template slot-scope="scope">
-                                   <el-checkbox v-model="scope.row.isReject" :checked="scope.row.isReject=='1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
+                                   <el-checkbox v-model="scope.row.isUsedRun" :checked="scope.row.isUsedRun=='1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
                                 </template>
                             </el-table-column>
                           </el-table>
@@ -294,7 +311,9 @@
                 value: '',
                 tipMsg:'',
                 isUsed: '0',
-                isReject:'0'
+                isReject:'0',
+                scoreRun:'',
+                isUsedRun:'0'
               })
             }
             for(let i = 0; i < this.selectHospital.length; i++){
@@ -304,7 +323,9 @@
                   item.value = selectItem.score
                   item.tipMsg = selectItem.msg
                   item.isUsed = selectItem.isUsed
+                  item.isUsedRun = selectItem.isUsedRun
                   item.isReject = selectItem.isReject
+                  item.scoreRun =selectItem.scoreRun
                   this.multipleSelection.push(item)
               }
             
@@ -401,17 +422,34 @@
             const item = this.multipleSelection[i]
             if(item.value ===''){
               this.$message({
-                message:"请填写所选医院扣分值",
+                message:"请填写所选医院终末扣分值",
+                type:'warning',
+                showClose: true
+              })
+             return
+            }
+            if(item.scoreRun ===''){
+              this.$message({
+                message:"请填写所选医院运行扣分值",
                 type:'warning',
                 showClose: true
               })
               this.canSave = true
-              returnxiaoyudengy
+              return
             }
             var reg = new RegExp(/^\d+(\.\d)?$/);
             if(!reg.test(item.value) || item.value > 100){
                this.$message({
-                message:'扣分值请输入≥0且≤100的数字,最多保留小数点后1位',
+                message:'终末扣分值请输入≥0且≤100的数字,最多保留小数点后1位',
+                type:'warning',
+                showClose: true
+              });
+              this.canSave = true
+              return
+            }
+            if(!reg.test(item.scoreRun) || item.scoreRun > 100){
+               this.$message({
+                message:'运行扣分值请输入≥0且≤100的数字,最多保留小数点后1位',
                 type:'warning',
                 showClose: true
               });
@@ -436,6 +474,8 @@
               msg: item.tipMsg,
               isUsed: item.isUsed,
               isReject: item.isReject,
+              scoreRun: item.scoreRun,
+              isUsedRun: item.isUsedRun
             })
           }
            let params = {
@@ -540,7 +580,7 @@
             background: #fff;
             padding: 20px 20px 50px;
             color: #545455;
-            min-width: 1100px;
+            min-width: 1350px;
             position: relative;
             .short-inp{
                 width: 200px;

+ 44 - 5
src/components/recordInput/ManageItemBatch.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="ManageItemBatchWrapper">
-        <crumbs :title="title" :param="$route.params" linkTo="RecordItemList" minWidth="1210px"></crumbs>
+        <crumbs :title="title" :param="$route.params" linkTo="RecordItemList" minWidth="1510px"></crumbs>
         <div class="contents">
             <div class="content">
                 <el-form ref="form" :label-position="labelPosition" label-width="125px" class="add-record-form" >
@@ -88,11 +88,19 @@
                                     </el-table-column>
                                     <el-table-column
                                       prop=""
-                                      label="扣分值"
+                                      label="终末扣分值"
                                       width="120">
                                         <template slot-scope="scope">
                                           <el-input  class="scoreInp" oninput="if(value.length>5)value=value.slice(0,5)" v-model.trim="scope.row.score" type="number" placeholder=""></el-input>
                                         </template>
+                                    </el-table-column>
+                                     <el-table-column
+                                      prop=""
+                                      label="运行扣分值"
+                                      width="120">
+                                        <template slot-scope="scope">
+                                          <el-input  class="scoreInp" oninput="if(value.length>5)value=value.slice(0,5)" v-model.trim="scope.row.scoreRun" type="number" placeholder=""></el-input>
+                                        </template>
                                     </el-table-column>
                                     <el-table-column
                                       prop="address"
@@ -105,13 +113,23 @@
                                     </el-table-column>
                                     <el-table-column
                                     prop="address"
-                                    label="是否启用"
+                                    label="终末质控"
                                     width="120"
                                     show-overflow-tooltip>
                                     <template slot-scope="scope">
                                         <span class="checkUsed" :class="{'active': scope.row.isUsed == 1,'disabled': getDisabled(scope.row,item.remark)}" @click="checkUsed(scope.row,index,scope.$index,item.remark)"></span>
                                         <!-- <el-checkbox v-model="scope.row.isUsed" :value ="scope.row.isUsed" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0">{{scope.row.isUsed}}</el-checkbox> -->
                                       </template>
+                                  </el-table-column>
+                                   <el-table-column
+                                    prop="address"
+                                    label="运行质控"
+                                    width="120"
+                                    show-overflow-tooltip>
+                                    <template slot-scope="scope">
+                                        <span class="checkUsed" :class="{'active': scope.row.isUsedRun == 1,'disabled': getDisabled(scope.row,item.remark)}" @click="checkUsedRun(scope.row,index,scope.$index,item.remark)"></span>
+                                        <!-- <el-checkbox v-model="scope.row.isUsed" :value ="scope.row.isUsed" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0">{{scope.row.isUsed}}</el-checkbox> -->
+                                      </template>
                                   </el-table-column>
                                   <el-table-column
                                     prop="address"
@@ -226,6 +244,21 @@
         const values = Object.values(this.checkAllMap)
         this.toggleSelection(values)
       },
+      checkUsedRun(row,index,ii,remark){
+        if(this.getDisabled(row,remark)){
+          return
+        }
+        let isUsedRun = this.caseLIst[index].qcCasesEntry[ii].isUsedRun
+        const caseLIstCopy = JSON.parse(JSON.stringify(this.caseLIst))
+        if(isUsedRun == 1){
+          caseLIstCopy[index].qcCasesEntry[ii].isUsedRun = 0
+        }else{
+          caseLIstCopy[index].qcCasesEntry[ii].isUsedRun = 1
+        }
+        this.caseLIst = caseLIstCopy
+        const values = Object.values(this.checkAllMap)
+        this.toggleSelection(values)
+      },
       checkReject(row,index,ii,remark){
         if(this.getDisabled(row,remark)){
           return
@@ -272,6 +305,7 @@
             let  caseLIstCopy = result.data
             for(let i = 0; i < caseLIstCopy.length; i++){
               for(let j = 0; j < caseLIstCopy[i].qcCasesEntry.length; j++){
+                 caseLIstCopy[i].qcCasesEntry[j].isUsedRun = 0
                 caseLIstCopy[i].qcCasesEntry[j].isUsed = 0
                 caseLIstCopy[i].qcCasesEntry[j].isReject = 0
               }
@@ -304,7 +338,8 @@
                 hospitalId: this.hospitalList[i].id,
                 hospitalName:  this.hospitalList[i].name,
                 value: '',
-                tipMsg:''
+                tipMsg:'',
+                scoreRun:'',
               })
             }
             this.tableData = tableData
@@ -333,8 +368,10 @@
                 const checkedItem = hospitalItem.getAllByHospitalDetialDTOS[j]
                 let recordItem = caseItem.qcCasesEntry.find(item => item.id === checkedItem.casesEntryId)
                 recordItem.score = checkedItem.score
+                 recordItem.scoreRun = checkedItem.scoreRun
                 recordItem.msg = checkedItem.msg
                 recordItem.isUsed = checkedItem.isUsed
+                 recordItem.isUsedRun = checkedItem.isUsedRun
                  recordItem.isReject = checkedItem.isReject
                 recordItem.modeName = checkedItem.modeName
                 this.checkAllMap[caseItem.remark].push(recordItem)
@@ -391,7 +428,9 @@
               "msg": value.msg||"",
               "remark": value.remark,
               "score": Number(value.score),
+              "scoreRun": Number(value.scoreRun),
               "isUsed":value.isUsed||0,
+              "isUsedRun":value.isUsedRun||0,
               "isReject":value.isReject||0
             }
             casesEntryHospitals.push(item)
@@ -518,7 +557,7 @@
         background: #fff;
         padding: 20px 20px 50px;
         color: #545455;
-        min-width: 1300px;
+        min-width: 1500px;
         position: relative;
         .short-inp{
             width: 200px;

+ 2 - 2
vue.config.js

@@ -1,6 +1,6 @@
 const path = require('path');
-// const proxy_path = 'http://192.168.2.236:80';
-const proxy_path = 'http://192.168.2.241:88';
+const proxy_path = 'http://192.168.2.236:80';
+// 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';//周铁刚