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