123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- (function ($, win) {
- var child = undefined;
- var el;
- var Util = $.Util;
- var gridOpts = {
- columns: [
- {display : '名称', name :'fullName',width : 210, align: 'left'}
- ],
- allowAdjustColWidth : true,
- editorTopDiff : 41,
- headerRowHeight : 0,
- heightDiff : 0,
- pageSize: 15,
- method: "GET",
- pagesizeParmName : 'size',
- record : "totalCount",
- root : "detailModelList",
- rowHeight : 30,
- height: 200,
- rownumbers :false,
- switchPageSizeApplyComboBox: false,
- width :"98%",
- url: undefined
- };
- var comboOpts = {
- condition: {
- inputWidth: 90 ,
- width:0,
- labelWidth:0,
- hideSpace:true,
- fields: [{ name: 'param', label:''}]
- },
- child: undefined,
- grid: undefined,
- valueField: 'orgCode',//id
- textField: 'fullName',//name
- selectBoxHeight : 300,
- readonly: false,
- parms: {},
- onSelected: undefined,
- conditionSearchClick: function(g){
- var searchParm = g.rules.length > 0 ? g.rules[0].value : '';
- var parms = g.grid.get("parms");
- if(searchParm){
- parms.filters = "fullName?"+searchParm;
- }else{
- parms.filters = "";
- }
- g.grid.set({
- parms: parms,
- newPage: 1
- });
- g.grid.reload();
- }
- };
- function CustomCombo(el, url, options, grodOpt){
- var girdOptsCopy = grodOpt ? $.extend({}, gridOpts, grodOpt) : $.extend({}, gridOpts);
- var opts = $.extend({}, comboOpts, options);
- girdOptsCopy.url = url;
- opts.grid = girdOptsCopy;
- this.options = opts;
- this.ligerComboBox = el.ligerComboBox(this.options)
- this._el = el;
- }
- CustomCombo.prototype.getLigerComboBox = function () {
- return this.ligerComboBox;
- };
- CustomCombo.prototype.setValue = function (v) {
- this.ligerComboBox.setValue(v);
- return this;
- };
- CustomCombo.prototype.setText = function (t) {
- this.ligerComboBox.setText(t);
- return this;
- };
- CustomCombo.prototype.setValueText = function (v, t) {
- this.ligerComboBox.setValue(v);
- this.ligerComboBox.setText(t);
- return this;
- };
- CustomCombo.prototype.reload = function (parms) {
- var manager = this.ligerComboBox;
- var grid = manager.getGrid();
- if(grid)
- grid.set({
- newPage: 1,
- parms: parms
- });
- manager.set({parms: parms});
- manager.reload();
- manager.clear();
- };
- CustomCombo.prototype.on = function (eventKey, callFunc) {
- $(this.getLigerComboBox().unselect).on(eventKey, callFunc);
- };
- $.fn.customCombo = function (url, parms, selectedCall, child, readOnly, opts, grodOpt) {
- el = this;
- if(!selectedCall)
- selectedCall = function(id, name){
- if(!name || !id)
- return;
- $(el).blur();
- if(child){
- var childManager = child.ligerGetComboBoxManager();
- var parms = childManager.get("parms");
- var grid = childManager.getGrid();
- grid.set({
- //parms: parms,
- newPage: 1
- });
- parms.parentId = id;
- parms.parentName = name;
- childManager.set({
- parms: parms,
- newPage: 1
- });
- childManager.reload();
- childManager.clear();
- }
- }
- opts = $.extend({}, {
- parms: parms,
- child: child,
- onSelected: selectedCall,
- readonly: readOnly || false
- }, opts);
- var me = new CustomCombo(el, url, opts, grodOpt);
- if(child)
- me.on("changeValue",function () {
- child.ligerGetComboBoxManager().clear();
- });
- return me;
- }
- })(jQuery, window);
|