如何通过脚本在TreeView是动态增加行?

admin 2020-9-17 13740

这几天在二开(造轮子)的一个项目中,有个功能是对TreeView进行改造,增加了一个代码输入框(一般是扫码枪扫描条形码),输入代码后调用python进行处理。为了让操作人员能直观地看到扫码的记录处理结果,所以扫完一个码之后就要把这笔记录显示在列表中。
界面改造如下:

在包裹单号输入框中输入(或扫码)包裹号,然后调用函数 do_move_location 通过RPC调用Python处理,处理结束后,查询该笔记录添加到列表中,代码如下:

do_move_location: function () {
    console.log('do_move_location...');
    var self = this;
    var packageId = $('#package_id').val();
    var basketId = $('#basket_id').val();
    var moveType = $('#move_type').val();
    $('#package_id').val('');
    if(!moveType || moveType==""){
        this.do_warn("提示", "请先选择一个操作类型!" )
        return ;
    }
    var context = this.dataset.context;
    new Model('htkjt.cbemspms.package').call("do_move_location", [moveType, packageId, basketId] ).then(function(result){
        console.log(result);
        if(result.success){
            console.log("修改成功");
            new Model('htkjt.cbemspms.package').query().filter([['logisticsNo', '=', packageId]]).limit(1000).all().then(function(pkg){
                _.each(pkg, function(record){
                    try{
                        self.records.add(record, {at: null});   //这是把record添加到列表的关键行
                    }catch(e){
                        console.log(e.description);
                    }
                });
            });
        }else{
            self.do_warn("错误", result.message )
        }
    });
},

其他代码就不赘述了。

最新回复 (0)
返回