@cdwx/system
Version:
成都文宣业务类服务模块组件库
337 lines (336 loc) • 19.5 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 */
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-tooltip.css.js";
/* empty css */
import { defineComponent as R, ref as _, onMounted as W, openBlock as r, createBlock as a, unref as s, withCtx as n, createElementVNode as u, createTextVNode as c, createCommentVNode as i, createVNode as g, toDisplayString as X } from "vue";
/* 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-sub-menu.css.js";
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-menu-item.css.js";
import { useRouter as j } from "vue-router";
/* 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-breadcrumb-item.css.js";
/* empty css */
import "../workspace/code/cloud-frontend/node_modules/.pnpm/vue-echarts@7.0.3_@vue_runtime-core@3.5.13_echarts@5.6.0_vue@3.5.13_typescript@5.5.4_/node_modules/vue-echarts/dist/index.js";
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
import "../workspace/code/cloud-frontend/packages/http/src/index.js";
import "../workspace/code/cloud-frontend/packages/stores/src/instance.js";
import "../workspace/code/cloud-frontend/packages/stores/src/modules/menu.js";
import "../workspace/code/cloud-frontend/packages/stores/src/modules/page-tab.js";
import { useRequestingStore as F } from "../workspace/code/cloud-frontend/packages/stores/src/modules/requesting-records.js";
import "../workspace/code/cloud-frontend/packages/stores/src/modules/system.js";
import "../workspace/code/cloud-frontend/packages/stores/src/modules/user.js";
import { ElMessageBox as G, ElMessage as k } from "element-plus";
/* empty css */
/* empty css */
import "../workspace/code/cloud-frontend/node_modules/.pnpm/sm-crypto-v2@1.9.3/node_modules/sm-crypto-v2/dist/index.js";
/* empty css */
/* empty css */
import { useSearchTable as J } from "../workspace/code/cloud-frontend/packages/hooks/src/use-search-table.js";
/* empty css */
/* empty css */
/* empty css */
import "../workspace/code/cloud-frontend/node_modules/.pnpm/@vue-office_docx@1.6.3_vue-demi@0.14.10_vue@3.5.13_typescript@5.5.4___vue@3.5.13_typescript@5.5.4_/node_modules/@vue-office/docx/lib/index.js";
import "../workspace/code/cloud-frontend/node_modules/.pnpm/@vue-office_excel@1.7.14_vue-demi@0.14.10_vue@3.5.13_typescript@5.5.4___vue@3.5.13_typescript@5.5.4_/node_modules/@vue-office/excel/lib/index.js";
import "../workspace/code/cloud-frontend/node_modules/.pnpm/@vue-office_pdf@2.0.10_vue-demi@0.14.10_vue@3.5.13_typescript@5.5.4___vue@3.5.13_typescript@5.5.4_/node_modules/@vue-office/pdf/lib/index.js";
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
import "../workspace/code/cloud-frontend/packages/ui/src/assets/iconfont/iconfont.js";
/* empty css */
/* 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-tab-pane.css.js";
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
/* empty css */
import K from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/index.vue2.js";
/* empty css */
import { FormType as b } from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/types.js";
/* empty css */
import O from "../workspace/code/cloud-frontend/packages/ui/src/components/table/index.vue2.js";
/* empty css */
/* empty css */
/* empty css */
import Q 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 { getListData as U, deleteData as Y, delList as Z, operateData as tt } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-package.js";
import { statusListAll as et } from "../workspace/code/cloud-frontend/service-modules/system/src/config/local-data.js";
/* empty css */
import { ElButton as ot } 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 { ElTableColumn as rt } 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/table/index.js";
import { ElSwitch as at } 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/switch/index.js";
import { ElConfigProvider as it } 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 lt = { class: "h-100%" }, nt = { class: "bg-white pl-30 pr-30" }, pt = { class: "flex items-center" }, mt = { class: "mr-12 text-14 color-[--el-text-color-regular]" }, Ae = /* @__PURE__ */ R({
name: "Package",
__name: "list",
props: {
customName: {},
search: {},
btn: {},
table: {},
addItem: {}
},
setup(v) {
const e = v, C = F(), h = j(), d = _([]), {
search: x,
turnPage: B,
pageInfo: S,
tableData: D,
getData: w,
remove: T,
removeBatch: E
} = J({
api: U,
removeApi: Y,
removeBatchApi: Z,
defaultPageSize: 10,
defaultSearchParams: {
// 名称
name: "",
// 编码
code: "",
status: void 0
}
});
function P(o) {
const t = o.status === 1 ? "禁用" : "启用";
G.confirm(`请确认要${t}【${o.name}】吗?`, `${t}`, {
confirmButtonText: "确认",
cancelButtonText: "取消"
}).then(async () => {
await $(o), k({
type: "success",
message: `${t}成功!`
}), w();
});
}
async function $(o) {
try {
const t = {
id: o.id,
status: o.status ? 0 : 1
};
return await tt(t), Promise.resolve(!0);
} catch {
return Promise.reject(new Error("false"));
}
}
const f = _([]);
function N(o) {
f.value = o;
}
function V() {
if (f.value.length <= 0)
return k({
type: "error",
message: "请选择需要批量删除的数据哦"
});
const o = [];
f.value.forEach((t) => {
o.push(t.id);
}), E(o, "套餐管理");
}
function L(o) {
h.push({
path: "/system/package/create",
query: {
id: o.id,
type: "show"
}
});
}
function q(o) {
h.push({
path: "/system/package/create",
query: {
id: o.id
}
});
}
function A() {
h.push({
path: "/system/package/create"
});
}
return W(async () => {
var o, t, p;
w(), (o = e.search) != null && o.showName && d.value.push({
type: b.input,
label: "名称",
placeholder: "请输入套餐名称",
prop: "name",
maxlength: 200,
defaultValue: ""
}), (t = e.search) != null && t.showCode && d.value.push({
type: b.input,
label: "编码",
placeholder: "请输入套餐编码",
prop: "code",
maxlength: 200,
defaultValue: ""
}), (p = e.search) != null && p.showStatus && d.value.push({
type: b.select,
label: "状态",
placeholder: "请选择",
options: et,
prop: "status",
maxlength: 200,
defaultValue: ""
});
}), (o, t) => {
const p = ot, z = K, m = rt, M = at, H = O, I = it;
return r(), a(I, { locale: s(Q) }, {
default: n(() => [
u("div", lt, [
u("div", null, [
u("div", nt, [
e.search ? (r(), a(z, {
key: 0,
"is-loading": s(C).loading,
"field-list": d.value,
onSearch: t[0] || (t[0] = (l) => s(x)(l))
}, {
buttons: n(() => [
e.btn.showAdd ? (r(), a(p, {
key: 0,
onClick: A
}, {
default: n(() => t[1] || (t[1] = [
c(" 新增套餐 ")
])),
_: 1
})) : i("", !0),
e.btn.showBatchDel ? (r(), a(p, {
key: 1,
onClick: V
}, {
default: n(() => t[2] || (t[2] = [
c(" 批量删除 ")
])),
_: 1
})) : i("", !0)
]),
_: 1
}, 8, ["is-loading", "field-list"])) : i("", !0),
g(H, {
data: s(D),
"page-info": s(S),
onPageChange: s(B),
onSelectionChange: N
}, {
default: n(() => [
e.table.showCheckBox ? (r(), a(m, {
key: 0,
type: "selection",
width: "55"
})) : i("", !0),
e.table.showName ? (r(), a(m, {
key: 1,
prop: "name",
label: "套餐名称"
})) : i("", !0),
e.table.showCode ? (r(), a(m, {
key: 2,
prop: "code",
label: "套餐编码"
})) : i("", !0),
e.table.showLanguage ? (r(), a(m, {
key: 3,
prop: "language",
label: "套餐语言"
})) : i("", !0),
e.table.showDes ? (r(), a(m, {
key: 4,
prop: "des",
label: e.customName || "套餐备注"
}, null, 8, ["label"])) : i("", !0),
e.table.showStatus ? (r(), a(m, {
key: 5,
label: "状态"
}, {
default: n((l) => [
u("div", pt, [
u("span", mt, X(l.row.status === 1 ? "正常" : "禁用"), 1),
g(M, {
"model-value": l.row.status,
size: "small",
"active-value": 1,
"inactive-value": l.row.status !== 1,
"before-change": () => !1,
onClick: (y) => P(l.row)
}, null, 8, ["model-value", "inactive-value", "onClick"])
])
]),
_: 1
})) : i("", !0),
g(m, { label: "操作" }, {
default: n((l) => [
e.table.showDetail ? (r(), a(p, {
key: 0,
type: e.table.showBtnType === "text" ? "primary" : "",
link: e.table.showBtnType === "text",
onClick: (y) => L(l.row)
}, {
default: n(() => t[3] || (t[3] = [
c(" 查看 ")
])),
_: 2
}, 1032, ["type", "link", "onClick"])) : i("", !0),
e.table.showEdit ? (r(), a(p, {
key: 1,
type: e.table.showBtnType === "text" ? "primary" : "",
link: e.table.showBtnType === "text",
onClick: (y) => q(l.row)
}, {
default: n(() => t[4] || (t[4] = [
c(" 编辑 ")
])),
_: 2
}, 1032, ["type", "link", "onClick"])) : i("", !0),
e.table.showDel ? (r(), a(p, {
key: 2,
type: e.table.showBtnType === "text" ? "primary" : "",
link: e.table.showBtnType === "text",
onClick: (y) => s(T)(l.row, "name", "id", "")
}, {
default: n(() => t[5] || (t[5] = [
c(" 删除 ")
])),
_: 2
}, 1032, ["type", "link", "onClick"])) : i("", !0)
]),
_: 1
})
]),
_: 1
}, 8, ["data", "page-info", "onPageChange"])
])
])
])
]),
_: 1
}, 8, ["locale"]);
};
}
});
export {
Ae as default
};