From 9141e0e9ffea6ff3035dbe9c80f844656dff00a9 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 09 四月 2026 11:57:03 +0800
Subject: [PATCH] 生产排产交接人增肌清除按钮
---
src/views/productionManagement/workOrderEdit/index.vue | 91 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 90 insertions(+), 1 deletions(-)
diff --git a/src/views/productionManagement/workOrderEdit/index.vue b/src/views/productionManagement/workOrderEdit/index.vue
index 50f9fce..f6f398f 100644
--- a/src/views/productionManagement/workOrderEdit/index.vue
+++ b/src/views/productionManagement/workOrderEdit/index.vue
@@ -12,6 +12,20 @@
prefix-icon="Search" />
</div>
<div class="search-item">
+ <span class="search_title">鎶ュ伐浜猴細</span>
+ <el-select v-model="searchForm.workerName"
+ style="width: 240px"
+ placeholder="璇烽�夋嫨"
+ clearable
+ filterable
+ @change="handleQuery">
+ <el-option v-for="item in userOptions"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.nickName" />
+ </el-select>
+ </div>
+ <div class="search-item">
<el-button type="primary"
@click="handleQuery">鎼滅储</el-button>
</div>
@@ -52,6 +66,29 @@
value-format="YYYY-MM-DD"
style="width: 300px" />
</el-form-item>
+ <el-form-item label="鎶ュ伐浜�">
+ <el-select v-model="editrow.workerId"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ @change="handleWorkerChange">
+ <el-option v-for="item in userOptions"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.userId" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浜ゆ帴浜�">
+ <el-select v-model="editrow.handoverUserId"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ clearable
+ @change="handleHandoverUserChange">
+ <el-option v-for="item in userOptions"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.userId" />
+ </el-select>
+ </el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
@@ -73,6 +110,8 @@
updateProductWorkOrder,
} from "@/api/productionManagement/workOrder.js";
import { getCurrentInstance, reactive, toRefs } from "vue";
+import { userListAll } from '@/api/publicApi'
+
const { proxy } = getCurrentInstance();
const tableColumn = ref([
@@ -146,6 +185,18 @@
width: "140",
},
{
+ label: "鎶ュ伐浜�",
+ prop: "workerName",
+ width: "120",
+ formatter: row => row?.workerName || (row?.workerId ? row.workerId : "-"),
+ },
+ {
+ label: "浜ゆ帴浜�",
+ prop: "handoverUserName",
+ width: "120",
+ formatter: row => row?.handoverUserName || (row?.handoverUserId ? row.handoverUserId : "-"),
+ },
+ {
label: "鎿嶄綔",
width: "100",
align: "center",
@@ -153,7 +204,7 @@
fixed: "right",
operation: [
{
- name: "璁″垝鏃堕棿",
+ name: "鎸囨淳",
clickFun: row => {
handleEdit(row);
},
@@ -175,6 +226,7 @@
const data = reactive({
searchForm: {
workOrderNo: "",
+ workerName: "",
},
});
const { searchForm } = toRefs(data);
@@ -193,6 +245,36 @@
return "#67c23a";
};
+ const userOptions = ref([]);
+ const loadUserOptions = async () => {
+ try {
+ const res = await userListAll();
+ userOptions.value = res.data;
+ } catch (error) {
+ console.error("鑾峰彇鐢ㄦ埛鍒楄〃澶辫触", error);
+ }
+ };
+
+ const handleWorkerChange = val => {
+ const user = (userOptions.value || []).find(item => item.userId === val);
+ if (editrow.value) {
+ editrow.value.workerName = user ? (user.nickName || user.userName || "") : "";
+ }
+ };
+
+ const handleHandoverUserChange = val => {
+ const user = (userOptions.value || []).find(item => item.userId === val);
+ if (editrow.value) {
+ editrow.value.handoverUserName = user ? (user.nickName || user.userName || "") : "";
+ }
+ };
+
+ const normalizeNullableUserId = value => {
+ if (value === undefined || value === null || value === "") return null;
+ const n = Number(value);
+ if (!Number.isFinite(n) || n <= 0) return null;
+ return n;
+ };
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -220,10 +302,16 @@
const handleEdit = row => {
editrow.value = JSON.parse(JSON.stringify(row));
+ editrow.value.workerId = normalizeNullableUserId(editrow.value.workerId);
+ editrow.value.handoverUserId = normalizeNullableUserId(editrow.value.handoverUserId);
editDialogVisible.value = true;
};
const handleUpdate = () => {
+ editrow.value.workerId = normalizeNullableUserId(editrow.value.workerId);
+ editrow.value.handoverUserId = normalizeNullableUserId(editrow.value.handoverUserId);
+ if (!editrow.value.workerId) editrow.value.workerName = null;
+ if (!editrow.value.handoverUserId) editrow.value.handoverUserName = null;
updateProductWorkOrder(editrow.value)
.then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
@@ -239,6 +327,7 @@
onMounted(() => {
getList();
+ loadUserOptions();
});
</script>
--
Gitblit v1.9.3