Files
threeonecheck_web/unpackage/dist/dev/mp-weixin/pages/closeout/application.js

286 lines
12 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.

"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_textarea2 = common_vendor.resolveComponent("up-textarea");
const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
(_easycom_up_picker2 + _easycom_up_textarea2 + _easycom_u_popup2)();
}
const _easycom_up_picker = () => "../../uni_modules/uview-plus/components/u-picker/u-picker.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_textarea + _easycom_u_popup)();
}
const _sfc_main = {
__name: "application",
setup(__props) {
const showAddPopup = common_vendor.ref(false);
const showHazardPicker = 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 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:137", "销号申请列表:", res.data);
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/closeout/application.vue:140", "获取销号申请列表失败:", 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:157", "可申请销号的隐患列表:", list);
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/closeout/application.vue:160", "获取可申请销号隐患列表失败:", error);
}
};
const openAddPopup = () => {
resetForm();
fetchAcceptanceList();
showAddPopup.value = true;
};
const fillHazardRelatedFields = (hazard) => {
formData.rectifyDeadline = hazard.deadline || "";
selectedDeptName.value = hazard.deptName || "";
formData.responsiblePerson = hazard.rectifierName || "";
formData.responsibleDeptId = hazard.deptId || "";
};
const onHazardConfirm = (e) => {
common_vendor.index.__f__("log", "at pages/closeout/application.vue:181", "选择的隐患:", e);
if (e.value && e.value.length > 0) {
selectedHazard.value = e.value[0];
const index = e.indexs[0];
const hazard = acceptanceHazardList.value[index];
if (hazard) {
selectedHazardId.value = hazard.hazardId;
fillHazardRelatedFields(hazard);
}
}
showHazardPicker.value = false;
};
const resetForm = () => {
selectedHazard.value = "";
selectedHazardId.value = "";
selectedDeptName.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:255", "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:280", "提交数据:", 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:294", "申请失败:", error);
common_vendor.index.showToast({ title: "请求失败", icon: "none" });
}
};
const editor = (item) => {
if (!(item == null ? void 0 : item.id)) {
common_vendor.index.showToast({ title: "缺少申请ID", icon: "none" });
return;
}
common_vendor.index.navigateTo({
url: `/pages/closeout/editor?applyId=${item.id}`
});
};
const getStatusClass = (item) => {
const statusName = (item == null ? void 0 : item.verifyResultName) || "";
if (statusName === "待审核")
return "status-pending";
if (statusName === "审核通过" || statusName === "已通过")
return "status-passed";
if (statusName === "审核驳回" || statusName === "已驳回")
return "status-rejected";
if (statusName === "已重新申请")
return "status-reapply";
if ((item == null ? void 0 : item.verifyResult) === 1)
return "status-passed";
if ((item == null ? void 0 : item.verifyResult) === 2)
return "status-rejected";
return "status-default";
};
common_vendor.onMounted(() => {
fetchWriteOffList();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(hazardList.value, (item, k0, i0) => {
return {
a: common_vendor.t(item.hazardTitle),
b: common_vendor.t(item.verifyResultName || "未知"),
c: common_vendor.n(getStatusClass(item)),
d: common_vendor.t(item.hazardCreatedAt),
e: common_vendor.t(item.responsibleDeptName),
f: common_vendor.t(item.responsiblePerson),
g: common_vendor.t(item.createdAt),
h: common_vendor.o(($event) => editor(item), item.hazardId || item.id),
i: item.hazardId || item.id
};
}),
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)
}, {}, {
k: common_vendor.t(formData.rectifyDeadline || "请先选择隐患"),
l: common_vendor.n(formData.rectifyDeadline ? "" : "text-gray"),
m: common_vendor.t(selectedDeptName.value || "请先选择隐患"),
n: common_vendor.n(selectedDeptName.value ? "" : "text-gray"),
o: common_vendor.t(formData.responsiblePerson || "请先选择隐患"),
p: common_vendor.n(formData.responsiblePerson ? "" : "text-gray"),
q: !aiGenerating.value
}, !aiGenerating.value ? {} : {}, {
r: common_vendor.t(aiGenerating.value ? "AI生成中..." : "AI 生成销号方案"),
s: aiGenerating.value,
t: aiGenerating.value,
v: common_vendor.o(handleAiGenerate),
w: common_vendor.o(($event) => formData.mainTreatmentContent = $event),
x: common_vendor.p({
placeholder: "请输入主要治理内容",
modelValue: formData.mainTreatmentContent
}),
y: common_vendor.o(($event) => formData.treatmentResult = $event),
z: common_vendor.p({
placeholder: "请输入隐患治理完成情况",
modelValue: formData.treatmentResult
}),
A: common_vendor.o(($event) => formData.selfVerifyContent = $event),
B: common_vendor.p({
placeholder: "请输入隐患治理责任单位自行验收的情况",
modelValue: formData.selfVerifyContent
}),
C: common_vendor.o(($event) => showAddPopup.value = false),
D: common_vendor.o(handleAdd),
E: common_vendor.o(($event) => showAddPopup.value = false),
F: common_vendor.p({
show: showAddPopup.value,
mode: "center",
round: "20",
safeAreaInsetBottom: false
}),
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.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