Merge remote-tracking branch 'origin/master'

master
xs 2 weeks ago
commit 2fc8225884

@ -329,4 +329,8 @@ public class MesConstants {
/**生产工单派工类型*/
public static final String MES_PRODUCT_ORDER_DISPATCH_TYPE_PRODUCE="1";//产线
public static final String MES_PRODUCT_ORDER_DISPATCH_TYPE_ROUTE="2";//工艺路线
/**MES删除标识1否 0是*/
public static final String MES_IS_FLAG_YES="0";
public static final String MES_IS_FLAG_NO="1";
}

@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -1343,7 +1344,8 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
List<MesPurchaseReceiveBill> toUpdatePurchaseReceiveBillList = new ArrayList<>();
List<SysOperLog> sysOperLogList = new ArrayList<>();
Date currentDate = new Date();
StringBuilder notifyInfoBuilder = new StringBuilder("收料通知:");
String lineSeparator = System.lineSeparator();
StringBuilder notifyInfoBuilder = new StringBuilder("收料通知:").append(lineSeparator);
Long projectErpId = null;
String projectName = "";
try {
@ -1382,10 +1384,10 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
Long supplierId = resultObject.getLong("FSupplierId");
//交货数量
BigDecimal actReceiveAmount = resultObject.getBigDecimal("FActReceiveQty");
BigDecimal actReceiveAmount = resultObject.getBigDecimal("FActReceiveQty").setScale(2, RoundingMode.DOWN);
//实到数量
BigDecimal actlandAmount = resultObject.getBigDecimal("FActlandQty");
BigDecimal actlandAmount = resultObject.getBigDecimal("FActlandQty").setScale(2, RoundingMode.DOWN);;
//创建时间
@ -1463,7 +1465,7 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
notifyInfoBuilder.append("物料名称:").append(materialName).append("|物料规格:").append(materialSpec)
.append("|实到数量:").append(actlandAmount).append("|预计到货日期:")
.append(preDeliveryDate).append("|项目名称:").append(projectName)
.append(";");
.append(";").append(lineSeparator);
}
// System.out.println("l:"+resultArray.get(i).toString().length());

@ -87,6 +87,7 @@
<select id="selectMesSaleOrderList" parameterType="MesSaleOrder" resultMap="MesSaleOrderResult">
<include refid="selectMesSaleOrderVo"/>
<where>
is_flag = '1'
<if test="erpId != null ">and erp_id = #{erpId}</if>
<if test="fentryId != null ">and fentry_id = #{fentryId}</if>
<if test="saleorderCode != null and saleorderCode != ''">and saleorder_code = #{saleorderCode}</if>
@ -112,7 +113,6 @@
<if test="beginDate != null ">and begin_date = #{beginDate}</if>
<if test="endDate != null ">and end_date = #{endDate}</if>
<if test="completeDate != null ">and complete_date = #{completeDate}</if>
<if test="isFlag != null and isFlag != ''">and is_flag = #{isFlag}</if>
<if test="auxPropId != null and auxPropId != ''">and aux_prop_id = #{auxPropId}</if>
<if test="stockId != null and stockId != ''">and stock_id = #{stockId}</if>
<if test="saleDeptId != null and saleDeptId != ''">and sale_dept_id = #{saleDeptId}</if>
@ -268,7 +268,7 @@
<select id="selectMaxErpModifyDate" resultType="String">
SELECT max(erp_modify_date) FROM mes_sale_order order by erp_id,fentry_id
SELECT max(erp_modify_date) FROM mes_sale_order where is_flag = '1' order by erp_id,fentry_id
</select>
<select id="selectMesSaleOrderByUI" resultMap="MesSaleOrderResult">

@ -443,4 +443,17 @@ public class MesBaseBarcodeInfoController extends BaseController
{
return success(mesBaseBarcodeInfoService.selectMesPrdBarcodeInfoList(mesPrdBarcodeInfo));
}
/**
*
* @param mesBaseBarcodeInfoList
* @return
*/
@RequiresPermissions("mes:barcode:add")
@Log(title = "条码信息", businessType = BusinessType.INSERT)
@PostMapping("/batchAdd")
public AjaxResult batchAdd(@RequestBody List<MesBaseBarcodeInfo> mesBaseBarcodeInfoList)
{
return toAjax(mesBaseBarcodeInfoService.batchAddMesBaseBarcodeInfo(mesBaseBarcodeInfoList));
}
}

@ -169,9 +169,9 @@ public class MesSaleOrder extends BaseEntity {
private Date completeDate;
/**
* 1-0-
* 1 0
*/
@Excel(name = "是否标识1-是0-否")
@Excel(name = "删除标识")
private String isFlag;
private String tondBase;

@ -249,5 +249,13 @@ public interface IMesBaseBarcodeInfoService {
* @return
*/
public List<MesPrdBarcodeInfo> selectMesPrdBarcodeInfoList(MesPrdBarcodeInfo mesPrdBarcodeInfo);
/**
*
* @param mesBaseBarcodeInfoList
* @return
*/
int batchAddMesBaseBarcodeInfo(List<MesBaseBarcodeInfo> mesBaseBarcodeInfoList);
}

@ -31,6 +31,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@ -211,7 +212,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
MesOrderBind mesOrderBind = mesOrderBindMapper.selectMesOrderBindByOrderBindId(orderBindId);
BigDecimal bindAmount = mesOrderBind.getBindAmount();
BigDecimal bindBarcodeAmount = mesOrderBind.getBarcodeAmount();//已经生成的条码数量
BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount);
BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount).setScale(0, RoundingMode.CEILING);;//可用数量向上取整
if (barcodeAmount.compareTo(availableAmount) > 0) {
throw new ServiceException("条码数量不能大于可用数量");
}
@ -2013,6 +2014,30 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
return mesPrdBarcodeInfoMapper.selectMesPrdBarcodeInfoList(mesPrdBarcodeInfo);
}
/**
*
* @param mesBaseBarcodeInfoList
* @return
*/
@Override
@Transactional(rollbackFor=Exception.class)
public int batchAddMesBaseBarcodeInfo(List<MesBaseBarcodeInfo> mesBaseBarcodeInfoList) {
for (MesBaseBarcodeInfo mesBaseBarcodeInfo : mesBaseBarcodeInfoList) {
// 生成原材料条码
if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_RAW)) {
generateRawBarcode(mesBaseBarcodeInfo);
}
// 生成成品条码
else if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_PRODUCT)) {
generateProductBarcode(mesBaseBarcodeInfo);
} else {//生成配对码
generateBindBarcode(mesBaseBarcodeInfo);
}
}
return 1;
}
// public MesPurchaseOrder insertVirtualPurchaseOrder(Long materialId, String barcodeInfo, BigDecimal sumOrderAmount,
// List<MesPurchaseOrderRelate> mesPurchaseOrderRelates,String userName, Date currentDate) {

@ -121,7 +121,16 @@ public class MesSaleOrderServiceImpl implements IMesSaleOrderService {
*/
@Override
public int deleteMesSaleOrderBySaleOrderIds(Long[] saleOrderIds) {
return mesSaleOrderMapper.deleteMesSaleOrderBySaleOrderIds(saleOrderIds);
for (Long saleOrderId : saleOrderIds) {
MesSaleOrder mesSaleOrder = new MesSaleOrder();
mesSaleOrder.setSaleOrderId(saleOrderId);
mesSaleOrder.setIsFlag(MesConstants.MES_IS_FLAG_YES);//删除标识1否 0是
mesSaleOrder.setUpdateBy(SecurityUtils.getUsername());
mesSaleOrder.setUpdateTime(DateUtils.getNowDate());
mesSaleOrderMapper.updateMesSaleOrder(mesSaleOrder);
}
// return mesSaleOrderMapper.deleteMesSaleOrderBySaleOrderIds(saleOrderIds);
return 1;
}
/**

@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectMesBaseSupplierInfoList" parameterType="MesBaseSupplierInfo" resultMap="MesBaseSupplierInfoResult">
<include refid="selectMesBaseSupplierInfoVo"/>
<where>
<if test="supplierCode != null and supplierCode != ''"> and supplier_code = #{supplierCode}</if>
<if test="supplierCode != null and supplierCode != ''"> and supplier_code like concat('%', #{supplierCode}, '%')</if>
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="erpId != null "> and erp_id = #{erpId}</if>
<if test="supplierStatus != null and supplierStatus != ''"> and supplier_status = #{supplierStatus}</if>

@ -150,6 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join mes_sale_order mso on mob.sale_order_id = mso.sale_order_id
<where>
mso.is_flag = '1'
<if test="mergeFlag != null and mergeFlag != ''"> and mob.bind_amount=1 and mob.barcode_amount=0 and mso.order_amount=1</if>
<if test="singleFlag != null and singleFlag != ''"> and mob.bind_amount &gt; mob.barcode_amount</if>
<if test="safeFlag != null and safeFlag != ''"> and mob.safe_flag = #{safeFlag}</if>

@ -416,7 +416,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mpo.order_amount, mpo.complete_amount, mpo.approve_date,
mpo.erp_modify_date, mpo.plan_delivery_date, mpo.begin_date, mpo.end_date, mpo.order_status,
mpo.complete_date, mpo.specification_parameter, mpo.src_bill_no, mpo.purchase_org_id, mpo.tond_base,
mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbmi.always_flag,mpi.project_name
mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbmi.always_flag,mpi.project_name,
IF((select count(*) from mes_order_bind mob where mob.purchase_order_id = mpo.purchase_order_id and mob.sale_order_id > 0) > 0, '1', '0') bindFlag
from mes_purchase_order mpo left join mes_base_material_info mbmi on mpo.material_id =mbmi.erp_id
left join mes_project_info mpi on mpo.tond_base=mpi.erp_id
<where>
@ -469,6 +470,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join mes_sale_order mso on mob.sale_order_id = mso.sale_order_id
<where>
mso.is_flag = '1'
<if test="mergeFlag != null and mergeFlag != ''"> and mob.bind_amount=1 and mob.barcode_amount=0 and mpo.order_amount=1 and mso.order_amount=1</if>
<if test="singleFlag != null and singleFlag != ''"> and (mob.bind_amount &gt; mob.barcode_amount or mbmi.always_flag='1')</if>
<if test="safeFlag != null and safeFlag != ''"> and mob.safe_flag = #{safeFlag}</if>

@ -80,6 +80,7 @@
<select id="selectMesSaleOrderList" parameterType="MesSaleOrder" resultMap="MesSaleOrderResult">
<include refid="selectMesSaleOrderVo"/>
<where>
is_flag = '1'
<if test="erpId != null ">and erp_id = #{erpId}</if>
<if test="fentryId != null ">and fentry_id = #{fentryId}</if>
<if test="saleorderCode != null and saleorderCode != ''">and saleorder_code = #{saleorderCode}</if>
@ -105,7 +106,6 @@
<if test="beginDate != null ">and begin_date = #{beginDate}</if>
<if test="endDate != null ">and end_date = #{endDate}</if>
<if test="completeDate != null ">and complete_date = #{completeDate}</if>
<if test="isFlag != null and isFlag != ''">and is_flag = #{isFlag}</if>
</where>
</select>
@ -263,6 +263,7 @@
((mso.material_id = mbmi.erp_id and (mso.sale_order_classfication='1' or mso.sale_order_classfication='3')) or (mso.material_id = mbmi.material_id and mso.sale_order_classfication='2'))
left join mes_project_info mpi on mso.tond_base=mpi.erp_id
<where>
mso.is_flag = '1'
<if test="saleorderCode != null and saleorderCode != ''">and mso.saleorder_code like concat('%', #{saleorderCode},
'%')</if>
<if test="materialCode != null and materialCode != ''">and mbmi.material_code like concat('%', #{materialCode},

@ -255,7 +255,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join mes_base_unit_info mbui on mbui.erp_id = mbmi.material_unit_id
left join mes_product_plan mpp on mpp.plan_code = wpi.plan_code
left join mes_sale_order mso on mso.sale_order_id = mpp.sale_order_id
where wpi.product_type = '3'
where mso.is_flag = '1'
and wpi.product_type = '3'
and wpi.execute_status = '2'
and (wpi.erp_status is null or wpi.erp_status != '1')
and wpi.instock_amount > if(wpi.erp_amount is null, 0, wpi.erp_amount)

@ -332,7 +332,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join mes_base_material_info mbmi on mbmi.material_id = wpo.product_id
left join mes_base_unit_info mbui on mbui.erp_id = mbmi.material_unit_id
left join mes_sale_order mso on mso.sale_order_id = wpo.sale_order_id
where wpo.outstock_type = '1'
where mso.is_flag = '1'
and wpo.outstock_type = '1'
and wpo.outstock_qty > 0
and wpo.apply_qty >= wpo.outstock_qty
and wpo.outstock_qty > if(wpo.erp_amount is null, 0, wpo.erp_amount)

@ -278,7 +278,7 @@
left join wms_base_warehouse wbw on wps.warehouse_id=wbw.warehouse_id
left join mes_sale_order mso on wps.sale_order_id=mso.sale_order_id
<where>
wps.total_amount>0 and wps.stock_type='3'
mso.is_flag = '1' and wps.total_amount>0 and wps.stock_type='3'
<if test="saleorderCode != null and saleorderCode != ''">and mso.saleorder_code = #{saleorderCode}</if>
<if test="warehouseId != null ">and wps.warehouse_id = #{warehouseId}</if>
<if test="productId != null ">and wps.product_id = #{productId}</if>

@ -145,11 +145,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select wpss.product_stock_saleorder_id, wpss.warehouse_id, wpss.warehouse_floor, wpss.stock_type, wpss.product_id, wpss.saleorder_code,
wpss.total_amount,wpss.apply_amount, wpss.occupy_amount,wpss.frozen_amount,wpss.outstock_amount, wpss.confirm_amount,
mso.order_amount,wbw.warehouse_name,mbmi.material_code,mbmi.material_name
from wms_product_stock_saleorder wpss left join mes_sale_order mso on wpss.sale_order_id = mso.sale_order_id
from wms_product_stock_saleorder wpss
left join mes_sale_order mso on wpss.sale_order_id = mso.sale_order_id
left join wms_base_warehouse wbw on wpss.warehouse_id=wbw.warehouse_id
left join mes_base_material_info mbmi on mbmi.material_id=wpss.product_id
<where>
mso.is_flag = '1'
<if test="saleorderCode != null and saleorderCode != ''"> and wpss.saleorder_code = #{saleorderCode}</if>
<if test="warehouseId != null ">and wpss.warehouse_id = #{warehouseId}</if>
<if test="productId != null ">and wpss.product_id = #{productId}</if>

@ -205,8 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyBy != null and applyBy != ''"> and wri.apply_by like concat('%', #{applyBy}, '%')</if>
<if test="materialCode != null and materialCode != ''"> and mbmi.material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialName != null and materialName != ''"> and mbmi.material_name like concat('%', #{materialName}, '%')</if>
<if test="erpStatus != null and erpStatus != ''"> and wri.erp_status = #{erpStatus}</if>
</where>
order by wri.apply_date desc
</select>

@ -265,10 +265,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select wro.raw_outstock_id, wro.task_code, wro.warehouse_id, wro.location_code, wro.order_id, wro.plan_code, wro.plan_detail_code, wro.station_id,wro.material_batch,
wro.material_id, wro.operation_type, wro.task_type, wro.apply_reason, wro.audit_reason, wro.audit_status, wro.execute_status, wro.apply_by, wro.apply_date,
wro.audit_by, wro.audit_date, wro.update_by, wro.update_date, wro.begin_time, wro.end_time,wro.outstock_amount,wro.real_outstock_amount,wbw.warehouse_name
,mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbui.unit_name
,mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbui.unit_name, wrod.erp_status, wrod.erp_amount
from wms_raw_outstock wro left join wms_base_warehouse wbw on wro.warehouse_id = wbw.warehouse_id
left join mes_base_material_info mbmi on wro.material_id=mbmi.material_id
left join mes_base_unit_info mbui on mbmi.material_unit_id = mbui.erp_id
left join (select raw_outstock_id, max(erp_status) erp_status, max(erp_amount) erp_amount
from wms_raw_outstock_detail
group by raw_outstock_id) wrod on wro.raw_outstock_id = wrod.raw_outstock_id
<where>
<if test="taskCode != null and taskCode != ''"> and wro.task_code like concat('%', #{taskCode}, '%')</if>
<if test="warehouseId != null "> and wro.warehouse_id = #{warehouseId}</if>
@ -282,6 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialCode != null and materialCode != ''"> and mbmi.material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialName != null and materialName != ''"> and mbmi.material_name like concat('%', #{materialName}, '%')</if>
<if test="materialSpec != null and materialSpec != ''"> and mbmi.material_spec like concat('%', #{materialSpec}, '%')</if>
<if test="erpStatus != null and erpStatus != ''"> and wrod.erp_status = #{erpStatus}</if>
</where>
order by wro.apply_date desc
</select>
@ -387,9 +391,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join mes_base_unit_info mbui on mbui.erp_id = mbmi.material_unit_id
left join mes_product_plan mpp on mpp.plan_code = wro.plan_code
left join mes_sale_order mso on mso.sale_order_id = mpp.sale_order_id
<where>
wro.real_outstock_amount > 0
mso.is_flag = '1'
and wro.real_outstock_amount > 0
and wro.outstock_amount >= wro.real_outstock_amount
and wro.real_outstock_amount > if(wro.erp_amount is null, 0, wro.erp_amount)
and mbmi.material_classfication = '1'

@ -325,6 +325,7 @@
left join mes_sale_order mso on wrs.sale_order_id = mso.sale_order_id
left join mes_base_unit_info mbui on mbmi.material_unit_id = mbui.erp_id
<where>
mso.is_flag = '1'
<if test="warehouseId != null ">and wrs.warehouse_id = #{warehouseId}</if>
<if test="locationCode != null and locationCode != ''">and wrs.location_code = #{locationCode}</if>
<if test="stockType != null and stockType != ''">and wrs.stock_type = #{stockType}</if>

@ -273,7 +273,7 @@
left join mes_sale_order mso on wst.sale_order_id = mso.sale_order_id
left join mes_base_unit_info mbui on mbmi.material_unit_id = mbui.erp_id
<where>
wst.total_amount > 0
mso.is_flag = '1' and wst.total_amount > 0
<if test="warehouseId != null ">and wst.warehouse_id = #{warehouseId}</if>
<if test="warehouseFloor != null ">and wst.warehouse_floor = #{warehouseFloor}</if>
<if test="stockType != null and stockType != ''">and wst.stock_type = #{stockType}</if>
@ -327,6 +327,7 @@
left join mes_base_material_info mbmi on mbmi.material_id = wst.material_id
left join mes_sale_order mso on wst.sale_order_id=mso.sale_order_id
<where>
mso.is_flag = '1'
<if test="warehouseId != null ">and wst.warehouse_id = #{warehouseId}</if>
<if test="warehouseFloor != null ">and wst.warehouse_floor = #{warehouseFloor}</if>
<if test="warehouseType != null and warehouseType != ''">and wbw.warehouse_type = #{warehouseType}</if>

@ -197,3 +197,12 @@ export function listPrdBarcode(query) {
params: query
})
}
// 批量新增条码信息
export function batchAddBarcode(data) {
return request({
url: '/mes/barcode/batchAdd',
method: 'post',
data: data
})
}

@ -132,7 +132,17 @@
>固定条码新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleBatchAdd"
v-hasPermi="['mes:barcode:add']"
>采购批量新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
@ -712,6 +722,104 @@
</div>
</el-dialog>
<!-- 采购批量新增对话框 -->
<el-dialog :title="batchTitle" :visible.sync="batchOpen" width="1300px" append-to-body>
<el-form ref="batchForm" :model="batchForm" :rules="batchRules" label-width="100px">
<el-form-item label="采购订单" prop="poNo">
<el-input v-model="batchForm.poNo" placeholder="请点击右侧检索采购订单" disabled>
<el-button slot="append" icon="el-icon-search" @click="handleBatchPurchaseOrderAdd"></el-button>
</el-input>
</el-form-item>
<el-form-item label="采购物料" prop="materialId">
<el-table :data="batchForm.mesPurchaseOrderList" :row-class-name="rowMesPurchaseOrderIndex"
@selection-change="handleMesPurchaseOrderSelectionChange" ref="mesPurchaseOrder">
<!-- <el-table-column type="selection" width="55" align="center"/>-->
<el-table-column label="序号" align="center" prop="index" />
<el-table-column label="物料编码" align="center" prop="materialCode" width="120"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="120"/>
<el-table-column label="物料规格" align="center" prop="materialSpec" width="120"/>
<el-table-column label="规格参数" align="center" prop="barcodeSpec"/>
<el-table-column label="可用数量" align="center" prop="availableBindAmount"/>
<el-table-column label="批次标识" align="center" prop="batchFlag" width="180">
<template slot-scope="scope">
<el-radio-group v-model="scope.row.batchFlag" :disabled="scope.row.saleBatchFlagDisable">
<el-radio
v-for="dict in dict.type.mes_material_batch_flag"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</template>
</el-table-column>
<el-table-column label="批次数量" align="center" prop="amount" width="100">
<el-input-number v-model="form.amount" placeholder="请在物料信息中维护" :disabled="editFlag!=='1'"
:min="0"
size="small"
controls-position="right"/>
</el-table-column>
<el-table-column label="条码数量" align="center" width="100">
<template slot-scope="scope">
<el-input-number
v-model="scope.row.barcodeAmount"
:min="0"
size="small"
controls-position="right"
>
</el-input-number>
</template>
</el-table-column>
<el-table-column label="生产日期" align="center" width="150">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.productionDate"
type="date"
size="small"
value-format="yyyy-MM-dd"
placeholder="选择生产日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column label="最晚出库日期" align="center" width="150">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.lastOutstockDate"
type="date"
size="small"
value-format="yyyy-MM-dd"
placeholder="选择最晚出库日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="150">
<template slot-scope="scope">
<el-input
v-model="scope.row.remark"
type="textarea"
size="small"
:rows="1"
placeholder="请输入备注">
</el-input>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="submitLoading" @click="submitBatchForm"> </el-button>
<el-button @click="cancelBatch"> </el-button>
</div>
</el-dialog>
<!-- 选择采购订单对话框 -->
<el-dialog title="选择批量采购订单信息" :visible.sync="batchPurchaseOrderOpen" append-to-body>
<add-multiple-purchaseOrder ref="purchaseOrderRef" v-if="batchPurchaseOrderOpen" :defineData="barcodeData"></add-multiple-purchaseOrder>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitBatchPurchaseOrderForm"> </el-button>
<el-button @click="batchPurchaseOrderOpen = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -720,7 +828,7 @@ import {
listBarcode, getBarcode, delBarcode, addBarcode, updateBarcode, reprintBarcodes,
printBarcodes, getMaterialInfoByErpId, selectProductBarcodeInfoByBarcodeInfo,
addInternalBarcode, regenerateBarcode, checkRawStock, addNoPurchaseBarcode, addRegularBarcode,
mergeAddBarcode, mergeUpdateBarcode
mergeAddBarcode, mergeUpdateBarcode, batchAddBarcode
} from "@/api/mes/barcode";
import {checkWarehouseMaterials} from "@/api/wms/wmswarehouse";
@ -728,6 +836,7 @@ import {checkWarehouseMaterials} from "@/api/wms/wmswarehouse";
import selectOrderBind from '@//views/mes/purchaseOrder/selectOrderBind.vue';
import selectMaterial from '@//views/mes/materialinfo/selectMaterial.vue';
import selectPurchaseOrder from '@//views/mes/purchaseOrder/addPurchaseOrder.vue';
import addMultiplePurchaseOrder from '@//views/mes/purchaseOrder/addMultiplePurchaseOrder.vue';
export default {
name: "Barcode",
@ -736,6 +845,7 @@ export default {
'select-orderBind': selectOrderBind,
'select-material': selectMaterial,
'select-purchaseOrder': selectPurchaseOrder,
'add-multiple-purchaseOrder': addMultiplePurchaseOrder,
},
data() {
@ -757,8 +867,8 @@ export default {
barcodeList: [],
//
onlyPurchaseOrderOpen: false,
purchaseOrderOpen: false,
batchPurchaseOrderOpen: false,
//
selectMaterialVisible: false,
//
@ -971,6 +1081,19 @@ export default {
REGULAR: "9"
},
batchOpen: false,
batchTitle: "采购批量新增",
batchForm: {
mesPurchaseOrderList: [],
poNo: undefined
},
batchRules: {
poNo: [
{ required: true, message: "采购订单不能为空", trigger: "blur" }
]
},
//
checkedPurchaseOrders: [],
};
},
created() {
@ -1119,7 +1242,7 @@ export default {
}
let unavailableAmountResult = selectedRows.find(item => {
return parseInt(item.relateSaleOrderAmount) !== 1;
return item.relateSaleOrderAmount !== 1;
});
if (unavailableAmountResult != null && unavailableAmountResult !== '') {
@ -1222,6 +1345,7 @@ export default {
submitSingleSelectPurchaseOrder() {
let selectedRow = this.$refs.purchaseOrderRef.selectedRow;
console.log("selectedRow",selectedRow)
this.form.batchFlag = null;
this.form.amount = null;
this.form.receiveBillId = null;
@ -1262,7 +1386,7 @@ export default {
}
//
this.form.availableBindAmount = parseInt(selectedRow.relateSaleOrderAmount);
this.form.availableBindAmount = Math.ceil(selectedRow.relateSaleOrderAmount);
this.form.orderBindId = selectedRow.orderBindId;
//
this.form.barcodeAmount = null;
@ -1910,6 +2034,144 @@ export default {
this.onlyPurchaseOrderOpen = false;
},
handleBatchAdd() {
this.resetBatch();
this.batchOpen = true;
this.title = "采购批量新增";
},
resetBatch() {
this.batchForm = {
mesPurchaseOrderList: [],
poNo: undefined
};
this.resetForm("batchForm");
},
/** 批量选择采购订单按钮操作 */
handleBatchPurchaseOrderAdd() {
this.barcodeData = {mergeFlag: null};
this.batchPurchaseOrderOpen = true;
},
/** 复选框选中数据 */
handleMesPurchaseOrderSelectionChange(selection) {
this.checkedPurchaseOrders = selection;
},
rowMesPurchaseOrderIndex({row, rowIndex}) {
row.index = rowIndex + 1;
},
/** 提交按钮 */
submitBatchForm() {
this.$refs["batchForm"].validate(valid => {
if (valid) {
//
const invalidRow = this.batchForm.mesPurchaseOrderList.find(row => {
return !row.productionDate || !row.lastOutstockDate;
});
if (invalidRow) {
this.$modal.msgError("请填写所有行的生产日期和最晚出库日期");
return;
}
//
const invalidAmount = this.batchForm.mesPurchaseOrderList.find(row => {
return !row.barcodeAmount || row.barcodeAmount <= 0;
});
if (invalidAmount) {
this.$modal.msgError("请填写有效的条码数量");
return;
}
this.submitLoading = true;
batchAddBarcode(this.batchForm.mesPurchaseOrderList).then(response => {
this.$modal.msgSuccess("新增成功");
this.cancelBatch();
this.getList();
}).finally(e => {
this.submitLoading = false;
});
}
});
},
cancelBatch() {
this.batchOpen = false;
this.resetBatchForm();
},
/** 提交批量采购订单选择 */
submitBatchPurchaseOrderForm() {
let selectedRows = this.$refs.purchaseOrderRef.selectedRows;
console.log("selectedRows",selectedRows)
if (!selectedRows || selectedRows.length <= 0) {
this.$modal.msgWarning("请选择采购订单");
return;
}
let firstRow = selectedRows[0];
let firstRowPoNo = firstRow.poNo;
//
let unavailableAmountResult = selectedRows.find(item => {
return item.relateSaleOrderAmount <= 0;
});
if (unavailableAmountResult != null && unavailableAmountResult !== '') {
this.$modal.msgError("存在可用数量为0的数据");
return;
}
//
selectedRows.forEach(selectedRow => {
let purchaseOrder = {}
purchaseOrder.poNo = selectedRow.poNo;
purchaseOrder.barcodeType = '1';//1,2,3,4
purchaseOrder.materialId = selectedRow.materialId;//ID
purchaseOrder.materialCode = selectedRow.materialCode;
purchaseOrder.materialName = selectedRow.materialName;
purchaseOrder.materialSpec = selectedRow.materialSpec;
purchaseOrder.projectNo = selectedRow.projectNo;
purchaseOrder.receiveBillId = selectedRow.receiveBillId;
purchaseOrder.purchaseOrderId = selectedRow.purchaseOrderId;
purchaseOrder.currentSafeBindAmount = 0;
if (selectedRow.specificationParameter && selectedRow.specificationParameter !== '') {
purchaseOrder.barcodeSpec = selectedRow.specificationParameter;
} else {
purchaseOrder.barcodeSpec = selectedRow.materialSpec;
}
//
purchaseOrder.availableBindAmount = Math.ceil(selectedRow.relateSaleOrderAmount);
purchaseOrder.orderBindId = selectedRow.orderBindId;
//
purchaseOrder.barcodeAmount = null;
purchaseOrder.batchFlag = selectedRow.batchFlag;
purchaseOrder.amount = selectedRow.batchAmount;
purchaseOrder.saleBatchFlagDisable = !!purchaseOrder.batchFlag;
this.batchForm.mesPurchaseOrderList.push(purchaseOrder);
});
this.batchForm.poNo = firstRowPoNo;
this.batchPurchaseOrderOpen = false;
},
resetBatchForm() {
this.batchForm = {
mesPurchaseOrderList: [],
poNo: undefined
};
this.$refs["batchForm"].resetFields();
},
}
};
</script>

@ -482,9 +482,12 @@ export default {
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (!/^[0-9]\d*$/.test(this.form.productionTimeDays)
|| !/^[0-9]\d*$/.test(this.form.productionTimeHours)
|| !/^[0-9]\d*$/.test(this.form.productionTimeMinutes)) {
console.log(this.form)
if (
(this.form.productionTimeDays !== undefined && !/^[0-9]\d*$/.test(this.form.productionTimeDays)) ||
(this.form.productionTimeHours !== undefined && !/^[0-9]\d*$/.test(this.form.productionTimeHours)) ||
(this.form.productionTimeMinutes !== undefined && !/^[0-9]\d*$/.test(this.form.productionTimeMinutes))
) {
this.$modal.msgError("安装时长天、小时、分钟需为大于等于0的正整数");
return;
}

@ -0,0 +1,362 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-form-item label="收料通知单号" prop="billNo">
<el-input v-model="queryParams.billNo" placeholder="请点击右侧检索收料通知单" style="width:400px;" disabled>
<el-button slot="append" icon="el-icon-search" @click="handlePurchaseReceiveBill"></el-button>
</el-input>
</el-form-item>
</el-row>
<el-form-item label="采购订单编号" prop="poNo">
<el-input
v-model="queryParams.poNo"
placeholder="请输入采购订单编号"
clearable
@keyup.enter.native="handleQuery"
disabled
/>
</el-form-item>
<el-form-item label="可用标识" v-if="queryParams.mergeFlag!==null" prop="mergeFlag">
<el-radio-group v-model="queryParams.mergeFlag">
<el-radio label="1" value="1" >
</el-radio>
<el-radio label="" value="" >
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="可用标识" v-if="queryParams.mergeFlag===null" prop="singleFlag">
<el-radio-group v-model="queryParams.singleFlag">
<el-radio label="1" value="1" >
</el-radio>
<el-radio label="" value="" >
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading"
:data="orderBindList"
@selection-change="handleSelectionChange"
:current-row-key="selectedRowId"
ref="purchaseOrderRef"
row-key="rowKey"
>
<el-table-column label="选择" width="50" v-if="isSingleSelect">
<template slot-scope="scope">
<el-radio v-model="selectedRowId" :label="scope.row.purchaseOrderId+'-'+scope.row.orderBindId" @change="handleSelect(scope.row)">
{{scope.row.i}}
</el-radio>
</template>
</el-table-column>
<el-table-column
type="selection"
width="55"
:reserve-selection="true"
v-if="!isSingleSelect"
></el-table-column>
<el-table-column label="采购订单ID" align="center" prop="purchaseOrderId" />
<el-table-column label="采购订单" align="center" prop="poNo" />
<el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" />
<el-table-column label="物料规格" align="center" prop="materialSpec"/>
<el-table-column label="规格参数" align="center" prop="specificationParameter"/>
<el-table-column label="常备物料" align="center" prop="alwaysFlag">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_material_bind_flag" :value="scope.row.alwaysFlag"/>
</template>
</el-table-column>
<!-- <el-table-column label="绑定数量" align="center" prop="bindAmount" />-->
<!-- <el-table-column label="条码数量" align="center" prop="barcodeAmount" />-->
<el-table-column label="采购数量" align="center" prop="orderAmount" />
<el-table-column label="可用数量" align="center" prop="relateSaleOrderAmount" />
<el-table-column label="销售订单" align="center" prop="saleOrderCode" />
<el-table-column label="成品编码" align="center" prop="productCode" />
<el-table-column label="成品名称" align="center" prop="productName" />
<el-table-column label="成品规格" align="center" prop="productSpec"/>
<el-table-column label="销售数量" align="center" prop="saleOrderAmount" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 选择收料通知单对话框 -->
<el-dialog title="选择收料通知单信息" :visible.sync="purchaseReceiveBillOpen" append-to-body>
<select-purchase-receive-bill ref="purchaseOrderRef" v-if="purchaseReceiveBillOpen"></select-purchase-receive-bill>
<div slot="footer" class="dialog-footer">
<el-button
type="primary" @click="submitPurchaseReceiveBillForm"> </el-button>
<el-button @click="purchaseReceiveBillOpen = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getPurchaseOrdersWithBind
} from "@//api/mes/purchaseOrder";
import selectPurchaseReceiveBill from '@//views/mes/purchaseReceiveBill/selectPurchaseReceiveBill.vue';
export default {
name: "OrderBind",
dicts: ['active_flag', 'order_status', 'document_status','mes_material_bind_flag'],
components: {
'select-purchase-receive-bill': selectPurchaseReceiveBill,
},
props: {
defineData: {
type: Object,
default: {}
}
},
data() {
return {
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
orderBindList: [],
//
title: "",
//
open: false,
selectionVisible:false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
erpId: null,
fentryId: null,
poNo: null,
documentStatus: null,
materialId: null,
materialCode: null,
materialName: null,
materialSpec: null,
specificationParameter: null,
orderAmount: null,
completeAmount: null,
approveDate: null,
erpModifyDate: null,
planDeliveryDate: null,
beginDate: null,
endDate: null,
orderStatus: null,
completeDate: null,
isFlag: null,
mergeFlag: null,
singleFlag: null,
alwaysFlag:""
},
//
form: {},
//
rules: {
materialCode: [
{required: true, message: "物料编码不能为空", trigger: "blur"}
],
orderAmount: [
{required: true, message: "订单计划数量不能为空", trigger: "blur"}
],
isFlag: [
{required: true, message: "是否标识不能为空", trigger: "change"}
],
},
columns: [
{key: 0, label: `主键标识`, visible: true},
{key: 1, label: `ERP主键信息`, visible: false},
{key: 2, label: `金蝶ERP订单明细ID`, visible: false},
{key: 3, label: `采购订单编号`, visible: true},
{key: 4, label: `单据状态`, visible: false},
{key: 5, label: `物料ID`, visible: false},
{key: 6, label: `物料编码`, visible: true},
{key: 7, label: `物料名称`, visible: true},
{key: 8, label: `订单计划数量`, visible: true},
{key: 9, label: `完成采购数量`, visible: false},
{key: 10, label: `审核日期`, visible: false},
{key: 11, label: `ERP最后修改日期`, visible: false},
{key: 12, label: `计划交货日期`, visible: false},
{key: 13, label: `计划开始日期`, visible: false},
{key: 14, label: `计划结束日期`, visible: false},
{key: 15, label: `订单状态`, visible: false},
{key: 16, label: `完成日期`, visible: false},
{key: 17, label: `是否标识`, visible: false},
{key: 18, label: `备注`, visible: false},
{key: 19, label: `创建人`, visible: false},
{key: 20, label: `创建时间`, visible: false},
{key: 21, label: `更新人`, visible: false},
{key: 22, label: `更新时间`, visible: false},
],
selectedRows:[],
selectedRow:null,
selectedRowId:null,
isSingleSelect:false,
purchaseReceiveBillOpen:false,
ALWAYS_FLAG:{
YES:"1",
NO:"0"
}
};
},
created() {
this.getData();
},
methods: {
getData() {
if (this.defineData.mergeFlag) {
this.selectionVisible = true;
this.queryParams.mergeFlag = "1";
this.queryParams.singleFlag = null;
this.isSingleSelect = false;
}else{
this.selectionVisible = false;
this.queryParams.singleFlag ="1";
this.queryParams.mergeFlag = null;
this.isSingleSelect = false;
}
},
/** 查询采购订单信息列表 */
getList() {
if(this.queryParams.billNo==null ||this.queryParams.billNo==='') {
this.$modal.msgWarning("请先选择收料通知单");
return;
}
this.loading = true;
getPurchaseOrdersWithBind(this.queryParams).then(response => {
response.rows.forEach(e => {
if(e.orderBindId){
e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
}
e.receiveBillId = this.queryParams.receiveBillId;
// rowKey
e.rowKey = e.purchaseOrderId + '-' + e.orderBindId;
});
this.orderBindList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
purchaseOrderId: null,
erpId: null,
fentryId: null,
poNo: null,
documentStatus: null,
materialId: null,
materialCode: null,
materialName: null,
orderAmount: null,
completeAmount: null,
approveDate: null,
erpModifyDate: null,
planDeliveryDate: null,
beginDate: null,
endDate: null,
orderStatus: null,
completeDate: null,
isFlag: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleRowClick(row) {
this.selectedRow = row
this.selectedRowId = row.purchaseOrderId+"-"+row.orderBindId;
//alert(this.selectedRowId);
},
handleSelect(row){
this.selectedRow = row;
this.selectedRow.receiveBillId = this.queryParams.receiveBillId;
this.selectedRowId = row.purchaseOrderId+"-"+row.orderBindId;
//
this.$nextTick(() => {
this.$refs.purchaseOrderRef.setCurrentRow(row);
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.purchaseOrderId)
this.selectedRows = selection.map(item => item)
this.single = selection.length !== 1
this.multiple = !selection.length
},
handlePurchaseReceiveBill() {
this.purchaseReceiveBillOpen = true;
},
submitPurchaseReceiveBillForm() {
let selectedRow = this.$refs.purchaseOrderRef.selectedRow;
this.$set(this.queryParams, "receiveBillId", null);
this.$set(this.queryParams, "billNo", null);
this.$set(this.queryParams, "poNo", null);
this.$set(this.queryParams, "materialId", null);
this.$set(this.queryParams, "receiveBillId", selectedRow.receiveBillId);
this.$set(this.queryParams, "billNo", selectedRow.billNo);
this.$set(this.queryParams, "poNo", selectedRow.poNo);
this.$set(this.queryParams, "materialId", selectedRow.materialId);
this.getList();
this.purchaseReceiveBillOpen = false;
},
}
};
</script>

@ -289,7 +289,7 @@ export default {
let totalBindAmount = 0;
for (let i = 0; i < this.mesOrderBindList.length; i++) {
let mob = this.mesOrderBindList[i];
let bindAmount = mob.bindAmount ? parseInt(mob.bindAmount) : 0;
let bindAmount = mob.bindAmount ? mob.bindAmount : 0;
let barcodeAmount = mob.barcodeAmount ? parseInt(mob.barcodeAmount) : 0;
if (!mob.safeFlag) {

@ -144,7 +144,7 @@
</el-row>
<el-table v-loading="loading" :data="purchaseOrderList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="purchaseOrderList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" >
<el-table-column label="采购订单ID" align="center" prop="purchaseOrderId"/>
<el-table-column label="采购订单编号" align="center" prop="poNo"/>
<el-table-column label="物料编码" align="center" prop="materialCode"/>
@ -590,7 +590,20 @@ export default {
}).then(() => {
this.$modal.msgSuccess("执行成功");
}).catch(() => {});
},
tableRowClassName({row}) {
//绿
if (row.bindFlag === '1') {
return 'success-row';
}
return '';
},
}
};
</script>
<style>
.el-table .success-row {
background-color: #e1f3d8;
}
</style>

@ -302,7 +302,7 @@ export default {
getPurchaseOrdersWithBind(this.queryParams).then(response => {
response.rows.forEach(e => {
if(e.orderBindId){
e.relateSaleOrderAmount = parseInt(e.bindAmount - e.barcodeAmount);
e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount;
}
});

@ -273,7 +273,14 @@
v-hasPermi="['mes:saleOrder:used']"
v-if="scope.row.saleOrderClassfication==='1' || scope.row.saleOrderClassfication==='3'"
>物料使用</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-if="scope.row.isRelease==='0'"
v-hasPermi="['mes:saleOrder:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -458,7 +465,14 @@
</template>
<script>
import { listSaleOrder, getSaleOrder, delSaleOrder, addSaleOrder, updateSaleOrder } from "@/api/mes/saleOrder";
import {
listSaleOrder,
getSaleOrder,
delSaleOrder,
addSaleOrder,
updateSaleOrder,
listOrderBinds
} from "@/api/mes/saleOrder";
import saleOrderRelates from "@/views/mes/saleOrder/saleOrderRelates.vue";
import orderBinds from "@/views/mes/saleOrder/orderBinds.vue";
import {runJob} from "@/api/monitor/job";
@ -701,9 +715,14 @@ export default {
});
},
/** 删除按钮操作 */
handleDelete(row) {
async handleDelete(row) {
const saleOrderIds = row.saleOrderId || this.ids;
this.$modal.confirm('是否确认删除销售订单信息编号为"' + saleOrderIds + '"的数据项?').then(function() {
const bindRes = await listOrderBinds({ saleOrderId: row.saleOrderId });
if (bindRes.total > 0) {
this.$modal.msgWarning("此销售订单已有采购订单绑定!");
return;
}
await this.$modal.confirm('是否确认删除销售订单信息编号为"' + row.saleorderCode + '"的数据项?').then(function() {
return delSaleOrder(saleOrderIds);
}).then(() => {
this.getList();

@ -1,14 +1,14 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<!-- <el-form-item label="供应商编号" prop="supplierCode">-->
<!-- <el-input-->
<!-- v-model="queryParams.supplierCode"-->
<!-- placeholder="请输入供应商编号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="供应商编号" prop="supplierCode">
<el-input
v-model="queryParams.supplierCode"
placeholder="请输入供应商编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商名称" prop="supplierName">
<el-input
v-model="queryParams.supplierName"

@ -76,6 +76,21 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="同步ERP状态" prop="erpStatus" label-width="100px">
<el-select
v-model="queryParams.erpStatus"
placeholder="请选择同步ERP状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.wms_erp_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>

@ -113,6 +113,21 @@
/>
</el-select>
</el-form-item>
<el-form-item label="同步ERP状态" prop="erpStatus" label-width="100px">
<el-select
v-model="queryParams.erpStatus"
placeholder="请选择同步ERP状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.wms_erp_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -139,6 +154,12 @@
</el-table-column>
<el-table-column label="申请数量" align="center" prop="outstockAmount"/>
<el-table-column label="出库数量" align="center" prop="realOutstockAmount"/>
<el-table-column label="同步ERP状态" align="center" prop="erpStatus" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.wms_erp_status" :value="scope.row.erpStatus"/>
</template>
</el-table-column>
<el-table-column label="同步ERP数量" align="center" prop="erpAmount" width="100"/>
<el-table-column label="申请人" align="center" prop="applyBy"/>
<el-table-column label="申请原因" align="center" prop="applyReason"/>
<el-table-column label="申请时间" align="center" prop="applyDate" width="180">
@ -192,7 +213,7 @@ import {listRawoutstock, getWarehouses} from "@/api/wms/rawoutstock";
export default {
name: "Rawoutstock",
dicts: ['wms_audit_status', 'wms_execute_status', 'wms_raw_outstock_task_type'],
dicts: ['wms_audit_status', 'wms_execute_status', 'wms_raw_outstock_task_type','wms_erp_status'],
data() {
return {
//

Loading…
Cancel
Save