"use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); const request_request = require("../../request/request.js"); if (!Array) { const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); const _easycom_up_upload2 = common_vendor.resolveComponent("up-upload"); (_easycom_up_textarea2 + _easycom_up_upload2)(); } const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; const _easycom_up_upload = () => "../../uni_modules/uview-plus/components/u-upload/u-upload.js"; if (!Math) { (_easycom_up_textarea + _easycom_up_upload)(); } const _sfc_main = { __name: "acceptance", setup(__props) { const rectifyId = common_vendor.ref(""); const hazardId = common_vendor.ref(""); const assignId = common_vendor.ref(""); const rectifyData = common_vendor.reactive({ rectifyPlan: "", rectifyResult: "" }); const rectifyAttachments = common_vendor.ref([]); const formData = common_vendor.reactive({ result: 1, // 验收结果 1.通过 2.不通过 verifyRemark: "" // 验收备注 }); const fileList1 = common_vendor.ref([]); const getFullPath = (filePath) => { if (!filePath) return ""; if (filePath.startsWith("http://") || filePath.startsWith("https://")) { return filePath; } return request_request.baseUrl + filePath; }; const previewImage = (index) => { const urls = rectifyAttachments.value.map((item) => getFullPath(item.filePath)); common_vendor.index.previewImage({ current: index, urls }); }; const fetchDetail = async () => { if (!hazardId.value || !assignId.value) return; try { const res = await request_api.getHiddenDangerDetail({ hazardId: hazardId.value, assignId: assignId.value }); if (res.code === 0 && res.data) { if (res.data.assigns && res.data.assigns.length > 0) { const assign = res.data.assigns[0]; if (assign.rectify) { rectifyData.rectifyPlan = assign.rectify.rectifyPlan || ""; rectifyData.rectifyResult = assign.rectify.rectifyResult || ""; if (assign.rectify.attachments) { rectifyAttachments.value = assign.rectify.attachments; } console.log("整改记录:", rectifyData); console.log("整改附件:", rectifyAttachments.value); } } } else { common_vendor.index.showToast({ title: res.msg || "获取详情失败", icon: "none" }); } } catch (error) { console.error("获取隐患详情失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; common_vendor.onLoad((options) => { if (options.rectifyId) { rectifyId.value = options.rectifyId; } if (options.hazardId) { hazardId.value = options.hazardId; } if (options.assignId) { assignId.value = options.assignId; } console.log("验收页面参数:", { rectifyId: rectifyId.value, hazardId: hazardId.value, assignId: assignId.value }); fetchDetail(); }); const handleCancel = () => { common_vendor.index.navigateBack(); }; const handleSubmit = async () => { if (!rectifyId.value) { common_vendor.index.showToast({ title: "缺少整改ID", icon: "none" }); return; } const attachments = fileList1.value.map((file) => { let url = ""; if (typeof file.url === "string") { url = file.url; } else if (file.url && typeof file.url === "object") { url = file.url.url || file.url.path || ""; } const fileName = typeof url === "string" && url ? url.split("/").pop() : file.name || ""; return { fileName: fileName || "", filePath: url || "", fileType: file.type || "image/png", fileSize: file.size || 0 }; }); const params = { rectifyId: Number(rectifyId.value), result: formData.result, verifyRemark: formData.verifyRemark || "", attachments }; console.log("提交验收参数:", params); try { const res = await request_api.acceptanceRectification(params); if (res.code === 0) { common_vendor.index.showToast({ title: "验收成功", icon: "success" }); setTimeout(() => { common_vendor.index.navigateBack(); }, 1500); } else { common_vendor.index.showToast({ title: res.msg || "验收失败", icon: "none" }); } } catch (error) { console.error("验收失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; const deletePic = (event) => { fileList1.value.splice(event.index, 1); }; const afterRead = async (event) => { let lists = [].concat(event.file); let fileListLen = fileList1.value.length; lists.map((item) => { fileList1.value.push({ ...item, status: "uploading", message: "上传中" }); }); for (let i = 0; i < lists.length; i++) { const result = await uploadFilePromise(lists[i].url); let item = fileList1.value[fileListLen]; fileList1.value.splice(fileListLen, 1, { ...item, status: "success", message: "", url: result }); fileListLen++; } }; const uploadFilePromise = (filePath) => { return new Promise((resolve, reject) => { common_vendor.index.uploadFile({ url: request_request.baseUrl + "/frontend/attachment/upload", filePath, name: "file", header: { "Authorization": request_request.getToken() }, success: (res) => { const data = JSON.parse(res.data); if (data.code === 0) { resolve(data.data); } else { reject(data.msg || "上传失败"); } }, fail: (err) => { console.error("上传失败:", err); reject(err); } }); }); }; return (_ctx, _cache) => { return common_vendor.e({ a: common_vendor.t(rectifyData.rectifyPlan || "暂无"), b: common_vendor.t(rectifyData.rectifyResult || "暂无"), c: rectifyAttachments.value.length > 0 }, rectifyAttachments.value.length > 0 ? { d: common_vendor.f(rectifyAttachments.value, (img, idx, i0) => { return { a: idx, b: getFullPath(img.filePath), c: common_vendor.o(($event) => previewImage(idx), idx) }; }) } : {}, { e: common_vendor.n(formData.result === 1 ? "active" : ""), f: common_vendor.o(($event) => formData.result = 1), g: common_vendor.n(formData.result === 2 ? "active" : ""), h: common_vendor.o(($event) => formData.result = 2), i: common_vendor.o(($event) => formData.verifyRemark = $event), j: common_vendor.p({ placeholder: "请输入验收备注", modelValue: formData.verifyRemark }), k: common_vendor.o(afterRead), l: common_vendor.o(deletePic), m: common_vendor.p({ fileList: fileList1.value, name: "1", multiple: true, maxCount: 10 }), n: common_vendor.o(handleCancel), o: common_vendor.o(handleSubmit) }); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-39f9b795"]]); wx.createPage(MiniProgramPage);