123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- Ext.define('make.view.sale.saleforecast.TurnMakeWin', {
- extend: 'Ext.window.Window',
- xtype: 'sale-saleforecast-turnmakewin',
- cls: 'x-window-dbfind',
- modal: true,
- // width: 1300,
- // minHeight: 500,
- scrollable: true,
- bodyPadding: 10,
- constrain: true,
- closable: true,
- layout: 'fit',
- title: '转工单',
- _id:0,
-
- initComponent: function () {
- var me = this;
- Ext.apply(me, {
- baseUrl : '/api/sale/saleforecast/getTurnMakeData/',
- items:[{
- xtype: 'grid',
- selModel: {
- checkOnly: true,
- type: 'checkboxmodel',
- mode: "MULTI",
- ignoreRightMouseSelection: false
- },
- columns: [{
- text: 'ID',
- dataIndex: 'st_sdid',
- hidden: true,
- },{
- text: '本次数量',
- dataIndex: 'st_thisqty',
- width: 100,
- xtype: 'widgetcolumn',
- /*renderer : function(val, meta, record, x, y, store, view) {
- return val;
- }, */
- widget: {
- xtype: "numberfield",
- bind: '{record.st_thisqty}',
- decimalPrecision: 6,
- minValue: 0
- }
- },{
- text: '行号',
- dataIndex: 'st_sddetno',
- width: 80
- }, {
- text: '物料编号',
- dataIndex: 'st_prodcode',
- width: 150
- }, {
- text: '物料名称',
- dataIndex: 'st_proddetail',
- width: 150
- },{
- text: '型号',
- dataIndex: 'st_prodorispec',
- width: 150,
- renderer: function (v, m, r) {
- var str = '';
- if(r.data['st_prodbrand']){
- str += '厂家/品牌:'+ r.data['st_prodbrand'] + '<br>';
- }
- if(r.data['st_prodspec']){
- str += '规格:' + r.data['st_prodspec'];
- }
- if(str) m.tdAttr = 'data-qtip="'+ str +'"';
-
- return v;
- }
- },{
- text: '备货数量',
- dataIndex: 'st_sdqty',
- xtype: 'numbercolumn',
- renderer: function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- },
- },{
- text: '已核销数',
- dataIndex: 'st_yqty',
- xtype: 'numbercolumn',
- renderer: function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- },
- },{
- text: '已下达数量',
- dataIndex: 'st_tomakeqty',
- xtype: 'numbercolumn',
- renderer: function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- },
- },{
- text: '订单冲减工单数',
- dataIndex: 'sd_maqty',
- xtype: 'numbercolumn',
- width:140.0,
- renderer: function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- },
- },{
- text: '安全库存',
- dataIndex: 'st_prodsafetystock',
- xtype: 'numbercolumn',
- renderer: function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- },
- },{
- text: '总需求数',
- dataIndex: 'st_needqty',
- xtype: 'numbercolumn',
- renderer: function (v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- }
- }, {
- text: '总供应数',
- dataIndex: 'st_supplyqty',
- xtype: 'numbercolumn',
- renderer: function (v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 6, true);
- }
- }, {
- text: '供需平衡',
- dataIndex: 'st_balance',
- xtype: 'numbercolumn',
- renderer: function (v, m, r) {
- v = (r.get('st_supplyqty')||0) - (r.get('st_needqty')||0),
- v = saas.util.BaseUtil.numberFormat(v, 6, true);
- return v<0?'<font color="#FF0000">'+v+'</font>':v;
- }
- }],
- store: {
- autoLoad: true,
- fields: [
- { name: 'st_thisqty', type: 'float' },
- { name: 'st_sddetno', type: 'int' },
- { name: 'st_sdid', type: 'int' },
- { name: 'st_prodcode', type: 'string' },
- { name: 'st_proddetail', type: 'string' },
- { name: 'st_prodspec', type: 'string' },
- { name: 'st_prodorispec', type: 'string' },
- { name: 'st_prodbrand', type: 'string' },
- { name: 'st_produnit', type: 'string' },
- { name: 'st_sdqty', type: 'float' },
- { name: 'st_tomakeqty', type: 'float' },
- { name: 'st_needqty', type: 'float' },
- { name: 'st_supplyqty', type: 'float' },
- { name: 'st_prodid', type: 'int' },
- { name: 'st_said', type: 'int' },
- { name: 'st_sfid', type: 'int' },
- { name: 'st_yqty', type: 'float' },
- { name: 'sd_maqty', type: 'float' },
-
- ],
- proxy: {
- type: 'ajax',
- url: '/api/sale/saleforecast/getTurnMakeData',
- timeout: 8000,
- actionMethods: {
- read: 'GET'
- },
- reader: {
- type: 'json',
- rootProperty: 'data',
- totalProperty: '',
- },
- listeners: {
- exception: function (proxy, response, operation, eOpts) {
- if (operation.success) {
- if (response.timedout) {
- saas.util.BaseUtil.showErrorToast('请求超时');
- }
- } else {
- if (response.timedout) {
- saas.util.BaseUtil.showErrorToast('请求超时');
- } else {
- console.error('exception: ', response);
- var message = response.responseJson ? (response.responseJson.message == null ? '没有数据' : response.responseJson.message) : '请求超时';
- saas.util.BaseUtil.showErrorToast('查询失败:' + message);
- }
- }
- }
- }
- },
- listeners: {
- beforeload: function (store, op) {
- store.getProxy().url = me.baseUrl + me._id;
- },
- load: function (store, records, successful, operation, eOpts) {
- }
- }
- },
- buttonAlign: 'center',
- buttons: [{
- text: '确认',
- handler: me.handleSave
- }, {
- text: '关闭',
- handler: me.handleClose
- }]
- }],
- })
- me.callParent();
- },
- handleClose: function(btn){
- btn.ownerCt.ownerCt.ownerCt.close();
- },
- handleSave:function(btn){
- var me = this,
- win = me.ownerCt.ownerCt.ownerCt;
- var data = win.getGridSelected();
- if(data && data.length>0){
- win.setLoading(true);
- var params = JSON.stringify(data);
- saas.util.BaseUtil.request({
- url: '/api/sale/saleforecast/turnMake',
- params: params,
- method: 'POST',
- async:false
- })
- .then(function(res) {
- if (res.success) {
- win.setLoading(false);
- win.handleClose(btn);
- //刷新销售订单页面
- saas.util.FormUtil.loadData(win._parent);
- saas.util.BaseUtil.showSuccessToast('生成工单成功,单号:'+res.data);
- }
- })
- .catch(function(res) {
- win.setLoading(false);
- saas.util.BaseUtil.showErrorToast(('操作失败: ') + res.message);
- });
- }else{
- saas.util.BaseUtil.showErrorToast('请勾选至少一条有效明细。');
- }
- },
- /**
- *获取grid 数据
- */
- getGridSelected:function(){
- var me = this,
- grid = me.down('grid');
- items = grid.selModel.getSelection(),
- data = new Array() ;
- var ids=[];
- Ext.each(items, function(item, index){
- var o = new Object();
- if(item.data['st_thisqty']>0){
- o['st_thisqty'] = item.data['st_thisqty'];
- o['st_sdid'] = item.data['st_sdid'];
- o['st_sfid'] = item.data['st_sfid'];
- o['st_prodid'] = item.data['st_prodid'];
- o['st_prodcode'] = item.data['st_prodcode'];
- o['st_planenddate'] = item.data['st_planenddate'];
- data.push(o);
- }
- });
- return data;
- }
- })
|