define(function (require, exports, module) { let Window = require('system/views/pages/window'); let tpl = require('text!./addwindow.tpl'); let rhtComm = require('apps/rht/comm/rhtComm'); function BatchPdWindow(args) { this.options = { title: '批量选择数据', content: tpl, width: 800, height: 536, modal: true, closed: true, closable: true, minimizable: false, maximizable: false, collapsible: false, resizable: false, data: null } this.args = args; Window.call(this, this.options); let uiObjCode = this.args.uiObjCode; this.dsMaster = new DataSource({ funcCode: this.args.funcCode, funcObjCode: uiObjCode, isMultiPage: '0' }); this.dsMaster.setServerBiz(args.serverBiz) _.extend(this.dsMaster.fixQuery, args.fixQuery); } inherits(BatchPdWindow, Window); BatchPdWindow.prototype.init = function () { let self = this; let pluginParams = { plugin: 'funcQueryProjectPlugin', sync: true, pluginData: { funcCode: self.args.biz.dsMaster.funcCode } }; let resultData = Store.services.executeplugin(pluginParams); let mainGrid = { opts: { editable: false, pageSize: 5000, enablePager: self.args.enablePager || false, showCheckColumn: true }, data: this.dsMaster, actions: { onDblClick: function (e, args) { } } } let mainToolBar = { opts: {}, data: [{ opCode: 'close', caption: '关闭', parentOp: '', opClass: 'close' }, { opCode: 'save', caption: '汇总', parentOp: '', opClass: 'save' }, { opCode: 'refresh', caption: '刷新', parentOp: '', opClass: 'refresh' }, { opCode: 'selectAll', caption: '全选', parentOp: '', opClass: 'selectAll' }, { opCode: 'unselectAll', caption: '全不选', parentOp: '', opClass: 'unselectAll' }, { opCode: 'inverseSelect', caption: '反选', parentOp: '', opClass: 'inverseSelect' }], actions: { click: function (opCode) { self.doOp(opCode); } } }; this.register('grid', 'grid_main', mainGrid); this.register('toolbar', 'toolbar_main', mainToolBar);//注册查询面板 let queryArgs = { source: this.dsMaster, data: resultData, actions: { querySchemeChanged: function () { self.customerize(self.$container, 1); }, search: function() { self.dsMaster.search() } } } this.register('querypanel', 'query_main', queryArgs); }; BatchPdWindow.prototype.doOp = function (opCode) { switch (opCode) { case 'save': this.save(); break; case 'close': this.close(); break; case 'refresh': this.refresh(); break; case 'selectAll': this.selectAll() break; case 'unselectAll': this.unselectAll() break case 'inverseSelect': this.inverseSelect() break } }; BatchPdWindow.prototype.selectAll = function () { this.dsMaster.rows.forEach(r => { r['$is_sel'] = true }) this.vm.grid_main.updateSelection() } BatchPdWindow.prototype.unselectAll = function () { this.dsMaster.rows.forEach(r => { r['$is_sel'] = false }) this.vm.grid_main.updateSelection() } BatchPdWindow.prototype.inverseSelect = function () { this.dsMaster.rows.forEach(r => { r['$is_sel'] = !r['$is_sel'] }) this.vm.grid_main.updateSelection() } BatchPdWindow.prototype.save = function () { let self = this let shzDate = self.$hzDate.textbox('getValue'); if (self.args.callback) { self.args.callback(self.dsMaster.getSelectedRows(),shzDate) } self.close(); } BatchPdWindow.prototype.refresh = function () { this.dsMaster.search(); }; BatchPdWindow.prototype.customerize = function ($container) { if (this.args.autoRefresh) { this.refresh(); } this.$hzDate = this.getElement('.hzDate') this.$hzDate.datebox({ value: rhtComm.GetServerDate(0) }) }; BatchPdWindow.prototype.open = function () { let self = this; let code = this.dsMaster.uiObjCode; let post_data = { funcCode: self.args.biz.getFuncCode(), uiObjCodes: code } Store.services.getUiObjSchema(post_data, function (isOk, data) { if (isOk) { self.dsMaster.initUIObj(data[code]); self.dsMaster.isShowSelCol = true self.dsMaster.funcCode = self.args.biz.getFuncCode(); Window.prototype.open.call(self); } }); }; return BatchPdWindow; } );