😎优化租户管理-增加租管姓名

This commit is contained in:
zuohuaijun 2025-01-09 11:40:27 +08:00
parent 13876cd372
commit 9d7a249dd4
9 changed files with 51 additions and 13 deletions

View File

@ -49,7 +49,7 @@
<PackageReference Include="SSH.NET" Version="2024.2.0" /> <PackageReference Include="SSH.NET" Version="2024.2.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.5.1" /> <PackageReference Include="System.Linq.Dynamic.Core" Version="1.5.1" />
<PackageReference Include="System.Net.Http" Version="4.3.4" /> <PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1159" /> <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1160" />
<PackageReference Include="UAParser" Version="3.1.47" /> <PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" /> <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup> </ItemGroup>

View File

@ -23,6 +23,11 @@ public class TenantOutput : SysTenant
/// </summary> /// </summary>
public virtual string AdminAccount { get; set; } public virtual string AdminAccount { get; set; }
/// <summary>
/// 真实姓名
/// </summary>
public string RealName { get; set; }
/// <summary> /// <summary>
/// 电子邮箱 /// 电子邮箱
/// </summary> /// </summary>

View File

@ -78,6 +78,7 @@ public class SysTenantService : IDynamicApiController, ITransient
Name = b.Name, Name = b.Name,
UserId = a.Id, UserId = a.Id,
AdminAccount = a.Account, AdminAccount = a.Account,
RealName = a.RealName,
Phone = a.Phone, Phone = a.Phone,
Email = a.Email, Email = a.Email,
ExpirationTime = u.ExpirationTime, ExpirationTime = u.ExpirationTime,
@ -179,6 +180,7 @@ public class SysTenantService : IDynamicApiController, ITransient
{ {
var tenantId = tenant.Id; var tenantId = tenant.Id;
var tenantName = tenant.Name; var tenantName = tenant.Name;
var tenantMark = tenant.Name + "-租管";
// 初始化机构 // 初始化机构
var newOrg = new SysOrg var newOrg = new SysOrg
@ -197,10 +199,10 @@ public class SysTenantService : IDynamicApiController, ITransient
{ {
Id = tenantId, Id = tenantId,
TenantId = tenantId, TenantId = tenantId,
Name = "租管-" + tenantName, Name = tenantMark,
Code = CommonConst.SysAdminRole, Code = CommonConst.SysAdminRole,
DataScope = DataScopeEnum.All, DataScope = DataScopeEnum.All,
Remark = tenantName Remark = tenantMark
}; };
await _sysRoleRep.InsertAsync(newRole); await _sysRoleRep.InsertAsync(newRole);
@ -209,9 +211,9 @@ public class SysTenantService : IDynamicApiController, ITransient
{ {
Id = tenantId, Id = tenantId,
TenantId = tenantId, TenantId = tenantId,
Name = "租管-" + tenantName, Name = tenantMark,
Code = tenantName, Code = tenantName,
Remark = tenantName, Remark = tenantMark,
}; };
await _sysPosRep.InsertAsync(newPos); await _sysPosRep.InsertAsync(newPos);
@ -223,15 +225,15 @@ public class SysTenantService : IDynamicApiController, ITransient
TenantId = tenantId, TenantId = tenantId,
Account = tenant.AdminAccount, Account = tenant.AdminAccount,
Password = CryptogramUtil.Encrypt(password), Password = CryptogramUtil.Encrypt(password),
NickName = "租管", RealName = tenant.RealName + "-租管",
Email = tenant.Email, NickName = tenant.RealName + "-租管",
Phone = tenant.Phone,
AccountType = AccountTypeEnum.SysAdmin, AccountType = AccountTypeEnum.SysAdmin,
Phone = tenant.Phone,
Email = tenant.Email,
OrgId = newOrg.Id, OrgId = newOrg.Id,
PosId = newPos.Id, PosId = newPos.Id,
Birthday = DateTime.Parse("2000-01-01"), Birthday = DateTime.Parse("2000-01-01"),
RealName = "租管", Remark = tenantMark,
Remark = "租管" + tenantName,
}; };
await _sysUserRep.InsertAsync(newUser); await _sysUserRep.InsertAsync(newUser);

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro", "name": "admin.net.pro",
"type": "module", "type": "module",
"version": "2.4.33", "version": "2.4.33",
"lastBuildTime": "2025.01.08", "lastBuildTime": "2025.01.09",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架", "description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun", "author": "zuohuaijun",
"license": "MIT", "license": "MIT",
@ -102,7 +102,7 @@
"rollup-plugin-visualizer": "^5.14.0", "rollup-plugin-visualizer": "^5.14.0",
"sass": "^1.83.1", "sass": "^1.83.1",
"terser": "^5.37.0", "terser": "^5.37.0",
"typescript": "^5.7.2", "typescript": "^5.7.3",
"vite": "^6.0.7", "vite": "^6.0.7",
"vite-plugin-cdn-import": "^1.0.1", "vite-plugin-cdn-import": "^1.0.1",
"vite-plugin-compression2": "^1.3.3", "vite-plugin-compression2": "^1.3.3",

View File

@ -193,6 +193,14 @@ export interface AddTenantInput {
*/ */
orgPid?: number; orgPid?: number;
/**
*
*
* @type {string}
* @memberof AddTenantInput
*/
realName?: string | null;
/** /**
* *
* *

View File

@ -209,6 +209,14 @@ export interface TenantOutput {
*/ */
adminAccount?: string | null; adminAccount?: string | null;
/**
*
*
* @type {string}
* @memberof TenantOutput
*/
realName?: string | null;
/** /**
* *
* *

View File

@ -193,6 +193,14 @@ export interface UpdateTenantInput {
*/ */
orgPid?: number; orgPid?: number;
/**
*
*
* @type {string}
* @memberof UpdateTenantInput
*/
realName?: string | null;
/** /**
* *
* *

View File

@ -155,6 +155,8 @@ service.interceptors.response.use(
if (error.response) { if (error.response) {
if (error.response.status === 401) { if (error.response.status === 401) {
clearAccessTokens(); clearAccessTokens();
} else if (error.response.statusCode === 404) {
ElMessage.error('接口异常,请联系管理员');
} }
} }

View File

@ -27,7 +27,7 @@
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="租户名称" prop="name" :rules="[{ required: true, message: '租户名称不能为空', trigger: 'blur' }]"> <el-form-item label="租户名称" prop="name" :rules="[{ required: true, message: '租户名称不能为空', trigger: 'blur' }]">
<el-input v-model="state.ruleForm.name" placeholder="租户名称" clearable /> <el-input v-model="state.ruleForm.name" placeholder="租户名称" clearable />
</el-form-item> </el-form-item>
@ -37,6 +37,11 @@
<el-input v-model="state.ruleForm.adminAccount" placeholder="租管账号" clearable /> <el-input v-model="state.ruleForm.adminAccount" placeholder="租管账号" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="租管姓名" prop="realName" :rules="[{ required: true, message: '租管姓名不能为空', trigger: 'blur' }]">
<el-input v-model="state.ruleForm.realName" placeholder="租管姓名" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="电话" prop="phone" :rules="[{ required: true, message: '电话号码不能为空', trigger: 'blur' }]"> <el-form-item label="电话" prop="phone" :rules="[{ required: true, message: '电话号码不能为空', trigger: 'blur' }]">
<el-input v-model="state.ruleForm.phone" placeholder="电话" clearable /> <el-input v-model="state.ruleForm.phone" placeholder="电话" clearable />