File manager - Edit - /home/autoph/public_html/projects/ahg-hr/assets/access.7eba00ad.js
Back
import{L as F,a as R}from"./index.3c190fb8.js";import{I as A}from"./index.1fa545a8.js";import{F as I}from"./index.b0868b90.js";import"./index.48097a46.js";import{_ as O,c as u,w as y,r as a,o as l,j as p,d as r,k as D,e as c,b as n,F as f,m as g,t as B}from"./index.e8902503.js";/* empty css */import{T as U}from"./index.c1433bbe.js";import"./index.edca6480.js";import{B as E}from"./BackButton.5cdc556f.js";/* empty css */import{S as G}from"./SubmitButton.8f4c4681.js";import{U as j}from"./UpdateButton.af135175.js";import"./jspdf.es.min.e8517b60.js";/* empty css */import{M as N}from"./ModuleService.912c5d0f.js";import{P as T}from"./PermissionService.e695b6d1.js";import{R as k}from"./RoleService.4313b93a.js";import"./array.29c46f9b.js";import{L as q}from"./Loading.587e211a.js";import"./vue-quill.snow.2184ee49.js";/* empty css */import{C as Y}from"./index.9d01a5d9.js";import"./logo-black.7c15feb3.js";import"./logo-white.b04c5a89.js";import"./transition.e3cedc97.js";import"./EmployeeService.0b822608.js";import"./vue-cleave.min.795cb0c2.js";import"./es.string.replace.b08ed996.js";import"./Loading.vue_vue_type_style_index_0_scoped_cbded5a2_lang.4f499d44.js";import"./ck-white.4bf441fa.js";const z={components:{FormGroup:I,Layout:F,InputGroup:A,TextInput:U,SubmitButton:G,UpdateButton:j,BackButton:E,Multiselect:R,Loading:q,Checkbox:Y},data(){return{form:{id:this.$route.params.id??null,company_id:null,dealership_id:null,modules:[]},searchModule:"",modules:[],permissions:[],companyOptions:[],dealerships:[],rolePermissions:[],errors:{},state:{isEdit:this.$route.params.id!==void 0&&this.$route.params.id!==null,isSaving:!1,isLoading:!1},checkAllPermissions:[],id:this.$route.params.id??null,title:"Role Access",theme:"warning",headerIcon:"heroicons:document-text"}},watch:{"form.company_id":{handler(){this.resetForm()}},"form.dealership_id":{handler(){this.resetForm()}}},computed:{filteredModules:function(){return this.form.modules.filter(s=>s.name.toLowerCase().includes(this.searchModule.toLowerCase()))},dealershipOptions:function(){let s=[];return this.form.company_id&&(s=this.dealerships.filter(e=>this.form.company_id==e.company_id).map(e=>({label:e.name,value:e.id}))),s}},methods:{showDetail(s){console.log("detail"),console.log(s)},async fetchRecord(){this.state.isLoading=!0,await k.fetchRecord(this.$route.params.id).then(s=>{if(console.log(s.data.data),s.status==200){let e=s.data.data;this.companyOptions=e.companies.map(t=>({label:t.name,value:t.id})),this.dealerships=e.dealerships}}).catch(s=>{console.log(s)}).finally(()=>{this.state.isLoading=!1})},async fetchModules(){await N.fetchRecords().then(s=>{s.status==200&&(this.modules=s.data.data.map(e=>({id:e.id,name:e.name})))})},async fetchPermissions(){await T.fetchRecords().then(s=>{s.status==200&&(this.permissions=s.data.data.map(e=>({id:e.id,name:e.name})))})},async fetchRolePermission(){this.state.isLoading=!0,await k.fetchRolePermission(this.$route.params.id).then(s=>{s.status==200&&(this.rolePermissions=s.data.data,this.modules.length>0&&this.permissions.length>0&&this.resetForm())}).finally(()=>{this.state.isLoading=!1})},async submitForm(){this.state.isSaving=!0,console.log(this.form);let s={};s=this.form,s.modules=s.modules.map(e=>({...e,permissions:e.permissions.filter(t=>t.checked==!0)})).filter(e=>e.permissions!==null&&e.permissions.length>0),console.log("formData"),console.log(s),await k.savePermission(s).then(e=>{e.status==201?(this.$swal.fire({title:"Great!",text:"Record successfully saved.",icon:"success",timer:2e3}),this.fetchRolePermission()):this.$swal.fire({title:"Ooops! something is wrong.",text:e.data.message,icon:"error",timer:2e3})}).catch(e=>{console.log(e),e.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:e.response.data.message??null,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1})},confirmSubmit(){this.$swal.fire({title:"Are you sure you want to save this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(s=>{s.value&&this.submitForm()})},resetForm(){this.form.modules=[],this.checkAllPermissions=[],this.modules.forEach(s=>{let e=this.filteredPermissions(s.id),t=[];this.permissions.forEach(_=>{t.push({id:_.id,checked:e.length>0&&e.includes(_.id)})}),this.form.modules.push({id:s.id,name:s.name,permissions:t})}),console.log("this.form"),console.log(this.form)},checkAll(s){if(this.checkAllPermissions.includes(s)){const e=this.checkAllPermissions.indexOf(s);this.checkAllPermissions.splice(e)}else this.checkAllPermissions.push(s);this.form.modules.forEach(e=>{e.permissions.forEach(t=>{t.id==s&&(this.checkAllPermissions.includes(t.id)?t.checked=!0:t.checked=!1)})})},filteredPermissions(s){let e=[];return this.rolePermissions.length>0&&(e=this.rolePermissions.filter(t=>t.company_id==this.form.company_id&&t.dealership_id==(this.form.dealership_id??0)&&t.module_id==s).map(t=>t.permission_id)),e}},mounted(){this.fetchModules(),this.fetchPermissions(),this.$route.params.id&&(this.fetchRolePermission(),this.fetchRecord())}},H={class:"p-2"},J={class:"w-full grid lg:flex lg:flex-row gap-2 items-center"},K={class:"flex-grow grid grid-cols-1 lg:grid-cols-2 gap-2"},Q={class:"flex justify-end"},W={class:"flex gap-1 justify-end"},X={class:"overflow-x-auto"},Z={key:0,class:"min-w-full bg-white border border-gray-300 text-xs lg:text-base"},$={class:"border-b border-slate-300 p-3"},ee={class:"flex justify-center"},se={class:"py-2 px-4 border-b font-semibold text-[#116466]"},te={class:"flex justify-center"};function oe(s,e,t,_,o,m){const x=a("Loading"),b=a("Multiselect"),v=a("FormGroup"),C=a("SubmitButton"),L=a("BackButton"),S=a("InputGroup"),w=a("Checkbox"),V=a("Layout");return l(),u(V,{header:o.title,theme:o.theme,headerIcon:o.headerIcon},{default:y(()=>[o.state.isLoading?(l(),u(x,{key:0,text:"Fetching record"})):p("",!0),o.state.isSaving?(l(),u(x,{key:1,text:"Saving record"})):p("",!0),r("div",H,[r("form",{onSubmit:e[3]||(e[3]=D((...i)=>m.confirmSubmit&&m.confirmSubmit(...i),["prevent"])),class:"space-y-4"},[r("div",J,[r("div",K,[c(v,{label:"Company"},{default:y(()=>[c(b,{modelValue:o.form.company_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.form.company_id=i),id:"company_id","close-on-select":!0,searchable:!0,options:o.companyOptions},null,8,["modelValue","options"])]),_:1}),c(v,{label:"Dealership"},{default:y(()=>[c(b,{modelValue:o.form.dealership_id,"onUpdate:modelValue":e[1]||(e[1]=i=>o.form.dealership_id=i),id:"dealership","close-on-select":!0,searchable:!0,options:m.dealershipOptions},null,8,["modelValue","options"])]),_:1})]),r("div",Q,[r("div",W,[c(C,{text:"Save"}),c(L,{link:{name:"roles"}})])])]),r("div",X,[!o.state.isSaving&&!o.state.isLoading?(l(),n("table",Z,[r("thead",null,[r("tr",null,[e[4]||(e[4]=r("th",{class:"py-2 px-4"},"MODULES",-1)),(l(!0),n(f,null,g(o.permissions,(i,d)=>(l(),n("th",{class:"py-2 px-4",key:d},B(i.name),1))),128))]),r("tr",null,[r("td",$,[o.form.modules.length>0?(l(),u(S,{key:0,modelValue:o.searchModule,"onUpdate:modelValue":e[2]||(e[2]=i=>o.searchModule=i),placeholder:"Search",type:"text",prependIcon:"heroicons-outline:search",merged:""},null,8,["modelValue"])):p("",!0)]),(l(!0),n(f,null,g(o.permissions,i=>(l(),n("td",{key:i.id,class:"py-2 px-4 border-b border-slate-300"},[r("div",ee,[c(w,{activeClass:"ring-[#116466] bg-[#116466]",checked:o.checkAllPermissions.includes(i.id),onClick:d=>m.checkAll(i.id)},null,8,["checked","onClick"])])]))),128))])]),r("tbody",null,[(l(!0),n(f,null,g(m.filteredModules,(i,d)=>(l(),n("tr",{key:d},[r("td",se,B(i.name),1),(l(!0),n(f,null,g(i.permissions,(h,M)=>(l(),n("td",{class:"py-2 px-4 border-b",key:M},[r("div",te,[c(w,{modelValue:h.checked,"onUpdate:modelValue":P=>h.checked=P,activeClass:"ring-[#116466] bg-[#116466]",checked:h.checked,onClick:P=>m.showDetail(i),value:h.checked},null,8,["modelValue","onUpdate:modelValue","checked","onClick","value"])])]))),128))]))),128))])])):p("",!0)])],32)])]),_:1},8,["header","theme","headerIcon"])}const Ie=O(z,[["render",oe]]);export{Ie as default};
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings