| | |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="工序机台" |
| | | prop="deviceId" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择工序机台', |
| | | } |
| | | ]" |
| | | > |
| | | <el-select |
| | | v-model="formState.deviceId" |
| | |
| | | :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> |
| | |
| | | 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: { |
| | |
| | | |
| | | // 响应式数据(替代选项式的 data) |
| | | const formState = ref({ |
| | | no: "", |
| | | name: '', |
| | | deviceId: "", |
| | | deviceName: "", |
| | | ids: [], |
| | | reportWorkerList: [], |
| | | type: 0, |
| | | remark: '', |
| | | salaryQuota: '', |
| | |
| | | |
| | | 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({ |
| | |
| | | const handleSubmit = () => { |
| | | proxy.$refs["formRef"].validate(valid => { |
| | | if (valid) { |
| | | handleReportUsersChange(formState.value.ids); |
| | | add(formState.value).then(res => { |
| | | // 关闭模态框 |
| | | isShow.value = false; |