MES:增加成品条码信息生成,根据原材料条码生成成品条码信息,适合5楼半成品入成品库前打印成品条码
master
xs 4 months ago
parent 0d4755e46e
commit c1f7869a44

@ -43,6 +43,11 @@ public class MesBaseBarcodeInfo extends BaseEntity
@Excel(name = "条码类型", readConverterExp = "1=原材料,2半成品,3成品,4背板") @Excel(name = "条码类型", readConverterExp = "1=原材料,2半成品,3成品,4背板")
private String barcodeType; private String barcodeType;
/**
*(01)使
*/
private String singleFlag;
/** 条码内容;如果是按单个物料贴,则一个物料一个条码,如果是按批次贴,则条码跟批次代码相同 */ /** 条码内容;如果是按单个物料贴,则一个物料一个条码,如果是按批次贴,则条码跟批次代码相同 */
@Excel(name = "条码内容") @Excel(name = "条码内容")
private String barcodeInfo; private String barcodeInfo;
@ -226,6 +231,15 @@ public class MesBaseBarcodeInfo extends BaseEntity
{ {
return barcodeType; return barcodeType;
} }
public String getSingleFlag() {
return singleFlag;
}
public void setSingleFlag(String singleFlag) {
this.singleFlag = singleFlag;
}
public void setBarcodeInfo(String barcodeInfo) public void setBarcodeInfo(String barcodeInfo)
{ {
this.barcodeInfo = barcodeInfo; this.barcodeInfo = barcodeInfo;

@ -140,6 +140,9 @@ public class MesConstants {
/**工序类型*/ /**工序类型*/
public static final String MES_PROCESS_TYPE_FIFTH_SPLIT = "1";//五楼拆分工序 public static final String MES_PROCESS_TYPE_FIFTH_SPLIT = "1";//五楼拆分工序
/**单独生成成品条码标识*/
public static final String MES_BARCODE_SINGLE_FLAG_YES = "1";//是
} }

@ -73,13 +73,21 @@ public interface MesBaseBarcodeInfoMapper
/** /**
* * ,limit 1
* *
* @param bindBarcode * @param bindBarcode
* @return * @return
*/ */
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBindBarcode(String bindBarcode); public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBindBarcode(String bindBarcode);
/**
* ,limit 1
*
* @param productBarcode 545
* @return
*/
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByProductBarcode(String productBarcode);
/** /**
* *

@ -121,9 +121,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
// 生成成品条码 // 生成成品条码
else if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_PRODUCT)) { else if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_PRODUCT)) {
generateProductBarcode(mesBaseBarcodeInfo); generateProductBarcode(mesBaseBarcodeInfo);
} } else {//生成背板条码或者门板条码
else{//生成背板条码或者门板条码
generateBackOrDoorBarcode(mesBaseBarcodeInfo); generateBackOrDoorBarcode(mesBaseBarcodeInfo);
} }
@ -197,6 +195,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
/** /**
* *
*
* @param mesBaseBarcodeInfo * @param mesBaseBarcodeInfo
*/ */
@Override @Override
@ -213,6 +212,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
// 生成数量条的不同条码内容 // 生成数量条的不同条码内容
toInsertedBarcodeInfo = getInsertedBarcodeInfo(mesBaseBarcodeInfo, batchCode, userName, currentDate); toInsertedBarcodeInfo = getInsertedBarcodeInfo(mesBaseBarcodeInfo, batchCode, userName, currentDate);
toInsertedBarcodeInfo.setSafeFlag(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES); toInsertedBarcodeInfo.setSafeFlag(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES);
toInsertedBarcodeInfo.setSaleOrderId(0L);
toInsertedBarcodeInfos.add(toInsertedBarcodeInfo); toInsertedBarcodeInfos.add(toInsertedBarcodeInfo);
} }
@ -223,6 +223,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
/** /**
* *
*
* @param mesBaseBarcodeInfo * @param mesBaseBarcodeInfo
*/ */
@Override @Override
@ -246,8 +247,51 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
public void generateProductBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo) { public void generateProductBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
String planCode = mesBaseBarcodeInfo.getPlanCode(); String planCode;
String planDetailCode = mesBaseBarcodeInfo.getPlanDetailCode(); String planDetailCode;
Long saleOrderId;
String saleOrderCode;
Long materialId;
if (mesBaseBarcodeInfo.getSingleFlag().equals(MesConstants.MES_BARCODE_SINGLE_FLAG_YES)) {
String rawMaterialBarcode = mesBaseBarcodeInfo.getProductBarcode();
MesBaseBarcodeInfo rawBarcode = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(rawMaterialBarcode);
if (rawBarcode == null) {
throw new ServiceException("原材料条码有误");
}
if (!rawBarcode.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_RAW)) {
throw new ServiceException("此条码为非原材料条码,不能生成成品条码");
}
MesBaseBarcodeInfo bindBarcode = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBindBarcode(rawMaterialBarcode);
if (bindBarcode == null) {
throw new ServiceException("此原材料条码没有绑定背板或门板");
}
MesBaseBarcodeInfo productBarcodeInfo = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByProductBarcode(rawMaterialBarcode);
if (productBarcodeInfo != null) {
throw new ServiceException("此原材料条码已经生成过成品条码,不能重复生成");
}
planCode = bindBarcode.getPlanCode();
planDetailCode = bindBarcode.getPlanDetailCode();
saleOrderId = bindBarcode.getSaleOrderId();
saleOrderCode = bindBarcode.getSaleorderCode();
materialId = rawBarcode.getMaterialId();
if (StringUtils.isEmpty(planCode) || StringUtils.isEmpty(planDetailCode)) {
throw new ServiceException("绑定的门板或背板条码有误");
}
if (StringUtils.isEmpty(rawBarcode.getPalletInfoCode())) {
throw new ServiceException("此条码有误,未绑定托盘信息");
}
mesBaseBarcodeInfo.setPalletInfoCode(rawBarcode.getPalletInfoCode());
} else {
planCode = mesBaseBarcodeInfo.getPlanCode();
planDetailCode = mesBaseBarcodeInfo.getPlanDetailCode();
MesBaseBarcodeInfo queryBarcodeInfo = new MesBaseBarcodeInfo(); MesBaseBarcodeInfo queryBarcodeInfo = new MesBaseBarcodeInfo();
queryBarcodeInfo.setPlanDetailCode(planDetailCode); queryBarcodeInfo.setPlanDetailCode(planDetailCode);
@ -272,23 +316,28 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
throw new ServiceException("此生产派工不存在"); throw new ServiceException("此生产派工不存在");
} }
saleOrderId = productPlan.getSaleOrderId();
saleOrderCode = productPlan.getSaleorderCode();
materialId = productPlan.getMaterialId();
}
Date currentDate = new Date(); Date currentDate = new Date();
String barcode = Seq.getId(Seq.mesCompBarcodeSeqType, Seq.mesCompBarcodeCode); String barcode = Seq.getId(Seq.mesCompBarcodeSeqType, Seq.mesCompBarcodeCode);
mesBaseBarcodeInfo.setBatchCode(barcode);// 成品的批次代码 == 条码内容 mesBaseBarcodeInfo.setBatchCode(barcode);// 成品的批次代码 == 条码内容
mesBaseBarcodeInfo.setBarcodeInfo(barcode); mesBaseBarcodeInfo.setBarcodeInfo(barcode);
mesBaseBarcodeInfo.setAmount(new BigDecimal(1)); mesBaseBarcodeInfo.setAmount(new BigDecimal(1));
mesBaseBarcodeInfo.setBatchFlag(MesConstants.NOT_IS_BATCH); mesBaseBarcodeInfo.setBatchFlag(MesConstants.NOT_IS_BATCH);
mesBaseBarcodeInfo.setSafeFlag(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES); mesBaseBarcodeInfo.setSafeFlag(saleOrderId.equals(0L) ? MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES : MesConstants.MES_ORDER_BIND_SAFE_FLAG_NO);
mesBaseBarcodeInfo.setMaterialId(materialId);
mesBaseBarcodeInfo.setMaterialId(productPlan.getMaterialId());
mesBaseBarcodeInfo.setPrintFlag(MesConstants.MES_BARCODE_PRINT_FLAG_NO); mesBaseBarcodeInfo.setPrintFlag(MesConstants.MES_BARCODE_PRINT_FLAG_NO);
mesBaseBarcodeInfo.setSaleOrderId(productPlan.getSaleOrderId()); mesBaseBarcodeInfo.setSaleOrderId(saleOrderId);
mesBaseBarcodeInfo.setSaleorderCode(productPlan.getSaleorderCode()); mesBaseBarcodeInfo.setSaleorderCode(saleOrderCode);
mesBaseBarcodeInfo.setPlanCode(planCode);
mesBaseBarcodeInfo.setPlanDetailCode(planDetailCode);
mesBaseBarcodeInfo.setCreateTime(currentDate); mesBaseBarcodeInfo.setCreateTime(currentDate);
mesBaseBarcodeInfo.setCreateBy(SecurityUtils.getUsername()); mesBaseBarcodeInfo.setCreateBy(SecurityUtils.getUsername());
mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo); mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo);
} }
@ -296,6 +345,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
/** /**
* *
*
* @param mesBaseBarcodeInfo * @param mesBaseBarcodeInfo
*/ */
public void generateBackOrDoorBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo) { public void generateBackOrDoorBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo) {

@ -11,6 +11,7 @@
<result property="printFlag" column="print_flag"/> <result property="printFlag" column="print_flag"/>
<result property="batchFlag" column="batch_flag"/> <result property="batchFlag" column="batch_flag"/>
<result property="barcodeType" column="barcode_type"/> <result property="barcodeType" column="barcode_type"/>
<result property="singleFlag" column="single_flag"/>
<result property="barcodeInfo" column="barcode_info"/> <result property="barcodeInfo" column="barcode_info"/>
<result property="batchCode" column="batch_code"/> <result property="batchCode" column="batch_code"/>
<result property="palletInfoCode" column="pallet_info_code"/> <result property="palletInfoCode" column="pallet_info_code"/>
@ -96,6 +97,7 @@
<if test="printFlag != null and printFlag != ''">and bbi.print_flag = #{printFlag}</if> <if test="printFlag != null and printFlag != ''">and bbi.print_flag = #{printFlag}</if>
<if test="batchFlag != null and batchFlag != ''">and bbi.batch_flag = #{batchFlag}</if> <if test="batchFlag != null and batchFlag != ''">and bbi.batch_flag = #{batchFlag}</if>
<if test="barcodeType != null and barcodeType != ''">and bbi.barcode_type = #{barcodeType}</if> <if test="barcodeType != null and barcodeType != ''">and bbi.barcode_type = #{barcodeType}</if>
<if test="singleFlag != null and singleFlag != ''">and bbi.single_flag = #{singleFlag}</if>
<if test="barcodeInfo != null and barcodeInfo != ''">and bbi.barcode_info = #{barcodeInfo}</if> <if test="barcodeInfo != null and barcodeInfo != ''">and bbi.barcode_info = #{barcodeInfo}</if>
<if test="batchCode != null and batchCode != ''">and bbi.batch_code = #{batchCode}</if> <if test="batchCode != null and batchCode != ''">and bbi.batch_code = #{batchCode}</if>
<if test="palletInfoCode != null and palletInfoCode != ''">and bbi.pallet_info_code = #{palletInfoCode}</if> <if test="palletInfoCode != null and palletInfoCode != ''">and bbi.pallet_info_code = #{palletInfoCode}</if>
@ -140,6 +142,7 @@
<if test="printFlag != null and printFlag != ''">print_flag,</if> <if test="printFlag != null and printFlag != ''">print_flag,</if>
<if test="batchFlag != null and batchFlag != ''">batch_flag,</if> <if test="batchFlag != null and batchFlag != ''">batch_flag,</if>
<if test="barcodeType != null and barcodeType != ''">barcode_type,</if> <if test="barcodeType != null and barcodeType != ''">barcode_type,</if>
<if test="singleFlag != null and singleFlag != ''">single_flag,</if>
<if test="barcodeInfo != null and barcodeInfo != ''">barcode_info,</if> <if test="barcodeInfo != null and barcodeInfo != ''">barcode_info,</if>
<if test="batchCode != null and batchCode != ''">batch_code,</if> <if test="batchCode != null and batchCode != ''">batch_code,</if>
<if test="palletInfoCode != null">pallet_info_code,</if> <if test="palletInfoCode != null">pallet_info_code,</if>
@ -175,6 +178,7 @@
<if test="printFlag != null and printFlag != ''">#{printFlag},</if> <if test="printFlag != null and printFlag != ''">#{printFlag},</if>
<if test="batchFlag != null and batchFlag != ''">#{batchFlag},</if> <if test="batchFlag != null and batchFlag != ''">#{batchFlag},</if>
<if test="barcodeType != null and barcodeType != ''">#{barcodeType},</if> <if test="barcodeType != null and barcodeType != ''">#{barcodeType},</if>
<if test="singleFlag != null and singleFlag != ''">#{singleFlag},</if>
<if test="barcodeInfo != null and barcodeInfo != ''">#{barcodeInfo},</if> <if test="barcodeInfo != null and barcodeInfo != ''">#{barcodeInfo},</if>
<if test="batchCode != null and batchCode != ''">#{batchCode},</if> <if test="batchCode != null and batchCode != ''">#{batchCode},</if>
<if test="palletInfoCode != null">#{palletInfoCode},</if> <if test="palletInfoCode != null">#{palletInfoCode},</if>
@ -268,7 +272,10 @@
</select> </select>
<select id="selectMesBaseBarcodeInfoByProductBarcode" parameterType="String" resultMap="MesBaseBarcodeInfoResult">
<include refid="selectMesBaseBarcodeInfoVo"/>
where bbi.product_barcode = #{productBarcode} limit 1
</select>
<select id="selectMesBaseBarcodeInfoCount" parameterType="MesBaseBarcodeInfo"> <select id="selectMesBaseBarcodeInfoCount" parameterType="MesBaseBarcodeInfo">

@ -18,6 +18,20 @@
</el-form--> </el-form-->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
v-hasPermi="['mes:barcode:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAddProductBarcode"
v-if="addProductBarcodeBtnVisible"
>新增
</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['mes:barcode:add']" v-hasPermi="['mes:barcode:add']"
@ -182,7 +196,8 @@
</el-form-item> </el-form-item>
<el-form-item label="绑定柜体码" prop="bindBarcode"> <el-form-item label="绑定柜体码" prop="bindBarcode">
<el-input v-model="form.bindBarcode" :disabled="true" v-if="this.form.barcodeType === this.BARCODE_TYPE.BACK_PLANE || this.form.barcodeType === this.BARCODE_TYPE.DOOR"> <el-input v-model="form.bindBarcode" :disabled="true"
v-if="this.form.barcodeType === this.BARCODE_TYPE.BACK_PLANE || this.form.barcodeType === this.BARCODE_TYPE.DOOR">
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -240,6 +255,48 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 添加或修改条码信息对话框 -->
<el-dialog :title="addProductBarcodeTitle" :visible.sync="addProductBarcodeOpen" append-to-body width="500px">
<el-form ref="addProductBarcodeForm" :model="addProductBarcodeForm" :rules="addProductBarcodeRules"
label-width="120px">
<el-form-item label="原材料条码" prop="productBarcode">
<el-input v-model="addProductBarcodeForm.productBarcode" placeholder="请扫描或输入原材料条码" suffix-icon="el-icon-full-screen">
</el-input>
</el-form-item>
<el-form-item label="数量" prop="amount">
<el-input-number v-model="addProductBarcodeForm.amount" :min="0" placeholder="请输入数量" :disabled="true"/>
</el-form-item>
<el-form-item label="生产日期" prop="productionDate">
<el-date-picker v-model="addProductBarcodeForm.productionDate"
clearable
placeholder="请选择生产日期"
type="date"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="最晚出库日期" prop="lastOutstockDate">
<el-date-picker v-model="addProductBarcodeForm.lastOutstockDate"
clearable
placeholder="请选择最晚出库日期"
type="date"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="addProductBarcodeForm.remark" placeholder="请输入内容" type="textarea"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitProductBarcodeForm"> </el-button>
<el-button @click="cancelProductBarcode"> </el-button>
</div>
</el-dialog>
<!-- 添加生产计划编号对话框 --> <!-- 添加生产计划编号对话框 -->
<el-dialog :visible.sync="productPlanOpen" append-to-body title="选择生产计划编号"> <el-dialog :visible.sync="productPlanOpen" append-to-body title="选择生产计划编号">
<add-ProductPlan ref="productPlanRef" :defineData="defineData" @selection="handleSelection"></add-ProductPlan> <add-ProductPlan ref="productPlanRef" :defineData="defineData" @selection="handleSelection"></add-ProductPlan>
@ -292,6 +349,15 @@ export default {
// //
open: false, open: false,
addBtnTitle: '新增条码', addBtnTitle: '新增条码',
addProductBarcodeTitle: '新增成品条码',
addProductBarcodeForm: {},
addProductBarcodeRules: {
productBarcode: [
{required: true, message: "原材料条码不能为空", trigger: "blur"}
],
},
addProductBarcodeOpen: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -322,7 +388,8 @@ export default {
bindBy: null, bindBy: null,
bindTime: null, bindTime: null,
updateBy: null, updateBy: null,
updateTime: null updateTime: null,
singleFlag: null,
}, },
// //
form: {}, form: {},
@ -379,14 +446,17 @@ export default {
addBarcodeBtnVisible: false, addBarcodeBtnVisible: false,
addDoorBarcodeBtnVisible: false, addDoorBarcodeBtnVisible: false,
batchPrintBtnDisabled: false, batchPrintBtnDisabled: false,
addProductBarcodeBtnVisible: false,
BARCODE_TYPE: { BARCODE_TYPE: {
PRODUCT: '3',// PRODUCT: '3',//
BACK_PLANE: '4',// BACK_PLANE: '4',//
DOOR: '5'// DOOR: '5'//
},
SINGLE_FLAG: {
YES: '1',//
} }
}; };
}, },
mounted() { mounted() {
@ -413,6 +483,7 @@ export default {
// }, // },
methods: { methods: {
getData() { getData() {
if (this.defineData.barcodeType) {
let barcodeType = this.defineData.barcodeType ? this.defineData.barcodeType : this.BARCODE_TYPE.PRODUCT; let barcodeType = this.defineData.barcodeType ? this.defineData.barcodeType : this.BARCODE_TYPE.PRODUCT;
let bindBarcode = this.defineData.bindBarcode ? this.defineData.bindBarcode : ''; let bindBarcode = this.defineData.bindBarcode ? this.defineData.bindBarcode : '';
if (barcodeType === this.BARCODE_TYPE.BACK_PLANE) { if (barcodeType === this.BARCODE_TYPE.BACK_PLANE) {
@ -432,6 +503,11 @@ export default {
this.queryParams.barcodeType = null; this.queryParams.barcodeType = null;
this.queryParams.barcodeTypeStr = this.BARCODE_TYPE.DOOR + "," + this.BARCODE_TYPE.BACK_PLANE; this.queryParams.barcodeTypeStr = this.BARCODE_TYPE.DOOR + "," + this.BARCODE_TYPE.BACK_PLANE;
} }
} else {
this.queryParams.barcodeType = this.BARCODE_TYPE.PRODUCT;
this.queryParams.singleFlag = this.SINGLE_FLAG.YES;
this.addProductBarcodeBtnVisible = true;
}
}, },
@ -441,6 +517,9 @@ export default {
listProductBarcode(this.queryParams).then(response => { listProductBarcode(this.queryParams).then(response => {
this.barcodeList = response.rows; this.barcodeList = response.rows;
this.total = response.total; this.total = response.total;
if (this.queryParams.singleFlag && this.queryParams.singleFlag === this.SINGLE_FLAG.YES) {
} else {
if (this.total && this.total > 0) { if (this.total && this.total > 0) {
if (this.queryParams.barcodeTypeStr) { if (this.queryParams.barcodeTypeStr) {
this.addBarcodeBtnVisible = true; this.addBarcodeBtnVisible = true;
@ -460,6 +539,8 @@ export default {
this.addDoorBarcodeBtnVisible = true; this.addDoorBarcodeBtnVisible = true;
this.handleAdd(); this.handleAdd();
} }
}
this.loading = false; this.loading = false;
}); });
}, },
@ -558,6 +639,56 @@ export default {
this.title = "添加条码信息"; this.title = "添加条码信息";
}, },
//
resetProductBarcode() {
this.addProductBarcodeForm = {
barcodeId: null,
productBarcode: null,
printTime: null,
printPerson: null,
batchFlag: '0',
barcodeType: '3',
barcodeInfo: null,
batchCode: null,
palletInfoCode: null,
materialId: null,
manufacturerId: null,
amount: 1,
machineName: null,
printNumber: null,
poNo: null,
productionDate: null,
acceptedDate: null,
lastOutstockDate: null,
planCode: null,
planDetailCode: null,
saleOrderId: null,
saleorderCode: null,
projectNo: null,
serialNumber: null,
remark: null,
bindStatus: null,
bindBy: null,
bindTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("addProductBarcodeForm");
},
handleAddProductBarcode() {
this.resetProductBarcode();
this.addProductBarcodeOpen = true;
},
//
cancelProductBarcode() {
this.addProductBarcodeOpen = false;
this.resetProductBarcode();
},
/** 打印条码按钮操作 */ /** 打印条码按钮操作 */
handlePrintBarcodes(row) { handlePrintBarcodes(row) {
const barcodeIds = row.barcodeId || this.ids; const barcodeIds = row.barcodeId || this.ids;
@ -645,6 +776,21 @@ export default {
}); });
}, },
/** 提交按钮 */
submitProductBarcodeForm() {
this.$refs["addProductBarcodeForm"].validate(valid => {
if (valid) {
this.addProductBarcodeForm.singleFlag = this.SINGLE_FLAG.YES;
addProductBarcode(this.addProductBarcodeForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.addProductBarcodeOpen = false;
this.getList();
});
}
});
},
} }
}; };
</script> </script>

Loading…
Cancel
Save