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