You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.0 KiB
124 lines
3.0 KiB
define(function (require, exports, module) {
|
|
var Window = require('system/views/pages/window');
|
|
var tpl = require('text!apps/edp/frd/frd002/enumwin.tpl');
|
|
|
|
function EnumWindow(args) {
|
|
this.options = {
|
|
title: '选择枚举',
|
|
content: tpl,
|
|
width: 600,
|
|
height: 400,
|
|
modal: true,
|
|
closed: true,
|
|
closable: true,
|
|
data: null
|
|
}
|
|
|
|
this.args = args;
|
|
Window.call(this, this.options);
|
|
|
|
this.dsMaster = new DataSource({
|
|
funcObjCode: 'tFrmEnum'
|
|
});
|
|
}
|
|
|
|
inherits(EnumWindow, Window);
|
|
|
|
EnumWindow.prototype.init = function () {
|
|
var self = this;
|
|
var mainGrid = {
|
|
opts: {
|
|
editable: false
|
|
},
|
|
data: this.dsMaster,
|
|
actions: {
|
|
onDblClick: function (e, args) {
|
|
self.select();
|
|
}
|
|
}
|
|
};
|
|
|
|
var mainToolBar = {
|
|
opts: {},
|
|
data: [{
|
|
opCode: 'ok',
|
|
caption: '确认',
|
|
parentOp: '',
|
|
opClass: 'ok'
|
|
}, {
|
|
opCode: 'exit',
|
|
caption: '退出',
|
|
parentOp: '',
|
|
opClass: 'cancel'
|
|
}, {
|
|
opCode: 'refresh',
|
|
caption: '刷新',
|
|
parentOp: '',
|
|
opClass: 'refresh'
|
|
}],
|
|
actions: {
|
|
click: function (opCode) {
|
|
self.doOp(opCode);
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
this.register('grid', 'grid_main', mainGrid);
|
|
this.register('toolbar', 'toolbar_main', mainToolBar);
|
|
|
|
}
|
|
|
|
EnumWindow.prototype.select = function () {
|
|
var curRow = this.dsMaster.currentRow;
|
|
if (!curRow) {
|
|
alert('请先选择一条数据。');
|
|
return;
|
|
}
|
|
|
|
this.args.col.refItem = _.clone(curRow);
|
|
|
|
var newValue = curRow['EnumType'];
|
|
if (this.args.row) {
|
|
this.args.row.validator(this.args.col, newValue);
|
|
}
|
|
this.close();
|
|
};
|
|
|
|
EnumWindow.prototype.doOp = function (opCode) {
|
|
var isHandled = false;
|
|
switch (opCode) {
|
|
case 'ok':
|
|
this.select();
|
|
break;
|
|
case 'exit':
|
|
this.close();
|
|
break;
|
|
case 'refresh' :
|
|
this.refresh();
|
|
}
|
|
};
|
|
|
|
EnumWindow.prototype.refresh = function () {
|
|
var self = this;
|
|
this.dsMaster.search();
|
|
};
|
|
|
|
EnumWindow.prototype.open = function () {
|
|
var self = this;
|
|
var code = this.dsMaster.uiObjCode;
|
|
var post_data = {
|
|
funcCode: '',
|
|
uiObjCodes: code
|
|
}
|
|
|
|
Store.services.getUiObjSchema(post_data, function (isOk, data) {
|
|
if (isOk) {
|
|
self.dsMaster.initUIObj(data[code]);
|
|
Window.prototype.open.call(self);
|
|
}
|
|
});
|
|
};
|
|
|
|
return EnumWindow;
|
|
}) |