|
|
@@ -54,8 +54,9 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
/**
|
|
|
* 添加面板参数下拉组件
|
|
|
*/
|
|
|
- addParamCombo: function(items) {
|
|
|
+ addParamCombo: function() {
|
|
|
var form = this;
|
|
|
+ var items = me.resData.parameters;
|
|
|
var paramFieldSet = form.items.items[0];
|
|
|
paramFieldSet.removeAll();
|
|
|
var comboxs = [];
|
|
|
@@ -66,7 +67,7 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
name: v
|
|
|
}
|
|
|
})
|
|
|
- var defaultValue = data[0].value || '';
|
|
|
+ var defaultValue = item.optionalValues.indexOf(data[0].value) != -1 ? data[0].value : '';
|
|
|
for(var p of me.resData.parameters) {
|
|
|
if(p.code == item.code) {
|
|
|
defaultValue = p.value || data[0].value;
|
|
|
@@ -82,11 +83,15 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
queryMode: 'local',
|
|
|
displayField: 'name',
|
|
|
valueField: 'value',
|
|
|
- value: defaultValue
|
|
|
+ value: defaultValue,
|
|
|
+ allowBlank: false,
|
|
|
});
|
|
|
comboxs.push(combox);
|
|
|
});
|
|
|
paramFieldSet.add(comboxs);
|
|
|
+ if(comboxs.length == 0) {
|
|
|
+ paramFieldSet.setVisible(false)
|
|
|
+ }
|
|
|
form.doLayout();
|
|
|
}
|
|
|
},{
|
|
|
@@ -108,12 +113,6 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
metadata.tdAttr = 'data-qtip="' + (v || '') + '"';
|
|
|
return v;
|
|
|
}
|
|
|
- },
|
|
|
- {
|
|
|
- text: '备注', dataIndex: 'description', flex: 1, renderer: function (v, metadata, record, rowIndex, columnIndex, store) {
|
|
|
- metadata.tdAttr = 'data-qtip="' + (v || '') + '"';
|
|
|
- return v;
|
|
|
- }
|
|
|
}
|
|
|
],
|
|
|
listeners: {
|
|
|
@@ -122,21 +121,21 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
grid.selectModel();
|
|
|
},
|
|
|
select:function( e, record, index, eOpts ){
|
|
|
- var grid = Ext.getCmp('modelGrid');
|
|
|
- var ctr = this.body.dom.getElementsByTagName('tr')[index];
|
|
|
- var s = ctr.getElementsByTagName('td')[0].children[0].children[0];
|
|
|
- var order = grid.selectedIndex++;
|
|
|
- grid.setSelectedIndex(s, order, 'add');
|
|
|
+ // var grid = Ext.getCmp('modelGrid');
|
|
|
+ // var ctr = this.body.dom.getElementsByTagName('tr')[index];
|
|
|
+ // var s = ctr.getElementsByTagName('td')[0].children[0].children[0];
|
|
|
+ // var order = grid.selectedIndex++;
|
|
|
+ // grid.setSelectedIndex(s, order, 'add');
|
|
|
},
|
|
|
|
|
|
deselect:function( e, record, index, eOpts ){
|
|
|
- var grid = Ext.getCmp('modelGrid');
|
|
|
- var ctr = this.body.dom.getElementsByTagName('tr')[index];
|
|
|
- var s = ctr.getElementsByTagName('td')[0].children[0].children[0];
|
|
|
- grid.selectedIndex--;
|
|
|
- var order = '';
|
|
|
- var currentOrder = grid.setSelectedIndex(s, order, 'remove');
|
|
|
- grid.resetSelectedIndex(currentOrder);
|
|
|
+ // var grid = Ext.getCmp('modelGrid');
|
|
|
+ // var ctr = this.body.dom.getElementsByTagName('tr')[index];
|
|
|
+ // var s = ctr.getElementsByTagName('td')[0].children[0].children[0];
|
|
|
+ // grid.selectedIndex--;
|
|
|
+ // var order = '';
|
|
|
+ // var currentOrder = grid.setSelectedIndex(s, order, 'remove');
|
|
|
+ // grid.resetSelectedIndex(currentOrder);
|
|
|
}
|
|
|
},
|
|
|
/** 设置选中模板项的顺序 */
|
|
|
@@ -159,23 +158,8 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
},
|
|
|
loadGridData: function() {
|
|
|
var grid = this;
|
|
|
- grid.getEl().mask('loading...');
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'kanban/get/byPanel/' + me.record.get('code'),
|
|
|
- method:'POST',
|
|
|
- callback:function(options,success,response){
|
|
|
- grid.getEl().unmask();
|
|
|
- if(response.responseText == '') return;
|
|
|
- var res = JSON.parse(response.responseText);
|
|
|
- if(success) {
|
|
|
- grid.selectedIndex = 1;
|
|
|
- res = res instanceof Array ? res : [res];
|
|
|
- grid.getStore().loadData(res);
|
|
|
- }else {
|
|
|
- Ext.Msg.alert('失败', res.message);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
+ res = me.resData.relatedKanbans || [];
|
|
|
+ grid.getStore().loadData(res);
|
|
|
},
|
|
|
selectModel: function() {
|
|
|
var grid = this;
|
|
|
@@ -207,8 +191,12 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
formBind:true,
|
|
|
handler:function(){
|
|
|
var me = Ext.getCmp('template');
|
|
|
- // me.saveBoadModel();
|
|
|
- me.savePanelInstance();
|
|
|
+ var formpanel = Ext.getCmp('paramForm');
|
|
|
+ if(formpanel.isValid()) {
|
|
|
+ me.savePanelInstance();
|
|
|
+ }else {
|
|
|
+ Ext.Msg.alert('警告', '有必填项未填!');
|
|
|
+ }
|
|
|
}
|
|
|
},{
|
|
|
text:'取消',
|
|
|
@@ -225,20 +213,9 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
var me = this;
|
|
|
|
|
|
// 添加参数下拉框
|
|
|
- me.getEl().mask('loading...');
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'parameter/get/byPanel/'+me.record.get('code'),
|
|
|
- method:'POST',
|
|
|
- async:false,
|
|
|
- callback:function(options,success,response){
|
|
|
- me.getEl().unmask();
|
|
|
- var res = Ext.decode(response.responseText);
|
|
|
- if(success) {
|
|
|
- var paramForm = Ext.getCmp('paramForm');
|
|
|
- paramForm.addParamCombo(res);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
+ var paramForm = Ext.getCmp('paramForm');
|
|
|
+ paramForm.addParamCombo();
|
|
|
+
|
|
|
|
|
|
// 读取看板grid数据
|
|
|
var modelGrid = Ext.getCmp('modelGrid');
|
|
|
@@ -271,7 +248,7 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
}
|
|
|
}
|
|
|
form.loadRecord(formData);
|
|
|
- res.parameters = Ext.decode(res.parameters)
|
|
|
+ res.parameters = Ext.decode(res.parameters) || [];
|
|
|
me.resData = res;
|
|
|
me.load();
|
|
|
}
|
|
|
@@ -290,10 +267,11 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
Ext.Msg.alert('警告','请至少选中一个看板!');
|
|
|
return;
|
|
|
}
|
|
|
- if(me.checkFrequency()) {
|
|
|
-
|
|
|
+ if(!me.checkFrequency()) {
|
|
|
+ return;
|
|
|
}
|
|
|
var params = me.getBoardConfig();
|
|
|
+ debugger;
|
|
|
Ext.Ajax.request({
|
|
|
url:'panelInstance/update/',
|
|
|
method:'POST',
|
|
|
@@ -338,93 +316,6 @@ Ext.define('erp.view.desktop.BoardParamWindow',{
|
|
|
relatedKanbans: relatedKanbans
|
|
|
}
|
|
|
},
|
|
|
- saveBoadModel: function() {
|
|
|
- var me = this;
|
|
|
- if(me.getSelectedModels().length == 0) {
|
|
|
- Ext.Msg.alert('警告','请至少选中一个看板!');
|
|
|
- return;
|
|
|
- }
|
|
|
- var params = me.getBoardConfig();
|
|
|
- // 先更新面板勾选看板项
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'panelInstance/update',
|
|
|
- method:'POST',
|
|
|
- params:{
|
|
|
- json:Ext.encode(params)
|
|
|
- },
|
|
|
- callback:function(options,success,response){
|
|
|
- var record = me.record;
|
|
|
- var code = record.get('code');
|
|
|
- // 再重设当前看板的resData
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'panelInstance/get/byPanel/'+code,
|
|
|
- method:'POST',
|
|
|
- async:false,
|
|
|
- callback:function(options,sucess,response){
|
|
|
- if(response.responseText){
|
|
|
- var res = Ext.decode(response.responseText);
|
|
|
- me.resData = res;
|
|
|
- me.saveBoardSetting();
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- saveBoardSetting:function(){
|
|
|
- var me = this;
|
|
|
- var check = me.checkFrequency();
|
|
|
- if(check){
|
|
|
- me.saveBoardInstance();
|
|
|
- me.viewBoard();
|
|
|
- }
|
|
|
- },
|
|
|
- saveBoardInstance:function(){
|
|
|
- var me = this;
|
|
|
- var form = Ext.getCmp('paramForm');
|
|
|
- var values = form.getForm().getValues();
|
|
|
- var res = me.resData;
|
|
|
- var type;
|
|
|
- Ext.Array.each(res.globalParameters,function(param){
|
|
|
- param.value = values[param.code];
|
|
|
- delete values[param.code];
|
|
|
- });
|
|
|
- Ext.apply(res,values);
|
|
|
- if(!res.code){
|
|
|
- type = 'save';
|
|
|
- }else{
|
|
|
- type = 'update';
|
|
|
- var dirty = me.checkFormDirty(form);
|
|
|
- if(!dirty){
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- Ext.Ajax.request({
|
|
|
- url:'kanbanInstance/'+type,
|
|
|
- method:'POST',
|
|
|
- async:false,
|
|
|
- params:{
|
|
|
- json:Ext.encode(res)
|
|
|
- },
|
|
|
- callback:function(options,success,response){
|
|
|
- var res = Ext.decode(response.responseText);
|
|
|
- if(type=='save'){
|
|
|
- me.resData = res;
|
|
|
- }
|
|
|
- me.resetFormOriginalValue(form);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- resetFormOriginalValue:function(form){
|
|
|
- var fields = form.getForm().getFields().items;
|
|
|
- Ext.each(fields, function(field){
|
|
|
- field.originalValue = field.getValue();
|
|
|
- });
|
|
|
- },
|
|
|
- checkFormDirty:function(form){
|
|
|
- var dirty = form.getForm().isDirty();
|
|
|
- return dirty;
|
|
|
- },
|
|
|
checkFrequency:function(){
|
|
|
var me = this;
|
|
|
var refreshFreq = Ext.getCmp('refreshFrequency').value;
|