add:PC组盘、PC空载具入库、PC空载具出库

This commit is contained in:
2025-08-13 20:29:06 +08:00
parent 350e129c16
commit 6262db2da4
48 changed files with 1924 additions and 674 deletions

View File

@@ -24,4 +24,28 @@ export function edit(data) {
})
}
export default { add, edit, del }
export function queryMater(data) {
return request({
url: 'api/group/queryMater',
method: 'post',
data
})
}
export function checkVehicle(data) {
return request({
url: 'api/group/checkVehicle',
method: 'post',
data
})
}
export function querySupp(data) {
return request({
url: 'api/group/querySupp',
method: 'post',
data
})
}
export default { add, edit, del, queryMater, checkVehicle, querySupp }

View File

@@ -59,6 +59,152 @@
<rrOperation />
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="1200px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px">
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="material_code">
<el-input v-model="form.material_code" style="width: 200px;" :disabled="crud.status.edit > 0" @change="queryMater" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料名称" prop="material_name">
<el-input v-model="form.material_name" disabled style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料规格" prop="material_spec">
<el-input v-model="form.material_spec" disabled style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="载具编码" prop="storagevehicle_code">
<el-input v-model="form.storagevehicle_code" :disabled="crud.status.edit > 0" @change="checkVehicle" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="焊材批号" prop="pcsn">
<el-input v-model="form.pcsn" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料重量" prop="qty">
<el-input-number v-model="form.qty" :precision="2" :controls="false" :min="1" style="width: 200px" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="供应商" prop="supp_code">
<el-select
v-model="form.supp_code"
clearable
size="mini"
style="width: 200px;"
class="filter-item"
>
<el-option
v-for="item in suppList"
:label="item.supp_name"
:value="item.supp_code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="有效日期" prop="quality_time">
<el-date-picker v-model="form.quality_time" type="date" placeholder="选择日期" style="width: 200px" value-format="yyyy-MM-dd" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产日期" prop="produce_time">
<el-date-picker v-model="form.produce_time" type="date" placeholder="选择日期" style="width: 200px" value-format="yyyy-MM-dd" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="烘干次数" prop="bake_num">
<el-input-number v-model="form.bake_num" :precision="0" :controls="false" :min="0" :max="3" style="width: 200px" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="品质类型" prop="quality_type">
<el-select
v-model="form.quality_type"
size="mini"
style="width: 200px;"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.QUALITY_TYPE"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="料箱类型" prop="box_type">
<el-select
v-model="form.box_type"
size="mini"
style="width: 200px;"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.BOX_TYPE"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="执行标准" prop="execution_stand">
<el-input v-model="form.execution_stand" style="width: 380px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<label slot="label">备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注:</label>
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
@@ -74,8 +220,14 @@
<el-table-column prop="material_spec" label="物料规格" :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
<el-table-column prop="pcsn" label="批次" :min-width="flexWidth('pcsn',crud.data,'批次')" />
<el-table-column prop="status" label="状态" :formatter="formattStatus" :min-width="flexWidth('status',crud.data,'状态')" />
<el-table-column prop="qty" label="组盘数量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="prison_area" label="监区" :min-width="flexWidth('prison_area',crud.data,'监区')" />
<el-table-column prop="qty" label="组盘重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="supp_code" label="供应商" :min-width="flexWidth('supp_code',crud.data,'供应商')" />
<el-table-column prop="quality_time" label="有效日期" :min-width="flexWidth('quality_time',crud.data,'有效日期')" />
<el-table-column prop="produce_time" label="生产日期" :min-width="flexWidth('produce_time',crud.data,'生产日期')" />
<el-table-column prop="bake_num" label="烘干次数" :min-width="flexWidth('bake_num',crud.data,'烘干次数')" />
<el-table-column prop="quality_type" label="品质类型" :formatter="formattQuality" :min-width="flexWidth('quality_type',crud.data,'品质类型')" />
<el-table-column prop="box_type" label="料箱类型" :formatter="formattBoxType" :min-width="flexWidth('box_type',crud.data,'料箱类型')" />
<el-table-column prop="execution_stand" label="执行标准" :min-width="flexWidth('execution_stand',crud.data,'执行标准')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',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,'组盘时间')" />
@@ -84,12 +236,11 @@
label="操作"
width="150px"
lign="center"
fixed="right"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:is-visiable-edit="false"
:disabled-dle="scope.row.status === '02'"
:permission="permission"
/>
</template>
@@ -119,24 +270,34 @@ const defaultForm = {
qty: null,
remark: null,
status: null,
supp_code: null,
quality_time: null,
produce_time: new Date(),
execution_stand: null,
bake_num: null,
quality_type: '1',
box_type: null,
create_id: null,
create_name: null,
create_time: null,
ext_code: null,
ext_type: null
material_spec: null,
material_name: null
}
export default {
name: 'Group',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['is_used', 'GROUP_STATUS'],
dicts: ['is_used', 'GROUP_STATUS', 'BOX_TYPE', 'QUALITY_TYPE'],
cruds() {
return CRUD({
title: '组盘记录',
url: 'api/group',
optShow: {
add: false,
add: true,
edit: false,
del: false,
download: false,
reset: true
},
idField: 'group_id',
@@ -147,18 +308,68 @@ export default {
data() {
return {
permission: {},
classes: [],
suppList: [],
rules: {
material_code: [
{ required: true, message: '物料不能为空', trigger: 'blur' }
],
pcsn: [
{ required: true, message: '批次不能为空', trigger: 'blur' }
],
storagevehicle_code: [
{ required: true, message: '载具不能为空', trigger: 'blur' }
],
supp_code: [
{ required: true, message: '供应商不能为空', trigger: 'blur' }
],
quality_time: [
{ required: true, message: '有效日期不能为空', trigger: 'blur' }
],
produce_time: [
{ required: true, message: '生产日期不能为空', trigger: 'blur' }
],
box_type: [
{ required: true, message: '料箱类型不能为空', trigger: 'blur' }
]
}
}
},
created() {
crudGroup.querySupp({}).then(row => {
this.suppList = row
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
queryMater(value) {
crudGroup.queryMater({ 'material_code': value }).then(row => {
this.form.material_spec = row.material_spec
this.form.material_name = row.material_name
this.form.material_id = row.material_id
}).catch(() => {
this.form.material_spec = ''
this.form.material_name = ''
this.form.material_code = ''
this.form.material_id = ''
})
},
checkVehicle(value) {
crudGroup.checkVehicle({ 'storagevehicle_code': value }).then(row => {
}).catch(() => {
this.form.storagevehicle_code = ''
})
},
formattStatus(row) {
return this.dict.label.GROUP_STATUS[row.status]
},
formattBoxType(row) {
return this.dict.label.BOX_TYPE[row.box_type]
},
formattQuality(row) {
return this.dict.label.QUALITY_TYPE[row.quality_type]
}
}
}

View File

@@ -195,35 +195,32 @@
<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="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 20)">
<template slot-scope="scope">
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
</template>
</el-table-column>
<el-table-column prop="vehicle_qty" label="载具数" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
<!-- <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] }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />-->
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('mater_name',crud.data,'物料名称')" />
<el-table-column prop="material_qty" label="物料重" :min-width="flexWidth('mater_name',crud.data,'物料重量')" />
<el-table-column v-if="false" prop="priority" label="优先级" :min-width="flexWidth('priority',crud.data,'优先级')" />
<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_seq" label="任务组顺序号" :min-width="flexWidth('task_group_seq',crud.data,'任务组顺序号')" />
<!-- <el-table-column prop="car_no" label="车号" :min-width="flexWidth('car_no',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>
</el-table-column>
<el-table-column prop="acs_trace_id" label="链路标识" :min-width="flexWidth('acs_trace_id',crud.data,'链路标识')" />
</el-table-column>-->
<!-- <el-table-column prop="acs_trace_id" label="链路标识" :min-width="flexWidth('acs_trace_id',crud.data,'链路标识')" />-->
<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="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,'修改人')" />

View File

@@ -57,7 +57,6 @@
<el-option
v-for="item in dict.ST_INV_IN_TYPE"
:key="item.value"
:disabled="item.value === '0003'"
:label="item.label"
:value="item.value"
/>
@@ -131,9 +130,11 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具编码" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" />
<el-table-column show-overflow-tooltip prop="plan_qty" label="数量" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="计量单位名称" />
<el-table-column v-if="crud.status.cu > 0" align="center" label="操作" width="120" fixed="right">

View File

@@ -55,10 +55,14 @@
<el-table-column show-overflow-tooltip width="150" prop="storagevehicle_code" label="载具编码" />
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" />
<el-table-column width="200" prop="pcsn" label="批次号" />
<el-table-column show-overflow-tooltip width="170" prop="qty" label="数量" />
<el-table-column show-overflow-tooltip width="170" prop="prison_area" label="监区" />
<el-table-column show-overflow-tooltip width="170" prop="qty_unit_name" label="计量单位名称" />
<el-table-column show-overflow-tooltip width="170" prop="supp_name" label="供应商" />
<el-table-column show-overflow-tooltip width="170" prop="produce_time" label="生产日期" />
<el-table-column show-overflow-tooltip width="100" prop="bake_num" label="烘干次数" />
<el-table-column show-overflow-tooltip width="150" prop="box_type" label="料箱类型" :formatter="formattBoxType"/>
</el-table>
<!--分页组件-->
<pagination />
@@ -84,6 +88,7 @@ const start = new Date()
export default {
name: 'AddDtl',
components: { crudOperation, rrOperation, pagination, DateRangePicker },
dicts: ['BOX_TYPE'],
cruds() {
return CRUD({
title: '用户',
@@ -144,6 +149,9 @@ export default {
close() {
this.$emit('update:dialogShow', false)
},
formattBoxType(row) {
return this.dict.label.BOX_TYPE[row.box_type]
},
submit() {
this.$emit('update:dialogShow', false)
this.rows = this.$refs.multipleTable.selection

View File

@@ -157,6 +157,7 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center" />
@@ -258,7 +259,7 @@ export default {
this.sects = res.content
})
const area_type = 'NBJ01'
const area_type = 'INOUR01'
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointlist = res

View File

@@ -0,0 +1,193 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="载具编码">
<el-input
v-model="query.storagevehicle_code"
clearable
size="mini"
placeholder="载具编码"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<rrOperation />
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="150px">
<el-form-item label="载具编码" prop="storagevehicle_code">
<el-input v-model="form.storagevehicle_code" style="width: 200px;" :disabled="crud.status.edit > 0" />
</el-form-item>
<el-form-item label="入库点位" prop="point_code">
<el-select
v-model="form.point_code"
clearable
placeholder="请选择"
class="filter-item"
style="width: 200px;"
>
<el-option
v-for="item in pointlist"
:key="item.point_code"
:label="item.point_name"
:value="item.point_code"
/>
</el-select>
</el-form-item>
<el-form-item label="入库库区" prop="sect_code">
<el-select
v-model="form.sect_code"
size="mini"
style="width: 200px;"
class="filter-item"
>
<el-option
v-for="item in dict.SECT_CODE"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" />
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')">
<template slot-scope="scope">
{{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
</template>
</el-table-column>
<el-table-column prop="task_status" label="任务状态" :min-width="flexWidth('task_status',crud.data,'任务状态')">
<template slot-scope="scope">
{{ getStatusName(scope.row.task_status) }}
</template>
</el-table-column>
<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="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>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudVehicleIn from '@/views/wms/st/vehiclein/vehiclein'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import rrOperation from '@crud/RR.operation'
import crudSchBaseTask from '@/views/wms/sch/task/task'
import crudPoint from '@/views/wms/sch/point/schBasePoint'
const defaultForm = {
storagevehicle_code: null,
point_code: null,
setct_code: null
}
export default {
name: 'VehicleIn',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['SECT_CODE'],
cruds() {
return CRUD({
title: '空载具入库',
url: 'api/vehicleIn',
optShow: {
add: true,
edit: false,
del: false,
download: false,
reset: true
},
idField: 'task_id',
sort: 'task_id,desc',
crudMethod: { ...crudVehicleIn }
})
},
data() {
return {
permission: {},
taskStatusList: [],
pointlist: [],
rules: {
storagevehicle_code: [
{ required: true, message: '载具不能为空', trigger: 'blur' }
],
point_code: [
{ required: true, message: '点位不能为空', trigger: 'blur' }
],
sect_code: [
{ required: true, message: '库区不能为空', trigger: 'blur' }
]
}
}
},
created() {
this.getTaskStatusList()
const area_type = 'INOUR01'
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointlist = res
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
getTaskStatusList() {
crudSchBaseTask.getTaskStatusList().then(res => {
this.taskStatusList = res.content
})
},
getStatusName(code) {
const status = this.taskStatusList.find(item => item.code === code)
return status ? status.name : '-'
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/vehicleIn',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/vehicleIn/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/vehicleIn',
method: 'put',
data
})
}
export default { add, edit, del }

View File

@@ -0,0 +1,188 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="载具编码">
<el-input
v-model="query.storagevehicle_code"
clearable
size="mini"
placeholder="载具编码"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<rrOperation />
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="150px">
<el-form-item label="出库点位" prop="point_code">
<el-select
v-model="form.point_code"
clearable
placeholder="请选择"
class="filter-item"
style="width: 200px;"
>
<el-option
v-for="item in pointlist"
:key="item.point_code"
:label="item.point_name"
:value="item.point_code"
/>
</el-select>
</el-form-item>
<el-form-item label="出库库区" prop="sect_code">
<el-select
v-model="form.sect_code"
size="mini"
style="width: 200px;"
class="filter-item"
>
<el-option
v-for="item in dict.SECT_CODE"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" />
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')">
<template slot-scope="scope">
{{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
</template>
</el-table-column>
<el-table-column prop="task_status" label="任务状态" :min-width="flexWidth('task_status',crud.data,'任务状态')">
<template slot-scope="scope">
{{ getStatusName(scope.row.task_status) }}
</template>
</el-table-column>
<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="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>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudVehicleOut from '@/views/wms/st/vehicleout/vehicleOut'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import rrOperation from '@crud/RR.operation'
import crudSchBaseTask from '@/views/wms/sch/task/task'
import crudPoint from '@/views/wms/sch/point/schBasePoint'
const defaultForm = {
point_code: null,
setct_code: null
}
export default {
name: 'VehicleOut',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['SECT_CODE'],
cruds() {
return CRUD({
title: '空载具出库',
url: 'api/vehicleOut',
optShow: {
add: true,
edit: false,
del: false,
download: false,
reset: true
},
idField: 'task_id',
sort: 'task_id,desc',
crudMethod: { ...crudVehicleOut }
})
},
data() {
return {
permission: {},
taskStatusList: [],
pointlist: [],
rules: {
storagevehicle_code: [
{ required: true, message: '载具不能为空', trigger: 'blur' }
],
point_code: [
{ required: true, message: '点位不能为空', trigger: 'blur' }
],
sect_code: [
{ required: true, message: '库区不能为空', trigger: 'blur' }
]
}
}
},
created() {
this.getTaskStatusList()
const area_type = 'INOUR01'
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointlist = res
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
getTaskStatusList() {
crudSchBaseTask.getTaskStatusList().then(res => {
this.taskStatusList = res.content
})
},
getStatusName(code) {
const status = this.taskStatusList.find(item => item.code === code)
return status ? status.name : '-'
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/vehicleOut',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/vehicleOut/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/vehicleOut',
method: 'put',
data
})
}
export default { add, edit, del }

View File

@@ -89,7 +89,6 @@
<el-table-column prop="storagevehicle_code" label="载具号" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
<el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="prison_area" label="监区" :min-width="100" />
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="insert_time" label="入库时间" :min-width="flexWidth('insert_time',crud.data,'入库时间')" />