| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.b2b.sale.SaleDown', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'core.form.Panel','b2b.sale.SaleDown','core.grid.Panel2','core.toolbar.Toolbar','core.form.FileField','core.form.MultiField','core.button.TurnSale',
- 'core.button.Save','core.button.Update','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload',
- 'core.button.Audit','core.button.Close','core.button.Delete','core.button.DeleteDetail','core.button.ResSubmit','core.button.TurnCustomer',
- 'core.button.ResAudit', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.grid.YnColumn'
- ],
- init:function(){
- var me = this;
- me.alloweditor = true;
- this.control({
- 'erpGridPanel2': {
- afterrender: function(grid){
- var status = Ext.getCmp('sa_statuscode');
- if(status && status.value != 'ENTERING' && status.value != 'COMMITED'){
- Ext.each(grid.columns, function(c){
- c.setEditor(null);
- });
- }
- }
- },
- 'erpUpdateButton': {
- afterrender: function(btn){
- var status = Ext.getCmp('sa_statuscode');
- if(status && status.value == 'TURNSA'){
- btn.hide();
- }
- },
- click: function(btn){
- this.FormUtil.onUpdate(this);
- }
- },
- 'erpCloseButton': {
- click: function(btn){
- me.FormUtil.beforeClose(me);
- }
- },
- 'erpTurnCustomerButton': {
- beforerender:function(btn){
- btn.setText("默认回复");
- },
- click: function(btn) {
- var me = this.FormUtil;
- var form = Ext.getCmp('form');
- Ext.Ajax.request({
- url : basePath + form.replyUrl,
- params: {
- id: Ext.getCmp('sa_id').value,
- caller:caller
- },
- method : 'post',
- callback : function(options,success,response){
- me.setLoading(false);
- var localJson = new Ext.decode(response.responseText);
- if(localJson.success){
- //audit成功后刷新页面进入可编辑的页面
- showMessage('提示', '回复成功!', 1000);
- window.location.reload();
- } else {
- if(localJson.exceptionInfo){
- var str = localJson.exceptionInfo;
- if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
- str = str.replace('AFTERSUCCESS', '');
- showMessage("提示", str, 1000);
- auditSuccess(function(){
- window.location.reload();
- });
- } else {
- showError(str);return;
- }
- }
- }
- }
- });
- }
- },
- 'erpPrintButton': {
- click: function(btn){
- me.FormUtil.onPrint(Ext.getCmp('sa_id').value);
- }
- },
- 'erpTurnSaleButton':{
- click: function(btn){
- var said=Ext.getCmp('sa_id').value;
- Ext.Ajax.request({
- url: basePath + 'b2b/sale/turnSale.action',
- params: {
- id: said,
- caller: caller
- },
- method: 'post',
- callback: function(opt, s, res) {
- var r = new Ext.decode(res.responseText);
- if (r.success) {
- showMessage('提示', '转销售订单成功!', 1000);
- var id = r.id;
- var url = 'jsps/scm/sale/sale.jsp?whoami=Sale&formCondition=sa_idIS' + id + '&gridCondition=sd_saidIS' + id;
- me.FormUtil.onAdd('Sale' + id, '销售订单' + id, url);
- } else if (r.exceptionInfo) {
- showError(r.exceptionInfo);
- } else {
- saveFailure();
- }
- }
- });
- }
- },
- /**
- * 更改供应商回复信息
- */
- '#updatevendorbackInfo': {
- click: function(btn) {
- var record = btn.ownerCt.ownerCt.getSelectionModel().getLastSelected();
- me.UpdateVendorInfo(record);
- }
- },
- });
- },
- onGridItemClick: function(selModel, record){//grid行选择
- if (record.data.sd_id != 0 && record.data.sd_id != null && record.data.sd_id != '') {
- var btn = Ext.getCmp('updatevendorbackInfo');
- btn && btn.setDisabled(false);
- }
- this.GridUtil.onGridItemClick(selModel, record);
- },
- UpdateVendorInfo: function(record) {
- win = this.getVendorInfoWindow(record);
- win.show();
- },
- getVendorInfoWindow: function(record) {
- var me = this;
- var date = record.data.sd_replydate;
- /*console.log(date);
- if (date != null) {
- date = Ext.Date.parse(date, 'Y-m-d');
- }
- console.log("A"+date);*/
- var replyqty=record.data.sd_replyqty;
- var qty=record.data.sd_qty;
- var num=qty-replyqty;
- return Ext.create('Ext.window.Window', {
- width: 430,
- height: 250,
- closeAction: 'destroy',
- cls: 'custom-blue',
- title: '<h1>回复信息</h1>',
- layout: {
- type: 'vbox'
- },
- items: [{
- width: '100%',
- },
- {
- margin: '5 0 0 5',
- xtype: 'datefield',
- fieldLabel: '回复交期',
- name: 'DELIVERYREPLY',
- format: 'Y-m-d',
- value: date,
- id: 'DELIVERYREPLY'
- },
- {
- margin: '5 0 0 5',
- xtype: 'numberfield',
- fieldLabel: '回复数量(剩余)',
- name: 'QTYREPLY',
- hideTrigger: true,
- value: num,
- id: 'QTYREPLY'
- },
- {
- margin: '5 0 0 5',
- xtype: 'numberfield',
- fieldLabel: '已回复数',
- name: 'YREPLY',
- hideTrigger: true,
- editable:false,
- value: replyqty,
- id: 'YREPLY'
- },
- {
- margin: '5 0 0 5',
- xtype: 'textfield',
- columnidth: 0.4,
- fieldLabel: '回复明细',
- name: 'replydetail',
- value:record.data.sd_replydetail,
- id: 'replydetail'
- }
- ],
- buttonAlign: 'center',
- buttons: [{
- xtype: 'button',
- text: '保存',
- width: 60,
- iconCls: 'x-button-icon-save',
- handler: function(btn) {
- var w = btn.up('window');
- me.saveVendorInfo(w);
- win.close();
- win.destroy();
- }
- },
- {
- xtype: 'button',
- columnWidth: 0.1,
- text: '关闭',
- width: 60,
- iconCls: 'x-button-icon-close',
- margin: '0 0 0 10',
- handler: function(btn) {
- var win = btn.up('window');
- win.close();
- win.destroy();
- }
- }]
- });
- },
- saveVendorInfo: function(w) {
- var deliveryreply = w.down('field[name=DELIVERYREPLY]').getValue();
- var qty = w.down('field[name=QTYREPLY]').getValue();
- grid = Ext.getCmp('grid'),
- record = grid.getSelectionModel().getLastSelected();
- if (!deliveryreply && !qty && !Ext.getCmp('replydetail').value) {
- showError('请先设置回复信息');
- return;
- } else {
- var dd = {
- sd_id: record.data.sd_id,
- sd_replyqty: qty ? qty: 0,
- sd_replydate: deliveryreply ? Ext.Date.format(deliveryreply, 'Y-m-d') : null,
- sd_replydetail:Ext.getCmp('replydetail').value
- };
- Ext.Ajax.request({
- url: basePath + 'b2b/sale/replyInfo.action',
- params: {
- data: unescape(Ext.JSON.encode(dd)),
- caller: caller
- },
- method: 'post',
- callback: function(opt, s, res) {
- var r = new Ext.decode(res.responseText);
- if (r.success) {
- grid.GridUtil.loadNewStore(grid, {
- caller: caller,
- condition: gridCondition
- });
- showMessage('提示', '更新成功!', 1000);
- } else if (r.exceptionInfo) {
- showError(r.exceptionInfo);
- } else {
- saveFailure();
- }
- }
- });
- }
- },
-
- getForm: function(btn){
- return btn.ownerCt.ownerCt;
- }
- });
|