"use strict"; const common_vendor = require("../common/vendor.js"); const _sfc_main = { __name: "AreaFormPopup", props: { visible: { type: Boolean, default: false }, isEdit: { type: Boolean, default: false }, editData: { type: Object, default: () => ({}) }, loading: { type: Boolean, default: false } }, emits: ["update:visible", "submit", "close"], setup(__props, { emit: __emit }) { const props = __props; const emit = __emit; const formData = common_vendor.reactive({ name: "", color: "#D92121" }); const presetColors = [ { name: "红色", value: "#D92121" }, { name: "橙色", value: "#FF8822" }, { name: "黄色", value: "#FFCC00" }, { name: "蓝色", value: "#165DFF" } ]; const presetColorValues = presetColors.map((item) => item.value); const selectedColorLabel = common_vendor.computed(() => { const found = presetColors.find((item) => item.value === formData.color); return found ? `${found.name} ${found.value}` : formData.color; }); const normalizeColor = (color) => { if (!color) return presetColors[0].value; const upper = String(color).toUpperCase(); const matched = presetColorValues.find((v) => v.toUpperCase() === upper); return matched || presetColors[0].value; }; common_vendor.watch(() => props.editData, (newVal) => { if (newVal && Object.keys(newVal).length > 0) { formData.name = newVal.name || ""; formData.color = normalizeColor(newVal.color); } }, { immediate: true, deep: true }); common_vendor.watch(() => props.visible, (newVal) => { if (!newVal) { resetForm(); } }); const selectColor = (color) => { formData.color = color; }; const resetForm = () => { formData.name = ""; formData.color = "#D92121"; }; const handleClose = () => { emit("update:visible", false); emit("close"); }; const handleSubmit = () => { if (!formData.name) { common_vendor.index.showToast({ title: "请输入区域名称", icon: "none" }); return; } if (!presetColorValues.includes(formData.color)) { common_vendor.index.showToast({ title: "请从预设颜色中选择", icon: "none" }); return; } emit("submit", { name: formData.name, color: formData.color }); }; return (_ctx, _cache) => { return common_vendor.e({ a: __props.visible }, __props.visible ? { b: common_vendor.t(__props.isEdit ? "编辑区域" : "新增区域"), c: common_vendor.o(handleClose), d: formData.name, e: common_vendor.o(($event) => formData.name = $event.detail.value), f: formData.color, g: common_vendor.t(selectedColorLabel.value), h: common_vendor.f(presetColors, (item, k0, i0) => { return { a: formData.color === item.value ? 1 : "", b: item.value, c: common_vendor.t(item.name), d: item.value, e: common_vendor.o(($event) => selectColor(item.value), item.value) }; }), i: common_vendor.o(handleClose), j: common_vendor.o(handleSubmit), k: __props.loading, l: common_vendor.o(() => { }), m: common_vendor.o(handleClose), n: common_vendor.gei(_ctx, "") } : {}); }; } }; const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-fbf56c15"]]); wx.createComponent(Component); //# sourceMappingURL=../../.sourcemap/mp-weixin/components/AreaFormPopup.js.map