386 lines
15 KiB
JavaScript
386 lines
15 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const request_three_one_api_license = require("../../request/three_one_api/license.js");
|
|
const request_request = require("../../request/request.js");
|
|
if (!Array) {
|
|
const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
|
|
const _easycom_u_datetime_picker2 = common_vendor.resolveComponent("u-datetime-picker");
|
|
const _easycom_u_modal2 = common_vendor.resolveComponent("u-modal");
|
|
(_easycom_u_popup2 + _easycom_u_datetime_picker2 + _easycom_u_modal2)();
|
|
}
|
|
const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js";
|
|
const _easycom_u_datetime_picker = () => "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js";
|
|
const _easycom_u_modal = () => "../../uni_modules/uview-plus/components/u-modal/u-modal.js";
|
|
if (!Math) {
|
|
(_easycom_u_popup + _easycom_u_datetime_picker + _easycom_u_modal)();
|
|
}
|
|
const _sfc_main = {
|
|
__name: "Idphotomanagement",
|
|
setup(__props) {
|
|
const licenseList = common_vendor.ref([]);
|
|
const deptList = common_vendor.ref([]);
|
|
const selectedDept = common_vendor.ref(null);
|
|
const showAddPopup = common_vendor.ref(false);
|
|
const showDatePicker = common_vendor.ref(false);
|
|
const showDeptPopup = common_vendor.ref(false);
|
|
const showDeleteModal = common_vendor.ref(false);
|
|
const isEdit = common_vendor.ref(false);
|
|
const currentEditId = common_vendor.ref(null);
|
|
const currentDeleteItem = common_vendor.ref(null);
|
|
const submitting = common_vendor.ref(false);
|
|
const datePickerType = common_vendor.ref("start");
|
|
const datePickerValue = common_vendor.ref(Date.now());
|
|
const formData = common_vendor.reactive({
|
|
enterpriseId: "",
|
|
enterpriseName: "",
|
|
type: "",
|
|
code: "",
|
|
startDate: "",
|
|
endDate: "",
|
|
legalPerson: "",
|
|
photo: "",
|
|
photoPreview: ""
|
|
});
|
|
common_vendor.onMounted(() => {
|
|
loadLicenseList();
|
|
loadDeptList();
|
|
});
|
|
const getImageUrl = (path) => {
|
|
if (!path)
|
|
return "";
|
|
return request_request.toImageUrl(path);
|
|
};
|
|
const previewImage = (path) => {
|
|
common_vendor.index.previewImage({
|
|
urls: [getImageUrl(path)]
|
|
});
|
|
};
|
|
const loadLicenseList = async () => {
|
|
try {
|
|
const res = await request_three_one_api_license.getLicenseList();
|
|
if (res.code === 0) {
|
|
licenseList.value = res.data.records || [];
|
|
}
|
|
} catch (err) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:249", "获取证照列表失败:", err);
|
|
}
|
|
};
|
|
const loadDeptList = async () => {
|
|
try {
|
|
const res = await request_three_one_api_license.getLicenseEnterpriseSelect();
|
|
if (res.code === 0) {
|
|
deptList.value = res.data || [];
|
|
}
|
|
} catch (err) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:261", "获取部门列表失败:", err);
|
|
}
|
|
};
|
|
const openAddPopup = () => {
|
|
resetForm();
|
|
isEdit.value = false;
|
|
currentEditId.value = null;
|
|
showAddPopup.value = true;
|
|
};
|
|
const handleEdit = async (item) => {
|
|
try {
|
|
const res = await request_three_one_api_license.getLicenseDetail({ id: item.id });
|
|
if (res.code === 0) {
|
|
const detail = res.data;
|
|
isEdit.value = true;
|
|
currentEditId.value = item.id;
|
|
formData.enterpriseId = detail.enterpriseId || "";
|
|
formData.type = detail.type || "";
|
|
formData.code = detail.code || "";
|
|
formData.startDate = detail.startDate || "";
|
|
formData.endDate = detail.endDate || "";
|
|
formData.legalPerson = detail.legalPerson || "";
|
|
formData.photo = detail.photo || "";
|
|
formData.photoPreview = detail.photo ? getImageUrl(detail.photo) : "";
|
|
const dept = deptList.value.find((d) => d.id === detail.enterpriseId);
|
|
formData.enterpriseName = dept ? dept.name : "";
|
|
selectedDept.value = dept || null;
|
|
showAddPopup.value = true;
|
|
}
|
|
} catch (err) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:301", "获取证照详情失败:", err);
|
|
common_vendor.index.showToast({ title: "获取详情失败", icon: "none" });
|
|
}
|
|
};
|
|
const handleDelete = (item) => {
|
|
currentDeleteItem.value = item;
|
|
showDeleteModal.value = true;
|
|
};
|
|
const confirmDelete = async () => {
|
|
if (!currentDeleteItem.value)
|
|
return;
|
|
try {
|
|
const res = await request_three_one_api_license.deleteLicense({ id: currentDeleteItem.value.id });
|
|
if (res.code === 0) {
|
|
common_vendor.index.showToast({ title: "删除成功", icon: "success" });
|
|
loadLicenseList();
|
|
}
|
|
} catch (err) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:323", "删除失败:", err);
|
|
common_vendor.index.showToast({ title: "删除失败", icon: "none" });
|
|
} finally {
|
|
showDeleteModal.value = false;
|
|
currentDeleteItem.value = null;
|
|
}
|
|
};
|
|
const closePopup = () => {
|
|
showAddPopup.value = false;
|
|
resetForm();
|
|
};
|
|
const resetForm = () => {
|
|
formData.enterpriseId = "";
|
|
formData.enterpriseName = "";
|
|
formData.type = "";
|
|
formData.code = "";
|
|
formData.startDate = "";
|
|
formData.endDate = "";
|
|
formData.legalPerson = "";
|
|
formData.photo = "";
|
|
formData.photoPreview = "";
|
|
selectedDept.value = null;
|
|
isEdit.value = false;
|
|
currentEditId.value = null;
|
|
};
|
|
const confirmDept = () => {
|
|
if (selectedDept.value) {
|
|
formData.enterpriseId = selectedDept.value.id;
|
|
formData.enterpriseName = selectedDept.value.name;
|
|
}
|
|
showDeptPopup.value = false;
|
|
};
|
|
const openDatePicker = (type) => {
|
|
datePickerType.value = type;
|
|
let currentDate = "";
|
|
if (type === "start" && formData.startDate) {
|
|
currentDate = formData.startDate;
|
|
} else if (type === "end" && formData.endDate) {
|
|
currentDate = formData.endDate;
|
|
}
|
|
if (currentDate) {
|
|
datePickerValue.value = new Date(currentDate).getTime();
|
|
} else {
|
|
datePickerValue.value = Date.now();
|
|
}
|
|
showDatePicker.value = true;
|
|
};
|
|
const onDateCancel = () => {
|
|
showDatePicker.value = false;
|
|
};
|
|
const onDateConfirm = (e) => {
|
|
const timestamp = datePickerValue.value;
|
|
if (!timestamp || isNaN(timestamp)) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:396", "无效的日期值:", timestamp);
|
|
showDatePicker.value = false;
|
|
return;
|
|
}
|
|
const date = new Date(timestamp);
|
|
if (isNaN(date.getTime())) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:405", "无效的日期:", date);
|
|
showDatePicker.value = false;
|
|
return;
|
|
}
|
|
const year = date.getFullYear();
|
|
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
const day = String(date.getDate()).padStart(2, "0");
|
|
const dateStr = `${year}-${month}-${day}`;
|
|
if (datePickerType.value === "start") {
|
|
formData.startDate = dateStr;
|
|
} else {
|
|
formData.endDate = dateStr;
|
|
}
|
|
showDatePicker.value = false;
|
|
};
|
|
const chooseImage = () => {
|
|
common_vendor.index.chooseImage({
|
|
count: 1,
|
|
sizeType: ["compressed"],
|
|
sourceType: ["album", "camera"],
|
|
success: (res) => {
|
|
const tempFilePath = res.tempFilePaths[0];
|
|
formData.photoPreview = tempFilePath;
|
|
uploadImage(tempFilePath);
|
|
}
|
|
});
|
|
};
|
|
const uploadImage = (filePath) => {
|
|
common_vendor.index.showLoading({ title: "上传中..." });
|
|
common_vendor.index.uploadFile({
|
|
url: baseUrl + "/frontend/attachment/upload",
|
|
filePath,
|
|
name: "file",
|
|
header: {
|
|
"Authorization": request_request.getToken()
|
|
},
|
|
success: (uploadRes) => {
|
|
common_vendor.index.hideLoading();
|
|
try {
|
|
const data = JSON.parse(uploadRes.data);
|
|
if (data.code === 0 && data.data) {
|
|
formData.photo = data.data.url || data.data;
|
|
common_vendor.index.showToast({ title: "上传成功", icon: "success" });
|
|
} else {
|
|
common_vendor.index.showToast({ title: data.msg || "上传失败", icon: "none" });
|
|
formData.photoPreview = "";
|
|
}
|
|
} catch (e) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:461", "解析上传结果失败:", e);
|
|
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
|
|
formData.photoPreview = "";
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
common_vendor.index.hideLoading();
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:468", "上传失败:", err);
|
|
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
|
|
formData.photoPreview = "";
|
|
}
|
|
});
|
|
};
|
|
const removeImage = () => {
|
|
formData.photo = "";
|
|
formData.photoPreview = "";
|
|
};
|
|
const handleSubmit = async () => {
|
|
if (!formData.enterpriseId) {
|
|
common_vendor.index.showToast({ title: "请选择部门", icon: "none" });
|
|
return;
|
|
}
|
|
submitting.value = true;
|
|
try {
|
|
const submitData = {
|
|
enterpriseId: formData.enterpriseId,
|
|
type: formData.type,
|
|
code: formData.code,
|
|
startDate: formData.startDate,
|
|
endDate: formData.endDate,
|
|
legalPerson: formData.legalPerson,
|
|
photo: formData.photo
|
|
};
|
|
let res;
|
|
if (isEdit.value) {
|
|
submitData.id = currentEditId.value;
|
|
res = await request_three_one_api_license.updateLicense(submitData);
|
|
} else {
|
|
res = await request_three_one_api_license.addLicense(submitData);
|
|
}
|
|
if (res.code === 0) {
|
|
common_vendor.index.showToast({
|
|
title: isEdit.value ? "修改成功" : "新增成功",
|
|
icon: "success"
|
|
});
|
|
closePopup();
|
|
loadLicenseList();
|
|
}
|
|
} catch (err) {
|
|
common_vendor.index.__f__("error", "at pages/Idphotomanagement/Idphotomanagement.vue:521", "提交失败:", err);
|
|
common_vendor.index.showToast({ title: "操作失败", icon: "none" });
|
|
} finally {
|
|
submitting.value = false;
|
|
}
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return common_vendor.e({
|
|
a: licenseList.value.length > 0
|
|
}, licenseList.value.length > 0 ? {
|
|
b: common_vendor.f(licenseList.value, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(item.type || "未知类型"),
|
|
b: common_vendor.o(($event) => handleEdit(item), item.id),
|
|
c: common_vendor.o(($event) => handleDelete(item), item.id),
|
|
d: common_vendor.t(item.code || "-"),
|
|
e: common_vendor.t(item.startDate || "-"),
|
|
f: common_vendor.t(item.endDate || "-"),
|
|
g: common_vendor.t(item.legalPerson || "-"),
|
|
h: item.photo
|
|
}, item.photo ? {
|
|
i: getImageUrl(item.photo),
|
|
j: common_vendor.o(($event) => previewImage(item.photo), item.id)
|
|
} : {}, {
|
|
k: item.id
|
|
});
|
|
})
|
|
} : {}, {
|
|
c: common_vendor.o(openAddPopup),
|
|
d: common_vendor.t(isEdit.value ? "编辑证照" : "新增证照"),
|
|
e: common_vendor.o(closePopup),
|
|
f: common_vendor.t(formData.enterpriseName || "请选择部门"),
|
|
g: common_vendor.n(formData.enterpriseName ? "" : "text-gray"),
|
|
h: common_vendor.o(($event) => showDeptPopup.value = true),
|
|
i: formData.type,
|
|
j: common_vendor.o(($event) => formData.type = $event.detail.value),
|
|
k: formData.code,
|
|
l: common_vendor.o(($event) => formData.code = $event.detail.value),
|
|
m: common_vendor.t(formData.startDate || "请选择开始日期"),
|
|
n: common_vendor.n(formData.startDate ? "" : "text-gray"),
|
|
o: common_vendor.o(($event) => openDatePicker("start")),
|
|
p: common_vendor.t(formData.endDate || "请选择结束日期"),
|
|
q: common_vendor.n(formData.endDate ? "" : "text-gray"),
|
|
r: common_vendor.o(($event) => openDatePicker("end")),
|
|
s: formData.legalPerson,
|
|
t: common_vendor.o(($event) => formData.legalPerson = $event.detail.value),
|
|
v: !formData.photoPreview
|
|
}, !formData.photoPreview ? {} : {
|
|
w: formData.photoPreview,
|
|
x: common_vendor.o(removeImage)
|
|
}, {
|
|
y: common_vendor.o(chooseImage),
|
|
z: common_vendor.o(closePopup),
|
|
A: common_vendor.o(handleSubmit),
|
|
B: submitting.value,
|
|
C: common_vendor.o(closePopup),
|
|
D: common_vendor.p({
|
|
show: showAddPopup.value,
|
|
mode: "center",
|
|
round: "20"
|
|
}),
|
|
E: common_vendor.o(onDateConfirm),
|
|
F: common_vendor.o(onDateCancel),
|
|
G: common_vendor.o(onDateCancel),
|
|
H: common_vendor.o(($event) => datePickerValue.value = $event),
|
|
I: common_vendor.p({
|
|
show: showDatePicker.value,
|
|
mode: "date",
|
|
modelValue: datePickerValue.value
|
|
}),
|
|
J: common_vendor.o(($event) => showDeptPopup.value = false),
|
|
K: deptList.value.length > 0
|
|
}, deptList.value.length > 0 ? {
|
|
L: common_vendor.f(deptList.value, (item, k0, i0) => {
|
|
return common_vendor.e({
|
|
a: selectedDept.value && selectedDept.value.id === item.id
|
|
}, selectedDept.value && selectedDept.value.id === item.id ? {} : {}, {
|
|
b: selectedDept.value && selectedDept.value.id === item.id ? 1 : "",
|
|
c: common_vendor.t(item.name),
|
|
d: item.id,
|
|
e: common_vendor.o(($event) => selectedDept.value = item, item.id)
|
|
});
|
|
})
|
|
} : {}, {
|
|
M: common_vendor.o(confirmDept),
|
|
N: common_vendor.o(($event) => showDeptPopup.value = false),
|
|
O: common_vendor.p({
|
|
show: showDeptPopup.value,
|
|
mode: "center",
|
|
round: "20"
|
|
}),
|
|
P: common_vendor.o(confirmDelete),
|
|
Q: common_vendor.o(($event) => showDeleteModal.value = false),
|
|
R: common_vendor.p({
|
|
show: showDeleteModal.value,
|
|
title: "确认删除",
|
|
content: "确定要删除这条证照记录吗?",
|
|
showCancelButton: true
|
|
}),
|
|
S: common_vendor.gei(_ctx, "")
|
|
});
|
|
};
|
|
}
|
|
};
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1ad9c724"]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Idphotomanagement/Idphotomanagement.js.map
|