Ext.QuickTips.init();
Ext.define('erp.controller.scm.product.ProductBatchUUId', {
extend: 'Ext.app.Controller',
FormUtil: Ext.create('erp.util.FormUtil'),
GridUtil: Ext.create('erp.util.GridUtil'),
BaseUtil: Ext.create('erp.util.BaseUtil'),
views:[
'scm.product.ProductBatchUUId','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar','core.button.Scan','core.button.Export',
'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit',
'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.button.CleanDetail','core.button.Confirm','core.button.GetB2CProductKind',
'scm.product.GetUUid.ComponentGrid','scm.product.GetUUid.Toolbar','core.button.LoadProd','core.button.RemoveUUId','core.button.GetUUId'
],
init:function(){
var me = this;
this.control({
'erpGridPanel2': {
itemclick: this.onGridItemClick,
/*cellclick:function(view,td,cellIndex,record,tr,rowIndex,e,eOpts){
var field = view.ownerCt.columns[cellIndex].dataIndex;
if (field == 'pub_uuidstr') {
this.onCellItemClick(record);
};
}*/
},
'erpConfirmButton':{
beforerender:function(btn){
btn.text="更新";
btn.width=80;
},
click:function(btn){
var stores = me.GridUtil.getGridStore(Ext.getCmp('grid'));
if(stores.length != 0){//
var errInfo = me.GridUtil.getUnFinish(Ext.getCmp('grid'));
if(errInfo.length > 0){
showError('明细表有必填字段未完成填写
' + errInfo);
}else{
me.batchUpdateUUId(stores);
}
}else{
showError("还未添加或修改数据.");
}
}
},
'erpCloseButton': {
click: function(btn){
me.FormUtil.beforeClose(me);
}
},
'gridcolumn[dataIndex=pub_uuidstr]': {
afterrender: function(column) {
column.renderer = function(val, meta, record) {
if(val != null && val != "") {
val = '有';
} else {
val = '无';
}
return val;
}
}
},
'erpGetB2CProductKindButton':{
click:function(btn){
var record = Ext.getCmp('grid').selModel.lastSelected;
if(record && record.get("pub_prodcode")){
me.onCellItemClick(record);
}
},
afterrender:function(btn){
btn.setDisabled(true);
}
},
//清除明细
'erpCleanDetailButton' : {
click: function(btn){
var param = me.GridUtil.getAllGridStore(Ext.getCmp('grid'));
if(param == null || param == ''){
showError("没有需要清除的明细");
return ;
}
me.cleanDetail();
}
},
'erpLoadProdButton':{
click:function(btn){
var form=Ext.getCmp('form');
var KeyValue=Ext.getCmp("em_id").value;
var me = this;
var url = basePath + "jsps/scm/product/ProdResource.jsp";
var panel = Ext.getCmp("em_id=" +KeyValue);
var main = parent.Ext.getCmp("content-panel");
var panelId= main.getActiveTab().id;
var urlcondition=" pr_code not in (select pub_prodcode from ProductUUIDBatch)";
main.getActiveTab().currentGrid = Ext.getCmp('grid');
if(!panel){
var title = "";
if (KeyValue.toString().length>4) {
title = KeyValue.toString().substring(KeyValue.toString().length-4);
} else {
title = KeyValue;
}
panel = {
title:'标准料号设置物料来源(('+KeyValue+')',
tag : 'iframe',
tabConfig:{tooltip:'标准料号设置物料来源('+title+')'},
frame : true,
border : false,
layout : 'fit',
iconCls : 'x-tree-icon-tab-tab',
html : '',
closable : true,
listeners : {
close : function(){
main.setActiveTab(main.getActiveTab().id);
}
}
};
me.FormUtil.openTab(panel,"em_id=" + KeyValue);
}else{
main.setActiveTab(panel);
}
}
},
'erpRemoveUUIdButton':{
click:function(btn){
var stores = me.GridUtil.getAllGridStore(Ext.getCmp('grid'));
if(stores.length != 0){
me.removeUUId();
}
}
},
'erpGetUUIdButton':{//自动匹配
click:function(btn){
var stores = me.GridUtil.getAllGridStore(Ext.getCmp('grid'));
//grid.getStore()
if(stores.length != 0){
me.getUUid();
}
}
},
'erpDeleteDetailButton': {
afterrender: function(btn){
btn.ownerCt.add({
xtype: 'erpGetB2CProductKindButton'
});
}
}
});
},
onCellItemClick:function(record){
var me = this;
// grid行选择
var str = record.data['pub_uuidstr'];
var uuid = record.data['pub_uuid'];
if(!record.dirty && !Ext.isEmpty(uuid)){
//根据uuid获取相关信息
me.getByUUid(uuid,function(data){
if(data != null){
me.createWin(data);
}
});
}else if(!Ext.isEmpty(str)){
me.getByUUid(str,function(data){
if( data != null){
me.createWin(data);
}
});
}else{
var win = me.uuWin;
var linkCaller = 'Product';
if (!win) {
var status= '';
me.uuWin = win = new Ext.window.Window({
id : 'uuWin',
height : "100%",
width : "80%",
maximizable : true,
closeAction : 'hide',
buttonAlign : 'center',
layout : 'anchor',
title : '获取编号',
items : [{
tag : 'iframe',
anchor : '100% 100%',
layout : 'fit',
html : ''
}]
});
}
win.show();
}
},
createWin:function(data){
var me = this, win = me.orWin;
me.data=data;
if (!win) {
me.orWin=win = Ext.create('Ext.Window',{
id : 'wind',
title:'标准料号',
height : '65%',
width : '65%',
maximizable : true,
buttonAlign : 'center',
closeAction:'hide',
layout : 'anchor',
items : [{
xtype:'erpComponentGrid',
anchor: '100% 100%'
}],
bbar: ['->',{
text:'关闭',
cls: 'x-btn-gray',
iconCls: 'x-button-icon-close',
listeners: {
click: function(btn){
btn.up('window').close();
}
}
},'->'],
listeners:{
beforeshow:function(win){
var g = win.down('erpComponentGrid');
g.store.loadData(me.data);
dataCount = data.length;
Ext.getCmp('pagingtoolbar').afterOnLoad();
}
}
});
}
win.show();
},
getByUUid:function(str,callback){
Ext.Ajax.request({//获取匹配结果
url : basePath + "scm/product/getByUUIds.action",
params :{
ids:str
},
method : 'post',
callback : function(opt, s, res){
var r = new Ext.decode(res.responseText);
if(r && r.exceptionInfo){
showError(r.exceptionInfo);
}else{
callback && callback.call(null, r.gridStore);
}
}
});
},
cleanDetail: function(){
var grid=Ext.getCmp('grid');
grid.setLoading(true);
Ext.Ajax.request({
url :basePath+ 'scm/product/clearUUDetail.action',
params: {
id:Ext.getCmp('em_id').value,
caller : caller
},
method : 'post',
callback : function(options,success,response){
grid.setLoading(false);
var localJson = new Ext.decode(response.responseText);
if(localJson.success){
showMessage('提示', '操作成功!', 1000);
//update成功后刷新页面进入可编辑的页面
window.location.reload();
} else if(localJson.exceptionInfo){
showError(localJson.exceptionInfo);return;
}
}
});
},
onGridItemClick: function(selModel, record){//grid行选择
var btn= Ext.getCmp('getb2cproductkind');
if(btn && btn.disabled){
btn.setDisabled(false);
}
this.GridUtil.onGridItemClick(selModel, record);
},
getForm: function(btn){
return btn.ownerCt.ownerCt;
},
batchUpdateUUId:function(data){
var me = this;
//有修改值
me.FormUtil.setLoading(true);
Ext.Ajax.request({
url :basePath+ 'scm/product/batchUpdateUUId.action',
params: {
param:unescape(data)
},
method : 'post',
callback : function(options,success,response){
me.FormUtil.setLoading(false);
var localJson = new Ext.decode(response.responseText);
if(localJson.success){
showMessage('提示', '操作成功!', 1000);
//update成功后刷新页面进入可编辑的页面
window.location.reload();
} else if(localJson.exceptionInfo){
showError(localJson.exceptionInfo);return;
}
}
});
},
getUUid:function(){
var me = this;
//有修改值
me.FormUtil.setLoading(true);
Ext.Ajax.request({
url :basePath+ 'scm/product/getUUId.action',
params: {
caller : caller
},
method : 'post',
timeout:300000,
callback : function(options,success,response){
me.FormUtil.setLoading(false);
var localJson = new Ext.decode(response.responseText);
if(localJson.success){
showMessage('提示', '操作成功!', 1000);
//update成功后刷新页面进入可编辑的页面
window.location.reload();
} else if(localJson.exceptionInfo){
showError(localJson.exceptionInfo);return;
}
}
});
},
removeUUId:function(){
var me = this;
//有修改值
me.FormUtil.setLoading(true);
Ext.Ajax.request({
url :basePath+ 'scm/product/removeUUId.action',
params: {
pub_emid:Ext.getCmp("em_id").value,
caller : caller
},
method : 'post',
callback : function(options,success,response){
me.FormUtil.setLoading(false);
var localJson = new Ext.decode(response.responseText);
if(localJson.success){
showMessage('提示', '操作成功!', 1000);
//update成功后刷新页面进入可编辑的页面
window.location.reload();
} else if(localJson.exceptionInfo){
showError(localJson.exceptionInfo);return;
}
}
});
}
});