add: 新增pc端组盘

This commit is contained in:
2023-04-17 10:55:07 +08:00
parent b19f4b7f37
commit b4d9d48170
13 changed files with 1346 additions and 0 deletions

View File

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

View File

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

View File

@@ -0,0 +1,175 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 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="80px">
<el-form-item label="物料编码" prop="material_code">
<el-input v-model="form.material_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="物料名称">
<el-input v-model="form.material_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="订单编号" prop="order_number">
<el-input v-model="form.order_number" style="width: 370px;" />
</el-form-item>
<el-form-item label="客户名称" prop="customer_name">
<el-input v-model="form.customer_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="产品名称" prop="product_name">
<el-input v-model="form.product_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="产品牌号" prop="product_grade">
<el-input v-model="form.product_grade" style="width: 370px;" />
</el-form-item>
<el-form-item label="砖型" prop="brick_type">
<el-input v-model="form.brick_type" style="width: 370px;" />
</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 type="selection" width="55" />
<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="order_number"
label="订单编号"
:min-width="flexWidth('order_number',crud.data,'订单编号')"
/>
<el-table-column
prop="customer_name"
label="客户名称"
:min-width="flexWidth('customer_name',crud.data,'客户名称')"
/>
<el-table-column
prop="product_name"
label="产品名称"
:min-width="flexWidth('product_name',crud.data,'产品名称')"
/>
<el-table-column
prop="product_grade"
label="产品牌号"
:min-width="flexWidth('product_grade',crud.data,'产品牌号')"
/>
<el-table-column prop="brick_type" label="砖型" :min-width="flexWidth('brick_type',crud.data,'砖型')" />
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
<el-table-column prop="update_optname" label="修改人" :min-width="flexWidth('update_optname',crud.data,'创建人')" />
<el-table-column prop="update_time" label="最后修改时间" :min-width="flexWidth('update_time',crud.data,'创建人')" />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudMaterialDetail from '@/api/wms/basedata/materialDetail'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = {
material_id: null,
material_code: null,
material_name: null,
order_number: null,
customer_name: null,
product_name: null,
product_grade: null,
brick_type: null,
create_id: null,
create_name: null,
create_time: null,
update_optid: null,
update_optname: null,
update_time: null
}
export default {
name: 'MaterialDetail',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '物料详情',
url: 'api/materialDetail',
idField: 'material_id',
sort: 'material_id,desc',
crudMethod: { ...crudMaterialDetail }
})
},
data() {
return {
permission: {},
rules: {
material_code: [
{ required: true, message: '物料编码不能为空', trigger: 'blur' }
],
order_number: [
{ required: true, message: '订单编号不能为空', trigger: 'blur' }
],
customer_name: [
{ required: true, message: '客户名称不能为空', trigger: 'blur' }
],
product_name: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' }
],
product_grade: [
{ required: true, message: '产品牌号不能为空', trigger: 'blur' }
],
brick_type: [
{ required: true, message: '砖型不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,277 @@
<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="90px"
label-suffix=":"
>
<el-form-item label="载具编码">
<el-input
v-model="query.vehicle_code"
clearable
size="mini"
placeholder="请输入载具编码"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 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="80px">
<el-form-item label="载具类型" prop="vehicle_type">
<el-select
v-model="form.vehicle_type"
size="mini"
placeholder="载具类型"
class="filter-item"
style="width: 370px"
clearable
>
<el-option
v-for="item in dict.vehicle_type"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="数量" prop="qty">
<el-input v-model="form.qty" style="width: 370px;" />
</el-form-item>
<el-form-item label="重量" prop="weight">
<el-input v-model="form.weight" style="width: 370px;" />
</el-form-item>
<el-form-item label="点位编码">
<el-input v-model="form.point_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="是否满垛" prop="is_full">
<el-radio v-model="form.is_full" label="0">否</el-radio>
<el-radio v-model="form.is_full" label="1">是</el-radio>
</el-form-item>
<el-form-item label="是否烧制">
<el-radio v-model="form.is_fire" label="0">否</el-radio>
<el-radio v-model="form.is_fire" label="1">是</el-radio>
</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 type="selection" width="55" />
<el-table-column
prop="vehicle_type"
label="载具类型"
:min-width="flexWidth('vehicle_type',crud.data,'载具类型')">
<template slot-scope="scope">
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
</template>
</el-table-column>
<el-table-column
prop="vehicle_code"
label="载具编码"
:min-width="flexWidth('vehicle_code',crud.data,'载具编码')"
/>
<el-table-column prop="qty" label="数量" :min-width="flexWidth('qty',crud.data,'数量')">
<template slot-scope="scope">
{{scope.row.qty}}/块
</template>
</el-table-column>
<el-table-column prop="weight" label="重量" :min-width="flexWidth('weight',crud.data,'重量')" />
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
<el-table-column prop="is_full" label="是否满垛" :min-width="flexWidth('is_full',crud.data,'是否满垛')" >
<template slot-scope="scope">
{{scope.row.is_full=='1'?'是':'否'}}
</template>
</el-table-column>
<el-table-column prop="is_fire" label="是否烧制" :min-width="flexWidth('is_fire',crud.data,'是否烧制')">
<template slot-scope="scope">
{{scope.row.is_fire=='1'?'是':'否'}}
</template>
</el-table-column>
<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_optname"
label="更新人"
:min-width="flexWidth('update_optname',crud.data,'更新人')"
/>
<el-table-column
prop="update_time"
label="更新时间"
:min-width="flexWidth('update_time',crud.data,'更新时间')"
/>
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudVehicleDetail from '@/api/wms/basedata/vehicleDetail'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = {
vd_id: null,
vehicle_type: null,
vehicle_code: null,
material_id: null,
qty: null,
weight: null,
is_full: '0',
workorder_id: null,
point_code: null,
tray_high: null,
crib_category: null,
palletX1_line: null,
palletY1_row: null,
palletA1_angle: null,
palletX2_line: null,
palletY2_row: null,
palletA2_angle: null,
palletX3_line: null,
palletY3_row: null,
palletA3_angle: null,
pressCribX1_line: null,
pressCribY1_row: null,
pressCribA1_angle: null,
pressCribX2_line: null,
pressCribY2_row: null,
pressCribA2_angle: null,
pressCribX3_line: null,
pressCribY3_row: null,
pressCribA3_angle: null,
Zoffset: null,
pallet_layerQty: null,
pressCrib_layerQty: null,
codeLayerX1_interval: null,
codeLayerY1_interval: null,
codeLayerX2_interval: null,
codeLayerY2_interval: null,
codeLayerX3_interval: null,
codeLayerY3_interval: null,
codeLayerX1_offset: null,
codeLayerY1_offset: null,
codeLayerX2_offset: null,
codeLayerY2_offset: null,
codeLayerX3_offset: null,
codeLayerY3_offset: null,
pressLayerX1_interval: null,
pressLayerY1_interval: null,
pressLayerX2_interval: null,
pressLayerY2_interval: null,
pressLayerX3_interval: null,
pressLayerY3_interval: null,
pressLayerX1_offset: null,
pressLayerY1_offset: null,
pressLayerX2_offset: null,
pressLayerY2_offset: null,
pressLayerX3_offset: null,
pressLayerY3_offset: null,
tool_coordinate: null,
create_id: null,
create_name: null,
create_time: null,
update_optid: null,
update_optname: null,
update_time: null,
is_delete: null,
is_fire: '0',
is_in_kiln: null
}
export default {
name: 'VehicleDetail',
dicts: ['vehicle_type'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '组盘信息',
url: 'api/vehicleDetail',
idField: 'vd_id',
sort: 'vd_id,desc',
crudMethod: { ...crudVehicleDetail }
})
},
data() {
return {
permission: {},
rules: {
vehicle_type: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
vehicle_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
qty: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
weight: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
is_full: [
{ required: true, message: '不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>