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