"use strict";(self["webpackChunklin_cms_vue"]=self["webpackChunklin_cms_vue"]||[]).push([[6515,5250],{95250:function(e,s,a){a.r(s),a.d(s,{default:function(){return t}});var i=a(96557);class t{constructor(e=0,s=10,a=0,i=5){this.uPage=e,this.uCount=s,this.lPage=a,this.gCount=i}async increaseUPage(){this.uPage+=1}async increaseGPage(){this.lPage+=1}async decreaseUPage(){this.uPage-=1,this.uPage<0&&(this.uPage=0)}async decreaseGPage(){this.lPage-=1,this.lPage<0&&(this.lPage=0)}static getAllPermissions(){return(0,i.get)("cms/admin/permission")}static async getAdminUsers({groupId:e,count:s=this.uCount,page:a=this.uPage}){let t;return t=e?await(0,i.get)("cms/admin/users",{count:s,page:a,group_id:e}):await(0,i.get)("cms/admin/users",{count:s,page:a}),t}async nextUsersPage(){return await this.increaseUPage(),this.getAdminUsers({})}async preUsersPage(){return await this.decreaseUPage(),this.getAdminUsers({})}async getGroupsWithPermissions({count:e=this.uCount,page:s=this.uPage}){const a=await(0,i.get)("cms/admin/groups",{count:e,page:s});return a}async nextGroupsPage(){return await this.increaseGPage(),this.getGroupsWithPermissions({})}async preGroupsPage(){return await this.decreaseGPage(),this.getGroupsWithPermissions({})}static async getAllGroups(){const e=await(0,i.get)("cms/admin/group/all");return e}static async getOneGroup(e){const s=await(0,i.get)(`cms/admin/group/${e}`);return s}static async createOneGroup(e,s,a){const t=await(0,i.post)("cms/admin/group",{name:e,info:s,permission_ids:a});return t}static async updateOneGroup(e,s,a){const t=await(0,i.put)(`cms/admin/group/${a}`,{name:e,info:s});return t}static async deleteOneGroup(e){const s=await(0,i._delete)(`cms/admin/group/${e}`);return s}static async deleteOneUser(e){const s=await(0,i._delete)(`cms/admin/user/${e}`);return s}static async updateOneUser(e,s,a,t,n,u,l,r){const o=await(0,i.put)(`cms/admin/user/${r}`,{email:e,staff_status:s,show_board_flag:a,hiredate:t,unhiredate:n,send_email_flag:u,group_ids:l});return o}static async dispatchPermissions(e,s){const a=await(0,i.post)("cms/admin/permission/dispatch/batch",{group_id:e,permission_ids:s});return a}static async changePassword(e,s,a){const t=await(0,i.put)(`cms/admin/user/${a}/password`,{new_password:e,confirm_password:s});return t}static async removePermissions(e,s){const a=await(0,i.post)("cms/admin/permission/remove",{group_id:e,permission_ids:s});return a}}},6515:function(e,s,a){a.r(s),a.d(s,{default:function(){return P}});var i=a(20641),t=a(90033);const n={class:"container"},u={class:"group"},l={class:"label"},r={class:"details"},o={class:"module-box"},c={class:"permissions-ul"};function d(e,s,a,d,m,p){const g=(0,i.g2)("el-checkbox"),h=(0,i.g2)("el-checkbox-group"),v=(0,i.gN)("loading");return(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",n,[(0,i.Lk)("div",u,[(0,i.Lk)("div",l,[(0,i.Lk)("label",null,(0,t.v_)(a.title),1)]),(0,i.Lk)("div",r,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(d.allPermissions,((e,a)=>((0,i.uX)(),(0,i.CE)("div",{class:"permissions-box",key:a},[(0,i.bF)(h,{modelValue:d.permissionModuleNames,"onUpdate:modelValue":s[0]||(s[0]=e=>d.permissionModuleNames=e)},{default:(0,i.k6)((()=>[(0,i.Lk)("div",o,[(0,i.bF)(g,{onChange:s=>d.moduleCheck(s,e,a),class:"module",value:a,label:a,indeterminate:d.halfPermissions.includes(a)},null,8,["onChange","value","label","indeterminate"])])])),_:2},1032,["modelValue"]),(0,i.bF)(h,{modelValue:d.checkedPermissionNames,"onUpdate:modelValue":s[1]||(s[1]=e=>d.checkedPermissionNames=e)},{default:(0,i.k6)((()=>[(0,i.Lk)("ul",c,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e,((s,t)=>((0,i.uX)(),(0,i.CE)("li",{class:"permissions-li",key:t},[(0,i.bF)(g,{value:s.name,label:s.name,onChange:i=>d.singleCheck(s.id,e,a)},null,8,["value","label","onChange"])])))),128))])])),_:2},1032,["modelValue"])])))),128))])])])),[[v,d.loading]])}a(44114),a(43375),a(39225),a(13972),a(99209),a(25714),a(17561),a(66197);var m=a(50953),p=a(95250),g={props:["id","title"],setup(e,s){const a=(0,m.KR)(!1),t=(0,m.KR)({}),n=(0,m.KR)([]),u=(0,m.KR)([]),l=(0,m.KR)([]),r=(0,m.KR)([]),o=async()=>{if(t.value=await p["default"].getAllPermissions(),e.id){const s=await p["default"].getOneGroup(e.id);let a=[];const i={};s.permissions.forEach((e=>{u.value.push(e.id),r.value.push(e.name),a.push(e.module),i[e.module]?i[e.module]++:i[e.module]=1})),a=Array.from(new Set(a)),a.forEach((e=>{t.value[e].length!==i[e]&&n.value.push(e)})),l.value=Array.from(new Set(a))}s.emit("getCacheAuthIds",u.value.slice()),s.emit("updatePermissions",u.value),s.emit("updateAllPermissions",t.value)};(0,i.sV)((async()=>{try{a.value=!0,await o(),a.value=!1}catch(e){a.value=!1,console.error(e)}}));const c=(e,a,i)=>{const t=a.map((e=>e.id)),o=a.map((e=>e.name));e?(u.value=Array.from(new Set(u.value.concat(t))),r.value=Array.from(new Set(r.value.concat(o))),l.value.includes(i)||l.value.push(i)):(u.value=u.value.filter((e=>!t.includes(e))),r.value=r.value.filter((e=>!o.includes(e))),l.value=l.value.filter((e=>e!==i))),console.log("permissionModuleIds"),console.log(u),console.log("checkedPermissionNames"),console.log(r),n.value=n.value.filter((e=>e!==i)),s.emit("updatePermissions",u.value)},d=(e,a,i)=>{const t=a.map((e=>e.id));let r=0;const o=u.value.indexOf(e);-1===o?u.value.push(e):u.value.splice(o,1),t.forEach((e=>{u.value.indexOf(e)>-1&&r++,t.length===r?(l.value.push(i),n.value=n.value.filter((e=>e!==i))):0===r?(l.value=l.value.filter((e=>e!==i)),n.value=n.value.filter((e=>e!==i))):(l.value=l.value.filter((e=>e!==i)),n.value.includes(i)||n.value.push(i))})),s.emit("updatePermissions",u.value)};return{loading:a,moduleCheck:c,singleCheck:d,allPermissions:t,halfPermissions:n,getGroupPermissions:o,permissionModuleIds:u,permissionModuleNames:l,checkedPermissionNames:r}}},h=a(66262);const v=(0,h.A)(g,[["render",d],["__scopeId","data-v-79676764"]]);var P=v}}]);
|