From eed29804d3973801f8eac3ad9bead1e608f05b6a Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 20 七月 2024 22:31:56 +0800 Subject: [PATCH] 工单及自定义弹出窗口更新 --- src/views/demo/system/account/AccountModal.vue | 117 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 56 insertions(+), 61 deletions(-) diff --git a/src/views/demo/system/account/AccountModal.vue b/src/views/demo/system/account/AccountModal.vue index 167bb72..81ccc18 100644 --- a/src/views/demo/system/account/AccountModal.vue +++ b/src/views/demo/system/account/AccountModal.vue @@ -3,72 +3,67 @@ <BasicForm @register="registerForm" /> </BasicModal> </template> -<script lang="ts"> - import { defineComponent, ref, computed, unref } from 'vue'; - import { BasicModal, useModalInner } from '/@/components/Modal'; - import { BasicForm, useForm } from '/@/components/Form/index'; +<script lang="ts" setup> + import { ref, computed, unref } from 'vue'; + import { BasicModal, useModalInner } from '@/components/Modal'; + import { BasicForm, useForm } from '@/components/Form'; import { accountFormSchema } from './account.data'; - import { getDeptList } from '/@/api/demo/system'; + import { getDeptList } from '@/api/demo/system'; - export default defineComponent({ - name: 'AccountModal', - components: { BasicModal, BasicForm }, - emits: ['success', 'register'], - setup(_, { emit }) { - const isUpdate = ref(true); - const rowId = ref(''); + defineOptions({ name: 'AccountModal' }); - const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ - labelWidth: 100, - baseColProps: { span: 24 }, - schemas: accountFormSchema, - showActionButtonGroup: false, - actionColOptions: { - span: 23, - }, - }); + const emit = defineEmits(['success', 'register']); - const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { - resetFields(); - setModalProps({ confirmLoading: false }); - isUpdate.value = !!data?.isUpdate; + const isUpdate = ref(true); + const rowId = ref(''); - if (unref(isUpdate)) { - rowId.value = data.record.id; - setFieldsValue({ - ...data.record, - }); - } - - const treeData = await getDeptList(); - updateSchema([ - { - field: 'pwd', - show: !unref(isUpdate), - }, - { - field: 'dept', - componentProps: { treeData }, - }, - ]); - }); - - const getTitle = computed(() => (!unref(isUpdate) ? '鏂板璐﹀彿' : '缂栬緫璐﹀彿')); - - async function handleSubmit() { - try { - const values = await validate(); - setModalProps({ confirmLoading: true }); - // TODO custom api - console.log(values); - closeModal(); - emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } }); - } finally { - setModalProps({ confirmLoading: false }); - } - } - - return { registerModal, registerForm, getTitle, handleSubmit }; + const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ + labelWidth: 100, + baseColProps: { span: 24 }, + schemas: accountFormSchema, + showActionButtonGroup: false, + actionColOptions: { + span: 23, }, }); + + const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { + resetFields(); + setModalProps({ confirmLoading: false }); + isUpdate.value = !!data?.isUpdate; + + if (unref(isUpdate)) { + rowId.value = data.record.id; + setFieldsValue({ + ...data.record, + }); + } + + const treeData = await getDeptList(); + updateSchema([ + { + field: 'pwd', + show: !unref(isUpdate), + }, + { + field: 'dept', + componentProps: { treeData }, + }, + ]); + }); + + const getTitle = computed(() => (!unref(isUpdate) ? '鏂板璐﹀彿' : '缂栬緫璐﹀彿')); + + async function handleSubmit() { + try { + const values = await validate(); + setModalProps({ confirmLoading: true }); + // TODO custom api + console.log(values); + closeModal(); + emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } }); + } finally { + setModalProps({ confirmLoading: false }); + } + } </script> -- Gitblit v1.9.3