优化后,再次提交
This commit is contained in:
818
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js
vendored
Normal file
818
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js
vendored
Normal 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
|
||||
10
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.json
vendored
Normal file
10
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.json
vendored
Normal 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"
|
||||
}
|
||||
}
|
||||
1
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.wxml
vendored
Normal file
1
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.wxml
vendored
Normal file
File diff suppressed because one or more lines are too long
452
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.wxss
vendored
Normal file
452
unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.wxss
vendored
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user