diff --git a/src/views/infra/apiAccessLog/ApiAccessLogModel.vue b/src/views/infra/apiAccessLog/ApiAccessLogModel.vue new file mode 100644 index 000000000..f9d4e441b --- /dev/null +++ b/src/views/infra/apiAccessLog/ApiAccessLogModel.vue @@ -0,0 +1,60 @@ + + + +import { ref, computed, unref } from 'vue' +import { BasicModal, useModalInner } from '@/components/Modal' +import { BasicForm, useForm } from '@/components/Form' +import { formSchema } from './ApiAccessLog.data' +import { createApiAccessLogApi, getApiAccessLogApi, updatePostApi } from '@/api/infra/apiAccessLog' + +const emit = defineEmits(['success', 'register']) +const isUpdate = ref(true) +const rowId = ref() + +const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({ + labelWidth: 100, + baseColProps: { span: 24 }, + schemas: formSchema, + showActionButtonGroup: false, + actionColOptions: { + span: 23 + } +}) + +const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { + resetFields() + setModalProps({ confirmLoading: false }) + isUpdate.value = !!data?.isUpdate + + if (unref(isUpdate)) { + const res = await getApiAccessLogApi(data.record.id) + rowId.value = res.id + setFieldsValue({ + ...res + }) + } +}) + +const getTitle = computed(() => (!unref(isUpdate) ? '新增API访问日志表' : '编辑API访问日志表')) + +async function handleSubmit() { + try { + const values = await validate() + setModalProps({ confirmLoading: true }) + if (unref(isUpdate)) { + await updateApiAccessLogApi(values) + } else { + await createApiAccessLogApi(values) + } + closeModal() + emit('success') + } finally { + setModalProps({ confirmLoading: false }) + } +} +