UniappVue3/src/api/modules/workTicket.js

261 lines
9.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { post, get, del, put, uploadFile } from '../request'
/**
* 新增工作票申请
* @param {Object} data - 工作票数据
* @param {Number} data.projectId - 所属项目ID必填
* @param {String} data.workLocation - 作业地点
* @param {Number} data.supervisorId - 作业负责人ID
* @param {String} data.supervisorName - 作业负责人姓名
* @param {String} data.supervisorPosition - 作业负责人职位
* @param {String} data.workContent - 作业内容
* @param {String} data.riskType - 风险类型(如:高风险、中风险、低风险)
* @param {String} data.workStartTime - 作业开始时间格式yyyy-MM-dd HH:mm:ss
* @param {String} data.workEndTime - 作业结束时间格式yyyy-MM-dd HH:mm:ss
* @param {Array<String>} data.safetyMeasuresList - 安全措施列表
* @param {Array<Object>} data.qualificationList - 作业班成员资质列表
* @param {String} data.needMonitoringCamera - 是否需申领移动监控球机("0"否,"1"是)
* @param {Number} data.cameraApplicationId - 监控球机申请ID如果需要监控球机时填写
* @param {String} data.remark - 备注
* @returns {Promise} 返回工作票ID
*/
export function createWorkTicket(data) {
return post('/manage/contractor/workTicket', data)
}
/**
* 出入证申请
* @param {Object} data - 出入证申请数据
* @returns {Promise}
*/
export function applyAccessPermit(data) {
return post('/manage/contractor/accessPermit', data)
}
/**
* 新增工作计划
* @param {Object} data - 工作计划数据
* @returns {Promise}
*/
export function createWorkPlan(data) {
return post('/manage/contractor/workPlan', data)
}
/**
* 球机申领新增接口
* @param {Object} data - 球机申领数据
* @param {Number} data.projectId - 项目ID必填
* @param {Number} data.needCameraCnt - 申领数量必填必须大于0
* @param {String} data.installationLocation - 安装位置(必填)
* @param {String} data.contactPerson - 联系人(必填)
* @param {String} data.contactPhone - 联系方式(必填)
* @param {String} data.remark - 备注(可选)
* @returns {Promise} 返回申领单ID
*/
export function createCameraApplication(data) {
return post('/manage/project/cameraApplication', data)
}
/**
* 查询工作计划列表
* @param {Object} params - 查询参数
* @param {Number} params.pageNum - 页码(可选)
* @param {Number} params.pageSize - 每页数量(可选)
* @param {String} params.status - 状态(可选)
* @param {Number} params.projectId - 项目ID可选
* @returns {Promise} 返回工作计划列表 { total: number, rows: array }
*/
export function getWorkPlanList(params) {
return get('/manage/contractor/workPlan/list', params)
}
/**
* 删除工作计划
* @param {Number|String|Array<Number>|Array<String>} projectIds - 项目ID可以是单个ID、ID数组或逗号分隔的字符串
* @returns {Promise}
*/
export function deleteWorkPlan(projectIds) {
// 处理不同的输入格式
let ids = projectIds
if (Array.isArray(projectIds)) {
ids = projectIds.join(',')
}
return del(`/manage/contractor/workPlan/${ids}`)
}
/**
* 提交工作计划
* @param {Number|String} projectId - 项目ID必填
* @returns {Promise}
*/
export function submitWorkPlan(projectId) {
return put(`/manage/contractor/workPlan/submit/${projectId}`)
}
/**
* 撤回工作计划
* @param {Number|String} projectId - 项目ID必填
* @returns {Promise}
*/
export function withdrawWorkPlan(projectId) {
return put(`/manage/contractor/workPlan/withdraw/${projectId}`)
}
/**
* 上传文件
* @param {String} filePath - 文件路径(本地临时文件路径)
* @param {String} name - 文件对应的 key默认为 'file'
* @param {Object} formData - 额外的表单数据
* @param {Object} options - 其他配置选项
* @returns {Promise<{name: string, url: string}>} 返回上传后的文件信息,包含 name文件名和 url文件访问地址
*/
export function uploadFileApi(filePath, name = 'file', formData = {}, options = {}) {
return uploadFile('/file/upload', filePath, name, formData, options)
}
/**
* 查询风险管控卡模板列表
* @param {Object} params - 查询参数(可选)
* @returns {Promise} 返回风险管控卡模板列表
*/
export function getRiskCardTemplateList(params = {}) {
return get('/manage/logistics/riskCard/template/list', params)
}
/**
* 获取风险管控卡模板详细信息
* @param {Number|String} templateId - 模板ID必填
* @returns {Promise} 返回风险管控卡模板详细信息
*/
export function getRiskCardTemplateDetail(templateId) {
return get(`/manage/logistics/riskCard/template/${templateId}`)
}
/**
* 获取工作计划详细信息
* @param {Number|String} projectId - 项目ID必填
* @returns {Promise} 返回工作计划详细信息
*/
export function getWorkPlanDetail(projectId) {
return get(`/manage/contractor/workPlan/${projectId}`)
}
/**
* 获取工作票详细信息
* @param {Number|String} ticketId - 工作票ID必填
* @returns {Promise} 返回工作票详细信息
*/
export function getWorkTicketDetail(ticketId) {
return get(`/manage/contractor/workTicket/${ticketId}`)
}
/**
* 提交风险管控卡监理审核
* @param {Object} data - 风险管控卡数据
* @param {Number} data.ticketId - 工作票ID必填
* @param {Number} data.templateId - 模板ID必填
* @param {String} data.ticketNumber - 票证编号(必填)
* @param {String} data.operatingUnit - 所属单位(必填)
* @param {String} data.workContent - 工作内容(必填)
* @param {String} data.supervisorName - 工作负责人姓名(必填)
* @param {String} data.supervisorPosition - 工作负责人职位
* @param {String} data.contactMethod - 联系方式
* @param {String} data.inspectionTime - 检查时间格式yyyy-MM-ddTHH:mm
* @param {Array<Object>} data.checkItems - 检查项列表
* @param {Number} data.checkItems[].templateItemId - 模板项ID
* @param {String} data.checkItems[].itemDescription - 检查项描述
* @param {String} data.checkItems[].checkResult - 检查结果
* @param {Number} data.checkItems[].sortOrder - 排序顺序
* @param {Array<String>} data.attachmentList - 附件URL列表
* @returns {Promise} 返回风险管控卡IDcardId
*/
export function submitRiskControlCard(data) {
return post('/manage/contractor/riskControlCard', data)
}
/**
* 提交工作票
* @param {Number|String} ticketId - 工作票ID必填
* @param {Number|String} cardId - 风险管控卡ID可选高等风险时必填
* @returns {Promise}
*/
export function submitWorkTicket(ticketId, cardId = null) {
let url = `/manage/contractor/workTicket/submit/${ticketId}`;
if (cardId) {
url += `?cardId=${cardId}`;
}
return put(url)
}
/**
* 提交工作票(承包商接口)
* @param {Number|String} ticketId - 工作票ID必填
* @returns {Promise}
*/
export function submitWorkTicketForContractor(ticketId) {
return put(`/manage/contractor/workTicket/submit/${ticketId}`)
}
/**
* 提交实施
* @param {Number|String} projectId - 项目ID必填
* @returns {Promise}
*/
export function submitImplementation(projectId) {
return put(`/manage/contractor/projectImplementation/submitImplementation?projectId=${projectId}`)
}
/**
* 修改工作计划
* @param {Object} data - 工作计划数据
* @param {Number|String} data.id - 工作计划ID必填
* @returns {Promise}
*/
export function updateWorkPlan(data) {
return put('/manage/contractor/workPlan', data)
}
/**
* 获取出入证详情根据项目ID
* @param {Number|String} projectId - 项目ID必填
* @returns {Promise} 返回出入证详情
*/
export function getAccessPermitDetail(projectId) {
return get(`/manage/contractor/accessPermit/project/${projectId}`)
}
/**
* 修改出入证申请
* @param {Object} data - 出入证申请数据
* @param {Number|String} data.id - 出入证申请ID必填
* @returns {Promise}
*/
export function updateAccessPermit(data) {
return put('/manage/contractor/accessPermit', data)
}
/**
* 修改工作票申请
* @param {Object} data - 工作票数据
* @param {Number|String} data.id - 工作票ID必填
* @param {Number} data.projectId - 所属项目ID必填
* @param {String} data.workLocation - 作业地点
* @param {Number} data.supervisorId - 作业负责人ID
* @param {String} data.supervisorName - 作业负责人姓名
* @param {String} data.supervisorPosition - 作业负责人职位
* @param {String} data.workContent - 作业内容
* @param {String} data.riskType - 风险类型(如:高风险、中风险、低风险)
* @param {String} data.workStartTime - 作业开始时间格式yyyy-MM-dd HH:mm:ss
* @param {String} data.workEndTime - 作业结束时间格式yyyy-MM-dd HH:mm:ss
* @param {Array<String>} data.safetyMeasuresList - 安全措施列表
* @param {Array<Object>} data.qualificationList - 作业班成员资质列表
* @param {String} data.needMonitoringCamera - 是否需申领移动监控球机("0"否,"1"是)
* @param {Number} data.cameraApplicationId - 监控球机申请ID如果需要监控球机时填写
* @param {String} data.remark - 备注
* @returns {Promise}
*/
export function updateWorkTicket(data) {
return put('/manage/contractor/workTicket', data)
}