add: 工单增加领料人

This commit is contained in:
2026-01-12 14:04:35 +08:00
parent 9f21f36944
commit c9c5fbf80c
8 changed files with 166 additions and 3 deletions

View File

@@ -82,4 +82,11 @@ public class BomCallMaterialController {
return new ResponseEntity<>(iPdmBomCallMaterialService.queryMaterialBom(whereJson), HttpStatus.OK); return new ResponseEntity<>(iPdmBomCallMaterialService.queryMaterialBom(whereJson), HttpStatus.OK);
} }
@PostMapping("/receiveConfirm")
@Log("添加领料人")
public ResponseEntity<Object> receiveConfirm(@RequestBody PdmBomCallMaterial dao) {
iPdmBomCallMaterialService.receiveConfirm(dao);
return new ResponseEntity<>(HttpStatus.CREATED);
}
} }

View File

@@ -88,4 +88,10 @@ public interface IPdmBomCallMaterialService extends IService<PdmBomCallMaterial>
* @return List<PdmBomCallMaterial> * @return List<PdmBomCallMaterial>
*/ */
List<PdmBomCallMaterial> queryMaterialBom(JSONObject whereJson); List<PdmBomCallMaterial> queryMaterialBom(JSONObject whereJson);
/**
* 添加领导人
* @param dao 实体类
*/
void receiveConfirm(PdmBomCallMaterial dao);
} }

View File

@@ -115,4 +115,9 @@ public class PdmBomCallMaterial implements Serializable {
*/ */
private String point_code; private String point_code;
/**
* 领料人
*/
private String receive_name;
} }

View File

@@ -166,4 +166,10 @@ public class PdmBomCallMaterialServiceImpl extends ServiceImpl<PdmBomCallMateria
.orderByDesc(PdmBomCallMaterial::getReal_weigh_qty) .orderByDesc(PdmBomCallMaterial::getReal_weigh_qty)
); );
} }
@Override
@Transactional
public void receiveConfirm(PdmBomCallMaterial dao) {
this.updateById(dao);
}
} }

View File

@@ -266,7 +266,7 @@ export default {
produce_time: new Date(), produce_time: new Date(),
execution_stand: null, execution_stand: null,
bake_num: 0, bake_num: 0,
quality_type: '1', quality_type: '2',
box_type: null, box_type: null,
create_id: null, create_id: null,
create_name: null, create_name: null,

View File

@@ -0,0 +1,111 @@
<template>
<el-dialog
title="添加领料人"
append-to-body
:visible.sync="dialogVisible"
:before-close="handleClose"
width="600px"
destroy-on-close
@close="close"
>
<el-form ref="form2" :model="formMst" :rules="rules" size="mini" label-width="110px">
<el-row>
<el-col :span="8">
<el-form-item label="领料人" prop="receive_name">
<el-input v-model="formMst.receive_name" style="width: 220px;" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="24" style="padding-top: 20px">
<el-col :span="16" style="border: 1px solid white">
<span />
</el-col>
<el-col :span="8">
<span>
<el-button icon="el-icon-check" size="mini" type="primary" @click="receiveConfirm">保存</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 crudCallMaterial from '@/views/wms/pdm/callmaterial/callmaterial'
export default {
name: 'ReceivtDialog',
mixins: [crud()],
dicts: [],
props: {
dialogShow: {
type: Boolean,
default: false
},
receiveParam: {
type: Object,
default: null
}
},
data() {
return {
formMst: {},
dialogVisible: false
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
}
},
receiveParam: {
handler(newValue, oldValue) {
this.formMst = newValue
}
}
},
methods: {
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done()
})
.catch(_ => {
})
},
close() {
this.$refs['form2'].resetFields()
this.$emit('update:dialogShow', false)
this.crud.toQuery()
},
receiveConfirm() {
crudCallMaterial.receiveConfirm(this.formMst).then(res => {
this.$refs['form2'].resetFields()
this.$emit('update:dialogShow', false)
this.crud.toQuery()
})
}
}
}
</script>
<style>
.crud-opts2 .crud-opts-right2 {
margin-left: auto;
padding: 4px 4px;
}
.input-with-select {
background-color: #fff;
}
</style>

View File

@@ -48,4 +48,12 @@ export function queryMaterialBom(data) {
}) })
} }
export default { add, edit, del, confirm, startBom, queryMaterialBom } export function receiveConfirm(data) {
return request({
url: 'api/bomCallMaterial/receiveConfirm',
method: 'post',
data
})
}
export default { add, edit, del, confirm, startBom, queryMaterialBom, receiveConfirm }

View File

@@ -96,6 +96,17 @@
<rrOperation /> <rrOperation />
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'--> <!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission"> <crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
:disabled="crud.selections.length !== 1"
@click="openReceive"
>
填写领料人
</el-button>
<el-button <el-button
slot="right" slot="right"
class="filter-item" class="filter-item"
@@ -268,6 +279,7 @@
<el-table-column prop="real_qty" label="实际叫料重量" :formatter="crud.formatNum3" :min-width="100" /> <el-table-column prop="real_qty" label="实际叫料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="real_weigh_qty" label="实际用料重量" :formatter="crud.formatNum3" :min-width="100" /> <el-table-column prop="real_weigh_qty" label="实际用料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="qty_unit_name" label="单位" :min-width="flexWidth('qty_unit_name',crud.data,'单位')" /> <el-table-column prop="qty_unit_name" label="单位" :min-width="flexWidth('qty_unit_name',crud.data,'单位')" />
<el-table-column prop="receive_name" label="领料人" :min-width="flexWidth('receive_name',crud.data,'领料人')" />
<el-table-column prop="point_code" label="出库点位" :min-width="flexWidth('point_code',crud.data,'出库点位')" /> <el-table-column prop="point_code" label="出库点位" :min-width="flexWidth('point_code',crud.data,'出库点位')" />
<el-table-column prop="create_name" label="叫料人" :min-width="flexWidth('create_name',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="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
@@ -294,12 +306,14 @@
<pagination /> <pagination />
</div> </div>
<ViewDialog :dialog-show.sync="ViewDialog" :open-param="openParam" /> <ViewDialog :dialog-show.sync="ViewDialog" :open-param="openParam" />
<ReceivtDialog :dialog-show.sync="receiveDialog" :receive-param="receiveParam"/>
</div> </div>
</template> </template>
<script> <script>
import crudCallMaterial from '@/views/wms/pdm/callmaterial/callmaterial' import crudCallMaterial from '@/views/wms/pdm/callmaterial/callmaterial'
import ViewDialog from '@/views/wms/pdm/callmaterial/ViewDialog' import ViewDialog from '@/views/wms/pdm/callmaterial/ViewDialog'
import ReceivtDialog from '@/views/wms/pdm/callmaterial/ReceivtDialog'
import CRUD, { crud, form, header, presenter } from '@crud/crud' import CRUD, { crud, form, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation' import udOperation from '@crud/UD.operation'
@@ -329,7 +343,7 @@ const defaultForm = {
} }
export default { export default {
name: 'CallMaterial', name: 'CallMaterial',
components: { pagination, crudOperation, rrOperation, udOperation, ViewDialog }, components: { pagination, crudOperation, rrOperation, udOperation, ViewDialog, ReceivtDialog },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典 // 数据字典
dicts: ['BOM_STATUS', 'BOM_TYPE'], dicts: ['BOM_STATUS', 'BOM_TYPE'],
@@ -353,6 +367,8 @@ export default {
return { return {
ViewDialog: false, ViewDialog: false,
openParam: null, openParam: null,
receiveParam: null,
receiveDialog: false,
permission: {}, permission: {},
materList: [], materList: [],
deviceList: [], deviceList: [],
@@ -472,6 +488,10 @@ export default {
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery() this.crud.toQuery()
}) })
},
openReceive() {
this.receiveParam = this.$refs.table.selection[0]
this.receiveDialog = true
} }
} }
} }