| 
					
				 | 
			
			
				@@ -0,0 +1,196 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="layout_container" style="height: 550px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div style="height: 500px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left">患者姓名:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right">{{data.patName}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left">住院号:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right">{{data.patNo}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left">编码员姓名:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right">{{data.coderName}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper" style="align-items: flex-start"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          主要错误: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-checkbox-group v-model="majorError"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-checkbox value="主要诊断填写错误">主要诊断填写错误</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-checkbox value="主要诊断编码错误">主要诊断编码错误</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-checkbox value="主要手术填写错误">主要手术填写错误</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-checkbox value="主要手术编码错误">主要手术编码错误</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-checkbox-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span class="required">*</span>审核状态: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-radio-group v-model="auditState"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-radio value="APPROVED">通过</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-radio value="REJECTED">不通过</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper" style="align-items: flex-start"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span class="required">*</span>审核意见: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model="auditRemark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="textarea" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :rows="5" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :placeholder="placeholder" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="line-wrapper" style="align-items: flex-start"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="line-right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @click="handleClickConfirm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              size="default" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              style="width: 100%" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            提交审核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div style="width: 100%; text-align: right; margin-top: 20px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a href="#" style="text-decoration: underline" @click="viewAuditHistory"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              审核历史 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-drawer v-model="showAuditHistory" title="组长审核历史记录"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-timeline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-timeline-item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="item in histories" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :timestamp="item.createTime" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placement="top" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              编码员:{{ item.coderName }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p v-if="item.majorError" class="major-error">主要错误:{{item.majorError}}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p class="audit-remark">审核结果:{{ item.auditRemark }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p style="font-size: 12px; color: dimgray"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>审核人:{{ item.auditName }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span style="margin-left: 32px">审核时间:{{ item.createTime }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <img :src="item.auditState === 'APPROVED' ? approveImg : rejectImg" alt="" class="img-state"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-timeline-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-timeline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-if="histories.length === 0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          style="font-size: 36px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 86%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #777777; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          justify-content: center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        没有有效的质控记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-drawer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script lang="ts" setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {xcMessage} from "@/utils/xiaochan-element-plus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {submitLeaderAudit,fetchLeaderAudit} from "@/api/case-front-sheet"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import approveImg from "@/assets/approved.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import rejectImg from "@/assets/reject.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  closeModal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const auditRemark = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const auditState = ref('APPROVED') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const majorError = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const placeholder = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return auditState.value === 'APPROVED' ? '审核通过' : '请在此输入审核意见' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function handleClickConfirm() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (auditState.value === 'REJECTED' && !auditRemark.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xcMessage.error('审核意见不能为空!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (auditState.value === 'APPROVED' && majorError.value.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xcMessage.error('勾选了主要错误,审核状态请选择【不通过】') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props.data.auditState = auditState.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props.data.auditRemark = auditRemark.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props.data.majorErrorList = majorError.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  submitLeaderAudit(props.data).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xcMessage.success('操作成功。') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    props.closeModal() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const showAuditHistory = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const histories = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function viewAuditHistory() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fetchLeaderAudit(props.data).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    histories.value = res 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showAuditHistory.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.line-wrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin: 12px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.line-left { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 120px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding-right: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.line-right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 300px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: left; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding-left: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.required { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-right: 4px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: red; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.img-state { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 64px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |