gaoluyang
2025-11-10 2a916df0471ae2e468096b258eb87d913dcc33a0
生产管控-支持生产工序定制化
已修改2个文件
58 ■■■■ 文件已修改
src/views/productionManagement/operationScheduling/components/formDia.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionReporting/index.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/operationScheduling/components/formDia.vue
@@ -8,20 +8,30 @@
    >
      <el-button type="primary" @click="addRow" style="margin-bottom: 10px;">新增</el-button>
            <span style="font-size: 18px;margin-left: 10px">待排产数量:{{pendingNum}}</span>
            <div style="margin-bottom: 10px; margin-left: 10px;">
                <el-form-item label="领用:" style="margin-bottom: 0;">
                    <el-input v-model="receive" placeholder="请输入领用" style="width: 200px;" />
                </el-form-item>
            </div>
      <el-table :data="tableData" border style="width: 100%" :summary-method="summarizeMainTable" show-summary :row-key="row => row.id">
        <el-table-column label="序号" width="60">
        <el-table-column label="序号" width="60" align="center">
          <template #default="scope">
            {{ scope.$index + 1 }}
          </template>
        </el-table-column>
        <el-table-column label="工序" prop="process">
        <el-table-column label="工序" prop="process" width="150">
          <template #default="scope">
                        <el-input v-model="scope.row.process" placeholder="请输入工序" />
          </template>
        </el-table-column>
        <el-table-column label="单位" prop="unit">
        <el-table-column label="单位" prop="unit" width="90">
          <template #default="scope">
            <el-input v-model="scope.row.unit" placeholder="请输入单位" />
          </template>
        </el-table-column>
        <el-table-column label="口味/品名/规格" prop="type" width="150">
          <template #default="scope">
            <el-input v-model="scope.row.type" placeholder="请输入" />
          </template>
        </el-table-column>
        <el-table-column label="排产数量" width="200" prop="schedulingNum">
@@ -37,6 +47,11 @@
                        />
          </template>
        </el-table-column>
        <el-table-column label="损耗" prop="loss" width="150">
          <template #default="scope">
            <el-input v-model="scope.row.loss" placeholder="请输入损耗" />
          </template>
        </el-table-column>
        <el-table-column label="工时定额" width="200" prop="workHours">
          <template #default="scope">
                        <el-input-number
@@ -50,12 +65,12 @@
                        />
          </template>
        </el-table-column>
        <el-table-column label="排产日期" prop="schedulingDate">
        <el-table-column label="排产日期" prop="schedulingDate" width="200">
          <template #default="scope">
            <el-date-picker v-model="scope.row.schedulingDate" type="date" placeholder="选择日期" style="width: 100%;" value-format="YYYY-MM-DD" format="YYYY-MM-DD"/>
          </template>
        </el-table-column>
        <el-table-column label="排产人" prop="schedulingUserId">
        <el-table-column label="排产人" prop="schedulingUserId" width="150">
          <template #default="scope">
                        <el-select
                            v-model="scope.row.schedulingUserId"
@@ -69,6 +84,11 @@
                                :value="user.userId"
                            />
                        </el-select>
          </template>
        </el-table-column>
        <el-table-column label="备注" prop="remark" width="200">
          <template #default="scope">
            <el-input v-model="scope.row.remark" placeholder="请输入备注" />
          </template>
        </el-table-column>
        <el-table-column label="操作" width="80">
@@ -98,12 +118,13 @@
const dialogFormVisible = ref(false);
const operationType = ref('')
const tableData = ref([
    { process: '', schedulingDate: '', schedulingNum: '', schedulingUserId: '', workHours: '', unit: '' }
    { process: '', schedulingDate: '', schedulingNum: null, schedulingUserId: '', workHours: null, unit: '', remark: '', loss: '', type: '' }
]);
const unitFromRow = ref('');
const idFromRow = ref('');
const pendingNum = ref('');
const userList = ref([])
const receive = ref('')
// 打开弹框
const openDialog = (type, row) => {
@@ -148,7 +169,12 @@
        proxy.$modal.msgError('排产数量合计不能超过待排产数量');
        return;
    }
    processScheduling(tableData.value).then((res) => {
    // 3. 将 receive 字段添加到每条数据中
    const submitData = tableData.value.map(row => ({
        ...row,
        receive: receive.value
    }));
    processScheduling(submitData).then((res) => {
        proxy.$modal.msgSuccess("提交成功");
        closeDia();
    })
@@ -159,6 +185,7 @@
// 关闭弹框
const closeDia = () => {
  dialogFormVisible.value = false;
  receive.value = '';
  emit('close')
};
defineExpose({
@@ -166,7 +193,7 @@
});
const addRow = () => {
  tableData.value.push({ id: idFromRow.value, process: '', unit: unitFromRow.value, schedulingNum: '', workHours: '', schedulingDate: '', schedulingUserId: '' });
  tableData.value.push({ id: idFromRow.value, process: '', unit: unitFromRow.value, schedulingNum: null, workHours: null, schedulingDate: '', schedulingUserId: '', remark: '', loss: '', type: '' });
};
const removeRow = (index) => {
  tableData.value.splice(index, 1);
src/views/productionManagement/productionReporting/index.vue
@@ -235,6 +235,16 @@
        prop: "process",
    },
    {
        label: "口味分类",
        prop: "type",
        width: 150,
    },
    {
        label: "损耗",
        prop: "loss",
        width: 150,
    },
    {
        label: "排产数量",
        prop: "schedulingNum",
        width: 100,
@@ -249,6 +259,11 @@
        prop: "pendingFinishNum",
        width: 100,
    },
    {
        label: "备注",
        prop: "remark",
        width: 200,
    },
]);
const tableData = ref([]);
const selectedRows = ref([]);