gaoluyang
2 天以前 b2305598a740049cf31683ac263db2fd2476a06e
1.海川开心-生产排产生产报工的排产和报工数量赋默认值
已修改2个文件
30 ■■■■ 文件已修改
src/views/productionManagement/operationScheduling/components/formDia.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionReporting/components/formDia.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/operationScheduling/components/formDia.vue
@@ -127,6 +127,7 @@
import {userListNoPageByTenantId} from "@/api/system/user.js";
import {processScheduling} from "@/api/productionManagement/operationScheduling.js";
const { proxy } = getCurrentInstance()
import dayjs from "dayjs";
const { work_step } = proxy.useDict("work_step")
const emit = defineEmits(['close'])
@@ -165,15 +166,22 @@
            sunqianUserId.value = sunqianUser.userId;
        }
        // 在用户列表加载完成后创建行数据,并将产线数据带入
        tableData.value = [createRow(row)];
        tableData.value = [createRow(row, { defaultNum: pendingNum.value })];
    });
}
const createRow = (row) => ({
const getToday = () => dayjs().format("YYYY-MM-DD");
const getRemaining = () => {
    const used = tableData.value.reduce((sum, row) => sum + Number(row.schedulingNum || 0), 0);
    const remain = Number(pendingNum.value || 0) - used;
    return remain > 0 ? remain : 0;
};
const createRow = (row, options = {}) => ({
    id: idFromRow.value,
    process: '包装',
    schedulingDate: '',
    schedulingNum: null,
    schedulingDate: getToday(), // 默认当天
    schedulingNum: options.defaultNum ?? null, // 默认用剩余数量填满
    schedulingUserId: sunqianUserId.value, // 默认设置为孙倩的用户ID
    workHours: null,
    unit: unitFromRow.value,
@@ -239,7 +247,12 @@
});
const addRow = () => {
  tableData.value.push(createRow());
    const remaining = getRemaining();
    if (remaining <= 0) {
        proxy.$modal.msgWarning('已排满,无剩余数量');
        return;
    }
  tableData.value.push(createRow({}, { defaultNum: remaining }));
};
const removeRow = (index) => {
  tableData.value.splice(index, 1);
src/views/productionManagement/productionReporting/components/formDia.vue
@@ -107,6 +107,7 @@
  form: {
        successNum: "",
        schedulingNum: "",
    pendingNum: "",
        finishedNum: "",
        schedulingUserId: "",
        schedulingDate: "",
@@ -127,6 +128,12 @@
        userList.value = res.data;
    });
    form.value = {...row}
  const total = Number(row?.schedulingNum ?? 0);
  const pendingFinish = Number(row?.pendingFinishNum ?? 0);
  const autoFill = pendingFinish > 0 ? Math.min(pendingFinish, total) : total;
  form.value.finishedNum = autoFill;
  form.value.pendingNum = Math.max(total - autoFill, 0);
  changeNum(form.value.finishedNum);
}
const changeNum = (value) => {