@cdwx/system
Version:
成都文宣业务类服务模块组件库
393 lines (392 loc) • 22.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 */
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 Y, ref as b, onMounted as Z, openBlock as l, createBlock as i, unref as n, withCtx as m, createElementVNode as u, createTextVNode as c, createCommentVNode as a, createVNode as d, createElementBlock as ee, toDisplayString as C, resolveDynamicComponent as te } 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 { useRoute as oe } 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";
import { Edit as re } from "../workspace/code/cloud-frontend/node_modules/.pnpm/@element-plus_icons-vue@2.3.1_vue@3.5.13_typescript@5.5.4_/node_modules/@element-plus/icons-vue/dist/index.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 le } 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 ie, ElMessage as S } from "element-plus";
/* empty css */
/* empty css */
import { formatter as ae } from "../workspace/code/cloud-frontend/packages/utils/src/index.js";
/* empty css */
/* empty css */
import { useSearchTable as ne } from "../workspace/code/cloud-frontend/packages/hooks/src/use-search-table.js";
/* 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 me from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/index.vue.js";
/* empty css */
import { FormType as pe } from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/types.js";
/* empty css */
import se from "../workspace/code/cloud-frontend/packages/ui/src/components/table/index.vue.js";
/* empty css */
/* empty css */
/* empty css */
import ue 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 { getDictItemList as ce, deleteItemData as de, delItemList as fe, operateData as he, operateItemSort as be } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-dictionary.js";
import x from "./dict.vue.js";
import { ElButton as we } 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 ye } 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 { ElIcon as _e } 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/icon/index.js";
import { ElInput as ge } 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 { ElSwitch as ke } 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 { ElDialog as ve } 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/dialog/index.js";
import { ElConfigProvider as Ie } 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 Ce = { class: "app-list-box h-[calc(100%-70px)] bg-white" }, Se = { class: "pb-20 pl-30 pr-30 pt-20" }, xe = { class: "search-box" }, Be = ["onClick"], Te = { class: "flex items-center" }, De = { class: "mr-12 text-14 color-[--el-text-color-regular]" }, Ve = { class: "px-14 pt-14" }, ao = /* @__PURE__ */ Y({
name: "DictionaryData",
__name: "data",
props: {
searchType: {},
btnType: {},
tableType: {},
addType: {},
searchItem: {},
btnItem: {},
tableItem: {},
addItem: {}
},
setup(B) {
const r = B, T = le(), v = oe(), {
search: D,
turnPage: V,
pageInfo: E,
tableData: w,
getData: y,
remove: $,
removeBatch: P
} = ne({
api: ce,
removeApi: de,
removeBatchApi: fe,
defaultPageSize: 20,
defaultSearchParams: {
// 名称
code: v.query.code
}
});
function M(t) {
const e = t.enable ? "禁用" : "启用";
ie.confirm(`请确认要${e}【${t.dictLabel}】吗?`, `${e}`, {
confirmButtonText: "确认",
cancelButtonText: "取消"
}).then(async () => {
await N(t), S({
type: "success",
message: `${e}成功!`
}), y();
});
}
async function N(t) {
try {
const e = {
id: t.id,
status: t.enable ? 0 : 1
};
return await he(e), Promise.resolve(!0);
} catch {
return Promise.reject(new Error("false"));
}
}
function L(t) {
t.showSort = !t.showSort;
}
async function q(t) {
const e = {
id: t.id,
sort: t.sort
};
await be(e), t.showSort = !t.showSort;
}
function U() {
w.value = w.value.map((t) => ({ ...t, showSort: !t.showSort }));
}
const _ = b([]);
function z(t) {
_.value = t;
}
function A() {
if (_.value.length <= 0)
return S({
type: "error",
message: "请选择需要批量删除的数据哦"
});
const t = [];
_.value.forEach((e) => {
t.push(e.id);
}), P(t, "字典");
}
function O(t) {
return JSON.parse(JSON.stringify(t));
}
const h = b(!1), g = b("add"), k = b(), J = /* @__PURE__ */ new Map([
["add", "新增"],
["update", "编辑"]
]), R = /* @__PURE__ */ new Map([
["add", x],
["update", x]
]);
function I(t, e) {
k.value = O(e), g.value = t, h.value = !0;
}
function W() {
h.value = !1, y();
}
return Z(async () => {
y();
}), (t, e) => {
const f = we, X = me, p = ye, j = _e, F = ge, G = ke, H = se, K = ve, Q = Ie;
return l(), i(Q, { locale: n(ue) }, {
default: m(() => [
u("div", Ce, [
u("div", Se, [
u("div", xe, [
r.searchItem ? (l(), i(X, {
key: 0,
"is-loading": n(T).loading,
"field-list": [
{
type: n(pe).input,
label: "关键字",
placeholder: "字典项名称或字典值",
prop: "keyValue",
maxlength: 200,
defaultValue: ""
}
],
onSearch: e[1] || (e[1] = (o) => n(D)(o))
}, {
buttons: m(() => [
r.btnItem.showAdd ? (l(), i(f, {
key: 0,
onClick: e[0] || (e[0] = (o) => I("add", { code: n(v).query.code }))
}, {
default: m(() => e[4] || (e[4] = [
c(" 新增字典项 ")
])),
_: 1
})) : a("", !0),
r.btnItem.showSort ? (l(), i(f, {
key: 1,
onClick: U
}, {
default: m(() => e[5] || (e[5] = [
c(" 排序 ")
])),
_: 1
})) : a("", !0),
r.btnItem.showBatchDel ? (l(), i(f, {
key: 2,
onClick: A
}, {
default: m(() => e[6] || (e[6] = [
c(" 批量删除 ")
])),
_: 1
})) : a("", !0)
]),
_: 1
}, 8, ["is-loading", "field-list"])) : a("", !0),
d(H, {
data: n(w),
"page-info": n(E),
onPageChange: n(V),
onSelectionChange: z
}, {
default: m(() => [
r.tableItem.showCheckBox ? (l(), i(p, {
key: 0,
type: "selection",
width: "55"
})) : a("", !0),
r.tableItem.showOrder ? (l(), i(p, {
key: 1,
prop: "date",
label: "序号",
type: "index",
width: "80px",
align: "center"
})) : a("", !0),
r.tableItem.showName ? (l(), i(p, {
key: 2,
prop: "dictLabel",
label: "字典项名称"
})) : a("", !0),
r.tableItem.showValue ? (l(), i(p, {
key: 3,
prop: "dictValue",
label: "字典项值"
})) : a("", !0),
r.tableItem.showDes ? (l(), i(p, {
key: 4,
label: "描述",
"show-word-limit": "",
prop: "description"
})) : a("", !0),
r.tableItem.showCreateTime ? (l(), i(p, {
key: 5,
label: "创建时间",
prop: "createTime"
})) : a("", !0),
r.tableItem.showSort ? (l(), i(p, {
key: 6,
label: "排序",
prop: "sort"
}, {
default: m((o) => [
o.row.showSort ? (l(), i(F, {
key: 1,
modelValue: o.row.sort,
"onUpdate:modelValue": (s) => o.row.sort = s,
modelModifiers: { number: !0 },
style: { width: "140px" },
placeholder: "请输入排序值",
onBlur: (s) => q(o.row)
}, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur"])) : (l(), ee("div", {
key: 0,
onClick: (s) => L(o.row)
}, [
c(C(o.row.sort || "-") + " ", 1),
d(j, { class: "position-relative top-2" }, {
default: m(() => [
d(n(re))
]),
_: 1
})
], 8, Be))
]),
_: 1
})) : a("", !0),
r.tableItem.showStatus ? (l(), i(p, {
key: 7,
label: "状态",
formatter: n(ae)
}, {
default: m((o) => [
u("div", Te, [
u("span", De, C(o.row.enable ? "启用" : "禁用"), 1),
d(G, {
"model-value": o.row.enable,
size: "small",
"before-change": () => !1,
onClick: (s) => M(o.row)
}, null, 8, ["model-value", "onClick"])
])
]),
_: 1
}, 8, ["formatter"])) : a("", !0),
d(p, {
label: "操作",
width: "160px"
}, {
default: m((o) => [
r.tableItem.showEditBtn ? (l(), i(f, {
key: 0,
type: r.tableItem.showBtnType === "text" ? "primary" : "",
link: r.tableItem.showBtnType === "text",
onClick: (s) => I("update", o.row)
}, {
default: m(() => e[7] || (e[7] = [
c(" 编辑 ")
])),
_: 2
}, 1032, ["type", "link", "onClick"])) : a("", !0),
r.tableItem.showDelBtn ? (l(), i(f, {
key: 1,
type: r.tableItem.showBtnType === "text" ? "primary" : "",
link: r.tableItem.showBtnType === "text",
onClick: (s) => n($)(o.row, "dictLabel", "id", "")
}, {
default: m(() => e[8] || (e[8] = [
c(" 删除 ")
])),
_: 2
}, 1032, ["type", "link", "onClick"])) : a("", !0)
]),
_: 1
})
]),
_: 1
}, 8, ["data", "page-info", "onPageChange"])
])
]),
d(K, {
modelValue: h.value,
"onUpdate:modelValue": e[3] || (e[3] = (o) => h.value = o),
title: n(J).get(g.value),
width: "452",
"align-center": "",
"destroy-on-close": "",
"close-on-click-modal": !1,
"close-on-press-escape": !1
}, {
default: m(() => [
u("div", Ve, [
(l(), i(te(n(R).get(g.value)), {
modelValue: k.value,
"onUpdate:modelValue": e[2] || (e[2] = (o) => k.value = o),
rules: r.addItem,
onClose: W
}, null, 40, ["modelValue", "rules"]))
])
]),
_: 1
}, 8, ["modelValue", "title"])
])
]),
_: 1
}, 8, ["locale"]);
};
}
});
export {
ao as default
};