|
@@ -0,0 +1,113 @@
|
|
|
+<template>
|
|
|
+ <page-layer>
|
|
|
+ <template #header>
|
|
|
+ <el-autocomplete v-model="deptNo" value-key="name" :fetch-suggestions="querySearchDept"
|
|
|
+ :trigger-on-focus="false" clearable class="inline-input w-50 m-2" style="width: 240px"
|
|
|
+ placeholder="请输入关键字">
|
|
|
+ <template #prepend>科室</template>
|
|
|
+ </el-autocomplete>
|
|
|
+ <el-select v-model="timesTamp" style="width: 100px">
|
|
|
+ <el-option label="全部" value="0"></el-option>
|
|
|
+ <el-option label="24小时" value="1"></el-option>
|
|
|
+ <el-option label="48小时" value="2"></el-option>
|
|
|
+ <el-option label="72小时" value="3"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="primary" icon="Search" @click="query" style="margin-left: 5px">查询</el-button>
|
|
|
+ <el-button type="primary" icon="Download" @click="exportData" style="margin-left: 5px">导出</el-button>
|
|
|
+ </template>
|
|
|
+ <template #main>
|
|
|
+ <xc-table :data="returnData" localPaging :height="105">
|
|
|
+ <el-table-column type="index" label="序号" align="center"></el-table-column>
|
|
|
+ <template v-for="col in returnData.tableDisplays">
|
|
|
+ <el-table-column v-if="col.sortable" :prop="col.prop" :label="col.label" :width="col.width"
|
|
|
+ :align="col.align" sortable show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column v-else :prop="col.prop" :label="col.label" :width="col.width" :align="col.align"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ </template>
|
|
|
+ </xc-table>
|
|
|
+ </template>
|
|
|
+ </page-layer>
|
|
|
+</template>
|
|
|
+<script setup name="OutHospUnsettl">
|
|
|
+import PageLayer from '@/layout/PageLayer.vue'
|
|
|
+import { reactive, ref } from '@vue/reactivity'
|
|
|
+import { getDateTiffDays, getDate } from '@/utils/date'
|
|
|
+import { ElMessage } from 'element-plus'
|
|
|
+import { selectReportPortalMenu, exportReportPortalData } from '@/api/reports/high-report'
|
|
|
+import { selectSmallDept } from '@/api/medical-insurance/si-yb-util'
|
|
|
+import XcTable from '@/components/xiao-chan/xc-table/XcTable.vue'
|
|
|
+
|
|
|
+const deptNo = ref('')
|
|
|
+const timesTamp = ref('0')
|
|
|
+const queryTerm = reactive({
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ dept: "",
|
|
|
+ reportId: "cy_cywjs",
|
|
|
+ menuId: "134",
|
|
|
+ type: "1",
|
|
|
+});
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ queryTerm.dept = deptNo.value;
|
|
|
+ filterTimesTamp()
|
|
|
+ query()
|
|
|
+});
|
|
|
+
|
|
|
+const returnData = ref({
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 30,
|
|
|
+ total: 0,
|
|
|
+ data: []
|
|
|
+});
|
|
|
+
|
|
|
+const querySearchDept = async (str, cb) => {
|
|
|
+ let results = await selectSmallDept({ str })
|
|
|
+ if (results) {
|
|
|
+ // 调用 callback 返回建议列表的数据
|
|
|
+ cb(results)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const query = async () => {
|
|
|
+ queryTerm.dept = deptNo.value;
|
|
|
+ filterTimesTamp()
|
|
|
+
|
|
|
+ selectReportPortalMenu(queryTerm)
|
|
|
+ .then((res) => {
|
|
|
+ returnData.value.tableDisplays = res.tableDisplays
|
|
|
+ returnData.value.data = res.dataList
|
|
|
+ returnData.value.total = returnData.value.data.length
|
|
|
+ });
|
|
|
+};
|
|
|
+const exportData = () => {
|
|
|
+ if (returnData.value.data.length <= 0) {
|
|
|
+ ElMessage({
|
|
|
+ message: '没有可以导出的数据!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ queryTerm.dept = deptNo.value;
|
|
|
+ filterTimesTamp()
|
|
|
+ // 导出excel表格标题
|
|
|
+ queryTerm.exportName = '出院未结算统计';
|
|
|
+ exportReportPortalData(queryTerm)
|
|
|
+}
|
|
|
+
|
|
|
+const filterTimesTamp = () => {
|
|
|
+ let nowDate = getDate()
|
|
|
+ if ('1' === timesTamp.value) {
|
|
|
+ queryTerm.startTime = getDateTiffDays(1)
|
|
|
+ } else if ('2' === timesTamp.value) {
|
|
|
+ queryTerm.startTime = getDateTiffDays(2)
|
|
|
+ } else if ('3' === timesTamp.value) {
|
|
|
+ queryTerm.startTime = getDateTiffDays(3)
|
|
|
+ }
|
|
|
+ queryTerm.endTime = nowDate + " 23:59:59"
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|