UNPKG

@cdwx/system

Version:

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

371 lines (370 loc) 23 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 Z, watch as E, ref as d, onMounted as ee, openBlock as l, createBlock as i, unref as u, withCtx as n, createElementVNode as p, createElementBlock as h, createVNode as c, createCommentVNode as a, createTextVNode as v, toDisplayString as f, Fragment as P, renderList as S, 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 "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 "../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 oe, ElMessage as re } 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 le } 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 */ /* 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 */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ import ae from "../workspace/code/cloud-frontend/packages/ui/src/components/table/index.vue2.js"; /* empty css */ /* empty css */ import 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/locale/lang/zh-cn.js"; import { getAllDep as ne, getListData as pe, deleteData as me, operateData as se } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-department.js"; import V from "./add.vue.js"; /* empty css */ import { ElInput as 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/components/input/index.js"; import { ElTree as de } 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/tree/index.js"; import { ElButton as ce } 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 fe } 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 he } 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 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/dialog/index.js"; import { ElConfigProvider 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/config-provider/index.js"; const ye = { class: "h-100%" }, ge = { class: "flex" }, ve = { key: 0, class: "mr-10 w-240 bg-white p-20" }, be = { class: "h-100% w-1 flex-1 bg-white p-20" }, ke = { class: "mb-20" }, Ce = { class: "flex items-center" }, xe = { class: "mr-12 text-14 color-[--el-text-color-regular]" }, Te = { class: "px-14 pt-14" }, no = /* @__PURE__ */ Z({ name: "Department", __name: "list", props: { btn: {}, showTree: { type: Boolean }, table: {}, addItem: {} }, setup($) { const t = $, { setSearchParam: L, turnPage: M, pageInfo: U, tableData: D, getData: w, remove: I } = le({ api: pe, removeApi: me, defaultPageSize: 10, defaultSearchParams: { name: "" // 名称 } }); E(D, () => { t.showTree && k(); }); function A(r) { const e = r.status === 1 ? "禁用" : "启用"; oe.confirm(`请确认要${e}${r.name}】吗?`, `${e}`, { confirmButtonText: "确认", cancelButtonText: "取消" }).then(async () => { await z(r), re({ type: "success", message: `${e}成功!` }), w(); }); } async function z(r) { try { const e = { id: r.id, status: r.status ? 0 : 1 }; return await se(e), Promise.resolve(!0); } catch { return Promise.reject(new Error("false")); } } const b = d(""), N = d(), B = d([]); async function k() { try { const { data: r } = await ne(); B.value = r; } catch (r) { console.log(r); } } const J = { children: "childTreeVoList", label: "name" }; function O(r) { L("id", r.id), w(); } E(b, (r) => { N.value.filter(r); }); function R(r, e) { return r ? e.name.includes(r) : !0; } ee(async () => { t.showTree && await k(), w(); }); function j(r) { return JSON.parse(JSON.stringify(r)); } const _ = d(!1), y = d("add"), C = d(), F = /* @__PURE__ */ new Map([ ["add", "新增"], ["update", "编辑"], ["show", "查看"] ]), W = /* @__PURE__ */ new Map([ ["add", V], ["update", V], ["show", V] ]); function x(r, e) { C.value = j(e), y.value = r, _.value = !0; } function X() { _.value = !1, w(), t.showTree && k(); } return (r, e) => { const q = ue, G = de, g = ce, m = fe, H = he, K = ae, Q = we, Y = _e; return l(), i(Y, { locale: u(ie) }, { default: n(() => [ p("div", ye, [ p("div", null, [ p("div", ge, [ t.showTree ? (l(), h("div", ve, [ c(q, { modelValue: b.value, "onUpdate:modelValue": e[0] || (e[0] = (o) => b.value = o), style: { width: "100%" }, placeholder: "请输入部门名称", class: "mb-20" }, null, 8, ["modelValue"]), a("", !0), c(G, { ref_key: "treeRef", ref: N, data: B.value, "default-expand-all": "", "expand-on-click-node": !1, "highlight-current": !0, props: J, "filter-node-method": R, onNodeClick: O }, null, 8, ["data"]) ])) : a("", !0), p("div", be, [ p("div", ke, [ t.btn.showAdd ? (l(), i(g, { key: 0, type: "primary", onClick: e[1] || (e[1] = (o) => x("add", null)) }, { default: n(() => [ v(" 新增" + f(t.addItem.customName), 1) ]), _: 1 })) : a("", !0) ]), c(K, { data: u(D), "page-info": u(U), onPageChange: u(M) }, { default: n(() => [ t.table.showName ? (l(), i(m, { key: 0, prop: "name", label: `${t.addItem.customName}名称` }, null, 8, ["label"])) : a("", !0), t.table.showCharge ? (l(), i(m, { key: 1, prop: "masterName", label: "负责人员" }, { default: n((o) => [ o.row.deptUserVoList ? (l(!0), h(P, { key: 0 }, S(o.row.deptUserVoList, (s, T) => (l(), h("p", { key: T }, f(s.userName), 1))), 128)) : a("", !0), p("span", null, f(o.row.masterName), 1) ]), _: 1 })) : a("", !0), t.table.showChargePhone ? (l(), i(m, { key: 2, prop: "phone", label: "电话号码" }, { default: n((o) => [ o.row.deptUserVoList ? (l(!0), h(P, { key: 0 }, S(o.row.deptUserVoList, (s, T) => (l(), h("p", { key: T }, f(s.phone), 1))), 128)) : a("", !0), p("span", null, f(o.row.phone), 1) ]), _: 1 })) : a("", !0), t.table.showPhone ? (l(), i(m, { key: 3, prop: "phone", label: "办公电话" })) : a("", !0), t.table.showNum ? (l(), i(m, { key: 4, prop: "userNum", label: "成员数量" })) : a("", !0), t.table.showStatus ? (l(), i(m, { key: 5, label: "状态" }, { default: n((o) => [ p("div", Ce, [ p("span", xe, f(o.row.status === 1 ? "启用" : "禁用"), 1), c(H, { "model-value": o.row.status, size: "small", "active-value": 1, "inactive-value": o.row.status !== 1, "before-change": () => !1, onClick: (s) => A(o.row) }, null, 8, ["model-value", "inactive-value", "onClick"]) ]) ]), _: 1 })) : a("", !0), c(m, { label: "操作", width: "180px" }, { default: n((o) => [ t.table.showEdit ? (l(), i(g, { key: 0, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (s) => x("update", o.row) }, { default: n(() => e[4] || (e[4] = [ v(" 编辑 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0), t.table.showDel ? (l(), i(g, { key: 1, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (s) => u(I)(o.row, "name", "id", "") }, { default: n(() => e[5] || (e[5] = [ v(" 删除 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0), t.table.showDetail ? (l(), i(g, { key: 2, type: t.table.showBtnType === "text" ? "primary" : "", link: t.table.showBtnType === "text", onClick: (s) => x("show", o.row) }, { default: n(() => e[6] || (e[6] = [ v(" 查看 ") ])), _: 2 }, 1032, ["type", "link", "onClick"])) : a("", !0) ]), _: 1 }) ]), _: 1 }, 8, ["data", "page-info", "onPageChange"]) ]) ]) ]), c(Q, { modelValue: _.value, "onUpdate:modelValue": e[3] || (e[3] = (o) => _.value = o), title: u(F).get(y.value), width: "432", "destroy-on-close": "", "align-center": "", "close-on-click-modal": !1, "close-on-press-escape": !1 }, { default: n(() => [ p("div", Te, [ (l(), i(te(u(W).get(y.value)), { modelValue: C.value, "onUpdate:modelValue": e[2] || (e[2] = (o) => C.value = o), "dialog-type": y.value, rules: t.addItem, onClose: X }, null, 40, ["modelValue", "dialog-type", "rules"])) ]) ]), _: 1 }, 8, ["modelValue", "title"]) ]) ]), _: 1 }, 8, ["locale"]); }; } }); export { no as default };