• 项目开发小记: 相同货品ID 请求拿到不同批次号数据 赋值给获取ID的数据数组


    const serialNoData = [];
    return new Promise( async (resolve, reject) => {
                            
        let _batchSerialNos;
        try{
            _batchSerialNos = await this.$kgw.getBatchGetSerialNo({
               goodsId: goodsId
            });
            _batchSerialNos.forEach((item,index) => {
               if(!serialNoData[item.goodsId]){
                     serialNoData[item.goodsId] = [item];
                 }else{
                     serialNoData[item.goodsId].push(item);
                 }
           })
    
                 resolve(serialNoData);
           } catch(err){
                 reject(false)
           }
                            
    });

    将拿到的数据将货品ID 作为键存起开作为一个HASH 如果没有存在当前货品ID就直接赋值,如果存在就PUSH进当前货品ID对应的数组中

    
    
    _batchSerialNo && turnDatas.forEach((goodsItem,index) => {

    if
    (_batchSerialNo[goodsItem.goodsId] && (goodsItem.isOnBatch || goodsItem.proIsOnBatch)) { this.$set(goodsItem,'batchNo',_batchSerialNo[goodsItem.goodsId][0].serialNo) this.$set(goodsItem,'expireTime',_batchSerialNo[goodsItem.goodsId][0].expireDate) this.$set(goodsItem,'isCanAlter',_batchSerialNo[goodsItem.goodsId][0].isCanAlter) this.$set(goodsItem,'produceTime',this.$kgw.$DC.formatDate()) const start = new Date().getTime(),     end = new Date(_batchSerialNo[goodsItem.goodsId][0].expireDate).getTime(); this.$set(goodsItem,'intervalTime',end - start) batchSerialNo[goodsItem.goodsId].splice(0, 1); }

    });

    遍历数组根据hash  赋值 赋值每次都赋值index == 0的数据,或者最后赋值数组length-1,赋值之后将货品ID对应的数组,根据赋值的index 删除,splice(index,1);

  • 相关阅读:
    jQuery 基础一 样式篇
    javaJavaScript DOM
    linux 实用命令
    Linux下修改.bash_profile 文件改变PATH变量的值
    java 字符串截取的方法
    Telnet命令参考手册
    linux下dubbo调试 ---telnet命令
    【Spring Task】定时任务详解实例-@Scheduled
    Spring定时任务的几种实现
    SQL之case when then用法
  • 原文地址:https://www.cnblogs.com/lcf1314/p/8675166.html
Copyright © 2020-2023  润新知