From 36b909e117c3ccc22dd266a94479e2a02335d261 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 26 三月 2026 18:03:34 +0800
Subject: [PATCH] 军泰伟业 1.生产订单新增编辑逻辑重写

---
 src/views/productionManagement/processRoute/index.vue |  138 ++++++++++++++++++++++-----------------------
 1 files changed, 67 insertions(+), 71 deletions(-)

diff --git a/src/views/productionManagement/processRoute/index.vue b/src/views/productionManagement/processRoute/index.vue
index 44592d6..a4a9d3f 100644
--- a/src/views/productionManagement/processRoute/index.vue
+++ b/src/views/productionManagement/processRoute/index.vue
@@ -2,13 +2,25 @@
   <div class="app-container">
     <div class="search_form">
       <el-form :model="searchForm" :inline="true">
-        <el-form-item label="瑙勬牸鍚嶇О:">
-          <el-input v-model="searchForm.model" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
-                    style="width: 200px;"
-                    @change="handleQuery" />
+        <el-form-item label="宸ヨ壓璺嚎缂栧彿">
+          <el-input v-model="searchForm.processRouteCode" placeholder="璇疯緭鍏ュ伐鑹鸿矾绾跨紪鍙�" clearable style="width: 200px;" />
+        </el-form-item>
+        <el-form-item label="宸ヨ壓璺嚎鍚嶇О">
+          <el-input v-model="searchForm.processRouteName" placeholder="璇疯緭鍏ュ伐鑹鸿矾绾垮悕绉�" clearable style="width: 200px;" />
+        </el-form-item>
+        <el-form-item label="宸ュ簭鍚嶇О">
+          <el-select v-model="searchForm.processName" placeholder="璇烽�夋嫨宸ュ簭" clearable style="width: 200px;">
+            <el-option
+              v-for="item in processOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.name"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery">鎼滅储</el-button>
+          <el-button @click="resetQuery">閲嶇疆</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -29,87 +41,65 @@
           :total="page.total"
       />
     </div>
-    <new-process
-        v-if="isShowNewModal"
-        v-model:visible="isShowNewModal"
-        @completed="getList"
-    />
-
-    <edit-process
-        v-if="isShowEditModal"
-        v-model:visible="isShowEditModal"
-        :record="record"
-        @completed="getList"
-    />
-
-    <route-item-form
-        v-if="isShowItemModal"
-        v-model:visible="isShowItemModal"
-        :record="record"
+    <process-form
+        v-if="isShowFormModal"
+        ref="formRef"
+        v-model:visible="isShowFormModal"
         @completed="getList"
     />
   </div>
 </template>
 
 <script setup>
-import {onMounted, ref} from "vue";
-import NewProcess from "@/views/productionManagement/processRoute/New.vue";
-import EditProcess from "@/views/productionManagement/processRoute/Edit.vue";
-import RouteItemForm from "@/views/productionManagement/processRoute/ItemsForm.vue";
+import {onMounted, ref, nextTick} from "vue";
+import ProcessForm from "@/views/productionManagement/processRoute/Form.vue";
 import {listPage, del} from "@/api/productionManagement/processRoute.js";
-import { useRouter } from 'vue-router'
+import {processList} from "@/api/productionManagement/productionProcess.js";
 
-const router = useRouter()
 const data = reactive({
   searchForm: {
-    model: "",
+    processRouteCode: '',
+    processRouteName: '',
+    processName: undefined,
   },
 });
 const { searchForm } = toRefs(data);
+
+const processOptions = ref([]);
 const tableColumn = ref([
   {
     label: "宸ヨ壓璺嚎缂栧彿",
     prop: "processRouteCode",
   },
   {
-    label: "浜у搧鍚嶇О",
-    prop: "productName",
+    label: "宸ヨ壓璺嚎鍚嶇О",
+    prop: "processRouteName",
   },
   {
-    label: "浜у搧鍥剧焊缂栧彿",
-    prop: "drawingNumber",
+    label: "宸ュ簭鍒楄〃",
+    prop: "processName",
+    minWidth: 300,
   },
   {
-    label: "瑙勬牸鍚嶇О",
-    prop: "model",
+    label: "鍒涘缓浜�",
+    prop: "createBy",
   },
   {
-    label: "BOM缂栧彿",
-    prop: "bomNo",
-  },
-  {
-    label: "鎻忚堪",
-    prop: "description",
+    label: "鍒涘缓鏃堕棿",
+    prop: "createTime",
   },
   {
     dataType: "action",
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 280,
+    width: 150,
     operation: [
       {
         name: "缂栬緫",
         type: "text",
         clickFun: (row) => {
           showEditModal(row);
-        }
-      },
-      {
-        name: "璺嚎椤圭洰",
-        type: "text",
-        clickFun: (row) => {
-          showItemModal(row);
         }
       }
     ]
@@ -118,10 +108,9 @@
 const tableData = ref([]);
 const selectedRows = ref([]);
 const tableLoading = ref(false);
-const isShowNewModal = ref(false);
-const isShowEditModal = ref(false);
-const isShowItemModal = ref(false);
+const isShowFormModal = ref(false);
 const record = ref({});
+const formRef = ref(null);
 const page = reactive({
   current: 1,
   size: 100,
@@ -132,6 +121,17 @@
 // 鏌ヨ鍒楄〃
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 const handleQuery = () => {
+  page.current = 1;
+  getList();
+};
+
+/** 閲嶇疆鎸夐挳鎿嶄綔 */
+const resetQuery = () => {
+  searchForm.value = {
+    processRouteCode: '',
+    processRouteName: '',
+    processName: undefined,
+  };
   page.current = 1;
   getList();
 };
@@ -162,28 +162,14 @@
 
 // 鎵撳紑鏂板寮规
 const showNewModal = () => {
-  isShowNewModal.value = true
+  isShowFormModal.value = true;
+  record.value = {};
 };
 
-const showEditModal = (row) => {
-  isShowEditModal.value = true
-  record.value = row
-};
-
-const showItemModal = (row) => {
-  router.push({
-    path: '/productionManagement/processRouteItem',
-    query: {
-      id: row.id,
-      processRouteCode: row.processRouteCode || '',
-      drawingNumber: row.drawingNumber || "",
-      productName: row.productName || '',
-      model: row.model || '',
-      bomNo: row.bomNo || '',
-      description: row.description || '',
-      type: 'route',
-    }
-  })
+const showEditModal = async (row) => {
+  isShowFormModal.value = true;
+  await nextTick();
+  await formRef.value && formRef.value.setData({ id: row.id, processRouteCode: row.processRouteCode, processRouteName: row.processRouteName });
 };
 
 // 鍒犻櫎
@@ -202,8 +188,18 @@
 }
 
 onMounted(() => {
+  getProcessList();
   getList();
 });
+
+// 鑾峰彇宸ュ簭鍒楄〃
+const getProcessList = () => {
+  processList({}).then(res => {
+    processOptions.value = res.data || [];
+  }).catch(err => {
+    console.error("鑾峰彇宸ュ簭鍒楄〃澶辫触锛�", err);
+  });
+};
 </script>
 
 <style scoped></style>

--
Gitblit v1.9.3