feat(物资管理): 新增备品配件和出入库单管理功能

实现备品配件管理模块,包括列表展示、搜索、新增、编辑、删除功能
完成出入库单管理功能,支持单据类型切换、搜索筛选和增删改查操作
添加数据统计图表展示出入库情况
优化表单验证和错误处理逻辑
This commit is contained in:
re-JZzzz
2025-09-25 20:03:45 +08:00
parent d626d72d43
commit dd32d930d7
7 changed files with 1196 additions and 583 deletions

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { BeipinBeijianVO, BeipinBeijianForm, BeipinBeijianQuery } from '@/api/wuziguanli/beijian/types';
/**
* 查询运维-物资-备品配件列表
* @param query
* @returns {*}
*/
export const listBeipinBeijian = (query?: BeipinBeijianQuery): AxiosPromise<BeipinBeijianVO[]> => {
return request({
url: '/ops/beipinBeijian/list',
method: 'get',
params: query
});
};
/**
* 查询运维-物资-备品配件详细
* @param id
*/
export const getBeipinBeijian = (id: string | number): AxiosPromise<BeipinBeijianVO> => {
return request({
url: '/ops/beipinBeijian/' + id,
method: 'get'
});
};
/**
* 新增运维-物资-备品配件
* @param data
*/
export const addBeipinBeijian = (data: BeipinBeijianForm) => {
return request({
url: '/ops/beipinBeijian',
method: 'post',
data: data
});
};
/**
* 修改运维-物资-备品配件
* @param data
*/
export const updateBeipinBeijian = (data: BeipinBeijianForm) => {
return request({
url: '/ops/beipinBeijian',
method: 'put',
data: data
});
};
/**
* 删除运维-物资-备品配件
* @param id
*/
export const delBeipinBeijian = (id: string | number | Array<string | number>) => {
return request({
url: '/ops/beipinBeijian/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,131 @@
export interface BeipinBeijianVO {
/**
* id
*/
id: string | number;
/**
* 项目id
*/
projectId: string | number;
/**
* 备件编号
*/
beijianNumber: string;
/**
* 备件名称
*/
beijianName: string;
/**
* 设备类型
*/
shebeiType: string;
/**
* 规格型号
*/
guigexinghao: string;
/**
* 库存状态(待定)
*/
kucunStatus: string;
/**
* 库存数量
*/
kucunCount: number;
}
export interface BeipinBeijianForm extends BaseEntity {
/**
* id
*/
id?: string | number;
/**
* 项目id
*/
projectId?: string | number;
/**
* 备件编号
*/
beijianNumber?: string;
/**
* 备件名称
*/
beijianName?: string;
/**
* 设备类型
*/
shebeiType?: string;
/**
* 规格型号
*/
guigexinghao?: string;
/**
* 库存状态(待定)
*/
kucunStatus?: string;
/**
* 库存数量
*/
kucunCount?: number;
}
export interface BeipinBeijianQuery extends PageQuery {
/**
* 项目id
*/
projectId?: string | number;
/**
* 备件编号
*/
beijianNumber?: string;
/**
* 备件名称
*/
beijianName?: string;
/**
* 设备类型
*/
shebeiType?: string;
/**
* 规格型号
*/
guigexinghao?: string;
/**
* 库存状态(待定)
*/
kucunStatus?: string;
/**
* 库存数量
*/
kucunCount?: number;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -0,0 +1,76 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ChurukudanVO, ChurukudanForm, ChurukudanQuery } from '@/api/wuziguanli/churuku/types';
/**
* 查询运维-物资-出入库单管理列表
* @param query
* @returns {*}
*/
export const listChurukudan = (query?: ChurukudanQuery): AxiosPromise<ChurukudanVO[]> => {
return request({
url: '/ops/churukudan/list',
method: 'get',
params: query
});
};
/**
* 查询运维-物资-出入库单管理详细
* @param id
*/
export const getChurukudan = (id: string | number): AxiosPromise<ChurukudanVO> => {
return request({
url: '/ops/churukudan/' + id,
method: 'get'
});
};
/**
* 新增运维-物资-出入库单管理
* @param data
*/
export const addChurukudan = (data: ChurukudanForm) => {
return request({
url: '/ops/churukudan',
method: 'post',
data: data
});
};
/**
* 修改运维-物资-出入库单管理
* @param data
*/
export const updateChurukudan = (data: ChurukudanForm) => {
return request({
url: '/ops/churukudan',
method: 'put',
data: data
});
};
/**
* 删除运维-物资-出入库单管理
* @param id
*/
export const delChurukudan = (id: string | number | Array<string | number>) => {
return request({
url: '/ops/churukudan/' + id,
method: 'delete'
});
};
/**
* 运维-物资-出入库单柱状图
* @param query
* @returns {*}
*/
export const getChuRuKuCountBar = (data:any): AxiosPromise<any> => {
return request({
url: '/ops/churukudan/getChuRuKuCount',
method: 'get',
params: data
});
};

View File

@ -0,0 +1,154 @@
export interface ChurukudanVO {
/**
* id
*/
id: string | number;
/**
* 项目id
*/
projectId: string | number;
/**
* 单据编号
*/
danjvNumber: string;
/**
* 设备类型
*/
shebeiType: string;
/**
* 经手人id
*/
jingshourenId: string | number;
/**
* 经手人
*/
jingshourenName: string;
/**
* 联系电话
*/
contactNumber: string;
/**
* 总数量
*/
zonNumber: number;
/**
* 审核状态
*/
shenheStatus: string;
/**
* 单据状态1、出库单2入库单
*/
danjvType: string;
}
export interface ChurukudanForm extends BaseEntity {
/**
* id
*/
id?: string | number;
/**
* 项目id
*/
projectId: string | number;
/**
* 单据编号
*/
danjvNumber?: string;
/**
* 设备类型
*/
shebeiType?: string;
/**
* 经手人id
*/
jingshourenId?: string | number;
/**
* 经手人
*/
jingshourenName?: string;
/**
* 联系电话
*/
contactNumber?: string;
/**
* 总数量
*/
zonNumber?: number;
/**
* 审核状态
*/
shenheStatus?: string;
/**
* 单据状态1、出库单2入库单
*/
danjvType?: string;
/**
* 审核状态
*/
auditStatus?: string;
}
export interface ChurukudanQuery extends PageQuery {
/**
* 项目id
*/
projectId?: string | number;
/**
* 单据编号
*/
danjvNumber?: string;
/**
* 设备类型
*/
shebeiType?: string;
/**
* 审核状态
*/
shenheStatus?: string;
/**
* 单据状态1、出库单2入库单
*/
danjvType?: string;
/**
* 审核状态
*/
auditStatus?: string;
/**
* 开始日期
*/
startDate?: string;
/**
* 结束日期
*/
endDate?: string;
/**
* 日期范围参数
*/
params?: any;
}