浏览代码

通用刷新数据按钮配置 列表存储过程+@ASYNC适用于大数据列表手动刷新查询

zhouy 9 月之前
父节点
当前提交
7db03caaad

+ 48 - 0
WebContent/app/view/core/button/CommonRefreshData.js

@@ -0,0 +1,48 @@
+Ext.define('erp.view.core.button.CommonRefreshData', {
+	extend : 'Ext.Button',
+	alias : 'widget.erpCommonRefreshDataButton',
+	iconCls : 'x-button-icon-reset',
+	cls : 'x-btn-gray',
+	text : '刷新数据',
+	style : {
+		marginLeft : '10px'
+	},
+	width : 200,
+	initComponent : function() {
+		this.callParent(arguments);
+	},
+	handler: function() {
+		var me = this;
+		var params = new Object();
+		var form = Ext.getCmp('form');
+		var r = form.getValues();
+		var keys = Ext.Object.getKeys(r);
+		Ext.each(keys, function (k) {
+			if (contains(k, '-', true)) {
+				delete r[k];
+			}
+		});
+		params.caller = caller;
+		params.formConStore = unescape(escape(Ext.JSON.encode(r)));
+		params.isAsync = 1;
+		me.setDisabled(true);
+		var  view = me.up('viewport');
+		view.setLoading(true);
+		Ext.Ajax.request({
+			url: basePath + 'common/datalist/beforeQuery.action',
+			params: params,
+			callback: function (opt, s, r) {
+				me.setDisabled(false);
+				view.setLoading(false);
+				var rs = Ext.decode(r.responseText);
+				if (rs.success) {
+					showMessage('提示', '刷新数据成功!', 1000);
+				}else {
+					if(rs.exceptionInfo) {
+						showError(rs.exceptionInfo);
+					}
+				}
+			}
+		});
+	}
+});

+ 13 - 4
WebContent/app/view/v6/pagingQuery/Form.js

@@ -25,6 +25,7 @@ Ext.define('erp.view.v6.pagingQuery.Form', {
     'erp.view.v6.field.MultiDbfindTriggerV6',
     'erp.view.core.form.CheckBoxGroup',
     'erp.view.core.button.Add',
+    'erp.view.core.button.CommonRefreshData',
     'erp.view.v6.field.date.ConDateHourMinuteTimeFieldV6',
     'erp.view.v6.field.date.ConMonthDateFieldV6',
     'erp.view.v6.field.date.MonthDateFieldV6'
@@ -151,10 +152,18 @@ Ext.define('erp.view.v6.pagingQuery.Form', {
   init_toolBar: function (buttons) {
     var defaultBtns = this.getDefaultToolBarItems(), toolbarItems;
     if (buttons) {
-      toolbarItems = Ext.Array.insert(defaultBtns, 4, [{
-        xtype: buttons,
-        handler: 'onAdd'
-      }]);
+      if(buttons == 'erpCommonRefreshDataButton') {
+        Ext.Array.insert(defaultBtns, 4, [{
+            xtype: buttons,
+            width: 100
+        }]);
+      }else  {
+        Ext.Array.insert(defaultBtns, 4, [{
+            xtype: buttons,
+            handler: 'onAdd'
+        }]);
+      }
+
     }
     this.addDocked({
       xtype: 'toolbar',

+ 14 - 11
src/com/uas/erp/controller/common/DataListController.java

@@ -9,6 +9,8 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import com.uas.erp.dao.SpObserver;
+import org.apache.xmlbeans.impl.xb.xmlconfig.Extensionconfig;
 import org.drools.lang.dsl.DSLMapParser.mapping_file_return;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -24,7 +26,7 @@ import com.uas.erp.service.common.DataListService;
 
 /**
  * 处理前台datalist请求 根据caller,返回不同的datalist
- *
+ * 
  * @author yingp
  * @date 2012-07-31 15:01:17
  */
@@ -75,7 +77,7 @@ public class DataListController {
      *   @param caller 列表CALLER
      *   @param condition 列表查询条件
      *   @param fromHeader 存在筛选条件
-     *
+     * 
      * */
 	@RequestMapping(value = "/common/datalistCount.action")
 	@ResponseBody
@@ -402,7 +404,7 @@ public class DataListController {
 		modelMap.put("sessionId", req.getSession().getId());
 		return modelMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/getColumns.action")
 	@ResponseBody
 	public Map<String, Object> getColumns(String caller, boolean isCloud ) {
@@ -447,7 +449,7 @@ public class DataListController {
 		modeMap.put("success",dataListService.deleteTreeNode(id));
 		return modeMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/isAdmin.action")
 	@ResponseBody
 	public Map<String, Object> isAdmin() {
@@ -456,7 +458,7 @@ public class DataListController {
 		modeMap.put("isAdmin", "admin".equals(SystemSession.getUser().getEm_type()));
 		return modeMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/querySave.action")
 	@ResponseBody
 	public Map<String, Object> saveQuery(int id,String dataArr, boolean isDefalut, String caller) {
@@ -465,7 +467,7 @@ public class DataListController {
 		modeMap.put("success",true);
 		return modeMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/querySaveAnother.action")
 	@ResponseBody
 	public Map<String, Object> saveAnotherQuery(String queryName, boolean isDefault, boolean isNormal, String dataArr, String caller) {
@@ -474,7 +476,7 @@ public class DataListController {
 		modeMap.put("success",true);
 		return modeMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/setDefault.action")
 	@ResponseBody
 	public Map<String, Object> setDefault(String id,String caller) {
@@ -483,11 +485,11 @@ public class DataListController {
 		modeMap.put("success",true);
 		return modeMap;
 	}
-
+	
 	@RequestMapping(value = "/common/Datalist/hasFilterCondition.action")
 	@ResponseBody
 	public Map<String, Object> hasFilterCondition(String caller) {
-		Map<String, Object> modeMap=new HashMap<String, Object>();
+		Map<String, Object> modeMap=new HashMap<String, Object>();	
 		modeMap.put("success",dataListService.hasFilterCondition(caller));
 		return modeMap;
 	}
@@ -555,14 +557,15 @@ public class DataListController {
 	* */
 	@RequestMapping(value = "/common/datalist/beforeQuery.action")
 	@ResponseBody
-	public Map<String, Object> beforeQuery(HttpSession session, String caller, String formConStore) {
+	public Map<String, Object> beforeQuery(HttpSession session, String caller, String formConStore , Integer isAsync) {
 		Map<String, Object> modelMap = new HashMap<String, Object>();
 		Employee employee = (Employee) session.getAttribute("employee");
-		String str = dataListService.beforeQuery(caller, formConStore, employee);
+		String str = dataListService.beforeQuery(caller, formConStore, employee , isAsync );
 		modelMap.put("con", str);
 		modelMap.put("success", true);
 		return modelMap;
 	}
+
 	/**
 	 * 根据字段值获取下拉
 	 */