Преглед изворни кода

Merge branch 'master' of hj/kmall-pt-general into master

杨波 пре 3 година
родитељ
комит
5037f07823

+ 25 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/compared/OrderComparedErrorController.java

@@ -15,6 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 
 /**
  * Controller
@@ -41,6 +44,7 @@ public class OrderComparedErrorController {
         //查询列表数据
         params = ParamUtils.setTimeMap(params);
         String createTime = (String) params.get("createTime");
+        String endTime = (String) params.get("endTime");
         if(org.apache.commons.lang.StringUtils.isNotEmpty(createTime)) {
             try {
                 createTime = new String(createTime.getBytes(ISO), UTF);
@@ -146,5 +150,26 @@ public class OrderComparedErrorController {
 
     }
 
+    @RequestMapping("/exportDataFormat")
+    @ResponseBody
+    public R exportDataFormat(@RequestParam Map<String, Object> params, HttpServletResponse response, HttpServletRequest request) {
+
+        params = ParamUtils.setTimeMap(params);
+        String createTime = (String) params.get("createTime");
+        String endTime = (String) params.get("endTime");
+        if(org.apache.commons.lang.StringUtils.isNotEmpty(createTime)) {
+            try {
+                createTime = new String(createTime.getBytes(ISO), UTF);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            createTime = DateUtils.getDate(createTime);
+            params.put("createTime",createTime);
+        }
+        orderComparedErrorService.exportDataFormatList(params,response);
+        return R.ok();
+    }
+
+
 
 }

+ 26 - 10
kmall-admin/src/main/java/com/kmall/admin/controller/compared/PayOrderInfoController.java

@@ -2,8 +2,10 @@ package com.kmall.admin.controller.compared;
 
 import java.util.*;
 
+import com.kmall.admin.dto.AliPaymentOrderDto;
 import com.kmall.admin.dto.GoodsDto;
 import com.kmall.admin.dto.PayOrderDto;
+import com.kmall.admin.dto.WxPaymentOrderDto;
 import com.kmall.admin.entity.compared.ImportPayOrderRecordEntity;
 import com.kmall.admin.entity.compared.PayOrderInfoEntity;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
@@ -123,19 +125,24 @@ public class PayOrderInfoController {
     @RequestMapping("/uploadAlipayOrder")
     @ResponseBody
     public R uploadAlipayOrder(@RequestParam("file") MultipartFile file) {
-        List<PayOrderDto> payOrderDtoList = new ArrayList<>();// 支付订单信息
+//        List<PayOrderDto> payOrderDtoList = new ArrayList<>();// 支付订单信息
+        List<AliPaymentOrderDto> aliPaymentOrderDtoList = new ArrayList<>();
+        AliPaymentOrderDto aliPaymentOrderDto = new AliPaymentOrderDto();
         try {
             Map<String, Object> beans = new HashMap<String, Object>();
-            beans.put("PayOrderDtoList", payOrderDtoList);
+//            beans.put("PayOrderDtoList", payOrderDtoList);
             if (file.isEmpty()) {
                 return R.error("文件不能为空!");
             }
-            excelUtil.readExcel(JxlsXmlTemplateName.ALIPAY_PAY_ORDER_DTO_LIST, beans, file.getInputStream());
+            beans.put("AliPaymentOrderDto", aliPaymentOrderDto);
+            beans.put("AliPaymentOrderDtoList", aliPaymentOrderDtoList);
+            excelUtil.readExcel(JxlsXmlTemplateName.ALI_PAYMENT_ORDER_DTO_List, beans, file.getInputStream());
+//            excelUtil.readExcel(JxlsXmlTemplateName.ALIPAY_PAY_ORDER_DTO_LIST, beans, file.getInputStream());
         } catch (Exception e) {
             e.printStackTrace();
             return R.error("导入失败!");
         }
-        if(payOrderDtoList == null || payOrderDtoList.size() == 0){
+        if(aliPaymentOrderDtoList == null || aliPaymentOrderDtoList.size() == 0){
             return R.error("报表格式有误");
         }
 
@@ -145,7 +152,8 @@ public class PayOrderInfoController {
             e.printStackTrace();
         }
 
-        payOrderInfoService.uploadExcel(payOrderDtoList,Dict.payFlag.item_alipay.getItem());
+//        payOrderInfoService.uploadExcel(payOrderDtoList,Dict.payFlag.item_alipay.getItem());
+        payOrderInfoService.uploadExceAli(aliPaymentOrderDtoList,Dict.payFlag.item_alipay.getItem());
         //上传文件
         return R.ok();
     }
@@ -167,19 +175,25 @@ public class PayOrderInfoController {
     @RequestMapping("/uploadWXOrder")
     @ResponseBody
     public R uploadWXOrder(@RequestParam("file") MultipartFile file) {
-        List<PayOrderDto> payOrderDtoList = new ArrayList<>();// 支付订单信息
+//        List<PayOrderDto> payOrderDtoList = new ArrayList<>();// 支付订单信息
+        List<WxPaymentOrderDto> wxPaymentOrderDtoList = new ArrayList<>();
         try {
+            WxPaymentOrderDto wxPaymentOrderDto = new WxPaymentOrderDto();
+
             Map<String, Object> beans = new HashMap<String, Object>();
-            beans.put("PayOrderDtoList", payOrderDtoList);
+//            beans.put("PayOrderDtoList", payOrderDtoList);
+            beans.put("WxPaymentOrderDto", wxPaymentOrderDto);
+            beans.put("WxPaymentOrderDtoList", wxPaymentOrderDtoList);
             if (file.isEmpty()) {
                 return R.error("文件不能为空!");
             }
-            excelUtil.readExcel(JxlsXmlTemplateName.WX_PAY_ORDER_DTO_LIST, beans, file.getInputStream());
+//            excelUtil.readExcel(JxlsXmlTemplateName.WX_PAY_ORDER_DTO_LIST, beans, file.getInputStream());
+            excelUtil.readExcel(JxlsXmlTemplateName.WX_PAYMENT_ORDER_DTO_List, beans, file.getInputStream());
         } catch (Exception e) {
             e.printStackTrace();
             return R.error("导入失败!");
         }
-        if(payOrderDtoList == null || payOrderDtoList.size() == 0){
+        if(wxPaymentOrderDtoList == null || wxPaymentOrderDtoList.size() == 0){
             return R.error("报表格式有误");
         }
 
@@ -188,7 +202,9 @@ public class PayOrderInfoController {
         } catch (Exception e) {
             e.printStackTrace();
         }
-        payOrderInfoService.uploadExcel(payOrderDtoList,Dict.payFlag.item_weixin.getItem());
+//        payOrderInfoService.uploadExcel(payOrderDtoList,Dict.payFlag.item_weixin.getItem());
+
+        payOrderInfoService.uploadExceWx(wxPaymentOrderDtoList,Dict.payFlag.item_weixin.getItem());
         //上传文件
         return R.ok();
     }

+ 8 - 0
kmall-admin/src/main/java/com/kmall/admin/service/compared/OrderComparedErrorService.java

@@ -3,6 +3,7 @@ package com.kmall.admin.service.compared;
 
 import com.kmall.admin.entity.compared.OrderComparedErrorEntity;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 import java.util.Map;
 
@@ -76,4 +77,11 @@ public interface OrderComparedErrorService {
      * @param comparedDate
      */
     String comparedOrder(String comparedDate);
+
+    /**
+     * 导出异常支付单信息
+     * @param map
+     * @param response
+     */
+    void exportDataFormatList(Map<String, Object> map, HttpServletResponse response);
 }

+ 6 - 0
kmall-admin/src/main/java/com/kmall/admin/service/compared/PayOrderInfoService.java

@@ -1,7 +1,9 @@
 package com.kmall.admin.service.compared;
 
 
+import com.kmall.admin.dto.AliPaymentOrderDto;
 import com.kmall.admin.dto.PayOrderDto;
+import com.kmall.admin.dto.WxPaymentOrderDto;
 import com.kmall.admin.entity.compared.PayOrderInfoEntity;
 
 import java.util.List;
@@ -74,6 +76,10 @@ public interface PayOrderInfoService {
 
     void uploadExcel(List<PayOrderDto> payOrderDtoList, String parseInt);
 
+    void uploadExceAli(List<AliPaymentOrderDto> aliPaymentOrderDtoList, String parseInt);
+
+    void uploadExceWx(List<WxPaymentOrderDto> wxPaymentOrderDtoList, String parseInt);
+
     /**
      * 查询所有未对比的订单
      * @param comparedDate

+ 47 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/compared/OrderComparedErrorServiceImpl.java

@@ -14,7 +14,10 @@ import com.kmall.admin.service.compared.PayOrderInfoService;
 import com.kmall.admin.utils.data.response.ResponseMessage;
 import com.kmall.admin.utils.oms.OkHttpUtils;
 import com.kmall.admin.utils.oms.OmsSign;
+import com.kmall.common.utils.Query;
 import com.kmall.common.utils.R;
+import com.kmall.common.utils.RRException;
+import com.kmall.common.utils.excel.ExcelExport;
 import com.kmall.manager.manager.merch.OmsMerchProperties;
 import okhttp3.Request;
 import org.slf4j.Logger;
@@ -25,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -124,6 +128,49 @@ public class OrderComparedErrorServiceImpl implements OrderComparedErrorService
         return "对比成功";
      }
 
+    @Override
+    public void exportDataFormatList(Map<String, Object> map, HttpServletResponse response) {
+        try {
+            //查询列表数据
+            List<OrderComparedErrorEntity> orderComparedErrorList = orderComparedErrorDao.queryList(map);
+            String[] header = null;
+            LinkedHashMap<String, Object> headerMap = null;
+            header = new String[]{"Merch OrderSn","Order Source", "Reason", "Create Time"};
+            //初始化 第二行数据信息
+            headerMap = initHeaderMap();
+            // excel 表单名字
+            ExcelExport ee = new ExcelExport("支付异常账单");
+            List<Map<String, Object>> list = new LinkedList<>();
+            list.add(headerMap);
+            for (OrderComparedErrorEntity entity : orderComparedErrorList) {
+                LinkedHashMap<String, Object> mapLinked = new LinkedHashMap<>(5);
+                mapLinked=initHeaderMap(entity);
+                list.add(mapLinked);
+            }
+            //渲染excel表单
+            ee.addSheetByMap("支付异常账单", list, header);
+            ee.export(response);
+        } catch (Exception e){
+            e.printStackTrace();
+            throw new RRException(e.getMessage());
+        }
+    }
+    private LinkedHashMap<String, Object> initHeaderMap() {
+        LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
+        headerMap.put("merchOrderSn","订单号");
+        headerMap.put("orderSource","来源");
+        headerMap.put("reason","异常原因");
+        headerMap.put("createTime","时间");
+        return headerMap;
+    }
+    private LinkedHashMap<String, Object> initHeaderMap(OrderComparedErrorEntity entity) {
+        LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
+        headerMap.put("merchOrderSn",entity.getMerchOrderSn());
+        headerMap.put("orderSource",entity.getOrderSource());
+        headerMap.put("reason",entity.getReason());
+        headerMap.put("createTime",entity.getCreateTime());
+        return headerMap;
+    }
     private void comparedOmsOrder(List<PayOrderInfoEntity> payOrderInfoEntities, String comparedDate) throws IOException {
         // 查询oms系统前一天的订单
         List<OrderEntity> orderEntities = new ArrayList<>();

+ 96 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/compared/PayOrderInfoServiceImpl.java

@@ -2,7 +2,9 @@ package com.kmall.admin.service.impl.compared;
 
 import com.google.common.collect.ImmutableBiMap;
 import com.kmall.admin.dao.compared.PayOrderInfoDao;
+import com.kmall.admin.dto.AliPaymentOrderDto;
 import com.kmall.admin.dto.PayOrderDto;
+import com.kmall.admin.dto.WxPaymentOrderDto;
 import com.kmall.admin.entity.compared.PayOrderInfoEntity;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
 import com.kmall.admin.service.compared.PayOrderInfoService;
@@ -150,6 +152,100 @@ public class PayOrderInfoServiceImpl implements PayOrderInfoService {
 
     }
 
+    @Override
+    public void uploadExceAli(List<AliPaymentOrderDto> aliPaymentOrderDtoList, String payFlag) {
+        List<PayOrderInfoEntity> insertList = new ArrayList<>();
+
+        if (aliPaymentOrderDtoList != null && aliPaymentOrderDtoList.size() > 0) {
+
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            SysUserEntity userEntity = ShiroUtils.getUserEntity();
+            for (AliPaymentOrderDto aliPaymentOrderDto : aliPaymentOrderDtoList) {
+                if (Dict.payFlag.item_alipay.getItem().equals(payFlag)) {
+                    String style = aliPaymentOrderDto.getPayType();
+                    if (style == null) {
+                        continue;
+                    }
+                    if (!style.equals("在线支付") && !style.equals("退款(交易退款)")) {
+                        continue;
+                    }
+                }
+
+                PayOrderInfoEntity payOrderInfoEntity = new PayOrderInfoEntity();
+                payOrderInfoEntity.setImporter(userEntity.getUserId() + ""); // 导入者id
+                payOrderInfoEntity.setImportTime(format.format(new Date())); // 导入时间
+
+                if (StringUtils.isNotEmpty(aliPaymentOrderDto.getPayMoney())) {
+                    payOrderInfoEntity.setOrderStatus("300"); // 订单状态
+                    payOrderInfoEntity.setOrderAmount(new BigDecimal(aliPaymentOrderDto.getPayMoney())); // 订单金额
+                } else {
+                    payOrderInfoEntity.setOrderStatus("401"); // 订单状态
+                    payOrderInfoEntity.setOrderAmount(new BigDecimal(0)); // 订单金额
+                }
+                if (StringUtils.isNotEmpty(aliPaymentOrderDto.getRefundMoney())) {
+                    payOrderInfoEntity.setPayStatus("5"); // 支付状态
+                    payOrderInfoEntity.setRefundAmount(new BigDecimal(aliPaymentOrderDto.getRefundMoney())); // 退款金额
+                } else {
+                    payOrderInfoEntity.setPayStatus("2"); // 支付状态
+                    payOrderInfoEntity.setRefundAmount(new BigDecimal(0)); // 退款金额
+                }
+
+                payOrderInfoEntity.setPayFlag(payFlag); // 支付方式
+                payOrderInfoEntity.setPayTime(aliPaymentOrderDto.getTimeStr()); // 交易时间
+
+                payOrderInfoEntity.setMerchOrderSn(aliPaymentOrderDto.getOutTradeNo()); // 订单号
+                payOrderInfoEntity.setCompared("0"); // 是否对比过
+                insertList.add(payOrderInfoEntity);
+            }
+        }
+
+        payOrderInfoDao.saveBatch(insertList);
+    }
+
+    @Override
+    public void uploadExceWx(List<WxPaymentOrderDto> wxPaymentOrderDtoList, String payFlag) {
+        List<PayOrderInfoEntity> insertList = new ArrayList<>();
+
+        if (wxPaymentOrderDtoList != null && wxPaymentOrderDtoList.size() > 0) {
+
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            SysUserEntity userEntity = ShiroUtils.getUserEntity();
+            for (WxPaymentOrderDto wxPaymentOrderDto : wxPaymentOrderDtoList) {
+                String payMoney = wxPaymentOrderDto.getPayMoney().split("`")[1];
+                String refundMoney = wxPaymentOrderDto.getApplyRefundAmount().split("`")[1];
+                String outTradeNo = wxPaymentOrderDto.getOutTradeNo().split("`")[1];
+                String timeStr = wxPaymentOrderDto.getTimeStr().split("`")[1];
+                PayOrderInfoEntity payOrderInfoEntity = new PayOrderInfoEntity();
+                payOrderInfoEntity.setImporter(userEntity.getUserId() + ""); // 导入者id
+                payOrderInfoEntity.setImportTime(format.format(new Date())); // 导入时间
+
+                if (StringUtils.isNotEmpty(payMoney) && !"0.00".equals(payMoney)) {
+                    payOrderInfoEntity.setOrderStatus("300"); // 订单状态
+                    payOrderInfoEntity.setOrderAmount(new BigDecimal(payMoney)); // 订单金额
+                } else {
+                    payOrderInfoEntity.setOrderStatus("401"); // 订单状态
+                    payOrderInfoEntity.setOrderAmount(new BigDecimal(0)); // 订单金额
+                }
+                if (StringUtils.isNotEmpty(refundMoney) && !"0.00".equals(refundMoney)) {
+                    payOrderInfoEntity.setPayStatus("5"); // 支付状态
+                    payOrderInfoEntity.setRefundAmount(new BigDecimal(refundMoney)); // 退款金额
+                } else {
+                    payOrderInfoEntity.setPayStatus("2"); // 支付状态
+                    payOrderInfoEntity.setRefundAmount(new BigDecimal(0)); // 退款金额
+                }
+
+                payOrderInfoEntity.setPayFlag(payFlag); // 支付方式
+                payOrderInfoEntity.setPayTime(timeStr); // 交易时间
+
+                payOrderInfoEntity.setMerchOrderSn(outTradeNo); // 订单号
+                payOrderInfoEntity.setCompared("0"); // 是否对比过
+                insertList.add(payOrderInfoEntity);
+            }
+        }
+
+        payOrderInfoDao.saveBatch(insertList);
+    }
+
     /**
      * 查询所有未对比的订单
      * @param comparedDate

+ 11 - 2
kmall-admin/src/main/resources/mybatis/mapper/compared/OrderComparedErrorDao.xml

@@ -35,7 +35,13 @@
 		from mall_order_compared_error
 		WHERE 1=1
 		<if test="createTime != null and createTime.trim() != ''">
-			AND DATE_FORMAT(create_time,'%Y-%m-%d') = #{createTime}
+				AND DATE_FORMAT(create_time,'%Y-%m-%d') = #{createTime}
+		</if>
+		<if test="createTime != null and createTime.trim() != '' and endTime != null and endTime.trim() != ''">
+			OR DATE_FORMAT(create_time,'%Y-%m-%d') BETWEEN #{createTime} and #{endTime}
+		</if>
+		<if test="merchOrderSn != null and merchOrderSn.trim() != ''">
+			AND merch_order_sn = #{merchOrderSn}
 		</if>
         <choose>
             <when test="sidx != null and sidx.trim() != ''">
@@ -57,7 +63,10 @@
             AND name LIKE concat('%',#{name},'%')
         </if>
 		<if test="createTime != null and createTime.trim() != ''">
-			AND DATE_FORMAT(create_time,'%Y-%m-%d') = #{createTime}
+				AND DATE_FORMAT(create_time,'%Y-%m-%d') = #{createTime}
+		</if>
+		<if test="createTime != null and createTime.trim() != '' and endTime != null and endTime.trim() != ''">
+			OR DATE_FORMAT(create_time,'%Y-%m-%d') BETWEEN #{createTime} and #{endTime}
 		</if>
 	</select>
 

+ 8 - 1
kmall-admin/src/main/webapp/WEB-INF/page/compared/ordercomparederror.html

@@ -10,12 +10,19 @@
         <Row :gutter="16">
             <div class="search-group">
                 <i-col span="3">
-                    <Date-picker v-model="q.createTime" placeholder="异常日期"/>
+                    <Date-picker v-model="q.createTime" placeholder="异常开始日期"/>
+                </i-col>
+                <i-col span="3">
+                    <Date-picker v-model="q.endTime" placeholder="异常结束日期"/>
+                </i-col>
+                <i-col span="4">
+                    <i-input v-model="q.merchOrderSn" @on-enter="query" placeholder="商户订单编号"/>
                 </i-col>
                 <i-button @click="query">查询</i-button>
                 <i-button @click="reloadSearch">重置</i-button>
             </div>
             <div class="buttons-group">
+                <i-button type="primary" @click="exportDataFormat"><i class="fa fa-cloud-download"></i>&nbsp;导出数据</i-button>
                 <i-button type="info" @click="reduce"><i class="fa fa-plus"></i>&nbsp;kmall调减</i-button>
             </div>
         </Row>

+ 4 - 2
kmall-admin/src/main/webapp/WEB-INF/page/compared/payorderinfo.html

@@ -36,8 +36,10 @@
                         <i-button type="ghost" icon="ios-cloud-upload-outline">微信支付订单导入</i-button>
                     </Upload>
                 </i-col>
-                <a href="../statics/file/alipay_pay_order.xls">支付宝模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
-                <a href="../statics/file/weixin_pay_order.xls">微信模板下载</a>
+               <!-- <a href="../statics/file/alipay_pay_order.xls">支付宝模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
+                <a href="../statics/file/weixin_pay_order.xls">微信模板下载</a>-->
+                <a href="../statics/file/ali_yyyy_mm_dd_v1.0.0.xls">支付宝模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
+                <a href="../statics/file/wx_yyyy_mm_dd_v1.0.0.xls">微信模板下载</a>
             </div>
         </Row>
 	    <table id="jqGrid"></table>

+ 50 - 5
kmall-admin/src/main/webapp/js/compared/ordercomparederror.js

@@ -46,8 +46,11 @@ let vm = new Vue({
 		},
 		q: {
 		    name: '',
-			createTime:''
-		}
+			createTime:'',
+			endTime:'',
+			merchOrderSn:''
+		},
+		flag : true,
 	},
 	methods: {
 		query: function () {
@@ -121,7 +124,9 @@ let vm = new Vue({
         reloadSearch: function() {
             vm.q = {
                 name: '',
-				createTime:''
+				createTime:'',
+				endTime:'',
+				merchOrderSn:''
             }
             vm.reload();
 		},
@@ -132,7 +137,7 @@ let vm = new Vue({
 				page = $("#jqGrid").jqGrid('getGridParam', 'page');
 			}
 			$("#jqGrid").jqGrid('setGridParam', {
-                postData: {'name': vm.q.name,'createTime':vm.q.createTime},
+                postData: {'name': vm.q.name,'createTime':vm.q.createTime,'endTime':vm.q.endTime,'merchOrderSn':vm.q.merchOrderSn},
                 page: page
             }).trigger("reloadGrid");
             vm.handleReset('formValidate');
@@ -144,6 +149,46 @@ let vm = new Vue({
         },
         handleReset: function (name) {
             handleResetForm(this, name);
-        }
+        },
+		exportDataFormat : function () {
+			if (vm.flag){
+				vm.flag = false;
+				var params = {};
+				params.createTime=vm.q.createTime;
+				params.endTime=vm.q.endTime;
+				if(!params.createTime || !params.endTime){
+					alert("请选择支付异常日期");
+					return ;
+				}
+				let startDateTime = Date.parse(new Date(params.createTime));
+				let endDateTime = Date.parse(new Date(params.endTime));
+				if(startDateTime > endDateTime){
+					alert("支付异常开始日期不能大于支付异常结束日期");
+					return ;
+				}
+
+				let day = Math.abs(parseInt((endDateTime - startDateTime)/1000/3600/24));
+				if(day > 30 || Object.is(day,NaN)){
+					alert("导出时间不能相差大于30天");
+					return ;
+				}
+				const msg = this.$Message.loading({
+					content: 'Loading...',
+					duration: 0
+				});
+				confirm('确认导出异常账单吗?', function () {
+					setTimeout(msg, 1000);
+					exportFile('#rrapp', '../ordercomparederror/exportDataFormat', params);
+					alert('操作成功,正在导出,请勿重复点击!', function (index) {
+						$("#jqGrid").trigger("reloadGrid");
+					});
+				});
+				vm.flag = true
+			}else {
+				alert("点击的太快了,请慢一点!");
+				vm.flag = true
+				return ;
+			}
+		},
 	}
 });