优化后,再次提交

This commit is contained in:
王利强
2026-05-03 09:08:56 +08:00
parent 721ef0ad54
commit 805747d1d9
1243 changed files with 46213 additions and 221 deletions

View File

@@ -0,0 +1,818 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
if (!Array) {
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
const _easycom_up_picker2 = common_vendor.resolveComponent("up-picker");
const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea");
const _easycom_up_datetime_picker2 = common_vendor.resolveComponent("up-datetime-picker");
const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
(_easycom_up_input2 + _easycom_up_picker2 + _easycom_up_textarea2 + _easycom_up_datetime_picker2 + _easycom_u_popup2)();
}
const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js";
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_up_datetime_picker = () => "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js";
const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js";
if (!Math) {
(_easycom_up_input + _easycom_up_picker + _easycom_up_textarea + _easycom_up_datetime_picker + _easycom_u_popup)();
}
const _sfc_main = {
__name: "editchecklist",
setup(__props) {
const formData = common_vendor.reactive({
name: "",
deptId: "",
deptName: "",
remark: "",
type: "",
// 检查表类型1-日常检查2-专项检查3-设备检查
typeName: "",
modeId: "",
modeName: "",
selectDeptId: "",
selectDeptName: "",
executorIds: [],
// 执行人员ID数组
executorNames: "",
// 执行人员名称(显示用)
cycleId: "",
cycleName: "",
startDate: "",
endDate: ""
});
const workdaySwitch = common_vendor.ref(false);
const onSwitchChange = (e) => {
workdaySwitch.value = e.detail.value;
};
const startDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date()));
const endDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date()));
const showDeptPicker = common_vendor.ref(false);
const showTypePicker = common_vendor.ref(false);
const showModePicker = common_vendor.ref(false);
common_vendor.ref(false);
const showCyclePicker = common_vendor.ref(false);
const showStartDatePicker = common_vendor.ref(false);
const showEndDatePicker = common_vendor.ref(false);
common_vendor.ref([["湘西自治州和谐网络科技有限公司", "湘西自治州和谐云大数据科技有限公司", "湘西网络有限公司"]]);
const typeColumns = common_vendor.ref([["日常检查", "专项检查", "设备检查"]]);
const modeColumns = common_vendor.ref([["全员", "指定人员"]]);
const cycleColumns = common_vendor.ref([["每天一次", "每周一次", "每月一次", "每季度一次"]]);
const showExecutorPopup = common_vendor.ref(false);
const executorList = common_vendor.ref([]);
const selectedExecutorIds = common_vendor.ref([]);
const deptTree = common_vendor.ref([]);
const deptCascaderColumns = common_vendor.ref([]);
const deptCascaderIndexs = common_vendor.ref([0]);
const selectedDeptPath = common_vendor.ref([]);
const onDeptConfirm = (e) => {
const lastSelected = selectedDeptPath.value[selectedDeptPath.value.length - 1];
if (lastSelected) {
formData.deptId = lastSelected.deptId;
formData.deptName = selectedDeptPath.value.map((d) => d.deptName).join(" / ");
}
showDeptPicker.value = false;
};
const typeMap = {
"日常检查": 1,
"专项检查": 2,
"设备检查": 3
};
const onTypeConfirm = (e) => {
if (e.value && e.value.length > 0) {
formData.typeName = e.value[0];
formData.type = typeMap[e.value[0]];
}
showTypePicker.value = false;
};
const onModeConfirm = (e) => {
if (e.value && e.value.length > 0) {
formData.modeName = e.value[0];
if (e.value[0] === "全员") {
formData.executorIds = [];
formData.executorNames = "";
selectedExecutorIds.value = [];
}
}
showModePicker.value = false;
};
const fetchDeptUsers = async () => {
try {
const res = await request_api.getDeptUsers();
if (res.code === 0 && res.data) {
executorList.value = res.data || [];
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:496", "获取部门用户失败:", error);
}
};
const toggleExecutorSelect = (item) => {
const index = selectedExecutorIds.value.indexOf(item.userId);
if (index > -1) {
selectedExecutorIds.value.splice(index, 1);
} else {
selectedExecutorIds.value.push(item.userId);
}
};
const confirmExecutorSelect = () => {
formData.executorIds = [...selectedExecutorIds.value];
const selectedUsers = executorList.value.filter((u) => selectedExecutorIds.value.includes(u.userId));
formData.executorNames = selectedUsers.map((u) => u.nickName).join("、");
showExecutorPopup.value = false;
};
const openExecutorPopup = () => {
selectedExecutorIds.value = [...formData.executorIds];
showExecutorPopup.value = true;
};
const fetchParentDepts = async () => {
try {
const res = await request_api.getParentDepts();
if (res.code === 0 && res.data) {
deptTree.value = res.data;
initDeptCascader(res.data);
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:534", "获取部门树失败:", error);
}
};
const initDeptCascader = (data) => {
if (!data)
return;
const firstColumn = buildDeptColumn(data);
deptCascaderColumns.value = [firstColumn];
deptCascaderIndexs.value = [0];
selectedDeptPath.value = [data];
if (data.children && data.children.length > 0) {
const secondColumn = data.children.map((item) => ({ text: item.deptName, ...item }));
deptCascaderColumns.value.push(secondColumn);
deptCascaderIndexs.value.push(0);
selectedDeptPath.value.push(data.children[0]);
if (data.children[0].children && data.children[0].children.length > 0) {
const thirdColumn = data.children[0].children.map((item) => ({ text: item.deptName, ...item }));
deptCascaderColumns.value.push(thirdColumn);
deptCascaderIndexs.value.push(0);
selectedDeptPath.value.push(data.children[0].children[0]);
}
}
};
const buildDeptColumn = (data) => {
return [{ text: data.deptName, ...data }];
};
const onDeptCascaderChange = (e) => {
const { columnIndex, index, value } = e;
deptCascaderIndexs.value[columnIndex] = index;
selectedDeptPath.value[columnIndex] = value;
deptCascaderColumns.value = deptCascaderColumns.value.slice(0, columnIndex + 1);
deptCascaderIndexs.value = deptCascaderIndexs.value.slice(0, columnIndex + 1);
selectedDeptPath.value = selectedDeptPath.value.slice(0, columnIndex + 1);
if (value.children && value.children.length > 0) {
const nextColumn = value.children.map((item) => ({ text: item.deptName, ...item }));
deptCascaderColumns.value.push(nextColumn);
deptCascaderIndexs.value.push(0);
selectedDeptPath.value.push(value.children[0]);
if (value.children[0].children && value.children[0].children.length > 0) {
const thirdColumn = value.children[0].children.map((item) => ({ text: item.deptName, ...item }));
deptCascaderColumns.value.push(thirdColumn);
deptCascaderIndexs.value.push(0);
selectedDeptPath.value.push(value.children[0].children[0]);
}
}
};
const onCycleConfirm = (e) => {
if (e.value && e.value.length > 0) {
formData.cycleName = e.value[0];
}
showCyclePicker.value = false;
};
const formatDateTime = (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");
const hours = String(date.getHours()).padStart(2, "0");
const minutes = String(date.getMinutes()).padStart(2, "0");
const seconds = String(date.getSeconds()).padStart(2, "0");
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
};
const onStartDateConfirm = (e) => {
formData.startDate = formatDateTime(e.value);
showStartDatePicker.value = false;
};
const onEndDateConfirm = (e) => {
formData.endDate = formatDateTime(e.value);
showEndDatePicker.value = false;
};
const manualCheckItems = common_vendor.ref([]);
const checkItems = common_vendor.ref([]);
const checkItemCount = common_vendor.computed(() => {
const libraryCount = checkItems.value.reduce((sum, item) => sum + item.count, 0);
return manualCheckItems.value.length + libraryCount;
});
const deleteManualCheckItem = (item, index) => {
common_vendor.index.showModal({
title: "提示",
content: "确定要删除该检查项吗?",
confirmColor: "#F56C6C",
success: async (res) => {
if (res.confirm) {
if (item.id) {
try {
common_vendor.index.showLoading({ title: "删除中..." });
const result = await request_api.deleteCheckPoint({ id: item.id });
common_vendor.index.hideLoading();
if (result.code === 0) {
manualCheckItems.value.splice(index, 1);
common_vendor.index.showToast({ title: "删除成功", icon: "success" });
} else {
common_vendor.index.showToast({ title: result.msg || "删除失败", icon: "none" });
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:669", "删除检查项失败:", error);
common_vendor.index.showToast({ title: "删除失败", icon: "none" });
}
} else {
manualCheckItems.value.splice(index, 1);
common_vendor.index.showToast({ title: "删除成功", icon: "success" });
}
}
}
});
};
const deleteCheckItem = (index) => {
common_vendor.index.showModal({
title: "提示",
content: "确定要删除该检查项吗?",
confirmColor: "#F56C6C",
success: (res) => {
if (res.confirm) {
checkItems.value.splice(index, 1);
common_vendor.index.showToast({ title: "删除成功", icon: "success" });
}
}
});
};
const showAddPopup = common_vendor.ref(false);
const checkForm = common_vendor.reactive({
name: "",
// 检查名称
point: "",
// 检查内容
regulationId: null,
// 参考法规ID
regulationName: ""
// 参考法规名称(显示用)
});
const showLawPopup = common_vendor.ref(false);
const lawKeyword = common_vendor.ref("");
const selectedLawId = common_vendor.ref(null);
const selectedLawName = common_vendor.ref("");
const lawList = common_vendor.ref([]);
const lawLoading = common_vendor.ref(false);
const lawPageNum = common_vendor.ref(1);
const lawPageSize = common_vendor.ref(10);
const hasMoreLaw = common_vendor.ref(true);
const openLawPopup = () => {
showLawPopup.value = true;
if (lawList.value.length === 0) {
fetchRegulationList();
}
};
const fetchRegulationList = async (isLoadMore = false) => {
if (lawLoading.value)
return;
lawLoading.value = true;
try {
const params = {
pageNum: lawPageNum.value,
pageSize: lawPageSize.value,
status: 1
// 启用状态
};
if (lawKeyword.value && lawKeyword.value.trim()) {
params.keyword = lawKeyword.value.trim();
}
const res = await request_api.getRegulationList(params);
if (res.code === 0) {
const records = res.data.records || res.data || [];
if (isLoadMore) {
lawList.value = [...lawList.value, ...records];
} else {
lawList.value = records;
}
const total = res.data.total || 0;
hasMoreLaw.value = lawList.value.length < total;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:756", "获取法规列表失败:", error);
} finally {
lawLoading.value = false;
}
};
const searchRegulation = () => {
lawPageNum.value = 1;
lawList.value = [];
hasMoreLaw.value = true;
fetchRegulationList();
};
const loadMoreLaw = () => {
if (!hasMoreLaw.value || lawLoading.value)
return;
lawPageNum.value++;
fetchRegulationList(true);
};
const selectLaw = (item) => {
selectedLawId.value = item.id;
selectedLawName.value = item.depict || item.keyword || "";
};
const confirmLaw = () => {
if (selectedLawId.value) {
checkForm.regulationId = selectedLawId.value;
checkForm.regulationName = selectedLawName.value;
}
showLawPopup.value = false;
};
const handleAddCheck = async () => {
var _a;
if (!checkForm.name) {
common_vendor.index.showToast({ title: "请输入检查名称", icon: "none" });
return;
}
if (!checkForm.point) {
common_vendor.index.showToast({ title: "请输入检查内容", icon: "none" });
return;
}
try {
common_vendor.index.showLoading({ title: "添加中..." });
const params = {
name: checkForm.name,
point: checkForm.point,
regulationId: checkForm.regulationId || void 0
};
const res = await request_api.addCheckPoint(params);
if (res.code === 0) {
const checkPointId = ((_a = res.data) == null ? void 0 : _a.id) || res.data;
if (checkPointId) {
const detailRes = await request_api.detailcheckPoint(checkPointId);
if (detailRes.code === 0 && detailRes.data) {
manualCheckItems.value.push({
id: detailRes.data.id,
name: detailRes.data.name,
point: detailRes.data.point,
regulationId: detailRes.data.regulationId,
regulationName: detailRes.data.regulationName || checkForm.regulationName
});
}
} else {
manualCheckItems.value.push({
name: checkForm.name,
point: checkForm.point,
regulationId: checkForm.regulationId,
regulationName: checkForm.regulationName
});
}
common_vendor.index.hideLoading();
common_vendor.index.showToast({ title: "添加成功", icon: "success" });
showAddPopup.value = false;
checkForm.name = "";
checkForm.point = "";
checkForm.regulationId = null;
checkForm.regulationName = "";
} else {
common_vendor.index.hideLoading();
common_vendor.index.showToast({ title: res.msg || "添加失败", icon: "none" });
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:856", "添加检查项失败:", error);
common_vendor.index.showToast({ title: "添加失败", icon: "none" });
}
};
const showLibraryPopup = common_vendor.ref(false);
const libraryKeyword = common_vendor.ref("");
const selectedLibraries = common_vendor.ref([]);
const libraryList = common_vendor.ref([]);
const libraryLoading = common_vendor.ref(false);
const libraryPageNum = common_vendor.ref(1);
const libraryPageSize = common_vendor.ref(10);
const hasMoreLibrary = common_vendor.ref(true);
const openLibraryPopup = () => {
showLibraryPopup.value = true;
libraryKeyword.value = "";
libraryPageNum.value = 1;
libraryList.value = [];
hasMoreLibrary.value = true;
selectedLibraries.value = [];
fetchLibraryList();
};
const closeLibraryPopup = () => {
showLibraryPopup.value = false;
selectedLibraries.value = [];
};
const fetchLibraryList = async (isLoadMore = false) => {
if (libraryLoading.value)
return;
libraryLoading.value = true;
try {
const params = {
pageNum: libraryPageNum.value,
pageSize: libraryPageSize.value
};
if (libraryKeyword.value && libraryKeyword.value.trim()) {
params.name = libraryKeyword.value.trim();
}
const res = await request_api.getCheckItemList(params);
if (res.code === 0) {
const records = res.data.records || [];
if (isLoadMore) {
libraryList.value = [...libraryList.value, ...records];
} else {
libraryList.value = records;
}
const total = res.data.total || 0;
hasMoreLibrary.value = libraryList.value.length < total;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:916", "获取检查库列表失败:", error);
} finally {
libraryLoading.value = false;
}
};
const searchLibrary = () => {
libraryPageNum.value = 1;
libraryList.value = [];
hasMoreLibrary.value = true;
fetchLibraryList();
};
const loadMoreLibrary = () => {
if (!hasMoreLibrary.value || libraryLoading.value)
return;
libraryPageNum.value++;
fetchLibraryList(true);
};
const toggleLibrarySelect = (item) => {
const index = selectedLibraries.value.indexOf(item.id);
if (index > -1) {
selectedLibraries.value.splice(index, 1);
} else {
selectedLibraries.value.push(item.id);
}
};
const addSelectedLibrary = async () => {
if (selectedLibraries.value.length === 0) {
common_vendor.index.showToast({ title: "请选择检查库", icon: "none" });
return;
}
common_vendor.index.showLoading({ title: "加载中..." });
try {
for (const id of selectedLibraries.value) {
const res = await request_api.getCheckItemListDetail({ itemId: id });
if (res.code === 0 && res.data) {
const records = res.data.records || [];
const total = res.data.total || 0;
const tableName = records.length > 0 ? records[0].name : "";
checkItems.value.push({
itemId: id,
tableName,
count: total,
details: records
// 保存详情数据,以便后续使用
});
}
}
common_vendor.index.hideLoading();
common_vendor.index.showToast({ title: "添加成功", icon: "success" });
showLibraryPopup.value = false;
selectedLibraries.value = [];
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:981", "获取检查库详情失败:", error);
common_vendor.index.showToast({ title: "添加失败", icon: "none" });
}
};
const handleSave = async () => {
if (!formData.name) {
common_vendor.index.showToast({ title: "请输入检查表名称", icon: "none" });
return;
}
if (!formData.deptId) {
common_vendor.index.showToast({ title: "请选择分派单位", icon: "none" });
return;
}
if (!formData.type) {
common_vendor.index.showToast({ title: "请选择检查表类型", icon: "none" });
return;
}
if (!formData.modeName) {
common_vendor.index.showToast({ title: "请选择运行模式", icon: "none" });
return;
}
if (formData.modeName === "指定人员" && formData.executorIds.length === 0) {
common_vendor.index.showToast({ title: "请选择执行人员", icon: "none" });
return;
}
if (!formData.cycleName) {
common_vendor.index.showToast({ title: "请选择周期", icon: "none" });
return;
}
if (!formData.startDate || !formData.endDate) {
common_vendor.index.showToast({ title: "请选择计划时间", icon: "none" });
return;
}
const items = [];
manualCheckItems.value.forEach((item) => {
if (item.id) {
items.push(item.id);
}
});
checkItems.value.forEach((lib) => {
if (lib.details && lib.details.length > 0) {
lib.details.forEach((detail) => {
if (detail.pointId) {
items.push(detail.pointId);
}
});
}
});
if (items.length === 0) {
common_vendor.index.showToast({ title: "请添加检查项", icon: "none" });
return;
}
const runModeMap = {
"指定人员": 1,
"全员": 2
};
const cycleMap = {
"每天一次": 1,
"每周一次": 2,
"每月一次": 3,
"每季度一次": 4
};
const itemIds = [];
checkItems.value.forEach((lib) => {
if (lib.itemId) {
itemIds.push(lib.itemId);
}
});
const params = {
name: formData.name,
deptId: formData.deptId,
description: formData.remark || "",
type: formData.type,
// 检查表类型1-日常检查2-专项检查3-设备检查
runMode: runModeMap[formData.modeName] || 2,
checkPointIds: items,
itemIds,
// 从检查库选择的库id数组
cycle: cycleMap[formData.cycleName] || 1,
isWeekend: workdaySwitch.value ? 1 : 2,
planStartTime: formData.startDate,
planEndTime: formData.endDate
};
if (formData.modeName === "指定人员" && formData.executorIds.length > 0) {
params.executorId = formData.executorIds[0];
}
try {
common_vendor.index.showLoading({ title: "保存中..." });
const res = await request_api.addCheckTable(params);
common_vendor.index.hideLoading();
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) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1101", "保存失败:", error);
common_vendor.index.showToast({ title: "保存失败", icon: "none" });
}
};
common_vendor.onMounted(() => {
fetchDeptUsers();
fetchParentDepts();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => formData.name = $event),
b: common_vendor.p({
placeholder: "请输入检查表名称",
border: "surround",
modelValue: formData.name
}),
c: common_vendor.t(formData.deptName || "请选择分派单位"),
d: common_vendor.n(formData.deptName ? "picker-value" : "picker-placeholder"),
e: common_vendor.o(($event) => showDeptPicker.value = true),
f: common_vendor.o(onDeptConfirm),
g: common_vendor.o(onDeptCascaderChange),
h: common_vendor.o(($event) => showDeptPicker.value = false),
i: common_vendor.o(($event) => showDeptPicker.value = false),
j: common_vendor.p({
show: showDeptPicker.value,
columns: deptCascaderColumns.value,
defaultIndex: deptCascaderIndexs.value
}),
k: common_vendor.o(($event) => formData.remark = $event),
l: common_vendor.p({
placeholder: "请输入补充说明",
modelValue: formData.remark
}),
m: common_vendor.t(formData.typeName || "请选择检查表类型"),
n: common_vendor.n(formData.typeName ? "picker-value" : "picker-placeholder"),
o: common_vendor.o(($event) => showTypePicker.value = true),
p: common_vendor.o(onTypeConfirm),
q: common_vendor.o(($event) => showTypePicker.value = false),
r: common_vendor.o(($event) => showTypePicker.value = false),
s: common_vendor.p({
show: showTypePicker.value,
columns: typeColumns.value
}),
t: common_vendor.t(formData.modeName || "请选择运行模式"),
v: common_vendor.n(formData.modeName ? "picker-value" : "picker-placeholder"),
w: common_vendor.o(($event) => showModePicker.value = true),
x: common_vendor.o(onModeConfirm),
y: common_vendor.o(($event) => showModePicker.value = false),
z: common_vendor.o(($event) => showModePicker.value = false),
A: common_vendor.p({
show: showModePicker.value,
columns: modeColumns.value
}),
B: formData.modeName === "指定人员"
}, formData.modeName === "指定人员" ? {
C: common_vendor.t(formData.executorNames || "请选择执行人员"),
D: common_vendor.n(formData.executorNames ? "picker-value" : "picker-placeholder"),
E: common_vendor.o(openExecutorPopup)
} : {}, {
F: common_vendor.t(formData.cycleName || "请选择周期"),
G: common_vendor.n(formData.cycleName ? "picker-value" : "picker-placeholder"),
H: common_vendor.o(($event) => showCyclePicker.value = true),
I: common_vendor.o(onCycleConfirm),
J: common_vendor.o(($event) => showCyclePicker.value = false),
K: common_vendor.o(($event) => showCyclePicker.value = false),
L: common_vendor.p({
show: showCyclePicker.value,
columns: cycleColumns.value
}),
M: workdaySwitch.value,
N: common_vendor.o(onSwitchChange),
O: common_vendor.t(formData.startDate || "请选择开始时间"),
P: common_vendor.n(formData.startDate ? "picker-value" : "picker-placeholder"),
Q: common_vendor.o(($event) => showStartDatePicker.value = true),
R: common_vendor.o(onStartDateConfirm),
S: common_vendor.o(($event) => showStartDatePicker.value = false),
T: common_vendor.o(($event) => showStartDatePicker.value = false),
U: common_vendor.o(($event) => startDateValue.value = $event),
V: common_vendor.p({
show: showStartDatePicker.value,
mode: "datetime",
modelValue: startDateValue.value
}),
W: common_vendor.t(formData.endDate || "请选择结束时间"),
X: common_vendor.n(formData.endDate ? "picker-value" : "picker-placeholder"),
Y: common_vendor.o(($event) => showEndDatePicker.value = true),
Z: common_vendor.o(onEndDateConfirm),
aa: common_vendor.o(($event) => showEndDatePicker.value = false),
ab: common_vendor.o(($event) => showEndDatePicker.value = false),
ac: common_vendor.o(($event) => endDateValue.value = $event),
ad: common_vendor.p({
show: showEndDatePicker.value,
mode: "datetime",
modelValue: endDateValue.value
}),
ae: common_vendor.t(checkItemCount.value),
af: checkItemCount.value === 0
}, checkItemCount.value === 0 ? {} : {}, {
ag: common_vendor.f(manualCheckItems.value, (item, index, i0) => {
return {
a: common_vendor.t(index + 1),
b: common_vendor.t(item.name),
c: common_vendor.t(item.point),
d: common_vendor.t(item.regulationName || "-"),
e: common_vendor.o(($event) => deleteManualCheckItem(item, index), "manual-" + index),
f: "manual-" + index
};
}),
ah: common_vendor.f(checkItems.value, (item, index, i0) => {
return {
a: common_vendor.t(item.tableName),
b: common_vendor.t(item.count),
c: common_vendor.o(($event) => deleteCheckItem(index), "lib-" + index),
d: "lib-" + index
};
}),
ai: common_vendor.o(($event) => showAddPopup.value = true),
aj: common_vendor.o(openLibraryPopup),
ak: common_vendor.o(handleSave),
al: common_vendor.o(($event) => showAddPopup.value = false),
am: common_vendor.o(($event) => checkForm.name = $event),
an: common_vendor.p({
placeholder: "请输入检查名称",
border: "surround",
modelValue: checkForm.name
}),
ao: common_vendor.o(($event) => checkForm.point = $event),
ap: common_vendor.p({
placeholder: "请输入检查内容",
height: 150,
modelValue: checkForm.point
}),
aq: common_vendor.t(checkForm.regulationName || "选择法规"),
ar: common_vendor.n(checkForm.regulationName ? "" : "text-gray"),
as: common_vendor.o(openLawPopup),
at: common_vendor.o(($event) => showAddPopup.value = false),
av: common_vendor.o(handleAddCheck),
aw: common_vendor.o(($event) => showAddPopup.value = false),
ax: common_vendor.p({
show: showAddPopup.value,
mode: "center",
round: "20"
}),
ay: common_vendor.o(($event) => showLawPopup.value = false),
az: common_vendor.o(searchRegulation),
aA: lawKeyword.value,
aB: common_vendor.o(($event) => lawKeyword.value = $event.detail.value),
aC: common_vendor.o(searchRegulation),
aD: lawLoading.value && lawList.value.length === 0
}, lawLoading.value && lawList.value.length === 0 ? {} : !lawLoading.value && lawList.value.length === 0 ? {} : common_vendor.e({
aF: common_vendor.f(lawList.value, (item, k0, i0) => {
return {
a: common_vendor.t(item.depict),
b: common_vendor.t(item.legalBasis),
c: selectedLawId.value === item.id ? 1 : "",
d: item.id,
e: common_vendor.o(($event) => selectLaw(item), item.id)
};
}),
aG: lawLoading.value
}, lawLoading.value ? {} : {}), {
aE: !lawLoading.value && lawList.value.length === 0,
aH: common_vendor.o(loadMoreLaw),
aI: common_vendor.o(($event) => showLawPopup.value = false),
aJ: common_vendor.o(confirmLaw),
aK: common_vendor.o(($event) => showLawPopup.value = false),
aL: common_vendor.p({
show: showLawPopup.value,
mode: "center",
round: "20"
}),
aM: common_vendor.o(closeLibraryPopup),
aN: common_vendor.o(searchLibrary),
aO: libraryKeyword.value,
aP: common_vendor.o(($event) => libraryKeyword.value = $event.detail.value),
aQ: common_vendor.o(searchLibrary),
aR: libraryLoading.value && libraryList.value.length === 0
}, libraryLoading.value && libraryList.value.length === 0 ? {} : !libraryLoading.value && libraryList.value.length === 0 ? {} : common_vendor.e({
aT: common_vendor.f(libraryList.value, (item, k0, i0) => {
return common_vendor.e({
a: selectedLibraries.value.includes(item.id)
}, selectedLibraries.value.includes(item.id) ? {} : {}, {
b: selectedLibraries.value.includes(item.id) ? 1 : "",
c: common_vendor.t(item.name),
d: common_vendor.t(item.pointCount),
e: item.id,
f: common_vendor.o(($event) => toggleLibrarySelect(item), item.id)
});
}),
aU: libraryLoading.value
}, libraryLoading.value ? {} : {}), {
aS: !libraryLoading.value && libraryList.value.length === 0,
aV: common_vendor.o(loadMoreLibrary),
aW: common_vendor.o(addSelectedLibrary),
aX: common_vendor.o(closeLibraryPopup),
aY: common_vendor.p({
show: showLibraryPopup.value,
mode: "center",
round: "20"
}),
aZ: common_vendor.o(($event) => showExecutorPopup.value = false),
ba: executorList.value.length === 0
}, executorList.value.length === 0 ? {} : {
bb: common_vendor.f(executorList.value, (item, k0, i0) => {
return common_vendor.e({
a: selectedExecutorIds.value.includes(item.userId)
}, selectedExecutorIds.value.includes(item.userId) ? {} : {}, {
b: selectedExecutorIds.value.includes(item.userId) ? 1 : "",
c: common_vendor.t(item.nickName),
d: item.userId,
e: common_vendor.o(($event) => toggleExecutorSelect(item), item.userId)
});
})
}, {
bc: common_vendor.o(($event) => showExecutorPopup.value = false),
bd: common_vendor.o(confirmExecutorSelect),
be: common_vendor.o(($event) => showExecutorPopup.value = false),
bf: common_vendor.p({
show: showExecutorPopup.value,
mode: "center",
round: "20"
}),
bg: common_vendor.gei(_ctx, "")
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-98282eb3"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/editchecklist/editchecklist.js.map

View File

@@ -0,0 +1,10 @@
{
"navigationBarTitleText": "编辑检查表",
"usingComponents": {
"up-input": "../../uni_modules/uview-plus/components/u-input/u-input",
"up-picker": "../../uni_modules/uview-plus/components/u-picker/u-picker",
"up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea",
"up-datetime-picker": "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker",
"u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,452 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-98282eb3 {
min-height: 100vh;
background: #EBF2FC;
padding: 24rpx;
padding-bottom: 140rpx;
}
.form-card.data-v-98282eb3 {
background: #fff;
border-radius: 16rpx;
padding: 30rpx;
margin-bottom: 80rpx;
}
.form-item.data-v-98282eb3 {
margin-bottom: 32rpx;
}
.form-item.data-v-98282eb3:last-child {
margin-bottom: 0;
}
.form-label.data-v-98282eb3 {
font-size: 28rpx;
color: #999;
margin-bottom: 16rpx;
display: flex;
align-items: center;
}
.form-label .required.data-v-98282eb3 {
color: #F56C6C;
margin-left: 4rpx;
}
.label-blue.data-v-98282eb3 {
color: #2667E9;
}
.picker-input.data-v-98282eb3 {
display: flex;
align-items: center;
justify-content: space-between;
height: 88rpx;
background: #fff;
border: 2rpx solid #E5E5E5;
border-radius: 8rpx;
padding: 0 24rpx;
}
.picker-input .picker-value.data-v-98282eb3 {
color: #333;
font-size: 28rpx;
}
.picker-input .picker-placeholder.data-v-98282eb3 {
color: #C0C4CC;
font-size: 28rpx;
}
.picker-input .picker-arrow.data-v-98282eb3 {
color: #C0C4CC;
font-size: 24rpx;
}
.switch-row.data-v-98282eb3 {
display: flex;
align-items: center;
gap: 30rpx;
}
.empty-check-tip.data-v-98282eb3 {
text-align: center;
padding: 60rpx 0;
font-size: 28rpx;
}
.check-card.data-v-98282eb3 {
background: #F8FAFF;
border-left: 6rpx solid #2667E9;
border-radius: 8rpx;
padding: 24rpx;
padding-bottom: 80rpx;
margin-bottom: 20rpx;
position: relative;
}
.check-card .check-info .info-row.data-v-98282eb3 {
display: flex;
margin-bottom: 16rpx;
font-size: 26rpx;
line-height: 1.5;
}
.check-card .check-info .info-row.data-v-98282eb3:last-child {
margin-bottom: 0;
}
.check-card .check-info .info-row .info-label.data-v-98282eb3 {
color: #666;
flex-shrink: 0;
}
.check-card .check-info .info-row .info-label-bold.data-v-98282eb3 {
font-weight: bold;
}
.check-card .check-info .info-row .info-value.data-v-98282eb3 {
color: #333;
flex: 1;
}
.check-card .check-action.data-v-98282eb3 {
position: absolute;
right: 20rpx;
bottom: 20rpx;
}
.check-card .check-action .btn-delete.data-v-98282eb3 {
width: 120rpx;
height: 56rpx;
line-height: 56rpx;
background: #F56C6C;
color: #fff;
font-size: 26rpx;
border-radius: 8rpx;
padding: 0;
}
.check-card .check-action .btn-delete.data-v-98282eb3::after {
border: none;
}
.manual-card.data-v-98282eb3 {
padding-top: 50rpx;
}
.manual-card .card-tag.data-v-98282eb3 {
position: absolute;
left: 0;
top: 0;
background: #2667E9;
color: #fff;
font-size: 24rpx;
padding: 6rpx 20rpx;
border-radius: 0 0 12rpx 0;
}
.add-btns.data-v-98282eb3 {
display: flex;
justify-content: space-between;
gap: 24rpx;
}
.add-btns .btn-add.data-v-98282eb3 {
flex: 1;
height: 72rpx;
line-height: 72rpx;
background: #fff;
border: 2rpx solid #2667E9;
border-radius: 8rpx;
color: #2667E9;
font-size: 28rpx;
padding: 0;
}
.add-btns .btn-add.data-v-98282eb3::after {
border: none;
}
.footer-btn.data-v-98282eb3 {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 20rpx 40rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
background: #EBF2FC;
}
.footer-btn .btn-save.data-v-98282eb3 {
width: 100%;
height: 88rpx;
line-height: 88rpx;
background: #2667E9;
color: #fff;
font-size: 32rpx;
border-radius: 44rpx;
}
.footer-btn .btn-save.data-v-98282eb3::after {
border: none;
}
.popup-content.data-v-98282eb3 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
}
.popup-header.data-v-98282eb3 {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx;
border-bottom: 1rpx solid #eee;
}
.popup-title.data-v-98282eb3 {
font-size: 32rpx;
color: #333;
font-weight: bold;
}
.popup-close.data-v-98282eb3 {
font-size: 48rpx;
color: #999;
line-height: 1;
}
.popup-body.data-v-98282eb3 {
padding: 30rpx;
max-height: 700rpx;
overflow-y: auto;
}
.popup-form-item.data-v-98282eb3 {
margin-bottom: 24rpx;
}
.popup-form-label.data-v-98282eb3 {
font-size: 28rpx;
color: #333;
margin-bottom: 12rpx;
display: flex;
align-items: center;
}
.popup-form-label .required.data-v-98282eb3 {
color: #F56C6C;
margin-left: 4rpx;
}
.popup-select.data-v-98282eb3 {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 80rpx;
border: 2rpx solid #E5E5E5;
border-radius: 8rpx;
padding: 0 24rpx;
font-size: 28rpx;
}
.regulation-select.data-v-98282eb3 {
align-items: flex-start;
padding: 20rpx 24rpx;
}
.regulation-select .regulation-text.data-v-98282eb3 {
flex: 1;
line-height: 1.5;
word-break: break-all;
}
.regulation-select .select-icon.data-v-98282eb3 {
flex-shrink: 0;
margin-left: 16rpx;
margin-top: 4rpx;
}
.popup-footer.data-v-98282eb3 {
display: flex;
border-top: 1rpx solid #eee;
}
.popup-footer button.data-v-98282eb3 {
flex: 1;
height: 90rpx;
line-height: 90rpx;
border-radius: 0;
font-size: 30rpx;
}
.popup-footer button.data-v-98282eb3::after {
border: none;
}
.popup-footer .btn-cancel.data-v-98282eb3 {
background: #fff;
color: #666;
}
.popup-footer .btn-confirm.data-v-98282eb3 {
background: #2667E9;
color: #fff;
}
.law-popup.data-v-98282eb3 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
max-height: 80vh;
}
.search-box.data-v-98282eb3 {
display: flex;
align-items: center;
background: #F5F5F5;
border-radius: 40rpx;
padding: 16rpx 24rpx;
margin: 20rpx 30rpx;
}
.search-box .search-icon.data-v-98282eb3 {
font-size: 28rpx;
color: #999;
margin-right: 12rpx;
}
.search-box .search-input.data-v-98282eb3 {
flex: 1;
font-size: 28rpx;
background: transparent;
}
.search-box .search-btn.data-v-98282eb3 {
color: #2667E9;
font-size: 26rpx;
margin-left: 16rpx;
}
.loading-tip.data-v-98282eb3, .empty-tip.data-v-98282eb3 {
text-align: center;
padding: 40rpx;
color: #999;
font-size: 26rpx;
}
.law-list.data-v-98282eb3 {
max-height: 400rpx;
padding: 0 30rpx;
}
.law-item.data-v-98282eb3 {
padding: 24rpx;
border: 2rpx solid #E5E5E5;
border-radius: 12rpx;
margin-bottom: 16rpx;
font-size: 28rpx;
color: #333;
}
.law-item .law-title.data-v-98282eb3 {
line-height: 1.5;
margin-bottom: 8rpx;
}
.law-item .law-basis.data-v-98282eb3 {
font-size: 24rpx;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.law-item-active.data-v-98282eb3 {
border-color: #2667E9;
background: #F0F6FF;
}
.load-more.data-v-98282eb3 {
text-align: center;
padding: 20rpx;
margin: 0 30rpx;
border: 2rpx solid #2667E9;
border-radius: 40rpx;
}
.library-popup.data-v-98282eb3 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
max-height: 80vh;
}
.library-list.data-v-98282eb3 {
max-height: 400rpx;
padding: 0 30rpx;
}
.library-item.data-v-98282eb3 {
display: flex;
align-items: flex-start;
padding: 24rpx;
border: 2rpx solid #E5E5E5;
border-radius: 12rpx;
margin-bottom: 16rpx;
}
.library-checkbox.data-v-98282eb3 {
width: 40rpx;
height: 40rpx;
border: 2rpx solid #ccc;
border-radius: 8rpx;
margin-right: 20rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 4rpx;
font-size: 24rpx;
}
.library-checkbox-active.data-v-98282eb3 {
background: #2667E9;
border-color: #2667E9;
color: #fff;
}
.library-info.data-v-98282eb3 {
flex: 1;
}
.library-name.data-v-98282eb3 {
font-size: 28rpx;
color: #333;
line-height: 1.5;
}
.library-count.data-v-98282eb3 {
font-size: 24rpx;
color: #999;
margin-top: 8rpx;
}
.btn-add-library.data-v-98282eb3 {
width: calc(100% - 60rpx);
height: 80rpx;
line-height: 80rpx;
background: #2667E9;
border-radius: 40rpx;
color: #fff;
font-size: 30rpx;
margin: 20rpx 30rpx;
}
.btn-add-library.data-v-98282eb3::after {
border: none;
}
.executor-popup.data-v-98282eb3 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
max-height: 80vh;
}
.executor-list.data-v-98282eb3 {
max-height: 500rpx;
padding: 0 30rpx;
}
.executor-item.data-v-98282eb3 {
display: flex;
align-items: center;
padding: 24rpx;
border-bottom: 1rpx solid #f0f0f0;
}
.executor-checkbox.data-v-98282eb3 {
width: 40rpx;
height: 40rpx;
border: 2rpx solid #ccc;
border-radius: 8rpx;
margin-right: 20rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.executor-checkbox-active.data-v-98282eb3 {
background: #2667E9;
border-color: #2667E9;
color: #fff;
}
.executor-info.data-v-98282eb3 {
flex: 1;
}
.executor-name.data-v-98282eb3 {
font-size: 28rpx;
color: #333;
}