cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
@@ -1,25 +1,30 @@ package com.dsh.account.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.CoachType; import com.dsh.account.entity.RechargeRecords; import com.dsh.account.entity.TAppUser; import com.dsh.account.entity.VipPayment; import com.dsh.account.model.IncomeQuery; import com.dsh.account.model.dto.VipPaymentDto; import com.dsh.account.model.dto.VipRefundDto; import com.dsh.account.model.query.RechargeRecordsQuery; import com.dsh.account.model.query.coachQuery.CoachQuery; import com.dsh.account.model.vo.CoachSerchVO; import com.dsh.account.model.vo.RechargeRecordsVO; import com.dsh.account.model.vo.VipPaymentListVO; import com.dsh.account.service.*; import net.bytebuddy.asm.Advice; import io.swagger.models.auth.In; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 充值记录控制器 @@ -82,4 +87,60 @@ public List<VipPayment> registrationList(@RequestBody IncomeQuery query) { return rechargeRecordsService.listAll(query); } /** * 退费 */ @ResponseBody @RequestMapping("/finance/refund") public String refund(@RequestBody VipRefundDto vipRefundDto) throws ParseException { VipPayment vipPayment = vipPaymentService.getById(vipRefundDto.getId()); if (vipPayment==null){ return "500"; } Integer appUserId = vipPayment.getAppUserId(); TAppUser appUser = appUserService.getById(appUserId); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date parse = simpleDateFormat.parse(vipRefundDto.getEndTime() + " 00:00:00"); appUser.setVipEndTime( parse); if (parse.before(new Date())){ appUser.setIsVip(0); } appUserService.updateById(appUser); vipPayment.setState(3); vipPaymentService.updateById(vipPayment); return "200"; } @ResponseBody @RequestMapping("/finance/vipPayment") List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto){ List<VipPaymentListVO> vipPaymentListVOS = new ArrayList<>(); List<Integer> payStatus = new ArrayList<>(); payStatus.add(2); LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); vipPaymentLambdaQueryWrapper.in(!vipPaymentDto.getUserIds().isEmpty(),VipPayment::getAppUserId, vipPaymentDto.getUserIds()); vipPaymentLambdaQueryWrapper.in(!vipPaymentDto.getVipIds().isEmpty(),VipPayment::getVipId, vipPaymentDto.getVipIds()); vipPaymentLambdaQueryWrapper.in(VipPayment::getPayStatus,payStatus); vipPaymentLambdaQueryWrapper.ge(StringUtils.hasLength(vipPaymentDto.getStartTime()), VipPayment::getInsertTime, vipPaymentDto.getStartTime()); vipPaymentLambdaQueryWrapper.le(StringUtils.hasLength(vipPaymentDto.getEndTime()), VipPayment::getInsertTime, vipPaymentDto.getEndTime()); if (vipPaymentDto.getIsRefund()!=null&&vipPaymentDto.getIsRefund()==1){ payStatus.add(3); } List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper); // 使用 Stream + 手动拷贝提升性能和可读性(或使用 MapStruct) vipPaymentListVOS = list.stream().map(vipDetail -> { VipPaymentListVO vo = new VipPaymentListVO(); BeanUtils.copyProperties(vo, vipDetail); // 注意参数顺序是否正确 return vo; }).collect(Collectors.toList()); for (VipPaymentListVO vipPaymentListVO : vipPaymentListVOS) { if (vipPaymentListVO.getPayStatus()==2){ vipPaymentListVO.setIsRefund(0); }else { vipPaymentListVO.setIsRefund(1); } } return vipPaymentListVOS; } } cloud-server-account/src/main/java/com/dsh/account/entity/VipPayment.java
@@ -44,7 +44,7 @@ @TableField("payType") private Integer payType; /** * 支付状态(1=待支付,2=已支付) * 支付状态(1=待支付,2=已支付 3=已退款) */ @TableField("payStatus") private Integer payStatus; @@ -84,6 +84,11 @@ */ @TableField("couponJson") private String couponJson; /** * 退款备注 */ @TableField("remark") private String remark; public static String CODE() { cloud-server-account/src/main/java/com/dsh/account/model/dto/VipPaymentDto.java
New file @@ -0,0 +1,24 @@ package com.dsh.account.model.dto; import lombok.Data; import java.util.List; /** * 会员权益明细 */ @Data public class VipPaymentDto { // 会员ids List<Integer> vipIds; // 用户ids List<Integer> userIds; // 是否退款 0否1是 Integer isRefund; // 下单时间开始 String startTime; // 下单时间结束 String endTime; } cloud-server-account/src/main/java/com/dsh/account/model/dto/VipRefundDto.java
New file @@ -0,0 +1,16 @@ package com.dsh.account.model.dto; import lombok.Data; /** * 会员退费DTO */ @Data public class VipRefundDto { // 会员支付记录id String id; // 会员到期时间 String endTime; } cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.javacopy from cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentVO.java copy to cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java
File was copied from cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentVO.java @@ -1,5 +1,8 @@ package com.dsh.guns.modular.system.model.vo; package com.dsh.account.model.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +14,7 @@ * 会员订单列表 */ @Data public class VipPaymentVO { public class VipPaymentListVO { @ApiModelProperty(value = "主键") private Integer id; @ApiModelProperty(value = "订单编号") @@ -40,6 +43,31 @@ @ApiModelProperty(value = "备注") private Integer remark; /** * 支付方式(1=微信,2=支付宝) */ @TableField("payType") private Integer payType; /** * 支付状态(1=待支付,2=已支付 3=已退款) */ @TableField("payStatus") private Integer payStatus; /** * 支付时间 */ @TableField("payTime") private Date payTime; /** * 第三方流水号 */ @TableField("orderNumber") private String orderNumber; /** * 状态(1=正常,2=冻结,3=删除) */ @TableField("state") private Integer state; } cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -27,10 +27,8 @@ import com.dsh.activity.model.CouponListVo; import com.dsh.activity.model.CouponRecordQuery; import com.dsh.activity.model.VipDetailVO; import com.dsh.activity.model.request.CommodityRequest; import com.dsh.activity.model.request.CouponDataVo; import com.dsh.activity.model.request.CouponPackageReq; import com.dsh.activity.model.request.VipDetailDto; import com.dsh.activity.model.VipPaymentVO; import com.dsh.activity.model.request.*; import com.dsh.activity.model.response.CouponPackageResp; import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; @@ -108,7 +106,7 @@ @PostMapping("/base/coupon/vipDetail") @ResponseBody List<VipDetailVO> vipDetail(VipDetailDto vipDetailDto){ List<VipDetailVO> vipDetail(@RequestBody VipDetailDto vipDetailDto){ List<VipDetailVO> vipDetailVOS = new ArrayList<>(); List<VipDetail> list = vipDetailService.lambdaQuery() .in(!vipDetailDto.getVipIds().isEmpty(), VipDetail::getVipId, vipDetailDto.getVipIds()) @@ -137,11 +135,11 @@ vipDetailVO.setGoodsName(coupon.getName()); } } } return vipDetailVOS; } /** * 查询注册赠送优惠券 判断当前优惠券限领数量 */ cloud-server-activity/src/main/java/com/dsh/activity/model/VipPaymentVO.javacopy from cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentVO.java copy to cloud-server-activity/src/main/java/com/dsh/activity/model/VipPaymentVO.java
File was copied from cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentVO.java @@ -1,4 +1,4 @@ package com.dsh.guns.modular.system.model.vo; package com.dsh.activity.model; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; cloud-server-activity/src/main/java/com/dsh/activity/model/request/VipPaymentDto.java
New file @@ -0,0 +1,24 @@ package com.dsh.activity.model.request; import lombok.Data; import java.util.List; /** * 会员权益明细 */ @Data public class VipPaymentDto { // 会员ids List<Integer> vipIds; // 用户ids List<Integer> userIds; // 是否退款 0否1是 Integer isRefund; // 下单时间开始 String startTime; // 下单时间结束 String endTime; } cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java
@@ -2,6 +2,9 @@ import com.dsh.course.feignClient.account.model.VipPayment; import com.dsh.guns.modular.system.model.IncomeQuery; import com.dsh.guns.modular.system.model.dto.VipPaymentDto; import com.dsh.guns.modular.system.model.dto.VipRefundDto; import com.dsh.guns.modular.system.model.vo.VipPaymentListVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -20,4 +23,9 @@ */ @RequestMapping("/finance/vipPaymentList") List<VipPayment> registrationList(@RequestBody IncomeQuery query); @RequestMapping("/finance/vipPayment") List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto); @RequestMapping("/finance/refund") String refund(@RequestBody VipRefundDto vipRefundDto); } cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java
@@ -5,7 +5,9 @@ import com.dsh.guns.modular.system.model.CouponDataVo; import com.dsh.guns.modular.system.model.CouponStore; import com.dsh.guns.modular.system.model.dto.VipDetailDto; import com.dsh.guns.modular.system.model.dto.VipPaymentDto; import com.dsh.guns.modular.system.model.vo.VipDetailVO; import com.dsh.guns.modular.system.model.vo.VipPaymentListVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -65,5 +67,7 @@ @PostMapping("/base/pointMerchars/goodsList") List<PointsMerchandise> goodsList(); @PostMapping("/base/coupon/vipDetail") List<VipDetailVO> vipDetail(VipDetailDto vipDetailDto); List<VipDetailVO> vipDetail(@RequestBody VipDetailDto vipDetailDto); @PostMapping("/base/coupon/vipPayment") List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto); } cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java
@@ -1,25 +1,16 @@ package com.dsh.guns.modular.system.controller.code; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.VipPaymentClient; import com.dsh.course.feignClient.account.model.QueryByNamePhone; import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.activity.CouponClient; import com.dsh.course.feignClient.activity.model.Coupon; import com.dsh.course.feignClient.activity.model.CouponCity; import com.dsh.course.feignClient.activity.model.TicketDetailVO; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.model.dto.VipDetailDto; import com.dsh.guns.modular.system.model.dto.VipPaymentDto; import com.dsh.guns.modular.system.model.vo.VipDetailVO; import com.dsh.guns.modular.system.model.vo.VipPaymentVO; import com.dsh.guns.modular.system.model.dto.VipRefundDto; import com.dsh.guns.modular.system.model.vo.VipPaymentListVO; import com.dsh.guns.modular.system.service.*; import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -28,8 +19,6 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -50,6 +39,8 @@ @Autowired private AppUserClient appUserClient; @Autowired private VipPaymentClient vipPaymentClient; @Autowired private ITSiteService siteService; @Autowired private TOperatorService operatorService; @@ -69,7 +60,7 @@ */ @RequestMapping(value = "/list") @ResponseBody public List<VipPaymentVO> list(String appUserName public List<VipPaymentListVO> list(String appUserName , String phone, String vipName , Integer isRefund , String time @@ -110,7 +101,58 @@ vipPaymentDto.setUserIds(userIds); } } return null; vipPaymentDto.setIsRefund(isRefund); if (StringUtils.hasLength(time)){ String stareTime = null; String endTime = null; stareTime = time.split(" - ")[0] + " 00:00:00"; endTime = time.split(" - ")[1] + " 23:59:59"; vipPaymentDto.setStartTime(stareTime); vipPaymentDto.setEndTime(endTime); } QueryByNamePhone queryByNamePhone = new QueryByNamePhone(); List<TAppUser> tAppUsers = appUserClient.queryByNamePhone(queryByNamePhone); List<Vip> vipList = vipService.list(); List<VipPaymentListVO> res =vipPaymentClient.vipPayment(vipPaymentDto); for (VipPaymentListVO re : res) { Vip vip = vipList.stream().filter(e -> e.getId().equals(re.getVipId())).findFirst().orElse(null); if (vip!=null){ re.setVipName(vip.getVipName()); Integer timeType = vip.getTimeType(); Integer time1 = vip.getTime(); switch (timeType){ case 1: re.setVipTime(time1 + "天"); break; case 2: re.setVipTime(time1 + "月"); break; case 3: re.setVipTime(time1 + "年"); break; } } re.setAmountValue("¥"+re.getAmount().toString()); TAppUser appUser = tAppUsers.stream().filter(e -> e.getId().equals(re.getAppUserId())).findFirst().orElse(null); if (appUser!=null){ re.setAppUserName(appUser.getName()); re.setAppUserPhone(appUser.getName()); } } return res; } /** * 退费 */ @RequestMapping(value = "/refund") @ResponseBody public Object list(@RequestBody VipRefundDto vipRefundDto) { String code =vipPaymentClient.refund(vipRefundDto); if (code!=null&& code.equals("200")){ return ResultUtil.success(); }else{ return ResultUtil.error("退费失败"); } } cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java
@@ -46,7 +46,7 @@ private ITSiteService siteService; @Autowired private TOperatorService operatorService; private String PREFIX = "/system/vip/"; private String PREFIX = "/system/vipDetail/"; /** cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/VipPaymentDto.java
@@ -18,8 +18,8 @@ // 是否退款 0否1是 Integer isRefund; // 下单时间开始 String useStartTime; String startTime; // 下单时间结束 String useEndTime; String endTime; } cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/VipRefundDto.java
New file @@ -0,0 +1,18 @@ package com.dsh.guns.modular.system.model.dto; import lombok.Data; import java.util.List; /** * 会员退费DTO */ @Data public class VipRefundDto { // 会员支付记录id String id; // 会员到期时间 String endTime; } cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java
File was renamed from cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentVO.java @@ -11,7 +11,7 @@ * 会员订单列表 */ @Data public class VipPaymentVO { public class VipPaymentListVO { @ApiModelProperty(value = "主键") private Integer id; @ApiModelProperty(value = "订单编号") cloud-server-management/src/main/webapp/WEB-INF/view/system/vipPayment/vip_payment.html
New file @@ -0,0 +1,68 @@ @layout("/common/_container.html"){ <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> <h5>会员权益使用明细</h5> </div> <div class="ibox-content"> <div class="row row-lg"> <div class="col-sm-12"> <div class="row"> <div class="col-sm-3"> <#NameCon id="appUserName" name="用户姓名" /> </div> <div class="col-sm-3"> <#NameCon id="phone" name="电话" /> </div> <div class="col-sm-3"> <#NameCon id="vipName" name="会员卡名称" /> </div> <div class="col-sm-3"> <div class="input-group"> <div class="input-group-btn open"> <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> 是否退费 </button> </div> <select class="form-control" id="type" > <option value="">全部</option> <option value="1">是</option> <option value="2">否</option> </select> </div> </div> <div class="col-sm-3"> <#TimeCon id="time" name="下单时间" isTime="false"/> </div> <div class="col-sm-3"> <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> <#button name="重置" icon="fa-trash" clickFun="TCompetition.resetSearch()" space="true"/> </div> </div> <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> <#button name="导出" icon="fa-plus" clickFun="TCompetition.export()"/> </div> <#table id="TCompetitionTable"/> </div> </div> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/vipPayment/vipPayment.js"></script> <script> laydate.render({ elem: '#time' , trigger: 'click' , range: true }); </script> @} cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
@@ -93,6 +93,7 @@ TStudent.openDetail = function (e) { console.log("看看") console.log(e) var index = layer.load(1,{ type: 1 , title: '设备二维码' cloud-server-management/src/main/webapp/static/modular/system/vipDetail/vipDetail.js
@@ -76,7 +76,7 @@ $(function () { var defaultColunms = TCompetition.initColumn(); var table = new BSTable(TCompetition.id, "/vipDetail/list", defaultColunms); var table = new BSTable(TCompetition.id, "/vipPayment/list", defaultColunms); table.setPaginationType("client"); TCompetition.table = table.init(); TCompetition.getAmount(); cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
New file @@ -0,0 +1,253 @@ /** * 车辆管理管理初始化 */ var TCompetition = { id: "TCompetitionTable", //表格id seItem: null, //选中的条目 table: null, layerIndex: -1 }; var language =1 var role =$("#role").val() /** * 初始化表格的列 */ TCompetition.initColumn = function () { return [ {field: 'selectItem', radio: true}, {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'}, {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, {title: '用户姓名', field: 'appUserName', visible: true, align: 'center', valign: 'middle'}, {title: '联系电话', field: 'appUserPhone', visible: true, align: 'center', valign: 'middle'}, {title: '会员卡名称', field: 'vipName', visible: true, align: 'center', valign: 'middle'}, {title: '时长', field: 'vipTime', visible: true, align: 'center', valign: 'middle'}, {title: '金额', field: 'amountValue', visible: true, align: 'center', valign: 'middle'}, {title: '下单时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, {title: '是否退费', field: 'isRefund', visible: true, align: 'center', valign: 'middle', formatter:function (data) { return {0:"否",1:"是"}[data] } }, {title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle'}, { title: '操作', field: 'remark', visible: true, align: 'center', valign: 'middle', formatter: function (data,row) { // row.redCode存储的设备二维码连接 var temp = row.isRefund; var id = row.id; // 已退费不展示按钮 if (temp==0){ var str = '<button class="btn btn-outline btn-primary" onclick="TCompetition.refund(\'' + id + '\')" >'+row.id+'</button>' btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>'] return btn; }else{ return '已退费'; } } }, ]; }; /** * 打开编辑 */ TCompetition.refund = function (e) { console.log("退款记录id") console.log( e) const data1 = { id:null, vipEndTime:"" }; var index = layer.load(1,{ type: 1 , title: '会员退费' , area: ['800px', '600px'] , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset , id: 'layerDemo' //防止重复弹出cge , content: '<div class="form-horizontal" style="padding-top: 20px;">' + ' <div class="col-sm-11" >' + ' <div class="col-sm-11">' + ' <div class="form-group">\n' + '<label class="col-sm-3 control-label">*会员到期时间:</label>'+ '<div class="col-sm-9">'+ '<input style="width: 300px" class="form-control" id="vipEndTime" name="vipEndTime" type="date">'| '</div>'+ ' <div class="form-group refusal" style="display: none;">\n' + ' <label class="col-sm-3 control-label">备注:</label>\n' + ' <div class="col-sm-9">\n' + ' <textarea id="refusal" class="form-control" style="width: 100%;height: 200px"></textarea>'+ ' </div>\n' + ' </div>\n' + ' </div>' + ' </div>' + '</div>' , btn: ['保存', '关闭'] , btnAlign: 'c' //按钮居中 , shade: 0.5 //不显示遮罩 ,load:1 , yes: function () { var vipEndTime = $("#vipEndTime").val(); if(vipEndTime==null || vipEndTime==''){ Feng.error("请选择会员到期时间!"); return; } data1.id = e; data1.vipEndTime = $("#vipEndTime").val(); $.ajax({ url: Feng.ctxPath + "/vipDetail/refund", type: "POST", contentType: "application/json", // 设置请求头的 Content-Type data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 success: function(response) { Feng.success("操作成功!"); window.location.reload(); layer.closeAll(); }, error: function(xhr, status, error) { var errorMessage = xhr.responseText ? xhr.responseText : "退费失败!"; Feng.error("退费失败!"); } }); } }); this.layerIndex = index; $("#status1").change(function () { this.value == 3 ? $(".refusal").show() : $(".refusal").hide(); }); }; /** * 查询车辆管理列表 */ TCompetition.search = function () { var queryData = {}; queryData['appUserName'] = $("#appUserName").val(); queryData['vipName'] = $("#vipName").val(); queryData['phone'] = $("#phone").val(); queryData['isRefund'] = $("#isRefund").val(); queryData['time'] = $("#time").val(); TCompetition.table.refresh({query: queryData}); }; TCompetition.resetSearch = function () { $("#appUserName").val(""); $("#vipName").val(""); $("#phone").val(""); $("#isRefund").val(""); $("#time").val(""); TCompetition.search(); }; $(function () { var defaultColunms = TCompetition.initColumn(); var table = new BSTable(TCompetition.id, "/vipDetail/list", defaultColunms); table.setPaginationType("client"); TCompetition.table = table.init(); TCompetition.getAmount(); }); /** * 下载模板 */ TCompetition.uploadCarModel = function () { window.location.href = Feng.ctxPath + "/TCompetition/uploadCarModel"; } var agreement = function(){ this.init = function(){ //模拟上传excel $("#uploadEventBtn").unbind("click").bind("click",function(){ $("#uploadEventFile").click(); }); }; } /** * 导入合同 */ TCompetition.exporTCompetition = function () { var uploadEventFile = $("#uploadEventFile").val(); if(uploadEventFile == ''){ if(language==1){ Feng.info("请选择Excel,再上传"); }else if(language==2){ Feng.info("Please select Excel and upload"); }else { Feng.info("Silakan pilih Excel dan upload"); } }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel if(language==1){ Feng.info("只能上传Excel文件"); }else if(language==2){ Feng.info("Only Excel files can be uploaded"); }else { Feng.info("Hanya berkas Excel yang dapat diunggah"); } }else{ var url = Feng.ctxPath + '/TCompetition/exporTCompetition'; var file = document.querySelector('input[name=file]').files[0]; var reader = new FileReader(); if (file) { var formData = new FormData(); formData.append("myfile", file); this.sendAjaxRequest(url, 'POST', formData); } } } TCompetition.sendAjaxRequest = function(url,type,data){ $.ajax({ url : url, type : type, data : data, success : function(result) { if(result.code==500) { Feng.info(result.message); }else { if(language==1){ Feng.success("导入成功!"); }else if(language==2){ Feng.success("SUCCESSFUL IMPORT!"); }else { Feng.success("Import berhasil!"); } } TCompetition.table.refresh(); }, error : function() { if(language==1){ Feng.error("excel上传失败!"); }else if(language==2){ Feng.error("Uploading excel Fails. Procedure!"); }else { Feng.error("Gagal mengunggah excel!"); } }, cache : false, contentType : false, processData : false }); }; var agreement; $(function(){ agreement = new agreement(); agreement.init(); }); /** * 导出车辆操作 */ TCompetition.ouTCompetition = function () { var operation = function() { window.location.href = Feng.ctxPath + "/TCompetition/ouTCompetition"; }; if(language==1){ Feng.confirm("是否确认导出车辆信息?", operation); }else if(language==2){ Feng.confirm("Are you sure to export vehicle information?", operation); }else { Feng.confirm("Apakah Anda pasti akan mengekspor informasi kendaraan?", operation); } }