diff --git a/src/typings/api/sys/rbac.d.ts b/src/typings/api/sys/rbac.d.ts
index 259eab4b..be96eebe 100644
--- a/src/typings/api/sys/rbac.d.ts
+++ b/src/typings/api/sys/rbac.d.ts
@@ -10,9 +10,9 @@ declare namespace Api {
rootCode: string | null;
name: string;
code: string;
- extCode: string;
+ extCode: string | null;
sort: number;
- description: string;
+ description: string | null;
createTime: string;
updateTime: string;
children: RegionVO[];
diff --git a/src/views/sys/rbac/region/index.vue b/src/views/sys/rbac/region/index.vue
index 270e6966..d7707e1f 100644
--- a/src/views/sys/rbac/region/index.vue
+++ b/src/views/sys/rbac/region/index.vue
@@ -1,12 +1,14 @@
@@ -152,7 +161,7 @@ function handleAddChildren(_: string) {}
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
- @add="handleAdd"
+ @add="add"
@delete="handleBatchDelete"
@refresh="getData"
/>
diff --git a/src/views/sys/rbac/region/modules/region-operate-drawer.vue b/src/views/sys/rbac/region/modules/region-operate-drawer.vue
index a64c0bfd..7a6588a3 100644
--- a/src/views/sys/rbac/region/modules/region-operate-drawer.vue
+++ b/src/views/sys/rbac/region/modules/region-operate-drawer.vue
@@ -46,12 +46,14 @@ function createDefaultModel(): Api.Sys.Rbac.RegionDTO {
}
// 抽屉标题
+const realOperateType = ref('');
const title = computed(() => {
- const titles: Record = {
+ const titles: Record = {
add: $t('common.add'),
- edit: $t('common.edit')
+ edit: $t('common.edit'),
+ children: $t('common.children')
};
- return titles[props.operateType];
+ return titles[realOperateType.value];
});
// Form校验规则
@@ -67,8 +69,17 @@ const rules: Record = {
// ******************** 事件定义 ********************
function handleInitModel() {
model.value = createDefaultModel();
+
+ realOperateType.value = 'add';
if (props.operateType === 'edit' && props.rowData) {
+ realOperateType.value = 'edit';
Object.assign(model.value, jsonClone(props.rowData));
+ } else if (props.operateType === 'add' && props.rowData && props.rowData.id) {
+ realOperateType.value = 'children';
+ model.value.parentId = props.rowData.id;
+ model.value.parentCode = props.rowData.code;
+ model.value.rootId = props.rowData.rootId;
+ model.value.rootCode = props.rowData.rootCode;
}
}