"use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); if (!Array) { const _easycom_up_picker2 = common_vendor.resolveComponent("up-picker"); const _easycom_up_datetime_picker2 = common_vendor.resolveComponent("up-datetime-picker"); const _easycom_up_input2 = common_vendor.resolveComponent("up-input"); const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); (_easycom_up_picker2 + _easycom_up_datetime_picker2 + _easycom_up_input2 + _easycom_up_textarea2 + _easycom_u_popup2)(); } const _easycom_up_picker = () => "../../uni_modules/uview-plus/components/u-picker/u-picker.js"; const _easycom_up_datetime_picker = () => "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js"; const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js"; const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; if (!Math) { (_easycom_up_picker + _easycom_up_datetime_picker + _easycom_up_input + _easycom_up_textarea + _easycom_u_popup)(); } const _sfc_main = { __name: "application", setup(__props) { const showAddPopup = common_vendor.ref(false); const showHazardPicker = common_vendor.ref(false); const showDatePicker = common_vendor.ref(false); const showDeptPicker = common_vendor.ref(false); const selectedHazard = common_vendor.ref(""); const selectedHazardId = common_vendor.ref(""); const hazardColumns = common_vendor.ref([["暂无数据"]]); const acceptanceHazardList = common_vendor.ref([]); const hazardList = common_vendor.ref([]); const selectedDeptName = common_vendor.ref(""); const selectedDeptId = common_vendor.ref(""); const deptColumns = common_vendor.ref([["暂无数据"]]); const deptList = common_vendor.ref([]); const dateValue = common_vendor.ref(Date.now()); const aiGenerating = common_vendor.ref(false); const formData = common_vendor.reactive({ rectifyDeadline: "", // 整改时限 responsibleDeptId: "", // 隐患治理责任单位ID responsiblePerson: "", // 主要负责人 mainTreatmentContent: "", // 主要治理内容 treatmentResult: "", // 隐患治理完成内容 selfVerifyContent: "" // 责任单位自行验收情况 }); const fetchWriteOffList = async () => { try { const res = await request_api.getMyWriteOffList(); if (res.code === 0 && res.data) { hazardList.value = res.data; common_vendor.index.__f__("log", "at pages/closeout/application.vue:148", "销号申请列表:", res.data); } } catch (error) { common_vendor.index.__f__("error", "at pages/closeout/application.vue:151", "获取销号申请列表失败:", error); } }; const fetchAcceptanceList = async () => { try { const res = await request_api.getAcceptanceList(); if (res.code === 0 && res.data) { const list = res.data.records || res.data || []; acceptanceHazardList.value = list; if (list.length > 0) { hazardColumns.value = [list.map((item) => item.title || item.hazardTitle || `隐患${item.hazardId}`)]; } else { hazardColumns.value = [["暂无可申请销号的隐患"]]; } common_vendor.index.__f__("log", "at pages/closeout/application.vue:168", "可申请销号的隐患列表:", list); } } catch (error) { common_vendor.index.__f__("error", "at pages/closeout/application.vue:171", "获取可申请销号隐患列表失败:", error); } }; const fetchDeptList = async () => { try { const res = await request_api.getDepartmentPersonUsers(); if (res.code === 0 && res.data) { const users = []; res.data.forEach((dept) => { if (dept.users && dept.users.length > 0) { dept.users.forEach((user) => { users.push({ userId: user.userId, deptId: dept.deptId, name: `${user.nickName}(${dept.deptName})` }); }); } }); deptList.value = users; if (users.length > 0) { deptColumns.value = [users.map((item) => item.name)]; } else { deptColumns.value = [["暂无人员数据"]]; } common_vendor.index.__f__("log", "at pages/closeout/application.vue:199", "部门人员列表:", users); } } catch (error) { common_vendor.index.__f__("error", "at pages/closeout/application.vue:202", "获取部门人员列表失败:", error); } }; const onDeptConfirm = (e) => { common_vendor.index.__f__("log", "at pages/closeout/application.vue:208", "选择的人员:", e); if (e.value && e.value.length > 0) { selectedDeptName.value = e.value[0]; const index = e.indexs[0]; if (deptList.value[index]) { selectedDeptId.value = deptList.value[index].deptId; formData.responsibleDeptId = deptList.value[index].deptId; } } showDeptPicker.value = false; }; const openAddPopup = () => { resetForm(); fetchAcceptanceList(); fetchDeptList(); showAddPopup.value = true; }; const onHazardConfirm = (e) => { common_vendor.index.__f__("log", "at pages/closeout/application.vue:231", "选择的隐患:", e); if (e.value && e.value.length > 0) { selectedHazard.value = e.value[0]; const index = e.indexs[0]; if (acceptanceHazardList.value[index]) { selectedHazardId.value = acceptanceHazardList.value[index].hazardId; } } showHazardPicker.value = false; }; const onDateConfirm = (e) => { common_vendor.index.__f__("log", "at pages/closeout/application.vue:245", "选择的日期时间:", e); const date = new Date(e.value); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, "0"); const day = String(date.getDate()).padStart(2, "0"); const hours = String(date.getHours()).padStart(2, "0"); const minutes = String(date.getMinutes()).padStart(2, "0"); const seconds = String(date.getSeconds()).padStart(2, "0"); formData.rectifyDeadline = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; showDatePicker.value = false; }; const resetForm = () => { selectedHazard.value = ""; selectedHazardId.value = ""; selectedDeptName.value = ""; selectedDeptId.value = ""; formData.rectifyDeadline = ""; formData.responsibleDeptId = ""; formData.responsiblePerson = ""; formData.mainTreatmentContent = ""; formData.treatmentResult = ""; formData.selfVerifyContent = ""; }; const handleAiGenerate = async () => { if (!selectedHazardId.value) { common_vendor.index.showToast({ title: "请先选择隐患", icon: "none" }); return; } aiGenerating.value = true; try { const hazardRes = await request_api.getHiddenDangerDetail({ hazardId: selectedHazardId.value }); if (hazardRes.code !== 0 || !hazardRes.data) { common_vendor.index.showToast({ title: "获取隐患详情失败", icon: "none" }); return; } const assigns = hazardRes.data.assigns; if (!assigns || assigns.length === 0 || !assigns[0].rectify) { common_vendor.index.showToast({ title: "该隐患暂无整改记录", icon: "none" }); return; } const rectifyId = assigns[0].rectify.rectifyId; const rectifyRes = await request_api.getRectifyDetail({ rectifyId }); if (rectifyRes.code !== 0 || !rectifyRes.data) { common_vendor.index.showToast({ title: "获取整改详情失败", icon: "none" }); return; } const rectifyPlan = rectifyRes.data.rectifyPlan; if (!rectifyPlan) { common_vendor.index.showToast({ title: "整改方案内容为空", icon: "none" }); return; } const aiRes = await request_api.generateWriteoffContent({ rectifyContent: rectifyPlan }); if (aiRes.code === 0 && aiRes.data) { formData.mainTreatmentContent = aiRes.data.mainContent || ""; formData.treatmentResult = aiRes.data.completionContent || ""; formData.selfVerifyContent = aiRes.data.selfInspection || ""; common_vendor.index.showToast({ title: "AI生成成功", icon: "success" }); } else { common_vendor.index.showToast({ title: aiRes.msg || "AI生成失败", icon: "none" }); } } catch (error) { common_vendor.index.__f__("error", "at pages/closeout/application.vue:319", "AI生成销号方案失败:", error); common_vendor.index.showToast({ title: "AI生成失败,请重试", icon: "none" }); } finally { aiGenerating.value = false; } }; const handleAdd = async () => { if (!selectedHazardId.value) { common_vendor.index.showToast({ title: "请选择隐患", icon: "none" }); return; } const params = { hazardId: Number(selectedHazardId.value), // 隐患ID(必需) rectifyDeadline: formData.rectifyDeadline || "", // 整改时限 responsibleDeptId: Number(formData.responsibleDeptId) || 0, // 隐患治理责任单位ID responsiblePerson: formData.responsiblePerson || "", // 主要负责人 mainTreatmentContent: formData.mainTreatmentContent || "", // 主要治理内容 treatmentResult: formData.treatmentResult || "", // 隐患治理完成内容 selfVerifyContent: formData.selfVerifyContent || "" // 责任单位自行验收情况 }; common_vendor.index.__f__("log", "at pages/closeout/application.vue:344", "提交数据:", params); try { const res = await request_api.applyDelete(params); if (res.code === 0) { common_vendor.index.showToast({ title: "申请成功", icon: "success" }); showAddPopup.value = false; resetForm(); fetchWriteOffList(); } else { common_vendor.index.showToast({ title: res.msg || "申请失败", icon: "none" }); } } catch (error) { common_vendor.index.__f__("error", "at pages/closeout/application.vue:358", "申请失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; const editor = () => { common_vendor.index.navigateTo({ url: "/pages/closeout/editor" }); }; common_vendor.onMounted(() => { fetchWriteOffList(); }); return (_ctx, _cache) => { return common_vendor.e({ a: common_vendor.f(hazardList.value, (item, index, i0) => { return { a: common_vendor.t(item.hazardTitle), b: common_vendor.t(item.statusName), c: common_vendor.t(item.hazardCreatedAt), d: common_vendor.t(item.responsibleDeptName), e: common_vendor.t(item.responsiblePerson), f: common_vendor.t(item.createdAt), g: common_vendor.o(($event) => editor(), index), h: index }; }), b: common_vendor.o(openAddPopup), c: common_vendor.o(($event) => showAddPopup.value = false), d: common_vendor.t(selectedHazard.value || "请选择隐患"), e: common_vendor.n(selectedHazard.value ? "" : "text-gray"), f: common_vendor.o(($event) => showHazardPicker.value = true), g: common_vendor.o(onHazardConfirm), h: common_vendor.o(($event) => showHazardPicker.value = false), i: common_vendor.o(($event) => showHazardPicker.value = false), j: common_vendor.p({ show: showHazardPicker.value, columns: hazardColumns.value }), k: common_vendor.t(formData.rectifyDeadline || "请选择整改时限"), l: common_vendor.n(formData.rectifyDeadline ? "" : "text-gray"), m: common_vendor.o(($event) => showDatePicker.value = true), n: common_vendor.o(onDateConfirm), o: common_vendor.o(($event) => showDatePicker.value = false), p: common_vendor.o(($event) => showDatePicker.value = false), q: common_vendor.o(($event) => dateValue.value = $event), r: common_vendor.p({ show: showDatePicker.value, mode: "datetime", modelValue: dateValue.value }), s: common_vendor.t(selectedDeptName.value || "请选择隐患治理责任单位"), t: common_vendor.n(selectedDeptName.value ? "" : "text-gray"), v: common_vendor.o(($event) => showDeptPicker.value = true), w: common_vendor.o(onDeptConfirm), x: common_vendor.o(($event) => showDeptPicker.value = false), y: common_vendor.o(($event) => showDeptPicker.value = false), z: common_vendor.p({ show: showDeptPicker.value, columns: deptColumns.value }), A: common_vendor.o(($event) => formData.responsiblePerson = $event), B: common_vendor.p({ placeholder: "请输入主要负责人", modelValue: formData.responsiblePerson }), C: !aiGenerating.value }, !aiGenerating.value ? {} : {}, { D: common_vendor.t(aiGenerating.value ? "AI生成中..." : "AI 生成销号方案"), E: aiGenerating.value, F: aiGenerating.value, G: common_vendor.o(handleAiGenerate), H: common_vendor.o(($event) => formData.mainTreatmentContent = $event), I: common_vendor.p({ placeholder: "请输入主要治理内容", modelValue: formData.mainTreatmentContent }), J: common_vendor.o(($event) => formData.treatmentResult = $event), K: common_vendor.p({ placeholder: "请输入隐患治理完成情况", modelValue: formData.treatmentResult }), L: common_vendor.o(($event) => formData.selfVerifyContent = $event), M: common_vendor.p({ placeholder: "请输入隐患治理责任单位自行验收的情况", modelValue: formData.selfVerifyContent }), N: common_vendor.o(($event) => showAddPopup.value = false), O: common_vendor.o(handleAdd), P: common_vendor.o(($event) => showAddPopup.value = false), Q: common_vendor.p({ show: showAddPopup.value, mode: "center", round: "20" }), R: common_vendor.gei(_ctx, "") }); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4b6250eb"]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/closeout/application.js.map