From 8c13d8bd08af6f9b0130f45a567112484e1ea432 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 09 五月 2026 17:42:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_浪潮' into dev_浪潮
---
src/views/productionManagement/productionReporting/index.vue | 6 ++
src/views/productionManagement/productionCosting/index.vue | 5 ++
src/views/productionManagement/productionOrder/index.vue | 55 ++++++++++++++++++++++++++-
src/views/productionManagement/productionTraceability/index.vue | 2 +
src/views/productionPlan/productionPlan/index.vue | 14 ++++++-
src/views/productionManagement/workOrderEdit/index.vue | 5 ++
src/views/productionManagement/workOrderManagement/index.vue | 5 ++
7 files changed, 86 insertions(+), 6 deletions(-)
diff --git a/src/views/productionManagement/productionCosting/index.vue b/src/views/productionManagement/productionCosting/index.vue
index f438518..2dc63bd 100644
--- a/src/views/productionManagement/productionCosting/index.vue
+++ b/src/views/productionManagement/productionCosting/index.vue
@@ -94,6 +94,11 @@
prop: "schedulingUserName",
minWidth: 100,
},
+ {
+ label: "杞﹂棿",
+ prop: "workshopName",
+ minWidth: 100,
+ },
// {
// label: "鍚堝悓鍙�",
// prop: "salesContractNo",
diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index 8d44b85..e761523 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -30,7 +30,7 @@
<el-form-item label="鐘舵��:">
<el-select v-model="searchForm.status"
placeholder="璇烽�夋嫨"
- style="width: 160px;"
+ style="width: 100px;"
@change="handleQuery">
<el-option label="寰呭紑濮�"
value="1" />
@@ -42,6 +42,19 @@
value="4" />
<el-option label="宸茬粨鏉�"
value="5" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="杞﹂棿:">
+ <el-select v-model="searchForm.workshopId"
+ placeholder="璇烽�夋嫨杞﹂棿"
+ clearable
+ filterable
+ @change="handleQuery"
+ style="width: 160px">
+ <el-option v-for="item in workshopOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
@@ -226,6 +239,7 @@
import { ElMessageBox } from "element-plus";
import dayjs from "dayjs";
import { useRouter } from "vue-router";
+ import { workshopPage } from "@/api/basicData/workshop.js";
import {
productOrderListPage,
listProcessRoute,
@@ -261,6 +275,7 @@
const sourcePage = reactive({
total: 0,
});
+ const workshopOptions = ref([]);
const processColumnWidth = computed(() => {
if (!tableData.value || tableData.value.length === 0) return "200px";
@@ -359,6 +374,10 @@
prop: "planCompleteTime",
formatData: val => (val ? dayjs(val).format("YYYY-MM-DD") : ""),
width: 120,
+ },
+ {
+ label: "杞﹂棿",
+ prop: "workshopName",
},
{
dataType: "action",
@@ -478,6 +497,7 @@
productName: "",
model: "",
status: "",
+ workshopName: ""
},
});
const { searchForm } = toRefs(data);
@@ -515,6 +535,33 @@
return "red";
}
};
+ function parseWorkshopPagePayload(res) {
+ const payload = res?.data;
+ if (!payload) {
+ return { records: [], total: 0 };
+ }
+ if (Array.isArray(payload)) {
+ return { records: payload, total: payload.length };
+ }
+ const records = payload.records ?? payload.list ?? payload.rows ?? [];
+ const total = Number(payload.total ?? payload.totalCount ?? 0);
+ return { records: Array.isArray(records) ? records : [], total };
+ }
+ const fetchWorkshopOptions = () => {
+ workshopPage({
+ name: "",
+ principal: "",
+ contactPhone: "",
+ current: 1,
+ size: 999,
+ }).then(res => {
+ if (res.code === 200) {
+ const { records } = parseWorkshopPagePayload(res);
+ workshopOptions.value = records;
+ }
+ });
+ };
+
// 缁戝畾宸ヨ壓璺嚎寮规
const bindRouteDialogVisible = ref(false);
@@ -637,6 +684,7 @@
productName: "",
model: "",
status: "",
+ workshopName: "",
};
handleQuery();
};
@@ -810,9 +858,9 @@
})
.then(() => {
proxy.download(
- "/productOrder/export",
+ "/productionOrder/export",
{ ...searchForm.value },
- "鐢熶骇璁㈠崟.xlsx"
+ "鐢熶骇璁㈠崟鏁版嵁.xlsx"
);
})
.catch(() => {
@@ -844,6 +892,7 @@
onMounted(() => {
getList();
+ fetchWorkshopOptions();
});
</script>
diff --git a/src/views/productionManagement/productionReporting/index.vue b/src/views/productionManagement/productionReporting/index.vue
index aff050f..cf42a0a 100644
--- a/src/views/productionManagement/productionReporting/index.vue
+++ b/src/views/productionManagement/productionReporting/index.vue
@@ -226,13 +226,17 @@
prop: "unit",
width: 120,
},
-
{
label: "鍒涘缓鏃堕棿",
prop: "createTime",
width: 120,
},
{
+ label: "杞﹂棿",
+ prop: "workshopName",
+ width: 120,
+ },
+ {
dataType: "action",
label: "鎿嶄綔",
align: "center",
diff --git a/src/views/productionManagement/productionTraceability/index.vue b/src/views/productionManagement/productionTraceability/index.vue
index a850788..a494cf5 100644
--- a/src/views/productionManagement/productionTraceability/index.vue
+++ b/src/views/productionManagement/productionTraceability/index.vue
@@ -49,6 +49,8 @@
:status="rowData.productionOrderDto?.completionStatus >= 100 ? 'success' : ''"
style="width: 80%;" />
</el-descriptions-item>
+ <el-descriptions-item label="杞﹂棿">{{rowData.productionOrderDto?.workshopName}}</el-descriptions-item>
+
</el-descriptions>
</div>
<el-empty v-else
diff --git a/src/views/productionManagement/workOrderEdit/index.vue b/src/views/productionManagement/workOrderEdit/index.vue
index 1cde5ea..d0b77bd 100644
--- a/src/views/productionManagement/workOrderEdit/index.vue
+++ b/src/views/productionManagement/workOrderEdit/index.vue
@@ -209,6 +209,11 @@
width: "180",
},
{
+ label: "杞﹂棿",
+ prop: "workshopName",
+ width: "180",
+ },
+ {
label: "鎿嶄綔",
width: "200",
align: "center",
diff --git a/src/views/productionManagement/workOrderManagement/index.vue b/src/views/productionManagement/workOrderManagement/index.vue
index 600b274..6a1b24f 100644
--- a/src/views/productionManagement/workOrderManagement/index.vue
+++ b/src/views/productionManagement/workOrderManagement/index.vue
@@ -345,6 +345,11 @@
width: "140",
},
{
+ label: "杞﹂棿",
+ prop: "workshopName",
+ width: "140",
+ },
+ {
label: "鎿嶄綔",
width: "260",
align: "center",
diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 589cbd5..78dca1f 100644
--- a/src/views/productionPlan/productionPlan/index.vue
+++ b/src/views/productionPlan/productionPlan/index.vue
@@ -102,7 +102,7 @@
destroy-on-close
title="鍚堝苟涓嬪彂"
width="600px">
- <el-form :model="mergeForm"
+ <el-form :model="mergeForm" :rules="mergeFormRules"
label-width="120px">
<el-row :gutter="20">
<el-col :span="10">
@@ -131,7 +131,7 @@
@change="onBlur"
style="width: 100%" />
</el-form-item>
- <el-form-item label="杞﹂棿">
+ <el-form-item label="杞﹂棿" prop="workshopId" required>
<el-select v-model="mergeForm.workshopId"
placeholder="璇烽�夋嫨杞﹂棿"
clearable
@@ -467,6 +467,12 @@
total: 0,
});
const selectedRows = ref([]);
+
+ const mergeFormRules = {
+ workshopId: [
+ { required: true, message: '璇烽�夋嫨杞﹂棿', trigger: 'change' }
+ ]
+ }
// 浜у搧绫诲埆姹囨�荤粺璁℃暟鎹�
const categorySummary = ref([]);
@@ -812,6 +818,10 @@
ElMessage.warning("璇疯緭鍏ョ敓浜ф暟閲�");
return;
}
+ if(!mergeForm.workshopId){
+ ElMessage.warning("璇烽�夋嫨杞﹂棿");
+ return;
+ }
console.log(sumAssignedQuantity.value, "sumAssignedQuantity");
// 楠岃瘉totalAssignedQuantity涓嶈兘澶т簬鎬绘柟鏁�
--
Gitblit v1.9.3