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

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

diff --git a/src/views/MaterialReview/MaterialReviewAudit.vue b/src/views/MaterialReview/MaterialReviewAudit.vue
index 5812f49..b23bdec 100644
--- a/src/views/MaterialReview/MaterialReviewAudit.vue
+++ b/src/views/MaterialReview/MaterialReviewAudit.vue
@@ -1,11 +1,139 @@
 <template>
-  <div>MaterialReviewAudit</div>
+  <LoadingLayout>
+    <AppContainer>
+      <PageFormLayout title="鏉愭枡瀹℃牳">
+        <DetailView :form="form" :has-form="true">
+          <ChunkCellV2 title="鐢虫姤浼佷笟鍚嶅崟" class="chunk-cell-table">
+            <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView>
+          </ChunkCellV2>
+          <ChunkCell>
+            <ProForm :model="form" ref="formRef" label-width="120px">
+              <ProFormCol>
+                <ProFormColItem :span="12">
+                  <ProFormItemV2
+                    label="鐢虫姤瀹℃牳:"
+                    prop="status"
+                    :check-rules="[{ message: '璇烽�夋嫨瀹℃牳鐘舵��' }]"
+                  >
+                    <ProFormRadio v-model="form.status" :value-enum="DataRangeEnumText" />
+                  </ProFormItemV2>
+                </ProFormColItem>
+              </ProFormCol>
+              <ProFormCol>
+                <ProFormColItem>
+                  <ProFormItemV2 label="椹冲洖鍘熷洜:" prop="remark">
+                    <ProFormTextArea
+                      v-model="form.remark"
+                      placeholder="璇疯緭鍏�"
+                      show-word-limit
+                      :maxlength="200"
+                    ></ProFormTextArea>
+                  </ProFormItemV2>
+                </ProFormColItem>
+              </ProFormCol>
+            </ProForm>
+          </ChunkCell>
+        </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,
+  ChunkCell,
+  ProFormCol,
+  ProFormColItem,
+  ProFormItemV2,
+  ProFormTextArea,
+  ProFormRadio,
+  LoadingLayout,
+  UploadUserFile,
+  PageFormLayout,
+} from '@bole-core/components';
+import { DataRangeEnum, DataRangeEnumText } from '@/constants';
+import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue';
+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 form = reactive({
+  categoryName: '',
+  amount: 0,
+  url: [] as UploadUserFile[],
+  status: '' as any as DataRangeEnum,
+  remark: '',
+});
+// 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) {
+    form.categoryName = data.categoryName;
+    form.amount = data.attentionCount;
+    form.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