UNPKG

@cdwx/system

Version:

成都文宣业务类服务模块组件库

300 lines (299 loc) 14.1 kB
/* empty css */ import "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/theme-chalk/el-config-provider.css.js"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ import "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/theme-chalk/el-form-item.css.js"; /* empty css */ import { defineComponent as T, ref as c, reactive as $, onMounted as A, openBlock as u, createBlock as n, unref as r, withCtx as l, createElementVNode as y, toDisplayString as V, createVNode as i, createCommentVNode as f, createElementBlock as M, Fragment as S, renderList as j, createTextVNode as g } from "vue"; import { regular as z } from "../workspace/code/cloud-frontend/packages/config/src/regular.js"; import { ElMessage as k } from "element-plus"; import G from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/locale/lang/zh-cn.js"; import { useRouter as H, useRoute as O } from "vue-router"; import { getData as J, updateData as K, saveData as Q } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-package.js"; import { useDictList as W } from "../workspace/code/cloud-frontend/service-modules/system/src/hooks/use-dict-list.js"; import X from "./tree.vue.js"; import { ElInput as Y } from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/components/input/index.js"; import { ElFormItem as Z, ElForm as ee } from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/components/form/index.js"; import { ElRadio as te, ElRadioGroup as oe } from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/components/radio/index.js"; import { ElButton as le } from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/components/button/index.js"; import { ElConfigProvider as ae } from "../workspace/code/cloud-frontend/node_modules/.pnpm/element-plus@2.9.1_vue@3.5.13_typescript@5.5.4_/node_modules/element-plus/es/components/config-provider/index.js"; const re = { class: "app-box h-[100%] overflow-hidden" }, se = { class: "h-[100%] bg-white p-30" }, ue = { class: "mb-10 flex text-20 color-[--el-text-color-primary] line-height-28" }, de = { style: { flex: "1" } }, ne = { class: "content-box h-[calc(100%)] pb-20" }, ie = { class: "form-box" }, Re = /* @__PURE__ */ T({ name: "PackageAdd", __name: "add", props: { customName: {}, search: {}, btn: {}, table: {}, addItem: {} }, setup(L) { const m = L, h = H(), s = O(), x = c(), t = c({ id: void 0, name: "", des: "", code: "", language: "Chinese", status: 1, menuDtoList: [] }), C = $({ name: [ { required: !0, message: "请输入套餐名称", trigger: "blur" } ], code: [ { required: !0, message: "请输入套餐编码", trigger: "blur" }, { message: "套餐编码只能是字母与数字", validator(a, e, p) { !e || z.code.reg.test(e) ? p() : p(new Error("套餐编码只能是字母与数字")); } } ], menuDtoList: [ { required: !0, message: "请选择套餐权限", trigger: "change" } ] }), { dictList: I } = W("languageClassify"), w = c([]), q = c(), v = c(!1); async function N() { t.value.menuDtoList = await q.value.getCheckedData(); let a = 0; if (t.value.menuDtoList && Object.values(t.value.menuDtoList).forEach((e) => { Array.isArray(e) && e.length > 0 && (a = a + 1); }), a <= 0) return k.error("请选择套餐权限"); v.value = !0; try { t.value.id ? (await K(t.value), k.success("编辑成功"), v.value = !1, setTimeout(() => { h.replace("/system/package"); }, 1e3)) : (await Q(t.value), k.success("新增成功"), v.value = !1, setTimeout(() => { h.replace("/system/package"); }, 1e3)); } catch { v.value = !1; } } async function R(a) { a && await a.validate((e, p) => { if (e) N(); else if (p) { const d = document.querySelector(".el-form-item.is-error"); d && d.scrollIntoView({ behavior: "smooth", block: "center" }); } }); } const _ = c(!0); async function F() { _.value = !0; try { const { data: a } = await J(s.query.id); w.value = a.classifyMenuVoList, t.value = a; } catch (a) { console.log(a); } _.value = !1; } return A(async () => { s.query.id && await F(), _.value = !1; }), (a, e) => { const p = Y, d = Z, b = te, D = oe, E = le, U = ee, B = ae; return u(), n(B, { locale: r(G) }, { default: l(() => [ y("div", re, [ y("div", se, [ y("div", ue, [ y("div", de, V(r(s).query.type === "show" ? "查看套餐" : t.value.id ? "编辑套餐" : "新增套餐"), 1) ]), y("div", ne, [ y("div", ie, [ _.value ? f("", !0) : (u(), n(U, { key: 0, ref_key: "formRef", ref: x, model: t.value, rules: C, "label-width": 120, class: "mt-15", "status-icon": "" }, { default: l(() => [ m.addItem.showName ? (u(), n(d, { key: 0, label: "套餐名称", prop: "name" }, { default: l(() => [ i(p, { modelValue: t.value.name, "onUpdate:modelValue": e[0] || (e[0] = (o) => t.value.name = o), placeholder: "请输入套餐名称", style: { width: "300px" }, maxlength: "20", readonly: r(s).query.type === "show" }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : f("", !0), m.addItem.showCode ? (u(), n(d, { key: 1, label: "套餐编码", prop: "code" }, { default: l(() => [ i(p, { modelValue: t.value.code, "onUpdate:modelValue": e[1] || (e[1] = (o) => t.value.code = o), placeholder: "请输入套餐编码", style: { width: "300px" }, maxlength: "100", readonly: r(s).query.type === "show" }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : f("", !0), m.addItem.showLanguage ? (u(), n(d, { key: 2, label: "套餐语言", prop: "language", required: "" }, { default: l(() => [ i(D, { modelValue: t.value.language, "onUpdate:modelValue": e[2] || (e[2] = (o) => t.value.language = o) }, { default: l(() => [ (u(!0), M(S, null, j(r(I), (o, P) => (u(), n(b, { key: P, value: o.value, disabled: r(s).query.type === "show" }, { default: l(() => [ g(V(o.label), 1) ]), _: 2 }, 1032, ["value", "disabled"]))), 128)) ]), _: 1 }, 8, ["modelValue"]) ]), _: 1 })) : f("", !0), m.addItem.showStatus ? (u(), n(d, { key: 3, label: "套餐状态" }, { default: l(() => [ i(D, { modelValue: t.value.status, "onUpdate:modelValue": e[3] || (e[3] = (o) => t.value.status = o), disabled: r(s).query.type === "show" }, { default: l(() => [ i(b, { value: 1 }, { default: l(() => e[8] || (e[8] = [ g(" 启用 ") ])), _: 1 }), i(b, { value: 0 }, { default: l(() => e[9] || (e[9] = [ g(" 禁用 ") ])), _: 1 }) ]), _: 1 }, 8, ["modelValue", "disabled"]) ]), _: 1 })) : f("", !0), m.addItem.showPermission ? (u(), n(d, { key: 4, label: "套餐权限", required: "" }, { default: l(() => [ i(X, { ref_key: "permissionRef", ref: q, modelValue: w.value, "onUpdate:modelValue": e[4] || (e[4] = (o) => w.value = o), disabled: r(s).query.type === "show" }, null, 8, ["modelValue", "disabled"]) ]), _: 1 })) : f("", !0), m.addItem.showDes ? (u(), n(d, { key: 5, label: m.customName || "备注" }, { default: l(() => [ i(p, { modelValue: t.value.des, "onUpdate:modelValue": e[5] || (e[5] = (o) => t.value.des = o), style: { width: "600px" }, rows: 4, type: "textarea", maxlength: "200", placeholder: `请输入${m.customName || "备注信息"}`, readonly: r(s).query.type === "show" }, null, 8, ["modelValue", "placeholder", "readonly"]) ]), _: 1 }, 8, ["label"])) : f("", !0), i(d, { class: "mt-10" }, { default: l(() => [ r(s).query.type !== "show" ? (u(), n(E, { key: 0, type: "primary", class: "w-108 line-height-30", loading: v.value, onClick: e[6] || (e[6] = (o) => R(x.value)) }, { default: l(() => e[10] || (e[10] = [ g(" 保存 ") ])), _: 1 }, 8, ["loading"])) : f("", !0), i(E, { class: "w-108 line-height-30", onClick: e[7] || (e[7] = (o) => r(h).go(-1)) }, { default: l(() => [ g(V(r(s).query.type === "show" ? "返回" : "取消"), 1) ]), _: 1 }) ]), _: 1 }) ]), _: 1 }, 8, ["model", "rules"])) ]) ]) ]) ]) ]), _: 1 }, 8, ["locale"]); }; } }); export { Re as default };