Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
3663 Tampilan

the widget was work correctly on odoo 12 but in odoo 13 the button where fire the widget dont give any action and after trace error i found thet the init function is fired correctly but start function not work

 iremoved part of the code which have events

odoo.define("stock_scan_frontend.action_start_scanning", function(require) {
console.log("begin");
"use strict";
var core = require("web.core");
var Widget = require("web.Widget");
var _t = core._t;
var QWeb = core.qweb;
var rpc = require('web.rpc');

var ScanningModel = Backbone.Model.extend({
initialize: function (session, attributes) {
console.log("1");

var self = this;
this.active_id = this.get_stock_id();
this.ready = this.load_stock_data();
this.data = {};
this.quantsData = {};
this.products = {};
this.codeProducts = {}
this.scan_lines = {}
this.addedScansObj = {};
this.totalQty = 0;
this.createdScansObj = {};
this.type_of_scaning = '';
this.pickin_Typ_code = '';
},
get_stock_id: function () {
console.log("2");
var lochash = location.hash.substr(1);
var activeid = lochash.substr(lochash.indexOf('id='))
.split('&')[0]
.split('=')[1];
return activeid;
},
load_stock_data: function () {
console.log("3");
var loaded = new $.Deferred();
var self = this;
var stock_picking = rpc.query({
model:'stock.picking',
method: 'get_stock_lot_scan_data',
args: [self.active_id],
}).then(function (result) {
console.log("4");
result = JSON.parse(result);
console.log(result);
self.scan_lines = result.scan_lines;

self.data = result.data;
self.products = result.products;
self.codeProducts = result.productsCodeData;
self.type_of_scaning = result.type_of_scaning;
self.pickin_Typ_code = result.pickin_Typ_code;
self.res_id = result.res_id;

loaded.resolve();


});
console.log("4aaxx");
return loaded;
}
});
var Scanning = Widget.extend({
template: "Scanning",
xmlDependencies: ['/stock_scan_frontend/static/xml/stock.xml'],
init: function (parent) {
console.log("7");
this._super(parent);
this.stock_data = new ScanningModel(require);
console.log("7a");
},
start: function () {
console.log("8");
var sup = this._super();
var self = this;
this._super.apply(this, arguments);


return this.stock_data.ready.done(function () {
self.$el.prepend();
setTimeout(function () {
$('input#scan_box').focus();
if (self.stock_data.type_of_scaning == 'third_group') {
$('input#default_code').show().focus();
$('input#expiration_date').show();
} else {
$('input#default_code').remove();
$('input#expiration_date').remove();
$('input#scan_box').attr('style', '');
}

var scan_lines_count = Object.keys(self.stock_data.scan_lines).length;
if (scan_lines_count > 0) {
for (var i = 0; i < scan_lines_count; i++) {
var scan_box = self.stock_data.scan_lines[i]['serial'];
if (!self.stock_data.addedScansObj[scan_box]) {
self.stock_data.addedScansObj[scan_box] = {};
}
var encoded = CryptoJS.MD5(scan_box);
var qty = parseInt(self.stock_data.scan_lines[i]['qty']);
var product_id = self.stock_data.scan_lines[i]['product_id'];
var product = self.stock_data.products[product_id]
var lot_name = self.stock_data.scan_lines[i]['lot_name'];
var date = new Date(self.stock_data.scan_lines[i]['expiration_date']);
self.stock_data.addedScansObj[scan_box][product_id] = {'stock_picking_id': parseInt(self.stock_data.res_id), 'product_id': product['id'], 'product_uom_qty': qty, 'lot_no': scan_box, 'lot_name': lot_name, 'expiration_date': self.stock_data.scan_lines[i]['expiration_date']};
var html = '<tr id="' + encoded + '"><td><input type="hidden" class="lineProductId" value="' + product['id'] + '" />' + product['name'] + '</td><td><input type="number" class="qty" value="' + qty + '"/></td><td><span class="scan_box_line">' + scan_box + '</span></td><td>' + lot_name + '</td><td>' + $.datepicker.formatDate("mm/dd/yy", date) + '</td><td style="cursor:pointer;" class="deleteScan"><span class="fa fa-trash-o" name="delete"></span></td></tr>';
$('table tbody').append(html);
self.stock_data.totalQty += qty;
}
$('span.totalQty').html(self.stock_data.totalQty);
}
}, 1000);
});
},

});
// instance.web.client_actions.add('stock.scan', 'instance.stock_scan_frontend.Scanning');
core.action_registry.add("stock.scan", Scanning);

});
Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Des 20
3075
2
Agu 20
3186
0
Nov 19
2954
1
Jul 24
1809
4
Mei 24
12373