|  | @@ -1,63 +1,171 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <el-dialog v-model="dialog" title="自动上传信息" @closed="emit('close')">
 | 
	
		
			
				|  |  | -    <el-form label-width="120px">
 | 
	
		
			
				|  |  | -      <el-form-item label="日期">
 | 
	
		
			
				|  |  | -        <el-date-picker
 | 
	
		
			
				|  |  | -            v-model="dateRange"
 | 
	
		
			
				|  |  | -            type="daterange"
 | 
	
		
			
				|  |  | -            format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | -            placeholder="开始日期"
 | 
	
		
			
				|  |  | -            range-separator="至"
 | 
	
		
			
				|  |  | -            start-placeholder="开始日期"
 | 
	
		
			
				|  |  | -            end-placeholder="结束日期"
 | 
	
		
			
				|  |  | -            :shortcuts="shortcuts"
 | 
	
		
			
				|  |  | -            style="width: 120px"
 | 
	
		
			
				|  |  | -            value-format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | -        />
 | 
	
		
			
				|  |  | -      </el-form-item>
 | 
	
		
			
				|  |  | -    </el-form>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    <template #footer>
 | 
	
		
			
				|  |  | -      <el-button type="primary" @click="ExportToExcel">导出Excel</el-button>
 | 
	
		
			
				|  |  | +    <page-layer>
 | 
	
		
			
				|  |  | +    <template #header>
 | 
	
		
			
				|  |  | +          <el-input v-model="queryuploadTerm.patNo" clearable placeholder="住院号"
 | 
	
		
			
				|  |  | +                    @blur="patNo = $event.target.value.trim()" @keyup.enter="queryPage" style="width: 110px"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-model="queryuploadTerm.times" clearable placeholder="住院次数"
 | 
	
		
			
				|  |  | +                  @blur="times = $event.target.value.trim()"  style="width: 80px"></el-input>
 | 
	
		
			
				|  |  | +          <el-select v-model="queryuploadTerm.typeFlag" placeholder="上传类型" style="width: 110px">
 | 
	
		
			
				|  |  | +            <el-option label="全部" value="0" />
 | 
	
		
			
				|  |  | +            <el-option label="自动上传" value="1" />
 | 
	
		
			
				|  |  | +            <el-option label="手动上传" value="2" />
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +          <el-select v-model="queryuploadTerm.flag" placeholder="上传结果标识" style="width: 110px" >
 | 
	
		
			
				|  |  | +            <el-option label="全部" value="0" />
 | 
	
		
			
				|  |  | +            <el-option label="上传成功" value="1" />
 | 
	
		
			
				|  |  | +            <el-option label="上传失败" value="2" />
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +            <span>上传时间</span>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +                  v-model="queryuploadTerm.uploadDateRange"
 | 
	
		
			
				|  |  | +                  type="daterange"
 | 
	
		
			
				|  |  | +                  format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | +                  placeholder="上传开始日期"
 | 
	
		
			
				|  |  | +                  range-separator="至"
 | 
	
		
			
				|  |  | +                  start-placeholder="上传开始日期"
 | 
	
		
			
				|  |  | +                  end-placeholder="上传结束日期"
 | 
	
		
			
				|  |  | +                  :shortcuts="clockinShortcuts"
 | 
	
		
			
				|  |  | +                  style="width: 180px"
 | 
	
		
			
				|  |  | +                  value-format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        <span>结算时间</span>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +                  v-model="queryuploadTerm.setlDateRange"
 | 
	
		
			
				|  |  | +                  type="daterange"
 | 
	
		
			
				|  |  | +                  format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | +                  placeholder="结算开始日期"
 | 
	
		
			
				|  |  | +                  range-separator="至"
 | 
	
		
			
				|  |  | +                  start-placeholder="结算开始日期"
 | 
	
		
			
				|  |  | +                  end-placeholder="结算结束日期"
 | 
	
		
			
				|  |  | +                  :shortcuts="clockinShortcuts"
 | 
	
		
			
				|  |  | +                  style="width: 180px"
 | 
	
		
			
				|  |  | +                  value-format="YYYY-MM-DD"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +          <el-button icon="Search"  type="primary" @click="queryPage">查询</el-button>
 | 
	
		
			
				|  |  | +          <el-button type="primary" @click="ExportToExcel">导出Excel</el-button>
 | 
	
		
			
				|  |  |      </template>
 | 
	
		
			
				|  |  | -  </el-dialog>
 | 
	
		
			
				|  |  | +    <template #main>
 | 
	
		
			
				|  |  | +      <el-table ref="uploadTableRef" :data="queryuploadTerm.list" :height="tableHeight"   border highlight-current-row >
 | 
	
		
			
				|  |  | +        <el-table-column prop="patNo" label="住院号" width="80"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="times" label="住院次数" width="80"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="ledgerSn" label="账页号" width="80"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="typeFlagName" label="上传类型" width="80"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="flagName" label="上传结果标识" width="90"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="createdDate" label="上传时间" width="130"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="setlTime" label="患者结算时间" width="130"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="logText" label="日志" ></el-table-column>
 | 
	
		
			
				|  |  | +      </el-table>
 | 
	
		
			
				|  |  | +      <el-pagination
 | 
	
		
			
				|  |  | +              :current-page="queryuploadTerm.currentPage"
 | 
	
		
			
				|  |  | +              :page-size="queryuploadTerm.pageSize"
 | 
	
		
			
				|  |  | +              :page-sizes="[10, 20, 30, 40, 50, 100]"
 | 
	
		
			
				|  |  | +              :total="queryuploadTerm.total"
 | 
	
		
			
				|  |  | +              layout="total, sizes, prev, pager, next, jumper"
 | 
	
		
			
				|  |  | +              @size-change="handleSizeChange"
 | 
	
		
			
				|  |  | +              @current-change="handleCurrentChange"
 | 
	
		
			
				|  |  | +      ></el-pagination>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    </page-layer>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script setup name='ExportAutoUploadInfo'>
 | 
	
		
			
				|  |  | -import {shortcuts} from '@/data/shortcuts'
 | 
	
		
			
				|  |  | -import {onMounted} from "vue";
 | 
	
		
			
				|  |  | +import {clockinShortcuts} from '@/data/shortcuts'
 | 
	
		
			
				|  |  | +import {onMounted,ref,onActivated} from "vue";
 | 
	
		
			
				|  |  |  import {getServerDateApi} from "@/api/public-api";
 | 
	
		
			
				|  |  |  import moment from "moment";
 | 
	
		
			
				|  |  | -import {getFormatDatetime} from "@/utils/date";
 | 
	
		
			
				|  |  | +import {getDateRangeFormatDate} from "@/utils/date";
 | 
	
		
			
				|  |  |  import {downloadExcel} from "@/utils/excel";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +import PageLayer from "@/layout/PageLayer";
 | 
	
		
			
				|  |  | +import store from '@/store';
 | 
	
		
			
				|  |  | +import router from "@/router";
 | 
	
		
			
				|  |  | +import sleep from "@/utils/sleep";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  queryUploadInfo
 | 
	
		
			
				|  |  | +} from '@/api/medical-insurance/si-setl-upload';
 | 
	
		
			
				|  |  | +const windowSize = store.state.app.windowSize;
 | 
	
		
			
				|  |  | +const tableHeight = ref(windowSize.h - 70)
 | 
	
		
			
				|  |  |  const emit = defineEmits(['close'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const dialog = ref(true)
 | 
	
		
			
				|  |  | -let dateRange = $ref([])
 | 
	
		
			
				|  |  | +const uploadInfoData = ref([])
 | 
	
		
			
				|  |  | +const  queryuploadTerm = ref({
 | 
	
		
			
				|  |  | +  patNo:"",
 | 
	
		
			
				|  |  | +  times:null,
 | 
	
		
			
				|  |  | +  ledgerSn:null,
 | 
	
		
			
				|  |  | +  typeFlag:'0',
 | 
	
		
			
				|  |  | +  flag:'0',
 | 
	
		
			
				|  |  | +  updateStartTime:"",
 | 
	
		
			
				|  |  | +  updateEndTime:"",
 | 
	
		
			
				|  |  | +  setlStartTime:"",
 | 
	
		
			
				|  |  | +  setlEndTime:"",
 | 
	
		
			
				|  |  | +  uploadDateRange:[clockinShortcuts[0].value[0], clockinShortcuts[0].value[1]],
 | 
	
		
			
				|  |  | +  setlDateRange:[],
 | 
	
		
			
				|  |  | +  currentPage:1,
 | 
	
		
			
				|  |  | +  pageSize:40,
 | 
	
		
			
				|  |  | +  list:[],
 | 
	
		
			
				|  |  | +  total: 0
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const ExportToExcel = async () => {
 | 
	
		
			
				|  |  | -  if (!dateRange) return
 | 
	
		
			
				|  |  | +    createQuery()
 | 
	
		
			
				|  |  |    const data = {
 | 
	
		
			
				|  |  | -    param: {startTime: dateRange[0], endTime: dateRange[1]},
 | 
	
		
			
				|  |  | +    param: queryuploadTerm.value,
 | 
	
		
			
				|  |  |      url: '/setlListUpld/exportAutoUploadInfo',
 | 
	
		
			
				|  |  | -    fileName: `${dateRange[0]}至${dateRange[1]}.xlsx`,
 | 
	
		
			
				|  |  | +    fileName: '上传日志.xlsx',
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    setTimeout(() => {
 | 
	
		
			
				|  |  |      downloadExcel(data)
 | 
	
		
			
				|  |  |    }, 500)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -onMounted(async () => {
 | 
	
		
			
				|  |  | -  let res = await getServerDateApi()
 | 
	
		
			
				|  |  | -  let date = getFormatDatetime(res, 'YYYY-MM-DD')
 | 
	
		
			
				|  |  | -  let date1 = getFormatDatetime(moment(date).subtract(1, 'days')._d, 'YYYY-MM-DD')
 | 
	
		
			
				|  |  | -  dateRange[0] = date1
 | 
	
		
			
				|  |  | -  dateRange[1] = date1
 | 
	
		
			
				|  |  | +function createQuery() {
 | 
	
		
			
				|  |  | +    let uploadDates = getDateRangeFormatDate(queryuploadTerm.value.uploadDateRange)
 | 
	
		
			
				|  |  | +    let setlDates = getDateRangeFormatDate(queryuploadTerm.value.setlDateRange)
 | 
	
		
			
				|  |  | +    queryuploadTerm.value.updateStartTime =uploadDates.startTime
 | 
	
		
			
				|  |  | +    queryuploadTerm.value.updateEndTime =uploadDates.endTime
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    queryuploadTerm.value.setlStartTime =setlDates.startTime
 | 
	
		
			
				|  |  | +    queryuploadTerm.value.setlEndTime =setlDates.endTime
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +const queryPage=async () =>{
 | 
	
		
			
				|  |  | +    createQuery()
 | 
	
		
			
				|  |  | +    queryUploadInfo(queryuploadTerm.value).then((res) => {
 | 
	
		
			
				|  |  | +      queryuploadTerm.value.list = res.records?res.records:[]
 | 
	
		
			
				|  |  | +      queryuploadTerm.value.total =res.total
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +onActivated(async () => {
 | 
	
		
			
				|  |  | +    const params = router.currentRoute.value.query
 | 
	
		
			
				|  |  | +    if (params && params.patNo && params.times && params.ledgerSn) {
 | 
	
		
			
				|  |  | +        queryuploadTerm.value.times = params.times
 | 
	
		
			
				|  |  | +        queryuploadTerm.value.patNo = params.patNo
 | 
	
		
			
				|  |  | +        queryuploadTerm.value.ledgerSn = params.ledgerSn
 | 
	
		
			
				|  |  | +        queryuploadTerm.value.uploadDateRange = []
 | 
	
		
			
				|  |  | +        queryuploadTerm.value.setlDateRange = []
 | 
	
		
			
				|  |  | +        await sleep(300);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    await queryPage()
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +onMounted( () => {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const handleSizeChange = (val) => {
 | 
	
		
			
				|  |  | +  queryuploadTerm.value.pageSize = val
 | 
	
		
			
				|  |  | +  queryPage()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +const handleCurrentChange = (val) => {
 | 
	
		
			
				|  |  | +  queryuploadTerm.value.currentPage = val
 | 
	
		
			
				|  |  | +  queryPage()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style scoped>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  .maxhight{
 | 
	
		
			
				|  |  | +    height: 950px;
 | 
	
		
			
				|  |  | +    overflow: auto;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  </style>
 |