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