From bbc927edba40a3e0e92ef04393a0746b23ca5172 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Thu, 31 Jul 2025 20:46:40 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=BD=E5=B7=A5=E4=BA=A7=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/design/volumeCatalog/index.ts | 97 +++++ src/api/design/volumeCatalog/types.ts | 96 +++++ src/api/out/constructionValue/index.ts | 63 +++ src/api/out/constructionValue/types.ts | 156 +++++++ src/api/out/designCompletion/index.ts | 63 +++ src/api/out/designCompletion/types.ts | 86 ++++ src/api/out/monthPlan/index.ts | 63 +++ src/api/out/monthPlan/types.ts | 131 ++++++ src/api/progress/plan/index.ts | 12 + src/views/design/volumeCatalog/index.vue | 367 +++++++++++++++++ src/views/gisHome/component/leftMain.vue | 6 +- src/views/out/constructionValue/index.vue | 379 ++++++++++++++++++ src/views/out/designCompletion/index.vue | 241 +++++++++++ src/views/out/monthPlan/index.vue | 268 +++++++++++++ src/views/project/salaryExcel/index.vue | 189 ++++++++- .../workflows/processDefinition/design.vue | 6 +- 17 files changed, 2216 insertions(+), 9 deletions(-) create mode 100644 src/api/design/volumeCatalog/index.ts create mode 100644 src/api/design/volumeCatalog/types.ts create mode 100644 src/api/out/constructionValue/index.ts create mode 100644 src/api/out/constructionValue/types.ts create mode 100644 src/api/out/designCompletion/index.ts create mode 100644 src/api/out/designCompletion/types.ts create mode 100644 src/api/out/monthPlan/index.ts create mode 100644 src/api/out/monthPlan/types.ts create mode 100644 src/views/design/volumeCatalog/index.vue create mode 100644 src/views/out/constructionValue/index.vue create mode 100644 src/views/out/designCompletion/index.vue create mode 100644 src/views/out/monthPlan/index.vue diff --git a/.env.development b/.env.development index a03e777..1c549fa 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.159:8899' +VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 无人机接口地址 diff --git a/src/api/design/volumeCatalog/index.ts b/src/api/design/volumeCatalog/index.ts new file mode 100644 index 0000000..37bcd37 --- /dev/null +++ b/src/api/design/volumeCatalog/index.ts @@ -0,0 +1,97 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { VolumeCatalogVO, VolumeCatalogForm, VolumeCatalogQuery } from '@/api/design/volumeCatalog/types'; + +/** + * 查询卷册目录列表 + * @param query + * @returns {*} + */ + +export const listVolumeCatalog = (query?: VolumeCatalogQuery): AxiosPromise => { + return request({ + url: '/design/volumeCatalog/list', + method: 'get', + params: query + }); +}; + +/** + * 查询卷册目录详细 + * @param id + */ +export const getVolumeCatalog = (id: string | number): AxiosPromise => { + return request({ + url: '/design/volumeCatalog/' + id, + method: 'get' + }); +}; + +/** + * 查询卷册目录文件列表 + * @param id + * @returns {*} + */ +export const getVolumeCatafileList = (id: string | number): AxiosPromise => { + return request({ + url: '/design/volumeCatalog/listFileById/' + id, + method: 'get' + }); +}; + +/** + * 查阅卷册目录文件 + * @param id + */ +export const lookViewerFile = (id: string | number): AxiosPromise => { + return request({ + url: '/design/volumeCatalog/viewerFile/' + id, + method: 'get' + }); +}; +/** + * 新增卷册目录 + * @param data + */ +export const addVolumeCatalog = (data: VolumeCatalogForm) => { + return request({ + url: '/design/volumeCatalog', + method: 'post', + data: data + }); +}; + +/** + * 修改卷册目录 + * @param data + */ +export const updateVolumeCatalog = (data: VolumeCatalogForm) => { + return request({ + url: '/design/volumeCatalog', + method: 'put', + data: data + }); +}; + +/** + * 删除卷册目录 + * @param id + */ +export const delVolumeCatalog = (id: string | number | Array) => { + return request({ + url: '/design/volumeCatalog/' + id, + method: 'delete' + }); +}; + +/** + * 上传卷册文件 + * @param query + */ +export const uploadVolumeFile = (query?: any): AxiosPromise => { + return request({ + url: '/design/volumeFile', + method: 'POST', + data: query + }); +}; diff --git a/src/api/design/volumeCatalog/types.ts b/src/api/design/volumeCatalog/types.ts new file mode 100644 index 0000000..bc5cee3 --- /dev/null +++ b/src/api/design/volumeCatalog/types.ts @@ -0,0 +1,96 @@ +export interface VolumeCatalogVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 设计子项ID + */ + designSubitemId: string | number; + + /** + * 卷册号 + */ + volumeNumber: string; + + /** + * 资料名称 + */ + documentName: string; + + /** + * 备注 + */ + remark: string; + +} + +export interface VolumeCatalogForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计子项ID + */ + designSubitemId?: string | number; + + /** + * 卷册号 + */ + volumeNumber?: string; + + /** + * 资料名称 + */ + documentName?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface VolumeCatalogQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计子项ID + */ + designSubitemId?: string | number; + + /** + * 卷册号 + */ + volumeNumber?: string; + + /** + * 资料名称 + */ + documentName?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/out/constructionValue/index.ts b/src/api/out/constructionValue/index.ts new file mode 100644 index 0000000..dd84fe5 --- /dev/null +++ b/src/api/out/constructionValue/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ConstructionValueVO, ConstructionValueForm, ConstructionValueQuery } from '@/api/out/constructionValue/types'; + +/** + * 查询施工产值列表 + * @param query + * @returns {*} + */ + +export const listConstructionValue = (query?: ConstructionValueQuery): AxiosPromise => { + return request({ + url: '/out/constructionValue/list', + method: 'get', + params: query + }); +}; + +/** + * 查询施工产值详细 + * @param id + */ +export const getConstructionValue = (id: string | number): AxiosPromise => { + return request({ + url: '/out/constructionValue/' + id, + method: 'get' + }); +}; + +/** + * 新增施工产值 + * @param data + */ +export const addConstructionValue = (data: ConstructionValueForm) => { + return request({ + url: '/out/constructionValue', + method: 'post', + data: data + }); +}; + +/** + * 修改施工产值 + * @param data + */ +export const updateConstructionValue = (data: ConstructionValueForm) => { + return request({ + url: '/out/constructionValue', + method: 'put', + data: data + }); +}; + +/** + * 删除施工产值 + * @param id + */ +export const delConstructionValue = (id: string | number | Array) => { + return request({ + url: '/out/constructionValue/' + id, + method: 'delete' + }); +}; diff --git a/src/api/out/constructionValue/types.ts b/src/api/out/constructionValue/types.ts new file mode 100644 index 0000000..a4c00cf --- /dev/null +++ b/src/api/out/constructionValue/types.ts @@ -0,0 +1,156 @@ +export interface ConstructionValueVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 方阵id + */ + matrixId: string | number; + + /** + * 分项工程id + */ + progressCategoryId: string | number; + + /** + * 人工填报数量 + */ + artificialNum: number; + + /** + * 无人机识别数量 + */ + uavNum: number; + + /** + * 确认数量 + */ + confirmNum: number; + + /** + * 产值 + */ + outValue: number; + + /** + * 上报日期 + */ + reportDate: string; + + /** + * 审核状态 + */ + auditStatus: string; +} + +export interface ConstructionValueForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + planDate?: string; + planNum?: number; + /** + * 项目ID + */ + projectId?: string | number; + reportDateId?: string | number; + /** + * 方阵id + */ + matrixId?: string | number; + + /** + * 分项工程id + */ + progressCategoryId?: string | number; + + /** + * 人工填报数量 + */ + artificialNum?: number; + + /** + * 无人机识别数量 + */ + uavNum?: number; + + /** + * 确认数量 + */ + confirmNum?: number; + + /** + * 产值 + */ + outValue?: number; + + /** + * 上报日期 + */ + reportDate?: string; + + /** + * 审核状态 + */ + auditStatus?: string; +} + +export interface ConstructionValueQuery extends PageQuery { + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 方阵id + */ + matrixId?: string | number; + + /** + * 分项工程id + */ + progressCategoryId?: string | number; + + /** + * 人工填报数量 + */ + artificialNum?: number; + + /** + * 无人机识别数量 + */ + uavNum?: number; + + /** + * 确认数量 + */ + confirmNum?: number; + + /** + * 产值 + */ + outValue?: number; + + /** + * 上报日期 + */ + reportDate?: string; + + /** + * 审核状态 + */ + auditStatus?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/out/designCompletion/index.ts b/src/api/out/designCompletion/index.ts new file mode 100644 index 0000000..c4ef26f --- /dev/null +++ b/src/api/out/designCompletion/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DesignCompletionVO, DesignCompletionForm, DesignCompletionQuery } from '@/api/out/designCompletion/types'; + +/** + * 查询设计完工产值列表 + * @param query + * @returns {*} + */ + +export const listDesignCompletion = (query?: DesignCompletionQuery): AxiosPromise => { + return request({ + url: '/out/designCompletion/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设计完工产值详细 + * @param id + */ +export const getDesignCompletion = (id: string | number): AxiosPromise => { + return request({ + url: '/out/designCompletion/' + id, + method: 'get' + }); +}; + +/** + * 新增设计完工产值 + * @param data + */ +export const addDesignCompletion = (data: DesignCompletionForm) => { + return request({ + url: '/out/designCompletion', + method: 'post', + data: data + }); +}; + +/** + * 修改设计完工产值 + * @param data + */ +export const updateDesignCompletion = (data: DesignCompletionForm) => { + return request({ + url: '/out/designCompletion', + method: 'put', + data: data + }); +}; + +/** + * 删除设计完工产值 + * @param id + */ +export const delDesignCompletion = (id: string | number | Array) => { + return request({ + url: '/out/designCompletion/' + id, + method: 'delete' + }); +}; diff --git a/src/api/out/designCompletion/types.ts b/src/api/out/designCompletion/types.ts new file mode 100644 index 0000000..2a58e24 --- /dev/null +++ b/src/api/out/designCompletion/types.ts @@ -0,0 +1,86 @@ +export interface DesignCompletionVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 产值 + */ + outValue: number; + + /** + * 完工月份(YYYY-MM) + */ + completeMonth: string; + + /** + * 审核状态 + */ + auditStatus: string; + +} + +export interface DesignCompletionForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 产值 + */ + outValue?: number; + + /** + * 完工月份(YYYY-MM) + */ + completeMonth?: string; + + /** + * 审核状态 + */ + auditStatus?: string; + +} + +export interface DesignCompletionQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 产值 + */ + outValue?: number; + + /** + * 完工月份(YYYY-MM) + */ + completeMonth?: string; + + /** + * 审核状态 + */ + auditStatus?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/out/monthPlan/index.ts b/src/api/out/monthPlan/index.ts new file mode 100644 index 0000000..688b675 --- /dev/null +++ b/src/api/out/monthPlan/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MonthPlanVO, MonthPlanForm, MonthPlanQuery } from '@/api/out/monthPlan/types'; + +/** + * 查询月度产值计划列表 + * @param query + * @returns {*} + */ + +export const listMonthPlan = (query?: MonthPlanQuery): AxiosPromise => { + return request({ + url: '/out/monthPlan/list', + method: 'get', + params: query + }); +}; + +/** + * 查询月度产值计划详细 + * @param id + */ +export const getMonthPlan = (id: string | number): AxiosPromise => { + return request({ + url: '/out/monthPlan/' + id, + method: 'get' + }); +}; + +/** + * 新增月度产值计划 + * @param data + */ +export const addMonthPlan = (data: MonthPlanForm) => { + return request({ + url: '/out/monthPlan', + method: 'post', + data: data + }); +}; + +/** + * 修改月度产值计划 + * @param data + */ +export const updateMonthPlan = (data: MonthPlanForm) => { + return request({ + url: '/out/monthPlan', + method: 'put', + data: data + }); +}; + +/** + * 删除月度产值计划 + * @param id + */ +export const delMonthPlan = (id: string | number | Array) => { + return request({ + url: '/out/monthPlan/' + id, + method: 'delete' + }); +}; diff --git a/src/api/out/monthPlan/types.ts b/src/api/out/monthPlan/types.ts new file mode 100644 index 0000000..765ce8a --- /dev/null +++ b/src/api/out/monthPlan/types.ts @@ -0,0 +1,131 @@ +export interface MonthPlanVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 设计产值 + */ + designValue: number; + + /** + * 采购产值 + */ + procurementValue: number; + + /** + * 施工产值 + */ + constructionValue: number; + + /** + * 总产值 + */ + totalValue: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth: string; + + /** + * 审核状态 + */ + auditStatus: string; + +} + +export interface MonthPlanForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计产值 + */ + designValue?: number; + + /** + * 采购产值 + */ + procurementValue?: number; + + /** + * 施工产值 + */ + constructionValue?: number; + + /** + * 总产值 + */ + totalValue?: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth?: string; + + /** + * 审核状态 + */ + auditStatus?: string; + +} + +export interface MonthPlanQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计产值 + */ + designValue?: number; + + /** + * 采购产值 + */ + procurementValue?: number; + + /** + * 施工产值 + */ + constructionValue?: number; + + /** + * 总产值 + */ + totalValue?: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth?: string; + + /** + * 审核状态 + */ + auditStatus?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/progress/plan/index.ts b/src/api/progress/plan/index.ts index 6abf33d..c7c43a8 100644 --- a/src/api/progress/plan/index.ts +++ b/src/api/progress/plan/index.ts @@ -119,6 +119,18 @@ export const workScheduleList = (query: workScheduleListQuery): AxiosPromise => { + return request({ + url: '/progress/progressPlanDetail/list', + method: 'get', + params: { progressCategoryId: id } + }); +}; + /** * 获取进度类别坐标信息 * @param params diff --git a/src/views/design/volumeCatalog/index.vue b/src/views/design/volumeCatalog/index.vue new file mode 100644 index 0000000..89206cf --- /dev/null +++ b/src/views/design/volumeCatalog/index.vue @@ -0,0 +1,367 @@ + + + diff --git a/src/views/gisHome/component/leftMain.vue b/src/views/gisHome/component/leftMain.vue index 821c919..0c1478a 100644 --- a/src/views/gisHome/component/leftMain.vue +++ b/src/views/gisHome/component/leftMain.vue @@ -22,7 +22,7 @@

总人数

- {{ constructionUserData?.peopleCount + ' ' }} 人 + {{ constructionUserData?.peopleCount }}  
@@ -31,7 +31,7 @@

出勤人

- {{ constructionUserData?.attendanceCount + ' ' }} 人 + {{ constructionUserData?.attendanceCount }}   
@@ -40,7 +40,7 @@

出勤率

- {{ constructionUserData?.attendanceRate + ' ' }} % + {{ constructionUserData?.attendanceRate }}   %
diff --git a/src/views/out/constructionValue/index.vue b/src/views/out/constructionValue/index.vue new file mode 100644 index 0000000..1f176a8 --- /dev/null +++ b/src/views/out/constructionValue/index.vue @@ -0,0 +1,379 @@ + + + diff --git a/src/views/out/designCompletion/index.vue b/src/views/out/designCompletion/index.vue new file mode 100644 index 0000000..dd9b447 --- /dev/null +++ b/src/views/out/designCompletion/index.vue @@ -0,0 +1,241 @@ + + + diff --git a/src/views/out/monthPlan/index.vue b/src/views/out/monthPlan/index.vue new file mode 100644 index 0000000..481f5da --- /dev/null +++ b/src/views/out/monthPlan/index.vue @@ -0,0 +1,268 @@ + + + diff --git a/src/views/project/salaryExcel/index.vue b/src/views/project/salaryExcel/index.vue index 25ea9a0..325f845 100644 --- a/src/views/project/salaryExcel/index.vue +++ b/src/views/project/salaryExcel/index.vue @@ -1,7 +1,190 @@ + +const stores = useUserStoreHook(); +const { proxy } = getCurrentInstance(); - +const loading = ref(false); +const uploadSalaryRef = ref(); +const editRef = ref(); +const documentDetailRef = ref(); +const detailRef = ref(); + +const showAll = ref(false); +const single = ref(true); +const multiple = ref(true); + +const showDocumentDetail = ref(false); +const tableData = reactive({ + data: [], + total: 0 +}); +const totalMoney = ref(0); +const DetailMoney = ref(0); +const ids = ref([]); + +const uploadSalary = () => { + uploadSalaryRef.value.openDialog(); +}; + +const initTableData = () => { + busSalaryDetailsList(); +}; + +const busSalaryDetailsList = () => { + loading.value = true; + readAllImportedListData().then((res: any) => { + let list = res.data.list ?? []; + let moneySum = 0; + list.forEach((item) => { + moneySum += parseInt(item.money); + }); + DetailMoney.value = moneySum; + totalMoney.value = moneySum >= 10000 ? (moneySum / 10000).toFixed(2) + '万' : moneySum; + tableData.data = list; + loading.value = false; + }); +}; + +const handleView = (row: any) => { + detailRef.value.openDialog(toRaw(row)); +}; + +const bookSalary = (row: any) => { + getTheSourceExcelAccordingToTheIdOfThePayroll({ id: row.id }).then((res: any) => { + if (res.code == 0) { + showDocumentDetail.value = true; + let obj = { + suffix: '.' + res.data.Suffix, + name: res.data.Name, + filenPathCoding: res.data.Path, + id: row.id + }; + nextTick(() => { + documentDetailRef.value.openDialog(obj); + }); + } + }); +}; + +const DownloadSalary = (row: any) => { + getTheSourceExcelAccordingToTheIdOfThePayroll({ id: row.id }).then((res: any) => { + if (res.code == 0) { + window.open(res.data.Path, '_blank'); + } + }); +}; + +const DownloadSalaryMOdel = () => { + window.open('http://zmkg.cqet.top:8899/file/masterMask/coryStorageTemplate/工资表模板.xlsx', '_blank'); +}; + +const delSalary = () => { + ElMessageBox.confirm('是否删除选中数据', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(() => { + deletePayroll({ ids: ids.value }).then(() => { + ElMessage.success('删除成功'); + busSalaryDetailsList(); + }); + }) + .catch(() => {}); +}; + +const handleSelectionChange = (selection: any[]) => { + ids.value = selection.map((item) => item.id); +}; + +onMounted(() => { + // initTableData(); +}); + + + diff --git a/src/views/workflows/processDefinition/design.vue b/src/views/workflows/processDefinition/design.vue index cb8c6a2..0eaac66 100644 --- a/src/views/workflows/processDefinition/design.vue +++ b/src/views/workflows/processDefinition/design.vue @@ -27,9 +27,11 @@ const iframeLoaded = () => { }; //baseUrl + const open = async (definitionId, disabled) => { - const url = baseUrl + `/warm-flow-ui/index.html?id=${definitionId}&disabled=${disabled}`; + const url = import.meta.env.DEV + ? `/warm-flow-ui/index.html?id=${definitionId}&disabled=${disabled}` + : baseUrl + `/warm-flow-ui/index.html?id=${definitionId}&disabled=${disabled}`; iframeUrl.value = url + '&Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID; - console.log('🚀 ~ open ~ iframeUrl:', iframeUrl.value); + console.log('🚀 ~ open ~ iframeUrl:', import.meta.env); }; /** 关闭按钮 */ function close() { From 4a5856f6142eec6fb530ab498adfe37911498664 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 1 Aug 2025 20:09:57 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BA=A7=E5=80=BC=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/materials/cailiaoshebei/index.ts | 88 ++++ src/api/materials/cailiaoshebei/types.ts | 225 +++++++++ src/api/out/monthPlan/index.ts | 13 + src/api/out/monthPlan/types.ts | 93 ++-- src/api/out/monthPlanAudit/index.ts | 63 +++ src/api/out/monthPlanAudit/types.ts | 116 +++++ .../constructionSchedulePlan/index.ts | 63 +++ .../constructionSchedulePlan/types.ts | 145 ++++++ src/api/progress/progressCategory/index.ts | 63 +++ src/api/progress/progressCategory/types.ts | 265 +++++++++++ src/api/quality/qualityInspection/types.ts | 1 + src/views/materials/cailiaoshebei/index.vue | 445 ++++++++++++++++++ src/views/out/constructionValue/index.vue | 19 +- src/views/out/designCompletion/index.vue | 248 ++++++---- src/views/out/monthPlan/index.vue | 114 ++--- src/views/out/monthPlanAudit/index.vue | 249 ++++++++++ .../constructionSchedulePlan/index.vue | 362 ++++++++++++++ src/views/progress/plan/index.vue | 4 +- src/views/progress/progressCategory/index.vue | 371 +++++++++++++++ src/views/quality/qualityInspection/index.vue | 10 +- 21 files changed, 2748 insertions(+), 211 deletions(-) create mode 100644 src/api/materials/cailiaoshebei/index.ts create mode 100644 src/api/materials/cailiaoshebei/types.ts create mode 100644 src/api/out/monthPlanAudit/index.ts create mode 100644 src/api/out/monthPlanAudit/types.ts create mode 100644 src/api/progress/constructionSchedulePlan/index.ts create mode 100644 src/api/progress/constructionSchedulePlan/types.ts create mode 100644 src/api/progress/progressCategory/index.ts create mode 100644 src/api/progress/progressCategory/types.ts create mode 100644 src/views/materials/cailiaoshebei/index.vue create mode 100644 src/views/out/monthPlanAudit/index.vue create mode 100644 src/views/progress/constructionSchedulePlan/index.vue create mode 100644 src/views/progress/progressCategory/index.vue diff --git a/.env.development b/.env.development index 1c549fa..a03e777 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +VITE_APP_BASE_API = 'http://192.168.110.159:8899' # 无人机接口地址 diff --git a/src/api/materials/cailiaoshebei/index.ts b/src/api/materials/cailiaoshebei/index.ts new file mode 100644 index 0000000..bf03b50 --- /dev/null +++ b/src/api/materials/cailiaoshebei/index.ts @@ -0,0 +1,88 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CailiaoshebeiVO, CailiaoshebeiForm, CailiaoshebeiQuery } from '@/api/materials/cailiaoshebei/types'; + +/** + * 查询物资-材料设备列表 + * @param query + * @returns {*} + */ + +export const listCailiaoshebei = (query?: CailiaoshebeiQuery): AxiosPromise => { + return request({ + url: '/cailiaoshebei/cailiaoshebei/list', + method: 'get', + params: query + }); +}; + +/** + * 查询物资-材料设备详细 + * @param id + */ +export const getCailiaoshebei = (id: string | number): AxiosPromise => { + return request({ + url: '/cailiaoshebei/cailiaoshebei/' + id, + method: 'get' + }); +}; + +/** + * 新增物资-材料设备 + * @param data + */ +export const addCailiaoshebei = (data: CailiaoshebeiForm) => { + return request({ + url: '/cailiaoshebei/cailiaoshebei', + method: 'post', + data: data + }); +}; + +/** + * 修改物资-材料设备 + * @param data + */ +export const updateCailiaoshebei = (data: CailiaoshebeiForm) => { + return request({ + url: '/cailiaoshebei/cailiaoshebei', + method: 'put', + data: data + }); +}; + +/** + * 删除物资-材料设备 + * @param id + */ +export const delCailiaoshebei = (id: string | number | Array) => { + return request({ + url: '/cailiaoshebei/cailiaoshebei/' + id, + method: 'delete' + }); +}; + +/** + * 查询物资-材料设备批次列表 + * @param query + * @returns {*} + */ +export const listBatch = (query?: any): AxiosPromise => { + return request({ + url: '/cailiaoshebei/cailiaoshebei/pcList', + method: 'get', + params: query + }); +}; + +/** + * 新增物资-材料设备批次 + * @param data + */ +export const getBatch = (data: any) => { + return request({ + url: '/cailiaoshebei/cailiaoshebei/pcAdd', + method: 'post', + data: data + }); +}; diff --git a/src/api/materials/cailiaoshebei/types.ts b/src/api/materials/cailiaoshebei/types.ts new file mode 100644 index 0000000..d9346d0 --- /dev/null +++ b/src/api/materials/cailiaoshebei/types.ts @@ -0,0 +1,225 @@ +export interface CailiaoshebeiVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 批次ID + */ + batchId: string | number; + + /** + * 供货商ID + */ + supplierId: string | number; + + /** + * 供货商 + */ + supplier: string; + + /** + * 设备材料名称 + */ + name: string; + + /** + * 供货来源(字典) + */ + supply: string; + + /** + * 规格型号 + */ + specification: string; + + /** + * 特征描述 + */ + signalment: string; + + /** + * 物料编码 + */ + materialCode: string; + + /** + * 计划到场时间 + */ + arrivalTime: string; + + /** + * 计划完成时间 + */ + finishTime: string; + + /** + * 计量单位 + */ + unit: string; + + /** + * 计划数量 + */ + plan: number; + + /** + * 实际数量 + */ + realQuantity: number; + + /** + * 备注 + */ + remark: string; +} + +export interface CailiaoshebeiForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + projectId?: string | number; + /** + * 批次ID + */ + batchId?: string | number; + + /** + * 供货商ID + */ + supplierId?: string | number; + + /** + * 供货商 + */ + supplier?: string; + + /** + * 设备材料名称 + */ + name?: string; + + /** + * 供货来源(字典) + */ + supply?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 特征描述 + */ + signalment?: string; + + /** + * 物料编码 + */ + materialCode?: string; + + /** + * 计划到场时间 + */ + arrivalTime?: string; + + /** + * 计划完成时间 + */ + finishTime?: string; + + /** + * 计量单位 + */ + unit?: string; + + /** + * 计划数量 + */ + plan?: number; + + /** + * 实际数量 + */ + realQuantity?: number; + + /** + * 备注 + */ + remark?: string; +} + +export interface CailiaoshebeiQuery extends PageQuery { + /** + * 批次ID + */ + batchId?: string | number; + projectId?: string | number; + /** + * 供货商ID + */ + supplierId?: string | number; + + /** + * 供货商 + */ + supplier?: string; + + /** + * 设备材料名称 + */ + name?: string; + + /** + * 供货来源(字典) + */ + supply?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 特征描述 + */ + signalment?: string; + + /** + * 物料编码 + */ + materialCode?: string; + + /** + * 计划到场时间 + */ + arrivalTime?: string; + + /** + * 计划完成时间 + */ + finishTime?: string; + + /** + * 计量单位 + */ + unit?: string; + + /** + * 计划数量 + */ + plan?: number; + + /** + * 实际数量 + */ + realQuantity?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/out/monthPlan/index.ts b/src/api/out/monthPlan/index.ts index 688b675..2efc0c9 100644 --- a/src/api/out/monthPlan/index.ts +++ b/src/api/out/monthPlan/index.ts @@ -61,3 +61,16 @@ export const delMonthPlan = (id: string | number | Array) => { method: 'delete' }); }; + +/** + * 获取月度产值计划 + * @param query + * @returns {*} + */ +export const getMonth = (query: any): AxiosPromise => { + return request({ + url: '/out/monthPlan/info', + method: 'get', + params: query + }); +}; diff --git a/src/api/out/monthPlan/types.ts b/src/api/out/monthPlan/types.ts index 765ce8a..3144767 100644 --- a/src/api/out/monthPlan/types.ts +++ b/src/api/out/monthPlan/types.ts @@ -10,24 +10,19 @@ export interface MonthPlanVO { projectId: string | number; /** - * 设计产值 + * 计划产值 */ - designValue: number; + planValue: number; /** - * 采购产值 + * 完成产值 */ - procurementValue: number; + completeValue: number; /** - * 施工产值 + * 差额 */ - constructionValue: number; - - /** - * 总产值 - */ - totalValue: number; + differenceValue: number; /** * 计划月份(YYYY-MM) @@ -35,9 +30,19 @@ export interface MonthPlanVO { planMonth: string; /** - * 审核状态 + * 1-设计 2-采购 3-施工 */ - auditStatus: string; + valueType: string; + + /** + * 计划审核状态 + */ + planAuditStatus: string; + + /** + * 完成审核状态 + */ + completeAuditStatus: string; } @@ -53,24 +58,19 @@ export interface MonthPlanForm extends BaseEntity { projectId?: string | number; /** - * 设计产值 + * 计划产值 */ - designValue?: number; + planValue?: number; /** - * 采购产值 + * 完成产值 */ - procurementValue?: number; + completeValue?: number; /** - * 施工产值 + * 差额 */ - constructionValue?: number; - - /** - * 总产值 - */ - totalValue?: number; + differenceValue?: number; /** * 计划月份(YYYY-MM) @@ -78,9 +78,19 @@ export interface MonthPlanForm extends BaseEntity { planMonth?: string; /** - * 审核状态 + * 1-设计 2-采购 3-施工 */ - auditStatus?: string; + valueType?: string; + + /** + * 计划审核状态 + */ + planAuditStatus?: string; + + /** + * 完成审核状态 + */ + completeAuditStatus?: string; } @@ -92,24 +102,19 @@ export interface MonthPlanQuery extends PageQuery { projectId?: string | number; /** - * 设计产值 + * 计划产值 */ - designValue?: number; + planValue?: number; /** - * 采购产值 + * 完成产值 */ - procurementValue?: number; + completeValue?: number; /** - * 施工产值 + * 差额 */ - constructionValue?: number; - - /** - * 总产值 - */ - totalValue?: number; + differenceValue?: number; /** * 计划月份(YYYY-MM) @@ -117,9 +122,19 @@ export interface MonthPlanQuery extends PageQuery { planMonth?: string; /** - * 审核状态 + * 1-设计 2-采购 3-施工 */ - auditStatus?: string; + valueType?: string; + + /** + * 计划审核状态 + */ + planAuditStatus?: string; + + /** + * 完成审核状态 + */ + completeAuditStatus?: string; /** * 日期范围参数 diff --git a/src/api/out/monthPlanAudit/index.ts b/src/api/out/monthPlanAudit/index.ts new file mode 100644 index 0000000..7aba502 --- /dev/null +++ b/src/api/out/monthPlanAudit/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MonthPlanAuditVO, MonthPlanAuditForm, MonthPlanAuditQuery } from '@/api/out/monthPlanAudit/types'; + +/** + * 查询审核通过月度产值计划列表 + * @param query + * @returns {*} + */ + +export const listMonthPlanAudit = (query?: MonthPlanAuditQuery): AxiosPromise => { + return request({ + url: '/out/monthPlanAudit/list', + method: 'get', + params: query + }); +}; + +/** + * 查询审核通过月度产值计划详细 + * @param id + */ +export const getMonthPlanAudit = (id: string | number): AxiosPromise => { + return request({ + url: '/out/monthPlanAudit/' + id, + method: 'get' + }); +}; + +/** + * 新增审核通过月度产值计划 + * @param data + */ +export const addMonthPlanAudit = (data: MonthPlanAuditForm) => { + return request({ + url: '/out/monthPlanAudit', + method: 'post', + data: data + }); +}; + +/** + * 修改审核通过月度产值计划 + * @param data + */ +export const updateMonthPlanAudit = (data: MonthPlanAuditForm) => { + return request({ + url: '/out/monthPlanAudit', + method: 'put', + data: data + }); +}; + +/** + * 删除审核通过月度产值计划 + * @param id + */ +export const delMonthPlanAudit = (id: string | number | Array) => { + return request({ + url: '/out/monthPlanAudit/' + id, + method: 'delete' + }); +}; diff --git a/src/api/out/monthPlanAudit/types.ts b/src/api/out/monthPlanAudit/types.ts new file mode 100644 index 0000000..b0a45d5 --- /dev/null +++ b/src/api/out/monthPlanAudit/types.ts @@ -0,0 +1,116 @@ +export interface MonthPlanAuditVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 设计产值 + */ + designValue: number; + + /** + * 采购产值 + */ + purchaseValue: number; + + /** + * 施工产值 + */ + constructionValue: number; + + /** + * 总产值 + */ + totalValue: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth: string; + +} + +export interface MonthPlanAuditForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计产值 + */ + designValue?: number; + + /** + * 采购产值 + */ + purchaseValue?: number; + + /** + * 施工产值 + */ + constructionValue?: number; + + /** + * 总产值 + */ + totalValue?: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth?: string; + +} + +export interface MonthPlanAuditQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 设计产值 + */ + designValue?: number; + + /** + * 采购产值 + */ + purchaseValue?: number; + + /** + * 施工产值 + */ + constructionValue?: number; + + /** + * 总产值 + */ + totalValue?: number; + + /** + * 计划月份(YYYY-MM) + */ + planMonth?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/progress/constructionSchedulePlan/index.ts b/src/api/progress/constructionSchedulePlan/index.ts new file mode 100644 index 0000000..3a7352d --- /dev/null +++ b/src/api/progress/constructionSchedulePlan/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ConstructionSchedulePlanVO, ConstructionSchedulePlanForm, ConstructionSchedulePlanQuery } from '@/api/progress/constructionSchedulePlan/types'; + +/** + * 查询施工进度计划列表 + * @param query + * @returns {*} + */ + +export const listConstructionSchedulePlan = (query?: ConstructionSchedulePlanQuery): AxiosPromise => { + return request({ + url: '/progress/constructionSchedulePlan/list', + method: 'get', + params: query + }); +}; + +/** + * 查询施工进度计划详细 + * @param id + */ +export const getConstructionSchedulePlan = (id: string | number): AxiosPromise => { + return request({ + url: '/progress/constructionSchedulePlan/' + id, + method: 'get' + }); +}; + +/** + * 新增施工进度计划 + * @param data + */ +export const addConstructionSchedulePlan = (data: ConstructionSchedulePlanForm) => { + return request({ + url: '/progress/constructionSchedulePlan', + method: 'post', + data: data + }); +}; + +/** + * 修改施工进度计划 + * @param data + */ +export const updateConstructionSchedulePlan = (data: ConstructionSchedulePlanForm) => { + return request({ + url: '/progress/constructionSchedulePlan', + method: 'put', + data: data + }); +}; + +/** + * 删除施工进度计划 + * @param id + */ +export const delConstructionSchedulePlan = (id: string | number | Array) => { + return request({ + url: '/progress/constructionSchedulePlan/' + id, + method: 'delete' + }); +}; diff --git a/src/api/progress/constructionSchedulePlan/types.ts b/src/api/progress/constructionSchedulePlan/types.ts new file mode 100644 index 0000000..a75768b --- /dev/null +++ b/src/api/progress/constructionSchedulePlan/types.ts @@ -0,0 +1,145 @@ +export interface ConstructionSchedulePlanVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 父ID + */ + parentId: string | number; + + /** + * 节点名称 + */ + nodeName: string; + + /** + * 对应项目结构 + */ + projectStructure: number; + + /** + * 预计开始时间 + */ + planStartDate: string; + + /** + * 预计结束时间 + */ + planEndDate: string; + + /** + * 实际开始时间 + */ + practicalStartDate: string; + + /** + * 实际结束时间 + */ + practicalEndDate: string; + + /** + * 状态 + */ + status: string; + + /** + * 备注 + */ + remark: string; + + /** + * 子对象 + */ + children: ConstructionSchedulePlanVO[]; +} + +export interface ConstructionSchedulePlanForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + parentId?: string | number; + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 父ID + */ + pId?: string | number; + + /** + * 节点名称 + */ + nodeName?: string; + + /** + * 对应项目结构 + */ + projectStructure?: number; + + /** + * 预计开始时间 + */ + planStartDate?: string; + + /** + * 预计结束时间 + */ + planEndDate?: string; + + /** + * 实际开始时间 + */ + practicalStartDate?: string; + + /** + * 实际结束时间 + */ + practicalEndDate?: string; + + /** + * 状态 + */ + status?: string; + + /** + * 备注 + */ + remark?: string; +} + +export interface ConstructionSchedulePlanQuery { + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 父ID + */ + parentId?: string | number; + + /** + * 节点名称 + */ + nodeName?: string; + + /** + * 状态 + */ + status?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/progress/progressCategory/index.ts b/src/api/progress/progressCategory/index.ts new file mode 100644 index 0000000..d525264 --- /dev/null +++ b/src/api/progress/progressCategory/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ProgressCategoryVO, ProgressCategoryForm, ProgressCategoryQuery } from '@/api/progress/progressCategory/types'; + +/** + * 查询分项工程单价列表 + * @param query + * @returns {*} + */ + +export const listProgressCategory = (query?: ProgressCategoryQuery): AxiosPromise => { + return request({ + url: '/progress/progressCategory/list', + method: 'get', + params: query + }); +}; + +/** + * 查询分项工程单价详细 + * @param id + */ +export const getProgressCategory = (id: string | number): AxiosPromise => { + return request({ + url: '/progress/progressCategory/' + id, + method: 'get' + }); +}; + +/** + * 新增分项工程单价 + * @param data + */ +export const addProgressCategory = (data: ProgressCategoryForm) => { + return request({ + url: '/progress/progressCategory', + method: 'post', + data: data + }); +}; + +/** + * 修改分项工程单价 + * @param data + */ +export const updateProgressCategory = (data: ProgressCategoryForm) => { + return request({ + url: '/progress/progressCategory/price', + method: 'post', + data: data + }); +}; + +/** + * 删除分项工程单价 + * @param id + */ +export const delProgressCategory = (id: string | number | Array) => { + return request({ + url: '/progress/progressCategory/' + id, + method: 'delete' + }); +}; diff --git a/src/api/progress/progressCategory/types.ts b/src/api/progress/progressCategory/types.ts new file mode 100644 index 0000000..6e05749 --- /dev/null +++ b/src/api/progress/progressCategory/types.ts @@ -0,0 +1,265 @@ +export interface ProgressCategoryVO { + /** + * 主键id + */ + id: string | number; + + /** + * 父类别id + */ + parentId: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 方阵id + */ + matrixId: string | number; + + /** + * 方阵名称 + */ + matrixName: string; + + /** + * 类别名称 + */ + name: string; + + /** + * 计量方式(0无 1数量 2百分比) + */ + unitType: string; + + /** + * 计量单位 + */ + unit: string; + + /** + * 综合单价 + */ + unitPrice: number; + + /** + * 产值金额 + */ + outputValue: number; + + /** + * 总数量/百分比 + */ + total: number; + + /** + * 已完成数量/百分比 + */ + completed: number; + + /** + * 计划总数量/百分比 + */ + planTotal: number; + + /** + * 是否超期(0否 1是) + */ + isDelay: string; + + /** + * 工作类型 + */ + workType: string; + + /** + * 完成状态(0未开始 1进行中 2已完成) + */ + status: string; + + /** + * 备注 + */ + remark: string; + + /** + * 子对象 + */ + children: ProgressCategoryVO[]; +} + +export interface ProgressCategoryForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 父类别id + */ + parentId?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 方阵id + */ + matrixId?: string | number; + + /** + * 方阵名称 + */ + matrixName?: string; + + /** + * 类别名称 + */ + name?: string; + + /** + * 计量方式(0无 1数量 2百分比) + */ + unitType?: string; + + /** + * 计量单位 + */ + unit?: string; + + /** + * 综合单价 + */ + unitPrice?: number; + + /** + * 产值金额 + */ + outputValue?: number; + + /** + * 总数量/百分比 + */ + total?: number; + + /** + * 已完成数量/百分比 + */ + completed?: number; + + /** + * 计划总数量/百分比 + */ + planTotal?: number; + + /** + * 是否超期(0否 1是) + */ + isDelay?: string; + + /** + * 工作类型 + */ + workType?: string; + + /** + * 完成状态(0未开始 1进行中 2已完成) + */ + status?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface ProgressCategoryQuery { + + /** + * 父类别id + */ + parentId?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 方阵id + */ + matrixId?: string | number; + + /** + * 方阵名称 + */ + matrixName?: string; + + /** + * 类别名称 + */ + name?: string; + + /** + * 计量方式(0无 1数量 2百分比) + */ + unitType?: string; + + /** + * 计量单位 + */ + unit?: string; + + /** + * 综合单价 + */ + unitPrice?: number; + + /** + * 产值金额 + */ + outputValue?: number; + + /** + * 总数量/百分比 + */ + total?: number; + + /** + * 已完成数量/百分比 + */ + completed?: number; + + /** + * 计划总数量/百分比 + */ + planTotal?: number; + + /** + * 是否超期(0否 1是) + */ + isDelay?: string; + + /** + * 工作类型 + */ + workType?: string; + + /** + * 完成状态(0未开始 1进行中 2已完成) + */ + status?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/quality/qualityInspection/types.ts b/src/api/quality/qualityInspection/types.ts index a7cb8e7..0b6de97 100644 --- a/src/api/quality/qualityInspection/types.ts +++ b/src/api/quality/qualityInspection/types.ts @@ -53,6 +53,7 @@ export interface QualityInspectionForm extends BaseEntity { * 主键id */ id?: string | number; + rectificationUnit?: string; /** * 项目id diff --git a/src/views/materials/cailiaoshebei/index.vue b/src/views/materials/cailiaoshebei/index.vue new file mode 100644 index 0000000..69de572 --- /dev/null +++ b/src/views/materials/cailiaoshebei/index.vue @@ -0,0 +1,445 @@ + + + diff --git a/src/views/out/constructionValue/index.vue b/src/views/out/constructionValue/index.vue index 1f176a8..08e1733 100644 --- a/src/views/out/constructionValue/index.vue +++ b/src/views/out/constructionValue/index.vue @@ -55,14 +55,15 @@ - + @@ -145,10 +146,9 @@ import { import { ConstructionValueVO, ConstructionValueQuery, ConstructionValueForm } from '@/api/out/constructionValue/types'; import { getProjectSquare, listProgressCategory, workScheduleList, workScheduleListDetail, workScheduleListPosition } from '@/api/progress/plan'; import { ProgressCategoryVO } from '@/api/progress/plan/types'; -import { useUserStoreHook } from '@/store/modules/user'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; - +import { useUserStoreHook } from '@/store/modules/user'; // 获取用户 store const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 @@ -330,6 +330,7 @@ const submitForm = () => { if (form.value.id) { await updateConstructionValue(form.value).finally(() => (buttonLoading.value = false)); } else { + console.log('🚀 ~ submitForm ~ form.value :', form.value); await addConstructionValue(form.value).finally(() => (buttonLoading.value = false)); } proxy?.$modal.msgSuccess('操作成功'); diff --git a/src/views/out/designCompletion/index.vue b/src/views/out/designCompletion/index.vue index dd9b447..1466276 100644 --- a/src/views/out/designCompletion/index.vue +++ b/src/views/out/designCompletion/index.vue @@ -4,14 +4,8 @@
- - - - - - - - + + 搜索 @@ -26,53 +20,66 @@ - + - - - - - - + + + + + + - + - - - + + + + + - - + + - - + + + + + - diff --git a/src/views/out/monthPlan/index.vue b/src/views/out/monthPlan/index.vue index 481f5da..093c2d3 100644 --- a/src/views/out/monthPlan/index.vue +++ b/src/views/out/monthPlan/index.vue @@ -4,23 +4,16 @@
- - - - - - - - - - - - - - + + - + + + + + + 搜索 @@ -57,11 +50,14 @@ - - - - - + + + + + + - - @@ -267,7 +266,6 @@ const single = ref(true); const multiple = ref(true); const total = ref(0); const batchOptions = ref([]); -const batchId = ref(''); const queryFormRef = ref(); const cailiaoshebeiFormRef = ref(); @@ -305,6 +303,7 @@ const data = reactive>({ supplier: undefined, name: undefined, projectId: currentProject.value.id, + batchNumber: undefined, supply: undefined, specification: undefined, signalment: undefined, @@ -328,19 +327,15 @@ const getList = async () => { loading.value = true; const res = await listCailiaoshebei(queryParams.value); cailiaoshebeiList.value = res.rows; - total.value = res.total; + loading.value = false; }; //查询批次列表 const getBatchList = async () => { - const res = await listBatch({ - pageNum: 1, - pageSize: 1000, - projectId: currentProject.value.id, - batchNumber: batchId.value - }); + const res = await listBatch(queryParams.value); batchOptions.value = res.rows; + total.value = res.total; try { queryParams.value.batchId = res.rows[0].id; form.value.batchId = res.rows[0].id; diff --git a/src/views/out/outDesignTable/index.vue b/src/views/out/outDesignTable/index.vue new file mode 100644 index 0000000..2599207 --- /dev/null +++ b/src/views/out/outDesignTable/index.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/views/out/outDesignTableVS/index.vue b/src/views/out/outDesignTableVS/index.vue new file mode 100644 index 0000000..2c14553 --- /dev/null +++ b/src/views/out/outDesignTableVS/index.vue @@ -0,0 +1,135 @@ + + + diff --git a/src/views/out/outTable/index.vue b/src/views/out/outTable/index.vue index 67bddd4..83f13b9 100644 --- a/src/views/out/outTable/index.vue +++ b/src/views/out/outTable/index.vue @@ -1,16 +1,127 @@ - - +const { queryParams } = toRefs(data); + +/** 查询项目总产值分配列表 */ +const getList = async () => { + loading.value = true; + + const res = await listOutTable(queryParams.value); + valueAllocationList.value = res.rows; + total.value = res.total; + loading.value = false; +}; + +/** 搜索按钮操作 */ +const handleQuery = () => { + queryParams.value.pageNum = 1; + getList(); +}; + +/** 重置按钮操作 */ +const resetQuery = () => { + queryFormRef.value?.resetFields(); + handleQuery(); +}; + +/** 导出按钮操作 */ +const handleExport = () => { + proxy?.download( + 'out/valueAllocation/export', + { + ...queryParams.value + }, + `valueAllocation_${new Date().getTime()}.xlsx` + ); +}; + +onMounted(() => { + // 也可以使用字符串格式(例如 YYYY-MM) + const currentMonthString = ref(dayjs().format('YYYY-MM')); + queryParams.value.month = currentMonthString.value; + getList(); +}); + +//监听项目id刷新数据 +const listeningProject = watch( + () => currentProject.value.id, + (nid, oid) => { + queryParams.value.projectId = nid; + getList(); + } +); + +onUnmounted(() => { + listeningProject(); +}); + diff --git a/src/views/out/ownerSettlement/index.vue b/src/views/out/ownerSettlement/index.vue new file mode 100644 index 0000000..84fd8c2 --- /dev/null +++ b/src/views/out/ownerSettlement/index.vue @@ -0,0 +1,130 @@ + + + + From 0223d9d86e24d46e4da7d89ff3db87213e48876a Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Tue, 5 Aug 2025 18:35:54 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=88=86=E9=A1=B9=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=8D=95=E4=BB=B7=E6=B7=BB=E5=8A=A0=E6=95=B0=E9=87=8F=E5=AD=97?= =?UTF-8?q?=E6=AE=B5,=E5=AE=8C=E5=96=84=E7=89=A9=E8=B5=84-=E7=89=A9?= =?UTF-8?q?=E6=96=99=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/materials/cailiaoshebei/index.ts | 2 +- src/api/materials/cailiaoshebei/types.ts | 2 + src/views/materials/cailiaoshebei/index.vue | 67 ++++++++++++------- src/views/progress/progressCategory/index.vue | 8 +++ src/views/project/project/index.vue | 35 +++++++++- 6 files changed, 88 insertions(+), 28 deletions(-) diff --git a/.env.development b/.env.development index 1c549fa..fe20df3 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +VITE_APP_BASE_API = 'http://192.168.110.159:8898' # 无人机接口地址 diff --git a/src/api/materials/cailiaoshebei/index.ts b/src/api/materials/cailiaoshebei/index.ts index bf03b50..50c303c 100644 --- a/src/api/materials/cailiaoshebei/index.ts +++ b/src/api/materials/cailiaoshebei/index.ts @@ -57,7 +57,7 @@ export const updateCailiaoshebei = (data: CailiaoshebeiForm) => { */ export const delCailiaoshebei = (id: string | number | Array) => { return request({ - url: '/cailiaoshebei/cailiaoshebei/' + id, + url: '/cailiaoshebei/cailiaoshebei/remove/' + id, method: 'delete' }); }; diff --git a/src/api/materials/cailiaoshebei/types.ts b/src/api/materials/cailiaoshebei/types.ts index a042328..d3be5f9 100644 --- a/src/api/materials/cailiaoshebei/types.ts +++ b/src/api/materials/cailiaoshebei/types.ts @@ -81,6 +81,8 @@ export interface CailiaoshebeiForm extends BaseEntity { */ id?: string | number; projectId?: string | number; + batchNumber?: string | number; + /** * 批次ID */ diff --git a/src/views/materials/cailiaoshebei/index.vue b/src/views/materials/cailiaoshebei/index.vue index af6d36f..dfacbad 100644 --- a/src/views/materials/cailiaoshebei/index.vue +++ b/src/views/materials/cailiaoshebei/index.vue @@ -4,8 +4,8 @@
- - + + @@ -68,7 +68,7 @@ --> - - + + + + @@ -102,6 +104,7 @@ import { listMonthPlan, getMonthPlan, delMonthPlan, addMonthPlan, updateMonthPla import { MonthPlanVO, MonthPlanQuery, MonthPlanForm } from '@/api/out/monthPlan/types'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { out_value_type } = toRefs(proxy?.useDict('out_value_type')); +const { wf_business_status } = toRefs(proxy?.useDict('wf_business_status')); import { useUserStoreHook } from '@/store/modules/user'; // 获取用户 store @@ -221,6 +224,7 @@ const handleUpdate = async (row?: MonthPlanVO) => { /** 提交按钮 */ const submitForm = () => { + form.value.projectId = currentProject.value.id; monthPlanFormRef.value?.validate(async (valid: boolean) => { if (valid) { buttonLoading.value = true; @@ -245,6 +249,14 @@ const handleDelete = async (row?: MonthPlanVO) => { await getList(); }; +/** 审核按钮操作 */ +const handleAudit = async (row?: MonthPlanVO) => { + proxy?.$tab.openPage('/out/monthPlan/indexEdit', '审核月度产值计划', { + planMonth: row?.planMonth, + type: 'update' + }); +}; + /** 导出按钮操作 */ const handleExport = () => { proxy?.download( diff --git a/src/views/out/monthPlan/indexEdit.vue b/src/views/out/monthPlan/indexEdit.vue new file mode 100644 index 0000000..54a9b73 --- /dev/null +++ b/src/views/out/monthPlan/indexEdit.vue @@ -0,0 +1,368 @@ + + + + diff --git a/src/views/workflows/task/taskWaiting.vue b/src/views/workflows/task/taskWaiting.vue index d4225c5..02aac32 100644 --- a/src/views/workflows/task/taskWaiting.vue +++ b/src/views/workflows/task/taskWaiting.vue @@ -160,6 +160,7 @@ const handleOpen = async (row: FlowTaskVO) => { taskId: row.id, type: 'approval', formCustom: row.formCustom, + planMonth: row.businessId.split('_')[1], formPath: row.formPath }); workflowCommon.routerJump(routerJumpVo, proxy);