feat(system): 增加租户套餐类型筛选和展示

- 在租户套餐列表中添加套餐类型筛选功能
- 在租户套餐表中增加套餐类型列- 在租户套餐表单中添加套餐类型选择框
- 更新相关接口定义,增加 tenantType 字段
This commit is contained in:
huk 2025-09-13 12:33:29 +08:00
parent ac075ad38f
commit ef7327438e
3 changed files with 26 additions and 2 deletions

View File

@ -1,5 +1,6 @@
export interface TenantPkgVO extends BaseEntity { export interface TenantPkgVO extends BaseEntity {
packageId: string | number; packageId: string | number;
tenantType: number;
packageName: string; packageName: string;
menuIds: string; menuIds: string;
remark: string; remark: string;
@ -9,11 +10,13 @@ export interface TenantPkgVO extends BaseEntity {
export interface TenantPkgQuery extends PageQuery { export interface TenantPkgQuery extends PageQuery {
packageName: string; packageName: string;
tenantType: number;
} }
export interface TenantPkgForm { export interface TenantPkgForm {
packageId: string | number | undefined; packageId: string | number | undefined;
packageName: string; packageName: string;
tenantType: number;
menuIds: string; menuIds: string;
remark: string; remark: string;
menuCheckStrictly: boolean; menuCheckStrictly: boolean;

View File

@ -584,7 +584,7 @@ const initFormData: TenantForm = {
otherAttachment: '', otherAttachment: '',
// //
signStatus: '0', signStatus: '0',
type: 1 type: 3
}; };
const data = reactive<PageData<TenantForm, TenantQuery>>({ const data = reactive<PageData<TenantForm, TenantQuery>>({

View File

@ -7,6 +7,12 @@
<el-form-item label="套餐名称" prop="packageName"> <el-form-item label="套餐名称" prop="packageName">
<el-input v-model="queryParams.packageName" placeholder="请输入套餐名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.packageName" placeholder="请输入套餐名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="套餐类型" prop="tenantType">
<el-select v-model="queryParams.tenantType" placeholder="请选择套餐类型" clearable>
<el-option label="代理租户" value="3"></el-option>
<el-option label="店铺租户" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
@ -43,6 +49,13 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column v-if="false" label="租户套餐id" align="center" prop="packageId" /> <el-table-column v-if="false" label="租户套餐id" align="center" prop="packageId" />
<el-table-column label="套餐名称" align="center" prop="packageName" /> <el-table-column label="套餐名称" align="center" prop="packageName" />
<el-table-column label="套餐类型" align="center" prop="tenantType">
<template #default="scope">
<span v-if="scope.row.tenantType === 3">代理租户</span>
<span v-else-if="scope.row.tenantType === 2">店铺租户</span>
<span v-else>{{ scope.row.tenantType }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template #default="scope"> <template #default="scope">
@ -70,6 +83,12 @@
<el-form-item label="套餐名称" prop="packageName"> <el-form-item label="套餐名称" prop="packageName">
<el-input v-model="form.packageName" placeholder="请输入套餐名称" /> <el-input v-model="form.packageName" placeholder="请输入套餐名称" />
</el-form-item> </el-form-item>
<el-form-item label="套餐类型" prop="tenantType">
<el-select v-model="form.tenantType" placeholder="请选择套餐类型" clearable>
<el-option label="代理租户" :value="3"></el-option>
<el-option label="店铺租户" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联菜单"> <el-form-item label="关联菜单">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox> <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选 </el-checkbox> <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选 </el-checkbox>
@ -139,6 +158,7 @@ const dialog = reactive<DialogOption>({
const initFormData: TenantPkgForm = { const initFormData: TenantPkgForm = {
packageId: undefined, packageId: undefined,
packageName: '', packageName: '',
tenantType: undefined,
menuIds: '', menuIds: '',
remark: '', remark: '',
menuCheckStrictly: true menuCheckStrictly: true
@ -148,7 +168,8 @@ const data = reactive<PageData<TenantPkgForm, TenantPkgQuery>>({
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
packageName: '' packageName: '',
tenantType: undefined
}, },
rules: { rules: {
packageId: [{ required: true, message: '租户套餐id不能为空', trigger: 'blur' }], packageId: [{ required: true, message: '租户套餐id不能为空', trigger: 'blur' }],