Ext.define('saas.view.document.bom.FormController', { extend: 'saas.view.core.form.FormPanelController', alias: 'controller.document-bom-formpanel', init: function (form) { var me = this; this.control({ //放大镜赋值关系 以及 tpl模板 'dbfindtrigger[name=bo_mothercode]':{ beforerender:function(f){ Ext.apply(f,{ dataUrl:'/api/document/product/list', addXtype: 'document-product-formpanel', addTitle: '物料资料', dbfinds:[ { from:'pr_code',to:'bo_mothercode' }, { from:'pr_detail',to:'bo_mothername' }, { from:'pr_spec',to:'pr_spec' }, { from:'id',to:'bo_motherid',ignore:true }], dbtpls:[{ field:'pr_code',width:100 },{ field:'pr_detail',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_unit", "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, xtype: 'numbercolumn', 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模板 'multidbfindtrigger[name=bd_soncode]':{ beforerender:function(f){ Ext.apply(f,{ //数据接口 dataUrl: '/api/document/product/list', addXtype: 'document-product-formpanel', addTitle: '物料资料', //放大镜赋值设置 dbfinds:[{ from:'pr_code',to:'bd_soncode' },{ from:'pr_detail',to:'pr_detail' },{ from:'pr_spec',to:'pr_spec' },{ from:'pr_unit',to:'bd_unit' },{ from:'id',to:'bd_sonid',ignore:true }], //联想设置 dbtpls:[{ field:'pr_code',width:100 },{ field:'pr_detail',width:100 }], defaultCondition: "pr_statuscode='OPEN'", dbSearchFields:[{ emptyText:'输入物料编号、名称或规格', width: 200, xtype : "textfield", name : "search", allowBlank : true, columnWidth : 0.25, getCondition:function(v){ return "(upper(pr_code) like '%" + v.toUpperCase() + "%' or upper(pr_detail) like '%"+ v.toUpperCase() +"%' or upper(pr_spec) like '%"+ v.toUpperCase() +"%')"; } }], //窗口列设置 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_unit", "width": 100, }, { "text": "最新采购单价", "dataIndex": "pr_purcprice", "width": 0, xtype: 'numbercolumn', align:'end' },{ "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, xtype: 'numbercolumn', 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, }] }) ; } }, 'multidbfindtrigger[name=bd_replace]':{ beforerender:function(f){ Ext.apply(f,{ //数据接口 dataUrl: '/api/document/product/list', addXtype: 'document-product-formpanel', addTitle: '物料资料', //放大镜赋值设置 dbfinds:[ { from:'pr_code',to:'bd_replace' },{ 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 }], defaultCondition: "pr_statuscode='OPEN'", dbSearchFields:[{ emptyText:'输入物料编号、名称或规格', width: 200, xtype : "textfield", name : "search", allowBlank : true, columnWidth : 0.25, getCondition:function(v){ return "(upper(pr_code) like '%" + v.toUpperCase() + "%' or upper(pr_detail) like '%"+ v.toUpperCase() +"%' or upper(pr_spec) like '%"+ v.toUpperCase() +"%')"; } }], //窗口列设置 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_unit", "width": 100, }, { "text": "最新采购单价", "dataIndex": "pr_purcprice", "width": 0, xtype: 'numbercolumn', },{ "text": "仓库id", "dataIndex": "pr_whid", "hidden": true, },{ "text": "仓库编号", "dataIndex": "pr_whcode", "hidden": true, },{ "text": "仓库", "dataIndex": "pr_whname", "width": 200, },{ "text": "总库存数", "dataIndex": "po_onhand", xtype: 'numbercolumn', "width": 100, },{ "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', },{ "text": "L/T", "dataIndex": "pr_leadtime", "width": 100, }] }) ; } } }); }, auditBtnClick: function() { var me = this, form = me.getView(), statusCodeField = form._statusCodeField, viewModel = me.getViewModel(), status = viewModel.data[statusCodeField]; status == 'OPEN' ? me.unAudit() : me.audit(); }, audit: function(){ var me = this, form = this.getView(), viewModel = me.getViewModel(); me.BaseUtil.request({ url: form._openUrl+'/'+viewModel.data.id, params: '', method: 'POST', }) .then(function(localJson) { if(localJson.success){ form.initId = localJson.data.id; form.FormUtil.loadData(form); //viewModel.set('base.editable', false); showToast('启用成功'); } }) .catch(function(res) { console.error(res); showToast('启用失败: ' + res.message); }); }, unAudit: function() { var me = this, form = this.getView(), viewModel = me.getViewModel(); me.BaseUtil.request({ url: form._closeUrl+'/'+viewModel.data.id, params: '', method: 'POST', }) .then(function(localJson) { if(localJson.success){ form.initId = localJson.data.id; form.FormUtil.loadData(form); // viewModel.set('base.editable', false); showToast('关闭成功'); } }) .catch(function(res) { showToast('关闭失败: ' + res.message); }); } });