Files
wq-wms-java/nladmin-ui/src/views/wms/basedata/group/index.vue

229 lines
7.8 KiB
Vue
Raw Normal View History

2025-06-23 18:18:19 +08:00
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
2025-07-10 10:11:36 +08:00
<el-row>
<el-col :span="4">
物料查询
2025-06-23 18:18:19 +08:00
<el-input
v-model="query.material_code"
clearable
2025-07-10 10:11:36 +08:00
style="width: 150px"
2025-06-23 18:18:19 +08:00
size="mini"
placeholder="物料编码、名称"
@keyup.enter.native="crud.toQuery"
/>
2025-07-10 10:11:36 +08:00
</el-col>
<el-col :span="4">
批次查询
2025-06-23 18:18:19 +08:00
<el-input
v-model="query.pcsn"
clearable
2025-07-10 10:11:36 +08:00
style="width: 150px"
2025-06-23 18:18:19 +08:00
size="mini"
placeholder="批次"
@keyup.enter.native="crud.toQuery"
/>
2025-07-10 10:11:36 +08:00
</el-col>
<el-col :span="4">
载具编码
2025-06-23 18:18:19 +08:00
<el-input
v-model="query.storagevehicle_code"
clearable
2025-07-10 10:11:36 +08:00
style="width: 150px"
2025-06-23 18:18:19 +08:00
size="mini"
placeholder="载具编码"
@keyup.enter.native="crud.toQuery"
/>
2025-07-10 10:11:36 +08:00
</el-col>
<el-col :span="4">
组盘状态
2025-06-23 18:18:19 +08:00
<el-select
v-model="query.status"
clearable
2025-07-10 10:11:36 +08:00
style="width: 150px"
2025-06-23 18:18:19 +08:00
size="mini"
placeholder="状态"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.GROUP_STATUS"
:label="item.label"
:value="item.value"
/>
</el-select>
2025-07-10 10:11:36 +08:00
</el-col>
<el-col :span="4">
<rrOperation />
</el-col>
</el-row>
2025-06-23 18:18:19 +08:00
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
2025-07-10 10:11:36 +08:00
<!--新增表格-->
<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" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料名称" prop="material_name">
<el-input v-model="form.material_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规格" prop="material_spec">
<label slot="label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
<el-input v-model="form.material_spec" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="型号" prop="material_model">
<label slot="label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
<el-input v-model="form.material_model" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外部标识" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="静置时间" prop="standing_time">
<el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否启用" prop="is_used">
<el-radio v-model="form.is_used" label="0"></el-radio>
<el-radio v-model="form.is_used" label="1"></el-radio>
</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>
2025-06-23 18:18:19 +08:00
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="storagevehicle_code" label="载具编码" :min-width="flexWidth('storagevehicle_code',crud.data,'载具编码')" />
<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="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="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,'组盘时间')" />
<el-table-column
v-permission="['admin','Supplierbase:edit','Supplierbase:del']"
label="操作"
width="150px"
lign="center"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:is-visiable-edit="false"
:disabled-dle="scope.row.status === '02'"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudGroup from '@/views/wms/basedata/group/group'
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'
const defaultForm = {
group_id: null,
storagevehicle_code: null,
material_id: null,
pcsn: null,
qty_unit_id: null,
qty_unit_name: null,
qty: null,
remark: null,
status: null,
create_id: null,
create_name: null,
create_time: null,
ext_code: null,
ext_type: null
}
export default {
name: 'Group',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['is_used', 'GROUP_STATUS'],
cruds() {
return CRUD({
title: '组盘记录',
url: 'api/group',
optShow: {
2025-07-10 10:11:36 +08:00
add: true,
2025-06-23 18:18:19 +08:00
reset: true
},
idField: 'group_id',
sort: 'group_id,desc',
crudMethod: { ...crudGroup }
})
},
data() {
return {
permission: {},
classes: [],
rules: {
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
formattStatus(row) {
return this.dict.label.GROUP_STATUS[row.status]
}
}
}
</script>
<style scoped>
</style>