feat(projects): page manage_menu

This commit is contained in:
Soybean
2024-01-28 23:38:44 +08:00
parent f8467ceb17
commit 87d65d3b1c
16 changed files with 739 additions and 129 deletions

View File

@@ -2,7 +2,7 @@
import { computed, reactive, watch } from 'vue';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { roleStatusOptions } from '@/constants/business';
import { enableStatusOptions } from '@/constants/business';
defineOptions({
name: 'RoleOperateDrawer'
@@ -46,7 +46,7 @@ const title = computed(() => {
return titles[props.operateType];
});
type Model = Pick<Api.SystemManage.Role, 'roleName' | 'roleCode' | 'roleDesc' | 'roleStatus'>;
type Model = Pick<Api.SystemManage.Role, 'roleName' | 'roleCode' | 'roleDesc' | 'status'>;
const model: Model = reactive(createDefaultModel());
@@ -55,7 +55,7 @@ function createDefaultModel(): Model {
roleName: '',
roleCode: '',
roleDesc: '',
roleStatus: null
status: null
};
}
@@ -64,7 +64,7 @@ type RuleKey = Exclude<keyof Model, 'roleDesc'>;
const rules: Record<RuleKey, App.Global.FormRule> = {
roleName: defaultRequiredRule,
roleCode: defaultRequiredRule,
roleStatus: defaultRequiredRule
status: defaultRequiredRule
};
function handleUpdateModelWhenEdit() {
@@ -108,9 +108,9 @@ watch(visible, () => {
<NFormItem :label="$t('page.manage.role.roleCode')" path="roleCode">
<NInput v-model:value="model.roleCode" :placeholder="$t('page.manage.role.form.roleCode')" />
</NFormItem>
<NFormItem :label="$t('page.manage.role.roleStatus')" path="roleStatus">
<NRadioGroup v-model:value="model.roleStatus">
<NRadio v-for="item in roleStatusOptions" :key="item.value" :value="item.value" :label="$t(item.label)" />
<NFormItem :label="$t('page.manage.role.roleStatus')" path="status">
<NRadioGroup v-model:value="model.status">
<NRadio v-for="item in enableStatusOptions" :key="item.value" :value="item.value" :label="$t(item.label)" />
</NRadioGroup>
</NFormItem>
<NFormItem :label="$t('page.manage.role.roleDesc')" path="roleDesc">

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { $t } from '@/locales';
import { roleStatusOptions } from '@/constants/business';
import { enableStatusOptions } from '@/constants/business';
import { translateOptions } from '@/utils/common';
defineOptions({
@@ -35,11 +35,11 @@ function search() {
<NFormItemGi span="24 s:12 m:6" :label="$t('page.manage.role.roleCode')" path="roleCode" class="pr-24px">
<NInput v-model:value="model.roleCode" :placeholder="$t('page.manage.role.form.roleCode')" />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.manage.role.roleStatus')" path="roleStatus" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.manage.role.roleStatus')" path="status" class="pr-24px">
<NSelect
v-model:value="model.roleStatus"
v-model:value="model.status"
:placeholder="$t('page.manage.role.form.roleStatus')"
:options="translateOptions(roleStatusOptions)"
:options="translateOptions(enableStatusOptions)"
clearable
/>
</NFormItemGi>