[add] 新增萤石摄像头抓拍相关逻辑,获取方阵内光伏板、桩点支柱立架、箱变、逆变器地理信息接口

This commit is contained in:
lcj
2025-06-18 19:56:23 +08:00
parent 9d092facd0
commit cd1779fffd
91 changed files with 4163 additions and 672 deletions

View File

@ -45,7 +45,8 @@ export interface MachineryForm extends BaseEntity {
* 主键id
*/
id?: string | number;
principalPhone: string | number;
provider: string | number;
/**
* 机械名称
*/
@ -82,7 +83,8 @@ export interface MachineryQuery extends PageQuery {
* 机械名称
*/
machineryName?: string;
principalPhone: string | number;
provider: string | number;
/**
* 机械型号
*/

View File

@ -45,6 +45,8 @@ export interface CompanyForm extends BaseEntity {
* 公司名称
*/
companyName?: string;
principalPhone?: string;
principal?: string;
/**
* 项目id
@ -72,6 +74,8 @@ export interface CompanyQuery extends PageQuery {
* 公司名称
*/
companyName?: string;
principalPhone?: string;
principal?: string;
/**
* 项目id

View File

@ -1,7 +1,33 @@
import request from '@/utils/request';
import request, { download } from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ConstructionUserForm, ConstructionUserQuery, ConstructionUserVO } from '@/api/project/constructionUser/types';
import {
ConstructionUserForm,
ConstructionUserQuery,
ConstructionUserVO,
skipType,
ConstructionUserStatusForm,
ConstructionUserPlayCardForm,
ConstructionUserSalaryForm,
ConstructionUserExitForm,
ConstructionUserTemplateForm,
ConstructionUserMembeForm,
ConstructionMonthQuery
} from '@/api/project/constructionUser/types';
import { AttendanceMonthVO } from '../attendance/types';
/**
* 查询施工人员月份考勤列表
* @param query
* @returns {*}
*/
export const listConstructionMonth = (query?: ConstructionMonthQuery): AxiosPromise<AttendanceMonthVO[]> => {
return request({
url: '/project/constructionUser/list/attendance/month',
method: 'get',
params: query
});
};
/**
* 查询施工人员列表
* @param query
@ -27,6 +53,28 @@ export const getConstructionUser = (id: string | number): AxiosPromise<Construct
});
};
/**
* 人员迁移
* @param data
*/
export const transferConstructionUser = (data: skipType) => {
return request({
url: '/project/constructionUser/change/project',
method: 'put',
data: data
});
};
/**
* 查询项目以及项目下的分包公司列表
*/
export const getProjectContractorList = () => {
return request({
url: '/project/project/list/project/contractorList',
method: 'get'
});
};
/**
* 新增施工人员
* @param data
@ -61,3 +109,97 @@ export const delConstructionUser = (id: string | number | Array<string | number>
method: 'delete'
});
};
/**
* 修改施工人员在职状态
* @param data
*/
export const updateConstructionUserStatus = (data: ConstructionUserStatusForm) => {
return request({
url: '/project/constructionUser/batch/status',
method: 'put',
data: data
});
};
/**
* 根据项目id批量修改施工人员打卡状态
* @param data
*/
export const updateConstructionUserPlayCardStatus = (data: ConstructionUserPlayCardForm) => {
return request({
url: '/project/constructionUser/batch/clock',
method: 'put',
data: data
});
};
/**
* 修改施工人员打卡状态
* @param data
*/
export const updateConstructionUserPlayCardOneStatus = (data: ConstructionUserPlayCardForm) => {
return request({
url: '/project/constructionUser/clock',
method: 'put',
data: data
});
};
/**
* 修改施工人员工资
* @param data
*/
export const updateConstructionUserSalary = (data: ConstructionUserSalaryForm) => {
return request({
url: '/project/constructionUser/salary',
method: 'put',
data: data
});
};
/**
* 查询施工人员入退场记录
* @param query
*/
export const getConstructionUserExit = (query: ConstructionUserExitForm) => {
return request({
url: '/project/constructionUserExit/list',
method: 'get',
params: query
});
};
/**
* 下载施工人员文件存储模板
* @param query
*/
export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateForm) => {
let { projectId } = query;
const fileName = projectId + '_project.zip';
return download('/project/constructionUserFile/exportFileTemplate', query, fileName);
};
/**
* 施工人员退场
* @param data
*/
export const delConstructionUserMember = (data: ConstructionUserMembeForm) => {
return request({
url: '/project/projectTeamMember/',
method: 'delete',
data
});
};
/**
* 上传施工人员文件压缩包,批量导入存储施工人员文件
* @param data
*/
export const importConstructionUserInfo = (file: string) => {
return request({
url: '/project/constructionUserFile/upload/zip',
method: 'post',
data: { file }
});
};

View File

@ -1,5 +1,6 @@
import { ContractorVO } from '@/api/project/contractor/types';
import { ProjectTeamVO } from '@/api/project/projectTeam/types';
import { S } from 'node_modules/vite/dist/node/types.d-aGj9QkWt';
export interface ConstructionUserVO {
/**
@ -182,6 +183,118 @@ export interface ConstructionUserVO {
*/
createTime: string;
}
export interface skipType {
/**
* 项目id
*/
projectId: string | number;
/**
* 分包id
*/
contractorId: string | number;
id: string | number;
}
export interface ConstructionMonthQuery {
/**
* id
*/
userId: string | number;
/**
* 打卡月份
*/
clockMonth?: string | number;
}
export interface ConstructionUserMembeForm {
/**
* 用户id
*/
id: string | number;
/**
* 用户姓名
*/
userName: string | number;
/**
* 文件路径
*/
filePath: string;
/**
* 备注
*/
remark: string | number;
}
export interface ConstructionUserTemplateForm {
/**
* 项目id
*/
projectId: string | number;
}
export interface ConstructionUserExitForm {
/**
* userId
*/
userId: number | string;
}
export interface ConstructionUserSalaryForm {
/**
* 列表
*/
id: number | string;
/**
* 工资
*/
salary?: number | string;
}
export interface ConstructionUserPlayCardForm {
/**
* 项目
*/
projectId?: string | number;
/**
* 用户id
*/
id?: string | number;
/**
* 打卡状态
*/
clock: number | string;
}
export interface skipOptionType {
/**
* 名称
*/
projectName: string | number;
/**
* id
*/
id: string | number;
/**
* 子项
*/
contractorList: Array<skipTeamType>;
}
export interface skipTeamType {
/**
* 名称
*/
name: string | number;
/**
* id
*/
id: string | number;
}
export interface ConstructionUserForm extends BaseEntity {
/**
@ -218,6 +331,10 @@ export interface ConstructionUserForm extends BaseEntity {
* 分包公司id
*/
contractorId?: string | number;
/**
* 结算方式
*/
wageMeasureUnit?: string | number;
/**
* 班组id
@ -345,6 +462,11 @@ export interface ConstructionUserForm extends BaseEntity {
remark?: string;
}
export interface ConstructionUserStatusForm {
status: number | string;
idList: Array<string | number>;
}
export interface ConstructionUserQuery extends PageQuery {
/**
* 微信id

View File

@ -51,6 +51,11 @@ export interface ContractorForm extends BaseEntity {
*/
id?: string | number;
/**
* 主键id
*/
projectId?: string | number;
/**
* 公司名称
*/

View File

@ -1,6 +1,6 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ProjectForm, ProjectQuery, ProjectVO } from '@/api/project/project/types';
import { childProjectQuery, ProjectForm, ProjectQuery, ProjectVO } from '@/api/project/project/types';
/**
* 查询项目列表
@ -16,6 +16,19 @@ export const listProject = (query?: ProjectQuery): AxiosPromise<ProjectVO[]> =>
});
};
/**
* 查询项目dxf
* @param query
* @returns {*}
*/
export const listDXFProject = (id: string | number): AxiosPromise<any> => {
return request({
url: '/project/projectFile/json/' + id,
method: 'get'
});
};
/**
* 查询项目详细
* @param id
@ -51,6 +64,83 @@ export const updateProject = (data: ProjectForm) => {
});
};
/**
* 上传dxf文件
* @param data
*/
export const upLoadProjectDXF = (data: any) => {
return request({
url: '/project/projectFile/upload/dxf',
method: 'post',
data: data
});
};
/**
* 通过GeoJson新增设施-光伏板
* @param data
*/
export const addProjectFacilities = (data: any) => {
return request({
url: '/facility/photovoltaicPanel/geoJson',
method: 'post',
data: data,
headers: {
'X-No-Cache': 'true'
}
});
};
/**
* 通过GeoJson新增设施-光伏板桩点、立柱、支架
* @param data
*/
export const addProjectPilePoint = (data: any) => {
console.log('🚀 ~ addProjectPilePoint ~ data:', data);
return request({
url: '/facility/photovoltaicPanelPoint/parts/geoJson',
method: 'post',
data: data
});
};
/**
* 通过GeoJson新增设施-方阵
* @param data
*/
export const addProjectSquare = (data: any) => {
return request({
url: '/facility/matrix/geoJson',
method: 'post',
data: data
});
};
/**
* 通过GeoJson新增设施-箱变
* @param data
*/
export const addBoxTransformer = (data: any) => {
return request({
url: '/facility/boxTransformer/geoJson',
method: 'post',
data: data
});
};
/**
* 通过GeoJson新增设施-逆变器
* @param data
*/
export const addInverter = (data: any) => {
return request({
url: '/facility/inverter/geoJson',
method: 'post',
data: data
});
};
/**
* 删除项目
* @param id
@ -61,3 +151,26 @@ export const delProject = (id: string | number | Array<string | number>) => {
method: 'delete'
});
};
/**
* 新增子项目
* @param data
*/
export const addChildProject = (data: childProjectQuery) => {
return request({
url: '/project/project/sub',
method: 'post',
data: data
});
};
/**
* 查询项目下的子项目列表
* @param id
*/
export const getChildProject = (id: string | number): AxiosPromise<childProjectQuery[]> => {
return request({
url: '/project/project/list/sub/' + id,
method: 'get'
});
};

View File

@ -2,7 +2,7 @@ export interface ProjectVO {
/**
* id
*/
id: string | number;
id: string;
/**
* 项目名称
@ -13,7 +13,7 @@ export interface ProjectVO {
* 项目简称
*/
shortName: string;
designId: string;
/**
* 父项目id
*/
@ -37,12 +37,12 @@ export interface ProjectVO {
/**
* 项目类型
*/
type: string;
projectType: string;
/**
* 项目类型1光伏 2风电
*/
isType: number;
projectCategory: number;
/**
* 删除时间
@ -113,6 +113,25 @@ export interface ProjectVO {
* 创建时间
*/
createTime: string;
type?: string;
}
export interface locationType {
/**
* 经度
*/
lng: string;
// 纬度
lat: string;
// 逆地理编码地址
projectSite: string;
}
export interface childProjectQuery{
projectName:string;
pid:string;
id?:string
}
export interface ProjectForm extends BaseEntity {
@ -146,6 +165,16 @@ export interface ProjectForm extends BaseEntity {
*/
picUrl?: string;
/**
* 经度
*/
lng?: string;
/**
* 纬度
*/
lat?: string;
/**
* 备注
*/
@ -154,12 +183,12 @@ export interface ProjectForm extends BaseEntity {
/**
* 项目类型
*/
type?: string;
projectType?: string;
/**
* 项目类型1光伏 2风电
*/
isType?: number;
projectCategory?: number;
/**
* 删除时间
@ -197,9 +226,14 @@ export interface ProjectForm extends BaseEntity {
onStreamTime?: string;
/**
* 打卡范围09:00,18:00
* 打卡开始时间09:00,18:00
*/
punchRange?: string;
playCardStart?: string;
/**
* 打卡结束时间09:00,18:00
*/
playCardEnd?: string;
/**
* 设计总量
@ -256,12 +290,12 @@ export interface ProjectQuery extends PageQuery {
/**
* 项目类型
*/
type?: string;
projectType?: string;
/**
* 项目类型1光伏 2风电
*/
isType?: number;
projectCategory?: number;
/**
* 删除时间
@ -273,6 +307,16 @@ export interface ProjectQuery extends PageQuery {
*/
projectSite?: string;
/**
* 经度
*/
lng?: string;
/**
* 纬度
*/
lat?: string;
/**
* 负责人
*/
@ -299,9 +343,14 @@ export interface ProjectQuery extends PageQuery {
onStreamTime?: string;
/**
* 打卡范围09:00,18:00
* 打卡开始时间09:00,18:00
*/
punchRange?: string;
playCardStart?: string;
/**
* 打卡结束时间09:00,18:00
*/
playCardEnd?: string;
/**
* 设计总量

View File

@ -35,7 +35,7 @@ export interface ProjectTeamForm extends BaseEntity {
* 主键id
*/
id?: string | number;
peopleNumber?: string | number;
/**
* 项目id
*/
@ -62,7 +62,7 @@ export interface ProjectTeamQuery extends PageQuery {
* 项目id
*/
projectId?: string | number;
peopleNumber?: string | number;
/**
* 班组名称
*/
@ -84,7 +84,7 @@ export interface ProjectTeamForemanResp {
* 班组id
*/
id: string | number;
foremanList: foremanQuery[];
/**
* 班组名称
*/
@ -94,7 +94,9 @@ export interface ProjectTeamForemanResp {
* 项目id
*/
projectId: string | number;
}
export interface foremanQuery {
/**
* 班组长id
*/

View File

@ -24,6 +24,11 @@ export interface ProjectTeamMemberVO {
*/
postId: string | number;
/**
* 施工人员姓名
*/
memberName: string;
/**
* 备注
*/

View File

@ -61,3 +61,15 @@ export const delQuestionUserAnswer = (id: string | number | Array<string | numbe
method: 'delete'
});
};
/**
* 上传线下考试试卷存储
* @param data
*/
export const uploadQuestionUserAnswer = (data: any) => {
return request({
url: '/safety/questionUserAnswer/upload/zip',
method: 'post',
data: data
});
};

View File

@ -1,33 +1,17 @@
export interface QuestionUserAnswerVO {
/**
* 主键id
*/
id: string | number;
/**
* 项目id
*/
projectId: string | number;
/**
* 用户id
*/
userId: string | number;
/**
* 题库id列表
*/
bankIdList: Array<string | number>;
/**
* 答案列表
*/
answerList: Array<string>;
/**
* 得分
*/
score: number;
id: string | number;
file: string;
/**
* 考试类型1线上考试 2线下考试
*/
/**
* 考试时间(时间戳/秒)
*/
examTime: number;
/**
* 用时时间(时间戳/秒)
@ -38,11 +22,6 @@ export interface QuestionUserAnswerVO {
* 及格线/总分格式60,100
*/
pass: string;
/**
* 文件地址
*/
file: string;
}
export interface QuestionUserAnswerForm extends BaseEntity {
@ -50,7 +29,8 @@ export interface QuestionUserAnswerForm extends BaseEntity {
* 主键id
*/
id?: string | number;
teamId?: string | number;
userName?: string;
/**
* 项目id
*/
@ -64,18 +44,23 @@ export interface QuestionUserAnswerForm extends BaseEntity {
/**
* 题库id列表
*/
bankIdList: Array<string | number>;
bankId?: string | number;
/**
* 答案列表
*/
answerList: Array<string>;
answer?: string;
/**
* 得分
*/
score?: number;
/**
* 考试时间(时间戳/秒)
*/
examTime?: number;
/**
* 用时时间(时间戳/秒)
*/
@ -93,45 +78,17 @@ export interface QuestionUserAnswerForm extends BaseEntity {
}
export interface QuestionUserAnswerQuery extends PageQuery {
/**
* 项目id
*/
projectId?: string | number;
/**
* 用户id
*/
userId?: string | number;
teamId?: string | number;
userName?: string;
projectId?: string | number;
/**
* 题库id列表
* 考试类型1线上考试 2线下考试
*/
bankIdList: Array<string | number>;
/**
* 答案列表
*/
answerList: Array<string>;
/**
* 得分
*/
score?: number;
/**
* 用时时间(时间戳/秒)
*/
takeTime?: number;
/**
* 及格线/总分格式60,100
*/
pass?: string;
/**
* 文件地址
*/
file?: string;
examType?: string;
/**
* 日期范围参数

View File

@ -102,6 +102,7 @@ export interface SafetyLogForm extends BaseEntity {
* 主键id
*/
id?: string | number;
creatorName?: string;
/**
* 项目id
@ -189,6 +190,7 @@ export interface SafetyLogQuery extends PageQuery {
* 项目id
*/
projectId?: string | number;
creatorName?: string;
/**
* 发生日期

View File

@ -1,6 +1,7 @@
import { IdAndNameVO } from '@/api/types';
export interface TeamMeetingVO {
pictureUrlList: Array<string>;
/**
* 主键id
*/
@ -14,12 +15,12 @@ export interface TeamMeetingVO {
/**
* 班组
*/
team: IdAndNameVO;
teamName: IdAndNameVO;
/**
* 分包公司
*/
contractor: IdAndNameVO;
contractorName: IdAndNameVO;
/**
* 开会时间
@ -29,7 +30,7 @@ export interface TeamMeetingVO {
/**
* 宣讲人
*/
compere: IdAndNameVO;
compereName: IdAndNameVO;
/**
* 参与人列表

View File

@ -1,4 +1,4 @@
import request from '@/utils/request';
import request, { download } from '@/utils/request';
import { OssQuery, OssVO } from './types';
import { AxiosPromise } from 'axios';
@ -26,3 +26,8 @@ export function delOss(ossId: string | number | Array<string | number>) {
method: 'delete'
});
}
// 下载OSS对象存储
export function downLoadOss(ossId: { id?: string | number; idList?: string | number | Array<string | number> }, url: string, fileName: string) {
return download(url, ossId, fileName);
}