<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>
|
</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';
|
|
defineOptions({
|
name: 'MaterialReviewAudit',
|
});
|
|
const route = useRoute();
|
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, {
|
name: 'MaterialReviewList',
|
});
|
}
|
|
const formRef = ref<FormInstance>();
|
function handleConfirm() {
|
if (!formRef.value) return;
|
formRef.value.validate((valid) => {
|
if (valid) {
|
confirm();
|
} else {
|
return;
|
}
|
});
|
}
|
|
function confirm() {}
|
</script>
|
|
<style lang="scss" scoped>
|
@use '@/style/common.scss' as *;
|
</style>
|