From 1dd18a43eeddf5baf9c425dd5c37b5e0a0d5f781 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 01 八月 2025 14:32:16 +0800 Subject: [PATCH] feat: 页面 --- src/views/ServiceChargeManage/ServiceChargeSettle.vue | 133 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 127 insertions(+), 6 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeSettle.vue b/src/views/ServiceChargeManage/ServiceChargeSettle.vue index 0a4bf99..365fbb0 100644 --- a/src/views/ServiceChargeManage/ServiceChargeSettle.vue +++ b/src/views/ServiceChargeManage/ServiceChargeSettle.vue @@ -1,17 +1,119 @@ <template> <LoadingLayout :loading="isLoading"> <AppScrollContainer> - <ChunkCell title="浠樻鏂逛俊鎭�"> </ChunkCell> - <ChunkCell title="鏀舵鏂逛俊鎭�"> </ChunkCell> - <ChunkCell title="杞处淇℃伅"> </ChunkCell> + <ChunkCell title="浠樻鏂逛俊鎭�"> + <ProForm :model="form" ref="formRef" label-width="120px"> + <ProFormItemV2 + label="浠樻璐︽埛:" + prop="name" + :check-rules="[{ message: '璇烽�夋嫨浠樻璐︽埛' }]" + > + <ProFormSelect + v-model="form.name" + :valueEnum="[]" + placeholder="璇烽�夋嫨鎮ㄧ殑浠樻鏂瑰紡" + clearable + > + </ProFormSelect> + </ProFormItemV2> + <ProFormMixinsItemContainer> + <ProFormItemV2 + label="浠樻閲戦:" + prop="money" + :check-rules="[{ message: '璇疯緭鍏ヤ粯娆鹃噾棰�' }]" + mode="read" + > + <ProFormInputNumber v-model="form.money"> </ProFormInputNumber> + </ProFormItemV2> + </ProFormMixinsItemContainer> + </ProForm> + </ChunkCell> + <ChunkCell title="鏀舵鏂逛俊鎭�"> + <ProForm :model="form" ref="formRef" label-width="120px"> + <ProFormItemV2 + label="鏀舵鏂硅处鎴�:" + prop="name" + :check-rules="[{ message: '璇烽�夋嫨鏀舵鏂硅处鎴�' }]" + > + <ProFormRadio + v-model="form.name" + :valueEnum="[]" + placeholder="璇烽�夋嫨鏀舵鏂硅处鎴�" + clearable + > + </ProFormRadio> + </ProFormItemV2> + <ProFormMixinsItemContainer> + <ProFormItemV2 + label="鏀舵鏂规埛鍚�:" + prop="name" + :check-rules="[{ message: '璇疯緭鍏ユ敹娆炬柟鎴峰悕' }]" + mode="read" + > + <ProFormText v-model="form.name"> </ProFormText> + </ProFormItemV2> + <ProFormItemV2 + label="鏀舵鏂硅处鍙�:" + prop="name" + :check-rules="[{ message: '璇疯緭鍏ユ敹娆炬柟璐﹀彿' }]" + mode="read" + > + <ProFormText v-model="form.name"> </ProFormText> + </ProFormItemV2> + <ProFormItemV2 + label="鏀舵鏂瑰紑鎴疯:" + prop="name" + :check-rules="[{ message: '璇疯緭鍏ユ敹娆惧紑鎴疯' }]" + mode="read" + > + <ProFormText v-model="form.name"> </ProFormText> + </ProFormItemV2> + </ProFormMixinsItemContainer> + </ProForm> + </ChunkCell> + <ChunkCell title="杞处淇℃伅"> + <ProForm :model="form" ref="formRef" label-width="120px"> + <ProFormMixinsItemContainer> + <ProFormItemV2 label="浜ゆ槗鐢ㄩ��:" prop="name" mode="read"> + <ProFormText v-model="form.name"> </ProFormText> + </ProFormItemV2> + </ProFormMixinsItemContainer> + <ProFormItemV2 label="闄勮█:" prop="name"> + <ProFormText v-model="form.name" :maxlength="30" show-word-limit> </ProFormText> + </ProFormItemV2> + <ProFormItemV2 label="澶囨敞:" prop="name"> + <ProFormText v-model="form.name" :maxlength="30" show-word-limit> </ProFormText> + </ProFormItemV2> + <div class="chuck-add-or-edit-actions"> + <el-button class="chuck-add-or-edit-actions" @click="handleBack()">鍙栨秷</el-button> + <el-button class="chuck-add-or-edit-actions" type="primary" @click="handleSubmit" + >鎻愪氦瀹℃牳</el-button + > + </div> + </ProForm> + </ChunkCell> </AppScrollContainer> </LoadingLayout> </template> <script setup lang="ts"> -import { LoadingLayout, AppScrollContainer, ChunkCell } from '@bole-core/components'; +import { + LoadingLayout, + AppScrollContainer, + ChunkCell, + ProForm, + ProFormItemV2, + ProFormText, + ProFormSelect, + ProFormInputNumber, + ProFormRadio, + ProFormMixinsItemContainer, +} from '@bole-core/components'; import {} from '@/constants'; import * as flexTaskServices from '@/services/api/FlexTask'; import { useQuery } from '@tanstack/vue-query'; +import { useRouteView } from '@/hooks'; +import { FormInstance } from 'element-plus'; +import { validateFormList } from '@/utils'; defineOptions({ name: 'ServiceChargeSettle', @@ -20,8 +122,11 @@ const route = useRoute(); const id = (route.params.id as string) ?? ''; -const state = reactive({ - loading: true, +const { closeViewPush } = useRouteView(); + +const form = reactive({ + name: '', + money: 0, }); const { isLoading } = useQuery({ @@ -34,10 +139,26 @@ } ); }, + placeholderData: () => ({} as API.GetFlexTaskDetailForBackOutput), onSuccess(data) {}, enabled: !!id, }); +function handleBack() { + closeViewPush(route, { + name: 'ServiceChargeManageList', + }); +} +const formRef = ref<FormInstance>(); +async function handleSubmit() { + try { + const valid = await validateFormList([formRef.value]); + if (valid) { + // + } + } catch (error) {} +} + onMounted(() => {}); </script> -- Gitblit v1.9.1