odoo多层次弹窗

js:

//绑定周转箱
        bind_pass_box_create: function(){
            console.log('1111111');
            var self = this;
            var records = _.map(self.selectedRecords, function (id) {
                return self.model.localData[id];
            });
            var ids1 = _.pluck(records, 'res_id');
            this._rpc({
                model: 'wms.out.turnbox',
                method: 'bind_pass_box',
                args: [ids1],
            }).then(function (result) {
                console.log('2222222');
                new dialogs.BiconSelectCreateDialog(self, {
                    res_model: 'base.container',
                    title: '选择周转箱',
                    list_view_id: result.list_view_id || false,
                    search_view_id: result.search_view_id || false,
                    disable_multiple_selection: true,
                    no_create: true,
                    custom_button: true,
                    text: '确定',
                    domain: [['containertype', '=', '1'], ['usestatus', '=', '1']],
                    on_selected: function (records) {
                        var ids = _.pluck(records, 'res_id');
                        self._rpc({
                            model: 'wms.out.turnbox',
                            method: 'bind_pass_box_confirm',
                            args: [ids1, ids],
                        }).then(function () {
                            self.reload();
                        });
                    }
                }).open();
            });
        },


函数(方法)

@api.model
    def bind_pass_box(self, ids1):
        """
        绑定周转箱
        :return:
        """
        logger.critical('绑定周转箱')
        if not ids1:
            raise ValidationError('请选择至少一条数据')
        else:
            records = self.env['wms.out.turnbox'].search([('id', 'in', ids1)])
            for record in records:
                if record.containerno:
                    raise ValidationError('该周转箱任务已绑定周转箱,不能重复绑定')
                else:
                    view_id = self.env.ref('bicon_wms_base.tree_base_container').id
                    return {
                        'list_view_id': view_id,
                    }

    @api.model
    def bind_pass_box_confirm(self, ids1, ids):
        """
        弹出周转箱选择的确认窗口
        周转箱绑定,状态变为待拣货, 容器的使用状态改变,选择是内用周转箱
        :return:
        """
        logger.critical('弹出周转箱选择的窗口')
        container_records = self.env['base.container'].search([('id', 'in', ids)])
        container_records.usestatus = USESTATUS.OCCUPY.value  # 由空闲变为占用

        box_records = self.env['wms.out.turnbox'].search([('id', 'in', ids1)])
        box_records.containerno = container_records.containerno
        box_records.usestatus = WTB_STATUS.PICKING.value  # 状态由待绑定变为 待拣货
        box_records.containerid = container_records.id
        box_records.binddate = datetime.today().strftime('%Y-%m-%d')
        print('bind_pass_box_confirm')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值