define(function (require, exports, module) { let Window = require('system/views/pages/window'); let tpl = require('text!./ingredient-win.tpl'); require('css!./ingredient-win.css') //let DataSource = require('system/base/datasource'); function IngredientWindow(args) { this.options = { title: '加工工艺原料替换', content: tpl, width: 1280, height: 600, modal: true, closed: true, closable: true, minimizable: false, maximizable: false, collapsible: false, resizable: false, data: null } this.args = args; this.headerData = args.headerData this.dsBody = args.dataSource Window.call(this, this.options); } inherits(IngredientWindow, Window); IngredientWindow.prototype.init = function () { let self = this; let mainGrid = { opts: { editable: true, pageSize: 0, showDelColumn: true }, data: this.dsBody, actions: { onColumndeleteButtonClick: function (row) { Store.messager.confirm(Store.MSG.DELETE_CONFIRM, function (r) { if (r) { row.delete(); } }); } } } let mainToolBar = { opts: {}, data: [ { opCode: 'refresh', caption: '重置', parentOp: '', opClass: 'refresh' }, { opCode: 'save', caption: '保存', parentOp: '', opClass: 'save' }, { opCode: 'exit', caption: '退出', parentOp: '', opClass: 'cancel' }], actions: { click: function (opCode) { self.doOp(opCode); } } }; this.register('grid', 'grid_main', mainGrid); this.register('toolbar', 'toolbar_main', mainToolBar); }; IngredientWindow.prototype.save = function () { let self = this; this.dsBody.save(function (isOk) { if (isOk) { self.close() } }) }; IngredientWindow.prototype.doOp = function (opCode) { switch (opCode) { case 'save': this.save(); break; case 'exit': this.dsBody.clear() this.close(); break; case 'refresh': this.refresh(); } }; IngredientWindow.prototype.refresh = function () { this.dsBody.search(); }; IngredientWindow.prototype.buildHeader = function () { let $header = this.getElement('.ingredient-header') this.headerData.forEach(element => { let domItem = Store.format('
{0}{1}
', element.label, element.value || 'N/A') $header.append(domItem) }); } IngredientWindow.prototype.customerize = function ($container) { this.buildHeader() this.refresh(); this.resize(); }; IngredientWindow.prototype.resize = function () { // this.updateGrids($body); }; IngredientWindow.prototype.updateGrids = function ($e) { let self = this; //重置grid self.resizeGrid($e); }; return IngredientWindow; } );