gaoluyang
6 天以前 056593f1b3ed16b2b6130ce688cf5575645778e9
src/views/productionManagement/productionReporting/components/formDia.vue
@@ -31,7 +31,7 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="待生产数量:" prop="pendingNum">
              <el-input v-model="form.pendingNum" placeholder="请输入" clearable disabled/>
              <el-input :value="form.pendingNum !== undefined && form.pendingNum !== null ? Number(form.pendingNum).toFixed(2) : ''" placeholder="请输入" clearable disabled/>
            </el-form-item>
          </el-col>
        </el-row>
@@ -88,6 +88,7 @@
const userList = ref([])
const dialogFormVisible = ref(false);
const operationType = ref('')
const pendingFinishNum = ref(0) // 外部传入的待生产数量(剩余可报工数量)
const data = reactive({
  form: {
      successNum: "",
@@ -110,14 +111,21 @@
      userList.value = res.data;
   });
   form.value = {...row}
  pendingFinishNum.value = Number(row?.pendingFinishNum || 0)
  // 将待生产数量带入表单,方便展示与校验,保留两位小数
  form.value.pendingNum = Number(pendingFinishNum.value.toFixed(2))
}
const changeNum = (value) => {
   if (value > form.value.schedulingNum) {
      form.value.finishedNum = form.value.schedulingNum;
      proxy.$modal.msgWarning('本次生产数量不可大于排产数量')
   const maxPending = Number(pendingFinishNum.value) || 0
   // 上限:不能超过待生产数量
   if (Number(value) > maxPending) {
      form.value.finishedNum = Number(maxPending.toFixed(2));
      proxy.$modal.msgWarning('本次生产数量不可大于待生产数量')
   }
   form.value.pendingNum = form.value.schedulingNum - form.value.finishedNum;
   // 重新计算剩余待生产数量,保留两位小数
   const finishedNum = Number(form.value.finishedNum) || 0
   form.value.pendingNum = Number((maxPending - finishedNum).toFixed(2));
}
// 提交产品表单
const submitForm = () => {