|
|
@@ -0,0 +1,177 @@
|
|
|
+<template>
|
|
|
+ <el-container>
|
|
|
+ <el-header style="height: 30px">
|
|
|
+ 病房:
|
|
|
+ <el-select v-model="queryParam.ward" clearable filterable>
|
|
|
+ <el-option v-for="item in wardList" :key="item.code" :label="item.name" :value="item.code"></el-option>
|
|
|
+ </el-select>
|
|
|
+ 住院号:
|
|
|
+ <el-input v-model="queryParam.patNo" clearable style="width: 120px"></el-input>
|
|
|
+ 状态:
|
|
|
+ <el-select v-model="queryParam.status" style="width: 80px">
|
|
|
+ <el-option v-for="item in statusList" :key="item.code" :label="item.name" :value="item.code"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-date-picker v-model="dateRange" :shortcuts="shortcuts" end-placeholder="结束日期" range-separator="至"
|
|
|
+ start-placeholder="开始日期" style="width: 220px" type="daterange"/>
|
|
|
+ <el-divider direction="vertical"/>
|
|
|
+ <el-radio-group v-model="queryParam.dateType">
|
|
|
+ <el-radio-button label="op_datetime">手术</el-radio-button>
|
|
|
+ <el-radio-button label="apply_date">申请</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-divider direction="vertical"/>
|
|
|
+ <el-checkbox v-model="queryParam.jzFlag">急诊</el-checkbox>
|
|
|
+ <el-divider direction="vertical"/>
|
|
|
+ <el-button icon="el-icon-search" type="primary" @click="clickQuery">查询</el-button>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <el-tag effect="dark" size="small" type="error">急诊:{{ jiZhenJiShu }}条</el-tag>
|
|
|
+ <el-tag effect="dark" size="small" type="success">普通:{{ shouShuData.length - jiZhenJiShu }}条</el-tag>
|
|
|
+ <el-table :data="shouShuData.slice((currentPage - 1) * pageSize,currentPage * pageSize)"
|
|
|
+ :height="window.h - 120"
|
|
|
+ :row-class-name="rowStyle"
|
|
|
+ >
|
|
|
+ <el-table-column label="手术编号" prop="recordId"></el-table-column>
|
|
|
+ <el-table-column label="日期" prop="opDatetime"></el-table-column>
|
|
|
+ <el-table-column label="送出时间" prop="applyDate"></el-table-column>
|
|
|
+ <el-table-column label="手术间" prop="roomName"></el-table-column>
|
|
|
+ <el-table-column label="手术台次" prop="sstc"></el-table-column>
|
|
|
+ <el-table-column label="病房" prop="wardName"></el-table-column>
|
|
|
+ <el-table-column label="床号" prop="bedNo"></el-table-column>
|
|
|
+ <el-table-column label="住院号" prop="inpatientNo"></el-table-column>
|
|
|
+ <el-table-column label="姓名" prop="patientName"></el-table-column>
|
|
|
+ <el-table-column label="年龄" prop="age"></el-table-column>
|
|
|
+ <el-table-column label="性别" prop="sex"></el-table-column>
|
|
|
+ <el-table-column label="取消" prop="cancelId">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.cancelId }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="诊断" prop="diagBeforeCode"></el-table-column>
|
|
|
+ <el-table-column label="手术名称" prop="opName"></el-table-column>
|
|
|
+ <el-table-column label="麻醉方式" prop="hocusName"></el-table-column>
|
|
|
+ <el-table-column label="麻醉医生" prop="doctorMzYsName"></el-table-column>
|
|
|
+ <el-table-column label="麻醉护士" prop="doctorMzHsName"></el-table-column>
|
|
|
+ <el-table-column label="手术医生" prop="doctorZdName"></el-table-column>
|
|
|
+ <el-table-column label="实际手术医生" prop="applyDate"></el-table-column>
|
|
|
+ <el-table-column label="机械护士" prop="nurseQxName"></el-table-column>
|
|
|
+ <el-table-column label="巡回护士" prop="nurseXhName"></el-table-column>
|
|
|
+ <el-table-column label="申请医生" prop="applyDocName"></el-table-column>
|
|
|
+ <el-table-column label="分类" prop="urgentClinicFlag">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-if="scope.row.urgentClinicFlag === '1'">急诊</span>
|
|
|
+ <span v-else>择期</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="手术班次" prop="ssbcName"></el-table-column>
|
|
|
+ <el-table-column label="级别" prop="opScaleName"></el-table-column>
|
|
|
+ <el-table-column label="体外标志" prop="twFlag">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-if=" scope.row.twFlag === '1'">
|
|
|
+ <el-tag>√</el-tag>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="备注" prop="remark"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-size="pageSize"
|
|
|
+ :total="shouShuData.length"
|
|
|
+ layout=" total,prev, pager, next"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ ></el-pagination>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script name="SurgeryArrangement" setup>
|
|
|
+import {getASurgicalWard, huoQuShouShuAnPaiXinXi} from "@/api/surgical-management/surgery-arrangement";
|
|
|
+import {shortcuts} from '@/data/shortcuts.js'
|
|
|
+import {getDateRangeFormatDate} from "@/utils/date";
|
|
|
+import {listIsBlank, stringNotBlank} from "@/utils/blank-utils";
|
|
|
+import store from '@/store'
|
|
|
+import {ElMessage} from "element-plus";
|
|
|
+
|
|
|
+const window = computed(() => {
|
|
|
+ return store.state.app.windowSize
|
|
|
+})
|
|
|
+
|
|
|
+let currentPage = $ref(1)
|
|
|
+let pageSize = $ref(20)
|
|
|
+let jiZhenJiShu = $ref(0)
|
|
|
+
|
|
|
+let wardList = $ref([])
|
|
|
+let statusList = $ref([
|
|
|
+ {code: 1, name: '申请'},
|
|
|
+ {code: 2, name: '安排'},
|
|
|
+ {code: 3, name: '取消'},
|
|
|
+ {code: 4, name: '全部'},
|
|
|
+])
|
|
|
+let dateRange = $ref([shortcuts[0].value[0], shortcuts[0].value[1]])
|
|
|
+let queryParam = $ref({
|
|
|
+ ward: '',
|
|
|
+ patNo: '',
|
|
|
+ status: 4,
|
|
|
+ startTime: '',
|
|
|
+ endTime: '',
|
|
|
+ dateType: 'op_datetime', // applyDate 日期类型是手术日期还是申请日期
|
|
|
+ jzFlag: false
|
|
|
+})
|
|
|
+
|
|
|
+let shouShuData = $ref([])
|
|
|
+
|
|
|
+const clickQuery = () => {
|
|
|
+ if (listIsBlank(dateRange)) {
|
|
|
+ ElMessage.error("请先输入日期")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let dateS = getDateRangeFormatDate(dateRange)
|
|
|
+ queryParam.startTime = dateS.startTime
|
|
|
+ queryParam.endTime = dateS.endTime
|
|
|
+ huoQuShouShuAnPaiXinXi(queryParam).then((res) => {
|
|
|
+ console.log(res)
|
|
|
+ shouShuData = res
|
|
|
+ jiZhenJiShu = 0
|
|
|
+ shouShuData.forEach(item => {
|
|
|
+ if (stringNotBlank(item.urgentClinicFlag)) {
|
|
|
+ if (item.urgentClinicFlag === '1') {
|
|
|
+ jiZhenJiShu++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const rowStyle = ({row, rowIndex}) => {
|
|
|
+ if (stringNotBlank(row.urgentClinicFlag)) {
|
|
|
+ if (row.urgentClinicFlag === '1') {
|
|
|
+ return 'error'
|
|
|
+ } else if (row.urgentClinicFlag === '0') {
|
|
|
+ return 'success'
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const handleCurrentChange = (val) => {
|
|
|
+ currentPage = val
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ getASurgicalWard().then((res) => {
|
|
|
+ wardList = res
|
|
|
+ })
|
|
|
+ clickQuery()
|
|
|
+})
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.el-table .error {
|
|
|
+ background-color: #fa7c7c;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table .success {
|
|
|
+ background-color: #72c449;
|
|
|
+}
|
|
|
+
|
|
|
+</style>
|