From e5aced11100ffd999b67dd0292cd5e9a662029d6 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 30 四月 2026 13:17:21 +0800
Subject: [PATCH] 更新工序相关逻辑,改用部件类型字典 `product_process_type`,并调整界面显示和数据格式化以兼容新字段名

---
 src/views/index.vue |   37 +++++++++++++++++++------------------
 1 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/src/views/index.vue b/src/views/index.vue
index 336c6a1..028dbf3 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -96,9 +96,10 @@
     <div class="dashboard-row">
       <div class="main-panel process-panel">
         <div class="process-panel__header">
-          <div class="section-title">宸ュ簭鏁版嵁鐢熶骇缁熻鏄庣粏</div>
+          <!-- <div class="section-title">宸ュ簭鏁版嵁鐢熶骇缁熻鏄庣粏</div> -->
+          <div class="section-title">浜у搧閮ㄤ欢缁熻</div>
           <div style="display: flex; gap: 10px; align-items: center;">
-            <el-button type="primary" size="small" plain icon="Filter" @click="openProcessDialog">閫夋嫨宸ュ簭</el-button>
+            <el-button type="primary" size="small" plain icon="Filter" @click="openProcessDialog">閫夋嫨閮ㄤ欢绫诲瀷</el-button>
             <el-button type="info" size="small" plain icon="Refresh" @click="resetProcessFilter">閲嶇疆</el-button>
             <el-radio-group v-model="processRange" size="small" @change="refreshProcessStats">
               <el-radio-button :value="1">鏃�</el-radio-button>
@@ -151,7 +152,7 @@
     </div>
 
     <!-- 宸ュ簭閫夋嫨寮圭獥 -->
-    <el-dialog v-model="processDialogVisible" title="閫夋嫨宸ュ簭" width="500px" append-to-body>
+    <el-dialog v-model="processDialogVisible" title="閫夋嫨閮ㄤ欢" width="500px" append-to-body>
       <div class="process-selection-wrapper">
         <el-checkbox-group v-model="tempProcessIds">
           <div class="process-grid">
@@ -245,7 +246,7 @@
 </template>
 
 <script setup>
-import { ref, onMounted, computed, reactive } from 'vue'
+import { ref, onMounted, computed, reactive, getCurrentInstance } from 'vue'
 import Echarts from "@/components/Echarts/echarts.vue";
 import * as echarts from 'echarts';
 import useUserStore from "@/store/modules/user.js";
@@ -257,12 +258,21 @@
   statisticsReceivablePayable,
   qualityInspectionStatistics
 } from "@/api/viewIndex.js";
-import { list } from '@/api/productionManagement/productionProcess';
 
 
 const userStore = useUserStore()
 
-const processOptions = ref([])
+const { proxy } = getCurrentInstance()
+const { product_process_type } = proxy.useDict('product_process_type')
+
+// 宸ュ簭閫夋嫨寮圭獥锛氫娇鐢ㄥ瓧鍏� product_process_type
+// 瀛楀吀瀛楁锛歭abel / value锛岀粍浠舵湡鏈涘瓧娈碉細name / id
+const processOptions = computed(() => {
+  return (product_process_type?.value || []).map(item => ({
+    id: item.value,
+    name: item.label
+  }))
+})
 const selectedProcessIds = ref([])
 const tempProcessIds = ref([])
 const processDialogVisible = ref(false)
@@ -449,7 +459,6 @@
   statisticsReceivable()
   qualityStatisticsInfo()
   getAmountHalfYearNum()
-  getProcessList()
 })
 // 鏁版嵁缁熻
 const getBusinessData = () => {
@@ -476,13 +485,6 @@
     todoList.value = res.data
   })
 }
-// 鑾峰彇宸ュ簭鍒楄〃
-const getProcessList = () => {
-  list().then(res => {
-    processOptions.value = res.data
-  })
-}
-
 const openProcessDialog = () => {
   tempProcessIds.value = [...selectedProcessIds.value]
   processDialogVisible.value = true
@@ -552,7 +554,7 @@
     {
       name: '寮�绁�',
       type: 'line',
-      data: receiptAmount,
+      data: invoiceAmount,
       stack: 'Total',
       areaStyle: {
         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -581,7 +583,7 @@
     {
       name: '鍥炴',
       type: 'line',
-      data: invoiceAmount,
+      data: receiptAmount,
       stack: 'Total',
       lineStyle: {
         width: 0
@@ -702,7 +704,7 @@
 const refreshProcessStats = () => {
   processDataProductionStatistics({
     type: processRange.value,
-    processIds: selectedProcessIds.value.length > 0 ? selectedProcessIds.value.join(',') : null
+    processTypes: selectedProcessIds.value.length > 0 ? selectedProcessIds.value.join(',') : null
   }).then(res => {
     processChartData.value = res.data.map(item => ({
       name: item.processName,
@@ -728,7 +730,6 @@
 
 <style scoped>
 .dashboard {
-  background: #f5f7fa;
   min-height: 100vh;
   padding: 20px;
   box-sizing: border-box;

--
Gitblit v1.9.3