批次以及批次的生产安排
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<el-row style="margin-bottom: 10px;">
|
||||
<div v-for="(item, index) in taskList" style="display: flex; flex-wrap: wrap; gap: 10px; align-items: center;"
|
||||
:key="index">
|
||||
<ProductInfo :productId="item[0].productId" />
|
||||
<ProductInfo :productId="item && item[0] && item[0].productId" />
|
||||
<div v-for="process in item" :key="process.processId">
|
||||
<CraftInfo :craftId="process.processId" />
|
||||
</div>
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
<!-- 添加或修改批次(合并相同工艺的任务)对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="批次编号" prop="batchNo">
|
||||
<el-input v-model="form.batchNo" placeholder="请输入批次编号" />
|
||||
</el-form-item>
|
||||
@@ -86,7 +86,13 @@
|
||||
<el-input v-model="form.totalQuantity" placeholder="请输入批次总数量" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="合并来源" prop="mergeSource">
|
||||
<el-input v-model="form.mergeSource" type="textarea" placeholder="请输入内容" />
|
||||
<merge-source-selector
|
||||
v-model="form.mergeSource"
|
||||
:unmerged-tasks="unmergedTaskList"
|
||||
:all-tasks="allTasks"
|
||||
@change="handleMergeSourceChange"
|
||||
/>
|
||||
<!-- <el-input v-model="form.mergeSource" type="textarea" placeholder="请输入内容" /> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="预计开始时间" prop="estimatedStartTime">
|
||||
<el-date-picker clearable v-model="form.estimatedStartTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
@@ -152,14 +158,17 @@
|
||||
import { listBatch, getBatch, delBatch, addBatch, updateBatch, generateBatch } from "@/api/wms/batch";
|
||||
import { listProcessTask } from "@/api/wms/processTask";
|
||||
|
||||
|
||||
import CraftInfo from '@/components/KLPService/Renderer/CraftInfo.vue';
|
||||
import ProductInfo from '@/components/KLPService/Renderer/ProductInfo.vue';
|
||||
import MergeSourceSelector from "../components/MergeSourceSelector.vue";
|
||||
|
||||
export default {
|
||||
name: "Batch",
|
||||
components: {
|
||||
CraftInfo,
|
||||
ProductInfo
|
||||
ProductInfo,
|
||||
MergeSourceSelector
|
||||
},
|
||||
dicts: ['batch_status'],
|
||||
props: {
|
||||
@@ -168,6 +177,16 @@ export default {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
// 所有还没有被合并的任务
|
||||
unmergedTaskList() {
|
||||
// 也就是不在batchList.mergeSource中的
|
||||
return this.allTasks.filter(item => !this.batchList.some(batch => batch.mergeSource.split(',').includes(item.taskId)));
|
||||
},
|
||||
allTasks() {
|
||||
return this.taskList.flat(1);
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
@@ -233,8 +252,14 @@ export default {
|
||||
this.taskList = Object.values(productIdToProcessTaskList);
|
||||
},
|
||||
getTaskInfo(taskId) {
|
||||
const task = this.taskList.flat(1).find(item => item.taskId == taskId);
|
||||
console.log(task, taskId);
|
||||
const task = this.allTasks.find(item => item.taskId == taskId);
|
||||
// console.log(task, taskId);
|
||||
if (!task) {
|
||||
return {
|
||||
productId: '',
|
||||
processId: ''
|
||||
};
|
||||
}
|
||||
return task;
|
||||
},
|
||||
/** 查询批次(合并相同工艺的任务)列表 */
|
||||
@@ -276,6 +301,12 @@ export default {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
// 处理合并来源变化的回调
|
||||
handleMergeSourceChange(mergeSource, selectedTasks) {
|
||||
console.log('合并来源变化:', mergeSource);
|
||||
console.log('选中的任务:', selectedTasks);
|
||||
// 可以在这里做一些额外处理,比如计算总数量等
|
||||
},
|
||||
async handleInitBatch() {
|
||||
generateBatch(this.taskList).then(res => {
|
||||
console.log(res)
|
||||
@@ -283,7 +314,7 @@ export default {
|
||||
this.generateBatchList = res.data.map(item => {
|
||||
let totalQuantity = 0;
|
||||
for (const taskId of item.taskIds) {
|
||||
const task = this.taskList.flat(1).find(item => item.taskId == taskId);
|
||||
const task = this.allTasks.find(item => item.taskId == taskId);
|
||||
totalQuantity += task.taskQuantity;
|
||||
}
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user