Browse Source

feat: change

DESKTOP-USV654P\pc 1 year ago
parent
commit
3899f3a6ba

+ 2 - 14
apps/web-baicai/src/views/system/menu/components/edit.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { onMounted, reactive, ref, unref } from 'vue';
+import { onMounted, ref, unref } from 'vue';
 
 import { useVbenDrawer } from '@vben/common-ui';
 
@@ -17,10 +17,6 @@ const emit = defineEmits(['success']);
 const modelRef = ref<Record<string, any>>({});
 const isUpdate = ref(true);
 
-const state = reactive({
-  metaFields: ['title', 'icon', 'keepAlive', 'hideInTab', 'iframeSrc', 'link'],
-});
-
 const [Form, { validate, setValues, getValues }] = useVbenForm({
   showDefaultActions: false,
   ...formOptions,
@@ -38,11 +34,7 @@ const [Drawer, { close, setState, getData }] = useVbenDrawer({
         setState({ confirmLoading: true });
         const postParams = unref(modelRef);
 
-        const meta: any = {};
-        state.metaFields.forEach((field) => {
-          meta[field] = values[field];
-        });
-        Object.assign(postParams, values, { meta });
+        Object.assign(postParams, values);
 
         await (unref(isUpdate)
           ? MenuApi.editDetail(postParams as MenuApi.RecordItem)
@@ -72,10 +64,6 @@ const [Drawer, { close, setState, getData }] = useVbenDrawer({
 
         const formatData: any = { ...entity };
 
-        state.metaFields.forEach((field) => {
-          formatData[field] = entity.meta[field];
-        });
-
         setValues(formatData);
       }
       setState({ loading: false });

+ 2 - 16
apps/web-baicai/src/views/system/menu/components/editMenu.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { onMounted, reactive, ref, unref } from 'vue';
+import { onMounted, ref, unref } from 'vue';
 
 import { useVbenModal } from '@vben/common-ui';
 
@@ -17,10 +17,6 @@ const emit = defineEmits(['success']);
 const modelRef = ref<Record<string, any>>({});
 const isUpdate = ref(true);
 
-const state = reactive({
-  metaFields: ['title', 'icon', 'keepAlive', 'hideInTab', 'iframeSrc', 'link'],
-});
-
 const [Form, { validate, setValues, getValues }] = useVbenForm({
   showDefaultActions: false,
   ...formMenuOptions,
@@ -40,12 +36,7 @@ const [Modal, { close, setState, getData }] = useVbenModal({
         setState({ confirmLoading: true });
         const postParams = unref(modelRef);
 
-        const meta: any = { query: { ...postParams.meta.query } };
-        state.metaFields.forEach((field) => {
-          meta[field] = values[field];
-        });
-
-        Object.assign(postParams, values, { type: 1, isMake: 1 }, { meta });
+        Object.assign(postParams, values, { type: 1, isMake: 1 });
 
         await (unref(isUpdate)
           ? MenuApi.editDetail(postParams as MenuApi.RecordItem)
@@ -73,11 +64,6 @@ const [Modal, { close, setState, getData }] = useVbenModal({
         const entity = await MenuApi.getDetail(data.baseData.id);
         modelRef.value = { ...entity };
         const formatData: any = { ...entity };
-
-        state.metaFields.forEach((field) => {
-          formatData[field] = entity.meta[field];
-        });
-
         setValues(formatData);
       } else {
         setValues({ component: data.baseData.component });

+ 15 - 15
apps/web-baicai/src/views/system/menu/data.config.ts

@@ -96,7 +96,7 @@ export const gridOptions: VxeGridProps<MenuApi.RecordItem> = {
       fixed: 'right',
       slots: { default: 'action' },
       title: '操作',
-      width: 170,
+      width: 150,
     },
   ],
   height: 'auto',
@@ -211,7 +211,7 @@ export const formOptions: VbenFormProps = {
       componentProps: {
         placeholder: '请输入菜单名称',
       },
-      fieldName: 'title',
+      fieldName: 'meta.title',
       help: 'meta.title',
       label: '菜单名称',
       rules: 'required',
@@ -221,7 +221,7 @@ export const formOptions: VbenFormProps = {
       componentProps: {
         placeholder: '请输入图标',
       },
-      fieldName: 'icon',
+      fieldName: 'meta.icon',
       label: '图标',
       help: 'meta.icon',
       rules: 'required',
@@ -247,7 +247,7 @@ export const formOptions: VbenFormProps = {
           return [1].includes(values.type);
         },
       },
-      fieldName: 'keepAlive',
+      fieldName: 'meta.keepAlive',
       label: '缓存',
       help: 'meta.keepAlive',
     },
@@ -266,7 +266,7 @@ export const formOptions: VbenFormProps = {
           return [0, 1].includes(values.type);
         },
       },
-      fieldName: 'hideInTab',
+      fieldName: 'meta.hideInTab',
       label: '隐藏',
       help: 'meta.keepAlive',
     },
@@ -286,7 +286,7 @@ export const formOptions: VbenFormProps = {
           return [0, 1].includes(values.type);
         },
       },
-      fieldName: 'pathType',
+      fieldName: 'meta.pathType',
       label: '路由类型',
       rules: 'required',
     },
@@ -301,7 +301,7 @@ export const formOptions: VbenFormProps = {
           return [1].includes(values.pathType);
         },
       },
-      fieldName: 'iframeSrc',
+      fieldName: 'meta.iframeSrc',
       help: 'meta.iframeSrc',
       label: '内嵌页面',
       rules: 'required',
@@ -317,7 +317,7 @@ export const formOptions: VbenFormProps = {
           return [2].includes(values.pathType);
         },
       },
-      fieldName: 'link',
+      fieldName: 'meta.link',
       help: 'meta.link',
       label: '外链地址',
       rules: 'required',
@@ -420,7 +420,7 @@ export const formMenuOptions: VbenFormProps = {
       componentProps: {
         placeholder: '请输入菜单名称',
       },
-      fieldName: 'title',
+      fieldName: 'meta.title',
       label: '菜单名称',
       help: 'meta.title',
       rules: 'required',
@@ -430,7 +430,7 @@ export const formMenuOptions: VbenFormProps = {
       componentProps: {
         placeholder: '请输入图标',
       },
-      fieldName: 'icon',
+      fieldName: 'meta.icon',
       label: '图标',
       help: 'meta.icon',
       rules: 'required',
@@ -444,7 +444,7 @@ export const formMenuOptions: VbenFormProps = {
         optionType: 'button',
         buttonStyle: 'solid',
       },
-      fieldName: 'keepAlive',
+      fieldName: 'meta.keepAlive',
       label: '缓存',
       help: 'meta.keepAlive',
     },
@@ -457,7 +457,7 @@ export const formMenuOptions: VbenFormProps = {
         optionType: 'button',
         buttonStyle: 'solid',
       },
-      fieldName: 'hideInTab',
+      fieldName: 'meta.hideInTab',
       help: 'meta.hideInTab',
       label: '隐藏',
     },
@@ -471,7 +471,7 @@ export const formMenuOptions: VbenFormProps = {
         },
       },
       defaultValue: 0,
-      fieldName: 'pathType',
+      fieldName: 'meta.pathType',
       label: '路由类型',
       rules: 'required',
     },
@@ -486,7 +486,7 @@ export const formMenuOptions: VbenFormProps = {
           return [1].includes(values.pathType);
         },
       },
-      fieldName: 'iframeSrc',
+      fieldName: 'meta.iframeSrc',
       help: 'meta.iframeSrc',
       label: '内嵌页面',
       rules: 'required',
@@ -502,7 +502,7 @@ export const formMenuOptions: VbenFormProps = {
           return [2].includes(values.pathType);
         },
       },
-      fieldName: 'link',
+      fieldName: 'meta.link',
       help: 'meta.link',
       label: '外链地址',
       rules: 'required',

+ 1 - 0
apps/web-baicai/src/views/system/role/index.vue

@@ -129,6 +129,7 @@ const handelUserSuccess = async (data: any) => {
             {
               label: '编辑',
               type: 'text',
+              danger: true,
               disabled: !hasAccessByCodes(['role:edit']),
               onClick: handleEdit.bind(null, row, true),
             },

+ 1 - 1
apps/web-baicai/src/views/system/tenant/data.config.ts

@@ -56,7 +56,7 @@ export const gridOptions: VxeGridProps<TenantApi.RecordItem> = {
       fixed: 'right',
       slots: { default: 'action' },
       title: '操作',
-      width: 170,
+      width: 150,
     },
   ],
   height: 'auto',

+ 1 - 1
apps/web-baicai/src/views/system/user/data.config.ts

@@ -48,7 +48,7 @@ export const gridOptions: VxeGridProps<UserApi.RecordItem> = {
       fixed: 'right',
       slots: { default: 'action' },
       title: '操作',
-      width: 170,
+      width: 160,
     },
   ],
   height: 'auto',

+ 1 - 0
apps/web-baicai/src/views/system/user/index.vue

@@ -140,6 +140,7 @@ const handelRoleSuccess = async (data: any) => {
             {
               label: '编辑',
               type: 'text',
+              danger: true,
               disabled: !hasAccessByCodes(['user:edit']),
               onClick: handleEdit.bind(null, row, true),
             },