From 4d3882045d317ddb3c7416f606ac738ca6ec2c01 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期三, 23 七月 2025 10:21:05 +0800 Subject: [PATCH] 1.生产管理联调 --- src/views/productionManagement/productionDispatching/components/formDia.vue | 130 ++++++++++++++++++++++--------------------- 1 files changed, 67 insertions(+), 63 deletions(-) diff --git a/src/views/productionManagement/productionDispatching/components/formDia.vue b/src/views/productionManagement/productionDispatching/components/formDia.vue index 9e5f1eb..b3be1e4 100644 --- a/src/views/productionManagement/productionDispatching/components/formDia.vue +++ b/src/views/productionManagement/productionDispatching/components/formDia.vue @@ -9,46 +9,65 @@ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <el-row :gutter="30"> <el-col :span="12"> - <el-form-item label="椤圭洰鍚嶇О锛�" prop="staffNo"> - <el-input v-model="form.staffNo" placeholder="璇疯緭鍏�" clearable disabled/> + <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName"> + <el-input v-model="form.projectName" placeholder="璇疯緭鍏�" clearable disabled/> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="浜у搧澶х被锛�" prop="staffNo"> - <el-input v-model="form.staffNo" placeholder="璇疯緭鍏�" clearable disabled/> + <el-form-item label="浜у搧澶х被锛�" prop="productCategory"> + <el-input v-model="form.productCategory" placeholder="璇疯緭鍏�" clearable disabled/> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> - <el-form-item label="鎬绘暟閲忥細" prop="staffNo"> - <el-input v-model="form.staffNo" placeholder="璇疯緭鍏�" clearable disabled/> + <el-form-item label="鎬绘暟閲忥細" prop="quantity"> + <el-input v-model="form.quantity" placeholder="璇疯緭鍏�" clearable disabled/> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏈鎺掍骇鏁伴噺锛�" prop="staffNo"> + <el-form-item label="寰呮帓浜ф暟閲忥細" prop="pendingQuantity"> + <el-input v-model="form.pendingQuantity" placeholder="璇疯緭鍏�" clearable disabled/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="鏈鎺掍骇鏁伴噺锛�" prop="schedulingNum"> <el-input-number - v-model="form.ticketsNum" + v-model="form.schedulingNum" placeholder="璇疯緭鍏�" :min="0" :step="0.1" :precision="2" clearable + @change="changeNum" style="width: 100%" /> - </el-form-item> + </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> - <el-form-item label="鎺掍骇浜猴細" prop="staffName"> - <el-input v-model="form.staffName" placeholder="璇疯緭鍏�" clearable/> + <el-form-item label="娲惧伐浜猴細" prop="schedulingUserId"> + <el-select + v-model="form.schedulingUserId" + placeholder="閫夋嫨浜哄憳" + style="width: 100%;" + > + <el-option + v-for="user in userList" + :key="user.userId" + :label="user.nickName" + :value="user.userId" + /> + </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鎺掍骇鏃ユ湡锛�" prop="contractStartTime"> + <el-form-item label="娲惧伐鏃ユ湡锛�" prop="schedulingDate"> <el-date-picker - v-model="form.contractStartTime" + v-model="form.schedulingDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" value-format="YYYY-MM-DD" @@ -73,6 +92,10 @@ <script setup> import {ref} from "vue"; import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js"; +import {userListNoPageByTenantId} from "@/api/system/user.js"; +import {productionDispatch} from "@/api/productionManagement/productionOrder.js"; +import useUserStore from "@/store/modules/user.js"; +import dayjs from "dayjs"; const { proxy } = getCurrentInstance() const emit = defineEmits(['close']) @@ -80,71 +103,52 @@ const operationType = ref('') const data = reactive({ form: { - staffNo: "", - staffName: "", - sex: "", - nativePlace: "", - postJob: "", - adress: "", - firstStudy: "", - profession: "", - identityCard: "", - age: 0, - phone: "", - emergencyContact: "", - emergencyContactPhone: "", - contractTerm: 0, - contractStartTime: "", - contractEndTime: "", - staffState: "", + projectName: "", + productCategory: "", + quantity: "", + schedulingNum: "", + schedulingUserId: "", + schedulingDate: "", + pendingQuantity: "", }, rules: { - staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], - staffName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - sex: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - nativePlace: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - postJob: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - adress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - firstStudy: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - profession: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - identityCard: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - age: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - phone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - emergencyContact: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - emergencyContactPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - contractTerm: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - contractStartTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - contractEndTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + schedulingNum: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], + schedulingUserId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" },], + schedulingDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" },], }, }); const { form, rules } = toRefs(data); +const userList = ref([]) +const userStore = useUserStore() // 鎵撳紑寮规 const openDialog = (type, row) => { operationType.value = type; dialogFormVisible.value = true; - if (operationType.value === 'edit') { - getStaffJoinInfo(row.id).then(res => { - form.value = {...res.data} - }) - } + userListNoPageByTenantId().then((res) => { + userList.value = res.data; + }); + form.value = {...row} + form.value.schedulingNum = 0 + form.value.schedulingUserId = userStore.id + form.value.schedulingDate = dayjs().format("YYYY-MM-DD"); +} + +// +const changeNum = (value) => { + if (value > form.value.pendingQuantity) { + form.value.schedulingNum = form.value.pendingQuantity; + proxy.$modal.msgWarning('鎺掍骇鏁伴噺涓嶅彲澶т簬寰呮帓浜ф暟閲�') + } } // 鎻愪氦浜у搧琛ㄥ崟 const submitForm = () => { proxy.$refs.formRef.validate(valid => { if (valid) { - form.value.staffState = 1 - if (operationType.value === "add") { - staffJoinAdd(form.value).then(res => { - proxy.$modal.msgSuccess("鎻愪氦鎴愬姛"); - closeDia(); - }) - } else { - staffJoinUpdate(form.value).then(res => { - proxy.$modal.msgSuccess("鎻愪氦鎴愬姛"); - closeDia(); - }) - } + productionDispatch(form.value).then(res => { + proxy.$modal.msgSuccess("鎻愪氦鎴愬姛"); + closeDia(); + }) } }) } -- Gitblit v1.9.3