Files
bj_power/bj_power_mes/public_bak_20260918215750/assets/RoleManage-CsgPT0Gj.js
T
SunYF 37f10d3a13 refactor: 重构产线工位与备料流程,移除冗余字段
1. 移除工单、工件、日排产中的冗余工位组合/接驳台字段
2. 新增工位接驳台编码字段与唯一约束,关联WMS接驳台主数据
3. 重构日排产为工位产量分配模式,替代原接驳台列表
4. 新增备料单工位级字段与分批出库支持
5. 移除定时同步可生产数量,改为WMS实时拉取接口
6. 过滤操作日志,排除登录/退出相关日志
7. 调整仪表盘工序展示逻辑为今日派工路线
8. 新增接驳台维护菜单与基础数据
2026-09-19 07:50:21 +08:00

2 lines
6.8 KiB
JavaScript

import{_ as Z,j as ee,c as E,d as m,a,w as o,k as y,F as P,h as k,r as d,l as te,i as v,z as le,o as r,n as f,f as c,p as C,A as U,t as b,v as ne,E as h,x as B}from"./index-CeNpw27z.js";import{f as ae}from"./format-Cv489sdL.js";import{c as N}from"./perm-DCTK2KrM.js";import{t as oe,P as se}from"./help-92MqPoF4.js";const ie={style:{display:"flex","justify-content":"space-between","align-items":"center"}},de={style:{color:"#606266"}},re={class:"perm-tree"},ce=Object.assign({name:"RoleManage"},{__name:"RoleManage",setup(ue){const x=v(!1),T=v([]),p=v([]),_=v(),S=B(()=>{const t={};for(const e of p.value)t[e.code]=e.name;return t}),j=B(()=>{const t=p.value.filter(s=>s.type==="MENU"),e=p.value.filter(s=>s.type==="BUTTON"),i=t.map(s=>({label:s.name,code:s.code,children:e.filter(u=>u.parentCode===s.code).map(u=>({label:u.name,code:u.code}))})),g=e.filter(s=>!t.some(u=>u.code===s.parentCode));return g.length&&i.push({label:"未归类",global:!0,children:g.map(s=>({label:s.name,code:s.code}))}),i});function z(t){const e=t.permissionCodes||[];return e.includes("*")?"全部":e.filter(i=>i!=="*").length}function M(t){const e=(t.permissionCodes||[]).filter(i=>i!=="*");return(t.permissionCodes||[]).includes("*")?"全部权限":A(e)}function A(t){if(!t.length)return"-";const e=t.map(i=>S.value[i]||i);return e.length>8?`${e.slice(0,8).join("、")}${e.length} 项`:e.join("、")}async function R(){x.value=!0;try{T.value=await k.get("/roles")||[]}finally{x.value=!1}}async function D(){try{p.value=await k.get("/permissions")||[]}catch{}}const n=te({show:!1,editingId:0,name:"",code:"",remark:"",checked:[]}),V=v(!1);function $(){Object.assign(n,{show:!0,editingId:0,name:"",code:"",remark:"",checked:[]})}function q(t){Object.assign(n,{show:!0,editingId:t.id,name:t.name||"",code:t.code||"",remark:t.remark||"",checked:[...t.permissionCodes||[]]}),setTimeout(()=>{_.value&&_.value.setCheckedKeys(n.checked)},60)}function F(){if(!_.value)return n.checked;const t=_.value.getCheckedKeys()||[];return[...new Set(t)]}async function K(){if(!n.name.trim())return h.warning("请输入角色名称");if(!n.editingId&&!n.code.trim())return h.warning("请输入角色编码");const t={id:n.editingId,name:n.name.trim(),code:n.code.trim(),remark:n.remark.trim()||void 0,permissionCodes:F()};V.value=!0;try{n.editingId?(await k.put("/roles",t),h.success("保存成功")):(await k.post("/roles",t),h.success("角色创建成功")),n.show=!1,await R()}finally{V.value=!1}}async function H(t){try{await ne.confirm(`确定删除角色「${t.name}」?该角色下的用户将受影响。`,"删除确认",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"})}catch{return}try{await k.delete(`/roles/${t.id}`),h.success("已删除"),await R()}catch{}}return ee(async()=>{await Promise.all([R(),D()])}),(t,e)=>{const i=d("el-button"),g=d("el-card"),s=d("el-table-column"),u=d("el-tag"),G=d("el-tooltip"),J=d("el-table"),I=d("el-input"),w=d("el-form-item"),L=d("el-tree"),Q=d("el-empty"),W=d("el-form"),X=d("el-dialog"),O=le("loading");return r(),E(P,null,[m("div",null,[a(g,{shadow:"never",class:"mb12"},{default:o(()=>[m("div",ie,[e[6]||(e[6]=m("div",null,[m("b",null,"角色管理"),m("span",{style:{"margin-left":"8px",color:"#909399","font-size":"12px"}}," 角色决定账号的菜单与按钮权限;内置角色(超级管理员/生产操作员/质检员)不可删除 ")],-1)),y(N)("sys.role:add")?(r(),f(i,{key:0,type:"primary",onClick:$},{default:o(()=>[...e[5]||(e[5]=[c("新增角色",-1)])]),_:1})):C("",!0)])]),_:1}),a(g,{shadow:"never"},{default:o(()=>[U((r(),f(J,{data:T.value,border:"",size:"small","empty-text":"暂无角色"},{default:o(()=>[a(s,{prop:"id",label:"ID",width:"64",align:"center"}),a(s,{prop:"code",label:"编码","min-width":"120"}),a(s,{label:"名称","min-width":"150"},{default:o(({row:l})=>[m("span",null,b(l.name),1),["SUPER_ADMIN","OPERATOR","INSPECTOR"].includes(l.code)?(r(),f(u,{key:0,effect:"plain",type:"info",size:"small",style:{"margin-left":"6px"}},{default:o(()=>[...e[7]||(e[7]=[c("内置",-1)])]),_:1})):C("",!0)]),_:1}),a(s,{prop:"remark",label:"备注","min-width":"180"},{default:o(({row:l})=>[c(b(l.remark||"-"),1)]),_:1}),a(s,{label:"权限数",width:"90",align:"center"},{default:o(({row:l})=>[c(b(z(l))+" 项",1)]),_:1}),a(s,{label:"权限明细","min-width":"240"},{default:o(({row:l})=>[a(G,{content:M(l),placement:"top","show-after":300},{default:o(()=>[m("span",de,b(M(l)),1)]),_:2},1032,["content"])]),_:1}),a(s,{label:"创建时间",width:"160",align:"center"},{default:o(({row:l})=>[c(b(y(ae)(l.createdAt)),1)]),_:1}),a(s,{label:"操作",width:"150",align:"center",fixed:"right"},{default:o(({row:l})=>[y(N)("sys.role:edit")?(r(),f(i,{key:0,link:"",type:"primary",size:"small",disabled:l.code==="SUPER_ADMIN",onClick:Y=>q(l)},{default:o(()=>[...e[8]||(e[8]=[c("编辑权限",-1)])]),_:1},8,["disabled","onClick"])):C("",!0),y(N)("sys.role:delete")?(r(),f(i,{key:1,link:"",type:"danger",size:"small",disabled:["SUPER_ADMIN","OPERATOR","INSPECTOR"].includes(l.code),onClick:Y=>H(l)},{default:o(()=>[...e[9]||(e[9]=[c("删除",-1)])]),_:1},8,["disabled","onClick"])):C("",!0)]),_:1})]),_:1},8,["data"])),[[O,x.value]])]),_:1}),a(X,{modelValue:n.show,"onUpdate:modelValue":e[4]||(e[4]=l=>n.show=l),title:n.editingId?"编辑角色权限":"新增角色",width:"560px","append-to-body":"","destroy-on-close":""},{footer:o(()=>[a(i,{onClick:e[3]||(e[3]=l=>n.show=!1)},{default:o(()=>[...e[11]||(e[11]=[c("取消",-1)])]),_:1}),a(i,{type:"primary",loading:V.value,onClick:K},{default:o(()=>[...e[12]||(e[12]=[c("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(W,{"label-width":"90px"},{default:o(()=>[a(w,{label:"角色名称",required:""},{default:o(()=>[a(I,{modelValue:n.name,"onUpdate:modelValue":e[0]||(e[0]=l=>n.name=l),placeholder:"如 库房管理员"},null,8,["modelValue"])]),_:1}),a(w,{label:"角色编码",required:""},{default:o(()=>[a(I,{modelValue:n.code,"onUpdate:modelValue":e[1]||(e[1]=l=>n.code=l),disabled:!!n.editingId,placeholder:"如 intro-manager(创建后不可改)"},null,8,["modelValue","disabled"])]),_:1}),a(w,{label:"备注"},{default:o(()=>[a(I,{modelValue:n.remark,"onUpdate:modelValue":e[2]||(e[2]=l=>n.remark=l),placeholder:"备注(可空)"},null,8,["modelValue"])]),_:1}),a(w,{label:"权限设置"},{default:o(()=>[U((r(),E("div",re,[p.value.length?(r(),E(P,{key:0},[e[10]||(e[10]=m("div",{class:"perm-tip"},"勾选菜单=可见该菜单;其下按钮勾选=可用该按钮(勾选互不影响)",-1)),a(L,{ref_key:"treeRef",ref:_,data:j.value,"show-checkbox":"","node-key":"code","check-strictly":"","default-expand-all":"",props:{label:"label",children:"children"}},null,8,["data"])],64)):(r(),f(Q,{key:1,description:"暂无权限数据","image-size":60}))])),[[O,!p.value.length]])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])]),a(se,{data:y(oe),page:"RoleManage"},null,8,["data"])],64)}}}),ge=Z(ce,[["__scopeId","data-v-1ed40740"]]);export{ge as default};