From bfff831304d65d948613e3774364bb29bebaeb0c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 15 六月 2026 09:20:18 +0800
Subject: [PATCH] pro 1.数据模拟前端页面

---
 src/views/mock/dataCheck/index.vue |   65 ++++++++++++++++++++++++++++++++
 src/api/mock/dataCheck.js          |   10 +++++
 2 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/src/api/mock/dataCheck.js b/src/api/mock/dataCheck.js
new file mode 100644
index 0000000..c090bc5
--- /dev/null
+++ b/src/api/mock/dataCheck.js
@@ -0,0 +1,10 @@
+import request from "@/utils/request";
+
+// 妫�娴嬫寚瀹氭ā鍧楃殑鍩虹鏁版嵁鏄惁灏辩华
+export function dataCheck(modules) {
+  return request({
+    url: "/mock/dataCheck",
+    method: "post",
+    data: { modules },
+  });
+}
diff --git a/src/views/mock/dataCheck/index.vue b/src/views/mock/dataCheck/index.vue
new file mode 100644
index 0000000..f16727b
--- /dev/null
+++ b/src/views/mock/dataCheck/index.vue
@@ -0,0 +1,65 @@
+<template>
+  <div class="app-container">
+    <el-card header="鍩虹鏁版嵁妫�娴�">
+      <el-checkbox-group v-model="selectedModules">
+        <el-checkbox label="sales">閿�鍞ā鍧�</el-checkbox>
+        <el-checkbox label="purchase">閲囪喘妯″潡</el-checkbox>
+        <el-checkbox label="quality">璐ㄩ噺妯″潡</el-checkbox>
+      </el-checkbox-group>
+      <div style="margin-top: 16px">
+        <el-button type="primary" @click="handleCheck" :loading="checking">
+          寮�濮嬫娴�
+        </el-button>
+      </div>
+    </el-card>
+
+    <el-card v-if="checkResult" header="妫�娴嬬粨鏋�" style="margin-top: 16px">
+      <el-alert
+        :title="`閫氳繃 ${checkResult.passedItems} / ${checkResult.totalItems} 椤筦"
+        :type="checkResult.passedItems === checkResult.totalItems ? 'success' : 'warning'"
+        :closable="false"
+        show-icon
+      />
+      <el-table :data="checkResult.items" style="margin-top: 12px" border>
+        <el-table-column prop="module" label="妯″潡" width="100" />
+        <el-table-column prop="itemName" label="妫�娴嬮」" width="160" />
+        <el-table-column prop="minRequired" label="鏈�浣庤姹�" width="80" align="center" />
+        <el-table-column prop="currentCount" label="褰撳墠鏁伴噺" width="80" align="center" />
+        <el-table-column label="鐘舵��" width="80" align="center">
+          <template #default="{ row }">
+            <el-tag :type="row.passed ? 'success' : 'danger'">
+              {{ row.passed ? "閫氳繃" : "鏈�氳繃" }}
+            </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="message" label="鎻愮ず" min-width="200" />
+      </el-table>
+    </el-card>
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+import { ElMessage } from "element-plus";
+import { dataCheck } from "@/api/mock/dataCheck.js";
+
+const selectedModules = ref(["sales", "purchase", "quality"]);
+const checking = ref(false);
+const checkResult = ref(null);
+
+const handleCheck = async () => {
+  if (selectedModules.value.length === 0) {
+    ElMessage.warning("璇疯嚦灏戦�夋嫨涓�涓ā鍧�");
+    return;
+  }
+  checking.value = true;
+  try {
+    const res = await dataCheck(selectedModules.value);
+    checkResult.value = res.data;
+  } finally {
+    checking.value = false;
+  }
+};
+</script>
+
+<style scoped></style>

--
Gitblit v1.9.3