gaoluyang
2025-12-04 0c5b607e028bd756079cb328dd0914db2c9093f5
src/views/productionManagement/productionDispatching/components/formDia.vue
@@ -21,18 +21,28 @@
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="总数量:" prop="quantity">
              <el-input v-model="form.quantity" placeholder="请输入" clearable disabled/>
            <el-form-item label="规格型号:" prop="specificationModel">
              <el-input v-model="form.specificationModel" placeholder="请输入" clearable disabled/>
            </el-form-item>
          </el-col>
<!--          <el-col :span="12">-->
<!--            <el-form-item label="绑定机器:" prop="speculativeTradingName">-->
<!--              <el-input v-model="form.speculativeTradingName" placeholder="自动获取" clearable disabled/>-->
<!--            </el-form-item>-->
<!--          </el-col>-->
               <el-col :span="12">
                  <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-row>
        <el-row :gutter="30">
          <el-col :span="12">
               <el-col :span="12">
                  <el-form-item label="本次排产数量:" prop="schedulingNum">
                     <el-input-number
                        v-model="form.schedulingNum"
@@ -45,6 +55,46 @@
                        style="width: 100%"
                     />
                  </el-form-item>
               </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="产线:" prop="lineId">
              <el-select
                v-model="form.lineId"
                placeholder="选择产线"
                style="width: 100%;"
                filterable
                clearable
              >
                <el-option
                  v-for="line in lineList"
                  :key="line.id"
                  :label="line.name"
                  :value="line.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="生产人:" prop="productionUserId">
              <el-select
                v-model="form.productionUserId"
                placeholder="选择生产人"
                style="width: 100%;"
                filterable
                default-first-option
                :reserve-keyword="false"
                clearable
              >
                <el-option
                  v-for="user in userList"
                  :key="user.userId"
                  :label="user.nickName"
                  :value="user.userId"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
@@ -54,6 +104,9 @@
                        v-model="form.schedulingUserId"
                        placeholder="选择人员"
                        style="width: 100%;"
                filterable
                default-first-option
                :reserve-keyword="false"
                     >
                        <el-option
                           v-for="user in userList"
@@ -94,6 +147,7 @@
import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
import {userListNoPageByTenantId} from "@/api/system/user.js";
import {productionDispatch} from "@/api/productionManagement/productionOrder.js";
import {getDeptPositionTree} from "@/api/lavorissce/issue.js";
import useUserStore from "@/store/modules/user.js";
import dayjs from "dayjs";
const { proxy } = getCurrentInstance()
@@ -105,21 +159,29 @@
  form: {
      projectName: "",
      productCategory: "",
      specificationModel: "", // 规格型号
      quantity: "",
      schedulingNum: "",
      schedulingUserId: "",
      schedulingDate: "",
      pendingQuantity: "",
      speculativeTradingName: "", // 绑定机器名称
      lineId: "", // 产线ID
      productionUserId: "", // 生产人ID
  },
  rules: {
      schedulingNum: [{ required: true, message: "请输入", trigger: "blur" },],
      schedulingUserId: [{ required: true, message: "请选择", trigger: "change" },],
      schedulingDate: [{ required: true, message: "请选择", trigger: "change" },],
      lineId: [{ required: true, message: "请选择产线", trigger: "change" },],
      productionUserId: [{ required: true, message: "请选择生产人", trigger: "change" },],
  },
});
const { form, rules } = toRefs(data);
const userList = ref([])
const lineList = ref([])
const userStore = useUserStore()
// 打开弹框
const openDialog = (type, row) => {
@@ -128,6 +190,9 @@
   userListNoPageByTenantId().then((res) => {
      userList.value = res.data;
   });
   getDeptPositionTree().then((res) => {
      lineList.value = res.data;
   });
   form.value = {...row}
   form.value.schedulingNum = 0
   form.value.schedulingUserId = userStore.id