|
|
@@ -54,6 +54,14 @@ Ext.define('erp.view.boardmodel.modeleditpanel',{
|
|
|
handler:function(){
|
|
|
me.importXml();
|
|
|
}
|
|
|
+ }, '-', {
|
|
|
+ xtype:'button',
|
|
|
+ text:'检测',
|
|
|
+ handler:function(){
|
|
|
+ if(me.check()) {
|
|
|
+ showErrorMsg('成功', '未发现未定义参数。');
|
|
|
+ }
|
|
|
+ }
|
|
|
}]
|
|
|
});
|
|
|
me.callParent(arguments);
|
|
|
@@ -92,11 +100,11 @@ Ext.define('erp.view.boardmodel.modeleditpanel',{
|
|
|
var modelbuilderpanel = Ext.getCmp('modelbuilderpanel');
|
|
|
var record = modelbuilderpanel.modelRecord;
|
|
|
if(!record){
|
|
|
- Ext.Msg.alert('提示','请先选择模板!')
|
|
|
+ showErrorMsg('提示','看板对象为空!')
|
|
|
}else{
|
|
|
var xml = Ext.getCmp('xmlContent').value;
|
|
|
if(!xml){
|
|
|
- Ext.Msg.alert('提示','请先输入内容');
|
|
|
+ showErrorMsg('提示','请先输入内容');
|
|
|
}else{
|
|
|
var bol = me.validateXmlFormat(xml);
|
|
|
if(!bol){
|
|
|
@@ -121,7 +129,7 @@ Ext.define('erp.view.boardmodel.modeleditpanel',{
|
|
|
}
|
|
|
return true;
|
|
|
} catch (ex) {
|
|
|
- Ext.Msg.alert('提示','XML格式有误:'+ex.message);
|
|
|
+ showErrorMsg('提示','XML格式有误:'+ex.message);
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
@@ -215,8 +223,66 @@ Ext.define('erp.view.boardmodel.modeleditpanel',{
|
|
|
var builderPanel = Ext.getCmp('modelbuilderpanel');
|
|
|
var items = builderPanel.items.items;
|
|
|
var content = me.getComponentXml(items,builderPanel);
|
|
|
+ var contentParams = me.getParams(content);
|
|
|
+ if(!me.checkParams(contentParams, 'content')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(extraParams) {
|
|
|
+ var titleParams = me.getParams(extraParams.title);
|
|
|
+ if(!me.checkParams(titleParams, 'title')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
me.save(content,extraParams);
|
|
|
},
|
|
|
+ check: function() {
|
|
|
+ var me = this;
|
|
|
+ var builderPanel = Ext.getCmp('modelbuilderpanel');
|
|
|
+ var items = builderPanel.items.items;
|
|
|
+ var content = me.getComponentXml(items,builderPanel);
|
|
|
+
|
|
|
+ var contentParams = me.getParams(content);
|
|
|
+ if(!me.checkParams(contentParams, 'content')) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ var form = Ext.getCmp('tplSetForm');
|
|
|
+ if(form) {
|
|
|
+ var extraParams = form.getForm().getValues();
|
|
|
+ var titleParams = me.getParams(extraParams.title);
|
|
|
+ if(!me.checkParams(titleParams, 'title')) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ getParams: function(content) {
|
|
|
+ var reg = /\$P{([^\}]{0,})\}/g
|
|
|
+ var result = content.match(reg);
|
|
|
+ var params = [];
|
|
|
+ Ext.Array.each(result, function(r) {
|
|
|
+ var rs = reg.exec(r);
|
|
|
+ if(rs) {
|
|
|
+ params.push(rs[1]);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return params;
|
|
|
+ },
|
|
|
+ checkParams: function(params, view) {
|
|
|
+ var paramsGrid = Ext.getCmp('modeltree');
|
|
|
+ var paramsRecord = paramsGrid.getStore().data.items;
|
|
|
+ var panelParams = [];
|
|
|
+ var success = true;
|
|
|
+ Ext.Array.each(paramsRecord, function(p) {
|
|
|
+ panelParams.push(p.get('name'));
|
|
|
+ });
|
|
|
+ Ext.Array.each(params, function(p) {
|
|
|
+ if(panelParams.indexOf(p) == -1) {
|
|
|
+ showErrorMsg('警告', view + '中使用的参数 ' + p + ' 未定义!');
|
|
|
+ success = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return success;
|
|
|
+ },
|
|
|
getComponentXml:function(items,builderPanel){
|
|
|
var content = '<content>';
|
|
|
Ext.Array.each(items,function(panel,index){
|
|
|
@@ -254,9 +320,9 @@ Ext.define('erp.view.boardmodel.modeleditpanel',{
|
|
|
callback:function(options,success,response){
|
|
|
var res = Ext.decode(response.responseText);
|
|
|
if(success) {
|
|
|
- Ext.Msg.alert('提示','保存成功!');
|
|
|
+ showErrorMsg('提示','保存成功!');
|
|
|
}else {
|
|
|
- Ext.Msg.alert('失败', res.message);
|
|
|
+ showErrorMsg('失败', res.message);
|
|
|
}
|
|
|
var win = Ext.getCmp('tplSet');
|
|
|
if(win){
|