|  | @@ -1,7 +1,6 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <page-layer>
 | 
	
		
			
				|  |  | -    <template #headerBlock>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  <CyFlex header-class="cy_card patinfo_query">
 | 
	
		
			
				|  |  | +    <template #header>
 | 
	
		
			
				|  |  |        <el-form :inline="true" ref="formRef" :model="param">
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          <el-form-item label="住院号" prop="patNo">
 | 
	
	
		
			
				|  | @@ -79,86 +78,81 @@
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          <el-form-item>
 | 
	
		
			
				|  |  | -          <el-button @click="queryClick" type="primary">查询</el-button>
 | 
	
		
			
				|  |  | +          <el-button @click="querySearch" type="primary">查询</el-button>
 | 
	
		
			
				|  |  |            <el-button @click="reset" type="warning">重置</el-button>
 | 
	
		
			
				|  |  | -          <el-button @click="exportClick" type="success">导出</el-button>
 | 
	
		
			
				|  |  | +          <el-button @click="exportExcel" type="success">导出</el-button>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |        </el-form>
 | 
	
		
			
				|  |  |      </template>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    <template #main="{height}">
 | 
	
		
			
				|  |  | -      <pat-infomation-dialog
 | 
	
		
			
				|  |  | -          v-if="dialog"
 | 
	
		
			
				|  |  | -          @closed="dialog = false"
 | 
	
		
			
				|  |  | -          :admiss-date="rowData.admissDate"
 | 
	
		
			
				|  |  | -          :pat-no="rowData.patNo"
 | 
	
		
			
				|  |  | -          :times="rowData.admissTimes"
 | 
	
		
			
				|  |  | -          :leave-hospital="param.leaveHospital ? 2 : 1"
 | 
	
		
			
				|  |  | -          :dics="dics"/>
 | 
	
		
			
				|  |  | -      <xc-table :local-data="patInfoList"
 | 
	
		
			
				|  |  | -                :final-height="getWindowSize.h / 1.15">
 | 
	
		
			
				|  |  | -        <el-table-column label="操作" fixed="left" width="80">
 | 
	
		
			
				|  |  | -          <template #default="{row}">
 | 
	
		
			
				|  |  | -            <el-button @click="openPatient360(row.inpatientNo)"
 | 
	
		
			
				|  |  | -                       text
 | 
	
		
			
				|  |  | -                       type="danger"
 | 
	
		
			
				|  |  | -                       plain>
 | 
	
		
			
				|  |  | -              患者360
 | 
	
		
			
				|  |  | -            </el-button>
 | 
	
		
			
				|  |  | -            <div></div>
 | 
	
		
			
				|  |  | -            <el-button @click="details(row)"
 | 
	
		
			
				|  |  | -                       text
 | 
	
		
			
				|  |  | -                       type="primary"
 | 
	
		
			
				|  |  | -                       plain>
 | 
	
		
			
				|  |  | -              详情
 | 
	
		
			
				|  |  | -            </el-button>
 | 
	
		
			
				|  |  | -            <div></div>
 | 
	
		
			
				|  |  | -            <el-button style="margin-left: 0"
 | 
	
		
			
				|  |  | -                       @click="openEmr(row)"
 | 
	
		
			
				|  |  | -                       text
 | 
	
		
			
				|  |  | -                       type="primary"
 | 
	
		
			
				|  |  | -                       plain>
 | 
	
		
			
				|  |  | -              病历
 | 
	
		
			
				|  |  | -            </el-button>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="住院号" prop="inpatientNo" width="60"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="次数" prop="admissTimes" width="30"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="床位" prop="bedNo" width="30"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="审核" width="30">
 | 
	
		
			
				|  |  | -          <template #default="{row}">
 | 
	
		
			
				|  |  | -                        <span v-if="row.emrAudit > 0 ">
 | 
	
		
			
				|  |  | -                            √
 | 
	
		
			
				|  |  | -                        </span>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="姓名" prop="name">
 | 
	
		
			
				|  |  | -          <template #default="{row}">
 | 
	
		
			
				|  |  | -            {{ row.name + '(' + row.sexName + ')' }}
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="入院时间" prop="admissDate" width="80"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="出院时间" prop="disDate" width="80"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="入院病区" prop="admissWardName"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="小科室" prop="zkWardName"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="年龄" prop="tempAge"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="医保身份" prop="responceName"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="总费用" prop="totalCharge"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="余额" prop="balance"/>
 | 
	
		
			
				|  |  | -        <el-table-column label="入院诊断" prop="admissDiagStr"/>
 | 
	
		
			
				|  |  | -      </xc-table>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    </template>
 | 
	
		
			
				|  |  | -  </page-layer>
 | 
	
		
			
				|  |  | +    <pat-infomation-dialog
 | 
	
		
			
				|  |  | +        v-if="dialog"
 | 
	
		
			
				|  |  | +        @closed="dialog = false"
 | 
	
		
			
				|  |  | +        :admiss-date="rowData.admissDate"
 | 
	
		
			
				|  |  | +        :pat-no="rowData.patNo"
 | 
	
		
			
				|  |  | +        :times="rowData.admissTimes"
 | 
	
		
			
				|  |  | +        :leave-hospital="param.leaveHospital ? 2 : 1"
 | 
	
		
			
				|  |  | +        :dics="dics"/>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <CyVxeTable>
 | 
	
		
			
				|  |  | +      <vxe-column title="操作" fixed="left" min-width="80">
 | 
	
		
			
				|  |  | +        <template #default="{row}">
 | 
	
		
			
				|  |  | +          <el-button @click="openPatient360(row.inpatientNo)"
 | 
	
		
			
				|  |  | +                     text
 | 
	
		
			
				|  |  | +                     type="danger"
 | 
	
		
			
				|  |  | +                     plain>
 | 
	
		
			
				|  |  | +            患者360
 | 
	
		
			
				|  |  | +          </el-button>
 | 
	
		
			
				|  |  | +          <div></div>
 | 
	
		
			
				|  |  | +          <el-button @click="details(row)"
 | 
	
		
			
				|  |  | +                     text
 | 
	
		
			
				|  |  | +                     type="primary"
 | 
	
		
			
				|  |  | +                     plain>
 | 
	
		
			
				|  |  | +            详情
 | 
	
		
			
				|  |  | +          </el-button>
 | 
	
		
			
				|  |  | +          <div></div>
 | 
	
		
			
				|  |  | +          <el-button style="margin-left: 0"
 | 
	
		
			
				|  |  | +                     @click="openEmr(row)"
 | 
	
		
			
				|  |  | +                     text
 | 
	
		
			
				|  |  | +                     type="primary"
 | 
	
		
			
				|  |  | +                     plain>
 | 
	
		
			
				|  |  | +            病历
 | 
	
		
			
				|  |  | +          </el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </vxe-column>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <vxe-column title="住院号" field="inpatientNo" min-width="70"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="次数" field="admissTimes" min-width="56"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="床位" field="bedNo" min-width="53"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="审核" min-width="61" field="emrAudit">
 | 
	
		
			
				|  |  | +        <template #default="{row}">
 | 
	
		
			
				|  |  | +          <span v-if="row.emrAudit > 0 ">√</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </vxe-column>
 | 
	
		
			
				|  |  | +      <vxe-column title="姓名" field="name" min-width="101"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="性别" field="sexName" min-width="60"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="入院时间" field="admissDate" min-width="80"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="出院时间" field="disDate" min-width="80"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="入院病区" field="admissWardName" min-width="101"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="小科室" field="zkWardName" min-width="99"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="年龄" field="tempAge" min-width="63"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="医保身份" field="responceName" min-width="86"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="总费用" field="totalCharge" min-width="87"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="余额" field="balance" min-width="67"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="入院诊断" field="admissDiagStr" min-width="82"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="住院天数" field="actIptDays" min-width="91"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="入院医生" field="admissPhysicianName" min-width="82"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="管床医生" field="referPhysicianName" min-width="90"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="离院方式" field="zyDismissWay" min-width="79"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="出院主诊断" field="disMainDiag" min-width="101"/>
 | 
	
		
			
				|  |  | +      <vxe-column title="出院科室" field="disDeptName" min-width="70"/>
 | 
	
		
			
				|  |  | +    </CyVxeTable>
 | 
	
		
			
				|  |  | +  </CyFlex>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script setup lang="ts">
 | 
	
		
			
				|  |  | -import PageLayer from "@/layout/PageLayer.vue";
 | 
	
		
			
				|  |  |  import {getHospWardAndDept, getPatientInfo, diagnosis, employeeList} from "@/api/zhu-yuan-yi-sheng/pat-info-query";
 | 
	
		
			
				|  |  |  import SelectV4 from "@/components/xiao-chan/select-v4/SelectV4.vue";
 | 
	
		
			
				|  |  |  import XcDatePicker from "@/components/xiao-chan/date-picker/XcDatePicker.vue";
 | 
	
		
			
				|  |  | -import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 | 
	
		
			
				|  |  | -import {getWindowSize} from "@/utils/window-size";
 | 
	
		
			
				|  |  |  import {getAllDictionary} from "@/api/case-front-sheet";
 | 
	
		
			
				|  |  |  import {operations} from "@/data";
 | 
	
		
			
				|  |  |  import {autopsies, haveOrNot, yesOrNo} from "@/views/hospitalization/case-front-sheet/common";
 | 
	
	
		
			
				|  | @@ -176,6 +170,8 @@ import router from "@/router";
 | 
	
		
			
				|  |  |  import sleep from "@/utils/sleep";
 | 
	
		
			
				|  |  |  import {Export} from '@/utils/ExportExcel'
 | 
	
		
			
				|  |  |  import {openPatient360} from "@/views/view/patient360/src";
 | 
	
		
			
				|  |  | +import CyFlex from "@/components/cy/flex/src/CyFlex.vue";
 | 
	
		
			
				|  |  | +import UseVxeTable from "@/utils/cy-use/useVxeTable";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const param = ref({
 | 
	
		
			
				|  |  |    patNo: '',
 | 
	
	
		
			
				|  | @@ -202,11 +198,19 @@ const dics = ref([])
 | 
	
		
			
				|  |  |  const diagnosisData = ref([])
 | 
	
		
			
				|  |  |  const empList = ref([])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const {CyVxeTable, querySearch, exportExcel, tableRef} = UseVxeTable({
 | 
	
		
			
				|  |  | +  localPaging: true,
 | 
	
		
			
				|  |  | +  keyField: "patId",
 | 
	
		
			
				|  |  | +  remoteSearch: () => {
 | 
	
		
			
				|  |  | +    return getPatientInfo(param.value)
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  onActivated(async () => {
 | 
	
		
			
				|  |  |    const params = router.currentRoute.value.query
 | 
	
		
			
				|  |  | -  console.log('params', params)
 | 
	
		
			
				|  |  |    if (params && params.patNo) {
 | 
	
		
			
				|  |  | -    param.value.patNo = params.patNo
 | 
	
		
			
				|  |  | +    param.value.patNo = params.patNo as string
 | 
	
		
			
				|  |  |      param.value.name = ''
 | 
	
		
			
				|  |  |      param.value.leaveHospital = false
 | 
	
		
			
				|  |  |      param.value.admissionTime = []
 | 
	
	
		
			
				|  | @@ -218,17 +222,12 @@ onActivated(async () => {
 | 
	
		
			
				|  |  |      param.value.empCode = ''
 | 
	
		
			
				|  |  |      param.value.disDept = ''
 | 
	
		
			
				|  |  |      param.value.emrAudit = 0
 | 
	
		
			
				|  |  | +    await nextTick()
 | 
	
		
			
				|  |  |      await sleep(300);
 | 
	
		
			
				|  |  | -    await queryClick()
 | 
	
		
			
				|  |  | +    await querySearch()
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const queryClick = () => {
 | 
	
		
			
				|  |  | -  getPatientInfo(param.value).then(res => {
 | 
	
		
			
				|  |  | -    patInfoList.value = res
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  const reset = () => {
 | 
	
		
			
				|  |  |    formRef.value?.resetFields()
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -268,26 +267,6 @@ const openEmr = async (data) => {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const title = {
 | 
	
		
			
				|  |  | -  inpatientNo: '住院号',
 | 
	
		
			
				|  |  | -  admissTimes: '住院次数',
 | 
	
		
			
				|  |  | -  bedNo: '床位',
 | 
	
		
			
				|  |  | -  name: '姓名',
 | 
	
		
			
				|  |  | -  admissDate: '入院时间',
 | 
	
		
			
				|  |  | -  disDate: '出院时间',
 | 
	
		
			
				|  |  | -  admissWardName: '入院病区',
 | 
	
		
			
				|  |  | -  zkWardName: '小科室',
 | 
	
		
			
				|  |  | -  tempAge: '年龄',
 | 
	
		
			
				|  |  | -  responceName: '医保身份',
 | 
	
		
			
				|  |  | -  totalCharge: '总费用',
 | 
	
		
			
				|  |  | -  balance: '余额',
 | 
	
		
			
				|  |  | -  admissDiagStr: '入院诊断',
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -function exportClick() {
 | 
	
		
			
				|  |  | -  Export(patInfoList.value, title, '患者信息')
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  onMounted(async () => {
 | 
	
		
			
				|  |  |    getHospWardAndDept().then(res => {
 | 
	
		
			
				|  |  |      deptWardList.value = res
 | 
	
	
		
			
				|  | @@ -311,7 +290,10 @@ let audit = [
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -<style lang="scss" scoped>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +<style lang="scss">
 | 
	
		
			
				|  |  | +.patinfo_query {
 | 
	
		
			
				|  |  | +  padding: 10px 10px 0 10px;
 | 
	
		
			
				|  |  | +  margin-bottom: 5px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  </style>
 |