diff --git a/src/api/project/projectTeam/index.ts b/src/api/project/projectTeam/index.ts index d0d8284..8a55f69 100644 --- a/src/api/project/projectTeam/index.ts +++ b/src/api/project/projectTeam/index.ts @@ -1,6 +1,6 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { ProjectTeamForm, ProjectTeamQuery, ProjectTeamVO } from '@/api/project/projectTeam/types'; +import { ProjectTeamForemanResp, ProjectTeamForm, ProjectTeamQuery, ProjectTeamVO } from '@/api/project/projectTeam/types'; /** * 查询项目班组列表 @@ -16,6 +16,17 @@ export const listProjectTeam = (query?: ProjectTeamQuery): AxiosPromise => { + return request({ + url: '/project/projectTeam/listForeman/' + projectId, + method: 'get' + }); +}; + /** * 查询项目班组详细 * @param id diff --git a/src/api/project/projectTeam/types.ts b/src/api/project/projectTeam/types.ts index 8ef7fa2..e3c5ad9 100644 --- a/src/api/project/projectTeam/types.ts +++ b/src/api/project/projectTeam/types.ts @@ -78,3 +78,30 @@ export interface ProjectTeamQuery extends PageQuery { */ params?: any; } + +export interface ProjectTeamForemanResp { + /** + * 班组id + */ + id: string | number; + + /** + * 班组名称 + */ + teamName: string; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 班组长id + */ + foremanId: string | number; + + /** + * 班组长名字 + */ + foremanName: string; +} diff --git a/src/api/safety/safetyInspection/index.ts b/src/api/safety/safetyInspection/index.ts new file mode 100644 index 0000000..cd9076c --- /dev/null +++ b/src/api/safety/safetyInspection/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SafetyInspectionForm, SafetyInspectionQuery, SafetyInspectionVO } from '@/api/safety/safetyInspection/types'; + +/** + * 查询安全巡检工单列表 + * @param query + * @returns {*} + */ + +export const listSafetyInspection = (query?: SafetyInspectionQuery): AxiosPromise => { + return request({ + url: '/safety/safetyInspection/list', + method: 'get', + params: query + }); +}; + +/** + * 查询安全巡检工单详细 + * @param id + */ +export const getSafetyInspection = (id: string | number): AxiosPromise => { + return request({ + url: '/safety/safetyInspection/' + id, + method: 'get' + }); +}; + +/** + * 新增安全巡检工单 + * @param data + */ +export const addSafetyInspection = (data: SafetyInspectionForm) => { + return request({ + url: '/safety/safetyInspection', + method: 'post', + data: data + }); +}; + +/** + * 修改安全巡检工单 + * @param data + */ +export const updateSafetyInspection = (data: SafetyInspectionForm) => { + return request({ + url: '/safety/safetyInspection', + method: 'put', + data: data + }); +}; + +/** + * 删除安全巡检工单 + * @param id + */ +export const delSafetyInspection = (id: string | number | Array) => { + return request({ + url: '/safety/safetyInspection/' + id, + method: 'delete' + }); +}; diff --git a/src/api/safety/safetyInspection/types.ts b/src/api/safety/safetyInspection/types.ts new file mode 100644 index 0000000..2400920 --- /dev/null +++ b/src/api/safety/safetyInspection/types.ts @@ -0,0 +1,340 @@ +export interface SafetyInspectionVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 父id(默认为0) + */ + pid: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 检查类型 + */ + checkType: string; + + /** + * 违章类型 + */ + violationType: string; + + /** + * 巡检结果 + */ + inspectionResult: string; + + /** + * 整改班组id + */ + teamId: string | number; + + /** + * 整改班组名字 + */ + teamName: string; + + /** + * 整改人(班组长)id + */ + correctorId: string | number; + + /** + * 整改人(班组长)名字 + */ + correctorName: string; + + /** + * 是否回复(1回复 2不回复) + */ + isReply: string; + + /** + * 回复日期 + */ + replyDate: string; + + /** + * 工单状态(1通知 2整改 3复查) + */ + status: string; + + /** + * 问题隐患 + */ + hiddenDanger: string | number; + + /** + * 整改措施 + */ + measure: string; + + /** + * 复查情况 + */ + review: string; + + /** + * 复查状态(1通过 2未通过) + */ + reviewType: string; + + /** + * 检查时间 + */ + checkTime: string; + + /** + * 整改时间 + */ + rectificationTime: string; + + /** + * 复查时间 + */ + reviewTime: string; + + /** + * 检查附件 + */ + checkFile: string; + + /** + * 整改附件 + */ + rectificationFile: string; + + /** + * 备注 + */ + remark: string; + + /** + * 创建时间 + */ + createTime: string; + + /** + * 创建人id + */ + creatorId: string | number; + + /** + * 创建人名字 + */ + creatorName: string; +} + +export interface SafetyInspectionForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 父id(默认为0) + */ + pid?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 检查类型 + */ + checkType?: string; + + /** + * 违章类型 + */ + violationType?: string; + + /** + * 巡检结果 + */ + inspectionResult?: string; + + /** + * 整改班组id + */ + teamId?: string | number; + + /** + * 整改人(班组长)id + */ + correctorId?: string | number; + + /** + * 是否回复(1回复 2不回复) + */ + isReply?: string; + + /** + * 回复日期 + */ + replyDate?: string; + + /** + * 工单状态(1通知 2整改 3复查) + */ + status?: string; + + /** + * 问题隐患 + */ + hiddenDanger?: string | number; + + /** + * 整改措施 + */ + measure?: string; + + /** + * 复查情况 + */ + review?: string; + + /** + * 复查状态(1通过 2未通过) + */ + reviewType?: string; + + /** + * 检查时间 + */ + checkTime?: string; + + /** + * 整改时间 + */ + rectificationTime?: string; + + /** + * 复查时间 + */ + reviewTime?: string; + + /** + * 检查附件 + */ + checkFile?: string; + + /** + * 整改附件 + */ + rectificationFile?: string; + + /** + * 备注 + */ + remark?: string; +} + +export interface SafetyInspectionQuery extends PageQuery { + /** + * 主键ID + */ + id?: string | number; + + /** + * 父id(默认为0) + */ + pid?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 检查类型 + */ + checkType?: string; + + /** + * 违章类型 + */ + violationType?: string; + + /** + * 巡检结果 + */ + inspectionResult?: string; + + /** + * 整改班组id + */ + teamId?: string | number; + + /** + * 整改人(班组长)id + */ + correctorId?: string | number; + + /** + * 是否回复(1回复 2不回复) + */ + isReply?: string; + + /** + * 回复日期 + */ + replyDate?: string; + + /** + * 工单状态(1通知 2整改 3复查) + */ + status?: string; + + /** + * 问题隐患 + */ + hiddenDanger?: string | number; + + /** + * 整改措施 + */ + measure?: string; + + /** + * 复查情况 + */ + review?: string; + + /** + * 复查状态(1通过 2未通过) + */ + reviewType?: string; + + /** + * 检查时间 + */ + checkTime?: string; + + /** + * 整改时间 + */ + rectificationTime?: string; + + /** + * 复查时间 + */ + reviewTime?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/safety/safetyLog/index.ts b/src/api/safety/safetyLog/index.ts new file mode 100644 index 0000000..3389bd0 --- /dev/null +++ b/src/api/safety/safetyLog/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SafetyLogForm, SafetyLogQuery, SafetyLogVO } from '@/api/safety/safetyLog/types'; + +/** + * 查询安全日志列表 + * @param query + * @returns {*} + */ + +export const listSafetyLog = (query?: SafetyLogQuery): AxiosPromise => { + return request({ + url: '/safety/safetyLog/list', + method: 'get', + params: query + }); +}; + +/** + * 查询安全日志详细 + * @param id + */ +export const getSafetyLog = (id: string | number): AxiosPromise => { + return request({ + url: '/safety/safetyLog/' + id, + method: 'get' + }); +}; + +/** + * 新增安全日志 + * @param data + */ +export const addSafetyLog = (data: SafetyLogForm) => { + return request({ + url: '/safety/safetyLog', + method: 'post', + data: data + }); +}; + +/** + * 修改安全日志 + * @param data + */ +export const updateSafetyLog = (data: SafetyLogForm) => { + return request({ + url: '/safety/safetyLog', + method: 'put', + data: data + }); +}; + +/** + * 删除安全日志 + * @param id + */ +export const delSafetyLog = (id: string | number | Array) => { + return request({ + url: '/safety/safetyLog/' + id, + method: 'delete' + }); +}; diff --git a/src/api/safety/safetyLog/types.ts b/src/api/safety/safetyLog/types.ts new file mode 100644 index 0000000..ae9da3f --- /dev/null +++ b/src/api/safety/safetyLog/types.ts @@ -0,0 +1,267 @@ +import { IdAndNameVO } from '@/api/types'; + +export interface SafetyLogVO { + /** + * 主键id + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 发生日期 + */ + dateOfOccurrence: string; + + /** + * 最高气温 + */ + airTemperatureMax: number; + + /** + * 最低气温 + */ + airTemperatureMin: number; + + /** + * 气候 + */ + weather: string; + + /** + * 进展 + */ + progress: string; + + /** + * 作业内容 + */ + jobContent: string; + + /** + * 交底情况 + */ + discloseCondition: string; + + /** + * 活动情况 + */ + activityCondition: string; + + /** + * 检查情况 + */ + examineCondition: string; + + /** + * 实施情况 + */ + implementCondition: string; + + /** + * 安全检查情况 + */ + safetyInspectionCondition: string; + + /** + * 停工或加班情况 + */ + stoppageOrOvertime: string; + + /** + * 其他情况 + */ + otherCondition: string; + + /** + * 文件id列表 + */ + fileId: string; + + /** + * 备注 + */ + remark: string; + + /** + * 创建人 + */ + creator: IdAndNameVO; + + /** + * 创建时间 + */ + createTime: string; +} + +export interface SafetyLogForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 发生日期 + */ + dateOfOccurrence?: string; + + /** + * 最高气温 + */ + airTemperatureMax?: number; + + /** + * 最低气温 + */ + airTemperatureMin?: number; + + /** + * 气候 + */ + weather?: string; + + /** + * 进展 + */ + progress?: string; + + /** + * 作业内容 + */ + jobContent?: string; + + /** + * 交底情况 + */ + discloseCondition?: string; + + /** + * 活动情况 + */ + activityCondition?: string; + + /** + * 检查情况 + */ + examineCondition?: string; + + /** + * 实施情况 + */ + implementCondition?: string; + + /** + * 安全检查情况 + */ + safetyInspectionCondition?: string; + + /** + * 停工或加班情况 + */ + stoppageOrOvertime?: string; + + /** + * 其他情况 + */ + otherCondition?: string; + + /** + * 文件id列表 + */ + fileId: string; + + /** + * 备注 + */ + remark?: string; +} + +export interface SafetyLogQuery extends PageQuery { + /** + * 项目id + */ + projectId?: string | number; + + /** + * 发生日期 + */ + dateOfOccurrence?: string; + + /** + * 最高气温 + */ + airTemperatureMax?: number; + + /** + * 最低气温 + */ + airTemperatureMin?: number; + + /** + * 气候 + */ + weather?: string; + + /** + * 进展 + */ + progress?: string; + + /** + * 作业内容 + */ + jobContent?: string; + + /** + * 交底情况 + */ + discloseCondition?: string; + + /** + * 活动情况 + */ + activityCondition?: string; + + /** + * 检查情况 + */ + examineCondition?: string; + + /** + * 实施情况 + */ + implementCondition?: string; + + /** + * 安全检查情况 + */ + safetyInspectionCondition?: string; + + /** + * 停工或加班情况 + */ + stoppageOrOvertime?: string; + + /** + * 其他情况 + */ + otherCondition?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/safety/safetyWeeklyReport/index.ts b/src/api/safety/safetyWeeklyReport/index.ts new file mode 100644 index 0000000..c3717ff --- /dev/null +++ b/src/api/safety/safetyWeeklyReport/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SafetyWeeklyReportForm, SafetyWeeklyReportQuery, SafetyWeeklyReportVO } from '@/api/safety/safetyWeeklyReport/types'; + +/** + * 查询安全周报列表 + * @param query + * @returns {*} + */ + +export const listSafetyWeeklyReport = (query?: SafetyWeeklyReportQuery): AxiosPromise => { + return request({ + url: '/safety/safetyWeeklyReport/list', + method: 'get', + params: query + }); +}; + +/** + * 查询安全周报详细 + * @param id + */ +export const getSafetyWeeklyReport = (id: string | number): AxiosPromise => { + return request({ + url: '/safety/safetyWeeklyReport/' + id, + method: 'get' + }); +}; + +/** + * 新增安全周报 + * @param data + */ +export const addSafetyWeeklyReport = (data: SafetyWeeklyReportForm) => { + return request({ + url: '/safety/safetyWeeklyReport', + method: 'post', + data: data + }); +}; + +/** + * 修改安全周报 + * @param data + */ +export const updateSafetyWeeklyReport = (data: SafetyWeeklyReportForm) => { + return request({ + url: '/safety/safetyWeeklyReport', + method: 'put', + data: data + }); +}; + +/** + * 删除安全周报 + * @param id + */ +export const delSafetyWeeklyReport = (id: string | number | Array) => { + return request({ + url: '/safety/safetyWeeklyReport/' + id, + method: 'delete' + }); +}; diff --git a/src/api/safety/safetyWeeklyReport/types.ts b/src/api/safety/safetyWeeklyReport/types.ts new file mode 100644 index 0000000..1b880dd --- /dev/null +++ b/src/api/safety/safetyWeeklyReport/types.ts @@ -0,0 +1,112 @@ +import { IdAndNameVO } from '@/api/types'; + +export interface SafetyWeeklyReportVO { + /** + * 主键id + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 周期 + */ + week: string; + + /** + * 周期范围 + */ + scope: string; + + /** + * 周期范围结束 + */ + scopeEnd: string; + + /** + * 文件位置 + */ + pathUrl: IdAndNameVO; + + /** + * 备注 + */ + remark: string; + + /** + * 创建时间 + */ + createTime: string; +} + +export interface SafetyWeeklyReportForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 周期 + */ + week?: string; + + /** + * 周期范围 + */ + scope?: string; + + /** + * 周期范围结束 + */ + scopeEnd?: string; + + /** + * 文件位置 + */ + path?: string; + + /** + * 备注 + */ + remark?: string; +} + +export interface SafetyWeeklyReportQuery extends PageQuery { + /** + * 主键id + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 周期 + */ + week?: string; + + /** + * 周期范围 + */ + scopeDate?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/safety/teamMeeting/index.ts b/src/api/safety/teamMeeting/index.ts new file mode 100644 index 0000000..073414c --- /dev/null +++ b/src/api/safety/teamMeeting/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { TeamMeetingForm, TeamMeetingQuery, TeamMeetingVO } from '@/api/safety/teamMeeting/types'; + +/** + * 查询站班会列表 + * @param query + * @returns {*} + */ + +export const listTeamMeeting = (query?: TeamMeetingQuery): AxiosPromise => { + return request({ + url: '/safety/teamMeeting/list', + method: 'get', + params: query + }); +}; + +/** + * 查询站班会详细 + * @param id + */ +export const getTeamMeeting = (id: string | number): AxiosPromise => { + return request({ + url: '/safety/teamMeeting/' + id, + method: 'get' + }); +}; + +/** + * 新增站班会 + * @param data + */ +export const addTeamMeeting = (data: TeamMeetingForm) => { + return request({ + url: '/safety/teamMeeting', + method: 'post', + data: data + }); +}; + +/** + * 修改站班会 + * @param data + */ +export const updateTeamMeeting = (data: TeamMeetingForm) => { + return request({ + url: '/safety/teamMeeting', + method: 'put', + data: data + }); +}; + +/** + * 删除站班会 + * @param id + */ +export const delTeamMeeting = (id: string | number | Array) => { + return request({ + url: '/safety/teamMeeting/' + id, + method: 'delete' + }); +}; diff --git a/src/api/safety/teamMeeting/types.ts b/src/api/safety/teamMeeting/types.ts new file mode 100644 index 0000000..8678f63 --- /dev/null +++ b/src/api/safety/teamMeeting/types.ts @@ -0,0 +1,151 @@ +import { IdAndNameVO } from '@/api/types'; + +export interface TeamMeetingVO { + /** + * 主键id + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 班组 + */ + team: IdAndNameVO; + + /** + * 分包公司 + */ + contractor: IdAndNameVO; + + /** + * 开会时间 + */ + meetingDate: string; + + /** + * 宣讲人 + */ + compere: IdAndNameVO; + + /** + * 参与人列表 + */ + participantList: Array; + + /** + * 班会内容 + */ + content: string; + + /** + * 班会图片Url + */ + pictureUrl: Array; + /** + * 备注 + */ + remark: string; + + /** + * 创建时间 + */ + createTime: string; +} + +export interface TeamMeetingForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 班组id + */ + teamId?: string | number; + + /** + * 分包公司id + */ + contractorId?: string | number; + + /** + * 开会时间 + */ + meetingDate?: string; + + /** + * 宣讲人 + */ + compereId?: string | number; + + /** + * 参与人id列表 + */ + participantIdList?: Array; + + /** + * 班会内容 + */ + content?: string; + + /** + * 班会图片 + */ + pictureList?: Array; + + /** + * 备注 + */ + remark?: string; +} + +export interface TeamMeetingQuery extends PageQuery { + /** + * 项目id + */ + projectId?: string | number; + + /** + * 班组id + */ + teamId?: string | number; + + /** + * 分包公司id + */ + contractorId?: string | number; + + /** + * 开会时间 + */ + meetingDate?: string; + + /** + * 宣讲人 + */ + compereId?: string | number; + + /** + * 参与人id + */ + participantIdList?: Array; + + /** + * 班会内容 + */ + content?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/types.ts b/src/api/types.ts index 6a84ee8..59f7850 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -68,3 +68,8 @@ export interface UserProject { projectName: string; shortName: string; } + +export interface IdAndNameVO { + id: string | number; + name: string; +} diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue index 98e6479..898b63e 100644 --- a/src/components/ImagePreview/index.vue +++ b/src/components/ImagePreview/index.vue @@ -10,6 +10,7 @@ + + diff --git a/src/views/safety/safetyInspection/index.vue b/src/views/safety/safetyInspection/index.vue new file mode 100644 index 0000000..aaa484b --- /dev/null +++ b/src/views/safety/safetyInspection/index.vue @@ -0,0 +1,425 @@ + + + diff --git a/src/views/safety/safetyLog/component/SafetyLogDetailDialog.vue b/src/views/safety/safetyLog/component/SafetyLogDetailDialog.vue new file mode 100644 index 0000000..9582b0e --- /dev/null +++ b/src/views/safety/safetyLog/component/SafetyLogDetailDialog.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/views/safety/safetyLog/index.vue b/src/views/safety/safetyLog/index.vue new file mode 100644 index 0000000..ac94e5d --- /dev/null +++ b/src/views/safety/safetyLog/index.vue @@ -0,0 +1,316 @@ + + + diff --git a/src/views/safety/safetyWeeklyReport/index.vue b/src/views/safety/safetyWeeklyReport/index.vue new file mode 100644 index 0000000..2a2decf --- /dev/null +++ b/src/views/safety/safetyWeeklyReport/index.vue @@ -0,0 +1,269 @@ + + + diff --git a/src/views/safety/teamMeeting/component/TeamMeetingDetailDrawer.vue b/src/views/safety/teamMeeting/component/TeamMeetingDetailDrawer.vue new file mode 100644 index 0000000..bac7665 --- /dev/null +++ b/src/views/safety/teamMeeting/component/TeamMeetingDetailDrawer.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/views/safety/teamMeeting/index.vue b/src/views/safety/teamMeeting/index.vue new file mode 100644 index 0000000..3ed654c --- /dev/null +++ b/src/views/safety/teamMeeting/index.vue @@ -0,0 +1,269 @@ + + +