vhbjknkm 2022-03-09 09:19 采纳率: 100%
浏览 96
已结题

这个是前端的问题我是后端的不晓得怎嘛做来请教各位

我的需求

同一物料名称合并展示报价情况,无需将中标和未中标分开;相同物料采购组织合并展示;
将物料信息列表下相同的物料信息合并
就是
眼镜
账单
眼镜
账单
合并成
眼镜
账单

this.pdResultDetailTable = new $.DataTable(pdResultDetailTable)
                detailDataTable.rows.subscribe(function (rows) {
                    Common.setSimpleData(this.pdResultDetailTable, Common.getSimpleData(detailDataTable))
                }.bind(this))
                this.rows = detailDataTable.rows
                this.columns = ko.observableArray([
                    {
这里是源代码
                        title: '物料信息',
                        field: 'materialName',
                        width: 240,
                        lock: true,
                        sortIndex: 1,
                        type: 'component',
                        compFn: function (rows) {
                            return {
                                name: 'td-materielinfor',
                                params: {
                                    rows: rows,
                                    state: that.stateMaterials
                                }
                            }
                        }

  • 写回答

5条回答 默认 最新

  • Iridescent 2022-03-09 14:27
    关注

    不晓得你说的采购合并是合并为数组还是拼接,都附上

    var matArr = [
            {
                "id":"01",//物料编码
                "name":"眼镜",//物料名称
                "purchase": "采购部",//采购组织
            },
            {"id":"02","name":"水杯","purchase": "财务部"},
            {"id":"03","name":"表计","purchase": "计量部"},
            {"id":"01","name":"眼镜","purchase": "检测部"},
            {"id":"02","name":"水杯","purchase": "人事部"},
            {"id":"03","name":"表计","purchase": "设备部"},
        ];
    function sortArr(arr) {
            let arrIndex = [];
            let result = [];
            for (let item of arr) {
                if (arrIndex.includes(item.id) == false) {    //判断物料id是否已存在
                    let obj = {
                        name: item.name,
                        id: item.id,
                        list: "",   //拼接
    //                    list: []    //数组
                    };
                    obj.list = item.purchase;
    //                obj.list.push(item.purchase);
                    result.push(obj);
                    arrIndex.push(item.id);
                } else {
                    let index = arrIndex.indexOf(item.id)
                    result[index].list = result[index].list+","+item.purchase;
    //                result[index].list.push(item.purchase)
                }
            }
            return result
        }
    console.log(sortArr(matArr));
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 对于这个问题的代码运行
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败