25 changed files with 949 additions and 66 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 { qingkuangcolumns, qingkuangUrtcolumns } from './qingkuang.data'; |
|||
import { getSuperLeaderApproveInfo, getURTUnApprovedDaysPage } from './qingkuang.api'; |
|||
const activeKey = ref('1'); |
|||
const [registerTable, { reload }] = useTable({ |
|||
title: '详情', |
|||
api: getSuperLeaderApproveInfo, |
|||
columns: qingkuangcolumns, |
|||
useSearchForm: false, |
|||
//表单查询项设置 |
|||
// formConfig: { |
|||
// schemas: urtFormSchema, |
|||
// } |
|||
}); |
|||
const [registerURTTable, { reload: urtreload }] = useTable({ |
|||
title: '详情', |
|||
api: getURTUnApprovedDaysPage, |
|||
columns: qingkuangUrtcolumns, |
|||
useSearchForm: false, |
|||
//表单查询项设置 |
|||
// formConfig: { |
|||
// schemas: urtFormSchema, |
|||
// } |
|||
}); |
|||
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", |
|||
|
|||
getDimensionPageSorted= "/huzhouProject/getDimensionPageSorted", |
|||
getPageSorted = "/huzhouProject/getPageSorted", |
|||
} |
|||
/** |
|||
* 总体看板 |
|||
*/ |
|||
|
|||
export const getSuperLeaderApproveInfo = (params?) => defHttp.get({ url: Api.getSuperLeaderApproveInfo,params}) |
|||
export const getURTUnApprovedDaysPage = (params?) => defHttp.get({ url: Api.getURTUnApprovedDaysPage,params}) |
|||
// export const getDimensionPageSorted = (params) => defHttp.get({ url: Api.getDimensionPageSorted,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,231 @@ |
|||
import { FormSchema } from '@/components/Form'; |
|||
import { BasicColumn } from '@/components/Table'; |
|||
|
|||
export const qingkuangcolumns: BasicColumn[] = [ |
|||
{ |
|||
title: '上级指导处室', |
|||
dataIndex: 'superLeader', |
|||
format: 'dict|superLeader', |
|||
resizable: true |
|||
}, |
|||
{ |
|||
title: '改革所属项目', |
|||
dataIndex: 'reformName', |
|||
format: 'dict|reformTasks', |
|||
resizable: true |
|||
}, |
|||
|
|||
{ |
|||
title: '处理人', |
|||
dataIndex: 'nickname', |
|||
}, |
|||
{ |
|||
title: '手机号', |
|||
dataIndex: 'phone', |
|||
}, |
|||
{ |
|||
title: '未审批流程数', |
|||
dataIndex: 'unapprovedCount', |
|||
}, |
|||
{ |
|||
title: '2天未审批流程数', |
|||
dataIndex: 'unapprovedCount2d', |
|||
}, |
|||
{ |
|||
title: '3天未审批流程数', |
|||
dataIndex: 'unapprovedCount3d', |
|||
}, |
|||
{ |
|||
title: '5天未审批流程数', |
|||
dataIndex: 'unapprovedCount5d', |
|||
}, |
|||
{ |
|||
title: '超过5天未审批流程数', |
|||
dataIndex: 'unapprovedCountOver5d', |
|||
} |
|||
|
|||
]; |
|||
|
|||
export const qingkuangUrtcolumns: BasicColumn[] = [ |
|||
{ |
|||
title: '联审部门', |
|||
dataIndex: 'urtDep', |
|||
resizable: true |
|||
}, |
|||
|
|||
{ |
|||
title: '处理人', |
|||
dataIndex: 'nickname', |
|||
}, |
|||
{ |
|||
title: '手机号', |
|||
dataIndex: 'phone', |
|||
}, |
|||
{ |
|||
title: '未审批流程数', |
|||
dataIndex: 'unapprovedCount', |
|||
}, |
|||
{ |
|||
title: '2天未审批流程数', |
|||
dataIndex: 'unapprovedCount2d', |
|||
}, |
|||
{ |
|||
title: '3天未审批流程数', |
|||
dataIndex: 'unapprovedCount3d', |
|||
}, |
|||
{ |
|||
title: '5天未审批流程数', |
|||
dataIndex: 'unapprovedCount5d', |
|||
}, |
|||
{ |
|||
title: '超过5天未审批流程数', |
|||
dataIndex: 'unapprovedCountOver5d', |
|||
} |
|||
|
|||
]; |
|||
export const danweizhutisearchFormSchema: FormSchema[] = [ |
|||
{ |
|||
//标题名称
|
|||
label: '责任单位', |
|||
//字段
|
|||
field: 'dutyWorkplace', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
{ |
|||
label: '行政区划', |
|||
field: 'adminDivision', |
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
//colProps: { span: 6 },
|
|||
}, |
|||
|
|||
{ |
|||
//标题名称
|
|||
label: '单位属性', |
|||
//字段
|
|||
field: 'workplaceProperties', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
|
|||
]; |
|||
|
|||
export const shifanxiangmucolumns: BasicColumn[] = [ |
|||
{ |
|||
title: '项目名称', |
|||
dataIndex: 'projectName', |
|||
resizable: true, |
|||
ellipsis: false |
|||
}, |
|||
{ |
|||
title: '行政区划', |
|||
dataIndex: 'adminDivision', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '责任单位', |
|||
dataIndex: 'dutyWorkplace', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '单位属性', |
|||
dataIndex: 'workplaceProperties', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '上级指导处室', |
|||
dataIndex: 'superLeader', |
|||
format: 'dict|superLeader', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '合同金额', |
|||
dataIndex: 'totalMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '合同资金支付率', |
|||
dataIndex: 'paymentExecutionRate', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '中央资金', |
|||
dataIndex: 'centralMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '省级资金', |
|||
dataIndex: 'provincialMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '上级资金支付率', |
|||
dataIndex: 'superiorFundExecutionRate', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '项目总进度', |
|||
dataIndex: 'projectProgress', |
|||
resizable: true, |
|||
slots: { customRender: 'projectProgress' }, |
|||
fixed: 'right', |
|||
sorter: true, |
|||
}, |
|||
]; |
|||
|
|||
export const shifanxiangsearchFormSchema: FormSchema[] = [ |
|||
{ |
|||
label: '项目名称', |
|||
field: 'projectName', |
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
//colProps: { span: 6 },
|
|||
}, |
|||
{ |
|||
label: '行政区划', |
|||
field: 'adminDivision', |
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
//colProps: { span: 6 },
|
|||
}, |
|||
{ |
|||
//标题名称
|
|||
label: '责任单位', |
|||
//字段
|
|||
field: 'dutyWorkplace', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
{ |
|||
//标题名称
|
|||
label: '单位属性', |
|||
//字段
|
|||
field: 'workplaceProperties', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
{ |
|||
field: 'superLeader', |
|||
label: '上级指导处室', |
|||
component: 'DictSelect', |
|||
componentProps: { |
|||
dictType: 'superLeader', |
|||
}, |
|||
labelWidth: 'auto' |
|||
|
|||
}, |
|||
]; |
@ -0,0 +1,100 @@ |
|||
<template> |
|||
<div> |
|||
<!--引用表格--> |
|||
<BasicTable @register="registerTable"> |
|||
<template #action="{ record }"> |
|||
<!-- <TableAction :actions="getTableAction(record)" /> --> |
|||
<TableAction :actions="getTableAction(record)"/> |
|||
</template> |
|||
</BasicTable> |
|||
<planinfoFileDetail @register="registerFileInfo" /> |
|||
|
|||
</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 { urtgcolumns, urtFormSchema } from './urt.data'; |
|||
import { getURTProcessPage } from './urt.api'; |
|||
const [registerFileInfo, { openModal: openFileInfo }] = useModal(); //文件上传和查看 |
|||
import planinfoFileDetail from '@/views/projectLib/projectPlan/planinfoFileDetail.vue'; |
|||
|
|||
const [registerTable, { reload, getForm }] = useTable({ |
|||
title: '详情', |
|||
api: getURTProcessPage, |
|||
columns: urtgcolumns, |
|||
useSearchForm: true, |
|||
actionColumn: { |
|||
width: 140, |
|||
title: '操作', |
|||
dataIndex: 'action', |
|||
slots: { customRender: 'action' }, |
|||
}, |
|||
//表单查询项设置 |
|||
formConfig: { |
|||
schemas: urtFormSchema, |
|||
} |
|||
}); |
|||
|
|||
|
|||
function getTableAction(record): ActionItem[] { |
|||
return [ |
|||
{ |
|||
label: '详情', |
|||
onClick: handleDetail.bind(null, record), |
|||
} |
|||
|
|||
]; |
|||
} |
|||
function handleDetail(record) { |
|||
openFileInfo(true, { |
|||
planinfoid: record.planinfoid, |
|||
taskName: record.taskName, |
|||
isfinish: record.isfinish, |
|||
projectid: record.id, |
|||
}); |
|||
} |
|||
// 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 handleAdd() { |
|||
openModal(true, { id: null }) |
|||
} |
|||
function handleModify(record) { |
|||
openModal(true, { id: record.id }) |
|||
|
|||
} |
|||
function handleSubmit(record) { |
|||
|
|||
|
|||
} |
|||
function closeModel() { |
|||
reload() |
|||
} |
|||
|
|||
</script> |
|||
|
|||
<style scoped></style> |
@ -0,0 +1,24 @@ |
|||
import { defHttp } from '@/utils/http/axios'; |
|||
|
|||
export enum Api { |
|||
getURTProcessPage = '/workflow/getURTProcessPage', |
|||
|
|||
showCountBoardByReformName = "/huzhouProject/showCountBoardByReformName", |
|||
showCountBoardByAdminDivision = "/huzhouProject/showCountBoardByAdminDivision", |
|||
|
|||
getDimensionPageSorted= "/huzhouProject/getDimensionPageSorted", |
|||
getPageSorted = "/huzhouProject/getPageSorted", |
|||
} |
|||
/** |
|||
* 总体看板 |
|||
*/ |
|||
|
|||
export const getURTProcessPage = (params?) => defHttp.get({ url: Api.getURTProcessPage,params}) |
|||
// export const showCountBoardByAdminDivision = (params?) => defHttp.get({ url: Api.showCountBoardByAdminDivision,params})
|
|||
// export const getDimensionPageSorted = (params) => defHttp.get({ url: Api.getDimensionPageSorted,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,182 @@ |
|||
import { FormSchema } from '@/components/Form'; |
|||
import { BasicColumn } from '@/components/Table'; |
|||
|
|||
export const urtgcolumns: BasicColumn[] = [ |
|||
{ |
|||
title: '项目名称', |
|||
dataIndex: 'projectName', |
|||
resizable: true, |
|||
ellipsis: false, |
|||
}, |
|||
{ |
|||
title: '市卫生健康委', |
|||
dataIndex: 'shwjk', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市财政局', |
|||
dataIndex: 'sczj', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市发展改革委', |
|||
dataIndex: 'sfzgw', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市数据局', |
|||
dataIndex: 'ssjj', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市委网信办', |
|||
dataIndex: 'swxb', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市密码管理局', |
|||
dataIndex: 'smmglj', |
|||
ellipsis: false, |
|||
|
|||
}, |
|||
{ |
|||
title: '市公安局', |
|||
dataIndex: 'sgaj', |
|||
ellipsis: false, |
|||
|
|||
} |
|||
]; |
|||
export const urtFormSchema: FormSchema[] = [ |
|||
{ |
|||
//标题名称
|
|||
label: '项目名称', |
|||
//字段
|
|||
field: 'projectName', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
|
|||
]; |
|||
|
|||
export const shifanxiangmucolumns: BasicColumn[] = [ |
|||
{ |
|||
title: '项目名称', |
|||
dataIndex: 'projectName', |
|||
resizable: true, |
|||
ellipsis:false |
|||
}, |
|||
{ |
|||
title: '行政区划', |
|||
dataIndex: 'adminDivision', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '责任单位', |
|||
dataIndex: 'dutyWorkplace', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '单位属性', |
|||
dataIndex: 'workplaceProperties', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '上级指导处室', |
|||
dataIndex: 'superLeader', |
|||
format: 'dict|superLeader', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '合同金额', |
|||
dataIndex: 'totalMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '合同资金支付率', |
|||
dataIndex: 'paymentExecutionRate', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '中央资金', |
|||
dataIndex: 'centralMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '省级资金', |
|||
dataIndex: 'provincialMoney', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '上级资金支付率', |
|||
dataIndex: 'superiorFundExecutionRate', |
|||
resizable: true, |
|||
sorter: true, |
|||
}, |
|||
{ |
|||
title: '项目总进度', |
|||
dataIndex: 'projectProgress', |
|||
resizable: true, |
|||
slots: { customRender: 'projectProgress' }, |
|||
fixed: 'right', |
|||
sorter: true, |
|||
}, |
|||
]; |
|||
|
|||
export const shifanxiangsearchFormSchema: FormSchema[] = [ |
|||
{ |
|||
label: '项目名称', |
|||
field: 'projectName', |
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
//colProps: { span: 6 },
|
|||
}, |
|||
{ |
|||
label: '行政区划', |
|||
field: 'adminDivision', |
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
//colProps: { span: 6 },
|
|||
}, |
|||
{ |
|||
//标题名称
|
|||
label: '责任单位', |
|||
//字段
|
|||
field: 'dutyWorkplace', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
{ |
|||
//标题名称
|
|||
label: '单位属性', |
|||
//字段
|
|||
field: 'workplaceProperties', |
|||
//组件 支持组件详见 components/Form/src/types/index.ts 中的 ComponentType
|
|||
component: 'Input', |
|||
labelWidth: 'auto' |
|||
}, |
|||
{ |
|||
field: 'superLeader', |
|||
label: '上级指导处室', |
|||
component: 'DictSelect', |
|||
componentProps: { |
|||
dictType: 'superLeader', |
|||
}, |
|||
labelWidth: 'auto' |
|||
|
|||
}, |
|||
]; |
Loading…
Reference in new issue