UNPKG

@cdwx/system

Version:

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

357 lines (356 loc) 20.3 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 */ 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 A, ref as z, onMounted as F, openBlock as o, createBlock as r, unref as n, withCtx as p, createElementVNode as d, createTextVNode as u, createCommentVNode as a, createElementBlock as M, createVNode as h, toDisplayString as R } 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 H } 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 I } 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 U, ElMessage as W } from "element-plus"; /* empty css */ /* empty css */ import { formatter as X } from "../workspace/code/cloud-frontend/packages/utils/src/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 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 { getListData as J, deleteData as Q, operateData as Y } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-role.js"; import { statusListAll as Z } from "../workspace/code/cloud-frontend/service-modules/system/src/config/local-data.js"; import { ElButton as tt } 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 et } 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 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/switch/index.js"; import { ElConfigProvider 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/config-provider/index.js"; const at = { class: "app-list-box h-[calc(100%-150px)] bg-white" }, it = { class: "pb-20 pl-30 pr-30 pt-20" }, pt = { class: "search-box" }, lt = { key: 1, class: "pb-20" }, st = { class: "flex items-center" }, mt = { class: "mr-12 text-14 color-[--el-text-color-regular]" }, qe = /* @__PURE__ */ A({ name: "SystemRole", __name: "list", props: { search: {}, btn: {}, table: {}, addItem: {} }, setup(g) { const t = g, k = I(), c = H(), f = z([]), { search: v, turnPage: x, pageInfo: C, tableData: T, getData: w, remove: D } = j({ api: J, removeApi: Q, defaultPageSize: 10, defaultSearchParams: { name: "", // 名称 startDate: "", endDate: "", status: void 0 } }); function B(i) { const e = i.status === 1 ? "禁用" : "启用"; U.confirm(`请确认要${e}${i.name}】吗?`, `${e}`, { confirmButtonText: "确认", cancelButtonText: "取消" }).then(async () => { await S(i), W({ type: "success", message: `角色${e}成功!` }), w(); }); } async function S(i) { try { const e = { id: i.id, status: i.status ? 0 : 1 }; return await Y(e), Promise.resolve(!0); } catch { return Promise.reject(new Error("false")); } } function _() { c.push({ path: "/system/role/create" }); } function E() { c.push({ path: "/system/role/record" }); } function P(i) { c.push({ path: "/system/role/create", query: { operate: 2, id: i.id, type: "show" } }); } function $(i) { c.push({ path: "/system/role/create", query: { operate: 1, id: i.id } }); } return F(async () => { var i, e, s; w(), (i = t.search) != null && i.showKey && f.value.push({ type: b.input, label: "角色名称", placeholder: "请输入角色名称", prop: "name", maxlength: 200, defaultValue: "" }), (e = t.search) != null && e.showStatus && f.value.push({ type: b.select, label: "角色状态", placeholder: "请选择角色状态", options: Z, prop: "status", maxlength: 200, defaultValue: "" }), (s = t.search) != null && s.showDate && f.value.push({ type: b.daterange, label: "创建时间", prop: "date", defaultValue: "", startField: "startDate", endField: "endDate" }); }), (i, e) => { const s = tt, L = K, m = et, N = ot, V = O, q = rt; return o(), r(q, { locale: n(G) }, { default: p(() => [ d("div", at, [ d("div", it, [ d("div", pt, [ t.search ? (o(), r(L, { key: 0, "is-loading": n(k).loading, "field-list": f.value, onSearch: e[0] || (e[0] = (l) => n(v)(l)) }, { buttons: p(() => [ t.btn.showAdd ? (o(), r(s, { key: 0, onClick: _ }, { default: p(() => e[1] || (e[1] = [ u(" 新增角色 ") ])), _: 1 })) : a("", !0), t.btn.showLog ? (o(), r(s, { key: 1, onClick: E }, { default: p(() => e[2] || (e[2] = [ u(" 操作记录 ") ])), _: 1 })) : a("", !0) ]), _: 1 }, 8, ["is-loading", "field-list"])) : a("", !0), t.btn.showAdd && !t.search ? (o(), M("div", lt, [ h(s, { type: "primary", onClick: _ }, { default: p(() => e[3] || (e[3] = [ u(" 新增角色 ") ])), _: 1 }) ])) : a("", !0), h(V, { data: n(T), "page-info": n(C), onPageChange: n(x) }, { default: p(() => [ t.table.showOrder ? (o(), r(m, { key: 0, prop: "date", label: "序号", type: "index", width: "80px" })) : a("", !0), t.table.showName ? (o(), r(m, { key: 1, prop: "name", label: "角色名称" })) : a("", !0), t.table.showNum ? (o(), r(m, { key: 2, prop: "userNum", label: "员工数量" })) : a("", !0), t.table.showDes ? (o(), r(m, { key: 3, label: "角色备注", prop: "des" })) : a("", !0), t.table.showCreateTime ? (o(), r(m, { key: 4, label: "创建时间", "show-word-limit": "", prop: "updateTime" })) : a("", !0), t.table.showUpdateTime ? (o(), r(m, { key: 5, label: "操作时间", "show-word-limit": "", prop: "updateTime" })) : a("", !0), t.table.showUpdatePerson ? (o(), r(m, { key: 6, label: "操作员", prop: "updatedBy" })) : a("", !0), t.table.showStatus ? (o(), r(m, { key: 7, label: "状态", width: "180", formatter: n(X) }, { default: p((l) => [ d("div", st, [ d("span", mt, R(l.row.status === 1 ? "启用" : "禁用"), 1), h(N, { "model-value": l.row.status, size: "small", "active-value": 1, "inactive-value": l.row.status !== 1, "before-change": () => !1, onClick: (y) => B(l.row) }, null, 8, ["model-value", "inactive-value", "onClick"]) ]) ]), _: 1 }, 8, ["formatter"])) : a("", !0), h(m, { label: "操作", width: "250px" }, { default: p((l) => [ t.table.showDetail ? (o(), r(s, { key: 0, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (y) => P(l.row) }, { default: p(() => e[4] || (e[4] = [ u(" 查看 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0), t.table.showEdit ? (o(), r(s, { key: 1, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (y) => $(l.row) }, { default: p(() => e[5] || (e[5] = [ u(" 编辑 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0), t.table.showDel ? (o(), r(s, { key: 2, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (y) => n(D)(l.row, "name", "id", "") }, { default: p(() => e[6] || (e[6] = [ u(" 删除 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0) ]), _: 1 }) ]), _: 1 }, 8, ["data", "page-info", "onPageChange"]) ]) ]) ]) ]), _: 1 }, 8, ["locale"]); }; } }); export { qe as default };