From 8736042f4116942b2253d6eb4e782645125c40e2 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 24 二月 2025 20:13:11 +0800 Subject: [PATCH] 低代码更新 --- src/views/tigerprojects/system/menu/MenuDrawer.vue | 117 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 59 insertions(+), 58 deletions(-) diff --git a/src/views/tigerprojects/system/menu/MenuDrawer.vue b/src/views/tigerprojects/system/menu/MenuDrawer.vue index aa3d8ac..c5cb001 100644 --- a/src/views/tigerprojects/system/menu/MenuDrawer.vue +++ b/src/views/tigerprojects/system/menu/MenuDrawer.vue @@ -1,3 +1,11 @@ +<!-- + * @Description: file content + * @Author: Ben Lin + * @version: + * @Date: 2024-06-18 15:09:48 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-08-25 16:11:05 +--> <template> <BasicDrawer v-bind="$attrs" @@ -10,68 +18,61 @@ <BasicForm @register="registerForm" /> </BasicDrawer> </template> -<script lang="ts"> - import { defineComponent, ref, computed, unref } from 'vue'; +<script lang="ts" setup> + import { ref, computed, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formSchema } from './menu.data'; import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; - import { getMenuList, SaveMenu } from '/@/api/tigerapi/system'; - export default defineComponent({ - name: 'MenuDrawer', - components: { BasicDrawer, BasicForm }, - emits: ['success', 'register'], - setup(_, { emit }) { - const isUpdate = ref(true); - - const [registerForm, { resetFields, setFieldsValue, updateSchema, validate }] = useForm({ - labelWidth: 100, - schemas: formSchema, - showActionButtonGroup: false, - baseColProps: { lg: 12, md: 24 }, - }); - - const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { - resetFields(); - setDrawerProps({ confirmLoading: false }); - isUpdate.value = !!data?.isUpdate; - console.log(data.record); - if (unref(isUpdate)) { - setFieldsValue({ - ...data.record, - }); - } - const treeData = await getMenuList(); - updateSchema({ - field: 'parentMenu', - componentProps: { treeData }, - }); - }); - - const getTitle = computed(() => (!unref(isUpdate) ? '鏂板鑿滃崟' : '缂栬緫鑿滃崟')); - - async function handleSubmit() { - try { - const values = await validate(); - setDrawerProps({ confirmLoading: true }); - // TODO custom api - //淇濆瓨鑿滃崟 - const apiAction = SaveMenu(values, unref(isUpdate)); - apiAction.then((action) => { - if (action.IsSuccessed) { - closeDrawer(); - emit('success', { - values: { ...values }, - }); - } - }); - } finally { - setDrawerProps({ confirmLoading: false }); - } - } - - return { registerDrawer, registerForm, getTitle, handleSubmit }; - }, + const emit = defineEmits(['success', 'register']); + const isUpdate = ref(true); + const menuName = ref(''); + const [registerForm, { resetFields, setFieldsValue, updateSchema, validate }] = useForm({ + labelWidth: 100, + schemas: formSchema, + showActionButtonGroup: false, + baseColProps: { lg: 12, md: 24 }, }); + + const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { + resetFields(); + setDrawerProps({ confirmLoading: false }); + isUpdate.value = !!data?.isUpdate; + menuName.value = data?.menuName; + console.log(data.record); + if (unref(isUpdate)) { + setFieldsValue({ + ...data.record, + }); + } + const treeData = await getMenuList({ menuName: data?.menuName, status: undefined }); + updateSchema({ + field: 'parentMenu', + componentProps: { treeData }, + }); + }); + + const getTitle = computed(() => (!unref(isUpdate) ? '鏂板鑿滃崟' : '缂栬緫鑿滃崟')); + + async function handleSubmit() { + try { + const values = await validate(); + setDrawerProps({ confirmLoading: true }); + // TODO custom api + //淇濆瓨鑿滃崟 + values['func_class'] = menuName.value; + SaveMenu(values, unref(isUpdate)).then((action) => { + if (action.IsSuccessed) { + closeDrawer(); + emit('success', { + values: { ...values }, + menuName: menuName.value, + }); + } + }); + } finally { + setDrawerProps({ confirmLoading: false }); + } + } </script> -- Gitblit v1.9.3