!function(){function e(e,a){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,a){if(!e)return;if("string"==typeof e)return l(e,a);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return l(e,a)}(e))||a&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var t,s=!0,o=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){o=!0,t=e},f:function(){try{s||null==i.return||i.return()}finally{if(o)throw t}}}}function l(e,l){(null==l||l>e.length)&&(l=e.length);for(var a=0,i=new Array(l);a0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(a.children&&a.children.length){var i,n=e(a.children);try{for(n.s();!(i=n.n()).done;){var r=i.value;r.checked=l,a.children&&a.children.length&&k(l,r)}}catch(t){n.e(t)}finally{n.f()}}}function m(){var l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise((function(i){var n={},r=[];!function l(){var i,t=arguments.length>1?arguments[1]:void 0,s=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(s.s();!(i=s.n()).done;){var o=i.value;t&&(n[o.key]=a?4:o.data),(!0===o.checked||a)&&r.push(o.key),o.children&&o.children.length>0&&l(o.children,!1)}}catch(c){s.e(c)}finally{s.f()}}(l,!0),i({data_permissions:JSON.stringify(n),permissions:r.join(",")})}))}function f(){var l,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(i.s();!(l=i.n()).done;){var n=l.value;n.data=1,n.checked=a,n.children?f(n.children):n.children=[]}}catch(r){i.e(r)}finally{i.f()}}function p(){var l,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(n.s();!(l=n.n()).done;){var r=l.value;r.data=a[r.key]||1,r.checked=i.includes(r.key),r.children?p(r.children,a,i):r.children=[]}}catch(t){n.e(t)}finally{n.f()}}function h(){var e=JSON.parse(JSON.stringify(a));return f(e),e}b(a);var v={__name:"RoleCEDialog",emits:["refresh","update"],setup:function(e,l){var a=l.expose,t=l.emit,s=i(),o=i(!1),c=i(""),d=i(!1),b=n({id:"",name:"",describe:""}),u=n({name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],describe:[{required:!0,message:"请输入角色描述",trigger:"blur"}]});function k(){s.value.resetFields()}function m(){k(),o.value=!1}function f(){var e=b.id?"patch":"post",l={name:b.name,describe:b.describe,company_id:y.getters.company};return"超级管理员"==l.name?r.exports.Message.error("超级管理员角色名称已拥有"):(b.id&&(l.id=b.id),l.company_id?void(d.value||(d.value=!0,HTTP[e]("role",l).then((function(l){if(0!==l.code)return new Error(l);r.exports.Message.success("".concat(c.value,"成功")),"patch"===e?t("update",l.data):t("refresh"),setTimeout(m,1e3)})).catch((function(e){r.exports.Message.error(e.msg||"".concat(c.value,"失败"))})).finally((function(){setTimeout((function(){return d.value=!1}),1e3)})))):r.exports.Message.error("缺少公司ID"))}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;b.id="",b.name="",b.describe="",e?(c.value="编辑角色",b.id=e.id,b.name=e.name,b.describe=e.describe):c.value="创建角色",o.value=!0}return a({handleInitForm:p}),{__sfc:!0,ruleFormRef:s,dialogVisible:o,dialogTitle:c,loading:d,emits:t,ruleForm:b,rules:u,resetForm:k,handleCancel:m,roleCE:f,submitForm:function(){s.value.validate((function(e){e&&f()}))},handleInitForm:p}}},g=u(v,(function(){var e=this,l=e._self._c,a=e._self._setupProxy;return l("div",{staticClass:"role-create-edit-dialog"},[l("el-dialog",{attrs:{title:a.dialogTitle,visible:a.dialogVisible,width:"30%","append-to-body":""},on:{"update:visible":function(e){a.dialogVisible=e}}},[l("el-form",{ref:"ruleFormRef",staticClass:"demo-ruleForm",attrs:{model:a.ruleForm,rules:a.rules,"label-width":"100px"}},[l("el-form-item",{attrs:{label:"角色名称",prop:"name"}},[l("el-input",{model:{value:a.ruleForm.name,callback:function(l){e.$set(a.ruleForm,"name",l)},expression:"ruleForm.name"}})],1),l("el-form-item",{attrs:{label:"角色描述",prop:"describe"}},[l("el-input",{attrs:{type:"textarea",autosize:{minRows:4,maxRows:14}},model:{value:a.ruleForm.describe,callback:function(l){e.$set(a.ruleForm,"describe",l)},expression:"ruleForm.describe"}})],1)],1),l("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[l("el-button",{on:{click:a.handleCancel}},[e._v("取 消")]),l("el-button",{attrs:{loading:a.loading,type:"primary"},on:{click:a.submitForm}},[e._v(" 确 定 ")])],1)],1)],1)}),[],!1,null,"e155160c",null,null).exports,x={__name:"roleViews",setup:function(e){var l=i(),a=i(h()),b=i(),u=n({results:[],filter:{limit:30,offset:0,del_flag:0,ordering:"-id"}}),y=i(null),f=t((function(){return y.value&&y.value.id||null})),v=function(e){y.value=e;var i=y.value.data_permission_json,n=y.value.permission_data;i=i&&i.length?JSON.parse(i):{},n=n&&n.length?n.split(",").map((function(e){return Number(e)})):[],p(a.value,i,n),l.value.scrollTop=0},x=function e(){var l=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;l&&(u.filter.offset=a),HTTP.getRead("role",u.filter).then((function(a){var i=a.data.results,n=a.data.next;u.results=l?u.results.concat(i):i;var r=u.results.findIndex((function(e){return 1===e.id}));if(r>-1){var t=u.results.splice(r,1);u.results.unshift(t[0])}!l&&u.results.length&&v(u.results[0]),n&&e(!0,u.results.length)}))};return s((function(){x()})),{__sfc:!0,functionPermissionsMainRef:l,permissionsTree:a,roleCEDialogRef:b,roleList:u,currentRole:y,currentRoleId:f,handleRoles:v,getList:x,handleRest:function(){u.results=[],x()},handleCancelRoles:function(){if(!y.value||!y.value.id)return r.exports.Message.info("请选择角色");v(y.value)},renewRoles:function(){m(h(),!0).then((function(e){var l=e.data_permissions,a=e.permissions;console.log("data_permissions:",l),console.log("permissions:",a);var i={data_permission_json:l,permission_data:a};HTTP.post("update_role",i).then((function(e){0==e.code&&console.log(e)}))}))},handleSaveRoles:function(){if(!f.value)return r.exports.Message.error("请选择角色");m(a.value).then((function(e){var l=e.data_permissions,a=e.permissions;HTTP.post("change_role_permission",{role_id:f.value,data_permission_json:l,permission_data:a}).then((function(e){if(0!==e.code)return new Error(e);r.exports.Message.success("角色权限保存成功");var l,a;l=e.data,(a=u.results.findIndex((function(e){return e.id===f.value})))>-1&&(u.results[a].data_permission_json=l.data_permission_json,u.results[a].permission_data=l.permission_data)})).catch((function(e){r.exports.Message.error(e.msg||"角色权限保存失败")}))}))},handleTagAllChecked:function(e,l){k(e,l)},handleCheckbox:function(e,l){l.checked=l.children.filter((function(e){return e.checked})).length===l.children.length},handleRoleEdit:function(e){b.value.handleInitForm(e)},handleCreateEdit:function(){b.value.handleInitForm()},handleRoleDelete:function(e,l){r.exports.MessageBox.confirm("确定删除该角色: ".concat(e.name," 吗?"),"提示",{type:"warning"}).then((function(){HTTP.patch("role",{id:e.id,del_flag:1}).then((function(e){if(0!==e.code)return new Error(e);r.exports.Message.success("删除成功"),u.results.splice(l,1),u.results.length?v(u.results[0]):a.value=h()})).catch((function(e){r.exports.Message.error(e.msg||"删除失败")}))})).catch((function(){}))},handleUpdateRole:function(e){console.log("data:",e);var l=u.results.findIndex((function(l){return l.id===e.id}));l>-1&&(u.results[l].name=e.name,u.results[l].describe=e.describe)},LJFlexBox:o,LJLabelInput:c,DATA_PERMISSIONS:d,RoleCEDialog:g}}},_=function(){var e=this,l=e._self._c,a=e._self._setupProxy;return l("div",{staticClass:"role-views"},[l("div",{staticClass:"roles-list-main"},[l("div",{staticClass:"roles-buts"},[l("div",{staticClass:"label"},[e._v("角色列表")]),l("div",{staticClass:"right-icons"},[l("el-button",{directives:[{name:"permission",rawName:"v-permission",value:71103,expression:"71103"}],attrs:{icon:"el-icon-plus",size:"mini"},on:{click:a.handleCreateEdit}}),l("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:a.handleRest}})],1)]),l("div",{staticClass:"roles-list-content"},e._l(a.roleList.results,(function(i,n){return l("div",{key:n,staticClass:"role-items",class:{active:a.currentRoleId===i.id},on:{click:function(e){return a.handleRoles(i)}}},[l("div",{staticClass:"role-name"},[e._v(e._s(i.name))]),a.currentRoleId===i.id&&1!==a.currentRoleId?l("div",{staticClass:"role-buts"},[l("i",{directives:[{name:"permission",rawName:"v-permission",value:71104,expression:"71104"}],staticClass:"el-icon-edit-outline role-edit-icon",on:{click:function(e){return e.stopPropagation(),a.handleRoleEdit(i)}}}),l("i",{directives:[{name:"permission",rawName:"v-permission",value:71105,expression:"71105"}],staticClass:"el-icon-delete role-delete-icon",on:{click:function(e){return e.stopPropagation(),a.handleRoleDelete(i,n)}}})]):e._e()])})),0)]),l("div",{staticClass:"roles-detail-main"},[l("div",{staticClass:"roles-detail-header"},[l(a.LJFlexBox,{staticClass:"detail-header-input",attrs:{"justify-content":"space-between",padding:"0 10px 0 10px"}},[l(a.LJFlexBox,[l("div",{staticClass:"current-role-name"},[e._v(" "+e._s(a.currentRole&&a.currentRole.id?a.currentRole.name:"")+" ")]),l("div",{staticClass:"current-role-describe"},[e._v(" "+e._s(a.currentRole&&a.currentRole.id?a.currentRole.describe:"")+" ")])]),l(a.LJFlexBox,{attrs:{"clear-but-margin":!1}},[l("el-button",{attrs:{disabled:!a.currentRoleId||1===a.currentRoleId,type:"info",plain:""},on:{click:a.handleCancelRoles}},[e._v(" 取消 ")]),l("el-button",{attrs:{disabled:!a.currentRoleId||1===a.currentRoleId,type:"primary"},on:{click:a.handleSaveRoles}},[e._v(" 保存 ")])],1)],1)],1),l("div",{staticClass:"function-permissions"},[l("div",{staticClass:"function-permissions-title"},[e._v("权限控制")]),l("div",{ref:"functionPermissionsMainRef",staticClass:"function-permissions-main"},e._l(a.permissionsTree,(function(i){return l("div",{key:i.key,staticClass:"permission-module"},[l("div",{staticClass:"data-permissions"},[l("div",{staticClass:"label"},[l("el-checkbox",{attrs:{disabled:1===a.currentRoleId},on:{change:function(e){return a.handleTagAllChecked(e,i)}},model:{value:i.checked,callback:function(l){e.$set(i,"checked",l)},expression:"module['checked']"}},[e._v(" "+e._s(i.label)+" ")])],1),l(a.LJLabelInput,{attrs:{label:"数据权限",gap:"2em"}},[l("el-radio-group",{attrs:{disabled:1===a.currentRoleId},model:{value:i.data,callback:function(l){e.$set(i,"data",l)},expression:"module['data']"}},e._l(a.DATA_PERMISSIONS,(function(a){return l("el-radio",{key:a.value,attrs:{label:a.value}},[e._v(" "+e._s(a.label)+" ")])})),1)],1)],1),l("div",{staticClass:"func-permission-main"},e._l(i.children,(function(i){return l("div",{key:i.key,staticClass:"func-permission"},[l("div",{staticClass:"pages-label"},[l("el-checkbox",{attrs:{disabled:1===a.currentRoleId},on:{change:function(e){return a.handleTagAllChecked(e,i)}},model:{value:i.checked,callback:function(l){e.$set(i,"checked",l)},expression:"pages['checked']"}},[e._v(" "+e._s(i.label)+" ")])],1),l("div",{staticClass:"pages-config"},e._l(i.children,(function(i){return l("div",{key:i.key,staticClass:"page"},[l("div",{staticClass:"page-name"},[l("el-checkbox",{attrs:{disabled:1===a.currentRoleId},on:{change:function(e){return a.handleTagAllChecked(e,i)}},model:{value:i.checked,callback:function(l){e.$set(i,"checked",l)},expression:"page['checked']"}},[e._v(" "+e._s(i.label)+" ")])],1),l("div",{staticClass:"page-permission-config"},e._l(i.children,(function(n){return l("div",{key:n.key,staticClass:"page-permission-item"},[l("el-checkbox",{attrs:{disabled:1===a.currentRoleId},on:{change:function(e){return a.handleCheckbox(e,i)}},model:{value:n.checked,callback:function(l){e.$set(n,"checked",l)},expression:"permission['checked']"}},[e._v(" "+e._s(n.label)+" ")])],1)})),0)])})),0)])})),0)])})),0)])]),l(a.RoleCEDialog,{ref:"roleCEDialogRef",on:{update:a.handleUpdateRole,refresh:a.getList}})],1)};l("default",u(x,_,[],!1,null,"fd6c7804",null,null).exports)}}}))}();