From 763bec8077191e42a779e8f77e5126e5dd09b27f Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 14 五月 2025 14:32:43 +0800 Subject: [PATCH] feat: 接口 --- src/views/Reward/components/RegisterDialog.vue | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 116 insertions(+), 0 deletions(-) diff --git a/src/views/Reward/components/RegisterDialog.vue b/src/views/Reward/components/RegisterDialog.vue new file mode 100644 index 0000000..902453b --- /dev/null +++ b/src/views/Reward/components/RegisterDialog.vue @@ -0,0 +1,116 @@ +<template> + <ProDialog + title="鐧昏" + v-model="visible" + @close="onDialogClose" + destroy-on-close + draggable + width="700px" + > + <ProForm :model="form" ref="dialogForm" label-width="120px"> + <ProFormItemV2 + label="鐧昏绫诲瀷:" + prop="incomeType" + :check-rules="[{ message: '璇烽�夋嫨鐧昏绫诲瀷' }]" + > + <ProFormRadio + v-model="form.incomeType" + :value-enum="incomeTypeEnum" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + label="杈撳叆閲戦:" + prop="financeSumAmount" + :check-rules="[{ message: '璇疯緭鍏ラ噾棰�', type: 'number' }]" + > + <ProFormInputNumber + v-model="form.financeSumAmount" + :controls="false" + :min="0" + unit="鍏�" + :precision="2" + ></ProFormInputNumber> + </ProFormItemV2> + </ProForm> + <template #footer> + <span class="dialog-footer"> + <el-button @click="emit('onCancel')">鍙� 娑�</el-button> + <el-button type="primary" @click="handleConfirm">纭� 瀹�</el-button> + </span> + </template> + </ProDialog> +</template> + +<script setup lang="ts"> +import { FormInstance } from 'element-plus'; +import { + ProDialog, + ProForm, + ProFormItemV2, + ProFormInputNumber, + ProFormRadio, +} from '@bole-core/components'; +import { IncomeTypeEnumText, IncomeTypeEnum, FinanceStatusEnum } from '@/constants'; + +defineOptions({ + name: 'RegisterDialog', +}); + +type Props = { + /** + * @deprecated + */ + financeSumAmount?: number; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const visible = defineModel({ type: Boolean }); + +type Form = { + title?: string; + financeSumAmount: number; + incomeType: IncomeTypeEnum; + showSuportPlatRecharge: boolean; + showSuportFiscalRecharge: boolean; +}; + +const form = defineModel<Form>('form'); + +const emit = defineEmits<{ + (e: 'onConfirm'): void; + (e: 'onCancel'): void; +}>(); + +const incomeTypeEnum = computed(() => { + return [ + form.value.showSuportFiscalRecharge && { + label: IncomeTypeEnumText[IncomeTypeEnum.Fiscal], + value: IncomeTypeEnum.Fiscal, + }, + form.value.showSuportPlatRecharge && { + label: IncomeTypeEnumText[IncomeTypeEnum.Platform], + value: IncomeTypeEnum.Platform, + }, + ].filter(Boolean); +}); + +const dialogForm = ref<FormInstance>(); + +function onDialogClose() { + if (!dialogForm.value) return; + dialogForm.value.resetFields(); +} + +function handleConfirm() { + if (!dialogForm.value) return; + dialogForm.value.validate((valid) => { + if (valid) { + emit('onConfirm'); + } else { + return; + } + }); +} +</script> -- Gitblit v1.9.1