From b2ee80ea7ca9c86180a0afee220303e3e0616e60 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 16 一月 2026 17:21:14 +0800
Subject: [PATCH] 浪潮对接单点登录:跳转问题修复

---
 src/views/productionManagement/productionDispatching/components/formDia.vue |  162 +++++++++++++++++++++++++++--------------------------
 1 files changed, 82 insertions(+), 80 deletions(-)

diff --git a/src/views/productionManagement/productionDispatching/components/formDia.vue b/src/views/productionManagement/productionDispatching/components/formDia.vue
index 9e5f1eb..60619d1 100644
--- a/src/views/productionManagement/productionDispatching/components/formDia.vue
+++ b/src/views/productionManagement/productionDispatching/components/formDia.vue
@@ -2,53 +2,66 @@
   <div>
     <el-dialog
         v-model="dialogFormVisible"
-        :title="operationType === 'add' ? '鏂板鍏ヨ亴' : '缂栬緫浜哄憳'"
-        width="70%"
+        title="鐢熶骇娲惧伐"
+        width="50%"
         @close="closeDia"
     >
       <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="productCategory">
+              <el-input v-model="form.productCategory" 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="quantity">
+              <el-input v-model="form.quantity" placeholder="璇疯緭鍏�" clearable disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+
+          <el-col :span="12">
+            <el-form-item label="寰呮帓浜ф暟閲忥細" prop="pendingQuantity">
+              <el-input v-model="form.pendingQuantity" placeholder="璇疯緭鍏�" clearable disabled/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏈鎺掍骇鏁伴噺锛�" prop="schedulingNum">
+              <el-input-number
+                  v-model="form.schedulingNum"
+                  placeholder="璇疯緭鍏�"
+                  :min="0"
+                  :step="0.1"
+                  :precision="2"
+                  clearable
+                  @change="changeNum"
+                  style="width: 100%"
+              />
             </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="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="staffNo">
-							<el-input-number
-								v-model="form.ticketsNum"
-								placeholder="璇疯緭鍏�"
-								:min="0"
-								:step="0.1"
-								:precision="2"
-								clearable
-								style="width: 100%"
-							/>
-            </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>
-					</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 +86,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 +97,56 @@
 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: "",
+    productCategory: "",
+    quantity: "",
+    schedulingNum: "",
+    schedulingUserId: "",
+    schedulingDate: "",
+    pendingQuantity: "",
+    salesLedgerProductId: "",
   },
   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}
+  // 缁戝畾澶栧眰浼犲叆鐨勪骇鍝両D鍒板悗绔渶瑕佺殑 salesLedgerProductId 瀛楁
+  form.value.salesLedgerProductId = row.id;
+  // 纭繚涓嶄細鎶婂師濮� id 褰撲綔鎺掍骇璁板綍涓婚敭浼犵粰鍚庣
+  delete form.value.id;
+  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();
+      })
     }
   })
 }
@@ -162,4 +164,4 @@
 
 <style scoped>
 
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3