feat: 解包下料

This commit is contained in:
2025-07-24 15:56:18 +08:00
parent 2b1b731ee5
commit e58c2ab587
25 changed files with 652 additions and 77 deletions

View File

@@ -32,12 +32,13 @@
</el-form-item>
<el-form-item label="任务名称">
<label slot="label">任务名称:</label>
<el-select v-model="query.config_code" placeholder="请选择" style="width: 240px" @change="crud.toQuery" clearable>
<el-select v-model="query.config_code" placeholder="请选择" style="width: 240px" clearable @change="crud.toQuery">
<el-option
v-for="item in taskConfigList"
:key="item.config_id"
:label="item.task_name"
:value="item.config_code">
:value="item.config_code"
>
<span style="float: left">{{ item.config_code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.task_name }}</span>
</el-option>
@@ -60,8 +61,8 @@
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="crud.toQuery">
</el-date-picker>
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="任务状态">
<el-select
@@ -122,9 +123,9 @@
<el-form-item label="载具编码">
<el-input v-model="form.vehicle_code" style="width: 240px;" />
</el-form-item>
<!-- <el-form-item label="优先级">-->
<!-- <el-input v-model="form.priority" style="width: 240px;" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="优先级">-->
<!-- <el-input v-model="form.priority" style="width: 240px;" />-->
<!-- </el-form-item>-->
<el-form-item v-if="false" label="处理类">
<el-input v-model="form.handle_class" style="width: 240px;" />
</el-form-item>
@@ -179,12 +180,12 @@
{{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
</template>
</el-table-column>
<!--<el-table-column prop="vehicle_code2" label="载具编码2" :min-width="flexWidth('vehicle_code2',crud.data,'载具编码2')">
<el-table-column prop="vehicle_code2" label="载具编码2" :min-width="flexWidth('vehicle_code2',crud.data,'载具编码2')">
<template slot-scope="scope">
{{ scope.row.vehicle_code2 ? scope.row.vehicle_code2 : '-' }}
</template>
</el-table-column>-->
<!-- <el-table-column prop="task_class_id" label="任务分类" :min-width="flexWidth('task_class_id',crud.data,'任务分类')" />-->
</el-table-column>
<!-- <el-table-column prop="task_class_id" label="任务分类" :min-width="flexWidth('task_class_id',crud.data,'任务分类')" />-->
<el-table-column prop="task_status" label="任务状态" :min-width="flexWidth('task_status',crud.data,'任务状态')">
<template slot-scope="scope">
{{ getStatusName(scope.row.task_status) }}
@@ -193,10 +194,10 @@
<el-table-column prop="remark" label="提示信息" :min-width="flexWidth('remark',crud.data,'提示信息')" />
<el-table-column prop="config_code" label="配置编码" :min-width="flexWidth('config_code',crud.data,'配置编码')" />
<el-table-column prop="task_name" label="配置名称" :min-width="flexWidth('task_name',crud.data,'任务名称')" />
<el-table-column prop="point_code1" label="起点" :min-width="flexWidth('point_code1',crud.data,'起点')" />
<el-table-column prop="point_code2" label="终点" :min-width="flexWidth('point_code2',crud.data,'终点')" />
<!-- <el-table-column prop="point_code3" label="起点2" :min-width="flexWidth('point_code3',crud.data,'点位3')" />
<el-table-column prop="point_code4" label="终点2" :min-width="flexWidth('point_code4',crud.data,'点位4')" />-->
<el-table-column prop="point_code1" label="起点1" :min-width="flexWidth('point_code1',crud.data,'起点')" />
<el-table-column prop="point_code2" label="终点1" :min-width="flexWidth('point_code2',crud.data,'终点')" />
<el-table-column prop="point_code3" label="起点2" :min-width="flexWidth('point_code3',crud.data,'点位3')" />
<el-table-column prop="point_code4" label="终点2" :min-width="flexWidth('point_code4',crud.data,'点位4')" />
<el-table-column prop="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 20)">
<template slot-scope="scope">
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
@@ -207,14 +208,14 @@
<el-table-column v-if="false" prop="handle_class" label="处理类" :min-width="flexWidth('handle_class',crud.data,'处理类')" />
<el-table-column v-if="false" prop="handle_status" label="处理状态" :min-width="flexWidth('handle_status',crud.data,'处理状态')" />
<el-table-column prop="car_no" label="车号" :min-width="flexWidth('car_no',crud.data,'车号')" />
<!-- <el-table-column prop="task_group_id" label="任务组标识" :min-width="flexWidth('task_group_id',crud.data,'任务组标识')" />-->
<el-table-column prop="task_group_id" label="任务组标识" :min-width="flexWidth('task_group_id',crud.data,'任务组标识')" />
<el-table-column prop="task_group_seq" label="任务组顺序号" :min-width="flexWidth('task_group_seq',crud.data,'任务组顺序号')" />
<el-table-column prop="finished_type" label="任务完成类型" :min-width="flexWidth('finished_type',crud.data,'任务完成类型')">
<template slot-scope="scope">
{{ dict.label.finished_type[scope.row.finished_type]?dict.label.finished_type[scope.row.finished_type]:'未完成' }}
</template>
</el-table-column>
<el-table-column prop="create_mode" label="生成方式" :min-width="flexWidth('create_mode',crud.data,'生成方式')" >
<el-table-column prop="create_mode" label="生成方式" :min-width="flexWidth('create_mode',crud.data,'生成方式')">
<template slot-scope="scope">
{{ dict.label.create_mode[scope.row.create_mode] }}
</template>
@@ -223,29 +224,29 @@
<el-table-column prop="request_param" label="生成任务的请求参数" :min-width="flexWidth('request_param',crud.data,'生成任务的请求参数')" />
<el-table-column prop="response_param" label="下发任务的请求参数" :min-width="flexWidth('response_param',crud.data,'下发任务的请求参数')" />
<el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
<!-- <el-table-column prop="ext_group_data" label="额外组盘信息" :min-width="flexWidth('ext_group_data',crud.data,'额外组盘信息')" />-->
<!-- <el-table-column prop="ext_group_data" label="额外组盘信息" :min-width="flexWidth('ext_group_data',crud.data,'额外组盘信息')" />-->
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
<el-table-column prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
<el-table-column prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
<el-table-column v-permission="[]" label="操作" width="160px" align="center" fixed="right">
<template slot-scope="scope">
<!-- <el-button-->
<!-- type="text"-->
<!-- icon="el-icon-upload"-->
<!-- @click="doOperate(scope.row, 'c')"-->
<!-- >下发</el-button>-->
<!-- <el-button-->
<!-- type="text"-->
<!-- icon="el-icon-upload"-->
<!-- @click="doOperate(scope.row, 'c')"-->
<!-- >下发</el-button>-->
<el-button
type="text"
icon="el-icon-success"
@click="doOperate(scope.row, 'a')"
:disabled="scope.row.task_status==='5' || scope.row.task_status==='6'"
@click="doOperate(scope.row, 'a')"
>完成</el-button>
<el-button
type="text"
icon="el-icon-error"
@click="doOperate(scope.row, 'b')"
:disabled="scope.row.task_status==='5' || scope.row.task_status==='6'"
@click="doOperate(scope.row, 'b')"
>取消</el-button>
</template>
</el-table-column>

View File

@@ -133,7 +133,7 @@
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column show-overflow-tooltip width="150" prop="storagevehicle_code" label="批次号" />
<el-table-column show-overflow-tooltip width="150" prop="pcsn" label="批次号" />
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip width="170" prop="qty" label="数量" />
<el-table-column show-overflow-tooltip width="170" prop="qty_unit_name" label="计量单位名称" />

View File

@@ -93,7 +93,7 @@
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘编码" align="center" width="250px" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip sortable prop="pcsn" label="批次号" align="center" width="150px" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
<el-table-column show-overflow-tooltip prop="qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
<el-table-column align="center" label="操作" width="160" fixed="right">
<template scope="scope">
<el-button v-show="!scope.row.edit" type="primary" class="filter-item" size="mini" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
@@ -200,15 +200,15 @@ export default {
}
row.edit = !row.edit
if (row.edit) {
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) - parseFloat(row.canuse_qty)
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) + parseFloat(row.canuse_qty)
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) - parseFloat(row.qty)
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) + parseFloat(row.qty)
} else {
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) - parseFloat(row.canuse_qty)
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) - parseFloat(row.qty)
// 如果待分配重量等于0则 明细重量 - 已分配重量
if (parseInt(this.queryrow.unassign_qty) === 0) {
this.queryrow.unassign_qty = parseFloat(this.goal_unassign_qty) - parseFloat(this.queryrow.assign_qty)
} else {
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) + parseFloat(row.canuse_qty)
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) + parseFloat(row.qty)
}
if (this.queryrow.unassign_qty > this.goal_unassign_qty) {
this.queryrow.unassign_qty = JSON.parse(JSON.stringify(this.goal_unassign_qty))