From 1ea740c51e84a80e6eb069846ba4a58438f9795c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 07 四月 2025 17:40:12 +0800
Subject: [PATCH] feat: init

---
 src/views/MaterialReview/MaterialReviewAudit.vue |  121 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 120 insertions(+), 1 deletions(-)

diff --git a/src/views/MaterialReview/MaterialReviewAudit.vue b/src/views/MaterialReview/MaterialReviewAudit.vue
index 5812f49..5039c84 100644
--- a/src/views/MaterialReview/MaterialReviewAudit.vue
+++ b/src/views/MaterialReview/MaterialReviewAudit.vue
@@ -1,11 +1,130 @@
 <template>
-  <div>MaterialReviewAudit</div>
+  <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>

--
Gitblit v1.9.1