From 6f32ae6d2545c8279032105bf263eb2552fe6a09 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期二, 06 一月 2026 18:02:37 +0800
Subject: [PATCH] 1.生产工单做流转单2.生产订单工艺路线做排序删除3.生产工单加报工

---
 src/views/productionManagement/productionOrder/index.vue |  335 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 174 insertions(+), 161 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index a6da73f..c175d33 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -1,198 +1,211 @@
 <template>
-	<div class="app-container">
-		<div class="search_form">
-      <el-form :model="searchForm" :inline="true">
+  <div class="app-container">
+    <div class="search_form">
+      <el-form :model="searchForm"
+               :inline="true">
         <el-form-item label="瀹㈡埛鍚嶇О:">
-          <el-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+          <el-input v-model="searchForm.customerName"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
         <el-form-item label="鍚堝悓鍙�:">
-          <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+          <el-input v-model="searchForm.salesContractNo"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
         <el-form-item label="椤圭洰鍚嶇О:">
-          <el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+          <el-input v-model="searchForm.projectName"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О:">
-          <el-input v-model="searchForm.productCategory" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+          <el-input v-model="searchForm.productCategory"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
         <el-form-item label="瑙勬牸:">
-          <el-input v-model="searchForm.specificationModel" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+          <el-input v-model="searchForm.specificationModel"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" @click="handleQuery">鎼滅储</el-button>
+          <el-button type="primary"
+                     @click="handleQuery">鎼滅储</el-button>
         </el-form-item>
       </el-form>
-			<div>
-				<el-button @click="handleOut">瀵煎嚭</el-button>
-			</div>
-		</div>
-		<div class="table_list">
-			<PIMTable
-				rowKey="id"
-				:column="tableColumn"
-				:tableData="tableData"
-				:page="page"
-				:tableLoading="tableLoading"
-				@pagination="pagination"
-			></PIMTable>
-		</div>
-
-    <process-route-item-form
-      v-if="isShowItemModal"
-      v-model:visible="isShowItemModal"
-      :record="record"
-      @completed="getList"
-    />
-	</div>
+      <div>
+        <el-button @click="handleOut">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="table_list">
+      <PIMTable rowKey="id"
+                :column="tableColumn"
+                :tableData="tableData"
+                :page="page"
+                :tableLoading="tableLoading"
+                @pagination="pagination"></PIMTable>
+    </div>
+    <process-route-item-form v-if="isShowItemModal"
+                             v-model:visible="isShowItemModal"
+                             :record="record"
+                             @completed="getList" />
+  </div>
 </template>
 
 <script setup>
-import {onMounted, ref} from "vue";
-import { ElMessageBox } from "element-plus";
-import dayjs from "dayjs";
-import {productOrderListPage} from "@/api/productionManagement/productionOrder.js";
-const { proxy } = getCurrentInstance();
-import ProcessRouteItemForm from "@/views/productionManagement/productionOrder/ProcessRouteItemForm.vue";
+  import { onMounted, ref } from "vue";
+  import { ElMessageBox } from "element-plus";
+  import dayjs from "dayjs";
+  import { productOrderListPage } from "@/api/productionManagement/productionOrder.js";
+  const { proxy } = getCurrentInstance();
+  import ProcessRouteItemForm from "@/views/productionManagement/productionOrder/ProcessRouteItemForm.vue";
 
-const tableColumn = ref([
-	{
-		label: "鐢熶骇璁㈠崟鍙�",
-		prop: "npsNo",
-		width: 120,
-	},
-	{
-		label: "閿�鍞悎鍚屽彿",
-		prop: "salesContractNo",
-		width: 220,
-	},
-  {
-    label: "椤圭洰鍚嶇О",
-    prop: "projectName",
-    width:300
-  },
-	{
-		label: "瀹㈡埛鍚嶇О",
-		prop: "customerName",
-		width: 250,
-	},
-  {
-    label: "浜у搧鍚嶇О",
-    prop: "productCategory",
-    width: 250,
-  },
-  {
-    label: "瑙勬牸",
-    prop: "specificationModel",
-    width: 250,
-  },
-  {
-    dataType: "action",
-    label: "鎿嶄綔",
-    align: "center",
-    fixed: "right",
-    width: 200,
-    operation: [
-      {
-        name: "宸ヨ壓璺嚎",
-        type: "text",
-        clickFun: (row) => {
-          showRouteItemModal(row);
-        }
-      }
-    ]
-  }
-]);
-const tableData = ref([]);
-const tableLoading = ref(false);
-const page = reactive({
-	current: 1,
-	size: 100,
-	total: 0,
-});
+  const tableColumn = ref([
+    {
+      label: "鐢熶骇璁㈠崟鍙�",
+      prop: "npsNo",
+      width: 120,
+    },
+    {
+      label: "閿�鍞悎鍚屽彿",
+      prop: "salesContractNo",
+      width: 220,
+    },
+    {
+      label: "椤圭洰鍚嶇О",
+      prop: "projectName",
+      width: 300,
+    },
+    {
+      label: "瀹㈡埛鍚嶇О",
+      prop: "customerName",
+      width: 250,
+    },
+    {
+      label: "浜у搧鍚嶇О",
+      prop: "productCategory",
+      width: 250,
+    },
+    {
+      label: "瑙勬牸",
+      prop: "specificationModel",
+      width: 250,
+    },
+    {
+      dataType: "action",
+      label: "鎿嶄綔",
+      align: "center",
+      fixed: "right",
+      width: 200,
+      operation: [
+        {
+          name: "宸ヨ壓璺嚎",
+          type: "text",
+          clickFun: row => {
+            showRouteItemModal(row);
+          },
+        },
+      ],
+    },
+  ]);
+  const tableData = ref([]);
+  const tableLoading = ref(false);
+  const page = reactive({
+    current: 1,
+    size: 100,
+    total: 0,
+  });
 
-const data = reactive({
-	searchForm: {
-		customerName: "",
-		salesContractNo: "",
-		projectName: "",
-    productCategory: "",
-    specificationModel: "",
-	},
-});
-const { searchForm } = toRefs(data);
+  const data = reactive({
+    searchForm: {
+      customerName: "",
+      salesContractNo: "",
+      projectName: "",
+      productCategory: "",
+      specificationModel: "",
+    },
+  });
+  const { searchForm } = toRefs(data);
 
-// 鏌ヨ鍒楄〃
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-const handleQuery = () => {
-	page.current = 1;
-	getList();
-};
-const pagination = (obj) => {
-	page.current = obj.page;
-	page.size = obj.limit;
-	getList();
-};
-const changeDaterange = (value) => {
-	if (value) {
-		searchForm.value.entryDateStart = value[0];
-		searchForm.value.entryDateEnd = value[1];
-	} else {
-		searchForm.value.entryDateStart = undefined;
-		searchForm.value.entryDateEnd = undefined;
-	}
-	handleQuery();
-};
-const getList = () => {
-	tableLoading.value = true;
-	// 鏋勯�犱竴涓柊鐨勫璞★紝涓嶅寘鍚玡ntryDate瀛楁
-	const params = { ...searchForm.value, ...page };
-	params.entryDate = undefined
-	productOrderListPage(params).then((res) => {
-		tableLoading.value = false;
-		tableData.value = res.data.records;
-		page.total = res.data.total;
-	}).catch(() => {
-		tableLoading.value = false;
-	})
-};
+  // 鏌ヨ鍒楄〃
+  /** 鎼滅储鎸夐挳鎿嶄綔 */
+  const handleQuery = () => {
+    page.current = 1;
+    getList();
+  };
+  const pagination = obj => {
+    page.current = obj.page;
+    page.size = obj.limit;
+    getList();
+  };
+  const changeDaterange = value => {
+    if (value) {
+      searchForm.value.entryDateStart = value[0];
+      searchForm.value.entryDateEnd = value[1];
+    } else {
+      searchForm.value.entryDateStart = undefined;
+      searchForm.value.entryDateEnd = undefined;
+    }
+    handleQuery();
+  };
+  const getList = () => {
+    tableLoading.value = true;
+    // 鏋勯�犱竴涓柊鐨勫璞★紝涓嶅寘鍚玡ntryDate瀛楁
+    const params = { ...searchForm.value, ...page };
+    params.entryDate = undefined;
+    productOrderListPage(params)
+      .then(res => {
+        tableLoading.value = false;
+        tableData.value = res.data.records;
+        page.total = res.data.total;
+      })
+      .catch(() => {
+        tableLoading.value = false;
+      });
+  };
 
-const isShowItemModal = ref(false);
-const record = ref({});
-const showRouteItemModal = (row) => {
-  isShowItemModal.value = true
-  record.value = row
-};
+  const isShowItemModal = ref(false);
+  const record = ref({});
+  const showRouteItemModal = row => {
+    isShowItemModal.value = true;
+    record.value = row;
+  };
 
-// 瀵煎嚭
-const handleOut = () => {
-	ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
-		confirmButtonText: "纭",
-		cancelButtonText: "鍙栨秷",
-		type: "warning",
-	})
-		.then(() => {
-			proxy.download("/salesLedger/scheduling/export", {}, "鐢熶骇璁㈠崟.xlsx");
-		})
-		.catch(() => {
-			proxy.$modal.msg("宸插彇娑�");
-		});
-};
+  // 瀵煎嚭
+  const handleOut = () => {
+    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+      confirmButtonText: "纭",
+      cancelButtonText: "鍙栨秷",
+      type: "warning",
+    })
+      .then(() => {
+        proxy.download("/salesLedger/scheduling/export", {}, "鐢熶骇璁㈠崟.xlsx");
+      })
+      .catch(() => {
+        proxy.$modal.msg("宸插彇娑�");
+      });
+  };
 
-const handleConfirmRoute = () => {
-}
+  const handleConfirmRoute = () => {};
 
-onMounted(() => {
-	getList();
-});
+  onMounted(() => {
+    getList();
+  });
 </script>
 
 <style scoped lang="scss"></style>

--
Gitblit v1.9.3