zhouhaibin
2 months ago
7 changed files with 1024 additions and 93 deletions
@ -0,0 +1,90 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
|
||||
|
<a-tabs v-model:activeKey="activeKey" type="card" @change="handleTabChange"> |
||||
|
<a-tab-pane key="1" tab="汇总"> |
||||
|
<BasicTable @register="registerTable"> |
||||
|
<template #action="{ record }"> |
||||
|
<!-- <TableAction :actions="getTableAction(record)" /> --> |
||||
|
</template> |
||||
|
</BasicTable> |
||||
|
</a-tab-pane> |
||||
|
<a-tab-pane key="2" tab="晾晒看板"> |
||||
|
<BasicTable @register="registerURTTable"> |
||||
|
<template #action="{ record }"> |
||||
|
<!-- <TableAction :actions="getTableAction(record)" /> --> |
||||
|
</template> |
||||
|
</BasicTable> |
||||
|
</a-tab-pane> |
||||
|
</a-tabs> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script lang="ts" name="system-user" setup> |
||||
|
//ts语法 |
||||
|
import { ref } from 'vue'; |
||||
|
import { ActionItem, BasicTable, TableAction, useTable } from '@/components/Table'; |
||||
|
import { useModal, BasicModal } from '@/components/Modal'; |
||||
|
|
||||
|
import { huizongcolumns, liangshaicolumns,searchFormSchema } from './liangShaiKanBan.data'; |
||||
|
import { countStageByRefrom, getStagePage } from './liangShaiKanBan.api'; |
||||
|
const activeKey = ref('1'); |
||||
|
const [registerTable, { reload }] = useTable({ |
||||
|
title: '详情', |
||||
|
api: countStageByRefrom, |
||||
|
columns: huizongcolumns, |
||||
|
useSearchForm: false, |
||||
|
//表单查询项设置 |
||||
|
// formConfig: { |
||||
|
// schemas: urtFormSchema, |
||||
|
// } |
||||
|
}); |
||||
|
const [registerURTTable, { reload: urtreload }] = useTable({ |
||||
|
title: '详情', |
||||
|
api: getStagePage, |
||||
|
columns: liangshaicolumns, |
||||
|
useSearchForm: true, |
||||
|
//表单查询项设置 |
||||
|
formConfig: { |
||||
|
schemas: searchFormSchema, |
||||
|
} |
||||
|
}); |
||||
|
function handleTabChange(key) { |
||||
|
// activeKey.value = key; |
||||
|
if (key === '1') { |
||||
|
reload(); |
||||
|
} else { |
||||
|
urtreload(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// function getDropDownAction(record): ActionItem[] { |
||||
|
// return [ |
||||
|
// { |
||||
|
// label: '修改', |
||||
|
// ifShow: () => { |
||||
|
// return isShowByRoles('manageOrg') |
||||
|
// }, |
||||
|
// onClick: handleModify.bind(null, record) |
||||
|
// }, |
||||
|
// { |
||||
|
// label: '删除', |
||||
|
// ifShow: () => { |
||||
|
// return isShowByRoles('manageOrg') |
||||
|
// }, |
||||
|
// popConfirm: { |
||||
|
// title: '确定删除吗?', |
||||
|
// confirm: handleDelete.bind(null, record), |
||||
|
// }, |
||||
|
// } |
||||
|
|
||||
|
// ]; |
||||
|
// } |
||||
|
|
||||
|
function handleSubmit(record) {} |
||||
|
function closeModel() { |
||||
|
reload(); |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped></style> |
@ -0,0 +1,24 @@ |
|||||
|
import { defHttp } from '@/utils/http/axios'; |
||||
|
|
||||
|
export enum Api { |
||||
|
getSuperLeaderApproveInfo = '/workflow/getSuperLeaderApproveInfo', |
||||
|
|
||||
|
getURTUnApprovedDaysPage = "/workflow/getURTUnApprovedDaysPage", |
||||
|
showCountBoardByAdminDivision = "/huzhouProject/showCountBoardByAdminDivision", |
||||
|
|
||||
|
countStageByRefrom= "/huzhouProject/countStageByRefrom", |
||||
|
getStagePage = "/huzhouProject/getStagePage", |
||||
|
} |
||||
|
/** |
||||
|
* 总体看板 |
||||
|
*/ |
||||
|
|
||||
|
export const countStageByRefrom = (params?) => defHttp.get({ url: Api.countStageByRefrom,params}) |
||||
|
export const getStagePage = (params?) => defHttp.get({ url: Api.getStagePage,params}) |
||||
|
// export const getDimensionPageSorted = (params) => defHttp.get({ url: Api.getDgetStagePageimensionPageSorted,params })
|
||||
|
// export const getPageSorted = (params) => defHttp.get({ url: Api.getPageSorted,params })
|
||||
|
|
||||
|
// export const submitplaninfoUploadFile = (params?) =>defHttp.post({ url: Api.submitplaninfoUploadFile,headers:{ "Content-Type": "multipart/form-data" }, params })
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,242 @@ |
|||||
|
import { FormSchema } from '@/components/Form'; |
||||
|
import { BasicColumn } from '@/components/Table'; |
||||
|
import { getDutyWorkplaceList } from '@/views/informationSub/countStatistics/countStatistics.api'; |
||||
|
async function getDutyWorkplaceOptions() { |
||||
|
let dutyWorkplaceOption = await getDutyWorkplaceList(); |
||||
|
|
||||
|
let uniqueList = [...new Set(dutyWorkplaceOption)]; |
||||
|
|
||||
|
let res = uniqueList.map((item) => { |
||||
|
return { |
||||
|
label: item, |
||||
|
value: item, |
||||
|
}; |
||||
|
}); |
||||
|
console.log('wwres', res); |
||||
|
|
||||
|
return res; |
||||
|
} |
||||
|
export const huizongcolumns: BasicColumn[] = [ |
||||
|
|
||||
|
{ |
||||
|
title: '改革所属项目', |
||||
|
dataIndex: 'reformName', |
||||
|
format: 'dict|reformTasks', |
||||
|
resizable: true |
||||
|
}, |
||||
|
{ |
||||
|
title: '任务牵头处室', |
||||
|
dataIndex: 'superLeader', |
||||
|
format: 'dict|superLeader', |
||||
|
resizable: true |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目总数', |
||||
|
dataIndex: 'projectNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目立项阶段(联审)', |
||||
|
dataIndex: 'reviewNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目立项阶段(核验)', |
||||
|
dataIndex: 'verifyNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目立项阶段(立项)', |
||||
|
dataIndex: 'approvalNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目立项阶段数量', |
||||
|
dataIndex: 'proposalNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目采购阶段数量', |
||||
|
dataIndex: 'purchaseNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目建设阶段数量', |
||||
|
dataIndex: 'buildNum', |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目验收阶段数量', |
||||
|
dataIndex: 'acceptanceNum', |
||||
|
}, |
||||
|
|
||||
|
]; |
||||
|
|
||||
|
export const liangshaicolumns: BasicColumn[] = [ |
||||
|
{ |
||||
|
title: '改革所属项目', |
||||
|
dataIndex: 'reformName', |
||||
|
format: 'dict|reformTasks', |
||||
|
resizable: true |
||||
|
}, |
||||
|
{ |
||||
|
title: '任务牵头处室', |
||||
|
dataIndex: 'superLeader', |
||||
|
format: 'dict|superLeader', |
||||
|
resizable: true |
||||
|
}, |
||||
|
{ |
||||
|
title: '项目名称', |
||||
|
dataIndex: 'projectName', |
||||
|
}, |
||||
|
{ |
||||
|
title: '责任单位', |
||||
|
dataIndex: 'dutyWorkplace', |
||||
|
}, |
||||
|
{ |
||||
|
title: '申报阶段', |
||||
|
dataIndex: 'declareStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '立项阶段(联审)', |
||||
|
dataIndex: 'reviewStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '立项阶段(核验)', |
||||
|
dataIndex: 'verifyStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '立项阶段(立项)', |
||||
|
dataIndex: 'approvalStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '采购阶段', |
||||
|
dataIndex: 'purchaseStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '建设阶段', |
||||
|
dataIndex: 'buildStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
{ |
||||
|
title: '验收阶段', |
||||
|
dataIndex: 'acceptanceStage', |
||||
|
format: 'dict|CompletionStatus', |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
]; |
||||
|
|
||||
|
export const searchFormSchema: FormSchema[] = [ |
||||
|
{ |
||||
|
label: '项目名称', |
||||
|
field: 'projectName', |
||||
|
component: 'Input', |
||||
|
labelWidth: 'auto' |
||||
|
//colProps: { span: 6 },
|
||||
|
}, |
||||
|
{ |
||||
|
label: '行政区划', |
||||
|
field: 'adminDivision', |
||||
|
component: 'Select', |
||||
|
labelWidth: 'auto', |
||||
|
componentProps: { |
||||
|
options: [ |
||||
|
{ |
||||
|
label: "市本级", |
||||
|
value: "市本级" |
||||
|
}, |
||||
|
{ |
||||
|
label: "吴兴区", |
||||
|
value: "吴兴区" |
||||
|
}, |
||||
|
{ |
||||
|
label: "南浔区", |
||||
|
value: "南浔区" |
||||
|
}, |
||||
|
{ |
||||
|
label: "德清县", |
||||
|
value: "德清县" |
||||
|
}, |
||||
|
{ |
||||
|
label: "长兴县", |
||||
|
value: "长兴县" |
||||
|
}, |
||||
|
{ |
||||
|
label: "安吉县", |
||||
|
value: "安吉县" |
||||
|
}, |
||||
|
] |
||||
|
} |
||||
|
//colProps: { span: 6 },
|
||||
|
}, |
||||
|
{ |
||||
|
//标题名称
|
||||
|
label: '责任单位', |
||||
|
//字段
|
||||
|
field: 'dutyWorkplace', |
||||
|
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
||||
|
component: 'ApiSelect', |
||||
|
componentProps: () => { |
||||
|
return { |
||||
|
api: () =>getDutyWorkplaceOptions() |
||||
|
} |
||||
|
}, |
||||
|
labelWidth: 'auto' |
||||
|
}, |
||||
|
{ |
||||
|
//标题名称
|
||||
|
label: '单位属性', |
||||
|
//字段
|
||||
|
field: 'workplaceProperties', |
||||
|
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
||||
|
component: 'Select', |
||||
|
componentProps: { |
||||
|
options: [ |
||||
|
{ |
||||
|
label: "医疗机构", |
||||
|
value: "医疗机构" |
||||
|
}, |
||||
|
{ |
||||
|
label: "卫生行政部门", |
||||
|
value: "卫生行政部门" |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
labelWidth: 'auto' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'reformName', |
||||
|
label: '改革所属项目', |
||||
|
component: 'DictSelect', |
||||
|
componentProps: { |
||||
|
dictType: 'reformTasks', |
||||
|
}, |
||||
|
itemProps: { validateTrigger: 'blur' }, |
||||
|
labelWidth: 'auto' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'superLeader', |
||||
|
label: '上级指导处室', |
||||
|
component: 'DictSelect', |
||||
|
componentProps: { |
||||
|
dictType: 'superLeader', |
||||
|
}, |
||||
|
labelWidth: 'auto' |
||||
|
|
||||
|
}, |
||||
|
// {
|
||||
|
// field: 'stage',
|
||||
|
// label: '项目状态',
|
||||
|
// component: 'DictSelect',
|
||||
|
// componentProps: {
|
||||
|
// dictType: 'projectStage',
|
||||
|
// },
|
||||
|
// labelWidth: 'auto'
|
||||
|
|
||||
|
// },
|
||||
|
]; |
Loading…
Reference in new issue