rev:需求变更开发
This commit is contained in:
438
wms/nladmin-ui/src/views/wms/basedata/group/AddReceiveDtl.vue
Normal file
438
wms/nladmin-ui/src/views/wms/basedata/group/AddReceiveDtl.vue
Normal file
@@ -0,0 +1,438 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="退料组盘"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
:before-close="handleClose"
|
||||
width="1200px"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-form ref="form2" :model="formMst" :rules="rules" size="mini" label-width="110px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料编码" prop="material_code">
|
||||
<el-select
|
||||
v-model="formMst.material_code"
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
style="width: 220px"
|
||||
class="filter-item"
|
||||
filterable
|
||||
@change="queryMater"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in materList"
|
||||
:key="item.material_code"
|
||||
:label="item.material_name"
|
||||
:value="item.material_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料名称" prop="material_name">
|
||||
<el-input v-model="formMst.material_name" disabled style="width: 220px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料规格" prop="material_spec">
|
||||
<el-input v-model="formMst.material_spec" disabled style="width: 220px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="载具编码" prop="storagevehicle_code">
|
||||
<el-input v-model="formMst.storagevehicle_code" style="width: 220px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="焊材批号" prop="pcsn">
|
||||
<el-select
|
||||
v-model="formMst.pcsn"
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
style="width: 220px"
|
||||
class="filter-item"
|
||||
filterable
|
||||
allow-create
|
||||
>
|
||||
<el-option
|
||||
v-for="item in pcsnList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料重量" prop="qty">
|
||||
<el-input-number v-model="formMst.qty" :precision="2" :controls="false" :min="1" style="width: 220px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="供应商" prop="supp_code">
|
||||
<el-select
|
||||
v-model="formMst.supp_code"
|
||||
size="mini"
|
||||
style="width: 220px;"
|
||||
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="formMst.quality_time" type="date" placeholder="选择日期" style="width: 220px" 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="formMst.produce_time" type="date" placeholder="选择日期" style="width: 220px" 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="formMst.bake_num" :precision="0" :controls="false" :min="0" :max="3" style="width: 220px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="品质类型" prop="quality_type">
|
||||
<el-select
|
||||
v-model="formMst.quality_type"
|
||||
size="mini"
|
||||
style="width: 220px;"
|
||||
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="formMst.box_type"
|
||||
size="mini"
|
||||
style="width: 220px;"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.storagevehicle_type"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联工单" prop="bom_list">
|
||||
<el-select
|
||||
v-model="formMst.bom_list"
|
||||
multiple
|
||||
size="mini"
|
||||
style="width: 280px;"
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in bomList"
|
||||
:label="item.bom_code"
|
||||
:value="item.bom_code"
|
||||
>
|
||||
<span style="float: left">{{ item.bom_code }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{'可退重量:'+ item.real_weigh_qty }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="机台编码" prop="device_code">
|
||||
<el-select
|
||||
v-model="formMst.device_code"
|
||||
size="mini"
|
||||
style="width: 220px;"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deviceList"
|
||||
:key="item.device_code"
|
||||
:label="item.device_code"
|
||||
:value="item.device_code"
|
||||
/>
|
||||
</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="formMst.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">备 注:</label>
|
||||
<el-input v-model="formMst.remark" style="width: 380px;" rows="2" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="24" style="padding-top: 20px">
|
||||
<el-col :span="20" style="border: 1px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="outReceiveGroup">保存</el-button>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="18" style="border: 10px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import crudGroup from '@/views/wms/basedata/group/group'
|
||||
import crudDeviceinfo from '@/views/wms/basedata/deviceInfo/deviceinfo'
|
||||
import crudCallMaterial from '@/views/wms/pdm/callmaterial/callmaterial'
|
||||
|
||||
export default {
|
||||
name: 'WeighDialog',
|
||||
mixins: [crud()],
|
||||
dicts: ['storagevehicle_type', 'QUALITY_TYPE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formMst: {
|
||||
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,
|
||||
supp_code: null,
|
||||
quality_time: null,
|
||||
produce_time: new Date(),
|
||||
execution_stand: null,
|
||||
bake_num: 0,
|
||||
quality_type: '1',
|
||||
box_type: null,
|
||||
create_id: null,
|
||||
create_name: null,
|
||||
create_time: null,
|
||||
material_spec: null,
|
||||
material_name: null,
|
||||
device_code: null,
|
||||
bom_list: []
|
||||
},
|
||||
suppList: [],
|
||||
pcsnList: [],
|
||||
materList: [],
|
||||
deviceList: [],
|
||||
bomList: [],
|
||||
current: null,
|
||||
dialogVisible: false,
|
||||
rules: {
|
||||
material_code: [
|
||||
{ required: true, message: '物料不能为空', trigger: 'blur' }
|
||||
],
|
||||
storagevehicle_code: [
|
||||
{ required: true, message: '载具不能为空', trigger: 'blur' }
|
||||
],
|
||||
pcsn: [
|
||||
{ required: true, message: '批次不能为空', trigger: 'blur' }
|
||||
],
|
||||
qty: [
|
||||
{ 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' }
|
||||
],
|
||||
bom_list: [
|
||||
{ required: true, message: '关联工单不能为空', trigger: 'blur' }
|
||||
],
|
||||
bake_num: [
|
||||
{ required: true, message: '烘干次数不能为空', trigger: 'blur' }
|
||||
],
|
||||
quality_type: [
|
||||
{ required: true, message: '品质类型不能为空', trigger: 'blur' }
|
||||
],
|
||||
device_code: [
|
||||
{ required: true, message: '机台编码不能为空', trigger: 'blur' }
|
||||
],
|
||||
box_type: [
|
||||
{ required: true, message: '料箱类型不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
this.formMst.storagevehicle_code = ''
|
||||
this.formMst.qty = 1
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
.catch(_ => {
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$refs['form2'].resetFields()
|
||||
this.$emit('update:dialogShow', false)
|
||||
this.crud.toQuery()
|
||||
},
|
||||
open() {
|
||||
crudGroup.querySupp({}).then(row => {
|
||||
this.suppList = row
|
||||
})
|
||||
crudGroup.queryMaterList({}).then(res => {
|
||||
this.materList = res
|
||||
})
|
||||
crudGroup.getPcsn({}).then(res => {
|
||||
this.pcsnList = res.data
|
||||
})
|
||||
crudDeviceinfo.getDevice({}).then(res => {
|
||||
this.deviceList = res
|
||||
})
|
||||
},
|
||||
outReceiveGroup() {
|
||||
if (!this.formMst.material_id) {
|
||||
this.crud.notify('物料不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.storagevehicle_code) {
|
||||
this.crud.notify('载具不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.pcsn) {
|
||||
this.crud.notify('批号不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.supp_code) {
|
||||
this.crud.notify('供应商不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.quality_time) {
|
||||
this.crud.notify('有效日期不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.produce_time) {
|
||||
this.crud.notify('生产日期不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.box_type) {
|
||||
this.crud.notify('料箱类型不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (this.formMst.bom_list.length === 0) {
|
||||
this.crud.notify('关联工单不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.device_code) {
|
||||
this.crud.notify('机台编码不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
crudGroup.outReceiveGroup(this.formMst).then(row => {
|
||||
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.close()
|
||||
this.crud.toQuery()
|
||||
})
|
||||
},
|
||||
queryMater(value) {
|
||||
crudGroup.queryMater({ 'material_code': value }).then(row => {
|
||||
this.formMst.material_spec = row.material_spec
|
||||
this.formMst.material_name = row.material_name
|
||||
this.formMst.material_id = row.material_id
|
||||
// 查询工单信息
|
||||
crudCallMaterial.queryMaterialBom({ 'material_id': this.formMst.material_id }).then(res => {
|
||||
if (res.length === 0) {
|
||||
this.formMst.bom_list = []
|
||||
}
|
||||
this.bomList = res
|
||||
})
|
||||
}).catch(() => {
|
||||
this.formMst.material_spec = ''
|
||||
this.formMst.material_name = ''
|
||||
this.formMst.material_code = ''
|
||||
this.formMst.material_id = ''
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.crud-opts2 .crud-opts-right2 {
|
||||
margin-left: auto;
|
||||
padding: 4px 4px;
|
||||
}
|
||||
.input-with-select {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -88,4 +88,13 @@ export function getPcsn(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, queryMater, queryMaterList, checkVehicle, querySupp, copySave, printDelete, excelImport, getPcsn }
|
||||
export function outReceiveGroup(data) {
|
||||
return request({
|
||||
url: 'api/group/outReceiveGroup',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, queryMater, queryMaterList, checkVehicle,
|
||||
querySupp, copySave, printDelete, excelImport, getPcsn, outReceiveGroup }
|
||||
|
||||
@@ -70,6 +70,16 @@
|
||||
>
|
||||
复制新增
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="openReceiveDialog = true"
|
||||
>
|
||||
退料组盘
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
@@ -355,12 +365,14 @@
|
||||
</div>
|
||||
<AddDtl :dialog-show.sync="openAddDtlDialog" :open-param="openParam" />
|
||||
<UploadDialog :dialog-show.sync="viewShow" />
|
||||
<AddReceiveDtl :dialog-show.sync="openReceiveDialog" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudGroup from '@/views/wms/basedata/group/group'
|
||||
import AddDtl from '@/views/wms/basedata/group/AddDtl'
|
||||
import AddReceiveDtl from '@/views/wms/basedata/group/AddReceiveDtl'
|
||||
import UploadDialog from '@/views/wms/basedata/group/UploadDialog'
|
||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
@@ -391,11 +403,12 @@ const defaultForm = {
|
||||
create_name: null,
|
||||
create_time: null,
|
||||
material_spec: null,
|
||||
bom_list: null,
|
||||
material_name: null
|
||||
}
|
||||
export default {
|
||||
name: 'Group',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, AddDtl, UploadDialog },
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, AddDtl, UploadDialog, AddReceiveDtl },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 数据字典
|
||||
dicts: ['is_used', 'GROUP_STATUS', 'storagevehicle_type', 'QUALITY_TYPE'],
|
||||
@@ -420,6 +433,7 @@ export default {
|
||||
permission: {},
|
||||
openParam: {},
|
||||
openAddDtlDialog: false,
|
||||
openReceiveDialog: false,
|
||||
printVisible: false,
|
||||
viewShow: false,
|
||||
suppList: [],
|
||||
@@ -470,6 +484,12 @@ export default {
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
// 编辑之前
|
||||
[CRUD.HOOK.beforeToEdit]() {
|
||||
if (this.form.bom_list !== '') {
|
||||
this.form.bom_list = JSON.parse(this.form.bom_list)
|
||||
}
|
||||
},
|
||||
queryMater(value) {
|
||||
crudGroup.queryMater({ 'material_code': value }).then(row => {
|
||||
this.form.material_spec = row.material_spec
|
||||
|
||||
@@ -40,4 +40,12 @@ export function startBom(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, confirm, startBom }
|
||||
export function queryMaterialBom(data) {
|
||||
return request({
|
||||
url: 'api/bomCallMaterial/queryMaterialBom',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, confirm, startBom, queryMaterialBom }
|
||||
|
||||
@@ -145,6 +145,7 @@
|
||||
<el-table-column prop="out_qty" label="出库重量" :formatter="crud.formatNum3" :min-width="100" />
|
||||
<el-table-column prop="weigh_qty" label="称重重量" :formatter="crud.formatNum3" :min-width="100" />
|
||||
<el-table-column prop="device_code" label="机台编码" :min-width="flexWidth('device_code',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,'叫料时间')" />
|
||||
<el-table-column prop="confirm_time" label="结束时间" :min-width="flexWidth('confirm_time',crud.data,'结束时间')" />
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="直接退料"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
:before-close="handleClose"
|
||||
width="600px"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-form ref="form2" :model="formMst" :rules="rules" size="mini" label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="退料载具:">
|
||||
<el-select
|
||||
v-model="formMst.vehicle_code"
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
style="width: 200px"
|
||||
class="filter-item"
|
||||
filterable
|
||||
allow-create
|
||||
>
|
||||
<el-option
|
||||
v-for="item in vehicleList"
|
||||
:key="item.vehicle_code"
|
||||
:label="item.vehicle_code"
|
||||
:value="item.vehicle_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="14" style="border: 1px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="confirmReceive">确认</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="18" style="border: 10px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
|
||||
|
||||
export default {
|
||||
name: 'ConfirmReceiveDialog',
|
||||
mixins: [crud()],
|
||||
dicts: [],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formMst: {
|
||||
},
|
||||
vehicleList: [],
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
.catch(_ => {
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$refs['form2'].resetFields()
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
confirmReceive() {
|
||||
crudSchBasePoint.confirmReceive(this.formMst).then(res => {
|
||||
this.crud.toQuery()
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.formMst = {}
|
||||
this.close()
|
||||
})
|
||||
},
|
||||
open() {
|
||||
crudSchBasePoint.getVehicleCode().then(res => {
|
||||
this.vehicleList = res
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.crud-opts2 {
|
||||
padding: 0 0;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.crud-opts2 .crud-opts-right2 {
|
||||
margin-left: auto;
|
||||
padding: 4px 4px;
|
||||
}
|
||||
.input-with-select {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="二次退料"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
:before-close="handleClose"
|
||||
width="600px"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-form ref="form2" :model="formMst" :rules="rules" size="mini" label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="退料载具:">
|
||||
<el-select
|
||||
v-model="formMst.vehicle_code"
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
style="width: 200px"
|
||||
class="filter-item"
|
||||
filterable
|
||||
allow-create
|
||||
>
|
||||
<el-option
|
||||
v-for="item in vehicleList"
|
||||
:key="item.vehicle_code"
|
||||
:label="item.vehicle_code"
|
||||
:value="item.vehicle_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="14" style="border: 1px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="confirmReceive">确认</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="18" style="border: 10px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
|
||||
|
||||
export default {
|
||||
name: 'ConfirmReceiveDialog',
|
||||
mixins: [crud()],
|
||||
dicts: [],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formMst: {
|
||||
},
|
||||
vehicleList: [],
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
.catch(_ => {
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$refs['form2'].resetFields()
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
confirmReceive() {
|
||||
crudSchBasePoint.confirmTwoReceive(this.formMst).then(res => {
|
||||
this.crud.toQuery()
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.formMst = {}
|
||||
this.close()
|
||||
})
|
||||
},
|
||||
open() {
|
||||
crudSchBasePoint.getTwoVehicleCode().then(res => {
|
||||
this.vehicleList = res
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.crud-opts2 {
|
||||
padding: 0 0;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.crud-opts2 .crud-opts-right2 {
|
||||
margin-left: auto;
|
||||
padding: 4px 4px;
|
||||
}
|
||||
.input-with-select {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -53,6 +53,26 @@
|
||||
>
|
||||
确认放货
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="reveiveDialog = true"
|
||||
>
|
||||
直接退料
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="twoReveiveDialog = true"
|
||||
>
|
||||
二次退料
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
@@ -82,12 +102,16 @@
|
||||
<pagination />
|
||||
</div>
|
||||
<PutConfirmDialog :dialog-show.sync="openParamDialog" :open-param="openParam" />
|
||||
<ConfirmReceiveDialog :dialog-show.sync="reveiveDialog" />
|
||||
<TwoReceiveDialog :dialog-show.sync="twoReveiveDialog" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
|
||||
import PutConfirmDialog from '@/views/wms/sch/pickandplace/PutConfirmDialog'
|
||||
import ConfirmReceiveDialog from '@/views/wms/sch/pickandplace/ConfirmReceiveDialog'
|
||||
import TwoReceiveDialog from '@/views/wms/sch/pickandplace/TwoReceiveDialog'
|
||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
@@ -98,7 +122,7 @@ const defaultForm = {
|
||||
}
|
||||
export default {
|
||||
name: 'PickAndPlace',
|
||||
components: { pagination, crudOperation, rrOperation, PutConfirmDialog },
|
||||
components: { pagination, crudOperation, rrOperation, PutConfirmDialog, ConfirmReceiveDialog, TwoReceiveDialog },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -118,6 +142,8 @@ export default {
|
||||
return {
|
||||
openParam: null,
|
||||
openParamDialog: false,
|
||||
reveiveDialog: false,
|
||||
twoReveiveDialog: false,
|
||||
permission: {},
|
||||
rules: {
|
||||
}
|
||||
|
||||
@@ -88,5 +88,39 @@ export function cleanMaterial(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function getVehicleCode(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/getVehicleCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function confirmReceive(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/confirmReceive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function getTwoVehicleCode(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/getTwoVehicleCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function confirmTwoReceive(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/confirmTwoReceive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, changeUsed, getPointList, changeLock,
|
||||
getConfirm, putConfirm, getPointDtl, cleanVehicle, cleanMaterial }
|
||||
getConfirm, putConfirm, getPointDtl, cleanVehicle, cleanMaterial, getVehicleCode,
|
||||
confirmReceive, getTwoVehicleCode, confirmTwoReceive
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="载具编码" prop="vehicle_code">
|
||||
<el-input v-model="form.vehicle_code" disabled style="width: 200px;">
|
||||
<el-button slot="append" icon="el-icon-search" @click="queryIvt()" />
|
||||
<el-button slot="append" icon="el-icon-search" @click="queryIvt()" style="color: #ff0000" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="呼叫退料空料箱"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
:before-close="handleClose"
|
||||
width="500px"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-form ref="form2" :model="formMst" :rules="rules" size="mini" label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="出库点位" prop="point_code">
|
||||
<el-select
|
||||
v-model="formMst.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="formMst.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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="14" style="border: 1px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="confirmOutEmp">确认</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="18" style="border: 10px solid white">
|
||||
<span />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import crudPoint from '@/views/wms/sch/point/schBasePoint'
|
||||
import crudVehicleOut from '@/views/wms/st/vehicleout/vehicleOut'
|
||||
|
||||
export default {
|
||||
name: 'ConfirmReceiveDialog',
|
||||
mixins: [crud()],
|
||||
dicts: ['SECT_CODE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formMst: {
|
||||
},
|
||||
pointlist: [],
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
.catch(_ => {
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$refs['form2'].resetFields()
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
open() {
|
||||
const area_type = 'INOUR01'
|
||||
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
|
||||
this.pointlist = res
|
||||
})
|
||||
},
|
||||
confirmOutEmp() {
|
||||
if (!this.formMst.point_code) {
|
||||
this.crud.notify('出库点位不能为空!', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
return
|
||||
}
|
||||
if (!this.formMst.sect_code) {
|
||||
this.crud.notify('出库库区不能为空!', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
return
|
||||
}
|
||||
crudVehicleOut.confirmOutEmp(this.formMst).then(res => {
|
||||
this.crud.toQuery()
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.close()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.crud-opts2 {
|
||||
padding: 0 0;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.crud-opts2 .crud-opts-right2 {
|
||||
margin-left: auto;
|
||||
padding: 4px 4px;
|
||||
}
|
||||
.input-with-select {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -24,7 +24,18 @@
|
||||
</div>
|
||||
<rrOperation />
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" />
|
||||
<crudOperation :permission="permission">
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="CallOutReceiveDialog = true"
|
||||
>
|
||||
呼叫退料空料箱
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:before-close="crud.cancelCU"
|
||||
@@ -100,11 +111,13 @@
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
</div>
|
||||
<CallOutReceiveDialog :dialog-show.sync="CallOutReceiveDialog" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudVehicleOut from '@/views/wms/st/vehicleout/vehicleOut'
|
||||
import CallOutReceiveDialog from '@/views/wms/st/vehicleout/CallOutReceiveDialog'
|
||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
@@ -119,7 +132,7 @@ const defaultForm = {
|
||||
}
|
||||
export default {
|
||||
name: 'VehicleOut',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, CallOutReceiveDialog },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 数据字典
|
||||
dicts: ['SECT_CODE'],
|
||||
@@ -142,6 +155,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
permission: {},
|
||||
CallOutReceiveDialog: false,
|
||||
taskStatusList: [],
|
||||
pointlist: [],
|
||||
rules: {
|
||||
|
||||
@@ -24,4 +24,12 @@ export function edit(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del }
|
||||
export function confirmOutEmp(data) {
|
||||
return request({
|
||||
url: 'api/vehicleOut/confirmOutEmp',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, confirmOutEmp }
|
||||
|
||||
Reference in New Issue
Block a user