EditorGrid

来源:互联网 发布:球幕融合软件 编辑:程序博客网 时间:2024/05/29 09:52
/** * Created by IntelliJ IDEA. * User: Sartner * Date: 11-10-12 * Time: 上午11:18 * To change this template use File | Settings | File Templates. */Ext.onReady(function() {    Ext.BLANK_IMAGE_URL = '${pageContext.request.contextPath}/images/default/s.gif';    Ext.QuickTips.init();    Ext.form.Field.prototype.msgTarget = 'side';    // --------------------  params  --------------------    var _baseParams = {};    var _paramPropertyArchivesId = GridInitUtil.getParamByName('propertyArchive_propertyArchivesId_EQUAL_Int');    if (_paramPropertyArchivesId) {        _baseParams['propertyArchive_propertyArchivesId_EQUAL_Int'] = _paramPropertyArchivesId;    }    var _stockNumber_GT_Double = GridInitUtil.getParamByName('stockNumber_GT_Double');    if (_stockNumber_GT_Double) {        _baseParams['stockNumber_GT_Double'] = _stockNumber_GT_Double;    }    var _stockNumber_LT_Double = GridInitUtil.getParamByName('stockNumber_LT_Double');    if (_stockNumber_LT_Double) {        _baseParams['stockNumber_LT_Double'] = _stockNumber_LT_Double;    }    //-----------------------------------------------------    var stockJsonReader = new Ext.data.JsonReader({        idProperty:'stockId',        totalProperty : 'total',        root : 'datas'    }, [        {name:'stock.stockId',mapping:'stockId'},        {name:'stock.propertyArchive.propertyArchivesId',mapping:'propertyArchive_propertyArchivesId'},        {name:'stock.propertyArchive.propertyName',mapping:'propertyArchive_propertyName'},        {name:'stock.stockDate',mapping:'stockDate'},        {name:'stock.stockNumber',mapping:'stockNumber'},        {name:'stock.remainderStockNumber',mapping:'remainderStockNumber'},        {name:'stock.receiverId',mapping:'receiverId'},        {name:'stock.receiverName',mapping:'receiverName'},        {name:'stock.remarks',mapping:'remarks'},        {name:'storeType',mapping:'storeType'},        {name:'stock.contractPrice',mapping:'contractPrice'},        {name:'outStockAmount',mapping:'outStockAmount'},        {name:'stock.propertyButStockId',mapping:'propertyButStockId'}    ]);    var stockStore = new Ext.data.Store({        proxy : new Ext.data.HttpProxy({            url : rootPath + '/stockAction!findAll.hx',            method:'post'        }),        //remoteSort :true,        reader : stockJsonReader    });    stockStore.baseParams=_baseParams;    stockStore.on('load', function(_store, options) {        setOutStockAmountTitle();    });    stockStore.load();    var stockCM = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer,        {            header : '库存记录ID',            dataIndex : 'stock.stockId',            hidden:true        },{            header : '资产档案ID',            dataIndex : 'stock.propertyArchive.propertyArchivesId',            hidden:true        },{            header : '资产名称',            dataIndex : 'stock.propertyArchive.propertyName'        },{            header : '出入库时间',            width:60,            dataIndex : 'stock.stockDate'        },{            header : '合同分项价',            width:60,            hidden:true,            dataIndex : 'stock.contractPrice'        },{            header : '出入库数量',            width:60,            dataIndex : 'stock.stockNumber',            renderer:function(value) {                return Math.abs(value);            }        },{            header : '剩余库存量',            width:60,            dataIndex : 'stock.remainderStockNumber'        },{            header : '出入库人ID',            dataIndex : 'stock.receiverId',            hidden:true        },{            header : '出入库人',            dataIndex : 'stock.receiverName'        },{            header : '备注',            dataIndex : 'stock.remarks',            hidden:true        },{            header : '注明',            width:30,            dataIndex : 'storeType',            hidden:true,            renderer:function(value, metadata, record) {                var stockNum = record.get('stock.stockNumber');                if (stockNum < 0)                    return '出库';                else                    return '入库';            }        }, {            header : '采购审批ID',            hidden:true,            dataIndex : 'stock.propertyButStockId'        }, {            header : '<span id="outAmountSpan" style="color: red;">出库数量 (总计:0) </span>',            dataIndex : 'outStockAmount',            editor:{                xtype:'numberfield',                minValue:0,                allowNegative :false,                allowDecimals :false            }        }    ]);    stock_grid = new Ext.grid.EditorGridPanel({        viewConfig : {            forceFit : true        },        region:'center',        cm:stockCM,        store:stockStore,        clicksToEdit :1,        bbar : new Ext.PagingToolbar({            pageSize : 20,            store : stockStore,            displayInfo : true,            displayMsg : '显示第 {0} 条到第 {1} 条, 共 {2} 条记录 ',            emptyMsg : '没有记录'        })    });    var setOutStockAmountTitle = function() {        outCount = 0;        stockStore.each(function(record) {            var _temp = record.get('outStockAmount');            if (_temp) {                outCount += (record.get('outStockAmount') - 0);            }        });        document.getElementById('outAmountSpan').innerHTML = '出库数量 (总计:' + outCount + ')';    }    stock_grid.on('afteredit', function(e) {        var _value = e.value;        var _editRecord = e.record;        var _remainderStockNumber = _editRecord.get('stock.remainderStockNumber');        if (_value > _remainderStockNumber) {            _value = _remainderStockNumber;        }        _editRecord.set('outStockAmount', _value);        setOutStockAmountTitle();    });    // --------------------  view  --------------------    var viewport = new Ext.Viewport({        layout:'border',        items:[stock_grid]    });})