table数据表格......

讨论 未结
13 178
正义的奥特曼
悬赏:20飞吻
先看图片
数据表格其中的库存数量和实际盘点量是可以修改的,通过修改获得修改后的数据,库存数量和实际盘点量相减得到的数据,怎么赋值到盈亏数量这里面求解..??
回帖
  • muxinss
    2018-10-12
    @正义的奥特曼
    layui.table.on('edit(paStafConf-logicGroups-table)', function(obj){

    /*Assuming the structed data loaded in table is
    data =
    [{
    a : XXX,
    b : XXX,
    c : XXX,
    }]
    */

    obj.update(calculate(obj.data));
    function calculate(rowData){
    rowData && algo.call(rowData)
    return rowData
    function algo(){
    this.c= this.a - this.b
    }
    }
    });
    要点:监听单元格编辑,处理函数里面对数据进行算法加工,然后对该行数据进行update方法更新到模型及视图
    1 回复
  • 没有人吗?55555555......
    0 回复
  • 用lay-event对修改事件冒泡,然后通过table.on(evt, function(obj){}) 捕捉修改事件,通过obj.data 获取当前行的数据,计算以后通过obj.update(name:value)的方法对其他列进行更新
    0 回复
  • 圣贤愁
    2018-10-10
    templet : "<span>{{d.库存字段名}}-{{d.实际盘点字段名}}</span>"
    0 回复
  • muxinss
    2018-10-10
    @正义的奥特曼 自己撸代码计算差额,然后更新缓存,再reload 缓存
    0 回复
  • obj.update这个可以利用,比如你修改了一个字段单价field: 单价,然后表格有另外一个字段叫数量field: 数量,还有一个合计金额的field: 金额,合计的列是用templet去计算出来的,那么你修改了数量或者单价之后可以利用update直接就去更新合计的,但是关键点是update的时候需要把合计的这个列也带上,可以完全不用给他赋值,但是必须带上,比如下面的
    update({单价: 100, 金额: ''});
    但是!!!目前的一个table很奇特的设定,update的时候如果原始数据里面没有你update里面更新的这个字段的值是不会做任何修改的。比如你一开始金额后台是没有返回的,是用templet去弄出来的,那么update的时候update这个字段就会因为上面那个奇葩的设定给弄垮了,关于update和templet的可以看看我较早之前发的一个帖子了 https://fly.layui.com/jie/29442/ ,里面也提到了这个问题,里面提到的另外的一个bug目前已经修复了,但是更新的时候如果原始没有数据就不走更新逻辑的这个设定还是一直没有变动。自己可以考虑要不要给改掉,实现更加合理的update。然后充分利用update去做更多的事情,比如你这个需求。
    0 回复
  • @圣贤愁 能在具体点吗?
    0 回复
  • @岁月小偷 太复杂了,还是不明吧[泪]
    0 回复
  • @正义的奥特曼 首先修改table.js的源码把我上面那个图的那句代码注释掉,然后记得把它的结束的符}也要注释掉,如果是混淆的基本很难找,不建议,直接在未压缩的版本上修改,让它支持update一些属性一开始没有的。
    然后是实际需要用到的时候
    0 回复
  • @muxinss 有示例代码吗?
    0 回复
  • @岁月小偷 好的 我再看看
    0 回复
  • @shfirework 能在具体点吗 我有点蒙[生病]
    0 回复
  • @muxinss 好的谢谢 我再看看
    0 回复