From ea40c97a5c29e4e3268ea8a35e24d31d3cdd4cf3 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Fri, 6 Sep 2024 10:21:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=98=E5=8C=96=E9=9C=80?= =?UTF-8?q?=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- .../component/ApprovalDetails.vue | 62 +- .../planFileApproval.vue | 6 +- .../uploadURTfileApproval.vue | 4 +- .../workbench/components/ProjectCard.vue | 8 +- .../workbench/components/basic_bar.vue | 101 +++ .../components/projectDetail copy.vue | 245 +++++++ .../workbench/components/projectDetail.vue | 144 ++++ src/views/dashboard/workbench/index.vue | 6 +- src/views/projectBoard/projectBoard/index.vue | 71 ++ .../projectLib/projectPlan/addPlanFile.vue | 15 +- .../projectLib/projectPlan/elstepchild.vue | 120 ++- .../projectPlan/planinfoFileDetail.vue | 4 +- .../projectLib/projectPlan/projectPlan.api.ts | 11 +- .../projectLib/projectPlan/viewPlanDetail.vue | 2 + .../projectLib/projectProgress/index.vue | 156 ++++ .../planSummary/SetWanCheng.vue | 95 +++ .../planSummary/ShowDetailPage.vue | 179 +++++ .../planSummary/ShowMorePage.vue | 124 ++++ .../projectSummary/planSummary/index.vue | 312 ++++---- .../projectSummary/planSummary/index_bak.vue | 193 +++++ .../planSummary/planSummary.api.ts | 19 +- .../planSummary/planSummary.data.ts | 693 +++++++++++++++++- .../planSummary/setElstepchild.vue | 68 ++ .../projectSummary/planSummary/settu.vue | 126 ++++ 25 files changed, 2526 insertions(+), 240 deletions(-) create mode 100644 src/views/dashboard/workbench/components/basic_bar.vue create mode 100644 src/views/dashboard/workbench/components/projectDetail copy.vue create mode 100644 src/views/dashboard/workbench/components/projectDetail.vue create mode 100644 src/views/projectBoard/projectBoard/index.vue create mode 100644 src/views/projectLib/projectProgress/index.vue create mode 100644 src/views/projectSummary/planSummary/SetWanCheng.vue create mode 100644 src/views/projectSummary/planSummary/ShowDetailPage.vue create mode 100644 src/views/projectSummary/planSummary/ShowMorePage.vue create mode 100644 src/views/projectSummary/planSummary/index_bak.vue create mode 100644 src/views/projectSummary/planSummary/setElstepchild.vue create mode 100644 src/views/projectSummary/planSummary/settu.vue diff --git a/.env b/.env index fe56675..07ef51d 100644 --- a/.env +++ b/.env @@ -1,3 +1,3 @@ # 网站标题 -VITE_GLOB_APP_TITLE = 国研咨询 +VITE_GLOB_APP_TITLE = 国研信息 diff --git a/src/views/ProcessApprovalSubPage/component/ApprovalDetails.vue b/src/views/ProcessApprovalSubPage/component/ApprovalDetails.vue index 5624589..a8fe660 100644 --- a/src/views/ProcessApprovalSubPage/component/ApprovalDetails.vue +++ b/src/views/ProcessApprovalSubPage/component/ApprovalDetails.vue @@ -97,37 +97,37 @@ } }, afterFetch(res) { - if (res[0].operatorPhone == '') { - setColumns([ - { - title: '节点名称', - dataIndex: 'taskName', - width: 120, - }, - { - title: '处理人', - dataIndex: 'operator', - width: 100, - }, - { - title: '处理时间', - dataIndex: 'operateDate', - width: 100, - }, - { - title: '审批状态', - dataIndex: 'approvalStatue', - width: 100, - format: 'dict|approvalResult', - filters: 'dict|approvalResult', - }, - { - title: '审批意见', - dataIndex: 'comment', - width: 400, - }, - ]); - } + // if (res[0].operatorPhone == '') { + // setColumns([ + // { + // title: '节点名称', + // dataIndex: 'taskName', + // width: 120, + // }, + // { + // title: '处理人', + // dataIndex: 'operator', + // width: 100, + // }, + // { + // title: '处理时间', + // dataIndex: 'operateDate', + // width: 100, + // }, + // { + // title: '审批状态', + // dataIndex: 'approvalStatue', + // width: 100, + // format: 'dict|approvalResult', + // filters: 'dict|approvalResult', + // }, + // { + // title: '审批意见', + // dataIndex: 'comment', + // width: 400, + // }, + // ]); + // } }, }); diff --git a/src/views/ProcessApprovalSubPage/planFileApproval.vue b/src/views/ProcessApprovalSubPage/planFileApproval.vue index 47d8a16..5198b34 100644 --- a/src/views/ProcessApprovalSubPage/planFileApproval.vue +++ b/src/views/ProcessApprovalSubPage/planFileApproval.vue @@ -6,7 +6,7 @@ 项目计划详情 项目计划资料详情 - + 项目计划审批文件列表 @@ -158,6 +158,7 @@ let showApprovalForm = ref(); let ApprovalFromPageRef = ref(); let tableDataFiles = ref(); + let planFileDetailKey = ref(0); let resButton = reactive({ showApprovalForm: false, isEdit: false, @@ -174,6 +175,7 @@ procesType: dataTo.record.procesType, }); showApprovalForm.value = resButton.showApprovalForm; + planFileDetailKey.value+=1 }); const [registerplaninfoTable, { getDataSource }] = useTable({ @@ -196,6 +198,8 @@ tableDataFiles.value.push('《项目建议书》'); } else if (data[0].taskName.indexOf('可研报告终稿编制') >= 0) { tableDataFiles.value.push('《项目建议书》'); + tableDataFiles.value.push('《补充说明》'); + } taskName.value = data[0].taskName; pjid.value = data[0].projectId; diff --git a/src/views/ProcessApprovalSubPage/uploadURTfileApproval.vue b/src/views/ProcessApprovalSubPage/uploadURTfileApproval.vue index e15b46e..806858a 100644 --- a/src/views/ProcessApprovalSubPage/uploadURTfileApproval.vue +++ b/src/views/ProcessApprovalSubPage/uploadURTfileApproval.vue @@ -3,7 +3,7 @@ 项目名称: {{ dataTo.record.projectName }} 联合技术审查文件详情 - + +
+ {{ item.date }}
diff --git a/src/views/dashboard/workbench/components/basic_bar.vue b/src/views/dashboard/workbench/components/basic_bar.vue new file mode 100644 index 0000000..88defa9 --- /dev/null +++ b/src/views/dashboard/workbench/components/basic_bar.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/src/views/dashboard/workbench/components/projectDetail copy.vue b/src/views/dashboard/workbench/components/projectDetail copy.vue new file mode 100644 index 0000000..4401810 --- /dev/null +++ b/src/views/dashboard/workbench/components/projectDetail copy.vue @@ -0,0 +1,245 @@ + + diff --git a/src/views/dashboard/workbench/components/projectDetail.vue b/src/views/dashboard/workbench/components/projectDetail.vue new file mode 100644 index 0000000..635ec03 --- /dev/null +++ b/src/views/dashboard/workbench/components/projectDetail.vue @@ -0,0 +1,144 @@ + + diff --git a/src/views/dashboard/workbench/index.vue b/src/views/dashboard/workbench/index.vue index 9fd56dc..9c2d8bf 100644 --- a/src/views/dashboard/workbench/index.vue +++ b/src/views/dashboard/workbench/index.vue @@ -7,8 +7,8 @@ -
- +
+
@@ -22,7 +22,7 @@ import { PageWrapper } from '@/components/Page'; import { count } from '@/views/projectLib/projectInfo/projectInfo.api'; import WorkbenchHeader from './components/WorkbenchHeader.vue'; import ProjectCard from './components/ProjectCard.vue'; - +import projectDetail from './components/projectDetail.vue' import planSummary from '@/views/projectSummary/planSummary/indeForDashboard.vue'; const loading = ref(true); diff --git a/src/views/projectBoard/projectBoard/index.vue b/src/views/projectBoard/projectBoard/index.vue new file mode 100644 index 0000000..42bdb9c --- /dev/null +++ b/src/views/projectBoard/projectBoard/index.vue @@ -0,0 +1,71 @@ + + diff --git a/src/views/projectLib/projectPlan/addPlanFile.vue b/src/views/projectLib/projectPlan/addPlanFile.vue index 3c0fdc9..5d6e5e2 100644 --- a/src/views/projectLib/projectPlan/addPlanFile.vue +++ b/src/views/projectLib/projectPlan/addPlanFile.vue @@ -8,9 +8,12 @@ 上传文件 - 支持上传文件数量为1-2份 - + 支持上传文件数量为1-2份 + 支持上传文件数量为1-3份 import { reactive, defineProps, onMounted, ref } from 'vue'; - import { planUploadFile, planUploadModifyFile,planREUploadFile } from './projectPlan.api'; + import { planUploadFile, planUploadModifyFile, planREUploadFile } from './projectPlan.api'; import { message } from 'ant-design-vue'; import { queryProjectInfoById } from '@/views/projectLib/projectInfo/projectInfo.api'; import { getplaninfoByid } from '@/views/projectLib/projectPlan/projectPlan.api'; @@ -274,7 +277,7 @@ .catch(() => { isSubmitting.value = false; }); - } else if(dataTo.type == 1){ + } else if (dataTo.type == 1) { planUploadModifyFile(params) .then(() => { emit('close'); @@ -282,7 +285,7 @@ .catch(() => { isSubmitting.value = false; }); - }else{ + } else { planREUploadFile(params) .then(() => { emit('close'); diff --git a/src/views/projectLib/projectPlan/elstepchild.vue b/src/views/projectLib/projectPlan/elstepchild.vue index f6a0bf1..bcf61d3 100644 --- a/src/views/projectLib/projectPlan/elstepchild.vue +++ b/src/views/projectLib/projectPlan/elstepchild.vue @@ -1,27 +1,129 @@ - - \ No newline at end of file + diff --git a/src/views/projectLib/projectPlan/planinfoFileDetail.vue b/src/views/projectLib/projectPlan/planinfoFileDetail.vue index 4806bc2..0891cbc 100644 --- a/src/views/projectLib/projectPlan/planinfoFileDetail.vue +++ b/src/views/projectLib/projectPlan/planinfoFileDetail.vue @@ -12,7 +12,7 @@ 项目计划资料详情 - + 项目计划审批文件列表 @@ -94,6 +94,7 @@ let planinfoid = ref(); let taskName = ref(); let isfinish = ref(0); + let planFileDetailkey = ref(0); onMounted(async () => { // processName.value =await getProcessName(dataTo.planinfoid) }); @@ -102,6 +103,7 @@ planinfoid.value = data.planinfoid; taskName.value = data.taskName; isfinish.value = data.isfinish; + planFileDetailkey.value+=1 if (taskName.value == '立项审批') { let res = await getProjectinfoMoneyInfo({ projectid: data.projectid, diff --git a/src/views/projectLib/projectPlan/projectPlan.api.ts b/src/views/projectLib/projectPlan/projectPlan.api.ts index f88fdff..3d04252 100644 --- a/src/views/projectLib/projectPlan/projectPlan.api.ts +++ b/src/views/projectLib/projectPlan/projectPlan.api.ts @@ -1,5 +1,6 @@ import { defHttp } from '@/utils/http/axios'; import { downloadFile } from "@/api/common/api" +import { e } from 'unocss'; export enum Api { saveprojectInfo = "", @@ -10,6 +11,7 @@ export enum Api { queryProjectPlan="/huzhouPlan/queryProjectPlan", submitplaninfoUploadFile="/huzhouPlan/submitplaninfoUploadFile", queryPlanInfoMainTimeline="/huzhouPlan/queryPlanInfoMainTimeline", + queryPlanInfoMainTimelineOffline="/huzhouPlan/queryPlanInfoMainTimelineOffline", planUploadFile="/huzhouPlaninfofile/planUploadFile", queryPlaninfoFilePageByid="/huzhouPlaninfofile/queryPlaninfoFilePageByid", planUploadModifyFile="/huzhouPlaninfofile/planUploadModifyFile", @@ -25,7 +27,8 @@ export enum Api { uploadURTFile='/huzhouUploadfileinfo/uploadURTFile', getProjectinfoMoneyInfo="/huzhouProjectinfoMoney/getProjectinfoMoneyInfo", planREUploadFile="/huzhouPlaninfofile/planREUploadFile", - + getProcessDetailByPlaninfoid="/huzhouPlaninfofile/getProcessDetailByPlaninfoid", + setPlaninfoIsoffline="/huzhouPlaninfofile/setPlaninfoIsoffline", } /** * 提交入库申请流程 @@ -56,6 +59,6 @@ export const planFilePageList = (params) => defHttp.get({ url: Api.planFilePageL export const getplaninfoByid = (params) => defHttp.get({ url: Api.getplaninfoByid, params }) export const getUnitedTechnicalReviewList=(params) => defHttp.get({ url:Api.getUnitedTechnicalReviewList , params }) export const uploadURTFile=(params) => defHttp.post({ url:Api.uploadURTFile,headers:{ "Content-Type": "multipart/form-data" }, params }) - - - +export const getProcessDetailByPlaninfoid=(params) => defHttp.get({ url:Api.getProcessDetailByPlaninfoid , params }) +export const queryPlanInfoMainTimelineOffline = (params) => defHttp.get({ url: Api.queryPlanInfoMainTimelineOffline, params }) +export const setPlaninfoIsoffline = (params) => defHttp.post({ url: Api.setPlaninfoIsoffline, params }) diff --git a/src/views/projectLib/projectPlan/viewPlanDetail.vue b/src/views/projectLib/projectPlan/viewPlanDetail.vue index 8ce3a50..74812bc 100644 --- a/src/views/projectLib/projectPlan/viewPlanDetail.vue +++ b/src/views/projectLib/projectPlan/viewPlanDetail.vue @@ -283,6 +283,7 @@ fileArr.value.push("《项目建议书》"); }else if (record.taskName.indexOf('可研报告终稿编制') >= 0) { fileArr.value.push("《项目建议书》"); + fileArr.value.push("《补充说明》"); } planinfoid.value = record.id; @@ -300,6 +301,7 @@ fileArr.value.push("《项目建议书》"); }else if (record.taskName.indexOf('可研报告终稿编制') >= 0) { fileArr.value.push("《项目建议书》"); + fileArr.value.push("《补充说明》"); } fileArr.value.push() diff --git a/src/views/projectLib/projectProgress/index.vue b/src/views/projectLib/projectProgress/index.vue new file mode 100644 index 0000000..4fee9d6 --- /dev/null +++ b/src/views/projectLib/projectProgress/index.vue @@ -0,0 +1,156 @@ + + + diff --git a/src/views/projectSummary/planSummary/SetWanCheng.vue b/src/views/projectSummary/planSummary/SetWanCheng.vue new file mode 100644 index 0000000..c49d991 --- /dev/null +++ b/src/views/projectSummary/planSummary/SetWanCheng.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/views/projectSummary/planSummary/ShowDetailPage.vue b/src/views/projectSummary/planSummary/ShowDetailPage.vue new file mode 100644 index 0000000..95cecb7 --- /dev/null +++ b/src/views/projectSummary/planSummary/ShowDetailPage.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/projectSummary/planSummary/ShowMorePage.vue b/src/views/projectSummary/planSummary/ShowMorePage.vue new file mode 100644 index 0000000..6e32fe5 --- /dev/null +++ b/src/views/projectSummary/planSummary/ShowMorePage.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/views/projectSummary/planSummary/index.vue b/src/views/projectSummary/planSummary/index.vue index 9d65448..39f44e2 100644 --- a/src/views/projectSummary/planSummary/index.vue +++ b/src/views/projectSummary/planSummary/index.vue @@ -1,193 +1,155 @@ \ No newline at end of file + ::v-deep .ant-table-expanded-row { + height: auto !important; + /* 其他样式 */ + } + diff --git a/src/views/projectSummary/planSummary/index_bak.vue b/src/views/projectSummary/planSummary/index_bak.vue new file mode 100644 index 0000000..9d65448 --- /dev/null +++ b/src/views/projectSummary/planSummary/index_bak.vue @@ -0,0 +1,193 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectSummary/planSummary/planSummary.api.ts b/src/views/projectSummary/planSummary/planSummary.api.ts index 430f8ce..ad96037 100644 --- a/src/views/projectSummary/planSummary/planSummary.api.ts +++ b/src/views/projectSummary/planSummary/planSummary.api.ts @@ -2,12 +2,29 @@ import { defHttp } from '@/utils/http/axios'; export enum Api { getplanSummary = '/huzhouPlan/getplanSummary', - + getProjectNumber='/huzhouProject/getTotalNumber', + getStoragedNumber='/huzhouProject/getStoragedNumber',//入库项目数量 + getSupportingNumber='/huzhouProject/getSupportingNumber',//配套项目数量 + getStoragedFound='/huzhouProject/getStoragedFound',//入库项目资金 + getSupportingFound='/huzhouProject/getSupportingFound',//配套项目资金 + getProjectSummaryPage='/huzhouProject/getProjectSummaryPage',//项目总览页面(层级) + getProjectSummaryPageByTask='/huzhouProject/getProjectSummaryPageByTask',//项目总览页面(任务) + getCountStage='/huzhouProject/countStage',//获取各阶段的数量 + getProjectDetailPage='/huzhouProject/getProjectDetailPage' } /** * 提交入库申请流程 */ export const getplanSummary = (params) => defHttp.get({ url: Api.getplanSummary, params }) +export const getProjectNumber = (params?) => defHttp.get({ url: Api.getProjectNumber, params }) +export const getStoragedNumber = (params?) => defHttp.get({ url: Api.getStoragedNumber, params }) +export const getSupportingNumber = (params?) => defHttp.get({ url: Api.getSupportingNumber, params }) +export const getStoragedFound = (params?) => defHttp.get({ url: Api.getStoragedFound, params }) +export const getSupportingFound = (params?) => defHttp.get({ url: Api.getSupportingFound, params }) +export const getProjectSummaryPage = (params) => defHttp.get({ url: Api.getProjectSummaryPage, params }) +export const getProjectSummaryPageByTask = (params) => defHttp.get({ url: Api.getProjectSummaryPageByTask, params }) +export const getCountStage = (params?) => defHttp.get({ url: Api.getCountStage, params }) +export const getProjectDetailPage = (params?) => defHttp.get({ url: Api.getProjectDetailPage, params }) diff --git a/src/views/projectSummary/planSummary/planSummary.data.ts b/src/views/projectSummary/planSummary/planSummary.data.ts index e32ae0f..0858f90 100644 --- a/src/views/projectSummary/planSummary/planSummary.data.ts +++ b/src/views/projectSummary/planSummary/planSummary.data.ts @@ -1,13 +1,28 @@ import { BasicColumn } from '@/components/Table'; +import { FormSchema } from '@/components/Form'; +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 planSummaryColumn: BasicColumn[] = [ { title: '项目名称', dataIndex: 'projectName', width: 300, - align:'left' - + align: 'left', }, { title: '行政区划', @@ -61,4 +76,676 @@ export const PlaninfoFiletableColumns: BasicColumn[] = [ } }, } -] \ No newline at end of file +] +export const renwuSummaryDetailColumn: BasicColumn[] = [ + { + title: '改革所属项目', + dataIndex: 'reformName', + format: 'dict|reformTasks', + }, + { + title: '上级指导处室', + dataIndex: 'superLeader', + format: 'dict|superLeader', + }, + { + title: '项目数量', + dataIndex: 'projectNum', + sorter: true, + }, + { + title: "总申报资金", + dataIndex: "totalMoney", + customRender: ({ record }) => { + let money: number = record.totalMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "总中央资金", + dataIndex: "centralMoney", + customRender: ({ record }) => { + let money: number = record.centralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + + title: "联审估算资金", + dataIndex: "estimateMoney", + customRender: ({ record }) => { + let money: number = record.estimateMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同金额", + dataIndex: "contractMoney", + customRender: ({ record }) => { + let money: number = record.contractMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同中央资金", + dataIndex: "contractCentralMoney", + customRender: ({ record }) => { + let money: number = record.contractCentralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "项目总进度", + dataIndex: "projectProgress", + customRender: ({ record }) => { + let progress: number = record.projectProgress * 100 + return progress.toFixed(0) + "%" + }, + sorter: true, + }, + +]; +export const renwuColumn: BasicColumn[] = [ + { + title: '改革所属项目', + dataIndex: 'reformName', + format: 'dict|reformTasks', + }, + { + title: '上级指导处室', + dataIndex: 'superLeader', + format: 'dict|superLeader', + }, + { + title: '项目数量', + dataIndex: 'projectNum', + sorter: true, + }, + { + title: "项目总进度", + dataIndex: "projectProgress", + customRender: ({ record }) => { + let progress: number = record.projectProgress * 100 + return progress.toFixed(0) + "%" + }, + sorter: true, + }, + { + title: "总申报资金", + dataIndex: "totalMoney", + customRender: ({ record }) => { + let money: number = record.totalMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + + title: "总中央资金", + dataIndex: "centralMoney", + customRender: ({ record }) => { + let money: number = record.centralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + +]; +export const cengjiSummaryDetailColumn: BasicColumn[] = [ + + { + title: '层级', + dataIndex: "dutyWorkplace" + }, + { + title: '项目数量', + dataIndex: 'projectNum', + sorter: true, + }, + { + title: "总申报资金", + dataIndex: "totalMoney", + customRender: ({ record }) => { + let money: number = record.totalMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "总中央资金", + dataIndex: "centralMoney", + customRender: ({ record }) => { + let money: number = record.centralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + + title: "联审估算资金", + dataIndex: "estimateMoney", + customRender: ({ record }) => { + let money: number = record.estimateMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同金额", + dataIndex: "contractMoney", + customRender: ({ record }) => { + let money: number = record.contractMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同中央资金", + dataIndex: "contractCentralMoney", + customRender: ({ record }) => { + let money: number = record.contractCentralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "项目总进度", + dataIndex: "projectProgress", + customRender: ({ record }) => { + let progress: number = record.projectProgress * 100 + return progress.toFixed(0) + "%" + }, + sorter: true, + }, +]; +export const cengjiColumn: BasicColumn[] = [ + + { + title: '层级', + dataIndex: "dutyWorkplace" + }, + { + title: '项目数量', + dataIndex: 'projectNum', + sorter: true, + }, + { + title: "项目总进度", + dataIndex: "projectProgress", + customRender: ({ record }) => { + let progress: number = record.projectProgress * 100 + return progress.toFixed(0) + "%" + }, + sorter: true, + }, + { + title: "总申报资金", + dataIndex: "totalMoney", + customRender: ({ record }) => { + let money: number = record.totalMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + + title: "总中央资金", + dataIndex: "centralMoney", + customRender: ({ record }) => { + let money: number = record.centralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, +]; + +export const detailColumn: BasicColumn[] = [ + { + title: '项目名称', + dataIndex: 'projectName', + }, + { + title: '行政区划', + dataIndex: 'adminDivision', + }, + { + title: '责任单位', + dataIndex: 'dutyWorkplace', + }, + { + title: '单位属性', + dataIndex: 'workplaceProperties', + }, + { + title: '改革所属项目', + dataIndex: 'reformName', + format: 'dict|reformTasks', + }, + { + title: '上级指导处室', + dataIndex: 'superLeader', + format: 'dict|superLeader', + }, + + { + title: "总申报资金", + dataIndex: "totalMoney", + customRender: ({ record }) => { + let money: number = record.totalMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "总中央资金", + dataIndex: "centralMoney", + customRender: ({ record }) => { + let money: number = record.centralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + + title: "联审估算资金", + dataIndex: "estimateMoney", + customRender: ({ record }) => { + let money: number = record.estimateMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同金额", + dataIndex: "contractMoney", + customRender: ({ record }) => { + let money: number = record.contractMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "合同中央资金", + dataIndex: "contractCentralMoney", + customRender: ({ record }) => { + let money: number = record.contractCentralMoney / 10000 + return money.toFixed(2) + }, + sorter: true, + }, + { + title: "当前所处阶段", + dataIndex: "projectStage", + filters: [ + { text: '项目申报阶段', value: '0' }, + { text: '项目立项阶段', value: '1' }, + { text: '项目采购', value: '2' }, + { text: '项目建设', value: '3' }, + { text: '项目验收', value: '5' }, + ], + }, + { + title: "当前所处节点", + dataIndex: "stepName", + filters: [ + { text: '可研报告初稿编制', value: '可研报告初稿编制' }, + { text: '可研技术审查报告确认', value: '可研技术审查报告确认' }, + { text: '可研报告终稿编制', value: '可研报告终稿编制' }, + { text: '造价评估报告确认', value: '造价评估报告确认' }, + { text: '联合技术审查', value: '联合技术审查' }, + { text: '集中核验', value: '集中核验' }, + { text: '立项审批', value: '立项审批' }, + { text: '招标文件编制', value: '招标文件编制' }, + { text: '合同签订', value: '合同签订' }, + { text: '项目开工', value: '项目开工' }, + { text: '初验阶段', value: '初验阶段' }, + { text: '终验阶段', value: '终验阶段' }, + + ], + }, + { + title: "文件是否已上传", + dataIndex: "isUpload", + customRender: ({ record }) => { + if (record.isUpload == 1) { + return "是" + } else { + return "否" + } + }, + filters: [ + { text: '是', value: '1' }, + { text: '否', value: '0' }, + ], + }, + { + title: "线下是否已完成", + dataIndex: "isOffline", + customRender: ({ record }) => { + if (record.isOffline == 1) { + return "是" + } else { + return "否" + } + }, + filters: [ + { text: '是', value: '1' }, + { text: '否', value: '0' }, + ], + }, + { + title: "项目总进度", + dataIndex: "projectProgress", + customRender: ({ record }) => { + let progress: number = record.projectProgress * 100 + return progress.toFixed(0) + "%" + }, + }, +]; + +export const searchFormSchemacengji: 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(), + disabled: true + } + }, + 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' + + }, +]; + +export const searchFormSchemarenwu: 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', + disabled: true + }, + itemProps: { validateTrigger: 'blur' }, + labelWidth: 'auto' + }, + { + field: 'superLeader', + label: '上级指导处室', + component: 'DictSelect', + componentProps: { + dictType: 'superLeader', + disabled: true + }, + labelWidth: 'auto' + + }, +]; +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' + + }, +]; \ No newline at end of file diff --git a/src/views/projectSummary/planSummary/setElstepchild.vue b/src/views/projectSummary/planSummary/setElstepchild.vue new file mode 100644 index 0000000..b7fb67d --- /dev/null +++ b/src/views/projectSummary/planSummary/setElstepchild.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/views/projectSummary/planSummary/settu.vue b/src/views/projectSummary/planSummary/settu.vue new file mode 100644 index 0000000..109f0e5 --- /dev/null +++ b/src/views/projectSummary/planSummary/settu.vue @@ -0,0 +1,126 @@ + + +