From 3e975fa4617edb90fbcc4f1be04c05ca676fcc0d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 08 一月 2026 13:57:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津军泰伟业' into dev_天津军泰伟业

---
 src/views/productionManagement/productionProcess/index.vue |  385 +++++++++++++++++++++++++++++-------------------------
 src/views/productionManagement/productionOrder/index.vue   |   18 --
 2 files changed, 207 insertions(+), 196 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index c175d33..df7f950 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -19,14 +19,6 @@
                     style="width: 200px;"
                     @change="handleQuery" />
         </el-form-item>
-        <el-form-item label="椤圭洰鍚嶇О:">
-          <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="璇疯緭鍏�"
@@ -79,32 +71,22 @@
     {
       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",
diff --git a/src/views/productionManagement/productionProcess/index.vue b/src/views/productionManagement/productionProcess/index.vue
index d2624ea..ea2a341 100644
--- a/src/views/productionManagement/productionProcess/index.vue
+++ b/src/views/productionManagement/productionProcess/index.vue
@@ -1,189 +1,218 @@
 <template>
-	<div class="app-container">
-		<div class="search_form">
-			<el-form :model="searchForm" :inline="true">
-				<el-form-item label="宸ュ簭鍚嶇О:">
-					<el-input v-model="searchForm.name" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
-										style="width: 200px;"
-										@change="handleQuery" />
-				</el-form-item>
-				<el-form-item label="宸ュ簭缂栧彿:">
-					<el-input v-model="searchForm.no" 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-form-item>
-			</el-form>
-		</div>
-		<div class="table_list">
-			<div style="text-align: right" class="mb10">
-				<el-button type="primary" @click="showNewModal">鏂板宸ュ簭</el-button>
-				<el-button type="danger" @click="handleDelete" :disabled="selectedRows.length === 0" plain>鍒犻櫎宸ュ簭</el-button>
-			</div>
-			<PIMTable
-				rowKey="id"
-				:column="tableColumn"
-				:tableData="tableData"
-				:page="page"
-				:isSelection="true"
-				@selection-change="handleSelectionChange"
-				:tableLoading="tableLoading"
-				@pagination="pagination"
-				:total="page.total"
-			></PIMTable>
-		</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"
-    />
-	</div>
+  <div class="app-container">
+    <div class="search_form">
+      <el-form :model="searchForm"
+               :inline="true">
+        <el-form-item label="宸ュ簭鍚嶇О:">
+          <el-input v-model="searchForm.name"
+                    placeholder="璇疯緭鍏�"
+                    clearable
+                    prefix-icon="Search"
+                    style="width: 200px;"
+                    @change="handleQuery" />
+        </el-form-item>
+        <el-form-item label="宸ュ簭缂栧彿:">
+          <el-input v-model="searchForm.no"
+                    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-form-item>
+      </el-form>
+    </div>
+    <div class="table_list">
+      <div style="text-align: right"
+           class="mb10">
+        <el-button type="primary"
+                   @click="showNewModal">鏂板宸ュ簭</el-button>
+        <el-button type="danger"
+                   @click="handleDelete"
+                   :disabled="selectedRows.length === 0"
+                   plain>鍒犻櫎宸ュ簭</el-button>
+      </div>
+      <PIMTable rowKey="id"
+                :column="tableColumn"
+                :tableData="tableData"
+                :page="page"
+                :isSelection="true"
+                @selection-change="handleSelectionChange"
+                :tableLoading="tableLoading"
+                @pagination="pagination"
+                :total="page.total"></PIMTable>
+    </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" />
+  </div>
 </template>
 
 <script setup>
-import {onMounted, ref} from "vue";
-import NewProcess from "@/views/productionManagement/productionProcess/New.vue";
-import EditProcess from "@/views/productionManagement/productionProcess/Edit.vue";
-import {listPage, del} from "@/api/productionManagement/productionProcess.js";
+  import { onMounted, ref } from "vue";
+  import NewProcess from "@/views/productionManagement/productionProcess/New.vue";
+  import EditProcess from "@/views/productionManagement/productionProcess/Edit.vue";
+  import { listPage, del } from "@/api/productionManagement/productionProcess.js";
 
-const data = reactive({
-	searchForm: {
-		name: "",
-		no: "",
-	},
-});
-const { searchForm } = toRefs(data);
-const tableColumn = ref([
-	{
-		label: "宸ュ簭鍚嶇О",
-		prop: "name",
-	},
-	{
-		label: "宸ュ簭缂栧彿",
-		prop: "no",
-	},
-	{
-		label: "宸ヨ祫瀹氶",
-		prop: "salaryQuota",
-	},
-	{
-		label: "澶囨敞",
-		prop: "remark",
-	},
-  {
-    dataType: "action",
-    label: "鎿嶄綔",
-    align: "center",
-    fixed: "right",
-    width: 280,
-    operation: [
-      {
-        name: "缂栬緫",
-        type: "text",
-        clickFun: (row) => {
-          showEditModal(row);
-        }
-      }
-    ]
+  const data = reactive({
+    searchForm: {
+      name: "",
+      no: "",
+    },
+  });
+  const { searchForm } = toRefs(data);
+  const tableColumn = ref([
+    {
+      label: "宸ュ簭鍚嶇О",
+      prop: "name",
+    },
+    {
+      label: "宸ュ簭缂栧彿",
+      prop: "no",
+    },
+    {
+      label: "宸ヨ祫瀹氶",
+      prop: "salaryQuota",
+    },
+    {
+      label: "澶囨敞",
+      prop: "remark",
+    },
+    {
+      dataType: "action",
+      label: "鎿嶄綔",
+      align: "center",
+      fixed: "right",
+      width: 280,
+      operation: [
+        {
+          name: "缂栬緫",
+          type: "text",
+          clickFun: row => {
+            showEditModal(row);
+          },
+        },
+      ],
+    },
+  ]);
+  const tableData = ref([]);
+  const selectedRows = ref([]);
+  const tableLoading = ref(false);
+  const isShowNewModal = ref(false);
+  const isShowEditModal = ref(false);
+  const record = ref({});
+  const page = reactive({
+    current: 1,
+    size: 100,
+    total: 0,
+  });
+  const { proxy } = getCurrentInstance();
+
+  // 鏌ヨ鍒楄〃
+  /** 鎼滅储鎸夐挳鎿嶄綔 */
+  const handleQuery = () => {
+    page.current = 1;
+    getList();
+  };
+
+  const pagination = obj => {
+    page.current = obj.page;
+    page.size = obj.limit;
+    getList();
+  };
+  const getList = () => {
+    tableLoading.value = true;
+    const params = { ...searchForm.value, ...page };
+    params.entryDate = undefined;
+    listPage(params)
+      .then(res => {
+        tableLoading.value = false;
+        tableData.value = res.data.records.map(item => ({
+          ...item,
+        }));
+        page.total = res.data.total;
+      })
+      .catch(err => {
+        tableLoading.value = false;
+      });
+  };
+  // 琛ㄦ牸閫夋嫨鏁版嵁
+  const handleSelectionChange = selection => {
+    selectedRows.value = selection;
+  };
+
+  // 鎵撳紑鏂板寮规
+  const showNewModal = () => {
+    isShowNewModal.value = true;
+  };
+
+  const showEditModal = row => {
+    isShowEditModal.value = true;
+    record.value = row;
+  };
+
+  // 鍒犻櫎
+  function handleDelete() {
+    const no = selectedRows.value.map(item => item.no);
+    const ids = selectedRows.value.map(item => item.id);
+    if (no.length > 2) {
+      proxy.$modal
+        .confirm(
+          '鏄惁纭鍒犻櫎宸ュ簭缂栧彿涓�"' +
+            no[0] +
+            "銆�" +
+            no[1] +
+            '"绛�' +
+            no.length +
+            "鏉℃暟鎹」锛�"
+        )
+        .then(function () {
+          return del(ids);
+        })
+        .then(() => {
+          getList();
+          proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    } else {
+      proxy.$modal
+        .confirm('鏄惁纭鍒犻櫎宸ュ簭缂栧彿涓�"' + no + '"鐨勬暟鎹」锛�')
+        .then(function () {
+          return del(ids);
+        })
+        .then(() => {
+          getList();
+          proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    }
   }
-]);
-const tableData = ref([]);
-const selectedRows = ref([]);
-const tableLoading = ref(false);
-const isShowNewModal = ref(false);
-const isShowEditModal = ref(false);
-const record = ref({});
-const page = reactive({
-	current: 1,
-	size: 100,
-	total: 0,
-});
-const { proxy } = getCurrentInstance()
 
-// 鏌ヨ鍒楄〃
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-const handleQuery = () => {
-	page.current = 1;
-	getList();
-};
+  // 瀵煎嚭
+  // const handleOut = () => {
+  // 	ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+  // 		confirmButtonText: "纭",
+  // 		cancelButtonText: "鍙栨秷",
+  // 		type: "warning",
+  // 	})
+  // 		.then(() => {
+  // 			proxy.download("/salesLedger/scheduling/exportTwo", {}, "宸ュ簭鎺掍骇.xlsx");
+  // 		})
+  // 		.catch(() => {
+  // 			proxy.$modal.msg("宸插彇娑�");
+  // 		});
+  // };
 
-const pagination = (obj) => {
-	page.current = obj.page;
-	page.size = obj.limit;
-	getList();
-};
-const getList = () => {
-	tableLoading.value = true;
-	const params = { ...searchForm.value, ...page };
-	params.entryDate = undefined
-  listPage(params).then(res => {
-		tableLoading.value = false;
-		tableData.value = res.data.records.map(item => ({
-			...item,
-		}));
-		page.total = res.data.total;
-	}).catch(err => {
-		tableLoading.value = false;
-	})
-};
-// 琛ㄦ牸閫夋嫨鏁版嵁
-const handleSelectionChange = (selection) => {
-	selectedRows.value = selection;
-};
-
-// 鎵撳紑鏂板寮规
-const showNewModal = () => {
-  isShowNewModal.value = true
-};
-
-const showEditModal = (row) => {
-  isShowEditModal.value = true
-  record.value = row
-};
-
-// 鍒犻櫎
-function handleDelete() {
-  const no = selectedRows.value.map((item) => item.no);
-  const ids = selectedRows.value.map((item) => item.id);
-  proxy.$modal
-      .confirm('鏄惁纭鍒犻櫎宸ュ簭缂栧彿涓�"' + no + '"鐨勬暟鎹」锛�')
-      .then(function () {
-        return del(ids);
-      })
-      .then(() => {
-        getList();
-        proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-      })
-      .catch(() => {});
-}
-
-// 瀵煎嚭
-// const handleOut = () => {
-// 	ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
-// 		confirmButtonText: "纭",
-// 		cancelButtonText: "鍙栨秷",
-// 		type: "warning",
-// 	})
-// 		.then(() => {
-// 			proxy.download("/salesLedger/scheduling/exportTwo", {}, "宸ュ簭鎺掍骇.xlsx");
-// 		})
-// 		.catch(() => {
-// 			proxy.$modal.msg("宸插彇娑�");
-// 		});
-// };
-
-onMounted(() => {
-	getList();
-});
+  onMounted(() => {
+    getList();
+  });
 </script>
 
 <style scoped></style>

--
Gitblit v1.9.3