From 83aa8eb1dba7095fdb97074d382e9634917bb8bf Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Tue, 16 Apr 2024 16:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/ApprovalPageModel.vue | 2 - .../component/ProjectinfoComponent.vue | 38 ++--- .../initiatesProjectsApproval.vue | 102 +----------- ....vue => childProjectsApproval(弃用).vue} | 0 src/views/myWork/inComplete/inComplete.api.ts | 2 - .../projectArchive/SubmitProjectArchive.vue | 5 +- .../projectArchive/projectArchive.api.ts | 4 - .../projectContract/DetailTable.vue | 6 +- .../projectContract/projectContract.vue | 4 +- .../projectLib/projectInfo/projectInfo.api.ts | 6 - src/views/projectLib/projectPlan/index.vue | 4 +- .../projectLib/projectPlan/projectPlan.api.ts | 4 +- .../workReport/addModifyWorkreport.vue | 28 ++-- .../projectLib/workReport/detaiWorkReport.vue | 95 +++++++++++ src/views/projectLib/workReport/index.vue | 73 ++++---- .../workReport/setProjectWorkReport.vue | 58 +++++++ .../projectLib/workReport/workReport.api.ts | 8 +- .../projectLib/workReport/workReport.data.ts | 156 +++++++++--------- .../projectSummary/planSummary/index.vue | 2 +- 19 files changed, 319 insertions(+), 278 deletions(-) rename src/views/ProcessApprovalSubPage/initiatesProjectsApproval/{childProjectsApproval.vue => childProjectsApproval(弃用).vue} (100%) create mode 100644 src/views/projectLib/workReport/detaiWorkReport.vue create mode 100644 src/views/projectLib/workReport/setProjectWorkReport.vue diff --git a/src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue b/src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue index 8ffaba1..1125377 100644 --- a/src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue +++ b/src/views/ProcessApprovalSubPage/component/ApprovalPageModel.vue @@ -4,7 +4,6 @@ - @@ -16,7 +15,6 @@ import initiatesProjectsApproval from "../initiatesProjectsApproval.vue" import planFileApproval from '@/views/ProcessApprovalSubPage/planFileApproval.vue' import uploadfileApproval from '../uploadfileApproval.vue' import projectPlanApproval from '../projectPlanApproval.vue' -import ProjectArchiveApproval from '../ProjectArchiveApproval.vue' import fieldChangeApproval from '../fieldChangeApproval.vue' const [registerModal, { closeModal }] = useModalInner(); diff --git a/src/views/ProcessApprovalSubPage/component/ProjectinfoComponent.vue b/src/views/ProcessApprovalSubPage/component/ProjectinfoComponent.vue index 8db3981..cbfc202 100644 --- a/src/views/ProcessApprovalSubPage/component/ProjectinfoComponent.vue +++ b/src/views/ProcessApprovalSubPage/component/ProjectinfoComponent.vue @@ -75,25 +75,25 @@ function getTableAction(record): ActionItem[] { return [ { label: dataTo.title, - ifShow: () => { - if (dataTo.title == "新增项目周报") { - if (record.projectId == undefined) { - return true - } else { - return false - } - } else if (dataTo.title == "新增项目合同") { - if (record.projectId != undefined) { - return true - } else if (record.children == null) { - return true - } else { - return false - } - } else { - return true - } - }, + // ifShow: () => { + // if (dataTo.title == "新增项目周报") { + // if (record.projectId == undefined) { + // return true + // } else { + // return false + // } + // } else if (dataTo.title == "新增项目合同") { + // if (record.projectId != undefined) { + // return true + // } else if (record.children == null) { + // return true + // } else { + // return false + // } + // } else { + // return true + // } + // }, onClick: handlemodify.bind(null, record), } ]; diff --git a/src/views/ProcessApprovalSubPage/initiatesProjectsApproval.vue b/src/views/ProcessApprovalSubPage/initiatesProjectsApproval.vue index 96586a1..f60187c 100644 --- a/src/views/ProcessApprovalSubPage/initiatesProjectsApproval.vue +++ b/src/views/ProcessApprovalSubPage/initiatesProjectsApproval.vue @@ -1,32 +1,15 @@ + + \ No newline at end of file diff --git a/src/views/projectLib/workReport/index.vue b/src/views/projectLib/workReport/index.vue index 7dfceb2..16afb61 100644 --- a/src/views/projectLib/workReport/index.vue +++ b/src/views/projectLib/workReport/index.vue @@ -3,20 +3,21 @@ + @@ -28,21 +29,27 @@ import { useModal } from '@/components/Modal'; import { downloadFile } from "@/api/common/api" import { PageWrapper } from '@/components/Page'; import { isShowByRoles } from '@/views/projectLib/projectInfo/projectInfo.api'; -import { workReportShowcolumns, searchFormSchema } from '@/views/projectLib/workReport/workReport.data'; +import { workReportTablecolumns } from '@/views/projectLib/workReport/workReport.data'; import addModifyWorkreport from "@/views/projectLib/workReport/addModifyWorkreport.vue" +import setProjectWorkReport from "@/views/projectLib/workReport/setProjectWorkReport.vue" +import detaiWorkReport from "@/views/projectLib/workReport/detaiWorkReport.vue" + import ProjectinfoComponent from '@/views/ProcessApprovalSubPage/component/ProjectinfoComponent.vue' +import { searchFormSchema } from '@/views/projectLib/projectInfo/projectInfo.data'; + +import { workreportPageList, getNoTypeWorkReportPageList } from '@/views/projectLib/workReport/workReport.api'; +const [registeraddworkreport, { openModal,closeModal:closeModaladdworkreport }] = useModal();//新增修改周月报页面 +const [registersetProjectWorkReport, { openModal:opensetProjectWorkReport,closeModal:closeModalsetProjectWorkReport }] = useModal();//新增修改周月报页面 -import { workreportPageList, deleteWorkreport } from '@/views/projectLib/workReport/workReport.api'; -const [registeraddworkreport, { openModal,closeModal:closeModaladdworkreport }] = useModal(); -const [registerProjectinfo, { openModal: openModalProjectinfo,closeModal: closeModalProjectinfo}] = useModal(); -import { useUserStore } from '@/store/modules/user'; +const [registerProjectinfo, { openModal: openModalProjectinfo,closeModal: closeModalProjectinfo}] = useModal();//选择项目页面 + +const [registerdetaiWorkReport, { openModal: openModaldetaiWorkReport,closeModal: closeModaldetaiWorkReport}] = useModal();//项目周月报详情页面 -const userStore = useUserStore(); const [registerTable, { reload }] = useTable({ title: '项目周报信息', api: workreportPageList, - columns: workReportShowcolumns, + columns: workReportTablecolumns, useSearchForm: true, actionColumn: { width: 140, @@ -59,38 +66,18 @@ const [registerTable, { reload }] = useTable({ function getTableAction(record): ActionItem[] { return [ { - label: '下载', - onClick: handledown.bind(null, record) + label: '新增'+record.reportType, + onClick: handleadd.bind(null, record) }, - - - ]; -} -function getDropDownAction(record): ActionItem[] { - return [ - { - label: '修改', - ifShow: () => { - return isShowByRoles('projectContact,owner') - }, - onClick: handleModify.bind(null, record) - }, - { - label: '删除', - ifShow: () => { - return isShowByRoles('projectContact,owner') - }, - popConfirm: { - title: '确定删除吗?', - confirm: handleDelete.bind(null, record), - }, - }, + label: '详情', + onClick: handleDetail.bind(null, record) + } ]; } -function handleModify(record) { - openModal(true, { id: record.id }) +function handleadd(record) { + openModal(true, { id: record.id,reportType:record.reportType,isModify:false }) } @@ -105,22 +92,22 @@ function handledown(record) { downloadFile("/huzhouUploadfileinfo/downloadfile", record.documentName, param) } -async function handleDelete(record) { - await deleteWorkreport({ id: record.id }) - reload() +async function handleDetail(record) { + await openModaldetaiWorkReport(true,{ projectid: record.id,reportType:record.reportType }) } function closeModel() { closeModaladdworkreport() + closeModalsetProjectWorkReport() closeModalProjectinfo() reload() } function handleAddWorkreport() { - openModalProjectinfo(true,{title:"新增项目周报"}) + openModalProjectinfo(true,{title:"设置项目周月报",api:getNoTypeWorkReportPageList}) } function openModalProjectr(value) { - openModal(true,{projectid:value.id}) + opensetProjectWorkReport(true,{projectid:value.id}) } diff --git a/src/views/projectLib/workReport/setProjectWorkReport.vue b/src/views/projectLib/workReport/setProjectWorkReport.vue new file mode 100644 index 0000000..bb5bf07 --- /dev/null +++ b/src/views/projectLib/workReport/setProjectWorkReport.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/projectLib/workReport/workReport.api.ts b/src/views/projectLib/workReport/workReport.api.ts index 7130de2..4a8e2a7 100644 --- a/src/views/projectLib/workReport/workReport.api.ts +++ b/src/views/projectLib/workReport/workReport.api.ts @@ -7,17 +7,23 @@ export enum Api { modifyWorkreport = '/huzhouWorkreport/modifyWorkreport', getWorkreportById="/huzhouWorkreport/getWorkreportById", deleteWorkreport = '/huzhouWorkreport/deleteWorkreport', - + setProjectWorkReport = '/huzhouWorkreport/setProjectWorkReport', + getNoTypeWorkReportPageList='/huzhouWorkreport/getNoTypeWorkReportPageList', + getProjectWorkReportByProjectId='/huzhouWorkreport/getProjectWorkReportByProjectId', } export const workreportPageList = (params) => defHttp.get({ url: Api.workreportPageList, params }) export const getWorkreportById = (params) => defHttp.get({ url: Api.getWorkreportById, params }) +export const getNoTypeWorkReportPageList = (params) => defHttp.get({ url: Api.getNoTypeWorkReportPageList, params }) +export const getProjectWorkReportByProjectId = (params) => defHttp.get({ url: Api.getProjectWorkReportByProjectId, params }) export const addWorkreport = (params?) =>defHttp.post({ url: Api.addWorkreport,headers:{ "Content-Type": "multipart/form-data" }, params }) export const modifyWorkreport = (params?) =>defHttp.post({ url: Api.modifyWorkreport,headers:{ "Content-Type": "multipart/form-data" }, params }) export const deleteWorkreport = (params?) =>defHttp.post({ url: Api.deleteWorkreport, params }) +export const setProjectWorkReport = (params?) =>defHttp.post({ url: Api.setProjectWorkReport, params }) + diff --git a/src/views/projectLib/workReport/workReport.data.ts b/src/views/projectLib/workReport/workReport.data.ts index e36eaa2..8ce2904 100644 --- a/src/views/projectLib/workReport/workReport.data.ts +++ b/src/views/projectLib/workReport/workReport.data.ts @@ -3,14 +3,14 @@ import { BasicColumn } from '@/components/Table'; import dayjs from "dayjs"; -export const workReportShowcolumns: BasicColumn[] = [ +export const workReportShowDetailcolumns: BasicColumn[] = [ { title: '项目名称', dataIndex: 'projectName', }, { title: '类型', - dataIndex: 'type', + dataIndex: 'reportType', }, { title: '开始时间', @@ -43,63 +43,53 @@ export const workReportShowcolumns: BasicColumn[] = [ }, ]; -export const workReportDetailcolumns: BasicColumn[] = [ +export const workReportTablecolumns: BasicColumn[] = [ { - title: '合同总金额', - dataIndex: 'totalAmount', + title: '项目编号', + width: 150, + dataIndex: 'id', + ifShow: false, }, { - title: '首付时间', - dataIndex: 'downpaymentDate', - + title: '项目名称', + dataIndex: 'projectName', + width: 300, + resizable: true, + align:'left', + slots: { customRender: 'projectName' }, }, { - title: '首付比例', - dataIndex: 'downpaymentRatio', - + title: '周月报类型', + dataIndex: 'reportType', }, - { - title: '初验时间', - dataIndex: 'initialDate', + title: '行政区划', + dataIndex: 'adminDivision', + resizable: true }, - { - title: '初验比例', - dataIndex: 'initialRatio', - + title: '责任单位', + dataIndex: 'dutyWorkplace', + resizable: true }, { - title: '终验时间', - dataIndex: 'finalDate', - + title: '单位属性', + dataIndex: 'workplaceProperties', + resizable: true }, { - title: '终验比例', - dataIndex: 'finalRatio', + title: '改革所属项目', + dataIndex: 'reformName', + format: 'dict|reformTasks', + resizable: true }, { - title: '文件名称', - dataIndex: 'documentName', - width: 150, + title: '上级指导处室', + dataIndex: 'superLeader', + format: 'dict|superLeader', + resizable: true }, - { - title: '文件大小', - dataIndex: 'size', - width: 150, - customRender: ({ record }) => { - let kbNum: number = record.size / 1024 - if (kbNum < 1024) { - return kbNum.toFixed(2).toString() + "KB" - } else { - let mbNum: number = kbNum / 1024 - return mbNum.toFixed(2).toString() + "MB" - } - - }, - - }, - + ]; export const searchFormSchema: FormSchema[] = [ { @@ -114,41 +104,59 @@ export const searchFormSchema: FormSchema[] = [ } ]; -export const workReportformSchemas: FormSchema[] = [ +export const setProjectWorkReportformSchemas: FormSchema[] = [ + { + label: '项目id', + field: 'id', + component: 'Input', + show: false, + colProps: { span: 12 }, + }, + { + label: '项目名称', + field: 'projectName', + component: 'Input', + dynamicDisabled: true, + colProps: { span: 12 }, + }, { label: '类型', - field: 'type', + field: 'reportType', component: 'Select', - componentProps: ({ formModel, formActionType }) => { - return { - // - options: [ - { - value: '周报', - label: '周报' - }, { - value: '月报', - label: '月报' - } - ], - onChange: async (value) => { - const { setFieldsValue } = formActionType; - - if(formModel.startDate){ - if(value=="周报"){ - let nextDate = dayjs(formModel.startDate).add(7,"day").format("YYYY-MM-DD") - setFieldsValue({ endDate: nextDate }) - }else{ - let nextDate = dayjs(formModel.startDate).add(1,"month").format("YYYY-MM-DD") - setFieldsValue({ endDate: nextDate }) - } - } - }, - }; + componentProps:{ + options: [ + { + value: '周报', + label: '周报' + }, { + value: '月报', + label: '月报' + } + ], }, required: true, colProps: { span: 12 }, }, + ] +export const workReportformSchemas: FormSchema[] = [ + { + label: '类型', + field: 'reportType', + component: 'Select', + componentProps:{ + options: [ + { + value: '周报', + label: '周报' + }, { + value: '月报', + label: '月报' + } + ], + }, + dynamicDisabled: true, + colProps: { span: 12 }, + }, { label: '开始时间', field: 'startDate', @@ -158,7 +166,6 @@ export const workReportformSchemas: FormSchema[] = [ // }, componentProps: ({ formModel, formActionType }) => { - return { // valueFormat: 'YYYY-MM-DD', @@ -166,8 +173,8 @@ export const workReportformSchemas: FormSchema[] = [ const { setFieldsValue } = formActionType; console.log("data", value, dayjs(value).add(7,"day").format("YYYY-MM-DD")) - if(formModel.type){ - if(formModel.type=="周报"){ + if(formModel.reportType){ + if(formModel.reportType=="周报"){ let nextDate = dayjs(value).add(7,"day").format("YYYY-MM-DD") setFieldsValue({ endDate: nextDate }) }else{ @@ -181,7 +188,6 @@ export const workReportformSchemas: FormSchema[] = [ required: true, colProps: { span: 12 }, }, - { label: '结束时间', field: 'endDate', diff --git a/src/views/projectSummary/planSummary/index.vue b/src/views/projectSummary/planSummary/index.vue index 963475e..a00cd0d 100644 --- a/src/views/projectSummary/planSummary/index.vue +++ b/src/views/projectSummary/planSummary/index.vue @@ -81,7 +81,7 @@ import { isShowByRoles } from '@/views/projectLib/projectInfo/projectInfo.api'; import { columns, searchFormSchema } from '@/views/projectLib/projectInfo/projectInfo.data'; import { planSummaryColumn } from '@/views/projectSummary/planSummary/planSummary.data'; import { getplanSummary } from '@/views/projectSummary/planSummary/planSummary.api' -import { projectApprovedPageList } from '@/views/projectLib/projectPlan/projectPlan.api'; +import { projectPlanPageList } from '@/views/projectLib/projectPlan/projectPlan.api'; import { useUserStore } from '@/store/modules/user'; import { color } from 'echarts'; onMounted(async () => {