UNPKG

@cdwx/system

Version:

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

592 lines (591 loc) 33.1 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 */ /* 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-tooltip.css.js"; /* empty css */ import { defineComponent as ee, ref as f, reactive as te, onMounted as oe, resolveComponent as le, openBlock as d, createBlock as p, unref as r, withCtx as i, createElementVNode as c, toDisplayString as U, createVNode as u, createCommentVNode as s, createTextVNode as v, createElementBlock as T, Fragment as P, renderList 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 ae, useRoute as re } 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 */ import { regular as V } from "../workspace/code/cloud-frontend/packages/config/src/regular.js"; 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 { useSystemStore as ie } from "../workspace/code/cloud-frontend/packages/stores/src/modules/system.js"; import "../workspace/code/cloud-frontend/packages/stores/src/modules/user.js"; import { ElMessage as $ } 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 */ /* 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 */ import me from "../workspace/code/cloud-frontend/packages/ui/src/components/file-uploader/index.vue3.js"; /* 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 "../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 */ /* empty css */ /* empty css */ /* empty css */ import 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/locale/lang/zh-cn.js"; import { getData as ue, updateData as pe, saveData as ne } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-account.js"; import { getAll as se } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-department.js"; import { getAllList as ye } from "../workspace/code/cloud-frontend/service-modules/system/src/api/api-role.js"; import I from "../workspace/code/cloud-frontend/service-modules/system/src/config.js"; import { accountType as fe } from "../workspace/code/cloud-frontend/service-modules/system/src/config/local-data.js"; import { ElInput 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/input/index.js"; import { ElFormItem as ge, ElForm 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/form/index.js"; import { ElRadio as he, ElRadioGroup 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/radio/index.js"; import { ElSwitch as be } 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 { ElOption as _e, ElSelect 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/select/index.js"; import { ElTransfer 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/transfer/index.js"; import { ElButton 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/button/index.js"; import { ElConfigProvider as Ne } 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 qe = { class: "app-box h-[100%] overflow-hidden" }, xe = { class: "h-[100%] p-30" }, Le = { class: "mb-10 flex text-20 color-[--el-text-color-primary] line-height-28" }, Se = { style: { flex: "1" } }, De = { class: "content-box h-[calc(100%-280px)] pb-20" }, Ce = { class: "form-box" }, vo = /* @__PURE__ */ ee({ name: "AccountAdd", __name: "add", props: { customName: {}, search: {}, btn: {}, showTree: { type: Boolean }, table: {}, addItem: {} }, setup(A) { const a = A, F = ie(), h = ae(), m = re(), k = f(), N = f(), w = f(!1), t = f({ id: void 0, account: "", workNumber: "", nickname: "", realName: "", phone: "", email: "", headImage: "", sex: 1, birthday: "", hidePhone: "", userType: void 0, remarks: "", createdBy: void 0, updatedBy: void 0, roleIds: [], deptStationDtoList: [ { departmentId: void 0, stationId: void 0 } ] }), B = te({ realName: [ { required: !0, message: "请输入姓名", trigger: "blur" }, { pattern: V.userName.reg, message: "姓名只能输入汉字", trigger: ["blur", "change"], transform(l) { return l.trim(); } } ], phone: [ { required: !0, message: "请输入手机号", trigger: "blur" }, { pattern: V.phone.reg, message: "手机号格式错误,请重新输入", trigger: ["blur", "change"], transform(l) { return l.trim(); } } ], workNumber: [ { required: !0, message: `请输入${a.addItem.workCustomName || "工号"}`, trigger: "blur" }, { message: "请输入16位以内数字或大小写字母的组合", pattern: /^[a-z0-9]{1,16}$/i, trigger: ["blur", "change"], transform(l) { return l.trim(); } } ], email: [ { required: !0, message: "邮箱地址不能为空", trigger: "blur" }, { pattern: V.email.reg, message: "邮箱格式错误,请重新输入", trigger: ["blur", "change"], transform(l) { return l.trim(); } } ], deptStationDtoList: [ { required: !0, message: "请选择所属部门", trigger: "change" } ], userType: [ { required: !0, message: "请选择账号类型", trigger: "change" } ], roleIds: [ { required: !0, message: "请选择角色", trigger: "change" } ] }), q = f([]), x = f([]); async function z() { try { const { data: l } = await ye(), e = l.map((y) => ({ ...y, disabled: m.query.type === "show" })); q.value = e; } catch (l) { console.log(l); } } async function W() { try { const { data: l } = await se(); x.value = l; } catch (l) { console.log(l); } } const g = f(!1); async function J() { var l; g.value = !0, (l = t.value.deptStationDtoList[0]) != null && l.departmentId || (t.value.deptStationDtoList = []); try { t.value.id ? (await pe(t.value), $.success("编辑成功"), g.value = !1, setTimeout(() => { h.replace("/system/account"); }, 1e3)) : (await ne(t.value), $.success("新增成功"), g.value = !1, setTimeout(() => { h.replace("/system/account"); }, 1e3)); } catch { g.value = !1; } } async function M(l) { l && await l.validate((e) => { e && J(); }); } const L = f(!0), b = f(); async function X() { var l; L.value = !0; try { const { data: e } = await ue(m.query.id), y = []; (l = e.roleVoList) == null || l.forEach((n) => { y.push(n.id); }), e.roleIds = y, b.value = e.phone, e.deptStationVoList.length > 0 ? (e.deptStationDtoList = e.deptStationVoList, delete e.deptStationVoList) : e.deptStationDtoList = [ { departmentId: void 0, stationId: void 0 } ], delete e.roleVoList, t.value = e; } catch (e) { console.log(e); } L.value = !1; } function j() { b.value && t.value.phone !== b.value ? w.value = !0 : w.value = !1; } return oe(async () => { a.addItem.showDept && await W(), a.addItem.showRole && await z(), m.query.id && X(); }), (l, e) => { const y = ce, n = ge, S = he, G = we, H = be, D = _e, C = Ve, O = me, K = le("Job"), Q = Ie, E = ke, Y = ve, Z = Ne; return d(), p(Z, { locale: r(de) }, { default: i(() => [ c("div", qe, [ c("div", xe, [ c("div", Le, [ c("div", Se, U(r(m).query.type === "show" ? `查看${a.customName || "员工"}` : t.value.id ? `编辑${a.customName || "员工"}` : `新增${a.customName || "员工"}`), 1) ]), c("div", De, [ c("div", Ce, [ u(Y, { ref_key: "formRef", ref: k, model: t.value, rules: B, "label-width": 120, class: "mt-15", "status-icon": "" }, { default: i(() => [ a.addItem.showName ? (d(), p(n, { key: 0, label: `${a.customName || "员工"}姓名`, prop: "realName" }, { default: i(() => [ u(y, { modelValue: t.value.realName, "onUpdate:modelValue": e[0] || (e[0] = (o) => t.value.realName = o), placeholder: `请输入${a.customName || "员工"}姓名`, style: { width: "300px" }, maxlength: "100", readonly: r(m).query.type === "show" }, null, 8, ["modelValue", "placeholder", "readonly"]) ]), _: 1 }, 8, ["label"])) : s("", !0), a.addItem.showSex ? (d(), p(n, { key: 1, label: "性别", required: "" }, { default: i(() => [ u(G, { modelValue: t.value.sex, "onUpdate:modelValue": e[1] || (e[1] = (o) => t.value.sex = o) }, { default: i(() => [ u(S, { value: 1, disabled: r(m).query.type === "show" }, { default: i(() => e[15] || (e[15] = [ v(" 男 ") ])), _: 1 }, 8, ["disabled"]), u(S, { value: 2, disabled: r(m).query.type === "show" }, { default: i(() => e[16] || (e[16] = [ v(" 女 ") ])), _: 1 }, 8, ["disabled"]) ]), _: 1 }, 8, ["modelValue"]) ]), _: 1 })) : s("", !0), a.addItem.showPhone ? (d(), p(n, { key: 2, label: "手机号", prop: "phone" }, { default: i(() => [ u(y, { modelValue: t.value.phone, "onUpdate:modelValue": e[2] || (e[2] = (o) => t.value.phone = o), placeholder: "请输入手机号", style: { width: "300px" }, readonly: r(m).query.type === "show", onChange: j }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : s("", !0), a.addItem.showWorkNumber ? (d(), p(n, { key: 3, label: a.addItem.workCustomName || "工号", prop: "workNumber" }, { default: i(() => [ u(y, { modelValue: t.value.workNumber, "onUpdate:modelValue": e[3] || (e[3] = (o) => t.value.workNumber = o), placeholder: `请输入唯一的${a.addItem.workCustomName || "工号"}`, style: { width: "300px" }, readonly: r(m).query.type === "show" }, null, 8, ["modelValue", "placeholder", "readonly"]) ]), _: 1 }, 8, ["label"])) : s("", !0), a.addItem.showConfirmPhone && r(m).query.type !== "show" && w.value ? (d(), p(n, { key: 4, label: "确认手机号", required: "" }, { default: i(() => [ u(y, { modelValue: N.value, "onUpdate:modelValue": e[4] || (e[4] = (o) => N.value = o), placeholder: "请再次确认手机号", style: { width: "300px" }, readonly: r(m).query.type === "show" }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : s("", !0), a.addItem.showEmail ? (d(), p(n, { key: 5, label: "邮箱地址", prop: "email" }, { default: i(() => [ u(y, { modelValue: t.value.email, "onUpdate:modelValue": e[5] || (e[5] = (o) => t.value.email = o), placeholder: "请输入邮箱地址", style: { width: "300px" }, readonly: r(m).query.type === "show" }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : s("", !0), a.addItem.showApp ? (d(), p(n, { key: 6, label: "APP隐藏手机号" }, { default: i(() => [ u(H, { modelValue: t.value.hidePhone, "onUpdate:modelValue": e[6] || (e[6] = (o) => t.value.hidePhone = o), disabled: r(m).query.type === "show" }, null, 8, ["modelValue", "disabled"]) ]), _: 1 })) : s("", !0), a.addItem.showDept ? (d(), p(n, { key: 7, label: "所属部门", prop: "deptStationDtoList" }, { default: i(() => [ u(C, { modelValue: t.value.deptStationDtoList[0].departmentId, "onUpdate:modelValue": e[7] || (e[7] = (o) => t.value.deptStationDtoList[0].departmentId = o), placeholder: "请选择", filterable: "", style: { width: "300px" }, disabled: r(m).query.type === "show" }, { default: i(() => [ (d(!0), T(P, null, R(x.value, (o, _) => (d(), p(D, { key: _, label: o.name, value: o.id }, null, 8, ["label", "value"]))), 128)) ]), _: 1 }, 8, ["modelValue", "disabled"]) ]), _: 1 })) : s("", !0), a.addItem.showAccountType ? (d(), p(n, { key: 8, label: "账号类型", prop: "userType", required: "" }, { default: i(() => [ u(C, { modelValue: t.value.userType, "onUpdate:modelValue": e[8] || (e[8] = (o) => t.value.userType = o), placeholder: "请选择", style: { width: "300px" }, disabled: r(m).query.type === "show" }, { default: i(() => [ (d(!0), T(P, null, R(r(fe), (o, _) => (d(), p(D, { key: _, label: o.label, value: o.value }, null, 8, ["label", "value"]))), 128)) ]), _: 1 }, 8, ["modelValue", "disabled"]) ]), _: 1 })) : s("", !0), a.addItem.showFile ? (d(), p(n, { key: 9, label: "用户头像" }, { default: i(() => [ u(O, { modelValue: t.value.headImage, "onUpdate:modelValue": e[9] || (e[9] = (o) => t.value.headImage = o), disabled: r(m).query.type === "show", "upload-api": r(I).fileServiceConfig.uploadFile, "upload-config": { namespace: r(I).fileServiceConfig.namespace, paramName: r(I).fileServiceConfig.uploadFileName }, headers: { Authorization: r(F).token }, "size-limit": 5 * 1024 * 1024, limit: 1, accept: ["image/jpeg", "image/png", "image/gif"] }, null, 8, ["modelValue", "disabled", "upload-api", "upload-config", "headers"]) ]), _: 1 })) : s("", !0), a.addItem.showListDept ? (d(), p(n, { key: 10, label: "部门岗位", prop: "deptNameList" }, { default: i(() => [ u(K, { modelValue: t.value.deptNameList, "onUpdate:modelValue": e[10] || (e[10] = (o) => t.value.deptNameList = o) }, null, 8, ["modelValue"]) ]), _: 1 })) : s("", !0), a.addItem.showRole ? (d(), p(n, { key: 11, label: "角色配置", prop: "roleIds" }, { default: i(() => [ u(Q, { modelValue: t.value.roleIds, "onUpdate:modelValue": e[11] || (e[11] = (o) => t.value.roleIds = o), titles: ["全部角色", "已选角色"], props: { key: "id", label: "name" }, data: q.value }, null, 8, ["modelValue", "data"]) ]), _: 1 })) : s("", !0), a.addItem.showDes ? (d(), p(n, { key: 12, label: "备注" }, { default: i(() => [ u(y, { modelValue: t.value.remarks, "onUpdate:modelValue": e[12] || (e[12] = (o) => t.value.remarks = o), style: { width: "600px" }, rows: 4, maxlength: "200", type: "textarea", placeholder: "请输入备注信息", readonly: r(m).query.type === "show" }, null, 8, ["modelValue", "readonly"]) ]), _: 1 })) : s("", !0), u(n, { class: "mt-10" }, { default: i(() => [ r(m).query.type !== "show" ? (d(), p(E, { key: 0, type: "primary", class: "w-108 line-height-30", loading: g.value, onClick: e[13] || (e[13] = (o) => M(k.value)) }, { default: i(() => e[17] || (e[17] = [ v(" 保存 ") ])), _: 1 }, 8, ["loading"])) : s("", !0), u(E, { class: "w-108 line-height-30", onClick: e[14] || (e[14] = (o) => r(h).go(-1)) }, { default: i(() => [ v(U(r(m).query.type === "show" ? "返回" : "取消"), 1) ]), _: 1 }) ]), _: 1 }) ]), _: 1 }, 8, ["model", "rules"]) ]) ]) ]) ]) ]), _: 1 }, 8, ["locale"]); }; } }); export { vo as default };