From ac2ca1c55728096667ceb9713e06995a4dfdf0fc Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 03 十一月 2025 18:01:49 +0800
Subject: [PATCH] fix: 四流
---
src/views/MaterialReview/MaterialReviewAudit.vue | 138 +++++++++------------------------------------
1 files changed, 28 insertions(+), 110 deletions(-)
diff --git a/src/views/MaterialReview/MaterialReviewAudit.vue b/src/views/MaterialReview/MaterialReviewAudit.vue
index 5039c84..698fbc7 100644
--- a/src/views/MaterialReview/MaterialReviewAudit.vue
+++ b/src/views/MaterialReview/MaterialReviewAudit.vue
@@ -1,110 +1,24 @@
<template>
- <LoadingLayout>
- <AppContainer>
- <PageFormLayout title="鏉愭枡瀹℃牳">
- <DetailView :form="state.detail" :has-form="true">
- <template #table>
- <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView>
- </template>
- <template #form>
- <ProForm :model="state.form" ref="formRef" label-width="120px">
- <ProFormCol>
- <ProFormColItem :span="12">
- <ProFormItemV2
- label="鐢虫姤瀹℃牳:"
- prop="status"
- :check-rules="[{ message: '璇烽�夋嫨瀹℃牳鐘舵��' }]"
- >
- <ProFormRadio v-model="state.form.status" :value-enum="DataRangeEnumText" />
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- <ProFormCol>
- <ProFormColItem>
- <ProFormItemV2 label="椹冲洖鍘熷洜:" prop="remark">
- <ProFormTextArea
- v-model="state.form.remark"
- placeholder="璇疯緭鍏�"
- show-word-limit
- :maxlength="200"
- ></ProFormTextArea>
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- </ProForm>
- </template>
- </DetailView>
- <template #footer>
- <el-button @click="handleBack">鍏抽棴</el-button>
- <el-button type="primary" @click="handleConfirm()">鎻愪氦</el-button>
- </template>
- </PageFormLayout>
- </AppContainer>
- </LoadingLayout>
+ <MaterialReviewAuditView :confirm="confirm"></MaterialReviewAuditView>
</template>
<script setup lang="ts">
-import {
- AppContainer,
- ProForm,
- ProFormCol,
- ProFormColItem,
- ProFormItemV2,
- ProFormTextArea,
- ProFormRadio,
- LoadingLayout,
- UploadUserFile,
- PageFormLayout,
-} from '@bole-core/components';
-import { DataRangeEnum, DataRangeEnumText } from '@/constants';
-import DetailView from '@/components/commonView/DetailView.vue';
-import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue';
-import { useQuery } from '@tanstack/vue-query';
-import * as informationServices from '@/services/api/Information';
-import { convertApi2FormUrlOnlyOne } from '@/utils';
-import { useRouteView } from '@/hooks';
-import { FormInstance } from 'element-plus';
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import { useGlobalEventContext, useRouteView } from '@/hooks';
+import { Message } from '@bole-core/core';
+import { EnterpriseApplyFileUtils } from '@/components/commonView/utils';
+import MaterialReviewAuditView from './components/MaterialReviewAuditView.vue';
+import { Form } from './components/materialReviewAudit';
defineOptions({
name: 'MaterialReviewAudit',
});
const route = useRoute();
+const eventContext = useGlobalEventContext();
const { closeViewPush } = useRouteView();
const id = route.params?.id as string;
-const state = reactive({
- detail: {
- categoryName: '',
- amount: 0,
- url: [] as UploadUserFile[],
- },
- form: {
- status: '' as any as DataRangeEnum,
- remark: '',
- },
-});
-
-const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>();
-
-const { data: detail, isLoading } = useQuery({
- queryKey: ['informationServices/getInformationShowDetail', id],
- queryFn: async () => {
- return await informationServices.getInformationShowDetail(
- { id: id },
- {
- showLoading: false,
- }
- );
- },
- placeholderData: () => ({} as API.InformationShowDetailDto),
- onSuccess(data) {
- state.detail.categoryName = data.categoryName;
- state.detail.amount = data.attentionCount;
- state.detail.url = convertApi2FormUrlOnlyOne(data.avatarUrl);
-
- tableRef.value?.getList();
- },
-});
function handleBack() {
closeViewPush(route, {
@@ -112,21 +26,25 @@
});
}
-const formRef = ref<FormInstance>();
-function handleConfirm() {
- if (!formRef.value) return;
- formRef.value.validate((valid) => {
- if (valid) {
- confirm();
- } else {
- return;
+const queryClient = useQueryClient();
+
+async function confirm(form: Form) {
+ try {
+ let params: API.OutcheckParkBountyApplyInput = {
+ parkBountyApplyId: id,
+ outCheckStatus: form.status,
+ remark: form.remark,
+ extraListFiles: EnterpriseApplyFileUtils.convertFileTableListToApiBatch(form.extraListFiles),
+ };
+ let res = await parkBountyApplyServices.outcheckParkBountyApply(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ eventContext.emit('materialReviewAudit:audit');
+ queryClient.invalidateQueries({
+ queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+ });
+ handleBack();
}
- });
+ } catch (error) {}
}
-
-function confirm() {}
</script>
-
-<style lang="scss" scoped>
-@use '@/style/common.scss' as *;
-</style>
--
Gitblit v1.9.1