8-锡膏管理(前后端)
1.数据库设计
MOM_SOLDER_CABINET_OPERATION 锡膏柜操作记录
MOM_SOLDER_ENTER_CHECK 锡膏红胶来料质检
MOM_SOLDER_INVENTORY 锡膏红胶库存数据
MOM_SOLDER_INVENTORY_LOG 锡膏红胶出入库数据
MOM_SOLDER_MOVE_LOG 锡膏红胶的移库记录
2.锡膏红胶标贴打印
2.1 操作流程
- 用户进入界面后,系统自动获取当前工厂下打印模板及打印机填充到下拉框
- 在用户输入物料编码、批次、供应商及数量时,自动按照批次解析成生产日期
- 在用户点击打印时自动形成前端输入数量的条码调用打印机及打印模板执行打印
2.2 调用打印服务
传入参数,后端会调用函数解析好SFC,通过打印服务打印SFC
条码格式: 物料编码,唯一码,批次解析后的周期,供应商编码-批次
打印机标识:type字段为锡膏绑定
打印服务调用: 先会获取打印模板,然后获取打印设备,前端调用接口获取,传回参数到后端调用打印机
2.3 前端
采用这种方式绑定:
<!-- 打印模板 -->
<VantSelect
:rules="[{ required: true, message: '打印模板不能为空'}]"
:value.sync="printerTemplateId"
label="打印模板"
:options="printTemplateData"/>
3.锡膏红胶质检
3.1 操作流程
- 用户进入锡膏红胶来料质检主界面后,自动获取当前工厂三个月内的质检数据填充到表单中,支持按照查询条件查询数据,
- 支持用户手动发起新增质检,前端在进入质检执行界面后,调用接口填充待质检项,业务手动填入质检数据执行质检;
- 对页面中的质检数据,需能勾选单行后点击编辑按钮调用后端接口获取质检数据执行编辑,也可勾选多行执行删除;对页面表单中的文件,也支持点击查看对应文件预览及下载。
3.2 后端逻辑参考
三张主要的质检表:
MOM_CHECK_DATA 确认项主表(表头)
MOM_CHECK_DATA_ITEM 确认项子表(存数据的表) 通过UUID关联 CHECK_ID唯一标识
MOM_CHECK_ITEM 确认项模板数据
操作流程:
用户先在配置项进行配置,配置数据会保存到MOM_CHECK_ITEM中去,MOM_CHECK_ITEM会生成一份模板的数据(配置项只有一份),进行角色配置后,登陆某一角色的时候,会带出对应的MOM_CHECK_ITEM出来可以填。

用户填写一份质检数据后,首先会生成一条MOM_CHECK_DATA数据,其中MOM_CHECK_DATA通过UUID关联到MOM_CHECK_DATA_ITEM的UUID,MOM_CHECK_DATA_ITEM存的就是质检数据,通过CHECK_ID关联到MOM_CHECK_ITEM的模板。
数据表关系: 一条质检数据,对应多条质检项数据,质检项数据又跟质检模板关联
MOM_CHECK_DATA的status设置为:SolderPaste_Check,代表锡膏红胶专属
3.3 前端
前端参考solderpaste_enter_check.html和solderpaste_enter_check_add.html
3.3.1 新增质检
通过Layer.open方法跳转:
layer.open({
type: 2,
title: "新增质检",
closeBtn: 1,
area: ['85%', '100%'],
content: ROOT + `/SolderCabinet/solderpaste_enter_check_add.html`,
yes:function(index, layero){
layer.close(index);
searchBtn();
},
end: function () {
searchBtn();
},
success:function () {
//弹层开启后 Enter回车 遮罩层无限弹处理
$(':focus').blur();
}
});
yes和end是回调函数的处理,这里调用小框后,可以采取一个默认销毁层,直接进到end回调处理比较好
3.3.2 编辑质检
编辑质检,需要传入ID,方便后端抓取数据进行填充,可以采用这种方式进行传参:
function editClick(){
let selection = grid.selection;
if(selection.length !== 1){
layer.msg($.i18n.prop("hint.selectOnlyOne"),{icon:7});
return false;
}
let mainId = selection[0].ID;
layer.open({
type: 2,
title:false,
closeBtn:0,
area: ['100%', '100%'],
content: ROOT + `/SolderCabinet/solderpaste_enter_check_add.html?mainId=${mainId}`,
yes:function(index, layero){
layer.close(index);
searchBtn();
},
end: function () {
searchBtn();
},
success:function () {
//弹层开启后 Enter回车 遮罩层无限弹处理
$(':focus').blur();
}
});
}