修改权限和申请入驻456级

master
CJYXTX\27961 7 months ago
parent e24d628180
commit a1c90f8649

@ -92,11 +92,12 @@ public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {
this.setFieldValByName("lastModifyUserName", userInfo.getUserName(), metaObject);
this.setFieldValByName("organizeId", organizeId, metaObject);
this.setFieldValByName("organizeJsonId", organizeId, metaObject);
this.setFieldValByName("companyId", companyId, metaObject);
this.setFieldValByName("departmentId", userInfo.getDepartmentId(), metaObject);
// System.out.println(userProvider.getDepartmentId(userInfo.getUserId()));
/*if (userInfo.getUserId()!=null){
/* if (userInfo.getUserId()!=null){
this.setFieldValByName("departmentId", userProvider.getDepartmentId(userInfo.getUserId()), metaObject);
}*/

@ -20,6 +20,10 @@
<result column="stationName" property="stationName"/>
<result column="stationCode" property="stationCode"/>
<result column="priceStatus" property="priceStatus"/>
<result column="company_id" property="companyId"/>
<result column="department_id" property="departmentId"/>
<result column="organize_json_id" property="organizeJsonId"/>
</resultMap>
<select id="queryByKeyword" resultMap="getNxPriceMap">
@ -56,15 +60,8 @@
LEFT JOIN nx_enterprise_recycle_station e ON d.recycle_id = e.id
LEFT JOIN base_user f ON f.f_id=a.f_creator_user_id
LEFT JOIN base_user g ON g.f_id=a.f_last_modify_user_id
${ew.customSqlSegment} and a.f_delete_mark is null
<!-- <if test="nxProductPagination.productName != null and nxProductPagination.productName != ''">-->
<!-- AND c.name = #{nxProductPagination.productName}-->
<!-- </if>-->
${organizeJson} and a.f_delete_mark is null
<!-- <if test="nxProductPagination.stationName != null and nxProductPagination.stationName != ''">-->
<!-- AND e.station_name = #{nxProductPagination.stationName}-->
<!-- </if>-->
<if test="nxProductPagination.sidx != null and nxProductPagination.sidx != ''">
ORDER BY ${nxProductPagination.sidx} ${nxProductPagination.sort}

@ -172,6 +172,29 @@ public class AuthorizeController extends SuperController<AuthorizeService, Autho
}
/**
*
*
* @param objectId
* @param dataValuesQuery
* @return
*/
@Operation(summary = "获取岗位/角色/用户权限树形结构申请入住")
@Parameters({
@Parameter(name = "objectId", description = "对象主键", required = true),
@Parameter(name = "dataValuesQuery", description = "权限值", required = true)
})
@SaCheckPermission(value = {"permission.authorize", "permission.role"}, mode = SaMode.OR)
@PostMapping("/Data/{objectId}/Valuess")
public AuthorizeVO getValuesDatas(@PathVariable("objectId") String objectId, @RequestBody DataValuesQuery dataValuesQuery) {
AuthorizeVO authorizeModel = authorizeService.getAuthorize(true, false);
List<AuthorizeEntity> list = authorizeService.list(new QueryWrapper<AuthorizeEntity>().lambda().eq(AuthorizeEntity::getObjectId, objectId));
return authorizeModel;
}
/**
*
*

@ -5,6 +5,7 @@ import cn.dev33.satoken.annotation.SaMode;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parser.Feature;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
@ -14,6 +15,12 @@ import io.swagger.v3.oas.annotations.Operation;
import jnpf.annotation.OrganizePermission;
import jnpf.base.ActionResult;
import jnpf.base.Pagination;
import jnpf.base.entity.*;
import jnpf.base.model.base.SystemBaeModel;
import jnpf.base.model.button.ButtonModel;
import jnpf.base.model.module.ModuleModel;
import jnpf.base.model.resource.ResourceModel;
import jnpf.base.service.ModuleService;
import jnpf.base.vo.ListVO;
import jnpf.constant.MsgCode;
import jnpf.constant.PermissionConst;
@ -22,17 +29,21 @@ import jnpf.message.service.SynThirdQyService;
import jnpf.permission.entity.OrganizeAdministratorEntity;
import jnpf.permission.entity.OrganizeEntity;
import jnpf.exception.DataException;
import jnpf.permission.entity.PermissionGroupEntity;
import jnpf.permission.entity.UserEntity;
import jnpf.permission.model.authorize.AuthorizeDataReturnVO;
import jnpf.permission.model.authorize.AuthorizeDataUpForm;
import jnpf.permission.model.authorize.AuthorizeVO;
import jnpf.permission.model.authorize.DataValuesQuery;
import jnpf.permission.model.organize.*;
import jnpf.permission.model.organizeadministrator.OrganizeAdminIsTratorCrForm;
import jnpf.permission.model.organizeadministrator.OrganizeAdministratorCrModel;
import jnpf.permission.model.organizeadministrator.OrganizeAdministratorSelectedVO;
import jnpf.permission.model.organizeadministrator.OrganizeAdministratorSelectorVO;
import jnpf.permission.model.permissiongroup.PermissionGroupModel;
import jnpf.permission.model.user.form.UserCrForm;
import jnpf.permission.service.OrganizeAdministratorService;
import jnpf.permission.service.OrganizeRelationService;
import jnpf.permission.service.OrganizeService;
import jnpf.permission.service.UserService;
import jnpf.permission.model.user.mod.UserIdModel;
import jnpf.permission.service.*;
import jnpf.util.JsonUtil;
import jnpf.util.JsonUtilEx;
import jnpf.util.StringUtil;
@ -73,6 +84,14 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
private SynThirdQyService synThirdQyService;
@Autowired
private SynThirdDingTalkService synThirdDingTalkService;
@Autowired
private PermissionGroupService permissionGroupService;
@Autowired
private AuthorizeController authorizeController;
@Autowired
private AuthorizeService authorizeService;
@Autowired
private ModuleService moduleService;
/**
* 线
*/
@ -443,6 +462,7 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
})
@SaCheckPermission(value = {"permission.organize.check"})
@PostMapping("/check")
@DSTransactional
public ActionResult checkCreate(@RequestBody @Valid OrganizeCrForm organizeCrForm) throws Exception {
OrganizeEntity entity = JsonUtil.getJsonToBean(organizeCrForm, OrganizeEntity.class);
entity.setCategory("company");
@ -452,7 +472,6 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
// if (organizeService.isExistByEnCode(entity.getEnCode(), entity.getId())) {
// return ActionResult.fail("公司编码不能重复");
// }
// 通过组织id获取父级组织
String organizeIdTree = getOrganizeIdTree(entity);
entity.setOrganizeIdTree(organizeIdTree);
@ -463,8 +482,9 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
userCrForm.setAccount(organizeCrForm.getPropertyJson().getManagerTelePhone()); //Json手机号为账户
userCrForm.setGender(3); //默认保密
userCrForm.setOrganizeId(entity.id);
userCrForm.setEnabledMark(1);
userCrForm.setIsAdministrator(1); //新增租户变成管理员
userCrForm.setMobilePhone(organizeCrForm.getPropertyJson().getManagerTelePhone());
// userController.create(userCrForm);
UserEntity userEntity = JsonUtil.getJsonToBean(userCrForm, UserEntity.class);
userEntity.setPassword("4a7d1ed414474e4033ac29ccb8653d9b");
if (userService.isExistByAccount(userCrForm.getAccount())) {
@ -472,37 +492,12 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
}
userService.create(userEntity);
//申请入住赋予权限
//申请入住赋予分级权限
// ActionResult<OrganizeAdministratorSelectedVO> vo = new ActionResult<OrganizeAdministratorSelectedVO>();
OrganizeAdministratorSelectedVO vo = new OrganizeAdministratorSelectedVO();
vo= organizeAdministratorController.getSelectors(userEntity.id);
// System.out.println(vo);
OrganizeAdministratorSelectorVO vo1 = vo.getOrgAdminList().get(0);
OrganizeAdministratorCrModel organizeAdministratorCrModel=new OrganizeAdministratorCrModel();
// BeanUtils.copyProperties(vo1,organizeAdministratorCrModel);
// List<OrganizeAdministratorCrModel> organizeAdministratorCrModelList1 = new ArrayList<>();
// BeanUtils.copyProperties(vo1.getChildren(),organizeAdministratorCrModelList1);
// organizeAdministratorCrModel.setChildren(organizeAdministratorCrModelList1);
// for (OrganizeAdministratorSelectorVO organizeAdminVo:vo.getOrgAdminList()){
// organizeAdministratorCrModel.setOrganizeId(organizeAdminVo.getOrganizeId());
// organizeAdministratorCrModel.setFullName(organizeAdminVo.getFullName());
// organizeAdministratorCrModel.setIcon(organizeAdminVo.getIcon());
// organizeAdministratorCrModel.setIsLeaf(organizeAdminVo.getIsLeaf());
// organizeAdministratorCrModel.setHasChildren(organizeAdminVo.getHasChildren());
// organizeAdministratorCrModel.setParentId(organizeAdminVo.getParentId());
// organizeAdministratorCrModel.setThisLayerAdd(organizeAdminVo.getThisLayerAdd());
// organizeAdministratorCrModel.setThisLayerEdit(organizeAdminVo.getThisLayerEdit());
// organizeAdministratorCrModel.setThisLayerDelete(organizeAdminVo.getThisLayerDelete());
// organizeAdministratorCrModel.setThisLayerSelect(organizeAdminVo.getThisLayerSelect());
// organizeAdministratorCrModel.setSubLayerAdd(organizeAdminVo.getSubLayerAdd());
// organizeAdministratorCrModel.setSubLayerEdit(organizeAdminVo.getSubLayerEdit());
// organizeAdministratorCrModel.setSubLayerDelete(organizeAdminVo.getSubLayerDelete());
// organizeAdministratorCrModel.setSubLayerSelect(organizeAdminVo.getSubLayerSelect());
// organizeAdministratorCrModel.setOrganizeIdTree(organizeAdminVo.getOrganizeIdTree());
// organizeAdministratorCrModel.setCategory(organizeAdminVo.getCategory());
// organizeAdministratorCrModel.setChildrenCheck(organizeAdminVo.getChildren());
// }
List<OrganizeAdministratorCrModel> organizeAdministratorCrModelList=new ArrayList<>();
organizeAdministratorCrModelList.add(organizeAdministratorCrModel);
OrganizeAdminIsTratorCrForm organizeAdminIsTratorCrForm =new OrganizeAdminIsTratorCrForm();
@ -557,17 +552,117 @@ public class OrganizeController extends SuperController<OrganizeService, Organiz
}
organizeAdminIsTratorService.updateBatchById(organizeAdministratorEntityList);
}
//添加权限
PermissionGroupModel model =new PermissionGroupModel();
//公司名称为权限名称
model.setFullName(organizeCrForm.getFullName()+"权限");
model.setEnCode(organizeCrForm.getPropertyJson().getManagerTelePhone()+"Code");//Json手机号为编码
model.setSortCode(0L);
model.setEnabledMark(1);
PermissionGroupEntity permissionGroupEntity = JsonUtil.getJsonToBean(model, PermissionGroupEntity.class);
if (permissionGroupService.isExistByFullName(permissionGroupEntity.getId(), permissionGroupEntity)) {
return ActionResult.fail(MsgCode.EXIST001.get());
}
if (permissionGroupService.isExistByEnCode(permissionGroupEntity.getId(), permissionGroupEntity)) {
return ActionResult.fail(MsgCode.EXIST002.get());
}
permissionGroupService.create(permissionGroupEntity);
//权限赋予成员
PermissionGroupEntity permissionGroupEntity1 = permissionGroupService.info(permissionGroupEntity.id);
String permissionId = permissionGroupEntity.id;
if (entity == null) {
return ActionResult.fail(MsgCode.FA003.get());
}
UserIdModel userIdModel =new UserIdModel();
StringJoiner stringJoiner = new StringJoiner(",");
userIdModel.setIds(entity.id+"--company");
List<String> userIdUserIdModel = userIdModel.getIds();
userIdUserIdModel.forEach(t -> {
stringJoiner.add(t);
});
permissionGroupEntity1.setPermissionMember(stringJoiner.toString());
// 修改前的用户
List<String> member = permissionGroupService.list(Collections.singletonList(permissionId))
.stream().filter(t -> StringUtil.isNotEmpty(t.getPermissionMember())).map(PermissionGroupEntity::getPermissionMember).collect(Collectors.toList());
// 新的用户
member.addAll(userIdUserIdModel);
member = member.stream().distinct().collect(Collectors.toList());
List<String> userIdList = userService.getUserIdList(member, null);
permissionGroupService.update(permissionId, permissionGroupEntity1);
userService.delCurUser(userIdList.stream().toArray(String[]::new));
//查询所有的菜单
DataValuesQuery dataValuesQuery=new DataValuesQuery();
dataValuesQuery.setType("system");
AuthorizeVO authorizeVO = authorizeController.getValuesDatas(permissionId,dataValuesQuery);
//给业务平台id
List<String> systemBaeModelList =new ArrayList<>();
for (SystemBaeModel systemBaeModel:authorizeVO.getSystemList()){
systemBaeModelList.add(systemBaeModel.getId());
}
//给菜单id
List<String> moduleModelList =new ArrayList<>();
for (ModuleModel moduleModel:authorizeVO.getModuleList()){
moduleModelList.add(moduleModel.getId());
}
//给按钮id
List<String> buttonModelList =new ArrayList<>();
for (ButtonModel buttonModel:authorizeVO.getButtonList()){
buttonModelList.add(buttonModel.getId());
}
//给权限id
List<String> resourceModelList =new ArrayList<>();
for (ResourceModel resourceModel:authorizeVO.getResourceList()){
resourceModelList.add(resourceModel.getId());
}
for (ResourceModel resourceModel:authorizeVO.getResourceList()){
QueryWrapper<ModuleEntity> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ModuleEntity::getId,resourceModel.getModuleId());
List<ModuleEntity> moduleEntityList= moduleService.list(queryWrapper);
if (moduleEntityList.size()>0){
resourceModelList.add(moduleEntityList.get(0).getId());
QueryWrapper<ModuleEntity> queryWrapper1=new QueryWrapper<>();
queryWrapper1.lambda().eq(ModuleEntity::getId,moduleEntityList.get(0).getParentId());
List<ModuleEntity> moduleEntityList1= moduleService.list(queryWrapper1);
if (moduleEntityList1.size()>0){
resourceModelList.add(moduleEntityList1.get(0).getId());
}
}
}
//去重菜单id
List<String> newList = new ArrayList<>();
for (String id : resourceModelList) {
if (!newList.contains(id)){
newList.add(id);
}
}
//string转为 String[]
String[] arraySystem = systemBaeModelList.toArray(new String[0]);
String[] arrayModuleList = moduleModelList.toArray(new String[0]);
String[] arrayButtonList = buttonModelList.toArray(new String[0]);
String[] arrayResourceList = newList.toArray(new String[0]);
//赋值
AuthorizeDataUpForm authorizeDataUpForm =new AuthorizeDataUpForm();
authorizeDataUpForm.setSystemIds(arraySystem);
authorizeDataUpForm.setModule(arrayModuleList);
authorizeDataUpForm.setButton(arrayButtonList);
authorizeDataUpForm.setResource(arrayResourceList);
//添加权限
authorizeService.save(permissionId, authorizeDataUpForm);
// String[] arraySystem1 = authorizeVO.getSystemList().toArray(new String[0]);
//取消租户的管理员
UserEntity userEntityAdmin =new UserEntity();
userEntityAdmin.setIsAdministrator(0);
userService.update(userEntity.id,userEntity);
// threadPoolExecutor.execute(() -> {
// try{
// //创建组织后判断是否需要同步到企业微信
// synThirdQyService.createDepartmentSysToQy(false, entity, "");
// //创建组织后判断是否需要同步到钉钉
// synThirdDingTalkService.createDepartmentSysToDing(false, entity, "");
// } catch (Exception e) {
// log.error("创建组织后同步失败到企业微信或钉钉失败,异常:" + e.getMessage());
// }
// });
return ActionResult.success(MsgCode.SU001.get());
}

@ -312,4 +312,6 @@ public class UserEntity extends SuperExtendEntity.SuperExtendDEEntity<String> {
@TableField("f_handover_mark")
private Integer handoverMark;
}

@ -96,4 +96,9 @@ public class UserCrForm {
@Schema(description = "分组id")
private String groupId;
@Schema(description = "是否管理员")
private Integer isAdministrator;
}

@ -20,7 +20,9 @@ import org.apache.ibatis.annotations.Param;
public interface NxPriceMapper extends BaseMapper<NxPriceEntity> {
IPage<NxPriceEntity> queryByKeyword(@Param("page") Page<NxPriceEntity> page, @Param("nxProductPagination") NxPricePagination nxPricePagination, @Param("ew") QueryWrapper<NxPriceEntity> NxPriceEntityQueryWrapper);
IPage<NxPriceEntity> queryByKeyword(@Param("page") Page<NxPriceEntity> page, @Param("nxProductPagination") NxPricePagination nxPricePagination, @Param("ew") QueryWrapper<NxPriceEntity> NxPriceEntityQueryWrapper,@Param("organizeJson") String organizeJson);
// IPage<NxPriceEntity> queryByKeyword(@Param("page") Page<NxPriceEntity> page, @Param("nxProductPagination") NxPricePagination nxPricePagination, @Param("ew") QueryWrapper<NxPriceEntity> NxPriceEntityQueryWrapper);
}

@ -113,7 +113,7 @@ public class ClientAccountDetailServiceImpl extends ServiceImpl<ClientAccountDet
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -113,7 +113,7 @@ public class ClientServiceImpl extends ServiceImpl<ClientMapper, ClientEntity> i
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -113,7 +113,7 @@ public class EnterpriseAccountBillServiceImpl extends ServiceImpl<EnterpriseAcco
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -113,7 +113,7 @@ public class HousingEstateServiceImpl extends ServiceImpl<HousingEstateMapper, H
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
@ -321,7 +321,7 @@ public class HousingEstateServiceImpl extends ServiceImpl<HousingEstateMapper, H
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
@ -367,10 +367,6 @@ public class HousingEstateServiceImpl extends ServiceImpl<HousingEstateMapper, H
housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getExcludeIdList());
}
// if(housingEstatePagination.getStationId() != null){
// housingEstateNum++;
// housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getStationId());
// }
if(ObjectUtil.isNotEmpty(housingEstatePagination.getSourceType())){

@ -113,7 +113,7 @@ public class NxFileServiceImpl extends ServiceImpl<NxFileMapper, NxFileEntity> i
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -339,7 +339,6 @@ public class NxPriceServiceImpl extends ServiceImpl<NxPriceMapper, NxPriceEntity
Long fir = Long.valueOf(String.valueOf(CreatorTimeList.get(0)));
Long sec = Long.valueOf(String.valueOf(CreatorTimeList.get(1)));
// nxPriceQueryWrapper.lambda().ge(NxPriceEntity::getCreatorTime, new Date(fir))
nxPriceQueryWrapper.ge("a.F_CREATOR_TIME", new Date(fir))
.le("a.F_CREATOR_TIME", DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59"));
@ -406,7 +405,6 @@ public class NxPriceServiceImpl extends ServiceImpl<NxPriceMapper, NxPriceEntity
String value = declaredField.getAnnotation(TableField.class).value();
nxPricePagination.setSidx("a." + value);
// nxPriceQueryWrapper="asc".equals(nxPricePagination.getSort().toLowerCase())?nxPriceQueryWrapper.orderByAsc(value):nxPriceQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
@ -416,8 +414,11 @@ public class NxPriceServiceImpl extends ServiceImpl<NxPriceMapper, NxPriceEntity
if((total>0 && AllIdList.size()>0) || total==0){
Page<NxPriceEntity> page=new Page<>(nxPricePagination.getCurrentPage(), nxPricePagination.getPageSize());
// IPage<NxPriceEntity> userIPage=this.page(page, nxPriceQueryWrapper);
IPage<NxPriceEntity> userIPage = nxPriceMapper.queryByKeyword(page, nxPricePagination, nxPriceQueryWrapper);
String organizeJson = nxPriceQueryWrapper.getCustomSqlSegment().replaceAll("organize_json_id", "a.organize_json_id");
// nxPriceQueryWrapper.getCustomSqlSegment().replaceAll("organize_json_id", "a.organize_json_id");
// nxPriceQueryWrapper.getSqlSegment().replaceAll("organize_json_id", "a.organize_json_id");
IPage<NxPriceEntity> userIPage = nxPriceMapper.queryByKeyword(page, nxPricePagination, nxPriceQueryWrapper, organizeJson);
return nxPricePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<NxPriceEntity> list = new ArrayList();

@ -113,7 +113,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -126,7 +126,7 @@ public class RecycleStationStaffServiceImpl extends ServiceImpl<RecycleStationSt
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean pcPermission = true;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){

@ -30,22 +30,29 @@ public class ClientAccountDetailEntity {
private BigDecimal banlance;
@TableField(value = "REMARK" , updateStrategy = FieldStrategy.IGNORED)
private String remark;
@TableField("F_CREATOR_TIME")
@TableField(value = "f_creator_time" , fill = FieldFill.INSERT)
private Date creatorTime;
@TableField("F_CREATOR_USER_ID")
@TableField(value = "f_creator_user_id" , fill = FieldFill.INSERT)
private String creatorUserId;
@TableField("F_LAST_MODIFY_TIME")
@TableField(value = "f_last_modify_time" , fill = FieldFill.INSERT_UPDATE)
private Date lastModifyTime;
@TableField("F_LAST_MODIFY_USER_ID")
@TableField(value = "f_last_modify_user_id" , fill = FieldFill.INSERT_UPDATE)
private String lastModifyUserId;
@TableField("F_DELETE_TIME")
@TableField(value = "f_delete_time" , fill = FieldFill.UPDATE)
private Date deleteTime;
@TableField("F_DELETE_USER_ID")
@TableField(value = "f_delete_user_id" , fill = FieldFill.UPDATE)
private String deleteUserId;
@TableField("F_DELETE_MARK")
@TableField(value = "f_delete_mark" , updateStrategy = FieldStrategy.IGNORED)
private Integer deleteMark;
@TableField("F_TENANT_ID")
private String tenantId;
@TableField("F_FLOW_ID")
private String flowId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -78,4 +78,11 @@ public class ClientEntity {
private Integer deleteMark;
// @TableField("F_TENANT_ID")
// private String tenantId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -63,4 +63,11 @@ public class EnterpriseAccountBillEntity {
@TableField("F_VERSION")
private Integer version;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -69,4 +69,11 @@ public class HousingEstateEntity {
@TableField(value = "STATION_ID" , updateStrategy = FieldStrategy.IGNORED)
private String stationId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -46,4 +46,11 @@ public class NxFileEntity {
private Integer version;
@TableField("F_FLOW_ID")
private String flowId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -67,4 +67,11 @@ public class NxPriceEntity {
private String creatorUserIds;
@TableField(exist = false)
private String lastModifyUserIds;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -28,19 +28,19 @@ public class NxProductEntity {
private String description;
@TableField(value = "PHOTO" , updateStrategy = FieldStrategy.IGNORED)
private String photo;
@TableField("F_CREATOR_TIME")
@TableField(value = "f_creator_time" , fill = FieldFill.INSERT)
private Date creatorTime;
@TableField("F_CREATOR_USER_ID")
@TableField(value = "f_creator_user_id" , fill = FieldFill.INSERT)
private String creatorUserId;
@TableField("F_LAST_MODIFY_TIME")
@TableField(value = "f_last_modify_time" , fill = FieldFill.INSERT_UPDATE)
private Date lastModifyTime;
@TableField("F_LAST_MODIFY_USER_ID")
@TableField(value = "f_last_modify_user_id" , fill = FieldFill.INSERT_UPDATE)
private String lastModifyUserId;
@TableField("F_DELETE_TIME")
@TableField(value = "f_delete_time" , fill = FieldFill.UPDATE)
private Date deleteTime;
@TableField("F_DELETE_USER_ID")
@TableField(value = "f_delete_user_id" , fill = FieldFill.UPDATE)
private String deleteUserId;
@TableField("F_DELETE_MARK")
@TableField(value = "f_delete_mark" , updateStrategy = FieldStrategy.IGNORED)
private Integer deleteMark;
@TableField("F_TENANT_ID")
private String tenantId;
@ -48,4 +48,11 @@ public class NxProductEntity {
private Integer version;
@TableField("F_FLOW_ID")
private String flowId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -113,4 +113,11 @@ public class RecycleOrderEntity {
private Integer deleteMark;
@TableField("F_TENANT_ID")
private String tenantId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -77,4 +77,11 @@ public class RecycleStationStaffEntity {
private Integer deleteMark;
@TableField("F_TENANT_ID")
private String tenantId;
@TableField(value = "company_id" , fill = FieldFill.INSERT)
private String companyId;
@TableField(value = "department_id" , fill = FieldFill.INSERT)
private String departmentId;
@TableField(value = "organize_json_id" , fill = FieldFill.INSERT)
private String organizeJsonId;
}

@ -22,7 +22,8 @@ import java.util.Date;
@Data
@TableName("base_module")
public class ModuleEntity extends SuperExtendEntity.SuperExtendDEEntity<String> implements Serializable {
@TableId(value ="f_id" )
private String id;
/**
*
*/

@ -9,6 +9,8 @@ export const getAuthorizeValues = (objectId, data) => {
})
}
// 更新岗位/角色/用户权限
export const updateAuthorizeList = (objectId, data) => {
return request({

@ -91,7 +91,6 @@
<el-button
type="primary"
icon="icon-ym icon-ym-btn-add"
v-has="'btn_add'"
@click="addOrUpdateHandle()"
>新增
</el-button>
@ -99,14 +98,12 @@
type="text"
icon="icon-ym icon-ym-btn-download"
@click="exportData()"
v-has="'btn_download'"
>导出
</el-button>
<el-button
type="text"
icon="icon-ym icon-ym-btn-clearn"
@click="handleBatchRemoveDel()"
v-has="'btn_batchRemove'"
>批量删除
</el-button>
</div>
@ -239,10 +236,7 @@
</el-table-column>
<el-table-column label="操作" fixed="right" width="150">
<template slot-scope="scope">
<el-button
type="text"
@click="addOrUpdateHandle(scope.row)"
v-has="'btn_edit'"
<el-button type="text" @click="addOrUpdateHandle(scope.row)"
>编辑
</el-button>
@ -250,7 +244,6 @@
v-if="scope.row.status == 1"
type="text"
@click="addends(scope.row.id)"
v-has="'btn_ends'"
>失效
</el-button>
@ -258,21 +251,16 @@
v-if="scope.row.status == 2"
type="text"
@click="addOstarts(scope.row.id)"
v-has="'btn_starts'"
>生效
</el-button>
<el-button
type="text"
class="JNPF-table-delBtn"
v-has="'btn_remove'"
@click="handleDel(scope.row.id)"
>删除
</el-button>
<el-button
type="text"
v-has="'btn_detail'"
@click="goDetail(scope.row.id)"
<el-button type="text" @click="goDetail(scope.row.id)"
>详情
</el-button>
</template>

File diff suppressed because it is too large Load Diff

@ -6,29 +6,44 @@
<div class="options">
<el-dropdown style="margin-right: 8px">
<el-button plain>
{{$t('authorize.operation')}}<i class="el-icon-arrow-down el-icon--right"></i>
{{ $t("authorize.operation")
}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleCheck('checkAll')">
{{$t('authorize.checkAll')}}</el-dropdown-item>
{{ $t("authorize.checkAll") }}</el-dropdown-item
>
<el-dropdown-item @click.native="handleCheck('cancelCheckAll')">
{{$t('authorize.deselectAll')}}
{{ $t("authorize.deselectAll") }}
</el-dropdown-item>
<el-dropdown-item @click.native="setAllExpand('open')">{{$t('authorize.expandAll')}}
<el-dropdown-item @click.native="setAllExpand('open')"
>{{ $t("authorize.expandAll") }}
</el-dropdown-item>
<el-dropdown-item @click.native="setAllExpand('close')">{{$t('authorize.foldAll')}}
<el-dropdown-item @click.native="setAllExpand('close')"
>{{ $t("authorize.foldAll") }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button :disabled="active <= 0 || treeLoading" @click="handlePrevStep">
{{$t('common.prev')}}
<el-button
:disabled="active <= 0 || treeLoading"
@click="handlePrevStep"
>
{{ $t("common.prev") }}
</el-button>
<el-button :disabled="active >= 5 || treeLoading" @click="handleNextStep">
{{$t('common.next')}}
<el-button
:disabled="active >= 5 || treeLoading"
@click="handleNextStep"
>
{{ $t("common.next") }}
</el-button>
<el-button type="primary" :loading="btnLoading" :disabled="active < 5"
@click="handleConfirm()">{{$t('common.confirmButton')}}</el-button>
<el-button @click="goBack">{{$t('common.cancelButton')}}</el-button>
<el-button
type="primary"
:loading="btnLoading"
:disabled="active < 5"
@click="handleConfirm()"
>{{ $t("common.confirmButton") }}</el-button
>
<el-button @click="goBack">{{ $t("common.cancelButton") }}</el-button>
</div>
</div>
<el-steps :active="active" finish-status="success" simple>
@ -40,15 +55,28 @@
<el-step :title="$t('authorize.dataPermission')"></el-step>
</el-steps>
<div class="main">
<el-form ref="dataForm" :model="dataForm" @keyup.enter.native="handleConfirm()">
<el-form
ref="dataForm"
:model="dataForm"
@keyup.enter.native="handleConfirm()"
>
<el-form-item>
<el-tree :data="authorizeTreeData" ref="authorizeTree" v-loading="treeLoading"
show-checkbox default-expand-all node-key="id" :check-strictly="checkStrictly"
check-on-click-node :props="defaultProps" :expand-on-click-node="false"
@check-change="selectTreeNodeClick">
<el-tree
:data="authorizeTreeData"
ref="authorizeTree"
v-loading="treeLoading"
show-checkbox
default-expand-all
node-key="id"
:check-strictly="checkStrictly"
check-on-click-node
:props="defaultProps"
:expand-on-click-node="false"
@check-change="selectTreeNodeClick"
>
<div slot-scope="{ node, data }">
<i :class="data.icon" />
<span style="padding-left: 4px;">{{ node.label }}</span>
<span style="padding-left: 4px">{{ node.label }}</span>
</div>
</el-tree>
</el-form-item>
@ -61,8 +89,8 @@
<script>
import {
getAuthorizeValues,
updateAuthorizeList
} from '@/api/permission/authorize'
updateAuthorizeList,
} from "@/api/permission/authorize";
export default {
data() {
@ -71,22 +99,22 @@ export default {
treeLoading: false,
btnLoading: false,
checkStrictly: true,
objectId: '',
objectId: "",
dataForm: {
objectType: '',
objectType: "",
module: [],
systemIds: [],
button: [],
column: [],
form: [],
resource: []
resource: [],
},
params: {
type: 'system',
moduleIds: ''
type: "system",
moduleIds: "",
},
systemIds: '',
title: '',
systemIds: "",
title: "",
active: 0,
systemAllData: [],
authorizeTreeData: [],
@ -102,233 +130,259 @@ export default {
formAllData: [],
resourceAllData: [],
moduleIdsTemp: [],
defaultProps: { //
value: 'id',
label: 'fullName',
children: 'children'
}
}
defaultProps: {
//
value: "id",
label: "fullName",
children: "children",
},
};
},
methods: {
init(id, fullName, type) {
Object.assign(this.$data, this.$options.data())
this.visible = true
this.objectId = id
this.dataForm.objectType = type
Object.assign(this.$data, this.$options.data());
this.visible = true;
this.objectId = id;
this.dataForm.objectType = type;
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (type === 'User') {
this.title = this.$t(`user.userPermission`) + ' - ' + fullName
} else if (type === 'Position') {
this.title = this.$t(`position.postPermission`) + '- ' + fullName
} else if (type === 'Role') {
this.title = fullName
this.$refs["dataForm"].resetFields();
if (type === "User") {
this.title = this.$t(`user.userPermission`) + " - " + fullName;
} else if (type === "Position") {
this.title = this.$t(`position.postPermission`) + "- " + fullName;
} else if (type === "Role") {
this.title = fullName;
}
this.getAuthorizeList()
})
this.getAuthorizeList();
});
},
getAuthorizeList() {
this.treeLoading = true
this.authorizeTreeData = []
getAuthorizeValues(this.objectId, this.params).then(res => {
switch (this.active) {
case 0:
this.systemAuthorizeTree = res.data.list
this.systemAllData = res.data.all
this.authorizeTreeData = this.systemAuthorizeTree
this.dataForm.systemIds = [...this.moduleIdsTemp, ...res.data.ids]
this.dataForm.systemIds = [...new Set(this.dataForm.systemIds)]
this.moduleIdsTemp = this.dataForm.systemIds
this.systemIds = this.moduleIdsTemp
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.systemIds)
break
case 1:
this.moduleAuthorizeTree = res.data.list
this.moduleAllData = res.data.all
this.authorizeTreeData = this.moduleAuthorizeTree
const moduleIds = [...res.data.ids, ...this.moduleIdsTemp]
this.dataForm.module = [...new Set(moduleIds)]
this.moduleIdsTemp = this.dataForm.module
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.module)
break
case 2:
this.buttonAuthorizeTree = res.data.list
this.buttonAllData = res.data.all
this.authorizeTreeData = this.buttonAuthorizeTree
this.dataForm.button = [...this.dataForm.button, ...res.data.ids, ...this.moduleIdsTemp]
this.dataForm.button = [...new Set(this.dataForm.button)]
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.button)
break
case 3:
this.columnAuthorizeTree = res.data.list
this.columnAllData = res.data.all
this.authorizeTreeData = this.columnAuthorizeTree
this.dataForm.column = [...this.dataForm.column, ...res.data.ids, ...this.moduleIdsTemp]
this.dataForm.column = [...new Set(this.dataForm.column)]
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.column)
break
case 4:
this.formAuthorizeTree = res.data.list
this.formAllData = res.data.all
this.authorizeTreeData = this.formAuthorizeTree
this.dataForm.form = [...this.dataForm.form, ...res.data.ids, ...this.moduleIdsTemp]
this.dataForm.form = [...new Set(this.dataForm.form)]
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.form)
break
case 5:
this.resourceAuthorizeTree = res.data.list
this.resourceAllData = res.data.all
this.authorizeTreeData = this.resourceAuthorizeTree
this.dataForm.resource = [...this.dataForm.resource, ...res.data.ids, ...this.moduleIdsTemp]
this.dataForm.resource = [...new Set(this.dataForm.resource)]
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.resource)
break
}
this.checkStrictly = false
this.treeLoading = false
}).catch(() => {
this.treeLoading = false
})
this.treeLoading = true;
this.authorizeTreeData = [];
getAuthorizeValues(this.objectId, this.params)
.then((res) => {
switch (this.active) {
case 0:
this.systemAuthorizeTree = res.data.list;
this.systemAllData = res.data.all;
this.authorizeTreeData = this.systemAuthorizeTree;
this.dataForm.systemIds = [
...this.moduleIdsTemp,
...res.data.ids,
];
this.dataForm.systemIds = [...new Set(this.dataForm.systemIds)];
this.moduleIdsTemp = this.dataForm.systemIds;
this.systemIds = this.moduleIdsTemp;
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.systemIds);
break;
case 1:
this.moduleAuthorizeTree = res.data.list;
this.moduleAllData = res.data.all;
this.authorizeTreeData = this.moduleAuthorizeTree;
const moduleIds = [...res.data.ids, ...this.moduleIdsTemp];
this.dataForm.module = [...new Set(moduleIds)];
this.moduleIdsTemp = this.dataForm.module;
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.module);
break;
case 2:
this.buttonAuthorizeTree = res.data.list;
this.buttonAllData = res.data.all;
this.authorizeTreeData = this.buttonAuthorizeTree;
this.dataForm.button = [
...this.dataForm.button,
...res.data.ids,
...this.moduleIdsTemp,
];
this.dataForm.button = [...new Set(this.dataForm.button)];
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.button);
break;
case 3:
this.columnAuthorizeTree = res.data.list;
this.columnAllData = res.data.all;
this.authorizeTreeData = this.columnAuthorizeTree;
this.dataForm.column = [
...this.dataForm.column,
...res.data.ids,
...this.moduleIdsTemp,
];
this.dataForm.column = [...new Set(this.dataForm.column)];
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.column);
break;
case 4:
this.formAuthorizeTree = res.data.list;
this.formAllData = res.data.all;
this.authorizeTreeData = this.formAuthorizeTree;
this.dataForm.form = [
...this.dataForm.form,
...res.data.ids,
...this.moduleIdsTemp,
];
this.dataForm.form = [...new Set(this.dataForm.form)];
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.form);
break;
case 5:
this.resourceAuthorizeTree = res.data.list;
this.resourceAllData = res.data.all;
this.authorizeTreeData = this.resourceAuthorizeTree;
this.dataForm.resource = [
...this.dataForm.resource,
...res.data.ids,
...this.moduleIdsTemp,
];
this.dataForm.resource = [...new Set(this.dataForm.resource)];
this.$refs.authorizeTree.setCheckedKeys(this.dataForm.resource);
break;
}
this.checkStrictly = false;
this.treeLoading = false;
})
.catch(() => {
this.treeLoading = false;
});
},
goBack() {
this.$emit('close')
this.$emit("close");
},
// /
handleCheck(val) {
if (val === 'checkAll') {
if (val === "checkAll") {
switch (this.active) {
case 0:
this.$refs.authorizeTree.setCheckedKeys(this.systemAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.systemAllData);
break;
case 1:
this.$refs.authorizeTree.setCheckedKeys(this.moduleAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.moduleAllData);
break;
case 2:
this.$refs.authorizeTree.setCheckedKeys(this.buttonAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.buttonAllData);
break;
case 3:
this.$refs.authorizeTree.setCheckedKeys(this.columnAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.columnAllData);
break;
case 4:
this.$refs.authorizeTree.setCheckedKeys(this.formAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.formAllData);
break;
case 5:
this.$refs.authorizeTree.setCheckedKeys(this.resourceAllData)
break
this.$refs.authorizeTree.setCheckedKeys(this.resourceAllData);
break;
}
}
if (val === 'cancelCheckAll') {
this.$refs.authorizeTree.setCheckedKeys([])
if (val === "cancelCheckAll") {
this.$refs.authorizeTree.setCheckedKeys([]);
}
},
//
setAllExpand(state) {
let result
if (state === 'open') {
result = true
let result;
if (state === "open") {
result = true;
}
if (state === 'close') {
result = false
if (state === "close") {
result = false;
}
const nodes = this.$refs.authorizeTree.store.nodesMap
const nodes = this.$refs.authorizeTree.store.nodesMap;
for (let i in nodes) {
nodes[i].expanded = result
nodes[i].expanded = result;
}
},
//
handlePrevStep() {
this.active -= 1
this.handelInitData()
this.active -= 1;
this.handelInitData();
},
//
handleNextStep() {
if (this.active++ > 4) this.active = 0
this.handelInitData()
if (this.active++ > 4) this.active = 0;
this.handelInitData();
},
handelInitData() {
this.checkStrictly = true
this.treeLoading = true
this.checkStrictly = true;
this.treeLoading = true;
switch (this.active) {
case 0:
this.params.type = 'system'
this.params.moduleIds = (this.moduleIdsTemp).toString()
break
this.params.type = "system";
this.params.moduleIds = this.moduleIdsTemp.toString();
break;
case 1:
this.params.type = 'module'
this.params.moduleIds = (this.systemIds).toString()
break
this.params.type = "module";
this.params.moduleIds = this.systemIds.toString();
console.log(this.params.moduleIds, "this.params.moduleIds");
break;
case 2:
this.params.type = 'button'
this.params.moduleIds = (this.moduleIdsTemp).toString()
break
this.params.type = "button";
this.params.moduleIds = this.moduleIdsTemp.toString();
break;
case 3:
this.params.type = 'column'
this.params.moduleIds = (this.moduleIdsTemp).toString()
break
this.params.type = "column";
this.params.moduleIds = this.moduleIdsTemp.toString();
break;
case 4:
this.params.type = 'form'
this.params.moduleIds = (this.moduleIdsTemp).toString()
break
this.params.type = "form";
this.params.moduleIds = this.moduleIdsTemp.toString();
break;
case 5:
this.params.type = 'resource'
this.params.moduleIds = (this.moduleIdsTemp).toString()
break
this.params.type = "resource";
this.params.moduleIds = this.moduleIdsTemp.toString();
break;
}
this.getAuthorizeList()
this.getAuthorizeList();
},
//
selectTreeNodeClick() {
const parentIds = this.$refs.authorizeTree.getHalfCheckedKeys()
const childrenIds = this.$refs.authorizeTree.getCheckedKeys()
const newIds = [...parentIds, ...childrenIds]
const dataIds = [...new Set(newIds)]
const parentIds = this.$refs.authorizeTree.getHalfCheckedKeys();
const childrenIds = this.$refs.authorizeTree.getCheckedKeys();
const newIds = [...parentIds, ...childrenIds];
const dataIds = [...new Set(newIds)];
switch (this.active) {
case 0:
this.dataForm.systemIds = dataIds
this.moduleIdsTemp = this.dataForm.systemIds
this.systemIds = this.moduleIdsTemp
break
this.dataForm.systemIds = dataIds;
this.moduleIdsTemp = this.dataForm.systemIds;
this.systemIds = this.moduleIdsTemp;
break;
case 1:
this.dataForm.module = dataIds
this.moduleIdsTemp = this.dataForm.module
break
this.dataForm.module = dataIds;
this.moduleIdsTemp = this.dataForm.module;
break;
case 2:
this.dataForm.button = dataIds
break
this.dataForm.button = dataIds;
break;
case 3:
this.dataForm.column = dataIds
break
this.dataForm.column = dataIds;
break;
case 4:
this.dataForm.form = dataIds
break
this.dataForm.form = dataIds;
break;
case 5:
this.dataForm.resource = dataIds
break
this.dataForm.resource = dataIds;
break;
}
},
handleConfirm() {
this.$refs['dataForm'].validate((valid) => {
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.btnLoading = true
updateAuthorizeList(this.objectId, this.dataForm).then(res => {
this.$message({
message: res.msg,
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.btnLoading = false
this.$emit('close', true)
}
this.btnLoading = true;
updateAuthorizeList(this.objectId, this.dataForm)
.then((res) => {
this.$message({
message: res.msg,
type: "success",
duration: 1500,
onClose: () => {
this.visible = false;
this.btnLoading = false;
this.$emit("close", true);
},
});
})
}).catch(() => {
this.btnLoading = false
})
.catch(() => {
this.btnLoading = false;
});
}
})
}
}
}
});
},
},
};
</script>
<style lang="scss" scoped>
.authorize-bd {

Loading…
Cancel
Save