Ext.define('saas.view.stock.make.FormPanelController', { extend: 'saas.view.core.form.FormPanelController', alias: 'controller.stock-make-formpanel', init: function (form) { var me = this; this.control({ //放大镜赋值关系 以及 tpl模板 'dbfindtrigger[name=ma_whname]':{ beforerender:function(f){ Ext.apply(f,{ dataUrl:'/api/document/warehouse/list', // dataUrl:'http://localhost:9480/warehouse/list', addXtype: 'other-warehouse', addTitle: '仓库资料', defaultCondition:"wh_statuscode='OPEN'", dbfinds:[{ from:'id',to:'ma_whid',ignore:true },{ from:'wh_code',to:'ma_whcode' },{ from:'wh_description',to:'ma_whname' }], dbtpls:[{ field:'wh_code',width:100 },{ field:'wh_description',width:100 }], dbSearchFields:[{ emptyText:'输入仓库编号或名称', xtype : "textfield", name : "wh_code", allowBlank : true, columnWidth : 0.25, getCondition:function(v){ return "(upper(wh_code) like '%"+v.toUpperCase()+"%' or upper(wh_description) like '%"+v.toUpperCase()+"%')"; } }], dbColumns:[{ "text": "仓库ID", "flex": 0, "dataIndex": "id", "width": 0, "xtype": "", "items": null },{ "text": "仓库编号", "flex": 1, "dataIndex": "wh_code", "width": 100, "xtype": "", "items": null }, { "text": "仓库名称", "flex": 1, "dataIndex": "wh_description", "xtype": "", "items": null }, { "text": "仓库类型", "flex": 1, "dataIndex": "wh_type", "xtype": "", "items": null }] }) ; } }, //放大镜赋值关系 以及 tpl模板 'dbfindtrigger[name=mm_whname]':{ beforerender:function(f){ Ext.apply(f,{ dataUrl:'/api/document/warehouse/list', // dataUrl:'http://localhost:9480/warehouse/list', addXtype: 'other-warehouse', addTitle: '仓库资料', defaultCondition:"wh_statuscode='OPEN'", dbfinds:[{ from:'id',to:'mm_whid',ignore:true },{ from:'wh_code',to:'mm_whcode' },{ from:'wh_description',to:'mm_whname' }], dbtpls:[{ field:'wh_code',width:100 },{ field:'wh_description',width:100 }], dbSearchFields:[{ emptyText:'输入仓库编号或名称', xtype : "textfield", name : "wh_code", allowBlank : true, columnWidth : 0.25, getCondition:function(v){ return "(upper(wh_code) like '%"+v.toUpperCase()+"%' or upper(wh_description) like '%"+v.toUpperCase()+"%')"; } }], dbColumns:[{ "text": "仓库ID", "flex": 0, "dataIndex": "id", "width": 0, "xtype": "", "items": null },{ "text": "仓库编号", "flex": 1, "dataIndex": "wh_code", "width": 100, "xtype": "", "items": null }, { "text": "仓库名称", "flex": 1, "dataIndex": "wh_description", "xtype": "", "items": null }, { "text": "仓库类型", "flex": 1, "dataIndex": "wh_type", "xtype": "", "items": null }] }) ; } }, 'multidbfindtrigger[name=mm_prodcode]':{ beforerender:function(f){ Ext.apply(f,{ //数据接口 dataUrl:'/api/document/product/list', addXtype: 'document-product-formpanel', addTitle: '物料资料', //放大镜赋值设置 dbfinds:[{ from:'pr_code',to:'mm_prodcode' },{ from:'id',to:'mm_prodid' },{ from:'pr_detail',to:'pr_detail' },{ from:'pr_spec',to:'pr_spec' },{ from:'pr_unit',to:'pr_unit' }], //联想设置 dbtpls:[{ field:'pr_code',width:100 },{ field:'pr_detail',width:100 },{ field:'pr_spec',width:100 }], defaultCondition:"pr_statuscode='OPEN'", //窗口字段设置 dbSearchFields:[{ emptyText:'输入物料编号、名称或规格', xtype : "textfield", name : "search", width: 200, getCondition: function(v) { return "(upper(pr_spec) like '%" + v.toUpperCase()+"%' or upper(pr_code) like '%"+v.toUpperCase()+"%' or upper(pr_detail) like '%"+v.toUpperCase()+"%')"; }, allowBlank : true, columnWidth : 0.25 }], //窗口列设置 dbColumns:[{ "text": "物料ID", "hidden": true, "dataIndex": "id", }, { "text": "物料编号", "dataIndex": "pr_code", "width": 200, }, { "text": "物料名称", "width": 200, "dataIndex": "pr_detail", }, { "text": "规格", "dataIndex": "pr_spec", "width": 100, }, { "text": "单位", "dataIndex": "pr_spec", "width": 100, },{ "text": "仓库id", "dataIndex": "pr_whid", "hidden": true, },{ "text": "仓库编号", "dataIndex": "pr_whcode", "hidden": true, },{ "text": "仓库", "dataIndex": "pr_whname", "width": 200, "hidden": true },{ "text": "总库存数", "dataIndex": "po_onhand", "width": 100, xtype: 'numbercolumn', renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, align:'end' },{ "text": "类型", "dataIndex": "pr_kind", "width": 100, },{ "text": "型号", "dataIndex": "pr_orispeccode", "width": 100, },{ "text": "品牌", "dataIndex": "pr_brand", "width": 100, },{ "text": "供应商", "dataIndex": "pr_vendname", "width": 100, },{ "text": "最小包装", "dataIndex": "pr_zxbzs", "width": 100, xtype: 'numbercolumn', align:'end' },{ "text": "L/T", "dataIndex": "pr_leadtime", "width": 100, }] }) ; } }, 'dbfindtrigger[name=ma_prodcode]':{ beforerender:function(f){ Ext.apply(f,{ //数据接口 dataUrl:'/api/document/bom/list', addXtype: 'document-bom-formpanel', addTitle: 'BOM资料', //放大镜赋值设置 dbfinds:[{ from:'bo_motherid',to:'ma_prodid' },{ from:'bo_mothercode',to:'ma_prodcode' },{ from:'bo_mothername',to:'ma_proddetail' },{ from:'pr_spec',to:'ma_prodspec' },{ from:'pr_unit',to:'ma_produnit' },{ from:'bo_version',to:'ma_version' }], //联想设置 dbtpls:[{ field:'bo_mothercode',width:100 },{ field:'bo_mothername',width:100 }], aftertrigger:function(f,record){ me.getBomData(record.data.id) }, defaultCondition:"bo_statuscode='OPEN'", //窗口字段设置 dbSearchFields:[{ emptyText:'输入BOM编号或名称', xtype : "textfield", name : "search", width: 200, getCondition: function(v) { return "(upper(bo_mothercode) like '%"+v.toUpperCase()+"%' or upper(bo_mothername) like '%"+v.toUpperCase()+"%')"; }, allowBlank : true, columnWidth : 0.25 }], //窗口列设置 dbColumns:[{ "text": "物料ID", "hidden": true, "dataIndex": "id", }, { "text": "产品编号", "dataIndex": "bo_mothercode", "width": 200, }, { "text": "产品名称", "width": 200, "dataIndex": "bo_mothername", }, { "text": "产品规格", "width": 200, "dataIndex": "pr_spec", }, { "text": "版本", "width": 200, "dataIndex": "bo_version", } // ,{ // "text": "规格", // "dataIndex": "pr_spec", // "width": 100, // }, { // "text": "单位", // "dataIndex": "pr_spec", // "width": 100, // },{ // "text": "仓库id", // "dataIndex": "pr_whid", // "hidden": true, // },{ // "text": "仓库编号", // "dataIndex": "pr_whcode", // "hidden": true, // },{ // "text": "仓库", // "dataIndex": "pr_whname", // "width": 200, // },{ // "text": "总库存数", // "dataIndex": "po_onhand", // "width": 100, // align:'end' // },{ // "text": "类型", // "dataIndex": "pr_kind", // "width": 100, // },{ // "text": "型号", // "dataIndex": "pr_orispeccode", // "width": 100, // },{ // "text": "品牌", // "dataIndex": "pr_brand", // "width": 100, // },{ // "text": "供应商", // "dataIndex": "pr_vendname", // "width": 100, // },{ // "text": "最小包装", // "dataIndex": "pr_zxbzs", // "width": 100, // align:'end' // },{ // "text": "L/T", // "dataIndex": "pr_leadtime", // "width": 100, // } ] }) ; } }, //从表多选放大镜赋值关系 以及 tpl模板 }); }, price_change:function() { var me = this, viewModel = me.getViewModel(), store = viewModel.get('detail0').detailStore; var sum_qty = store.sum('mm_price'); viewModel.set('ma_price',sum_qty); }, getBomData: function(v) { var me = this, form = me.getView(), viewModel = me.getViewModel(), store = viewModel.get('detail0').detailStore, loadData = new Array();; //请求bom资料 saas.util.BaseUtil.request({ url: form._getBomUrl+v, method: 'GET', }) .then(function(localJson) { if(localJson.success){ var data = localJson.data.items; Ext.Array.each(data, function(item, i) { loadData.push({ mm_detno:item.bd_detno, mm_prodid:item.productDTO.id, mm_prodcode:item.productDTO.pr_code, mm_oneuseqty:item.bd_baseqty, pr_detail:item.productDTO.pr_detail, pr_spec:item.productDTO.pr_spec, pr_unit:item.productDTO.pr_unit, mm_repprodcode:item.bd_replace, mm_remark:item.bd_remark, mm_whid:item.productDTO.pr_whid, mm_whcode:item.productDTO.pr_whcode, mm_whname:item.productDTO.pr_whname }) }); store.loadData(loadData); } }) .catch(function(res) { console.error(res); saas.util.BaseUtil.showToast('获取BOM资料失败: ' + res.message); }); } });