1 |
- import{_ as me,r as ge,C as ke,D as C,a5 as Le,ak as x,G as Ce,a9 as I,v as m,as as Fe,N as we,o as h,M as B,J as r,w as p,p as k,L as N,x as Q,K as E,q as _,T as G,W as M,aO as K,R as W,$ as Ve,a0 as De,F as Ae}from"./index.1fbb63aa.js";import{l as Be}from"./status.4f7e5409.js";import{a as ye,b as Ee,c as Ue,d as Se}from"./index.44583df7.js";const Ne=R=>(Ve("data-v-79db45a0"),R=R(),De(),R),Me={class:"quanxian-main"},Oe=Ne(()=>_("div",{class:"quanxian-title"},[_("div",{style:{color:"#ff8888"}},"*"),_("div",null,"\u529F"),_("div",null,"\u80FD"),_("div",null,"\u6743"),_("div",null,"\u9650")],-1)),Te={class:"rule-view"},qe={class:"rule-list"},Je={class:"ftitle"},Ge={class:"fbody"},Re={class:"stitle"},ze={class:"_h2"},$e={key:0,class:"scheck"},Ke={class:"checkAll"},We=M("\u529F\u80FD\u5168\u9009"),je={class:"checkItem"},He={key:1,class:"sfield"},Pe={class:"checkAll"},Qe=M("\u5B57\u6BB5\u5168\u9009"),Xe={class:"checkItem"},Ye=M("\u4FDD\u5B58"),Ze=M("\u5173\u95ED"),be=ge({__name:"addEdit",props:{itemId:{type:String,default:""},showModel:{type:Boolean,default:!1},isDetails:{type:String,default:"add"}},emits:["cancel","refresh"],setup(R,{emit:X}){const Y=R,{logout:j}=ke(),ee=C("default"),H=C(),{currentCompany:le}=Le(),U=C(!1),P=C(""),f=C("add"),o=C([]),O=C([]),y=C([]),T=C([]),Z={roleid:"",role_name:"",level:"1",action:"",private_data:""},g=x({...Z}),ae=x({role_name:[{required:!0,message:"\u8BF7\u8F93\u5165\u89D2\u8272\u540D\u79F0",trigger:"blur"},{min:2,max:12,message:"\u957F\u5EA6\u5728 2 \u5230 12 \u4E2A\u5B57\u7B26",trigger:"blur"}],level:[{required:!0,message:"\u8BF7\u9009\u62E9\u89D2\u8272\u7B49\u7EA7",trigger:"change"}]}),te=(a,e,i,l)=>{o.value[e].child[l].checkAll=a,o.value[e].child[l].action.forEach(t=>{const n=o.value[e].child[l].checkList.findIndex(u=>u===t.id);a&&n==-1?o.value[e].child[l].checkList.push(t.id):!a&&n>-1&&o.value[e].child[l].checkList.splice(n,1)})},ie=(a,e,i,l)=>{o.value[e].child[l].fieldAll=a,o.value[e].child[l].action_data.forEach(t=>{const n=o.value[e].child[l].fieldList.findIndex(u=>u===t.id);a&&n==-1?o.value[e].child[l].fieldList.push(t.id):!a&&n>-1&&o.value[e].child[l].fieldList.splice(n,1)})},oe=(a,e,i,l)=>{o.value[e].child[l].checkAll=o.value[e].child[l].action.every(t=>o.value[e].child[l].checkList.findIndex(n=>n===t.id)>-1)},ne=(a,e,i,l)=>{o.value[e].child[l].fieldAll=o.value[e].child[l].action_data.every(t=>o.value[e].child[l].fieldList.findIndex(n=>n===t.id)>-1)},de=(a,e,i,l,t)=>{if(a)o.value[i].child[l].checkList.indexOf(e)==-1&&o.value[i].child[l].checkList.push(e);else{const n=o.value[i].child[l].checkList.findIndex(u=>u==e);n>-1&&o.value[i].child[l].checkList.splice(n,1),o.value[i].child[l].checkAll=!1}},se=(a,e,i,l,t)=>{if(a)o.value[i].child[l].fieldList.indexOf(e)==-1&&o.value[i].child[l].fieldList.push(e);else{const n=o.value[i].child[l].fieldList.findIndex(u=>u==e);n>-1&&o.value[i].child[l].fieldList.splice(n,1),o.value[i].child[l].fieldAll=!1}},ce=async a=>{!a||await a.validate(async(e,i)=>{if(e){if(S.value===!0)return;S.value=!0;const{level:l,role_name:t,roleid:n}=g;if(O.value=[],y.value=[],T.value=[],o.value.forEach(L=>{L.child.forEach(c=>{O.value.push(...c.fieldList),y.value.push(...c.checkList),c.is_private_change==="1"&&T.value.push(c.id)})}),y.value.length===0){K.error("\u8BF7\u9009\u62E9\u529F\u80FD!"),S.value=!1;return}let u={level:l,role_name:t,roleid:n,action:y.value,companyNo:le.value.companyNo,private_data:T.value};f.value==="add"&&delete u.roleid;const{code:w,message:J}=f.value==="add"?await ye(u):await Ee(u);S.value=!1,w===0?(K.success(q.value+"\u6210\u529F\uFF01"),U.value=!1,X("refresh")):w>100&&w<140?(U.value=!1,j()):K.error(J)}})},ue=async(a,e)=>{!a||(a.clearValidate(),a.resetFields(),await Ae(async()=>{for(let i in g)i==="role"?g[i]=e.roleid||"":g[i]=e[i]}))},b=()=>{U.value=!1,X("cancel")},S=C(!0),q=C("");async function re(a){switch(S.value=!0,f.value){case"add":q.value="\u65B0\u5EFA\u89D2\u8272";break;case"edit":q.value="\u7F16\u8F91\u89D2\u8272";break;case"view":q.value="\u89D2\u8272\u8BE6\u60C5";break;default:q.value="\u65B0\u5EFA\u89D2\u8272"}const{code:e,data:i,message:l}=await Ue({});if(e===0){let t=JSON.parse(JSON.stringify(i!=null?i:[]));t=t.filter(n=>n.child&&n.child.length>0),t=t.map(n=>(n.child.map(u=>(u.checkAll=!1,u.checkList=[],u.fieldAll=!1,u.fieldList=[],u.is_private_change="0",u.is_private==="0"?u.private=[]:u.private=[{id:"0",label:"\u516C\u6709\u6570\u636E"},{id:"1",label:"\u79C1\u6709\u6570\u636E"}],u)),n)),o.value=t}else e>100&&e<140?j():K.error(l);await ue(H.value,a),f.value!=="add"&&await he(),S.value=!1}const he=async()=>{const{code:a,data:e,message:i}=await Se({roleid:P.value});if(a===0){const{action:l,action_data:t,private_data:n,role_name:u,level:w}=e!=null?e:{};g.roleid=P.value,g.role_name=u!=null?u:"",g.level=w!=null?w:"1",O.value=l!=null?l:[],y.value=t!=null?t:[],T.value=n!=null?n:[];const J=JSON.parse(JSON.stringify(o.value));J.map(L=>(L.child&&L.child.length>0&&L.child.map(c=>(c.action&&c.action.length>0&&(c.action.map(V=>{const F=O.value.length>0?O.value.findIndex(z=>z===V.id):-1;return F!==-1&&c.checkList.push(O.value[F]),V}),c.action.length===c.checkList.length&&(c.checkAll=!0)),c.action_data&&c.action_data.length>0&&(c.action.map(V=>{const F=y.value.length>0?y.value.findIndex(z=>z===V.id):-1;return F!==-1&&c.fieldList.push(y.value[F]),V}),c.action_data.length===c.fieldList.length&&(c.fieldAll=!0)),c.private&&c.private.length===2&&(T.value.length>0?T.value.findIndex(F=>F===c.id):-1)!==-1?c.is_private_change="1":c.is_private_change="0",c)),L)),o.value=J}else a>=100&&a<=104?j():K.warning(i)};Ce(()=>Y.showModel,()=>{const{showModel:a,itemId:e,isDetails:i}=Y;U.value=a,U.value&&(P.value=e,f.value=i,re(Z))});let ve=I(()=>a=>{const e=a.action.filter(l=>a.checkList.findIndex(t=>t===l.id)>-1).length,i=a.action.filter(l=>a.checkList.findIndex(t=>t===l.id)==-1).length;return e>0&&i>0}),_e=I(()=>a=>{const e=a.action_data.filter(l=>a.fieldList.findIndex(t=>t===l.id)>-1).length,i=a.action_data.filter(l=>a.fieldList.findIndex(t=>t===l.id)==-1).length;return e>0&&i>0});return(a,e)=>{const i=m("el-input"),l=m("el-form-item"),t=m("el-col"),n=m("el-option"),u=m("el-select"),w=m("el-radio-button"),J=m("el-radio-group"),L=m("el-checkbox"),c=m("el-checkbox-group"),V=m("el-row"),F=m("el-button"),z=m("el-form"),fe=m("el-dialog"),pe=Fe("loading");return we((h(),B(fe,{"close-on-press-escape":!1,modelValue:U.value,"onUpdate:modelValue":e[3]||(e[3]=v=>U.value=v),"append-to-body":"",center:"",top:"5vh",width:"900px",title:q.value,onClose:b},{default:r(()=>[p(z,{ref_key:"ruleFormRef",ref:H,model:g,rules:ae,"label-width":"90px",class:"role-addedit",size:ee.value,"status-icon":""},{default:r(()=>[p(V,null,{default:r(()=>[p(t,{span:12},{default:r(()=>[p(l,{label:"\u89D2\u8272\u540D\u79F0",prop:"role_name"},{default:r(()=>[p(i,{modelValue:g.role_name,"onUpdate:modelValue":e[0]||(e[0]=v=>g.role_name=v),disabled:f.value==="view",placeholder:"\u89D2\u8272\u540D\u79F0"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),p(t,{span:12},{default:r(()=>[p(l,{label:"\u89D2\u8272\u7B49\u7EA7",prop:"level"},{default:r(()=>[p(u,{modelValue:g.level,"onUpdate:modelValue":e[1]||(e[1]=v=>g.level=v),style:{width:"100%"},disabled:f.value==="view",placeholder:"\u83DC\u5355\u7C7B\u578B"},{default:r(()=>[(h(!0),k(E,null,N(Q(Be),(v,D)=>(h(),B(n,{key:"type"+v.value+D,label:v.label,value:v.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1}),p(t,{span:24},{default:r(()=>[_("div",Me,[Oe,_("div",Te,[_("div",qe,[(h(!0),k(E,null,N(o.value,(v,D)=>(h(),B(V,{key:"menu"+v.id+D},{default:r(()=>[v.child&&v.child.length>0?(h(),B(t,{key:0,class:"ffff",span:24},{default:r(()=>[_("div",Je,[(h(!0),k(E,null,N(v.menu_name,(d,A)=>(h(),k("div",{key:"title"+A+d},W(d),1))),128))]),_("div",Ge,[(h(!0),k(E,null,N(v.child,(d,A)=>(h(),k("div",{class:"fbody-item",key:"yemian"+d.id+A},[d.action&&d.action.length===0&&d.action_data&&d.action_data.length===0?G("",!0):(h(),k(E,{key:0},[_("div",Re,[_("span",ze,W(d.menu_name),1),d&&d.private&&d.private.length===2?(h(),B(J,{key:0,style:{margin:"0 0 0 20px"},size:"mini",modelValue:d.is_private_change,"onUpdate:modelValue":s=>d.is_private_change=s},{default:r(()=>[(h(!0),k(E,null,N(d.private,(s,$)=>(h(),B(w,{key:s.label+$,label:s.id},{default:r(()=>[M(W(s.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):G("",!0)]),d.action&&d.action.length>0?(h(),k("div",$e,[_("div",Ke,[p(L,{modelValue:d.checkAll,"onUpdate:modelValue":s=>d.checkAll=s,disabled:f.value==="view",indeterminate:Q(ve)(d),onChange:s=>te(s,D,v,A)},{default:r(()=>[We]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","indeterminate","onChange"])]),_("div",je,[p(c,{modelValue:d.checkList,"onUpdate:modelValue":s=>d.checkList=s,disabled:f.value==="view",onChange:s=>oe(s,D,v,A)},{default:r(()=>[(h(!0),k(E,null,N(d.action,s=>(h(),B(L,{disabled:f.value==="view",key:"checkItem"+s.id,label:s.id,onChange:$=>de($,s.id,D,A)},{default:r(()=>[M(W(s.action_name),1)]),_:2},1032,["disabled","label","onChange"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])])])):G("",!0),d.action_data&&d.action_data.length>0?(h(),k("div",He,[_("div",Pe,[p(L,{modelValue:d.fieldAll,"onUpdate:modelValue":s=>d.fieldAll=s,disabled:f.value==="view",indeterminate:Q(_e)(d),onChange:s=>ie(s,D,v,A)},{default:r(()=>[Qe]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","indeterminate","onChange"])]),_("div",Xe,[p(c,{modelValue:d.fieldList,"onUpdate:modelValue":s=>d.fieldList=s,disabled:f.value==="view",onChange:s=>ne(s,D,v,A)},{default:r(()=>[(h(!0),k(E,null,N(d.action_data,s=>(h(),B(L,{key:"FieldItem"+s.id,label:s.id,disabled:f.value==="view",onChange:$=>se($,s.id,D,A)},{default:r(()=>[M(W(s.field_name),1)]),_:2},1032,["label","disabled","onChange"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])])])):G("",!0)],64))]))),128))])]),_:2},1024)):G("",!0)]),_:2},1024))),128))])])])]),_:1})]),_:1}),p(t,{span:24,class:"clear"},{default:r(()=>[f.value==="add"||f.value==="edit"?(h(),B(F,{key:0,type:"primary",class:"fr",style:{margin:"0 0 0 16px"},onClick:e[2]||(e[2]=v=>ce(H.value))},{default:r(()=>[Ye]),_:1})):G("",!0),p(F,{class:"fr",style:{margin:"0 0 0 16px"},onClick:b},{default:r(()=>[Ze]),_:1})]),_:1})]),_:1},8,["model","rules","size"])]),_:1},8,["modelValue","title"])),[[pe,S.value]])}}});var ll=me(be,[["__scopeId","data-v-79db45a0"]]);export{ll as default};
|