Files
2026-06-03 10:16:37 +08:00

239 lines
9.9 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const request_api = require("../../request/api.js");
if (!Array) {
const _easycom_up_datetime_picker2 = common_vendor.resolveComponent("up-datetime-picker");
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
const _easycom_u_loadmore2 = common_vendor.resolveComponent("u-loadmore");
(_easycom_up_datetime_picker2 + _easycom_up_input2 + _easycom_u_loadmore2)();
}
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_u_loadmore = () => "../../uni_modules/uview-plus/components/u-loadmore/u-loadmore.js";
if (!Math) {
(_easycom_up_datetime_picker + _easycom_up_input + _easycom_u_loadmore)();
}
const _sfc_main = {
__name: "Inspectionwarning",
setup(__props) {
const searchForm = common_vendor.reactive({
startDate: "",
endDate: "",
deptName: ""
});
const showStartDatePicker = common_vendor.ref(false);
const showEndDatePicker = common_vendor.ref(false);
const startDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date()));
const endDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date()));
const statistics = common_vendor.reactive({ total: 0, overdue: 0, pending: 0, completed: 0, overdueCompleted: 0, onTimeCompleted: 0 });
common_vendor.reactive({
total: 0,
overdue: 0,
completed: 0,
pending: 0
});
const dataList = common_vendor.ref([]);
const pageNum = common_vendor.ref(1);
const pageSize = common_vendor.ref(20);
const loadStatus = common_vendor.ref("loadmore");
const statusTabs = common_vendor.ref([
{ label: "全部状态", value: 0, count: null },
{ label: "逾期未检", value: 1, count: null },
{ label: "严重逾期", value: 2, count: null },
{ label: "期限内待检", value: 3, count: null },
{ label: "逾期已完成", value: 4, count: null },
{ label: "按期已完成", value: 5, count: null }
]);
const activeStatusTab = common_vendor.ref(0);
const switchStatusTab = (index) => {
activeStatusTab.value = index;
pageNum.value = 1;
dataList.value = [];
fetchData();
};
const formatDate = (timestamp) => {
const date = new Date(timestamp);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
};
const onStartDateConfirm = (e) => {
const dateStr = formatDate(e.value);
searchForm.startDate = dateStr;
showStartDatePicker.value = false;
};
const onEndDateConfirm = (e) => {
const dateStr = formatDate(e.value);
searchForm.endDate = dateStr;
showEndDatePicker.value = false;
};
const getStatusClass = (overdueDays) => {
if (!overdueDays || overdueDays === "按期") {
return "status-normal";
}
const days = parseInt(overdueDays);
if (days >= 7) {
return "status-serious";
} else if (days >= 1) {
return "status-overdue";
}
return "status-normal";
};
const getStatusText = (overdueDays, statusName) => {
if (!overdueDays || overdueDays === "按期") {
return statusName === "已完成" ? "按期已完成" : "期限内待检";
}
const days = parseInt(overdueDays);
if (days >= 7) {
return "严重逾期";
} else if (days >= 1) {
return statusName === "已完成" ? "逾期已完成" : "逾期未检";
}
return "期限内待检";
};
const fetchData = async () => {
try {
const params = { pageNum: pageNum.value, pageSize: pageSize.value };
if (searchForm.startDate)
params.startDate = searchForm.startDate;
if (searchForm.endDate)
params.endDate = searchForm.endDate;
if (searchForm.deptName && searchForm.deptName.trim())
params.deptName = searchForm.deptName.trim();
const statusValue = statusTabs.value[activeStatusTab.value].value;
if (statusValue !== 0)
params.inspectionStatus = statusValue;
const res = await request_api.getInspectionWarningList(params);
if (res.code === 0) {
if (res.data.statistics) {
statistics.total = res.data.statistics.total || 0;
statistics.overdue = res.data.statistics.overdue || 0;
statistics.pending = res.data.statistics.pending || 0;
statistics.completed = res.data.statistics.completed || 0;
statistics.overdueCompleted = res.data.statistics.overdueCompleted || 0;
statistics.onTimeCompleted = res.data.statistics.onTimeCompleted || 0;
statusTabs.value[0].count = res.data.statistics.total || 0;
statusTabs.value[1].count = res.data.statistics.overdue || 0;
statusTabs.value[2].count = res.data.statistics.pending || 0;
statusTabs.value[3].count = res.data.statistics.completed || 0;
statusTabs.value[4].count = res.data.statistics.overdueCompleted || 0;
statusTabs.value[5].count = res.data.statistics.onTimeCompleted || 0;
}
if (res.data.page && res.data.page.records) {
const records = res.data.page.records;
if (pageNum.value === 1) {
dataList.value = records;
} else {
dataList.value = [...dataList.value, ...records];
}
const totalRecords = res.data.page.total || 0;
if (dataList.value.length >= totalRecords) {
loadStatus.value = "nomore";
} else {
loadStatus.value = "loadmore";
}
} else {
loadStatus.value = "nomore";
}
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/Inspectionwarning/Inspectionwarning.vue:286", "获取预警列表失败:", error);
}
};
const handleSearch = () => {
pageNum.value = 1;
dataList.value = [];
fetchData();
};
common_vendor.onReachBottom(() => {
if (loadStatus.value === "loadmore") {
pageNum.value++;
fetchData();
}
});
common_vendor.onShow(() => {
fetchData();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_assets._imports_0$1,
b: common_vendor.t(searchForm.startDate || "请选择"),
c: common_vendor.n(searchForm.startDate ? "date-value" : "date-placeholder"),
d: common_vendor.o(($event) => showStartDatePicker.value = true),
e: common_vendor.o(onStartDateConfirm),
f: common_vendor.o(($event) => showStartDatePicker.value = false),
g: common_vendor.o(($event) => showStartDatePicker.value = false),
h: common_vendor.o(($event) => startDateValue.value = $event),
i: common_vendor.p({
show: showStartDatePicker.value,
mode: "date",
modelValue: startDateValue.value
}),
j: common_vendor.t(searchForm.endDate || "请选择"),
k: common_vendor.n(searchForm.endDate ? "date-value" : "date-placeholder"),
l: common_vendor.o(($event) => showEndDatePicker.value = true),
m: common_vendor.o(onEndDateConfirm),
n: common_vendor.o(($event) => showEndDatePicker.value = false),
o: common_vendor.o(($event) => showEndDatePicker.value = false),
p: common_vendor.o(($event) => endDateValue.value = $event),
q: common_vendor.p({
show: showEndDatePicker.value,
mode: "date",
modelValue: endDateValue.value
}),
r: common_vendor.o(($event) => searchForm.deptName = $event),
s: common_vendor.p({
placeholder: "请输入公司名称",
border: "surround",
modelValue: searchForm.deptName
}),
t: common_vendor.o(handleSearch),
v: common_assets._imports_1,
w: common_vendor.t(statistics.total),
x: common_vendor.t(statistics.overdue),
y: common_vendor.t(statistics.onTimeCompleted),
z: common_vendor.t(statistics.completed),
A: common_vendor.f(statusTabs.value, (tab, index, i0) => {
return common_vendor.e({
a: common_vendor.t(tab.label),
b: common_vendor.t(tab.count != null ? tab.count : ""),
c: activeStatusTab.value === index
}, activeStatusTab.value === index ? {} : {}, {
d: index,
e: activeStatusTab.value === index ? 1 : "",
f: common_vendor.o(($event) => switchStatusTab(index), index)
});
}),
B: common_vendor.f(dataList.value, (item, index, i0) => {
return {
a: common_vendor.t(item.deptName || "-"),
b: common_vendor.t(getStatusText(item.overdueDays, item.statusName)),
c: common_vendor.n(getStatusClass(item.overdueDays)),
d: common_vendor.t(item.planName || "-"),
e: common_vendor.t(item.cycleName || "-"),
f: common_vendor.t(item.taskDate || "-"),
g: common_vendor.t(item.finishTime || "未完成"),
h: common_vendor.t(item.executorName || "-"),
i: common_vendor.t(item.overdueDays || "-"),
j: item.id
};
}),
C: dataList.value.length > 0
}, dataList.value.length > 0 ? {
D: common_vendor.p({
status: loadStatus.value
})
} : {}, {
E: dataList.value.length === 0
}, dataList.value.length === 0 ? {} : {}, {
F: common_vendor.gei(_ctx, "")
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-00b99536"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Inspectionwarning/Inspectionwarning.js.map