From 4d3882045d317ddb3c7416f606ac738ca6ec2c01 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 23 七月 2025 10:21:05 +0800
Subject: [PATCH] 1.生产管理联调

---
 src/views/productionManagement/productionDispatching/index.vue |  111 +++++++++++++++++++++----------------------------------
 1 files changed, 43 insertions(+), 68 deletions(-)

diff --git a/src/views/productionManagement/productionDispatching/index.vue b/src/views/productionManagement/productionDispatching/index.vue
index 70a3de9..c28b062 100644
--- a/src/views/productionManagement/productionDispatching/index.vue
+++ b/src/views/productionManagement/productionDispatching/index.vue
@@ -23,9 +23,7 @@
 				<span class="search_title ml10">褰曞叆鏃ユ湡锛�</span>
 				<el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
 												placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
-				<el-button type="primary" @click="handleQuery" style="margin-left: 10px"
-				>鎼滅储</el-button
-				>
+				<el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
 			</div>
 			<div>
 				<el-button type="primary" @click="openForm('add')">鐢熶骇娲惧伐</el-button>
@@ -51,9 +49,8 @@
 <script setup>
 import {onMounted, ref} from "vue";
 import FormDia from "@/views/productionManagement/productionDispatching/components/formDia.vue";
-import {staffJoinDel, staffJoinListPage} from "@/api/personnelManagement/onboarding.js";
-import {ElMessageBox} from "element-plus";
 import dayjs from "dayjs";
+import {schedulingListPage} from "@/api/productionManagement/productionOrder.js";
 
 const data = reactive({
 	searchForm: {
@@ -70,53 +67,56 @@
 const tableColumn = ref([
 	{
 		label: "褰曞叆鏃ユ湡",
-		prop: "staffNo",
+		prop: "entryDate",
+		width: 120,
 	},
 	{
 		label: "鍚堝悓鍙�",
-		prop: "staffName",
+		prop: "salesContractNo",
+		width: 220,
 	},
 	{
 		label: "瀹㈡埛鍚堝悓鍙�",
-		prop: "addressPhone",
+		prop: "customerContractNo",
 		width: 250,
 	},
 	{
 		label: "瀹㈡埛鍚嶇О",
-		prop: "contactPerson",
+		prop: "customerName",
+		width: 250,
 	},
 	{
 		label: "椤圭洰鍚嶇О",
-		prop: "contactPhone",
-		width:150
+		prop: "projectName",
+		width:300
 	},
 	{
 		label: "浜у搧澶х被",
-		prop: "basicBankAccount",
-		width: 220,
+		prop: "productCategory",
+		width: 160,
 	},
 	{
 		label: "瑙勬牸鍨嬪彿",
-		prop: "bankAccount",
+		prop: "specificationModel",
 		width: 220,
 	},
 	{
 		label: "鍗曚綅",
-		prop: "bankCode",
-		width:220
+		prop: "unit",
+		width:90
 	},
 	{
 		label: "鏁伴噺",
-		prop: "maintainer",
+		prop: "quantity",
 	},
 	{
 		label: "鎺掍骇鏁伴噺",
-		prop: "maintenanceTime",
+		prop: "schedulingNum",
 		width: 100,
 	},
 	{
 		label: "寰呮帓鏁伴噺",
-		prop: "maintenanceTime",
+		prop: "pendingQuantity",
 		width: 100,
 	},
 ]);
@@ -139,11 +139,11 @@
 };
 const changeDaterange = (value) => {
 	if (value) {
-		searchForm.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
-		searchForm.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
+		searchForm.value.entryDateStart = value[0];
+		searchForm.value.entryDateEnd = value[1];
 	} else {
-		searchForm.entryDateStart = undefined;
-		searchForm.entryDateEnd = undefined;
+		searchForm.value.entryDateStart = undefined;
+		searchForm.value.entryDateEnd = undefined;
 	}
 	handleQuery();
 };
@@ -154,11 +154,18 @@
 };
 const getList = () => {
 	tableLoading.value = true;
-	staffJoinListPage({...page, ...searchForm.value}).then(res => {
+	// 鏋勯�犱竴涓柊鐨勫璞★紝涓嶅寘鍚玡ntryDate瀛楁
+	const params = { ...searchForm.value, ...page };
+	params.entryDate = undefined
+	schedulingListPage(params).then((res) => {
 		tableLoading.value = false;
-		tableData.value = res.data.records
+		// 澶勭悊姣忔潯鏁版嵁锛屽鍔爌endingQuantity瀛楁
+		tableData.value = res.data.records.map(item => ({
+			...item,
+			pendingQuantity: (Number(item.quantity) || 0) - (Number(item.schedulingNum) || 0)
+		}));
 		page.total = res.data.total;
-	}).catch(err => {
+	}).catch(() => {
 		tableLoading.value = false;
 	})
 };
@@ -168,59 +175,27 @@
 };
 
 // 鎵撳紑寮规
-const openForm = (type, row) => {
+const openForm = (type) => {
 	if (selectedRows.value.length !== 1) {
 		proxy.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�");
 		return;
 	}
-	if (selectedRows.value[0].unPaymentAmountTotal == 0) {
-		proxy.$message.warning("鏃犻渶鍐嶄粯娆�");
+	if (selectedRows.value[0].pendingQuantity == 0) {
+		proxy.$message.warning("鏃犻渶鍐嶆淳宸�");
 		return;
 	}
 	nextTick(() => {
-		formDia.value?.openDialog(type, row)
+		formDia.value?.openDialog(type, selectedRows.value[0])
 	})
 };
 
-// 鍒犻櫎
-const handleDelete = () => {
-	let ids = [];
-	if (selectedRows.value.length > 0) {
-		ids = selectedRows.value.map((item) => item.id);
-	} else {
-		proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
-		return;
-	}
-	ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "瀵煎嚭", {
-		confirmButtonText: "纭",
-		cancelButtonText: "鍙栨秷",
-		type: "warning",
-	})
-		.then(() => {
-			staffJoinDel(ids).then((res) => {
-				proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-				getList();
-			});
-		})
-		.catch(() => {
-			proxy.$modal.msg("宸插彇娑�");
-		});
-};
-// 瀵煎嚭
-const handleOut = () => {
-	ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
-		confirmButtonText: "纭",
-		cancelButtonText: "鍙栨秷",
-		type: "warning",
-	})
-		.then(() => {
-			proxy.download("/staff/staffJoinLeaveRecord/export", {staffState: 1}, "浜哄憳鍏ヨ亴.xlsx");
-		})
-		.catch(() => {
-			proxy.$modal.msg("宸插彇娑�");
-		});
-};
 onMounted(() => {
+	searchForm.value.entryDate = [
+		dayjs().format("YYYY-MM-DD"),
+		dayjs().add(1, "day").format("YYYY-MM-DD"),
+	]
+	searchForm.value.entryDateStart = dayjs().format("YYYY-MM-DD")
+	searchForm.value.entryDateEnd = dayjs().add(1, "day").format("YYYY-MM-DD")
 	getList();
 });
 </script>

--
Gitblit v1.9.3