UNPKG

@cdwx/system

Version:

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

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