UNPKG

@cdwx/system

Version:

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

394 lines (393 loc) 22.6 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 */ 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 tt, toDisplayString as S, resolveDynamicComponent as et } 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 ot } 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 rt } 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 lt } 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 it, ElMessage as C } from "element-plus"; /* empty css */ /* empty css */ import { formatter as at } from "../workspace/code/cloud-frontend/packages/utils/src/index.js"; /* empty css */ /* empty css */ import { useSearchTable as nt } 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 mt from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/index.vue2.js"; /* empty css */ import { FormType as pt } from "../workspace/code/cloud-frontend/packages/ui/src/components/search-bar/src/types.js"; /* empty css */ import st from "../workspace/code/cloud-frontend/packages/ui/src/components/table/index.vue2.js"; /* empty css */ /* empty css */ /* empty css */ import ut 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 ct, deleteItemData as dt, delItemList as ft, operateData as ht, operateItemSort as bt } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-dictionary.js"; import x from "./dict.vue.js"; import { ElButton as wt } 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 _t } 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 yt } 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 gt } 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 kt } 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 vt } 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 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 St = { class: "app-list-box h-[calc(100%-70px)] bg-white" }, Ct = { class: "pb-20 pl-30 pr-30 pt-20" }, xt = { class: "search-box" }, Bt = ["onClick"], Dt = { class: "flex items-center" }, Tt = { class: "mr-12 text-14 color-[--el-text-color-regular]" }, Vt = { 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, D = lt(), v = ot(), { search: T, turnPage: V, pageInfo: E, tableData: w, getData: _, remove: $, removeBatch: P } = nt({ api: ct, removeApi: dt, removeBatchApi: ft, defaultPageSize: 20, defaultSearchParams: { // 名称 code: v.query.code, dictLabel: "" } }); function L(e) { const t = e.enable ? "禁用" : "启用"; it.confirm(`请确认要${t}${e.dictLabel}】吗?`, `${t}`, { confirmButtonText: "确认", cancelButtonText: "取消" }).then(async () => { await M(e), C({ type: "success", message: `${t}成功!` }), _(); }); } async function M(e) { try { const t = { id: e.id, status: e.enable ? 0 : 1 }; return await ht(t), Promise.resolve(!0); } catch { return Promise.reject(new Error("false")); } } function N(e) { e.showSort = !e.showSort; } async function q(e) { const t = { id: e.id, sort: e.sort }; await bt(t), e.showSort = !e.showSort; } function U() { w.value = w.value.map((e) => ({ ...e, showSort: !e.showSort })); } const y = b([]); function z(e) { y.value = e; } function A() { if (y.value.length <= 0) return C({ type: "error", message: "请选择需要批量删除的数据哦" }); const e = []; y.value.forEach((t) => { e.push(t.id); }), P(e, "字典"); } function O(e) { return JSON.parse(JSON.stringify(e)); } 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(e, t) { k.value = O(t), g.value = e, h.value = !0; } function W() { h.value = !1, _(); } return Z(async () => { _(); }), (e, t) => { const f = wt, X = mt, p = _t, j = yt, F = gt, G = kt, H = st, K = vt, Q = It; return l(), i(Q, { locale: n(ut) }, { default: m(() => [ u("div", St, [ u("div", Ct, [ u("div", xt, [ r.searchItem ? (l(), i(X, { key: 0, "is-loading": n(D).loading, "field-list": [ { type: n(pt).input, label: "关键字", placeholder: "字典项名称", prop: "dictLabel", maxlength: 200, defaultValue: "" } ], onSearch: t[1] || (t[1] = (o) => n(T)(o)) }, { buttons: m(() => [ r.btnItem.showAdd ? (l(), i(f, { key: 0, onClick: t[0] || (t[0] = (o) => I("add", { code: n(v).query.code })) }, { default: m(() => t[4] || (t[4] = [ c(" 新增字典项 ") ])), _: 1 })) : a("", !0), r.btnItem.showSort ? (l(), i(f, { key: 1, onClick: U }, { default: m(() => t[5] || (t[5] = [ c(" 排序 ") ])), _: 1 })) : a("", !0), r.btnItem.showBatchDel ? (l(), i(f, { key: 2, onClick: A }, { default: m(() => t[6] || (t[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(), tt("div", { key: 0, onClick: (s) => N(o.row) }, [ c(S(o.row.sort === 0 ? 0 : o.row.sort ? o.row.sort : "-") + " ", 1), d(j, { class: "position-relative top-2" }, { default: m(() => [ d(n(rt)) ]), _: 1 }) ], 8, Bt)) ]), _: 1 })) : a("", !0), r.tableItem.showStatus ? (l(), i(p, { key: 7, label: "状态", formatter: n(at) }, { default: m((o) => [ u("div", Dt, [ u("span", Tt, S(o.row.enable ? "启用" : "禁用"), 1), d(G, { "model-value": o.row.enable, size: "small", "before-change": () => !1, onClick: (s) => L(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(() => t[7] || (t[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(() => t[8] || (t[8] = [ c(" 删除 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0) ]), _: 1 }) ]), _: 1 }, 8, ["data", "page-info", "onPageChange"]) ]) ]), d(K, { modelValue: h.value, "onUpdate:modelValue": t[3] || (t[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", Vt, [ (l(), i(et(n(R).get(g.value)), { modelValue: k.value, "onUpdate:modelValue": t[2] || (t[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 };