From 8657873b0a4c57904bcecdab121f6b261c92ef6e Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期二, 28 四月 2026 14:35:32 +0800
Subject: [PATCH] feat(productionProcess): 新增工序编辑和新增功能
---
src/views/productionManagement/productionProcess/New.vue | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 52 insertions(+), 7 deletions(-)
diff --git a/src/views/productionManagement/productionProcess/New.vue b/src/views/productionManagement/productionProcess/New.vue
index a17ec91..c878a45 100644
--- a/src/views/productionManagement/productionProcess/New.vue
+++ b/src/views/productionManagement/productionProcess/New.vue
@@ -39,13 +39,6 @@
</el-form-item>
<el-form-item
label="宸ュ簭鏈哄彴"
- prop="deviceId"
- :rules="[
- {
- required: true,
- message: '璇烽�夋嫨宸ュ簭鏈哄彴',
- }
- ]"
>
<el-select
v-model="formState.deviceId"
@@ -67,6 +60,35 @@
:value="__deviceLoadMoreSentinel"
label="鍔犺浇鏇村鈥�"
disabled
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item
+ label="鎶ュ伐浜�"
+ prop="ids"
+ :rules="[
+ {
+ required: true,
+ message: '璇烽�夋嫨鎶ュ伐浜�',
+ trigger: 'change',
+ }
+ ]"
+ >
+ <el-select
+ v-model="formState.ids"
+ multiple
+ filterable
+ clearable
+ collapse-tags
+ collapse-tags-tooltip
+ placeholder="璇烽�夋嫨鎶ュ伐浜�"
+ @change="handleReportUsersChange"
+ >
+ <el-option
+ v-for="item in userOptions"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.userId"
/>
</el-select>
</el-form-item>
@@ -111,6 +133,7 @@
import { ref, computed, onMounted, getCurrentInstance, reactive, nextTick, onBeforeUnmount } from "vue";
import {add} from "@/api/productionManagement/productionProcess.js";
import {getLedgerPage} from "@/api/equipmentManagement/ledger.js";
+import {userListNoPageByTenantId} from "@/api/system/user.js";
const props = defineProps({
visible: {
@@ -123,7 +146,12 @@
// 鍝嶅簲寮忔暟鎹紙鏇夸唬閫夐」寮忕殑 data锛�
const formState = ref({
+ no: "",
name: '',
+ deviceId: "",
+ deviceName: "",
+ ids: [],
+ reportWorkerList: [],
type: 0,
remark: '',
salaryQuota: '',
@@ -139,10 +167,26 @@
onMounted(() => {
resetDeviceOptions();
+ getUserOptions();
});
const handleDeviceChange = (val) => {
formState.value.deviceName = equipmentList.value.find(item => item.id === val)?.deviceName || '';
+};
+
+const userOptions = ref([]);
+
+const handleReportUsersChange = (val) => {
+ const userMap = new Map(userOptions.value.map(item => [item.userId, item.nickName]));
+ formState.value.reportWorkerList = (val || []).map(userId => ({
+ userId,
+ userName: userMap.get(userId) || "",
+ }));
+};
+
+const getUserOptions = async () => {
+ const res = await userListNoPageByTenantId();
+ userOptions.value = Array.isArray(res?.data) ? res.data : [];
};
const isShow = computed({
@@ -269,6 +313,7 @@
const handleSubmit = () => {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
+ handleReportUsersChange(formState.value.ids);
add(formState.value).then(res => {
// 鍏抽棴妯℃�佹
isShow.value = false;
--
Gitblit v1.9.3