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 | 75 ++++++++++++++++++++++++++++++-------
1 files changed, 60 insertions(+), 15 deletions(-)
diff --git a/src/views/productionManagement/productionProcess/New.vue b/src/views/productionManagement/productionProcess/New.vue
index 5d14dbb..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"
@@ -71,20 +64,49 @@
</el-select>
</el-form-item>
<el-form-item
- label="宸ュ簭绫诲瀷"
- prop="type"
+ label="鎶ュ伐浜�"
+ prop="ids"
:rules="[
- {
+ {
required: true,
- message: '璇烽�夋嫨宸ュ簭绫诲瀷',
+ message: '璇烽�夋嫨鎶ュ伐浜�',
+ trigger: 'change',
}
]"
>
- <el-select v-model="formState.type" placeholder="璇烽�夋嫨宸ュ簭绫诲瀷">
- <el-option label="璁℃椂" :value="0" />
- <el-option label="璁′欢" :value="1" />
+ <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>
+<!-- <el-form-item-->
+<!-- label="宸ュ簭绫诲瀷"-->
+<!-- prop="type"-->
+<!-- :rules="[-->
+<!-- {-->
+<!-- required: true,-->
+<!-- message: '璇烽�夋嫨宸ュ簭绫诲瀷',-->
+<!-- }-->
+<!-- ]"-->
+<!-- >-->
+<!-- <el-select v-model="formState.type" placeholder="璇烽�夋嫨宸ュ簭绫诲瀷">-->
+<!-- <el-option label="璁℃椂" :value="0" />-->
+<!-- <el-option label="璁′欢" :value="1" />-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
<!-- <el-form-item label="宸ヨ祫瀹氶" prop="salaryQuota">-->
<!-- <el-input v-model="formState.salaryQuota" type="number" :step="0.001">-->
<!-- <template #append>鍏�</template>-->
@@ -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,8 +146,13 @@
// 鍝嶅簲寮忔暟鎹紙鏇夸唬閫夐」寮忕殑 data锛�
const formState = ref({
+ no: "",
name: '',
- type: undefined,
+ deviceId: "",
+ deviceName: "",
+ ids: [],
+ reportWorkerList: [],
+ type: 0,
remark: '',
salaryQuota: '',
isQuality: false,
@@ -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