|
|
@ -1,24 +1,35 @@ |
|
|
|
<template> |
|
|
|
<div style="margin: 1% 1% 1% 1%" > |
|
|
|
<div style="margin: 2% 0 2% 0" > |
|
|
|
<el-button type="primary" round @click="handleProjectBoardInfo" :loading="btnLoading1"> 导出晾晒看报</el-button> |
|
|
|
<el-button type="primary" round @click="handleTimeOutInfo" :loading="btnLoading2"> 导出晾晒比分评分表</el-button> |
|
|
|
<el-button type="primary" round @click="handleProjectResult" :loading="btnLoading3"> 导出项目成果</el-button> |
|
|
|
<div style="margin: 1% 1% 1% 1%"> |
|
|
|
<div style="margin: 2% 0 2% 0"> |
|
|
|
<el-button type="primary" round @click="handleProjectBoardInfo" :loading="btnLoading1"> |
|
|
|
导出晾晒看报</el-button |
|
|
|
> |
|
|
|
<el-button type="primary" round @click="handleTimeOutInfo" :loading="btnLoading2"> |
|
|
|
导出晾晒比分评分表</el-button |
|
|
|
> |
|
|
|
<el-button type="primary" round @click="handleProjectResult" :loading="btnLoading3"> |
|
|
|
导出项目成果</el-button |
|
|
|
> |
|
|
|
<el-button type="primary" style="float: right; margin-right: 2%" @click="getInfo"> |
|
|
|
查询</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<a-table :dataSource="dataSource" :columns="columns" bordered :loading="tableLoading" :pagination="false"> |
|
|
|
<a-table |
|
|
|
:dataSource="dataSource" |
|
|
|
:columns="columns" |
|
|
|
bordered |
|
|
|
:loading="tableLoading" |
|
|
|
:pagination="false" |
|
|
|
> |
|
|
|
<template #bodyCell="{ column, record }"> |
|
|
|
<template v-if="column && record && column.dataIndex === 'reformName'"> |
|
|
|
{{ getReformName(record.reformName)}} |
|
|
|
<template v-if="column && record && column.dataIndex === 'reformName'"> |
|
|
|
{{ getReformName(record.reformName) }} |
|
|
|
</template> |
|
|
|
<template v-if="column && record && column.dataIndex === 'superLeader'"> |
|
|
|
{{ getSuperLeader(record.superLeader) }} |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<template v-if="column && record && column.dataIndex === 'superLeader'"> |
|
|
|
{{ getSuperLeader(record.superLeader)}} |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
</a-table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -26,13 +37,13 @@ |
|
|
|
|
|
|
|
<script lang="ts" setup> |
|
|
|
//ts语法 |
|
|
|
import { queryBoardInfo, projectBoardInfo, timeOutInfo,projectResult} from './api'; |
|
|
|
import { onMounted, ref } from 'vue'; |
|
|
|
import { downloadFile } from "@/api/common/api" |
|
|
|
const tableLoading = ref(false) |
|
|
|
const btnLoading1 = ref(false) |
|
|
|
const btnLoading2 = ref(false) |
|
|
|
const btnLoading3 = ref(false) |
|
|
|
import { queryBoardInfo, projectBoardInfo, timeOutInfo, projectResult } from './api'; |
|
|
|
import { onMounted, ref, nextTick } from 'vue'; |
|
|
|
import { downloadFile } from '@/api/common/api'; |
|
|
|
const tableLoading = ref(false); |
|
|
|
const btnLoading1 = ref(false); |
|
|
|
const btnLoading2 = ref(false); |
|
|
|
const btnLoading3 = ref(false); |
|
|
|
const dataSource = ref([]); |
|
|
|
const columns = [ |
|
|
|
{ |
|
|
@ -84,27 +95,32 @@ |
|
|
|
}, |
|
|
|
]; |
|
|
|
const getInfo = async () => { |
|
|
|
tableLoading.value = true |
|
|
|
tableLoading.value = true; |
|
|
|
const res = await queryBoardInfo(); |
|
|
|
tableLoading.value = false |
|
|
|
tableLoading.value = false; |
|
|
|
console.log(res); |
|
|
|
dataSource.value = res; |
|
|
|
}; |
|
|
|
function handleProjectBoardInfo() { |
|
|
|
btnLoading1.value = true |
|
|
|
downloadFile("/export/projectBoardInfo", '晾晒看报.xlsx',{}) |
|
|
|
btnLoading1.value = false |
|
|
|
btnLoading1.value = true; |
|
|
|
downloadFile('/export/projectBoardInfo', '晾晒看报.xlsx', {}); |
|
|
|
nextTick(() => { |
|
|
|
btnLoading1.value = false; |
|
|
|
}); |
|
|
|
} |
|
|
|
function handleTimeOutInfo() { |
|
|
|
btnLoading2.value = true |
|
|
|
downloadFile("/export/timeOutInfo", '评分表.xlsx',{}) |
|
|
|
btnLoading2.value = false |
|
|
|
btnLoading2.value = true; |
|
|
|
downloadFile('/export/timeOutInfo', '评分表.xlsx', {}); |
|
|
|
nextTick(() => { |
|
|
|
btnLoading2.value = false; |
|
|
|
}); |
|
|
|
} |
|
|
|
function handleProjectResult() { |
|
|
|
btnLoading3.value = true |
|
|
|
downloadFile("/export/projectResult", '项目成果.xlsx',{}) |
|
|
|
btnLoading3.value = false |
|
|
|
|
|
|
|
btnLoading3.value = true; |
|
|
|
downloadFile('/export/projectResult', '项目成果.xlsx', {}); |
|
|
|
nextTick(() => { |
|
|
|
btnLoading3.value = false; |
|
|
|
}); |
|
|
|
} |
|
|
|
//合并行 |
|
|
|
const getRowSpanMap = (name) => { |
|
|
@ -115,10 +131,7 @@ |
|
|
|
const current = dataSource.value[k][name]; |
|
|
|
let count = 1; |
|
|
|
|
|
|
|
while ( |
|
|
|
k + count < dataSource.value.length && |
|
|
|
dataSource.value[k + count][name] === current |
|
|
|
) { |
|
|
|
while (k + count < dataSource.value.length && dataSource.value[k + count][name] === current) { |
|
|
|
count++; |
|
|
|
} |
|
|
|
|
|
|
@ -130,97 +143,97 @@ |
|
|
|
|
|
|
|
k += count; // 移动到下一个不同元素的位置 |
|
|
|
} |
|
|
|
return spans |
|
|
|
return spans; |
|
|
|
}; |
|
|
|
//显示文本 |
|
|
|
const getReformName = (name:any)=>{ |
|
|
|
let text = '' |
|
|
|
switch(name){ |
|
|
|
case '1' : |
|
|
|
text = '2+N紧密型城市医疗集团建设'; |
|
|
|
break; |
|
|
|
case '2' : |
|
|
|
text = '9+9+N县域医共体建设'; |
|
|
|
break; |
|
|
|
case '3' : |
|
|
|
text = '市县公立医院妇幼能力建设'; |
|
|
|
break; |
|
|
|
case '4' : |
|
|
|
text = '打造长三角市域医学高地'; |
|
|
|
break; |
|
|
|
case '5' : |
|
|
|
text = '高水平县级医院建设'; |
|
|
|
break; |
|
|
|
case '6' : |
|
|
|
text = '公立医院院前急救与院内救治服务融合发展'; |
|
|
|
break; |
|
|
|
case '7' : |
|
|
|
text = '医共体下三医联动改革'; |
|
|
|
break; |
|
|
|
case '8' : |
|
|
|
text = '智慧医院服务能力提档升级'; |
|
|
|
break; |
|
|
|
case '9' : |
|
|
|
text = '数字健康大脑建设'; |
|
|
|
break; |
|
|
|
case '10' : |
|
|
|
text = '高层次人才引育'; |
|
|
|
break; |
|
|
|
case '11' : |
|
|
|
text = '舒心就医'; |
|
|
|
break; |
|
|
|
case '12' : |
|
|
|
text = '中医药固本培元'; |
|
|
|
break; |
|
|
|
case '13' : |
|
|
|
text = '公立医院运营管理'; |
|
|
|
break; |
|
|
|
case '14' : |
|
|
|
text = '公立医院党建全行业引领改革工程'; |
|
|
|
break; |
|
|
|
case '15' : |
|
|
|
text = '高质量临床重点专科建设'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
text='未知' |
|
|
|
} |
|
|
|
return text |
|
|
|
} |
|
|
|
const getSuperLeader = (name:any)=>{ |
|
|
|
let text = '' |
|
|
|
switch(name){ |
|
|
|
case '1' : |
|
|
|
text = '医政处'; |
|
|
|
break; |
|
|
|
case '2' : |
|
|
|
text = '妇幼处'; |
|
|
|
break; |
|
|
|
case '3' : |
|
|
|
text = '科教处'; |
|
|
|
break; |
|
|
|
case '4' : |
|
|
|
text = '体改处'; |
|
|
|
break; |
|
|
|
case '5' : |
|
|
|
text = '规信处'; |
|
|
|
break; |
|
|
|
case '6' : |
|
|
|
text = '中医处'; |
|
|
|
break; |
|
|
|
case '7' : |
|
|
|
text = '财审处'; |
|
|
|
break; |
|
|
|
case '8' : |
|
|
|
text = '机关党委'; |
|
|
|
break; |
|
|
|
case '9' : |
|
|
|
text = '组织人事处'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
text='未知' |
|
|
|
} |
|
|
|
return text |
|
|
|
} |
|
|
|
const getReformName = (name: any) => { |
|
|
|
let text = ''; |
|
|
|
switch (name) { |
|
|
|
case '1': |
|
|
|
text = '2+N紧密型城市医疗集团建设'; |
|
|
|
break; |
|
|
|
case '2': |
|
|
|
text = '9+9+N县域医共体建设'; |
|
|
|
break; |
|
|
|
case '3': |
|
|
|
text = '市县公立医院妇幼能力建设'; |
|
|
|
break; |
|
|
|
case '4': |
|
|
|
text = '打造长三角市域医学高地'; |
|
|
|
break; |
|
|
|
case '5': |
|
|
|
text = '高水平县级医院建设'; |
|
|
|
break; |
|
|
|
case '6': |
|
|
|
text = '公立医院院前急救与院内救治服务融合发展'; |
|
|
|
break; |
|
|
|
case '7': |
|
|
|
text = '医共体下三医联动改革'; |
|
|
|
break; |
|
|
|
case '8': |
|
|
|
text = '智慧医院服务能力提档升级'; |
|
|
|
break; |
|
|
|
case '9': |
|
|
|
text = '数字健康大脑建设'; |
|
|
|
break; |
|
|
|
case '10': |
|
|
|
text = '高层次人才引育'; |
|
|
|
break; |
|
|
|
case '11': |
|
|
|
text = '舒心就医'; |
|
|
|
break; |
|
|
|
case '12': |
|
|
|
text = '中医药固本培元'; |
|
|
|
break; |
|
|
|
case '13': |
|
|
|
text = '公立医院运营管理'; |
|
|
|
break; |
|
|
|
case '14': |
|
|
|
text = '公立医院党建全行业引领改革工程'; |
|
|
|
break; |
|
|
|
case '15': |
|
|
|
text = '高质量临床重点专科建设'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
text = '未知'; |
|
|
|
} |
|
|
|
return text; |
|
|
|
}; |
|
|
|
const getSuperLeader = (name: any) => { |
|
|
|
let text = ''; |
|
|
|
switch (name) { |
|
|
|
case '1': |
|
|
|
text = '医政处'; |
|
|
|
break; |
|
|
|
case '2': |
|
|
|
text = '妇幼处'; |
|
|
|
break; |
|
|
|
case '3': |
|
|
|
text = '科教处'; |
|
|
|
break; |
|
|
|
case '4': |
|
|
|
text = '体改处'; |
|
|
|
break; |
|
|
|
case '5': |
|
|
|
text = '规信处'; |
|
|
|
break; |
|
|
|
case '6': |
|
|
|
text = '中医处'; |
|
|
|
break; |
|
|
|
case '7': |
|
|
|
text = '财审处'; |
|
|
|
break; |
|
|
|
case '8': |
|
|
|
text = '机关党委'; |
|
|
|
break; |
|
|
|
case '9': |
|
|
|
text = '组织人事处'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
text = '未知'; |
|
|
|
} |
|
|
|
return text; |
|
|
|
}; |
|
|
|
onMounted(() => { |
|
|
|
getInfo(); |
|
|
|
}); |
|
|
|