From 35a28e272e903359a326f629db7a69bf49eaf2bb Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 23 十二月 2025 17:44:17 +0800
Subject: [PATCH] 工艺路线页面

---
 src/views/productionManagement/productionProcess/index.vue |  185 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 185 insertions(+), 0 deletions(-)

diff --git a/src/views/productionManagement/productionProcess/index.vue b/src/views/productionManagement/productionProcess/index.vue
new file mode 100644
index 0000000..46c3c06
--- /dev/null
+++ b/src/views/productionManagement/productionProcess/index.vue
@@ -0,0 +1,185 @@
+<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>
+</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";
+
+const data = reactive({
+	searchForm: {
+		name: "",
+		no: "",
+	},
+});
+const { searchForm } = toRefs(data);
+const tableColumn = ref([
+	{
+		label: "宸ュ簭鍚嶇О",
+		prop: "name",
+	},
+	{
+		label: "宸ュ簭缂栧彿",
+		prop: "no",
+	},
+	{
+		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);
+  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();
+});
+</script>
+
+<style scoped></style>

--
Gitblit v1.9.3