فهرست منبع

看板生效状态调整/空检验 等

zhuth 8 سال پیش
والد
کامیت
75478d52cd

+ 81 - 0
kanban-console/src/main/webapp/resources/app/view/core/trigger/TextAreaTrigger.js

@@ -0,0 +1,81 @@
+Ext.define('erp.view.core.trigger.TextAreaTrigger', {
+    extend: 'Ext.form.field.Trigger',
+    alias: 'widget.textareatrigger',
+    triggerCls: 'x-form-textarea-trigger',
+    onTriggerClick: function() {
+        var trigger = this,
+        value = this.value;
+        Ext.MessageBox.minPromptWidth = 600;
+        Ext.MessageBox.defaultTextHeight = 200;
+        Ext.MessageBox.style= 'background:#e0e0e0;';
+        Ext.MessageBox.draggable = false;//不可拖动
+        Ext.MessageBox.prompt("详细内容", '',
+        function(btn, text) {
+            if (trigger.editable && btn == 'ok') {
+                if (trigger.ownerCt === undefined) {
+                    trigger.record.set(trigger.name 
+
+, text);
+                } else {
+                    trigger.setValue(text);
+                }
+            }
+        },
+        this, true, //表示文本框为多行文本框    
+        value);
+    },
+    listeners: {
+        focus: function(trigger) {
+            if (trigger.ownerCt === undefined) {
+                try {
+                    var grid = Ext.getCmp(trigger.el.dom.parentNode.offsetParent.offsetParent.id 
+
+);
+                    if (grid !== undefined) {
+                        trigger.owner = grid;
+                        if(grid.readOnly){
+                        	Ext.Array.forEach(grid.columns,function(c){
+								if(c.dataIndex==trigger.owner.editingPlugin.activeEditor.field.name 
+
+){
+									if(!c.modify){
+										trigger.setFieldStyle('background:#e0e0e0;');
+										trigger.setEditable(false);
+									}
+								}
+							});
+                        }
+                        if (trigger.owner.editingPlugin.activeEditor.field.id 
+
+ == trigger.id 
+
+) {
+                            trigger.record = trigger.owner.editingPlugin.activeRecord;
+                        } else {
+                            trigger.record = trigger.owner.selModel.lastSelected;
+                        }
+                    }
+                } catch(e) {
+
+                }
+            }
+        }
+    },
+    initComponent: function() {
+    	if(!contains(this.id 
+
+, '-', true)){
+    		this.editable = !this.readOnly;
+    	}else{
+    		if(!this.editable){
+    			this.fieldStyle= 'background:#e0e0e0;';
+    		}
+    	}
+    	this.readOnly = false;//always show trigger
+        this.callParent(arguments);
+    },
+    setReadOnly :function(bool){//流程审批时设置对应分组字段是可编辑状态
+    	this.readOnly=false;
+    	this.setEditable(!bool);
+    }
+}); 

+ 3 - 2
kanban-console/src/main/webapp/resources/app/view/desktop/BoardManageLeftPanel.js

@@ -74,8 +74,9 @@ Ext.define('erp.view.desktop.BoardManageLeftPanel',{
 					}
 				});
 				me.shortcutsView = shortcutsView;
+				me.shortcutsView.getSelectionModel().select(0);
 			});
-		}
+		},
 	},
 	addBoard: function() {
 		var me = this;
@@ -84,7 +85,7 @@ Ext.define('erp.view.desktop.BoardManageLeftPanel',{
 			name: '新面板', 
 			iconCls: 'grid-shortcut', 
 			display: 'AutoSwitch',
-			dataSourceCode: '56743A5D711',
+			dataSourceCode: '',
 			code: ''
 		}],true);
 		var count = store.getCount();

+ 6 - 2
kanban-console/src/main/webapp/resources/app/view/desktop/BoardManageMainPanel.js

@@ -59,6 +59,7 @@ Ext.define('erp.view.desktop.BoardManageMainPanel', {
 			},{
 				xtype: 'textfield',
 				name: 'name',
+				allowBlank: false,
 				fieldLabel: '名称'
 			},{  
                 xtype:'triggerfield',  
@@ -67,7 +68,8 @@ Ext.define('erp.view.desktop.BoardManageMainPanel', {
                 triggerCls: "icon-selecter",
                 overCls: '',
                 hideTrigger : false,
-                editable: false,
+				editable: false,
+				allowBlank: false,
                 onTriggerClick : function(){
                 	me.showIcons(me);
                 }  
@@ -75,6 +77,7 @@ Ext.define('erp.view.desktop.BoardManageMainPanel', {
 				xtype: 'radiogroup',
 				fieldLabel: '展示方式',
 				columns: 2,
+				allowBlank: false,
 				items: [
 		            { boxLabel: '自动切换', name: 'display', inputValue: 'AutoSwitch'},
 		            // { boxLabel: '分屏展示', name: 'display', inputValue: 'SplitScreen' }
@@ -87,6 +90,7 @@ Ext.define('erp.view.desktop.BoardManageMainPanel', {
 				id:'dataSourceCode',
 				//value:'UAS',
 				editable:false,
+				allowBlank: false,
 				store:Ext.create('Ext.data.Store',{
 					fields:['username','code','name'],
 					proxy:{
@@ -158,7 +162,7 @@ Ext.define('erp.view.desktop.BoardManageMainPanel', {
 						name: '新参数',
 						type: 'String',
 						inputMode: 'Radio',
-						optionalValues: ['']
+						optionalValues: null
 					};
 					grid.addParam(record);
 				}

+ 8 - 14
kanban-console/src/main/webapp/resources/app/view/desktop/BoardManageRightPanel.js

@@ -17,7 +17,7 @@ Ext.define('erp.view.desktop.BoardManageRightPanel',{
 				fields : ['code', 'content', 'enabled', 'description', 'name','title','panelCode'],
 				data: []
 			}),
-		    columnLines:true,
+			columnLines:true,
 			columns: [
 				{ text: 'ID', dataIndex: 'code', hidden: true },
 				{ text: '看板名称', dataIndex: 'name', flex: 1, editor: 'textfield', renderer: function (v, metadata, record, rowIndex, columnIndex, store) {
@@ -30,6 +30,11 @@ Ext.define('erp.view.desktop.BoardManageRightPanel',{
 						return v;
 					}
 				},
+				{
+					text: '是否生效', dataIndex: 'enabled', width: 80, editor: 'checkbox', renderer: function(value) {
+						return value ? '是' : '否'
+					}
+				},
 				{ xtype: 'actioncolumn', align: 'center', items: [{
 					iconCls: 'save',
 					tooltip: '保存',
@@ -108,24 +113,13 @@ Ext.define('erp.view.desktop.BoardManageRightPanel',{
 			listeners: {
 				select: function( e, record, index, eOpts ){
 					var grid = Ext.getCmp('tplGrid');
-					grid.updateTemplateCodes();
+					record.set('enabled', true);
 				},
 				deselect:function( e, record, index, eOpts ){
 					var grid = Ext.getCmp('tplGrid');
-					grid.updateTemplateCodes();
+					record.set('enabled', false);
 				}
 			},
-			updateTemplateCodes:function(){
-				var grid = this;
-				var tplField = Ext.getCmp('templateCodes');
-				var selectRecords = grid.getSelectionModel().getSelection();
-				var codes = new Array();
-				Ext.Array.each(selectRecords,function(rec){
-					codes.push(rec.get('code'));
-				});
-				tplField.setValue(codes.join(','));
-				tplField.templateCodes = codes;
-			},
 			loadGridData: function() {
 				var grid = this;
 				var panelRecord = Ext.getCmp('managemain').initRecord;

+ 5 - 1
kanban-console/src/main/webapp/resources/app/view/desktop/BoardManageWindow.js

@@ -34,7 +34,11 @@ Ext.define('erp.view.desktop.BoardManageWindow',{
 			handler: function() {
 				var panel = me.items.items[0].items.items[1];
 				var formpanel = panel.items.items[0];
-				me.save(formpanel, panel)
+				if(formpanel.isValid()) {
+					me.save(formpanel, panel)
+				}else {
+					Ext.Msg.alert('警告', '有必填项未填!');
+				}
 			}
 		}],	
 		me.callParent(arguments);

+ 35 - 144
kanban-console/src/main/webapp/resources/app/view/desktop/BoardParamWindow.js

@@ -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;

+ 1 - 1
kanban-console/src/main/webapp/resources/app/view/desktop/Desktop.js

@@ -200,7 +200,7 @@ Ext.define('erp.view.desktop.Desktop', {
             return this.data[field];
         }
 		Ext.create('erp.view.desktop.BoardParamWindow',{
-			title: subStrLength(record.get('name'), 10) + '<span>-</span>启动配置',
+			title: subStrLength(record.get('name'), 10) + '  >>  启动配置',
 			record: copyRecord
 		}).show();    	
     },

+ 2 - 1
kanban-console/src/main/webapp/resources/app/view/desktop/ParamValueEditor.js

@@ -57,6 +57,7 @@ Ext.define('erp.view.desktop.ParamValueEditor',{
             columnLines: true,
             hideHeaders: true,
 			columns: [
+                { xtype: 'rownumberer' },
 				{ text: '值', dataIndex: 'value', editor: 'textfield' }
             ],
             plugins: [
@@ -83,7 +84,7 @@ Ext.define('erp.view.desktop.ParamValueEditor',{
             }],
             load: function() {
                 var grid = this;
-                var params = me.paramRecord.get('optionalValues');
+                var params = me.paramRecord.get('optionalValues') || [];
                 var record = params.map(function(p) {
                     return {
                         value: p

+ 0 - 2
kanban-console/src/main/webapp/resources/app/view/desktop/StartMenu.js

@@ -68,8 +68,6 @@ Ext.define('erp.view.desktop.StartMenu', {
             	handler:function(){
             		me.setUser();
             	}
-            },{
-            	text:'权限分配'
             }]
         });
         me.menu.layout.align = 'stretch';

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
kanban-console/src/main/webapp/resources/js/boardshow/main.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
kanban-console/src/main/webapp/resources/lib/boardshow/vendor.js


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است