From 6a415a072a98d64d2f95d16eef73b6d7270b8d56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 30 五月 2026 15:14:25 +0800
Subject: [PATCH] 新疆马铃薯 1.首页问题:挪新系统ui,需要确认一下页面数据完整。 2.协同办公:挪新系统 3.营销管理:客户往来取消回款金额字段,改为点击左侧客户时显示与该客户的所有订单信息,以及发货情况。销售可以选好对应的采购订单方便质量追溯。 4.采购管理:供应商往来同上逻辑,显示是否收货,也加上采购退货和采购报表功能。 5.采购加上设备备件选项,设备备件入库到备件库存。设备,仓储不足时做采购提醒。 6.仓储物流:得区分成品库和原料库(不存在半成品,成品只有一个产品,很好确认),原材料需要有批号,采集原料库需要做好仓库字段,让他们可以区分哪个仓库,然后把数采设备信息做一个实时的显示。总库存显示好当前存在的批次信息。 7.质量:只有不通过才需要填写对应的数据信息。在外侧做好选择通过不通过。过程,出厂检验无法对应到生产订单,那就对应到销售订单。 8.决策分析:基础数据分析和进销存分析,质量数据分析需要重新设计

---
 src/views/inventoryManagement/dispatchLog/index.vue |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/src/views/inventoryManagement/dispatchLog/index.vue b/src/views/inventoryManagement/dispatchLog/index.vue
new file mode 100644
index 0000000..458e9ec
--- /dev/null
+++ b/src/views/inventoryManagement/dispatchLog/index.vue
@@ -0,0 +1,55 @@
+<!-- 鍦ㄤ綘鐨勪富椤甸潰涓� -->
+<template>
+  <div class="app-container">
+    <div v-loading="loading" element-loading-text="鍔犺浇涓�..." style="min-height: 80vh;">
+    <el-tabs v-model="activeTab" @tab-change="handleTabChange" v-if="!loading">
+      <el-tab-pane v-for="tab in tabs"
+                   :label="tab.productName"
+                   :name="tab.id"
+                   :key="tab.id">
+        <Record v-bind="{ type: tab.type, topParentProductId: activeTab }" v-if="tab.id === activeTab" />
+      </el-tab-pane>
+    </el-tabs>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref, onMounted } from 'vue';
+import { productTreeList } from "@/api/basicData/product.js";
+import Record from "@/views/inventoryManagement/dispatchLog/Record.vue";
+const activeTab = ref(null)
+const tabs = ref([])
+const loading = ref(false)
+
+const resolveTypeByName = (name) => {
+  return String(name || "").includes("涓嶅悎鏍�") ? "1" : "0";
+};
+
+const handleTabChange = (tabName) => {
+  activeTab.value = tabName;
+}
+
+const fetchProducts = async () => {
+  loading.value = true;
+  try {
+    const res = await productTreeList();
+    tabs.value = res
+      .filter((item) => item.parentId === null)
+      .map(({ id, productName }) => ({
+        id,
+        productName,
+        type: resolveTypeByName(productName),
+      }));
+    if (tabs.value.length > 0) {
+      activeTab.value = tabs.value[0].id;
+    }
+  } finally {
+    loading.value = false;
+  }
+}
+
+onMounted(() => {
+  fetchProducts();
+})
+</script>

--
Gitblit v1.9.3