/* * Created by chenbiao on 18/11/21. * */ //赠送范围 101:停车支付,103:停车补缴,104:共享车位;201:余额充值,202:押金充值;301:会员卡购买,302:会员卡续费,901:首次登录*/ var giftArea ={"901":"注册APP","902":"每日签到",'101':'停车支付','103':'停车补缴','201':'余额充值', '202':'押金充值','301':'会员卡购买','302':'会员卡续费'}; //赠送形式 10-赠送金额,20-赠送积分,30-赠送优惠券,40-赠送代金券 var giftState ={"20":"积分","10":"金额","30":"优惠券","40":"代金券"}; //状态 // var giftType ={"ALL":"所有状态","1":"生效中","0":"已失效","2":"未生效"}; var fun={ init:function () { // 初始化 $('#giftruleName').val(''); //赠送范围 fun.giftareaQueryInit('#giftrulecoupons_area'); //赠送形式 fun.giftstateQueryInit("#giftruleard_state"); //状态 var typehtml =""; typehtml +=""; typehtml +=""; typehtml +=""; typehtml +=""; $("#giftrulecard_type").empty(); $("#giftrulecard_type").append(typehtml); $('#giftrulecard_type').selectpicker('refresh'); //table fun.createTableData(); //新增初始化化 fun.addGiftruleFun(); fun.addSelectChange(); //删除初始化 fun.deletePopfun(); }, //赠送范围初始化 giftareaInit:function (id) { //初始化卡类型下拉框 var giftAreaSelect=""; $.each(giftArea, function(index,row) { //默认选中注册 if(index == '901'){ giftAreaSelect+=''; }else{ giftAreaSelect+=''; } }); $(id).empty(); $(id).append(giftAreaSelect); $(id).selectpicker('refresh'); }, //赠送范围初始化 giftareaQueryInit:function (id) { //初始化卡类型下拉框 var giftAreaSelect=""; var giftAreas=[]; $.each(giftArea, function(index,row) { giftAreas.push(index); giftAreaSelect+=""; }); var giftAreasStr = JSON.stringify(giftAreas); giftAreaSelect = ''+giftAreaSelect; $(id).empty(); $(id).append(giftAreaSelect); $(id).selectpicker('refresh'); }, //赠送形式初始化 giftstateInit:function (giftrule_state_id,giftrule_area_id) { var giftArea=$(giftrule_area_id).find('option:selected').val(); //根据适用业务,过滤赠送形式 if(giftArea==901 ){//注册APP,都可以赠送 giftState ={"20":"积分","10":"金额","30":"优惠券","40":"代金券"}; }else if(giftArea == 201){//余额充值,只能赠积分和金额 giftState ={"20":"积分","10":"金额","30":"优惠券"}; }else{ giftState ={"20":"积分"}; } //初始化卡类型下拉框 var giftStateSelect=""; $.each(giftState, function(index,row) { //默认选中赠送积分 if(index == "20"){ giftStateSelect+=''; }else{ giftStateSelect+=''; } }); $(giftrule_state_id).empty(); $(giftrule_state_id).append(giftStateSelect); $(giftrule_state_id).selectpicker('refresh'); }, //赠送形式初始化 giftstateQueryInit:function (giftrule_state_id) { //初始化卡类型下拉框 var giftStateSelect=""; var giftStates=[]; $.each(giftState, function(index,row) { giftStates.push(index); giftStateSelect+=""; }); var giftStatesStr = JSON.stringify(giftStates); giftStateSelect = ''+giftStateSelect; $(giftrule_state_id).empty(); $(giftrule_state_id).append(giftStateSelect); $(giftrule_state_id).selectpicker('refresh'); }, //默认table createTableData: function() { $('#giftruleTable').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 showColumns: false, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 // fixedColumns:true, // fixedNumber:1, // leftFixedColumns: true, // leftFixedNumber: 2, paginationPreText: '<', paginationNextText: '>', ajax: tableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ { field: 'ruleName', title: '规则名称', width: '10%', align: 'left' }, { field: 'presentSourceDetailType', title: '类型', width: '5%', align: 'left', formatter:function(value,row,index){ return fun.matchTypeFormatter(value)+"-送"+fun.presentTypeFormatter(row.presentType); } }, { field: 'desc', title: '描述', width: '10%', align: 'left', formatter:function(value,row,index){ var msgStr='
' + commonObj.replacenull(fun.detailFun(row)) + '
'; return msgStr; } }, { field: 'beginTime', title: '规则生失效时间', width: '10%', align: 'left', formatter:function(value,row,index){ return commonObj.timeOneFormatter(value)+" 至 "+ commonObj.timeOneFormatter(row.endTime); } }, { field: 'dataState', title: '状态', width: '8%', align: 'left', formatter: function(value, row, index){ // if(new Date(row.endTime).getTime() >= new Date().getTime() && value ==1 && new Date(row.beginTime).getTime() <= new Date().getTime()){ return '生效中'; }else if(new Date(row.beginTime).getTime() >= new Date().getTime() && value ==1){ return '未生效'; }else{ return '已失效'; } } }, { field: 'oper', title: '操作', width: '15%', align: 'left', formatter: function(value, row, index) { var html = ''; if (new Date(row.endTime).getTime() >= new Date().getTime() && row.dataState== 1) { html += "删除"; } else { html += ""; }//详情 return html; } }, ] }); }, detailFun:function(data){ var result=""; if(data.presentSourceDetailType == 101 || data.presentSourceDetailType == 103 || data.presentSourceDetailType == 202 || data.presentSourceDetailType == 301 || data.presentSourceDetailType == 302){ result+="支付"; result+=commonObj.moneyFormatter(data.fullCutValue); result+="元"; }else if(data.presentSourceDetailType == 201){ result+="充"; result+=commonObj.moneyFormatter(data.fullCutValue); result+="元"; } if(data.presentType == 10){//金额 if(data.presentRuleType == 10){//固定 result+="送"; result+=commonObj.moneyFormatter(data.presentValue); result+="元"; }else if(data.presentRuleType == 20){//随机 result+="随机送0元至"; result+=commonObj.moneyFormatter(data.presentValue); result+="元"; } }else if(data.presentType == 20){//积分 if(data.presentRuleType == 10){//固定 result+="送"; result+=commonObj.numberFormatter(data.presentValue); result+="积分"; }else if(data.presentRuleType == 20){//随机 result+="随机送1至"; result+=commonObj.numberFormatter(data.presentValue); result+="积分"; } }else if(data.presentType == 30){//优惠券 if(data.presentRuleType == 10){//固定 result+="送“"+commonObj.replacenull(data.ruleRemarks)+"”优惠券"; result+=commonObj.numberFormatter(data.presentValue); result+="张"; }else if(data.presentRuleType == 20){//随机 result+="随机送“"+commonObj.replacenull(data.ruleRemarks)+"”优惠券1至"; result+=commonObj.numberFormatter(data.presentValue); result+="张"; } }else if(data.presentType == 40){//代金券 if(data.presentRuleType == 10){//固定 result+="送“"+commonObj.replacenull(data.ruleRemarks)+"”代金券"; result+=commonObj.numberFormatter(data.presentValue); result+="张"; }else if(data.presentRuleType == 20){//随机 result+="随机送“"+commonObj.replacenull(data.ruleRemarks)+"”代金券1至"; result+=commonObj.numberFormatter(data.presentValue); result+="张"; } } result+="。赠送后"; if(data.expiryType == 10){//固定时间失效 result+=commonObj.timeOneFormatter(data.expiryTime); result+="失效"; }else if(data.expiryType == 30){//永久有效 result+="永久有效"; } return result; }, matchTypeFormatter:function(value){ var result = '未知'; $.each(giftArea, function(index,item) { if(index == value){ result = item; } }); return result; }, presentTypeFormatter:function(value){ var result = '未知'; $.each(giftState, function(index,item) { if(index == value){ result = item; } }); return result; }, /*获取查询参数*/ getQueryParam: function() { //规则名称 var giftruleName = $("#giftruleName").val(); /*赠送范围*/ var giftrulecouponsArea = $("#giftrulecoupons_area").val(); //赠送形式 var giftruleardState = $("#giftruleard_state").val(); //状态 var state = $("#giftrulecard_type").val(); if(giftrulecouponsArea == null || giftrulecouponsArea == "ALL" || giftrulecouponsArea == ''){ giftrulecouponsArea = null; }if(giftruleardState == null || giftruleardState == "ALL" || giftruleardState == ''){ giftruleardState = null; }if(state == null || state == "ALL" || state == ''){ state = null; } var req = { ruleName:giftruleName, presentSourceDetailTypes: JSON.parse(giftrulecouponsArea), presentTypes: JSON.parse(giftruleardState), state:state, sysCode:sysComm.sysCode, }; return req; }, // 新增 addGiftruleFun:function () { documentBindFunc.on('click','#giftrule_addBtn',function () { //赠送范围 fun.giftareaInit('#giftrule_addarea'); //赠送形式 fun.giftstateInit('#giftrule_addstate','#giftrule_addarea'); fun.addSelectChange(); //初始化 $("#td_rule_add").addClass('display-none').text(""); $('#rulename_inpadd').val(''); $('#gift_typeNumadd').selectpicker('refresh'); $('#gift_yhqstatusadd').selectpicker('refresh'); $('#giftrule_expirytype').selectpicker('refresh'); $('#giftjfVal').val(''); $('#giftMoneyVal').val(''); //时间初始化 $("#giftrule-daterange-btnstaadd").val( moment().subtract('days', 0).format('YYYY-MM-DD')); $("#giftrule-daterange-btnendadd").val( moment().subtract('days', -365).format('YYYY-MM-DD')); $("#giftrule-daterange-btnEnd").val( moment().subtract('days', -365).format('YYYY-MM-DD')); $("#giftrule-daterange-btnstaadd").datetimepicker({ startDate: moment().add('days', 0).format('YYYY-MM-DD'), //endDate: moment().subtract('days', 0).format('YYYY-MM-DD HH:ss'), format: 'yyyy-mm-dd', autoclose: true, // startView: 3, // //maxDate:moment().subtract('months', 3), minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-left", }); $("#giftrule-daterange-btnendadd").datetimepicker({ startDate: moment().add('days', 0).format('YYYY-MM-DD'), //endDate: moment().subtract('days', 0).format('YYYY-MM-DD HH:ss'), format: 'yyyy-mm-dd', autoclose: true, // startView: 3, // //maxDate:moment().subtract('months', 3), minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-left", }); $("#giftrule-daterange-btnEnd").datetimepicker({ startDate: moment().add('days', 1).format('YYYY-MM-DD'), //endDate: moment().subtract('days', 0).format('YYYY-MM-DD HH:ss'), format: 'yyyy-mm-dd', autoclose: true, // startView: 3, // //maxDate:moment().subtract('months', 3), minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-left", }); //显示 $('#giftrule_addmodel').modal('show'); }); }, //下拉框change addSelectChange:function () { var giftArea; var giftState; var rulehtml=''; //查询条件 // $(document).on('change','#giftrulecoupons_area',function(){ // //赠送形式 // fun.giftstateInit('#giftruleard_state','#giftrulecoupons_area') // }); //新增界面 $(document).on('change','#giftrule_addarea',function() { //赠送形式 fun.giftstateInit("#giftrule_addstate", '#giftrule_addarea'); addstateChange(); }); addstateChange(); //赠送形式变化 $(document).on('change','#giftrule_addstate',addstateChange); //过期类型变化 $(document).on('change','#giftrule_expirytype',expiryChange); function addstateChange(){ $("#td_rule_add").addClass('display-none').text(""); giftArea=$('#giftrule_addarea').find('option:selected').val(); giftState=$('#giftrule_addstate').find('option:selected').val(); console.log(giftArea,giftState); // $('.giftpop_cont').empty(); //注册、签到送积分 if((giftArea==901 || giftArea==902) && giftState==20){ rulehtml='
  • ' + ' ' + '  积分' + '
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); $('#giftjfVal').val(''); }else if(giftArea == 901 && giftState==10) {//注册送金额 rulehtml = '
  • \n' + ' \n' + '  元' + '
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); $('#giftjfVal').val(''); }else if(giftArea == 201){//余额充值 var unit = '元'; if(giftState==20){ unit = '积分'; }else if(giftState == 30){ unit = '张'; } rulehtml='
  • ' + '充值 元' + '赠送'; if(giftState == 30){ rulehtml+='' ; fun.initCardInfo(giftState); $('#gift_yhqstatusadd').selectpicker('refresh'); } rulehtml+= ' ' + '  ' +unit '
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); $('#giftjfVal').val(''); $('#giftMoneyVal').selectpicker('refresh'); }else if(giftArea!=901 && giftArea!=902 && giftArea!=201 && giftState==20){//其他类型的积分赠送 rulehtml='
  • ' + ' 支付 元,\n' + ' 赠送' + ' ' + '  积分' + '(例:支付5元送1积分,则10元送2积分)
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); $('#giftjfVal').val(''); $('#giftMoneyVal').val(''); }else if(giftState==30){//优惠券赠送 rulehtml='
  • \n' + ' ' + ' \n' + '  张' + '
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); fun.initCardInfo(giftState); $('#gift_yhqstatusadd').selectpicker('refresh'); $('#giftjfVal').val(''); }else if(giftState==40){//代价券目前业务要求固定1张 rulehtml='
  • \n' + ' ' + ' ' + '  1 张' + '
  • '; $('.giftpop_cont').html(rulehtml); $('#gift_typeNumadd').selectpicker('refresh'); fun.initCardInfo(giftState); $('#gift_yhqstatusadd').selectpicker('refresh'); $('#giftjfVal').val(''); }; //赠送后过期类型,默认永久有效,只有代金券和优惠券可选择过期失效 var expiryType = {'30':'永久有效'}; if(giftState == 30 || giftState == 40){ expiryType = {"10":'过期失效','30':'永久有效'}; } var expiryTypeSelect=""; $.each(expiryType, function(index,row) { expiryTypeSelect+=''; }); $('#giftrule_expirytype').empty(); $('#giftrule_expirytype').append(expiryTypeSelect); $('#giftrule_expirytype').selectpicker('refresh'); expiryChange(); } function expiryChange(){ var expiryType = $('#giftrule_expirytype').find('option:selected').val(); if(expiryType==30){ $('#expiryTimeDiv').addClass('display-none'); }else{ $('#expiryTimeDiv').removeClass('display-none'); } } }, //查询优惠券、代金券 initCardInfo:function (type) { var cardNames = "优惠券"; var cardType = -1; if(type == 30 ){//优惠券 cardNames = "优惠券"; cardType = 1; } if(type == 40 ){//代金券 cardNames = "代金券"; cardType = 4; } var req = { dataState:1, cardTypes:[cardType], receiveChannels:[3],//领取渠道:1:app自动下发,2:商城兑换,3-赠送使用 sysCode:sysComm.sysCode }; var opt = { method: 'post', url: dataUrl.util.queryCouponRuleForpage(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data.rows; if(data == undefined || data == null || data.length<1){ $("#td_rule_add").removeClass('display-none').text("请先添加相关"+cardNames); } var html = ''; $.each(data, function(index,item) { html+=''; }); $('#gift_yhqstatusadd').html(html); $('#gift_yhqstatusadd').selectpicker('refresh'); }else{ console.log(res); } } }; sysAjax(opt); }, //删除弹窗 deletePopfun:function () { documentBindFunc.on('click','.delPop',function () { $('#giftrule_deletemodel').modal('show'); var id = $(this).attr('value'); $('#delcoupId').val(id); }) }, //删除确定 deleteConfirm:function () { var id = $('#delcoupId').val(); if(id == null || id== "" ){ return; } var req = { ids:[id], sysCode:sysComm.sysCode }; var opt = { method: 'post', url: dataUrl.util.bathDeleteTdCPresentRule(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { $('#giftrule_deletemodel').modal('hide'); fun.createTableData(); }else{ console.log(res); } } }; sysAjax(opt); }, //新增确定 giftsetting-add-submit addConfirm:function () { //正整数 var RegVal = /^\+?[1-9][0-9]*$/; var ruleName = $.trim($('#rulename_inpadd').val()); var presentSourceDetailType = $.trim($('#giftrule_addarea').val()); var presentType = $.trim($('#giftrule_addstate').val()); var presentRuleType = $.trim($('#gift_typeNumadd').val()); var fullCutValue = $.trim($('#giftMoneyVal').val()); var presentValue = $.trim($('#giftjfVal').val()); var expiryType = $.trim($('#giftrule_expirytype').val()); var expiryTime = $.trim($('#giftrule-daterange-btnEnd').val()); var ruleRemarks = null; if(expiryTime != null && expiryTime != ''){ expiryTime += " 23:59:59"; expiryTime = new Date(expiryTime); } var beginTime = $('#giftrule-daterange-btnstaadd').val(); if(beginTime != null && beginTime != ''){ beginTime += " 00:00:00"; beginTime = new Date(beginTime); } var endTime = $('#giftrule-daterange-btnendadd').val(); if(endTime != null && endTime != ''){ endTime += " 23:59:59"; endTime = new Date(endTime); } var cardNo = null; if(ruleName == null || ruleName== "" ){ $("#td_rule_add").removeClass('display-none').text("请输入规则名称"); return; } if(presentType == 30 || presentType == 40){//如果为优惠券或者代金券 cardNo = $("#gift_yhqstatusadd").val(); ruleRemarks = $("#gift_yhqstatusadd").find('option:selected').text(); } if(presentType == 30 ){//如果为优惠券 if(cardNo == undefined || cardNo == null || cardNo == ''){ $("#td_rule_add").removeClass('display-none').text("请先添加相关优惠券"); return; } } if(presentType == 40){//如果为代金券 presentValue=1; if(cardNo == undefined || cardNo == null || cardNo == ''){ $("#td_rule_add").removeClass('display-none').text("请先添加相关代金券"); return; } } if(presentSourceDetailType == 101 || presentSourceDetailType == 103 || presentSourceDetailType == 201 ||presentSourceDetailType == 202 ||presentSourceDetailType == 301 || presentSourceDetailType == 302){//如果为金额充值 if(fullCutValue == undefined || fullCutValue == null || fullCutValue == ''){ $("#td_rule_add").removeClass('display-none').text("请输入支付金额"); return; } if(fullCutValue<=0){ $("#td_rule_add").removeClass('display-none').text("金额请输入大于0的数字"); return; } fullCutValue = fullCutValue*100;//充值金额 } if(presentSourceDetailType == 901&&presentType == 10){ if(presentValue == undefined || presentValue == null || presentValue == ''||presentValue == '0'||presentValue == 0){ $("#td_rule_add").removeClass('display-none').text("赠送金额不能为空或0"); return; } } if(presentValue == null || presentValue== "" ){ var str = "金额"; if(presentType == 20){ str = "积分"; }else if(presentType == 30){ str = "优惠券张数"; }else if(presentType == 40){ str = "代金券张数"; } $("#td_rule_add").removeClass('display-none').text("请输入赠送"+str); return; } if(presentType == 10){//如果为金额 presentValue = presentValue*100; } if(presentType == 20) {//如果为积分 if(presentValue<=0){ $("#td_rule_add").removeClass('display-none').text("积分请输入大于0的数字"); return; } if(!RegVal.test(presentValue)){ $("#td_rule_add").removeClass('display-none').text("积分请输入正整数"); return; } } if(presentType == 40){//如果为代金券 presentValue = 1;//赠送张数固定为1张 } if(presentType == 30 || presentType == 40){//如果为优惠券或者代金券 if(presentValue<=0){ $("#td_rule_add").removeClass('display-none').text("张数请输入大于0的数字"); return; } if(!RegVal.test(presentValue)){ $("#td_rule_add").removeClass('display-none').text("优惠券请输入正整数"); return; } cardNo = $("#gift_yhqstatusadd").val(); ruleRemarks = $("#gift_yhqstatusadd").find('option:selected').text(); } var presentSourceBigType = presentSourceDetailType.substr(0,1); presentSourceBigType = presentSourceBigType+"00"; var req = { ruleName:ruleName, presentType:presentType,/**赠送类型 :10-赠送金额,20-赠送积分,30-赠送优惠券,40-赠送代金券*/ presentRuleType:presentRuleType,/**赠送规则类型:10-固定值,20-随机值(present_value保存的是最大值)*/ presentValue:presentValue,/**赠送值:金额(如:100,单位分),积分(如:1),优惠券/代金券(张数)*/ fullCutValue:fullCutValue,/**满送金额(分),例如满5元送1积分,-1表示不限制,直接送*/ expiryType:expiryType,/**过期类型:10-固定时间,20-动态计算 30-不过期*/ expiryTime:expiryTime, /**过期时间,过期类型为10时必填*/ validDays:0,/**使用天数(领取后)* expiryType为动态计算时 才有值,默认为0 */ presentSourceBigType:presentSourceBigType, /**赠送来源类型:100:停车赠送 200:充值赠送 300:会员卡赠送 900:其他赠送*/ presentSourceDetailType:presentSourceDetailType, /**赠送来源明细类型:101:停车支付,103:停车补缴,104:共享车位;201:余额充值,202:押金充值;301:会员卡购买,302:会员卡续费,901:首次登录*/ cardNo:cardNo, /**针对优惠券和代金券,卡券编号*/ beginTime:beginTime, /**该规则生效时间*/ endTime:endTime, /**该规则失效时间*/ ruleState:1, /**赠送规则状态:1、上架;2、下架*/ ruleRemarks:ruleRemarks, sysCode:sysComm.sysCode }; var opt = { method: 'post', url: dataUrl.util.saveTdCPresentRule(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { $('#giftrule_addmodel').modal('hide'); $("#td_rule_add").addClass('display-none').text(""); fun.createTableData(); }else{ $("#td_rule_add").removeClass('display-none').text(res.msg); console.log(res); } } }; sysAjax(opt); }, }; fun.init(); documentBindFunc.on('click','#giftrule_queryBtn',function () { fun.createTableData(); }); documentBindFunc.on('click','#giftrule_submit',function () { fun.deleteConfirm(); }); //新增确定 documentBindFunc.on('click','#giftsetting-add-submit',function () { fun.addConfirm(); }); /** * 自定义table AJAX请求 * @param {Object} params */ function tableLoadRequest(params) { var req = fun.getQueryParam(); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; //条件查询 req.baseRequest = { pageNum: pageNum, pageSize: params.data.limit }; req.sysCode = sysComm.sysCode; var opt = { method: 'post', url: dataUrl.util.queryTdCPresentRuleForPage(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(res) { console.log(res); if(res.code == '8888') { params.success(res.data); $("[data-toggle='tooltip']").tooltip({ delay: {show: 500, hide: 100}, }); } } }; sysAjax(opt); }