"use strict";(self["webpackChunklin_cms_vue"]=self["webpackChunklin_cms_vue"]||[]).push([[2626,5250,6515],{95250:function(e,s,a){a.r(s),a.d(s,{default:function(){return n}});var t=a(96557);class n{constructor(e=0,s=10,a=0,t=5){this.uPage=e,this.uCount=s,this.lPage=a,this.gCount=t}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,t.get)("cms/admin/permission")}static async getAdminUsers({groupId:e,count:s=this.uCount,page:a=this.uPage}){let n;return n=e?await(0,t.get)("cms/admin/users",{count:s,page:a,group_id:e}):await(0,t.get)("cms/admin/users",{count:s,page:a}),n}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,t.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,t.get)("cms/admin/group/all");return e}static async getOneGroup(e){const s=await(0,t.get)(`cms/admin/group/${e}`);return s}static async createOneGroup(e,s,a){const n=await(0,t.post)("cms/admin/group",{name:e,info:s,permission_ids:a});return n}static async updateOneGroup(e,s,a){const n=await(0,t.put)(`cms/admin/group/${a}`,{name:e,info:s});return n}static async deleteOneGroup(e){const s=await(0,t._delete)(`cms/admin/group/${e}`);return s}static async deleteOneUser(e){const s=await(0,t._delete)(`cms/admin/user/${e}`);return s}static async updateOneUser(e,s,a,n,i,l,u,r){const o=await(0,t.put)(`cms/admin/user/${r}`,{email:e,staff_status:s,show_board_flag:a,hiredate:n,unhiredate:i,send_email_flag:l,group_ids:u});return o}static async dispatchPermissions(e,s){const a=await(0,t.post)("cms/admin/permission/dispatch/batch",{group_id:e,permission_ids:s});return a}static async changePassword(e,s,a){const n=await(0,t.put)(`cms/admin/user/${a}/password`,{new_password:e,confirm_password:s});return n}static async removePermissions(e,s){const a=await(0,t.post)("cms/admin/permission/remove",{group_id:e,permission_ids:s});return a}}},32626:function(e,s,a){a.r(s),a.d(s,{default:function(){return b}});var t=a(20641),n=a(53751);const i=e=>((0,t.Qi)("data-v-dea61f72"),e=e(),(0,t.jt)(),e),l={class:"container"},u=i((()=>(0,t.Lk)("div",{class:"title"},"新建分组信息",-1))),r={class:"content"};function o(e,s,a,i,o,c){const d=(0,t.g2)("el-input"),m=(0,t.g2)("el-form-item"),p=(0,t.g2)("group-permissions"),g=(0,t.g2)("el-button"),v=(0,t.g2)("el-form"),f=(0,t.g2)("el-col"),h=(0,t.g2)("el-row"),P=(0,t.gN)("loading");return(0,t.uX)(),(0,t.CE)("div",l,[u,(0,t.bF)(h,null,{default:(0,t.k6)((()=>[(0,t.bF)(f,{lg:16,md:20,sm:24,xs:24},{default:(0,t.k6)((()=>[(0,t.Lk)("div",r,[(0,t.bo)(((0,t.uX)(),(0,t.Wv)(v,{ref:"form","status-icon":"",rules:i.rules,model:i.group,"label-position":"right","label-width":"100px",onSubmit:s[4]||(s[4]=(0,n.D$)((()=>{}),["prevent"]))},{default:(0,t.k6)((()=>[(0,t.bF)(m,{label:"分组名称",prop:"name"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{clearable:"",modelValue:i.group.name,"onUpdate:modelValue":s[0]||(s[0]=e=>i.group.name=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(m,{label:"分组描述",prop:"info"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{clearable:"",modelValue:i.group.info,"onUpdate:modelValue":s[1]||(s[1]=e=>i.group.info=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(p,{title:"分配权限",ref:"groupPermissions",onUpdatePermissions:i.updatePermissions},null,8,["onUpdatePermissions"])])),_:1}),(0,t.bF)(m,{class:"submit"},{default:(0,t.k6)((()=>[(0,t.bF)(g,{type:"primary",onClick:s[2]||(s[2]=e=>i.submitForm("form"))},{default:(0,t.k6)((()=>[(0,t.eW)("保 存")])),_:1}),(0,t.bF)(g,{onClick:s[3]||(s[3]=e=>i.resetForm("form"))},{default:(0,t.k6)((()=>[(0,t.eW)("重 置")])),_:1})])),_:1})])),_:1},8,["rules","model"])),[[P,i.loading]])])])),_:1})])),_:1})])}a(44114);var c=a(75220),d=a(50953),m=a(20163),p=a(95250),g=a(6515),v={components:{GroupPermissions:g["default"]},setup(){const{rules:e}=f(),s=(0,d.KR)(null),a=(0,d.KR)(null),t=(0,d.KR)(!1),n=(0,c.rd)(),i=(0,d.KR)([]),l=(0,d.KR)([]),u=(0,d.Kh)({name:"",info:""}),r=()=>{s.value.resetFields(),a.value.getGroupPermissions()},o=async()=>{s.value.validate((async e=>{if(e){let e={};const a=i.value.filter((e=>Object.keys(l.value).indexOf(e)<0));try{t.value=!0,e=await p["default"].createOneGroup(u.name,u.info,a)}catch(s){t.value=!1,console.error(s)}e.code{i.value=e};return{form:s,rules:e,group:u,loading:t,resetForm:r,submitForm:o,groupPermissions:a,updatePermissions:g}}};function f(){const e=(e,s,a)=>{if(!s)return a(new Error("分组名称不能为空"));a()},s={info:[],name:[{validator:e,trigger:["blur","change"],required:!0}]};return{rules:s}}var h=a(66262);const P=(0,h.A)(v,[["render",o],["__scopeId","data-v-dea61f72"]]);var b=P},6515:function(e,s,a){a.r(s),a.d(s,{default:function(){return h}});var t=a(20641),n=a(90033);const i={class:"container"},l={class:"group"},u={class:"label"},r={class:"details"},o={class:"module-box"},c={class:"permissions-ul"};function d(e,s,a,d,m,p){const g=(0,t.g2)("el-checkbox"),v=(0,t.g2)("el-checkbox-group"),f=(0,t.gN)("loading");return(0,t.bo)(((0,t.uX)(),(0,t.CE)("div",i,[(0,t.Lk)("div",l,[(0,t.Lk)("div",u,[(0,t.Lk)("label",null,(0,n.v_)(a.title),1)]),(0,t.Lk)("div",r,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(d.allPermissions,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{class:"permissions-box",key:a},[(0,t.bF)(v,{modelValue:d.permissionModuleNames,"onUpdate:modelValue":s[0]||(s[0]=e=>d.permissionModuleNames=e)},{default:(0,t.k6)((()=>[(0,t.Lk)("div",o,[(0,t.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,t.bF)(v,{modelValue:d.checkedPermissionNames,"onUpdate:modelValue":s[1]||(s[1]=e=>d.checkedPermissionNames=e)},{default:(0,t.k6)((()=>[(0,t.Lk)("ul",c,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(e,((s,n)=>((0,t.uX)(),(0,t.CE)("li",{class:"permissions-li",key:n},[(0,t.bF)(g,{value:s.name,label:s.name,onChange:t=>d.singleCheck(s.id,e,a)},null,8,["value","label","onChange"])])))),128))])])),_:2},1032,["modelValue"])])))),128))])])])),[[f,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),n=(0,m.KR)({}),i=(0,m.KR)([]),l=(0,m.KR)([]),u=(0,m.KR)([]),r=(0,m.KR)([]),o=async()=>{if(n.value=await p["default"].getAllPermissions(),e.id){const s=await p["default"].getOneGroup(e.id);let a=[];const t={};s.permissions.forEach((e=>{l.value.push(e.id),r.value.push(e.name),a.push(e.module),t[e.module]?t[e.module]++:t[e.module]=1})),a=Array.from(new Set(a)),a.forEach((e=>{n.value[e].length!==t[e]&&i.value.push(e)})),u.value=Array.from(new Set(a))}s.emit("getCacheAuthIds",l.value.slice()),s.emit("updatePermissions",l.value),s.emit("updateAllPermissions",n.value)};(0,t.sV)((async()=>{try{a.value=!0,await o(),a.value=!1}catch(e){a.value=!1,console.error(e)}}));const c=(e,a,t)=>{const n=a.map((e=>e.id)),o=a.map((e=>e.name));e?(l.value=Array.from(new Set(l.value.concat(n))),r.value=Array.from(new Set(r.value.concat(o))),u.value.includes(t)||u.value.push(t)):(l.value=l.value.filter((e=>!n.includes(e))),r.value=r.value.filter((e=>!o.includes(e))),u.value=u.value.filter((e=>e!==t))),console.log("permissionModuleIds"),console.log(l),console.log("checkedPermissionNames"),console.log(r),i.value=i.value.filter((e=>e!==t)),s.emit("updatePermissions",l.value)},d=(e,a,t)=>{const n=a.map((e=>e.id));let r=0;const o=l.value.indexOf(e);-1===o?l.value.push(e):l.value.splice(o,1),n.forEach((e=>{l.value.indexOf(e)>-1&&r++,n.length===r?(u.value.push(t),i.value=i.value.filter((e=>e!==t))):0===r?(u.value=u.value.filter((e=>e!==t)),i.value=i.value.filter((e=>e!==t))):(u.value=u.value.filter((e=>e!==t)),i.value.includes(t)||i.value.push(t))})),s.emit("updatePermissions",l.value)};return{loading:a,moduleCheck:c,singleCheck:d,allPermissions:n,halfPermissions:i,getGroupPermissions:o,permissionModuleIds:l,permissionModuleNames:u,checkedPermissionNames:r}}},v=a(66262);const f=(0,v.A)(g,[["render",d],["__scopeId","data-v-79676764"]]);var h=f}}]); //# sourceMappingURL=2626.d467d317.js.map