Files
threeonecheck_web/unpackage/dist/dev/mp-weixin/pages/closeout/application.js
2026-05-03 09:08:56 +08:00

340 lines
15 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_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