项目列表完整功能

This commit is contained in:
zhuer
2025-03-06 11:50:32 +08:00
parent 86bfb30545
commit c3c6859025
42 changed files with 1861 additions and 3530 deletions

View File

@ -1,6 +1,6 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { LoginData, LoginResult, VerifyCodeResult, TenantInfo } from './types';
import { LoginData, LoginResult, VerifyCodeResult, TenantInfo,UserProject } from './types';
import { UserInfo } from '@/api/system/user/types';
// pc端固定客户端授权id
@ -111,3 +111,11 @@ export function getTenantList(isToken: boolean): AxiosPromise<TenantInfo> {
method: 'get'
});
}
//获取用户项目信息
export function getUserProject(): AxiosPromise<UserProject[]> {
return request({
url: '/project/projectRelevancy/login/list',
method: 'get'
});
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ProjectVO, ProjectForm, ProjectQuery } from '@/api/project/project/types';
/**
* 查询项目列表
* @param query
* @returns {*}
*/
export const listProject = (query?: ProjectQuery): AxiosPromise<ProjectVO[]> => {
return request({
url: '/project/project/list',
method: 'get',
params: query
});
};
/**
* 查询项目详细
* @param id
*/
export const getProject = (id: string | number): AxiosPromise<ProjectVO> => {
return request({
url: '/project/project/' + id,
method: 'get'
});
};
/**
* 新增项目
* @param data
*/
export const addProject = (data: ProjectForm) => {
return request({
url: '/project/project',
method: 'post',
data: data
});
};
/**
* 修改项目
* @param data
*/
export const updateProject = (data: ProjectForm) => {
return request({
url: '/project/project',
method: 'put',
data: data
});
};
/**
* 删除项目
* @param id
*/
export const delProject = (id: string | number | Array<string | number>) => {
return request({
url: '/project/project/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,336 @@
export interface ProjectVO {
/**
*
*/
id: string | number;
/**
* 项目名称
*/
projectName: string;
/**
* 项目简称
*/
shortName: string;
/**
* 父项目id
*/
pId: string | number;
/**
* 状态0正常 1停用
*/
status: number;
/**
* 项目图片
*/
picUrl: string;
/**
* 备注
*/
remark: string;
/**
* 项目类型
*/
type: string;
/**
* 项目类型1光伏 2风电
*/
isType: number;
/**
* 删除时间
*/
deletedAt: string;
/**
* 项目地址
*/
projectSite: string;
/**
* 负责人
*/
principal: string;
/**
* 负责人电话
*/
principalPhone: string;
/**
* 实际容量
*/
actual: string;
/**
* 计划容量
*/
plan: string;
/**
* 开工时间
*/
onStreamTime: string;
/**
* 打卡范围09:00,18:00
*/
punchRange: string;
/**
* 设计总量
*/
designTotal: number;
/**
* 安全协议书
*/
securityAgreement: string;
/**
* 排序字段
*/
sort: number;
/**
* 显示隐藏1显示 2隐藏
*/
showHidden: string | number;
/**
* 是否删除0正常 1删除
*/
isDelete: number;
}
export interface ProjectForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* 项目名称
*/
projectName?: string;
/**
* 项目简称
*/
shortName?: string;
/**
* 父项目id
*/
pId?: string | number;
/**
* 状态0正常 1停用
*/
status?: number;
/**
* 项目图片
*/
picUrl?: string;
/**
* 备注
*/
remark?: string;
/**
* 项目类型
*/
type?: string;
/**
* 项目类型1光伏 2风电
*/
isType?: number;
/**
* 删除时间
*/
deletedAt?: string;
/**
* 项目地址
*/
projectSite?: string;
/**
* 负责人
*/
principal?: string;
/**
* 负责人电话
*/
principalPhone?: string;
/**
* 实际容量
*/
actual?: string;
/**
* 计划容量
*/
plan?: string;
/**
* 开工时间
*/
onStreamTime?: string;
/**
* 打卡范围09:00,18:00
*/
punchRange?: string;
/**
* 设计总量
*/
designTotal?: number;
/**
* 安全协议书
*/
securityAgreement?: string;
/**
* 排序字段
*/
sort?: number;
/**
* 显示隐藏1显示 2隐藏
*/
showHidden?: string | number;
/**
* 是否删除0正常 1删除
*/
isDelete?: number;
}
export interface ProjectQuery extends PageQuery {
/**
* 项目名称
*/
projectName?: string;
/**
* 项目简称
*/
shortName?: string;
/**
* 父项目id
*/
pId?: string | number;
/**
* 状态0正常 1停用
*/
status?: number;
/**
* 项目图片
*/
picUrl?: string;
/**
* 项目类型
*/
type?: string;
/**
* 项目类型1光伏 2风电
*/
isType?: number;
/**
* 删除时间
*/
deletedAt?: string;
/**
* 项目地址
*/
projectSite?: string;
/**
* 负责人
*/
principal?: string;
/**
* 负责人电话
*/
principalPhone?: string;
/**
* 实际容量
*/
actual?: string;
/**
* 计划容量
*/
plan?: string;
/**
* 开工时间
*/
onStreamTime?: string;
/**
* 打卡范围09:00,18:00
*/
punchRange?: string;
/**
* 设计总量
*/
designTotal?: number;
/**
* 安全协议书
*/
securityAgreement?: string;
/**
* 排序字段
*/
sort?: number;
/**
* 显示隐藏1显示 2隐藏
*/
showHidden?: string | number;
/**
* 是否删除0正常 1删除
*/
isDelete?: number;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -0,0 +1,103 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ProjectRelevancyVO, ProjectRelevancyForm, ProjectRelevancyQuery } from '@/api/project/projectRelevancy/types';
/**
* 查询系统用户与项目关联列表
* @param query
* @returns {*}
*/
export const listProjectRelevancy = (query?: ProjectRelevancyQuery): AxiosPromise<ProjectRelevancyVO[]> => {
return request({
url: '/project/projectRelevancy/login/page',
method: 'get',
params: query
});
};
/**
* 查询系统用户与项目关联详细
* @param id
*/
export const getProjectRelevancy = (id: string | number): AxiosPromise<ProjectRelevancyVO> => {
return request({
url: '/project/projectRelevancy/' + id,
method: 'get'
});
};
/**
* 新增系统用户与项目关联
* @param data
*/
export const addProjectRelevancy = (data: ProjectRelevancyForm) => {
return request({
url: '/project/projectRelevancy',
method: 'post',
data: data
});
};
/**
* 修改系统用户与项目关联
* @param data
*/
export const updateProjectRelevancy = (data: ProjectRelevancyForm) => {
return request({
url: '/project/projectRelevancy',
method: 'put',
data: data
});
};
/**
* 删除系统用户与项目关联
* @param id
*/
export const delProjectRelevancy = (id: string | number | Array<string | number>) => {
return request({
url: '/project/projectRelevancy/' + id,
method: 'delete'
});
};
/**
* 穿梭框接口
*/
/**
* 获取用户已关联的项目列表
* @param params { userId: number }
*/
export function listUserProjects(params: { userId: number }) {
return request({
url: '/project/projectRelevancy/list',
method: 'get',
params
});
}
/**
* 添加项目关联
* @param data { userId: number; projectIds: number[] }
*/
export function addNewProjectRelevancy(data: { userId: number; projectIds: number[] }) {
return request({
url: '/project/projectRelevancy/add/project/list',
method: 'post',
data
});
}
/**
* 移除项目关联
* @param data { userId: number; projectIds: number[] }
*/
export function removeNewProjectRelevancy(data: { userId: number; projectIds: number[] }) {
return request({
url: '/project/projectRelevancy/remove/project/list',
method: 'delete',
data
});
}

View File

@ -0,0 +1,71 @@
export interface ProjectRelevancyVO {
/**
* 主键ID
*/
id: string | number;
/**
* 用户ID
*/
userId: string | number;
/**
* 项目ID
*/
projectId: string | number;
/**
* 删除时间
*/
deletedAt: string;
}
export interface ProjectRelevancyForm extends BaseEntity {
/**
* 主键ID
*/
id?: string | number;
/**
* 用户ID
*/
userId?: string | number;
/**
* 项目ID
*/
projectId?: string | number;
/**
* 删除时间
*/
deletedAt?: string;
}
export interface ProjectRelevancyQuery extends PageQuery {
/**
* 用户ID
*/
userId?: string | number;
/**
* 项目ID
*/
projectId?: string | number;
/**
* 删除时间
*/
deletedAt?: string;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -57,3 +57,14 @@ export interface TenantInfo {
tenantEnabled: boolean;
voList: TenantVO[];
}
/**
* 根据用户获得工程列表
* */
export interface UserProject {
id: string;
userId: number;
projectId: string;
projectName: string;
shortName: string;
}