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