进度管理产值管理

This commit is contained in:
Teo
2025-08-01 20:09:57 +08:00
parent bbc927edba
commit 4a5856f614
21 changed files with 2748 additions and 211 deletions

View File

@ -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<ConstructionSchedulePlanVO[]> => {
return request({
url: '/progress/constructionSchedulePlan/list',
method: 'get',
params: query
});
};
/**
* 查询施工进度计划详细
* @param id
*/
export const getConstructionSchedulePlan = (id: string | number): AxiosPromise<ConstructionSchedulePlanVO> => {
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<string | number>) => {
return request({
url: '/progress/constructionSchedulePlan/' + id,
method: 'delete'
});
};

View File

@ -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;
}

View File

@ -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<ProgressCategoryVO[]> => {
return request({
url: '/progress/progressCategory/list',
method: 'get',
params: query
});
};
/**
* 查询分项工程单价详细
* @param id
*/
export const getProgressCategory = (id: string | number): AxiosPromise<ProgressCategoryVO> => {
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<string | number>) => {
return request({
url: '/progress/progressCategory/' + id,
method: 'delete'
});
};

View File

@ -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;
}