Kaynağa Gözat

添加质控信息时获取接口默认带入接收人和接收科室

liyanyan 2 hafta önce
ebeveyn
işleme
1c270bfba6

+ 40 - 16
src/views/recordsRoom/qc/caseViews.vue

@@ -1,9 +1,18 @@
 <template>
 <template>
   <div id="MyDiv" :class="{ nocopy: $route.query.status }">
   <div id="MyDiv" :class="{ nocopy: $route.query.status }">
-    <div style="display: flex;justify-content: flex-end;margin-bottom: 10px;">
-      <el-button type="primary" @click="toExamine" :disabled="review_status == 2">审核通过</el-button>
-      <el-button type="primary" @click="caseShow = !caseShow">病历智审结果</el-button>
-    </div>
+    <el-row type="flex" justify="space-between" style="margin-bottom: 10px;">
+      <el-tabs v-model="currentTab">
+        <el-tab-pane label="未编目首页" name="1" />
+        <el-tab-pane label="已编目首页" name="2" />
+      </el-tabs>
+      <div v-if="$route.query.from == 'review'">
+        <el-button type="primary" @click="caseShow = !caseShow">申诉问题</el-button>
+      </div>
+      <div v-else>
+        <el-button type="primary" @click="toExamine" :disabled="review_status == 2">审核通过</el-button>
+        <el-button type="primary" @click="caseShow = !caseShow">病历智审结果</el-button>
+      </div>
+    </el-row>
     <div class="cont_container">
     <div class="cont_container">
       <!-- 左侧点击列表部分 -->
       <!-- 左侧点击列表部分 -->
       <div class="cont-left-tiem">
       <div class="cont-left-tiem">
@@ -112,13 +121,13 @@
           <!-- 住院病案质控 -->
           <!-- 住院病案质控 -->
           <CaseQualityBox :resultsList="resultsData" v-if="results.data" @clickAppealBtn="clickAppealBtn" :width="340"
           <CaseQualityBox :resultsList="resultsData" v-if="results.data" @clickAppealBtn="clickAppealBtn" :width="340"
             :height="820" ref="CaseQualityBox" :caseShow="caseShow" @close="handleClose"
             :height="820" ref="CaseQualityBox" :caseShow="caseShow" @close="handleClose"
-            :MED_REC_ID="mainHomeData.MED_REC_ID" :CWH="mainHomeData.CWH" :AAA29="mainHomeData.AAA29" />
+            :MED_REC_ID="mainHomeData.MED_REC_ID" :CWH="mainHomeData.CWH" :AAA29="mainHomeData.AAA29" @changeTab="(e) => currentTab = e"/>
         </template>
         </template>
       </div>
       </div>
       <!-- 添加质控结果 -->
       <!-- 添加质控结果 -->
       <CreateControlResultDialogVue v-if="dialogData.bSwitch" :AAA28="mainHomeData.AAA28" :data="dialogData"
       <CreateControlResultDialogVue v-if="dialogData.bSwitch" :AAA28="mainHomeData.AAA28" :data="dialogData"
         @refresh="handelRefreshResults" :MED_REC_ID="mainHomeData.MED_REC_ID" :CWH="mainHomeData.CWH"
         @refresh="handelRefreshResults" :MED_REC_ID="mainHomeData.MED_REC_ID" :CWH="mainHomeData.CWH"
-        :AAA29="mainHomeData.AAA29" :JSKS="mainHomeData.AAC11C" @close="handleUpdate"/>
+        :AAA29="mainHomeData.AAA29" :JSKS="mainHomeData.AAC11C" @close="handleUpdate" :currentTreeItem="currentTreeItem"/>
       <!-- 右键菜单 -->
       <!-- 右键菜单 -->
       <div class="dialog-box">
       <div class="dialog-box">
         <el-dialog title="通知" :show-close="false" :visible.sync="gridCustomizeVisible" width='350px'>
         <el-dialog title="通知" :show-close="false" :visible.sync="gridCustomizeVisible" width='350px'>
@@ -220,6 +229,8 @@ export default {
   props: {},
   props: {},
   data() {
   data() {
     return {
     return {
+      currentTreeItem: null,
+      currentTab: "1",
       mainHomeData: {},
       mainHomeData: {},
       admissionRecord: {},
       admissionRecord: {},
       longAdvice: {},
       longAdvice: {},
@@ -331,6 +342,9 @@ export default {
         document.body.removeEventListener("click", this.closeMenu);
         document.body.removeEventListener("click", this.closeMenu);
       }
       }
     },
     },
+    currentTab() {
+      this.funQuery()
+    }
   },
   },
   mounted() {
   mounted() {
    this.getInitData();
    this.getInitData();
@@ -473,15 +487,22 @@ export default {
     },
     },
     funQuery() {
     funQuery() {
       const params = {
       const params = {
-        id: this.valData
+        [this.currentTab == '1' ? 'ZYH' : 'id']: this.valData
       }
       }
       if (this.$route.query.status) {
       if (this.$route.query.status) {
         params.is_tm = 1
         params.is_tm = 1
       }
       }
-      getHomeData(params).then(res => {
-        this.mainHomeData = res.data
-        this.is_active_blbh = this.mainHomeData.MED_REC_ID
-      })
+      if(this.currentTab == '1') {
+        this.$axios.post('/home_sz_quality/blInfo', params).then(res => {
+          this.mainHomeData = res.data
+          this.is_active_blbh = this.mainHomeData.MED_REC_ID
+        })
+      } else {
+        getHomeData(params).then(res => {
+          this.mainHomeData = res.data
+          this.is_active_blbh = this.mainHomeData.MED_REC_ID
+        })
+      }
     },
     },
     getTree() {
     getTree() {
       const that = this
       const that = this
@@ -493,6 +514,8 @@ export default {
       })
       })
     },
     },
     clickTree(b, n, item) {
     clickTree(b, n, item) {
+      console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', item)
+      this.currentTreeItem = {...item}
       if (item) {
       if (item) {
         if (item.blbh) {
         if (item.blbh) {
           this.is_active_blbh = item.blbh
           this.is_active_blbh = item.blbh
@@ -703,22 +726,23 @@ export default {
 .cont_container {
 .cont_container {
   display: flex;
   display: flex;
   justify-content: center;
   justify-content: center;
+  height: calc(100% - 64px)
 }
 }
 
 
 .cont-left-tiem {
 .cont-left-tiem {
   width: 250px;
   width: 250px;
-  margin: 0 0 0 15px;
-  min-height: 650px;
-  height: calc(100vh - 130px);
+  // margin: 0 0 0 15px;
+  // min-height: 650px;
+  height: 100%;
   overflow-y: scroll;
   overflow-y: scroll;
   background: #ffffff;
   background: #ffffff;
 }
 }
 
 
 .cont-left-file {
 .cont-left-file {
   flex: 1;
   flex: 1;
-  min-height: 650px;
+  // min-height: 650px;
   margin: 0 5px;
   margin: 0 5px;
-  height: calc(100vh - 130px);
+  height: 100%;
   overflow-y: scroll;
   overflow-y: scroll;
   background: #ffffff;
   background: #ffffff;
   border: 1px solid #e2e2e2;
   border: 1px solid #e2e2e2;

+ 37 - 4
src/views/recordsRoom/qc/components/CreateControlResultDialog.vue

@@ -41,7 +41,7 @@
           <el-col :span="8">
           <el-col :span="8">
             <el-form-item label="接收人" prop="JSR">
             <el-form-item label="接收人" prop="JSR">
               <el-select v-model="ruleForm.JSR" filterable clearable multiple :filter-method="filterRecipient"
               <el-select v-model="ruleForm.JSR" filterable clearable multiple :filter-method="filterRecipient"
-                placeholder="请选择接收人" style="width: 100%">
+                placeholder="请选择接收人" style="width: 100%" @change="handleJSRChange">
                 <el-option v-for="item of recipient" :key="item.code" :label="`${item.name} ${item.code}`"
                 <el-option v-for="item of recipient" :key="item.code" :label="`${item.name} ${item.code}`"
                   :value="item.code" />
                   :value="item.code" />
               </el-select>
               </el-select>
@@ -50,8 +50,8 @@
           <el-col :span="8">
           <el-col :span="8">
             <el-form-item label="接收科室" prop="JSKS">
             <el-form-item label="接收科室" prop="JSKS">
               <el-select v-model="ruleForm.JSKS" filterable clearable multiple :filter-method="filterDeportments"
               <el-select v-model="ruleForm.JSKS" filterable clearable multiple :filter-method="filterDeportments"
-                         placeholder="请选择接收科室" style="width: 100%">
-                <el-option v-for="(item,index) of deportments" :key="index" :label="item.name" :value="item.dep_id" />
+                         placeholder="请选择接收科室" style="width: 100%" disabled>
+                <el-option v-for="(item,index) of deportments" :key="index" :label="`${item.name}`" :value="item.dep_id" />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
@@ -177,7 +177,7 @@ export default {
     AAA28: {
     AAA28: {
       type: String,
       type: String,
       default() {
       default() {
-        return false;
+        return '';
       },
       },
     },
     },
     MED_REC_ID: {
     MED_REC_ID: {
@@ -195,6 +195,10 @@ export default {
     JSKS: {
     JSKS: {
       type: [String, Number], // 根据实际类型定义
       type: [String, Number], // 根据实际类型定义
       required: true,
       required: true,
+    },
+    currentTreeItem: {
+      type: [null, Object], // 根据实际类型定义
+      required: false,
     }
     }
   },
   },
   data() {
   data() {
@@ -318,8 +322,18 @@ export default {
     this.receivingEnd();
     this.receivingEnd();
     this.zkSelectValue();
     this.zkSelectValue();
     this.getZkInfo();
     this.getZkInfo();
+    this.getBlsy();
   },
   },
   methods: {
   methods: {
+    handleJSRChange(e) {
+      let depIds = []
+      this.recipient.forEach((element) => {
+        if(e.includes(element.code)) {
+          depIds.push(element.dep_id)
+        }
+      })
+      this.ruleForm.JSKS = depIds
+    },
     handleRuleIdChange(e) {
     handleRuleIdChange(e) {
       const nodeData = this.$refs.zkInfoRef.getCheckedNodes(true)
       const nodeData = this.$refs.zkInfoRef.getCheckedNodes(true)
       console.log('选中', nodeData)
       console.log('选中', nodeData)
@@ -332,6 +346,25 @@ export default {
         type: 'success',
         type: 'success',
       });
       });
     },
     },
+
+    getBlsy() {
+      let params = this.$props.currentTreeItem && this.$props.currentTreeItem.blbh ? {
+        blbh: this.$props.currentTreeItem.blbh,
+        zyh: this.$props.MED_REC_ID
+      } : {
+        zyh: this.$props.MED_REC_ID
+      }
+      this.$axios.get('/get_bl_blsy', {
+        params
+      }).then(res => {
+        if(res.code == 200) {
+          if(Array.isArray(res.data) && !!res.data.length) {
+            this.ruleForm.JSR = res.data.map(item => item.SYYS)
+            this.ruleForm.JSKS = res.data.map(item => item.dep_id)
+          }
+        }
+      })
+    },
     //获取人工质控规则
     //获取人工质控规则
     getZkInfo(){
     getZkInfo(){
       this.$axios.post('/artificial/department/getZkInfo', {}).then(res => {
       this.$axios.post('/artificial/department/getZkInfo', {}).then(res => {