feat: 托盘叫料

This commit is contained in:
2025-12-01 17:49:24 +08:00
parent a6a10f770d
commit dcb0ef7ba0
15 changed files with 788 additions and 131 deletions

View File

@@ -37,12 +37,12 @@
<el-form-item label="区域类型">
<el-select
v-model="query.region_code"
@clear="handleClear"
clearable
filterable
size="mini"
placeholder="区域类型"
class="filter-item"
@clear="handleClear"
@change="getPointStatusAndTypeList(query.region_code, 1)"
>
<el-option
@@ -109,7 +109,7 @@
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" >
<crudOperation :permission="permission">
<el-button
v-if="crud.query.is_used == 'false'"
slot="right"
@@ -214,6 +214,32 @@
/>
</el-select>
</el-form-item>
<el-form-item label="入库库区">
<el-select
v-model="form.in_sect"
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in sects"
:label="item.sect_name"
:value="item.sect_code"
/>
</el-select>
</el-form-item>
<el-form-item label="出库库区">
<el-select
v-model="form.out_sect"
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in sects"
:label="item.sect_name"
:value="item.sect_code"
/>
</el-select>
</el-form-item>
<el-form-item label="点位编码" prop="point_code">
<el-input v-model="form.point_code" style="width: 370px;" />
</el-form-item>
@@ -252,7 +278,7 @@
</el-select>
</el-form-item>
<el-form-item label="父类编码" prop="vehicle_code">
<el-input v-model="form.parent_point_code" clearable style="width: 370px;" @focus="getParentPoint"/>
<el-input v-model="form.parent_point_code" clearable style="width: 370px;" @focus="getParentPoint" />
</el-form-item>
<el-form-item v-if="form.point_status !== '1'" label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
@@ -263,8 +289,8 @@
v-for="item in dict.vehicle_type"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="form.point_status === '1'" label="在执行任务标识" prop="ing_task_code">
@@ -276,12 +302,12 @@
v-for="item in dict.vehicle_type"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="载具数量" prop="vehicle_qty">
<el-input-number style="width: 370px;" :controls="false" class="clear-number-input" v-model="form.vehicle_qty" :min="0" :precision="0" :max="99999" label="载具数量" size="mini" />
<el-input-number v-model="form.vehicle_qty" style="width: 370px;" :controls="false" class="clear-number-input" :min="0" :precision="0" :max="99999" label="载具数量" size="mini" />
</el-form-item>
<el-form-item label="是否有工单">
<el-radio v-for="item in dict.TrueOrFalse" :key="item.id" v-model="form.is_has_workder" :label="item.value">{{ item.label }}</el-radio>
@@ -306,8 +332,8 @@
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
<el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')"/>
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')"/>
<el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')" />
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')" />
<el-table-column prop="storagevehicle_type" label="载具类型" :min-width="flexWidth('storagevehicle_type',crud.data,'载具类型', 30)">
<template slot-scope="scope">
{{ dict.label.storagevehicle_type[scope.row.storagevehicle_type] }}
@@ -317,22 +343,22 @@
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'载具数量')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'载具数量')" />
<el-table-column prop="material_qty" label="物料重量" :min-width="flexWidth('material_qty',crud.data,'载具数量')" />
<el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')"/>
<el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')" />
<el-table-column prop="ing_task_code" label="在执行的任务标识" :min-width="flexWidth('ing_task_code',crud.data,'在执行的任务标识')" />
<el-table-column prop="is_has_workder" label="是否有工单" :min-width="flexWidth('is_has_workder',crud.data,'是否有工单')">
<template slot-scope="scope">
{{scope.row.is_has_workder?'是':'否'}}
{{ scope.row.is_has_workder?'是':'否' }}
</template>
</el-table-column>
<el-table-column prop="is_auto" label="是否自动" :min-width="flexWidth('is_auto',crud.data,'是否自动')">
<template slot-scope="scope">
{{scope.row.is_auto?'是':'否'}}
{{ scope.row.is_auto?'是':'否' }}
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="is_used" label="是否启用" :min-width="flexWidth('is_used',crud.data,'是否启用')">
<template slot-scope="scope">
{{scope.row.is_used?'是':'否'}}
{{ scope.row.is_used?'是':'否' }}
</template>
</el-table-column>
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
@@ -361,8 +387,8 @@
<!--分页组件-->
<pagination />
</div>
<ViewDialog ref="viewDialog"/>
<PointDialog :dialog-show.sync="pointDialog" :is-single="false" @tableChanged="tableChanged"/>
<ViewDialog ref="viewDialog" />
<PointDialog :dialog-show.sync="pointDialog" :is-single="false" @tableChanged="tableChanged" />
</div>
</template>
@@ -376,6 +402,7 @@ import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import ViewDialog from '@/views/wms/sch/point/ViewDialog'
import PointDialog from '@/views/wms/sch/point/PointDialog'
import Sectattr from '@/views/wms/basedata/sectattr/sectattr'
const defaultForm = {
point_code: null,
@@ -405,6 +432,8 @@ const defaultForm = {
workshop_code: null,
is_auto: 'true',
remark: null,
in_sect: null,
out_sect: null,
is_used: 'true',
can_vehicle_types: null
}
@@ -458,13 +487,20 @@ export default {
pointStatusList: [],
pointStatusDialogList: [],
pointTypesDialogList: [],
pointDialog: false
pointDialog: false,
sects: []
}
},
created() {
this.getRegionList()
this.getSects()
},
methods: {
getSects() {
Sectattr.getOneSect({ 'stor_id': '' }).then(res => {
this.sects = res
})
},
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true