From 4d8bd47afd085aea3d3e1d8d5cda7893132720a1 Mon Sep 17 00:00:00 2001 From: Rain_ <904416525@qq.com> Date: Wed, 9 Jul 2025 15:06:55 +0800 Subject: [PATCH] =?UTF-8?q?flx=EF=BC=9A=E6=8F=90=E4=BA=A4=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A5=A8=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../images/laborManage/index-icon11.png | Bin 0 -> 31754 bytes .../images/laborManage/index-icon12.png | Bin 0 -> 31730 bytes src/assets/images/laborManage/index-icon4.png | Bin 0 -> 1049 bytes src/assets/images/laborManage/index-icon5.png | Bin 0 -> 670 bytes src/assets/images/laborManage/index-icon6.png | Bin 0 -> 586 bytes src/assets/images/laborManage/viewreplay.png | Bin 0 -> 398 bytes src/assets/js/api/bodyWornCamera.js | 2 + src/assets/js/api/workTicketManage.js | 8 +- src/store/index.js | 10 +- .../bodyWornCamera/equipmentMonitor.vue | 1 + .../workTicketManage/components/HlsPlayer.vue | 72 + .../homeworkControlProcess.vue | 1931 +++++++++++++++-- 12 files changed, 1810 insertions(+), 214 deletions(-) create mode 100644 src/assets/images/laborManage/index-icon11.png create mode 100644 src/assets/images/laborManage/index-icon12.png create mode 100644 src/assets/images/laborManage/index-icon4.png create mode 100644 src/assets/images/laborManage/index-icon5.png create mode 100644 src/assets/images/laborManage/index-icon6.png create mode 100644 src/assets/images/laborManage/viewreplay.png create mode 100644 src/views/projectFront/workTicketManage/components/HlsPlayer.vue diff --git a/src/assets/images/laborManage/index-icon11.png b/src/assets/images/laborManage/index-icon11.png new file mode 100644 index 0000000000000000000000000000000000000000..40bbecffe85b54ee33db7aca30e8f30e435b6341 GIT binary patch literal 31754 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 TEjUAV00000NkvXXu0mjf`uyTF literal 0 HcmV?d00001 diff --git a/src/assets/images/laborManage/index-icon5.png b/src/assets/images/laborManage/index-icon5.png new file mode 100644 index 0000000000000000000000000000000000000000..8a17d8f81959eded25427cb94c811dad8b8f48ec GIT binary patch literal 670 zcmV;P0%84$P)Px%SV=@dR9HvtSbn!L|SZxC>@ptO?K<(T;K&_|hB&Tj4T(Nf)_s0Rn`5*tc0&DOTbL~XHEhGO!{Y;|4T*k)M! ze-c0_M>OL>TG`}C2DnL3$w9I$Q2!I4?aL(LV46eM(A`CO5VqF%wT0@m?J265&_z@< zzzRsO^wKyhRwfA`jLZ$yjbbfE$|nPiw395p2bkn_nxQZ#4ILDx8E<~LW*516BMI0;>6!vFvP07*qoM6N<$ Ef+QF+WdHyG literal 0 HcmV?d00001 diff --git a/src/assets/images/laborManage/index-icon6.png b/src/assets/images/laborManage/index-icon6.png new file mode 100644 index 0000000000000000000000000000000000000000..1d1428ab47482dd9ed71a022acce17c0d28ff02e GIT binary patch literal 586 zcmV-Q0=4~#P)Px%1W80eR9Hvtm+MsmF%X6CbYKb6fpnl1s2$LOP=Qc^Sb@h1v;$k91WK@jk-I0^ z6V|-5!2V$VZXRFm%$;Nf6Azg^LoK*;@M z09ExCzz2YPr*5YKI8e>?)$XDS22`_vzW^RC2B@k}CZ(*kVeC6Nk@Kh6ap+5+NA__1 zepUt9*8qG0pdoy*1Mp1c?8mbKMvP!t2*xb8nb> zqf6cED&*FGhVTtMGKq28TjJzi$jo}<(rh8~+`8@nGo9vgA3>@r6{B*#Tfv=o)P$3@ z!bWXQ&c)e8OJXY`t4!6ca^3Y+vIznC{z|1av?dEZ=U{BUOluJwH?=9IP z!tpT0(VIk7PX)OYk@sRUGhyiBu_4zYvZ;mZQ|vAPx$NJ&INR5(wKRMB;UKoFeaPi;a=NC&0^tUzfb9CnZj&dOz4w+k48 zNW9NwZ+32W2BPQ0*(D`8hcInEOFAHmj>X4l)4jrWAr7}GslC+%ZJ_7~;OspS=7g38 zEb+YvqpA*oHnnbs0f_iT3~!XNyAPUaN!U(vxlB sEIl{B0emo+U1%j1@ZZ7NQ~ktvKe}bhuf_RY$N&HU07*qoM6N<$f=b)3BLDyZ literal 0 HcmV?d00001 diff --git a/src/assets/js/api/bodyWornCamera.js b/src/assets/js/api/bodyWornCamera.js index 493796c3..ae650fdd 100644 --- a/src/assets/js/api/bodyWornCamera.js +++ b/src/assets/js/api/bodyWornCamera.js @@ -19,6 +19,8 @@ export const editPoliceCameraItemApi = data => post('xmgl/policeCameraItem/edit' export const deletePoliceCameraItemApi = data => post('xmgl/policeCameraItem/delete', data); // 分页执法记录仪配置信息 export const getPoliceCameraItemPageApi = data => get('xmgl/policeCameraItem/page', data); +// 列表查询执法记录仪配置信息 +export const getPoliceCameraItemListApi = data => get('xmgl/policeCameraItem/list', data); // 查询项目视频列表 export const getPoliceCameraItemSelectProjectVideoListApi = data => post('xmgl/policeCameraItem/selectProjectVideoList', data); // 查询启用的执法记录仪配置 diff --git a/src/assets/js/api/workTicketManage.js b/src/assets/js/api/workTicketManage.js index 862539a8..829b5a6b 100644 --- a/src/assets/js/api/workTicketManage.js +++ b/src/assets/js/api/workTicketManage.js @@ -98,4 +98,10 @@ export const deleteWorkTicketApi = data => post('xmgl/workTicket/delete', data); // 批量删除工作票信息 export const deleteBatchWorkTicketApi = data => post('xmgl/workTicket/deleteBatch', data); // 统计工作票 -export const getWorkTicketCountWorkTicketApi = data => post('xmgl/workTicket/countWorkTicket', data); \ No newline at end of file +export const getWorkTicketCountWorkTicketApi = data => post('xmgl/workTicket/countWorkTicket', data); +// 开始、暂停、继续、结束工作票 +export const setWorkTicketOperateWorkTicketApi = data => post('xmgl/workTicket/operateWorkTicket', data); +// 通过id查询工作票信息 +export const getWorkTicketQueryByIdApi = data => get('xmgl/workTicket/queryById', data); +// 列表查询工作票历史记录信息 +export const getWorkTicketHistoryListApi = data => get('xmgl/workTicketHistory/list', data); \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 91bda8df..ea2755e9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -79,13 +79,13 @@ export default new Vuex.Store({ // WORKFLOWURL: "http://101.43.164.214:11129/#/workspace/forms", // 百色 // UPLOADURL:'http://182.90.224.237:51234/upload/image/', // FILEURL:'http://182.90.224.237:51234/image/', - UPLOADURL: "http://192.168.34.155:19111/upload/image/", // 洁本地 - FILEURL: "http://192.168.34.155:19111/image/", //洁本地 + // UPLOADURL: "http://192.168.34.155:19111/upload/image/", // 洁本地 + // FILEURL: "http://192.168.34.155:19111/image/", //洁本地 // UPLOADURL: 'http://192.168.34.221:9111/upload/image/', // 郭圣雄本地 // FILEURL: 'http://192.168.34.221:9111/image/', //郭圣雄本地 // UPLOADURL: 'http://192.168.34.221:19112/upload/image/', // 郭圣雄本地 // FILEURL: 'http://192.168.34.221:19112/image/', //郭圣雄本地 - WORKFLOWURL: "http://192.168.34.216:88/#/workspace/forms", //jiayu工作流地址(本地) + // WORKFLOWURL: "http://192.168.34.216:88/#/workspace/forms", //jiayu工作流地址(本地) // WORKFLOWURL: "http://192.168.34.138:88/#/workspace/forms", //坤工作流地址(本地) // WORKFLOWURL: "http://192.168.34.129:88/#/workspace/forms", //罗峰工作流地址(本地) CONTRACTORURL: process.env.NODE_ENV == "development" ? "http://192.168.34.129:5174/#/contractorApply" : `${window.location.protocol}//${window.location.host}/contractorApply/index.html#/contractorApply`, //罗峰承包商入场地址(本地) @@ -102,7 +102,7 @@ export default new Vuex.Store({ // // WORKFLOWURL: 'http://47.93.215.234:19098/#/workspace/forms',//鞍钢测试平台工作流地址(弃用) // WORKFLOWURL: 'http://42.180.188.17:19998/#/workspace/forms', //鞍钢平台工作流地址 // WORKFLOWURL: "http://42.180.188.17:19098/#/workspace/forms", //鞍钢测试平台工作流地址 - + // UPLOADURL: 'http://192.168.34.221:8111/upload/image', //演示平台 雄本地 // FILEURL: 'http://192.168.34.221:8111/image/', //演示平台 雄本地 @@ -399,7 +399,7 @@ export default new Vuex.Store({ // state.initializeAI(); }, initializeAI(state) { - if (state.projectExtendInfo?.modelKey && state.projectExtendInfo?.modelUrl) { + if (state.projectExtendInfo ? .modelKey && state.projectExtendInfo ? .modelUrl) { console.log('正在初始化AI功能...'); initAI(state.projectExtendInfo.modelKey, state.projectExtendInfo.modelUrl); } else { diff --git a/src/views/projectFront/bodyWornCamera/equipmentMonitor.vue b/src/views/projectFront/bodyWornCamera/equipmentMonitor.vue index 52b1e340..ba265b76 100644 --- a/src/views/projectFront/bodyWornCamera/equipmentMonitor.vue +++ b/src/views/projectFront/bodyWornCamera/equipmentMonitor.vue @@ -774,6 +774,7 @@ export default { this.onQuery(); }, getRiskListDetailPage() { + if(!this.riskListDetailInfo.id) return; if (this.activeName == "first") { getPoliceCameraItemQueryByIdApi({ projectSn: this.$store.state.projectSn, diff --git a/src/views/projectFront/workTicketManage/components/HlsPlayer.vue b/src/views/projectFront/workTicketManage/components/HlsPlayer.vue new file mode 100644 index 00000000..614b5d2d --- /dev/null +++ b/src/views/projectFront/workTicketManage/components/HlsPlayer.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/views/projectFront/workTicketManage/homeworkControlProcess.vue b/src/views/projectFront/workTicketManage/homeworkControlProcess.vue index db13c8ef..d8c1ece4 100644 --- a/src/views/projectFront/workTicketManage/homeworkControlProcess.vue +++ b/src/views/projectFront/workTicketManage/homeworkControlProcess.vue @@ -20,9 +20,9 @@ - + - + - - + + - - + + - - + + - - + @@ -90,7 +93,9 @@ key: 'business_add', menuPath: '/project/safeManage/safeZoneSetting', }" --> - 新增 + 新增 - - + -->

结束作业 - 开始作业 暂停作业 继续作业 - 查看 + 查看 编辑 @@ -296,51 +307,308 @@
+ + + + + - - - - - - + + + +
+
+
绑定作业票监控
+ 去绑定 +
+ + + + + + + + + + + + + + + + +
+
+
+
+ 工作票已{{ workTicketType == 3 ? "编辑" : "添加" }}完成,是否立即开始作业? +
+
+ +
点击立即开始,则会下发指令到作业监控设备,开启设备录像。
+
+
- @@ -369,79 +1008,92 @@ import { deleteWorkTicketApi, deleteBatchWorkTicketApi, getWorkTicketCountWorkTicketApi, + setWorkTicketOperateWorkTicketApi, + getWorkTicketHistoryListApi, + getWorkTicketQueryByIdApi, } from "@/assets/js/api/workTicketManage"; -import { selectHierarchyEnterpriseListApi } from "@/assets/js/api/laborPerson.js"; -import { aiAnalyseHardWareRecordList } from "@/assets/js/api/equipmentCenter/electricBox"; +import { getProjectConfigListApi } from "@/assets/js/api/project.js"; +import { getQualityRegionListApi } from "@/assets/js/api/quality.js"; +import { + getPoliceCameraItemPageApi, + getPoliceCameraItemListApi, +} from "@/assets/js/api/bodyWornCamera"; +import dayjs from "dayjs"; +import duration from "dayjs/plugin/duration"; import { isJSON } from "@/util/nowDate"; +import HlsPlayer from "./components/HlsPlayer.vue"; export default { + components: { + HlsPlayer, + }, data() { return { COMPANY: COMPANY, - title: this.$t("message.quality.NewRootNode"), - dialogType: 1, projectSn: "", - notifierOrPeopleList: [], - enterpriseInfoList: [], - value: "", tableData: [], - editDialog: false, - form: { - typeName: "", - remarks: "", + workTicketTitle: "新增", + workTicketType: 1, + workTicketDialog: false, + stepActive: 0, + workTicketForm: { + typeId: "", + workTicketNumber: "", + constructionAreas: [], + constructionAddr: "", + applicants: [], + applicationTime: "", + constructionTime: [], + operator: "", + workContent: "", + safetyMeasure: "", + workTicketAttachment: [], + otherAttachment: [], + safetyRiskAnalysis: [], }, - showList: [], - rules: { - aiDeviceId: [ + workTicketRules: { + typeId: [ { required: true, - message: "请选择AI设备", + message: "请选择工作票类型", trigger: "change", }, ], - dutyId: [ + workTicketNumber: [ { required: true, - message: "请输入责任单位", - trigger: "change", + message: "请输入工作票编号", + trigger: "blur", }, ], - personId: [ + workContent: [ { required: true, - message: "请输入责任人", - trigger: "change", + message: "请输入作业内容", + trigger: "blur", }, ], - dutyIds: [ + workTicketAttachment: [ { required: true, - message: "请输入整改人", - trigger: "change", - }, - ], - reviewIds: [ - { - required: true, - message: "请输入复查人", - trigger: "change", - }, - ], - riskAssessors: [ - { - required: true, - message: "请输入风险排查责任人", + message: "请上传工作票附件", trigger: "change", }, ], }, - aiDeviceList: [], // 查询参数 queryParams: { pageNo: 1, pageSize: 10, - typeName: "", + typeId: "", + constructionTime: [], + workTicketNumber: "", + status: "", + operator: "", + constructionAreas: "", }, total: 0, + enterpriseInfoList: [], + qualityRegionList: [], workTicketTypeTreeList: [], workTicketCountInfo: { done: 0, @@ -449,6 +1101,7 @@ export default { notStarted: 0, pause: 0, }, + workTicketBindCamera: 0, statusList: [ { value: 1, @@ -467,23 +1120,212 @@ export default { label: "已完工", }, ], + policeCameraItemDialog: false, + policeCameraItemList: [], + policeCameraItemInfo: { + pageNo: 1, + pageSize: 10, + total: 0, + devName: "", + devSn: "", + bindTicket: "", + }, + workTicketId: "", + selectList: [], + selectFullList: [], + // 工作票详情 + workTicketDetailDialog: true, + workTicketDetail: {}, + workTicketHistoryList: [], + viewreplayDialog: false, + viewreplayInfo: {}, }; }, created() { + // 扩展Day.js以使用duration插件 + dayjs.extend(duration); this.projectSn = this.$store.state.projectSn; - this.getQualityRegionList(); + this.getWorkTicketList(); this.getWorkTicketTypeTreePage(); + this.getQualityRegionList(); + this.getEnterpriseInfoList(); + this.getProjectSetting(); this.getWorkTicketCountWorkTicket(); + this.getPoliceCameraItemList(); + this.getWorkTicketQueryById(); + this.getWorkTicketHistoryList(); }, methods: { + // 查看回放 + onViewrePlayClick() { + + }, + // 列表查询工作票历史记录信息 + getWorkTicketHistoryList() { + getWorkTicketHistoryListApi({ + // workTicketId: this.workTicketId, + workTicketId: "1941314890591191041", + projectSn: this.projectSn, + }).then((res) => { + if (res.code == 200) { + this.workTicketHistoryList = res.result.sort((a, b) => a.no - b.no); + } + }); + }, + // 通过id查询作业票详情 + getWorkTicketQueryById() { + getWorkTicketQueryByIdApi({ + // id: this.workTicketId, + id: "1941314890591191041", + projectSn: this.projectSn, + }).then((res) => { + if (res.code == 200) { + this.workTicketDetail = { + ...res.result, + workTicketAttachment: + isJSON(res.result.workTicketAttachment) && + JSON.parse(res.result.workTicketAttachment) instanceof Array + ? JSON.parse(res.result.workTicketAttachment) + : [], + safetyRiskAnalysis: + isJSON(res.result.safetyRiskAnalysis) && + JSON.parse(res.result.safetyRiskAnalysis) instanceof Array + ? JSON.parse(res.result.safetyRiskAnalysis) + : [], + otherAttachment: + isJSON(res.result.otherAttachment) && + JSON.parse(res.result.otherAttachment) instanceof Array + ? JSON.parse(res.result.otherAttachment) + : [], + }; + } + }); + }, + // 删除 + onDelete(row) { + const findIndex = this.selectList.findIndex((item) => item == row.itemId); + if (findIndex > -1) { + this.selectList.splice(findIndex, 1); + } + }, + // 添加设备列表 + policeCameraItemSubmit() { + if (this.$refs.policeCameraItemTable.selection.length == 0) + return this.$message.warning("请选择需要绑定的设备"); + const resultList = this.$refs.policeCameraItemTable.selection.map( + (item) => item.itemId + ); + this.selectList = [...this.selectList, ...resultList]; + console.log(1111, this.selectList); + this.policeCameraItemDialog = false; + this.$confirm( + "设备已绑定作业票,请选择继续添加设备或者绑定完成进行下一步操作", + "提示", + { + confirmButtonText: "绑定完成", + cancelButtonText: "继续添加", + customClass: "customConfirm", + // type: 'warning' + } + ) + .then(() => {}) + .catch(() => { + this.bindWorkTicketClick(); + }); + }, + // 绑定设备列表 + bindWorkTicketClick() { + this.policeCameraItemRefresh(); + this.policeCameraItemDialog = true; + }, + policeCameraItemQuery() { + this.policeCameraItemInfo.pageNo = 1; + this.getPoliceCameraItemPage(); + }, + policeCameraItemRefresh() { + this.policeCameraItemInfo.devName = ""; + this.policeCameraItemInfo.devSn = ""; + this.policeCameraItemInfo.bindTicket = ""; + this.policeCameraItemQuery(); + }, + selected(row, index) { + return !row.bindChecked; + }, + // 分页查询设备列表 + getPoliceCameraItemPage() { + getPoliceCameraItemPageApi({ + devName: this.policeCameraItemInfo.devName, + devSn: this.policeCameraItemInfo.devSn, + // bindTicket: this.policeCameraItemInfo.bindTicket, + // pageNo: this.policeCameraItemInfo.pageNo, + // pageSize: this.policeCameraItemInfo.pageSize, + pageNo: 1, + pageSize: -1, + projectSn: this.projectSn, + }).then((res) => { + if (res.code == 200) { + const resultList = res.result.records.map((item) => { + return { + ...item, + bindChecked: + this.selectList.includes(item.itemId) || item.bindTicket == 1 + ? true + : false, + }; + }); + if (this.policeCameraItemInfo.bindTicket == 1) { + this.policeCameraItemList = resultList.filter((item) => !item.bindChecked); + } else if (this.policeCameraItemInfo.bindTicket == 2) { + this.policeCameraItemList = resultList.filter((item) => item.bindChecked); + } else { + this.policeCameraItemList = resultList; + } + this.policeCameraItemInfo.total = res.result.total; + } + }); + }, + handlePreview() { + console.log("预览图片"); + }, + handleRemove(file, fileList, type) { + const obj = { + 1: "workTicketAttachment", + 2: "otherAttachment", + }; + this.workTicketForm[obj[type]] = fileList; + }, + handleExceed(file, fileList) { + this.$message.warning("上传图片超出限制个数!"); + }, + handleSuccess(res, file, type) { + if (res.status == "SUCCESS") { + const obj = { + 1: "workTicketAttachment", + 2: "otherAttachment", + }; + this.workTicketForm[obj[type]].push({ + name: file.name, + url: this.$store.state.FILEURL + file.response.data[0].imageUrl, + newUrl: file.response.data[0].imageUrl, + }); + if (type == 1) { + this.$refs.workTicketForm.clearValidate("workTicketAttachment"); + } + } + }, handleQuery() { this.queryParams.pageNo = 1; - this.getQualityRegionList(); + this.getWorkTicketList(); }, handleRefresh() { this.queryParams.pageNo = 1; - this.queryParams.typeName = ""; - this.getQualityRegionList(); + this.queryParams.typeId = ""; + this.queryParams.constructionTime = []; + this.queryParams.workTicketNumber = ""; + this.queryParams.status = ""; + this.queryParams.operator = ""; + this.queryParams.constructionAreas = ""; + this.getWorkTicketList(); }, deleteAttendanceBatch() { if (this.$refs.multipleTable.selection.length === 0) @@ -497,7 +1339,7 @@ export default { const ids = this.$refs.multipleTable.selection.map((item) => item.id).join(","); console.log(this.$refs.multipleTable.selection); deleteBatchWorkTicketApi({ ids }).then((res) => { - this.getQualityRegionList(); + this.getWorkTicketList(); }); }) .catch(() => {}); @@ -526,10 +1368,22 @@ export default { }); }, // 获取列表信息 - getQualityRegionList() { + getWorkTicketList() { let data = { projectSn: this.projectSn, - typeName: this.queryParams.typeName, + typeId: this.queryParams.typeId, + constructionTimeBegin_end: + this.queryParams.constructionTime.length > 0 + ? this.queryParams.constructionTime[0] + : "", + constructionTimeEnd_start: + this.queryParams.constructionTime.length > 0 + ? this.queryParams.constructionTime[1] + : "", + workTicketNumber: this.queryParams.workTicketNumber, + status: this.queryParams.status, + operator: this.queryParams.operator, + constructionAreas: this.queryParams.constructionAreas, pageNo: this.queryParams.pageNo, pageSize: this.queryParams.pageSize, }; @@ -560,104 +1414,191 @@ export default { } }); }, - - //新增根节点按钮 - newRootNode() { - this.form = { - typeName: "", - remarks: "", + onStateShow(type, row) { + const obj = { + 1: "是否确认开始作业?", + 2: "暂未全部施工完成,将进入暂停施工状态,待下次点击继续作业...", + 3: "是否确认继续作业?", + 4: "作业已全部施工完成,点击结束作业", }; - this.notifierOrPeopleList = []; - this.editDialog = true; - this.title = "新增区域"; - this.dialogType = 1; - this.$nextTick(() => { - this.$refs["form"].clearValidate(); + this.$confirm(obj[type], "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + customClass: "customConfirm customConfirm1", + type: "warning", + }).then(() => { + this.workTicketId = row.id; + this.onChangeState(type); }); }, - - //编辑按钮 - editBtn(value) { - if (value.parentId && value.parentId != "0") { - this.form.parentId = value.parentId; - } else { - this.form.parentId = "0"; - } - console.log("编辑", value); - this.form.typeName = value.typeName; - - this.form.remarks = value.remarks; - this.form.id = value.id; - this.title = "编辑区域"; - this.dialogType = 2; - this.editDialog = true; - this.$nextTick(() => { - this.$refs["form"].clearValidate(); - }); - }, - //新增下级---按钮 - newJuniorBtn(value) { - console.log(value); - this.form = { - typeName: "", - remarks: "", - }; - this.form.parentId = value.id; - // console.log(this.form) - this.editDialog = true; - this.title = this.$t("message.quality.newJunior"); - this.dialogType = 3; - this.$nextTick(() => { - this.$refs["form"].clearValidate(); - }); - }, - // 获取整改人列表 - getUpdatePersonListFn() { + onChangeState(operateStatus) { let data = { + id: this.workTicketId, projectSn: this.projectSn, - enterpriseId: this.form.dutyId ? this.form.dutyId.join(",") : "", + operateStatus, }; - getProjectChilderSystemUserListApi(data).then((res) => { - console.log(res); + setWorkTicketOperateWorkTicketApi(data).then((res) => { if (res.code == 200) { - this.notifierOrPeopleList = res.result; + this.$message.success(res.message); + this.initWorkTicketClose(); + this.getWorkTicketList(); } }); }, + initWorkTicketForm() { + this.stepActive = 0; + this.workTicketId = ""; + this.workTicketForm = { + typeId: "", + workTicketNumber: "", + constructionAreas: [], + constructionAddr: "", + applicants: [], + applicationTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), + constructionTime: [], + operator: "", + workContent: "", + safetyMeasure: "", + safetyRiskAnalysis: [], + workTicketAttachment: [], + otherAttachment: [], + }; + }, + //新增作业票 + addWorkTicket(type, row) { + this.workTicketType = type; + this.workTicketTitle = "新增"; + if (type == 1) { + this.initWorkTicketForm(); + } else if (type == 3) { + this.workTicketTitle = "编辑"; + this.stepActive = 0; + this.workTicketId = row.id; + this.workTicketForm = { + ...row, + applicants: row.applicants ? row.applicants.split(",") : [], + constructionAreas: row.constructionAreas + ? row.constructionAreas.split(",") + : [], + operators: row.operators ? row.operators.split(",") : [], + otherAttachment: row.otherAttachment.map((item) => { + return { + name: item.name, + url: this.$store.state.FILEURL + item.url, + newUrl: item.url, + }; + }), + workTicketAttachment: row.workTicketAttachment.map((item) => { + return { + name: item.name, + url: this.$store.state.FILEURL + item.url, + newUrl: item.url, + }; + }), + safetyRiskAnalysis: row.safetyRiskAnalysis.map((item) => { + return { + name: item.name, + url: this.$store.state.FILEURL + item.url, + newUrl: item.url, + }; + }), + constructionTime: [], + }; + this.selectList = row.itemList ? row.itemList.map((item) => item.itemId) : []; + if (row.constructionTimeBegin && row.constructionTimeEnd) { + this.constructionTime = [row.constructionTimeBegin, row.constructionTimeEnd]; + } + } + this.workTicketDialog = true; + + this.$nextTick(() => { + this.$refs["workTicketForm"].clearValidate(); + }); + }, + // 下一步 + async onNextStep() { + if (this.workTicketType == 1) { + this.addWorkTicket(2); + return; + } + if (this.stepActive == 0) { + const valid = await this.$refs["workTicketForm"].validate(); + if (!valid) return this.$message.warning("请填写必填项!"); + if (this.workTicketBindCamera == 0) { + this.submit(); + return; + } + this.stepActive = 1; + // this.getPoliceCameraItemListFn(); + } else if (this.stepActive == 1) { + if (this.selectList.length == 0) { + this.$message.warning("至少要绑定一台设备"); + return; + } + this.submit(); + } + }, //弹窗---保存按钮 - submit(formName) { - this.$refs[formName].validate((valid) => { - if (valid) { - const data = { - typeName: this.form.typeName, - remarks: this.form.remarks, - projectSn: this.projectSn, - parentId: this.form.parentId, + submit() { + const workTicketAttachment = this.workTicketForm.workTicketAttachment.map( + (item) => { + return { + name: item.name, + url: item.newUrl, }; - - if (this.dialogType == 1) { - addWorkTicketApi(data).then((res) => { - // console.log(res); - if (res.code == 200) { - this.$message.success(this.$t("message.quality.newSuccess")); - this.editDialog = false; - this.getQualityRegionList(); - } - }); - } else if (this.dialogType == 2) { - data.id = this.form.id; - editWorkTicketApi(data).then((res) => { - if (res.code == 200) { - this.editDialog = false; - this.$message.success(res.message); - this.getQualityRegionList(); - } - }); - } - } else { - return false; } + ); + const otherAttachment = this.workTicketForm.otherAttachment.map((item) => { + return { + name: item.name, + url: item.newUrl, + }; }); + const safetyRiskAnalysis = this.workTicketForm.safetyRiskAnalysis.map((item) => { + return { + name: item.name, + url: item.newUrl, + }; + }); + const data = { + ...this.workTicketForm, + constructionTimeBegin: + this.workTicketForm.constructionTime.length > 1 + ? this.workTicketForm.constructionTime[0] + : "", + constructionTimeEnd: + this.workTicketForm.constructionTime.length > 1 + ? this.workTicketForm.constructionTime[1] + : "", + constructionAreas: this.workTicketForm.constructionAreas.join(","), + workTicketAttachment: JSON.stringify(workTicketAttachment), + otherAttachment: JSON.stringify(otherAttachment), + safetyRiskAnalysis: JSON.stringify(safetyRiskAnalysis), + projectSn: this.projectSn, + policeCameraIds: this.selectList.join(","), + applicants: this.workTicketForm.applicants.join(","), + }; + if (this.workTicketType == 2) { + addWorkTicketApi(data).then((res) => { + // console.log(res); + if (res.code == 200) { + this.$message.success(this.$t("message.quality.newSuccess")); + // this.workTicketDialog = false; + this.workTicketId = res.result.id; + this.stepActive = 2; + this.getWorkTicketList(); + } + }); + } else if (this.workTicketType == 3) { + editWorkTicketApi(data).then((res) => { + if (res.code == 200) { + // this.workTicketDialog = false; + this.stepActive = 2; + this.$message.success(res.message); + this.getWorkTicketList(); + } + }); + } }, //删除 按钮 deleteBtn(value) { @@ -681,17 +1622,16 @@ export default { type: "success", message: this.$t("message.quality.successfullyDelete") + "!", }); - this.getQualityRegionList(); + this.getWorkTicketList(); } }); }) .catch(() => {}); }, - close() { - this.$nextTick(() => { - this.$refs["form"].clearValidate(); - }); + initWorkTicketClose() { + this.initWorkTicketForm(); + this.workTicketDialog = false; }, // 获取工作票统计 @@ -717,6 +1657,87 @@ export default { } }); }, + // 获取施工场站 + getQualityRegionList() { + let data = { + projectSn: this.projectSn, + }; + getQualityRegionListApi(data).then((res) => { + if (res.code == 200) { + this.qualityRegionList = res.result; + } + }); + }, + // 获取申请单位 + getEnterpriseInfoList() { + let data = { + projectSn: this.projectSn, + }; + getEnterpriseInfoListApi(data).then((res) => { + if (res.code == 200) { + this.enterpriseInfoList = res.result; + } + }); + }, + //获取项目配置信息 + getProjectSetting() { + getProjectConfigListApi({ + projectSn: this.projectSn, + }).then((res) => { + if (!res.result || res.result.length == 0) { + this.workTicketBindCamera = 0; + } else { + let workTicketBindCamera = res.result[0].workTicketBindCamera; + this.workTicketBindCamera = workTicketBindCamera; + } + }); + }, + getPoliceCameraItemList() { + getPoliceCameraItemListApi({ + projectSn: this.projectSn, + }).then((res) => { + if (res.code == 200) { + this.selectFullList = res.result; + } + }); + }, + downloadFileBtn(url, name) { + fetch(url, { + method: "get", + headers: { + Authorization: this.$store.state.userInfo.token, + "Content-Type": "application/json", // 设置请求头的内容类型为JSON + }, + // body: JSON.stringify(data) // 将data对象转换为JSON字符串并作为请求体发送 + }) + .then((response) => { + // 处理响应 + if (!response.ok) { + throw new Error("下载失败"); + } + return response.blob(); + }) + .then((blob) => { + // 创建一个下载链接 + const url = window.URL.createObjectURL(blob); + // 创建一个
元素 + const link = document.createElement("a"); + link.href = url; + link.download = name; // 指定下载文件的文件名 + // 模拟点击下载链接 + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + // 释放URL对象 + window.URL.revokeObjectURL(url); + // 处理导出的文件 + // 这里可以使用blob对象来获取导出的文件内容或者将其保存到本地 + }) + .catch((error) => { + // 处理错误 + console.error(error); + }); + }, }, computed: { itemListDevNameUp() { @@ -737,10 +1758,499 @@ export default { return find ? find.label : "--"; }; }, + policeCameraItemListUp() { + return this.selectFullList.filter((item) => { + return this.selectList.includes(item.itemId); + }); + }, + itemDiffUp() { + return (row) => { + // 定义两个日期 + const date = dayjs(); + const date1 = dayjs(row.begin); + const date2 = row.end ? dayjs(row.end) : date; + // 计算两个日期之间的差异(默认单位是毫秒) + const diffInMilliseconds = date2.diff(date1); + const durationObj = dayjs.duration(diffInMilliseconds); + const hour = durationObj.hours(); + const minute = durationObj.minutes(); + const second = durationObj.seconds(); + + return `${hour}h${minute}min${second}s`; + }; + }, }, }; +