Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d89920c9
authored
Sep 20, 2022
by
caosy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员专享抵扣劵
parent
3ec0d3af
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
354 additions
and
14 deletions
src/main/java/com/ctrip/fun/admin/controller/basic/BuyVoucherActivityController.java
src/main/java/com/ctrip/fun/admin/controller/basic/VoucherRuleController.java
src/main/java/com/ctrip/fun/admin/service/system/UserService.java
src/main/java/com/ctrip/fun/admin/vo/basic/VoucherRuleDto.java
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/form.ftl
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/list.ftl
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/view.ftl
src/main/webapp/WEB-INF/templates/basic/voucherRule/form.ftl
src/main/webapp/WEB-INF/templates/basic/voucherRule/view.ftl
src/main/webapp/WEB-INF/templates/voucherOrder/list/voucherOrderListAll.ftl
src/main/java/com/ctrip/fun/admin/controller/basic/BuyVoucherActivityController.java
View file @
d89920c9
...
...
@@ -2,13 +2,16 @@ package com.ctrip.fun.admin.controller.basic;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
...
...
@@ -16,17 +19,25 @@ import org.springframework.validation.BindingResult;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.ctrip.fun.admin.form.PaginationForm
;
import
com.ctrip.fun.admin.form.golf.CourseProductQueryForm
;
import
com.ctrip.fun.admin.service.basic.BuyVoucherActivityService
;
import
com.ctrip.fun.admin.service.basic.BuyVoucherCommExcelService
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.SortDirectionEnum
;
import
com.ctrip.fun.common.vo.basic.ActivityTypeCodeEnum
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityQuery
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityStatisticsBean
;
import
com.ctrip.fun.common.vo.basic.VoucherItemDTO
;
import
com.ctrip.fun.common.vo.basic.VoucherQueryFormDTO
;
import
com.ctrip.fun.common.vo.basic.VoucherTypeEnum
;
import
com.ctrip.fun.common.vo.product.CourseProductBean
;
import
com.ctrip.fun.common.vo.product.CourseProductQuery
;
import
com.ctrip.fun.common.vo.user.CommuneExtBean
;
...
...
@@ -162,4 +173,57 @@ public class BuyVoucherActivityController {
}
@ResponseBody
@RequestMapping
(
value
=
"/listToJson"
,
method
=
RequestMethod
.
GET
)
public
Object
listToJson
(
HttpServletRequest
request
,
@ModelAttribute
(
"form"
)
BuyVoucherActivityQuery
form
)
{
BuyVoucherActivityQuery
query
=
new
BuyVoucherActivityQuery
();
int
currentPage
=
0
;
int
pageSize
;
int
total
;
int
pageCount
;
if
(
null
!=
request
.
getParameter
(
"page"
))
{
currentPage
=
Integer
.
parseInt
(
request
.
getParameter
(
"page"
));
}
if
(!
StringUtils
.
isBlank
(
form
.
getActivityName
()))
{
form
.
setActivityName
(
form
.
getActivityName
().
trim
());
}
BeanConverter
.
copyProperties
(
query
,
form
);
if
(
form
.
getVoucherType
()!=
null
&&
form
.
getVoucherType
().
equals
(
VoucherTypeEnum
.
PHYSICAL_VOUCHER
.
getValue
())
){
// 实物
query
.
setActivityType
(
Integer
.
valueOf
(
ActivityTypeCodeEnum
.
PHYSICAL
.
getValue
()));
}
else
if
(
form
.
getVoucherType
()!=
null
&&
form
.
getVoucherType
().
equals
(
VoucherTypeEnum
.
VIP_VOUCHER
.
getValue
())
){
// 会员
query
.
setActivityType
(
Integer
.
valueOf
(
ActivityTypeCodeEnum
.
SVIP
.
getValue
()));
}
else
if
(
form
.
getVoucherType
()!=
null
&&
form
.
getVoucherType
().
equals
(
VoucherTypeEnum
.
TICKET_VOUCHER
.
getValue
())
){
// 套票
query
.
setActivityType
(
Integer
.
valueOf
(
ActivityTypeCodeEnum
.
PACKAGE
.
getValue
())
);
}
else
if
(
form
.
getVoucherType
()!=
null
&&
form
.
getVoucherType
().
equals
(
VoucherTypeEnum
.
TRAIN_VOUCHER
.
getValue
())
){
// 培训
query
.
setActivityType
(
Integer
.
valueOf
(
ActivityTypeCodeEnum
.
TRAIN
.
getValue
())
);
}
query
.
setVoucherType
(
null
);
query
.
setSortField
(
"id"
);
query
.
setSortDirection
(
SortDirectionEnum
.
DESC
);
query
.
setPagerOffset
(
currentPage
*
query
.
getPagerPerPage
());
PagedResponseBean
<
BuyVoucherActivityBean
>
response
=
buyVoucherActivityService
.
queryList
(
query
);
pageSize
=
query
.
getPagerPerPage
();
total
=
response
.
getCount
();
pageCount
=
(
0
==
total
%
pageSize
)
?
(
total
/
pageSize
)
:
(
total
/
pageSize
+
1
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
List
<
BuyVoucherActivityBean
>
activitys
=
(
List
<
BuyVoucherActivityBean
>)
response
.
getResult
();
for
(
BuyVoucherActivityBean
activity
:
activitys
){
if
(
activity
.
getActivityType
()
!=
0
&&
activity
.
getActivityType
()
!=
null
)
{
activity
.
setActivityTypeMsg
(
ActivityTypeCodeEnum
.
valueOf
(
activity
.
getActivityType
()).
getMsg
());
}
}
map
.
put
(
"list"
,
response
.
getResult
());
map
.
put
(
"paginationData"
,
new
PaginationForm
(
currentPage
,
pageSize
,
pageCount
,
total
));
return
map
;
}
}
src/main/java/com/ctrip/fun/admin/controller/basic/VoucherRuleController.java
View file @
d89920c9
This diff is collapsed.
Click to expand it.
src/main/java/com/ctrip/fun/admin/service/system/UserService.java
View file @
d89920c9
...
...
@@ -161,7 +161,7 @@ public class UserService extends BaseService {
//是系统管理用户详情中的抵用券列表
if
(
3
==
used
){
vourcherQueryRequestDTO
.
setPagerPerPage
(
1
000
);
vourcherQueryRequestDTO
.
setPagerPerPage
(
3
000
);
}
request
.
setBody
(
vourcherQueryRequestDTO
);
...
...
src/main/java/com/ctrip/fun/admin/vo/basic/VoucherRuleDto.java
View file @
d89920c9
...
...
@@ -12,8 +12,14 @@ import org.springframework.format.annotation.DateTimeFormat;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.EventActivityRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.GeneralVoucherRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MallProductRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.PhysicalVoucherRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.TicketVoucherRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.TrainVoucherRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.VipVoucherRuleConditionBean
;
/**
* @author zgsong
...
...
@@ -137,13 +143,26 @@ public class VoucherRuleDto {
private
MallProductRuleConditionBean
mallProductRuleConditionBean
=
new
MallProductRuleConditionBean
();
private
MultipleCourseConditionBean
multipleCourseConditionBean
=
new
MultipleCourseConditionBean
();
private
PhysicalVoucherRuleConditionBean
physicalVoucherRuleConditionBean
=
new
PhysicalVoucherRuleConditionBean
();
private
VipVoucherRuleConditionBean
vipVoucherRuleConditionBean
=
new
VipVoucherRuleConditionBean
();
private
TicketVoucherRuleConditionBean
ticketVoucherRuleConditionBean
=
new
TicketVoucherRuleConditionBean
();
private
TrainVoucherRuleConditionBean
trainVoucherRuleConditionBean
=
new
TrainVoucherRuleConditionBean
();
private
GeneralVoucherRuleConditionBean
generalVoucherRuleConditionBean
=
new
GeneralVoucherRuleConditionBean
();
/**
* 操作人
*/
private
String
operater
;
/**
/**
* 创建时间
*/
private
Date
createdTime
;
...
...
@@ -550,4 +569,52 @@ public class VoucherRuleDto {
this
.
fullCutAmount
=
fullCutAmount
;
}
public
PhysicalVoucherRuleConditionBean
getPhysicalVoucherRuleConditionBean
()
{
return
physicalVoucherRuleConditionBean
;
}
public
void
setPhysicalVoucherRuleConditionBean
(
PhysicalVoucherRuleConditionBean
physicalVoucherRuleConditionBean
)
{
this
.
physicalVoucherRuleConditionBean
=
physicalVoucherRuleConditionBean
;
}
public
VipVoucherRuleConditionBean
getVipVoucherRuleConditionBean
()
{
return
vipVoucherRuleConditionBean
;
}
public
void
setVipVoucherRuleConditionBean
(
VipVoucherRuleConditionBean
vipVoucherRuleConditionBean
)
{
this
.
vipVoucherRuleConditionBean
=
vipVoucherRuleConditionBean
;
}
public
TicketVoucherRuleConditionBean
getTicketVoucherRuleConditionBean
()
{
return
ticketVoucherRuleConditionBean
;
}
public
void
setTicketVoucherRuleConditionBean
(
TicketVoucherRuleConditionBean
ticketVoucherRuleConditionBean
)
{
this
.
ticketVoucherRuleConditionBean
=
ticketVoucherRuleConditionBean
;
}
public
TrainVoucherRuleConditionBean
getTrainVoucherRuleConditionBean
()
{
return
trainVoucherRuleConditionBean
;
}
public
void
setTrainVoucherRuleConditionBean
(
TrainVoucherRuleConditionBean
trainVoucherRuleConditionBean
)
{
this
.
trainVoucherRuleConditionBean
=
trainVoucherRuleConditionBean
;
}
public
GeneralVoucherRuleConditionBean
getGeneralVoucherRuleConditionBean
()
{
return
generalVoucherRuleConditionBean
;
}
public
void
setGeneralVoucherRuleConditionBean
(
GeneralVoucherRuleConditionBean
generalVoucherRuleConditionBean
)
{
this
.
generalVoucherRuleConditionBean
=
generalVoucherRuleConditionBean
;
}
}
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/form.ftl
View file @
d89920c9
...
...
@@ -293,18 +293,22 @@
<div class="controls">
<#if dto.activityType??>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="1" <#if dto.activityType == 1>checked</#if>>
<span style="padding-right: 20px;">套票</span>
<span style="padding-right: 20px;">套票
产品
</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="2" <#if dto.activityType == 2>checked</#if>>
<span style="padding-right: 20px;">培训产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="3" <#if dto.activityType == 3>checked</#if>>
<span style="padding-right: 20px;">超级会员</span>
<span style="padding-right: 20px;">会员产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="4" <#if dto.activityType == 4>checked</#if>>
<span style="padding-right: 20px;">实物产品</span>
<#else>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="1" checked>
<span style="padding-right: 20px;">套票</span>
<span style="padding-right: 20px;">套票
产品
</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="2" >
<span style="padding-right: 20px;">培训产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="3" >
<span style="padding-right: 20px;">超级会员</span>
<span style="padding-right: 20px;">会员产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="4" >
<span style="padding-right: 20px;">实物产品</span>
</#if>
</div>
</div>
...
...
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/list.ftl
View file @
d89920c9
...
...
@@ -118,14 +118,17 @@
</#switch>
<#switch item.activityType>
<#case 1>
<td>套票</td>
<td>套票
产品
</td>
<#break>
<#case 2>
<td>培训产品</td>
<#break>
<#case 3>
<td>
超级会员
</td>
<td>
会员产品
</td>
<#break>
<#case 4>
<td>实物产品</td>
<#break>
<#default>
未知
</#switch>
...
...
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/view.ftl
View file @
d89920c9
...
...
@@ -228,11 +228,13 @@
<label class="control-label" for="type">买劵活动类型</label>
<div class="controls">
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="1" checked>
<span style="padding-right: 20px;">套票</span>
<span style="padding-right: 20px;">套票
产品
</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="2">
<span style="padding-right: 20px;">培训产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="3" >
<span style="padding-right: 20px;">超级会员</span>
<span style="padding-right: 20px;">会员产品</span>
<input style="margin-bottom: 5px;" type="radio" name="activityType" value="4" >
<span style="padding-right: 20px;">实物产品</span>
</div>
</div>
...
...
src/main/webapp/WEB-INF/templates/basic/voucherRule/form.ftl
View file @
d89920c9
...
...
@@ -42,6 +42,26 @@
{{/each}}
</script>
</#if>
<#if dto.voucherType == 5 ||dto.voucherType == 6 ||dto.voucherType == 7 || dto.voucherType == 8 || dto.voucherType == 9>
<script id="table_template_activityList" type="text/x-handlebars-template">
{{#each list}}
<tr>
<td style="text-align: center;"><input type="checkbox" name="checked" value="{{id}}"/></td>
<td>{{id}}</td>
<td>{{activityName}}</td>
<td>{{activityStart}}</td>
<td>{{activityEnd}}</td>
<td>{{activityTypeMsg}}</td>
</tr>
{{/each}}
</script>
</#if>
<script src="${staticServer}/js/app/paginationForJson.js"></script>
<script src="https://cdn.bootcss.com/jquery.serializeJSON/2.8.1/jquery.serializejson.js"></script>
<script>
...
...
@@ -95,8 +115,33 @@ function getResourceList(page){
});
}
</#if>
<#if dto.voucherType == 5 ||dto.voucherType == 6 ||dto.voucherType == 7 || dto.voucherType == 8 || dto.voucherType == 9>
//获取专享产品数据 page为第几页
function getActivityList(page){
$('#activityList').html("");
$.ajax({
url: "/buyVoucherActivity/listToJson",
type: "get",
data: {
id: $("#activityIds").val(),
activityName:$("#activityName").val(),
voucherType:$("#voucherType").val(),
showPaths:3,
valid:1,
page: page
},
success: function (obj) {
var templateActivityList = Handlebars.compile($("#table_template_activityList").html());
$('#activityList').html(templateActivityList(obj));
//获取分页组件
getPagination(obj.paginationData,$('#activityListPage'),"getActivityList");
}
});
}
</#if>
...
...
@@ -211,7 +256,80 @@ $(function(){
sendToUserTypeJQ.trigger("click");
}
</#if>
<#if dto.voucherType == 5 ||dto.voucherType == 6 ||dto.voucherType == 7 || dto.voucherType == 8 || dto.voucherType == 9 >
//产品类型选择
$("input[type=radio][name='vipVoucherRuleConditionBean.type']").click(function(){
if($(this).val()==1){
$("#vipVoucherRuleConditionType2value").hide();
$("#vipVoucherRuleCondition_value").val("");
}else{
$("#vipVoucherRuleConditionType2value").show();
}
});
var vipVoucherRuleConditionBean_typeJQ=$("input[type=radio][name='vipVoucherRuleConditionBean.type']:checked");
if(vipVoucherRuleConditionBean_typeJQ && vipVoucherRuleConditionBean_typeJQ.length>0){
if(vipVoucherRuleConditionBean_typeJQ.val()==1){
vipVoucherRuleConditionBean_typeJQ.trigger("click");
}
}
$("#vipVoucherRuleCondition_value").next().click(function (e) {
$(e.currentTarget).prev().addClass("activeProduct");
$('#activityListModal').modal('show');
getActivityList(0);
});
$("#activityButton").click(function(){
getActivityList(0);
})
$("#selectActivity").click(function(){
var selectActivityId = getselectActivityId();
if(!selectActivityId){
return false;
}
var selectedIds = selectActivityId.join(',');
console.log(selectActivityId)
//var oldValue = $("#vipVoucherRuleCondition_value").val();
var oldValue = $(".activeProduct").val();
console.log(oldValue)
if(oldValue.length>0){
//$("#courseRuleCondition_value").val(oldValue+","+selectedIds);
$(".activeProduct").val(oldValue+","+selectedIds);
}else{
//$("#courseRuleCondition_value").val(selectedIds);
$(".activeProduct").val(selectedIds);
}
$('#activityListModal').modal('hide');
});
//获取选择的活动 activityId
function getselectActivityId(){
var selectedIds = new Array();
var i = 0;
$("#activityList input[type=checkbox][name='checked']").each(function(){
if(this.checked){
selectedIds[i] = this.value;
i++;
}
});
if(i==0){
alert("您未选择任何活动产品!");
return false;
}else{
return selectedIds;
}
}
$("#activity_checkedAll").click(function(){
if(this.checked){
$("#activityList input[type=checkbox][name='checked']").attr("checked",true);
}else{
$("#activityList input[type=checkbox][name='checked']").removeAttr("checked");
}
});
</#if>
<#if dto.voucherType == 1 || dto.voucherType == 4 || dto.voucherType == 2>
//=============================球场预定/赛事=================================START
...
...
@@ -342,6 +460,7 @@ $(function(){
$(".activeProduct").removeClass("activeProduct");
});
//===============================球场预定/赛事=====================================END
</#if>
...
...
@@ -389,11 +508,11 @@ $(function(){
<div class="feature_content">
<@form.singleSelect path="dto.voucherRuleType" options=enums["com.ctrip.fun.common.vo.basic.VoucherRuleTypeEnum"] attributes="required" label="发放类型" required=true/>
<@form.singleSelect path="dto.voucherType" options=VoucherTypeList attributes="required" label="现金券类型" required=true/>
<@form.singleSelect path="dto.multiple" options=enums["com.ctrip.fun.common.vo.basic.VoucherRuleMultiEnum"] attributes="required" label="多球场现金券" required=true/>
<#if dto.voucherType == 1 || dto.voucherType == 4 || dto.voucherType==2>
<@form.singleSelect path="dto.multiple" options=enums["com.ctrip.fun.common.vo.basic.VoucherRuleMultiEnum"] attributes="required" label="多球场现金券" required=true/>
<div id="courseRuleConditionBeanId">
<div class="long_content_div control-group">
<label class="control-label" for="type"></label>
...
...
@@ -469,7 +588,33 @@ $(function(){
</div>
</#if>
<#if dto.voucherType == 5 || dto.voucherType == 6 ||dto.voucherType == 7 || dto.voucherType == 8 || dto.voucherType == 9 >
<div id="vipVoucherRuleConditionBeanId">
<div class="long_content_div control-group">
<label class="control-label" for="type">产品类型使用</label>
<div class="controls">
<#if !dto.vipVoucherRuleConditionBean.type?? || dto.vipVoucherRuleConditionBean.type==6>
<input style="margin-bottom: 5px;" type="radio" id="vipVoucherRuleConditionBean1" name="vipVoucherRuleConditionBean.type" value="1" checked="">
<#else>
<input style="margin-bottom: 5px;" type="radio" id="vipVoucherRuleConditionBean1" name="vipVoucherRuleConditionBean.type" value="1">
</#if>
<span style="padding-right: 20px;">全部适用</span>
<#if dto.vipVoucherRuleConditionBean.type?? && dto.vipVoucherRuleConditionBean.type==2>
<input style="margin-bottom: 5px;" type="radio" id="vipVoucherRuleConditionBean2" name="vipVoucherRuleConditionBean.type" value="2" checked="">
<#else>
<input style="margin-bottom: 5px;" type="radio" id="vipVoucherRuleConditionBean2" name="vipVoucherRuleConditionBean.type" value="2">
</#if>
<span style="padding-right: 20px;">限定产品使用</span>
</div>
</div>
<div id="vipVoucherRuleConditionType2value">
<@form.addonTextInput2 path="dto.vipVoucherRuleConditionBean.value" attributes="class=\"input-medium\"" label="排除产品ID" addon="选择" addonType="button" type="text" required = false id="vipVoucherRuleCondition_value"/>
</div>
</div>
</#if>
<@form.textArea path="dto.description" attributes="class=\"input-medium\" rows=\"3\" required" label="描述" required = true />
<@form.textArea path="dto.remark" attributes="class=\"input-medium\" required rows=\"3\"" label="使用规则" required = false />
...
...
@@ -696,4 +841,57 @@ $(function(){
</div>
</div>
</#if>
<#if dto.voucherType == 5 ||dto.voucherType == 6 ||dto.voucherType == 7 || dto.voucherType == 8 || dto.voucherType == 9 >
<div class="modal hide fade" id="activityListModal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>查询会员专享产品</h3>
</div>
<div class="modal-body">
<div class="input-append">
<div class="form-inline">
<div class="short_content_div">
<label class="control-label" for="activityIds">活动ID</label>
<input type="text" id="activityIds" name="activityIds" value="" placeholder="活动ID" class="input-medium">
</div>
<div class="short_content_div">
<label class="control-label" for="activityName">活动产品名称</label>
<input type="text" id="activityName" name="activityName" value="" placeholder="活动产品名称" class="input-medium">
</div>
<button id="activityButton" type="button" class="btn btn-primary">查询</button>
</div>
</div>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th style="text-align: center;"><input type="checkbox" id="activity_checkedAll" /></th>
<th>会员活动产品ID</th>
<th>会员活动产品名称</th>
<th>动产品开始时间</th>
<th>会员活结束时间</th>
<th>买劵活动类型</th>
</tr>
</thead>
<tbody id="activityList"></tbody>
</table>
<div class="paginationJson paginationJson-right">
<ul id="activityListPage">
</ul>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary" id="selectActivity">选择</button>
<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
</div>
</div>
</#if>
</@com.layout>
src/main/webapp/WEB-INF/templates/basic/voucherRule/view.ftl
View file @
d89920c9
This diff is collapsed.
Click to expand it.
src/main/webapp/WEB-INF/templates/voucherOrder/list/voucherOrderListAll.ftl
View file @
d89920c9
...
...
@@ -82,7 +82,8 @@ function updateMobilePhone(){
<th>订单号</th>
<th>订单名称</th>
<th>下单时间</th>
<th>订单金额</th>
<th>订单总金额</th>
<th>劵金额</th>
<th>下单人</th>
<th>下单手机号</th>
<th>订单来源</th>
...
...
@@ -97,6 +98,7 @@ function updateMobilePhone(){
<td>${item.orderName!}</td>
<td><#if item.orderDate??>${item.orderDate?string("yyyy-MM-dd HH:mm:ss")}<#else></#if></td>
<td>${item.actualAmount!}</td>
<td>${item.voucherAmount!}</td>
<td>${item.orderUserName!}</td>
<td>${item.orderPhone!}</td>
<td>${item.platform!}</td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment