Files
bssapp/ui/dist/spa/js/673.8f68da58.js

1 line
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";(globalThis["webpackChunkbaggisowtfaresystem"]=globalThis["webpackChunkbaggisowtfaresystem"]||[]).push([[673],{7673:(e,l,a)=>{a.r(l),a.d(l,{default:()=>X});a(939),a(3872),a(7008),a(4520),a(7049);var o=a(1347),t=a(4187),s=a(7763),n=a(455),u=a(144),i=a(2986),r=a(588);const d={key:0,class:"q-pa-xl flex flex-center"},c={class:"sticky-stack"},m={key:0,class:"filter-bar row q-col-gutter-md"},p={class:"col-4"},v={class:"col-4"},y={class:"save-toolbar"},k={key:0,class:"permissions-table-scroll"},b={key:0},g={key:1,class:"column items-center"},f={class:"text-caption"},w={key:0},h={__name:"RoleDepartmentPermissionPage",setup(e){const{canUpdate:l}=(0,r.J)(),a=l("user"),h=(0,n.lq)(),R=(0,n.rd)(),A=(0,t.KR)([]),C=(0,t.KR)([]),E=(0,t.KR)(null),q=(0,t.KR)(null),x=(0,t.KR)([]),L=(0,t.KR)(!1),K=(0,t.KR)(!1),V=(0,t.KR)(!1),Q=[{key:"write",label:"Ekleme"},{key:"read",label:"Görüntüleme"},{key:"delete",label:"Silme"},{key:"update",label:"Güncelleme"},{key:"export",label:ıktı"}],_=(0,t.KR)([]),X=[{name:"module",label:"Modül",field:"label",align:"left"},...Q.map(e=>({name:e.key,label:e.label,align:"center"}))];let P=!1;function F(){R.push({name:"role-dept-permissions-list"})}function S(){const e=String(h.query.roleId||"").trim(),l=String(h.query.deptCode||"").trim();/^\d+$/.test(e)&&Number(e)>0&&(E.value=e),l&&(q.value=l),E.value&&q.value&&B()}async function T(){const[e,l,a]=await Promise.all([i.Ay.get("/lookups/roles-perm"),i.Ay.get("/lookups/departments-perm"),i.Ay.get("/lookups/modules")]);A.value=e.data||[],C.value=l.data||[],_.value=a.data||[],V.value=!0}function U(){x.value=_.value.map(e=>{const l={module:String(e.value).toLowerCase().trim(),label:e.label};return Q.forEach(e=>{l[e.key]=!1}),l})}async function B(){if(E.value&&q.value&&!P){P=!0,L.value=!0;try{_.value.length||await T(),U();const e=await i.Ay.get(`/roles/${E.value}/departments/${q.value}/permissions`),l=Array.isArray(e.data)?e.data:[];console.log("PERM LIST:",l.slice(0,10));const a={insert:"write",view:"read",delete:"delete",update:"update",export:"export"};l.forEach(e=>{const l=String(e.module_code||e.module).toLowerCase().trim(),o=String(e.action).toLowerCase().trim(),t=a[o]||o,s=x.value.find(e=>e.module===l);s&&s.hasOwnProperty(t)&&(s[t]=Boolean(e.allowed))}),K.value=!1}catch(e){console.error("PERM LOAD ERROR:",e),u.A.create({type:"negative",message:"Yetkiler yüklenemedi"})}finally{L.value=!1,P=!1}}}async function D(){try{L.value=!0;const e=[];x.value.forEach(l=>{Q.forEach(a=>{e.push({module:l.module,action:a.key,allowed:l[a.key]})})}),await i.Ay.post(`/roles/${E.value}/departments/${q.value}/permissions`,e),u.A.create({type:"positive",message:"Kaydedildi"}),K.value=!1}catch{u.A.create({type:"negative",message:"Kayıt hatası"})}finally{L.value=!1}}function $(e){return!!x.value.length&&x.value.every(l=>!0===l[e])}function I(e,l){x.value.forEach(a=>{a[e]=l}),K.value=!0}return(0,o.sV)(async()=>{await T(),S()}),(0,o.wB)(E,e=>console.log("ROLE_ID >>>",e)),(0,o.wB)(q,e=>console.log("DEPT >>>",e)),(0,o.wB)(()=>[h.query.roleId,h.query.deptCode],()=>{V.value&&S()}),(e,l)=>{const n=(0,o.g2)("q-spinner"),u=(0,o.g2)("q-select"),i=(0,o.g2)("q-btn"),r=(0,o.g2)("q-checkbox"),h=(0,o.g2)("q-th"),R=(0,o.g2)("q-td"),Q=(0,o.g2)("q-table"),_=(0,o.g2)("q-page");return(0,o.uX)(),(0,o.CE)(o.FK,null,[(0,t.R1)(a)&&!V.value?((0,o.uX)(),(0,o.CE)("div",d,[(0,o.bF)(n,{color:"primary",size:"48px"})])):(0,o.Q3)("",!0),(0,t.R1)(a)?((0,o.uX)(),(0,o.Wv)(_,{key:1,class:"permissions-page"},{default:(0,o.k6)(()=>[(0,o.Lk)("div",c,[V.value?((0,o.uX)(),(0,o.CE)("div",m,[(0,o.Lk)("div",p,[(0,o.bF)(u,{modelValue:E.value,"onUpdate:modelValue":[l[0]||(l[0]=e=>E.value=e),B],options:A.value,"option-value":"id","option-label":"title","emit-value":"","map-options":"",label:"Rol",dense:"",outlined:""},null,8,["modelValue","options"])]),(0,o.Lk)("div",v,[(0,o.bF)(u,{modelValue:q.value,"onUpdate:modelValue":[l[1]||(l[1]=e=>q.value=e),B],options:C.value,"option-value":"id","option-label":"title","emit-value":"","map-options":"",label:"Departman",dense:"",outlined:""},null,8,["modelValue","options"])])])):(0,o.Q3)("",!0),(0,o.Lk)("div",y,[l[3]||(l[3]=(0,o.Lk)("div",{class:"label"}," Rol + Departman Yetkilendirme ",-1)),(0,o.bF)(i,{flat:"",icon:"list",label:"Liste",onClick:F}),(0,t.R1)(a)?((0,o.uX)(),(0,o.Wv)(i,{key:0,color:"primary",icon:"save",label:"Kaydet",disable:!K.value,onClick:D},null,8,["disable"])):(0,o.Q3)("",!0)])]),V.value?((0,o.uX)(),(0,o.CE)("div",k,[(0,o.bF)(Q,{class:"permissions-table",rows:x.value,columns:X,"row-key":"module",flat:"",bordered:"",dense:"",loading:L.value,"rows-per-page-options":[0],pagination:{rowsPerPage:0}},{"header-cell":(0,o.k6)(e=>[(0,o.bF)(h,{props:e},{default:(0,o.k6)(()=>["module"===e.col.name?((0,o.uX)(),(0,o.CE)("span",b,(0,s.v_)(e.col.label),1)):((0,o.uX)(),(0,o.CE)("div",g,[(0,o.Lk)("span",f,(0,s.v_)(e.col.label),1),(0,o.bF)(r,{dense:"","model-value":$(e.col.name),"onUpdate:modelValue":l=>I(e.col.name,l)},null,8,["model-value","onUpdate:modelValue"])]))]),_:2},1032,["props"])]),"body-cell":(0,o.k6)(e=>[(0,o.bF)(R,{props:e,class:(0,s.C4)("module"===e.col.name?"permissions-sticky-col":"")},{default:(0,o.k6)(()=>["module"===e.col.name?((0,o.uX)(),(0,o.CE)("span",w,(0,s.v_)(e.row.label),1)):((0,o.uX)(),(0,o.Wv)(r,{key:1,modelValue:e.row[e.col.name],"onUpdate:modelValue":[l=>e.row[e.col.name]=l,l[2]||(l[2]=e=>K.value=!0)],dense:""},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["props","class"])]),_:1},8,["rows","loading"])])):(0,o.Q3)("",!0)]),_:1})):((0,o.uX)(),(0,o.Wv)(_,{key:2,class:"q-pa-md flex flex-center"},{default:(0,o.k6)(()=>[...l[4]||(l[4]=[(0,o.Lk)("div",{class:"text-negative text-subtitle1"}," Bu module erisim yetkiniz yok. ",-1)])]),_:1}))],64)}}};var R=a(6356),A=a(5013),C=a(6941),E=a(2677),q=a(6087),x=a(2517),L=a(8349),K=a(8785),V=a(272),Q=a.n(V);const _=h,X=_;Q()(h,"components",{QSpinner:R.A,QPage:A.A,QSelect:C.A,QBtn:E.A,QTable:q.A,QTh:x.A,QCheckbox:L.A,QTd:K.A})}}]);