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
e1cf3116
authored
Nov 23, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
买券活动后台配置
parent
c73bf791
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
547 additions
and
15 deletions
.gitignore
src/main/java/com/ctrip/fun/admin/controller/basic/BuyVoucherActivityController.java
src/main/java/com/ctrip/fun/admin/service/basic/BuyVoucherActivityService.java
src/main/java/com/ctrip/fun/admin/service/basic/VoucherRuleService.java
src/main/resources/config/spring-service.xml
src/main/resources/debug/app.properties
src/main/resources/development/app.properties
src/main/resources/properties/service.properties
src/main/resources/test/app.properties
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/common/layout.ftl
.gitignore
View file @
e1cf3116
...
...
@@ -186,4 +186,5 @@ Desktop.ini
$RECYCLE.BIN/
# Mac desktop service store files
.DS_Store
\ No newline at end of file
.DS_Store
/target
src/main/java/com/ctrip/fun/admin/controller/basic/BuyVoucherActivityController.java
0 → 100644
View file @
e1cf3116
package
com
.
ctrip
.
fun
.
admin
.
controller
.
basic
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.Valid
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
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
com.ctrip.fun.admin.form.PaginationForm
;
import
com.ctrip.fun.admin.service.basic.BuyVoucherActivityService
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityQuery
;
@Controller
@RequestMapping
(
"/buyVoucherActivity"
)
public
class
BuyVoucherActivityController
{
@Autowired
private
BuyVoucherActivityService
buyVoucherActivityService
;
@RequestMapping
(
value
=
"queryList"
,
method
=
RequestMethod
.
GET
)
public
String
queryList
(
HttpServletRequest
request
,
@ModelAttribute
(
"dto"
)
BuyVoucherActivityQuery
query
,
ModelMap
model
)
{
int
currentPage
=
0
;
int
pageSize
;
int
total
;
int
pageCount
;
if
(
null
!=
request
.
getParameter
(
"page"
))
{
try
{
currentPage
=
Integer
.
parseInt
(
request
.
getParameter
(
"page"
));
}
catch
(
Exception
e
)
{
}
}
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
);
model
.
put
(
"list"
,
response
.
getResult
());
model
.
put
(
"paginationData"
,
new
PaginationForm
(
currentPage
,
pageSize
,
pageCount
,
total
));
return
"basic/buyVoucherActivity/list"
;
}
@RequestMapping
(
value
=
"create"
,
method
=
RequestMethod
.
GET
)
public
String
toCreateBuyVoucherActivity
(
@ModelAttribute
(
"dto"
)
BuyVoucherActivityBean
dto
,
ModelMap
model
)
{
model
.
put
(
"action"
,
"/buyVoucherActivity/create"
);
return
"basic/buyVoucherActivity/form"
;
}
@RequestMapping
(
value
=
"create"
,
method
=
RequestMethod
.
POST
)
public
String
createBuyVoucherActivity
(
@Valid
@ModelAttribute
(
"dto"
)
BuyVoucherActivityBean
dto
,
BindingResult
bindingResult
,
ModelMap
model
)
{
buyVoucherActivityService
.
saveBuyVoucherActivity
(
""
,
dto
);
return
"redirect:queryList"
;
}
@RequestMapping
(
value
=
"update"
,
method
=
RequestMethod
.
GET
)
public
String
updateBuyVoucherActivity
(
HttpServletRequest
request
,
@ModelAttribute
(
"id"
)
int
id
,
ModelMap
model
)
{
BuyVoucherActivityBean
bean
=
buyVoucherActivityService
.
getById
(
id
);
model
.
put
(
"action"
,
"/buyVoucherActivity/update"
);
model
.
addAttribute
(
"dto"
,
bean
);
model
.
addAttribute
(
"page"
,
request
.
getParameter
(
"page"
));
return
"basic/buyVoucherActivity/form"
;
}
@RequestMapping
(
value
=
"update"
,
method
=
RequestMethod
.
POST
)
public
String
updateBuyVoucherActivity
(
@Valid
@ModelAttribute
(
"dto"
)
BuyVoucherActivityBean
dto
,
BindingResult
bindingResult
,
ModelMap
model
)
{
buyVoucherActivityService
.
updateBuyVoucherActivity
(
""
,
dto
);
return
"redirect:queryList"
;
}
}
src/main/java/com/ctrip/fun/admin/service/basic/BuyVoucherActivityService.java
0 → 100644
View file @
e1cf3116
package
com
.
ctrip
.
fun
.
admin
.
service
.
basic
;
import
java.util.ArrayList
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.web.client.RestClientException
;
import
com.ctrip.fun.admin.service.BaseService
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.basic.BuyVoucherActivityQuery
;
public
class
BuyVoucherActivityService
extends
BaseService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BuyVoucherActivityService
.
class
);
/**
* 获取买券活动列表
*/
public
PagedResponseBean
<
BuyVoucherActivityBean
>
queryList
(
BuyVoucherActivityQuery
query
)
{
PagedResponseBean
<
BuyVoucherActivityBean
>
responseBean
=
new
PagedResponseBean
<
BuyVoucherActivityBean
>(
0
,
new
ArrayList
<
BuyVoucherActivityBean
>());
String
uri
=
super
.
getServiceUri
(
"uri.buyVoucherActivity.list"
);
Request
<
BuyVoucherActivityQuery
>
request
=
new
Request
<
BuyVoucherActivityQuery
>(
""
,
query
);
HttpEntity
<
Request
<
BuyVoucherActivityQuery
>>
entity
=
new
HttpEntity
<
Request
<
BuyVoucherActivityQuery
>>(
request
);
Response
<
PagedResponseBean
<
BuyVoucherActivityBean
>>
response
=
null
;
try
{
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
PagedResponseBean
<
BuyVoucherActivityBean
>>>()
{
}).
getBody
();
}
catch
(
RestClientException
e
)
{
logger
.
error
(
e
.
getMessage
());
}
if
(
null
!=
response
&&
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
responseBean
=
response
.
getBody
();
}
else
{
logger
.
error
(
"{} status: {}, msg: {}"
,
"获取现金券规则列表异常"
,
response
.
getStatus
(),
response
.
getMessage
());
}
return
responseBean
;
}
/**
* 增加买券活动
*/
public
boolean
saveBuyVoucherActivity
(
String
uid
,
BuyVoucherActivityBean
bean
)
{
String
uri
=
super
.
getServiceUri
(
"uri.buyVoucherActivity.add"
);
boolean
success
=
true
;
Request
<
BuyVoucherActivityBean
>
request
=
new
Request
<
BuyVoucherActivityBean
>(
uid
,
bean
);
HttpEntity
<
Request
<
BuyVoucherActivityBean
>>
entity
=
new
HttpEntity
<
Request
<
BuyVoucherActivityBean
>>(
request
);
Response
<
Integer
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
Integer
>>()
{
}).
getBody
();
if
(
response
==
null
||
response
.
getStatus
()
!=
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
success
=
false
;
logger
.
error
(
"增加买券活动规则失败"
);
}
return
success
;
}
/**
* 获取指定的买券活动
*/
public
BuyVoucherActivityBean
getById
(
Integer
id
)
{
String
uri
=
super
.
getServiceUri
(
"uri.buyVoucherActivity.get"
);
BuyVoucherActivityBean
bean
=
new
BuyVoucherActivityBean
();
Request
<
Integer
>
request
=
new
Request
<
Integer
>(
""
,
id
);
HttpEntity
<
Request
<
Integer
>>
entity
=
new
HttpEntity
<
Request
<
Integer
>>(
request
);
Response
<
BuyVoucherActivityBean
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
BuyVoucherActivityBean
>>()
{
}).
getBody
();
if
(
response
!=
null
&&
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
bean
=
response
.
getBody
();
}
else
{
logger
.
error
(
"获取买券活动详细失败"
);
}
return
bean
;
}
/**
* 增加买券活动
*/
public
boolean
updateBuyVoucherActivity
(
String
uid
,
BuyVoucherActivityBean
bean
)
{
String
uri
=
super
.
getServiceUri
(
"uri.buyVoucherActivity.update"
);
boolean
success
=
true
;
Request
<
BuyVoucherActivityBean
>
request
=
new
Request
<
BuyVoucherActivityBean
>(
uid
,
bean
);
HttpEntity
<
Request
<
BuyVoucherActivityBean
>>
entity
=
new
HttpEntity
<
Request
<
BuyVoucherActivityBean
>>(
request
);
Response
<
Integer
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
Integer
>>()
{
}).
getBody
();
if
(
response
==
null
||
response
.
getStatus
()
!=
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
success
=
false
;
logger
.
error
(
"更新买券活动规则失败"
);
}
return
success
;
}
}
src/main/java/com/ctrip/fun/admin/service/basic/VoucherRuleService.java
View file @
e1cf3116
...
...
@@ -97,7 +97,7 @@ public class VoucherRuleService extends BaseService {
logger
.
error
(
"增加现金券规则失败"
);
}
return
success
;
}
}
/**
* 增加现金券规则
...
...
src/main/resources/config/spring-service.xml
View file @
e1cf3116
...
...
@@ -254,6 +254,11 @@
<!-- 现金券 -->
<bean
name=
"voucherRuleService"
class=
"com.ctrip.fun.admin.service.basic.VoucherRuleService"
parent=
"baseService"
/>
<!-- 买券活动-->
<bean
name=
"buyVoucherActivityService"
class=
"com.ctrip.fun.admin.service.basic.BuyVoucherActivityService"
parent=
"baseService"
/>
<!-- 现金券分享记录 -->
<bean
name=
"voucherShareLogService"
class=
"com.ctrip.fun.admin.service.basic.VoucherShareLogService"
parent=
"baseService"
/>
<!-- Finance -->
...
...
src/main/resources/debug/app.properties
View file @
e1cf3116
imageEndpoint
=
http
\:
//7x2w1g.com1.z0.glb.clouddn
.com/
dImageEndpoint
=
http://
7x2w1g.com1.z0.glb.clouddn
.com/
accessKey
=
s
_FZUyzvhxv10JMRzJOBwy5rObZWYlEwwNC9rVt2
secretKey
=
flCPDL5VVrWx4n9VnzSr6zN1wN4XZega_3cWPqmH
imageEndpoint
=
http
://img.iwanoutdoor
.com/
dImageEndpoint
=
http://
img.iwanoutdoor
.com/
accessKey
=
s
56-PMBhHGrK1KCnWsmAKlh6X5X5NHqhvD0QE024
secretKey
=
hNIZ_7THzWQMleYtLZdHE0Fiw6J78LIa0gx06RJw
bucketName
=
ofrog
#proxy do not fill but necessary
...
...
src/main/resources/development/app.properties
View file @
e1cf3116
imageEndpoint
=
http
\:
//7x2w1g.com1.z0.glb.clouddn
.com/
dImageEndpoint
=
http://
7x2w1g.com1.z0.glb.clouddn
.com/
accessKey
=
s
_FZUyzvhxv10JMRzJOBwy5rObZWYlEwwNC9rVt2
secretKey
=
flCPDL5VVrWx4n9VnzSr6zN1wN4XZega_3cWPqmH
imageEndpoint
=
http
://img.iwanoutdoor
.com/
dImageEndpoint
=
http://
img.iwanoutdoor
.com/
accessKey
=
s
56-PMBhHGrK1KCnWsmAKlh6X5X5NHqhvD0QE024
secretKey
=
hNIZ_7THzWQMleYtLZdHE0Fiw6J78LIa0gx06RJw
bucketName
=
ofrog
#proxy do not fill but necessary
...
...
src/main/resources/properties/service.properties
View file @
e1cf3116
...
...
@@ -437,6 +437,12 @@ uri.voucherRule.modify=/fun-golf-service/voucherRule/modify
uri.voucherRule.updateValidFlag
=
/fun-golf-service/voucherRule/updateValidFlag
uri.voucherRule.addVoucherRoleUsers
=
/fun-golf-service/voucherRule/addVoucherRoleUsers/{id}
#buyVoucherActivity
uri.buyVoucherActivity.list
=
/fun-golf-service/buyVoucherActivity/list
uri.buyVoucherActivity.add
=
/fun-golf-service/buyVoucherActivity/add
uri.buyVoucherActivity.get
=
/fun-golf-service/buyVoucherActivity/get
uri.buyVoucherActivity.update
=
/fun-golf-service/buyVoucherActivity/update
#voucherShareLog
uri.vouchershareLog.queryList
=
/fun-golf-service/voucherShareLog/queryList
uri.vouchershareLog.getVouchersByShareId
=
/fun-golf-service/voucherShareLog/getVouchersByShareId
...
...
src/main/resources/test/app.properties
View file @
e1cf3116
imageEndpoint
=
http
\:
//7x2w1g.com1.z0.glb.clouddn
.com/
dImageEndpoint
=
http://
7x2w1g.com1.z0.glb.clouddn
.com/
accessKey
=
s
_FZUyzvhxv10JMRzJOBwy5rObZWYlEwwNC9rVt2
secretKey
=
flCPDL5VVrWx4n9VnzSr6zN1wN4XZega_3cWPqmH
imageEndpoint
=
http
://img.iwanoutdoor
.com/
dImageEndpoint
=
http://
img.iwanoutdoor
.com/
accessKey
=
s
56-PMBhHGrK1KCnWsmAKlh6X5X5NHqhvD0QE024
secretKey
=
hNIZ_7THzWQMleYtLZdHE0Fiw6J78LIa0gx06RJw
bucketName
=
ofrog
#proxy do not fill but necessary
...
...
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/form.ftl
0 → 100644
View file @
e1cf3116
This diff is collapsed.
Click to expand it.
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/list.ftl
0 → 100644
View file @
e1cf3116
<#assign pageJsContent>
<script>
<@flash_message />
</script>
</#assign>
<#assign pageCssContent>
<style>
.table th, .table td{ text-align:center;vertical-align:middle;}
.widthShow {
width: 1100px;
}
</style>
</#assign>
<@com.layout title="查询现金券规则" module="marketing" current="buyVoucherActivity_list" pageCss=pageCssContent pageJs=pageJsContent>
<form class="form-inline search-box widthShow" action="" method="get" autocomplete="off" >
<@com.textInput "dto.id" "style=\"margin-left: 5px;\"" "活动ID"/>
<@com.textInput "dto.activityName" "style=\"margin-left: 5px;\"" "活动名称"/>
<@com.textInputTwoDate "dto.createdTimeStart" "dto.createdTimeEnd" "style=\"margin-left: 5px;\"" "创建时间"/>
<button type="submit" class="btn btn-primary">查询</button>
<button type="button" class="btn btn-success" onclick="javascript:location.href='/buyVoucherActivity/queryList';" style="margin-left:20px;">重置</button>
</form>
<table class="table table-bordered table-striped widthShow">
<thead>
<tr>
<th style="width:5%">ID</th>
<th style="width:13%">活动名称</th>
<th style="width:10%">社员价</th>
<th style="width:10%">嘉宾价</th>
<th style="width:10%">购买限制</th>
<th style="width:6%">是否有效</th>
<th style="width:4%">限制购买次数</th>
<th style="width:15%">创建日期</th>
<th style="width:5%">操作</th>
</tr>
</thead>
<tbody>
<#list list as item>
<tr>
<td>${item.id!}</td>
<td>${item.activityName!}</td>
<td>${item.communePrice!}</td>
<td>${item.guestPrice!}</td>
<#switch item.userLimit>
<#case 2>
<td>社员</td>
<#break>
<#case 1>
<td>嘉宾</td>
<#break>
<#case 0>
<td>不限</td>
<#break>
<#default>
未知
</#switch>
<td>
<#if item.valid==0>
否
<#else>
是
</#if>
</td>
<td>${item.buyLimitTimes!}</td>
<td>${item.createdTime?string("yyyy-MM-dd HH:mm:ss")}</td>
<td><a href="/buyVoucherActivity/update?id=${item.id!}&page=${paginationData.pageNumber!}">编辑</a></td>
</tr>
</#list>
</tbody>
</table>
<div class="pagination pagination-right widthShow">
<ul>
<@paginator.first />
<@paginator.previous />
<@paginator.numbers separator=""/>
<@paginator.next />
<@paginator.last />
</ul>
<@paginator.statistics />
</div>
</@com.layout>
\ No newline at end of file
src/main/webapp/WEB-INF/templates/basic/buyVoucherActivity/view.ftl
0 → 100644
View file @
e1cf3116
<#assign pageJsContent>
<script type="text/javascript" src="${staticServer}/js/lib/ui.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/dropZone.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/main.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/qiniu.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/bootstrap.min.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/plupload.full.min.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/zh_CN.js"></script>
<script type="text/javascript" src="${staticServer}/js/lib/highlight.js"></script>
<style type="text/css">
#imagePathShow .currentImage img {
width:220px;
height:220px;
margin-right:10px;
}
</style>
<script>
$(function(){
$('#labelSelectedBtn').on("click",function(){
var selectedJsonArray = [];
var chooseChecked = $(".choose.checked");
var html = '';
var labels = '';
for(var i=0;i< chooseChecked.length;i++){
html+='<span class="tag label label-info" data-id="'+chooseChecked[i].getAttribute("data-id")+'"> '+chooseChecked[i].innerHTML+'<span data-role="remove"></span></span>';
labels+=chooseChecked[i].getAttribute("data-id")+' ';
}
//将selectedJsonArray 信息保存到 搜索栏文本框
$(".bootstrap-tagsinput").html(html);
labels = labels.trim();
$("#labels").val(labels);
$('#tagSelectModal').modal('hide');
});
});
function submitFun(){
handlerData();
$("#submitButton").click();
}
var imageServer=$("#imageServer").val();
function uploadOneImage(hashCode,link){
console.log(this);
addImage(hashCode,link);
}
function uploadImageCompleted(){
$("#imageFsUploadProgress").parents("table").eq(0).css("display","none");
}
function addImage(hashCode,link){
var currentImage = $("#imagePathShow .currentImage");
if(currentImage.text()=="无"){
currentImage.html("");
}
$("#imagePathShow .currentImage").append("<img src='"+imageServer+link+"'/>");
var trId=link.split(".")[0];
$("#imageFsUploadProgress tr[id="+trId+"] ").remove();
}
function validateForm(){
if($("#imagePathShow .currentImage").children("img").length<1){
showError(null,"请上传【奖项图片】!");
return false;
}
return true;
}
function handlerData(){
$("#imageHiddenTable").empty();
var imageSmall=$("#imagePathShow .currentImage").children("img").eq(0);
var imageBig=$("#imagePathShow .currentImage").children("img").eq(1);
var imageSmall_src=imageSmall.attr("src");
var imageBig_src=imageBig.attr("src");
if(typeof(imageBig_src) != "undefined"){
var hiddenHtml="<input type='hidden' name='imagePath' value='"+imageBig_src+"' />";
$("#imageHiddenTable").append(hiddenHtml);
}
if(typeof(imageSmall_src) != "undefined"){
var hiddenHtml="<input type='hidden' name='thumPath' value='"+imageSmall_src+"' />";
$("#imageHiddenTable").append(hiddenHtml);
}
}
function showError(_jQueryObj,errorMsg){
alert(errorMsg);
if(_jQueryObj){
_jQueryObj.focus();
}
}
function openTagModel(){
$('#tagSelectModal').modal('show');
}
$('#tagSelectModal').on('show.bs.modal', function (e) {
//查询所有的标签
$.get("/communeservice/communeAdm/labels/list",{},function(data){
//返回找出所有的会服
var html='';
for(var i=0;i<data.length;i++){
var classhtml = 'choose';
var labels = $("#labels").val();
if(labels!='undefinded' && labels!=null){
var labelArray = labels.split(' ');
for(var j =0;j< labelArray.length;j++){
if(data[i].id == labelArray[j]){
classhtml = 'choose checked';
break;
}
}
}
html+='<span class="'+classhtml+'" data-id="'+data[i].id+'" >'+data[i].labelName+'</span>';
}
$(".contentTxt").html(html);
$(".choose").on("click",function(e){
var $cur = $(e.currentTarget)
if($cur.hasClass("checked")){
$cur.removeClass("checked");
}else{
$cur.addClass("checked");
}
});
});
});
</script>
</#assign>
<@com.layout title="新建买券活动" module="marketing" current="buyVoucherActivity_create" pageJs=pageJsContent pageCss=pageCssContent>
<form id="voucherRulForm" class="form-inline form-horizontal" action="/buyVoucherActivity/create" method="post">
<#if returnPage??>
<input type="hidden" id="returnPage" name="returnPage" value="${returnPage}"/>
</#if>
<div id="course_container">
<div class="row-fluid show-grid">
<h3 class="open span12" data-collapse-summary="" aria-expanded="true">新建买券活动</h3>
<div class="feature_content">
<@form.textInput path="dto.activityName" attributes="class=\"input-medium\"" label="活动名称" required = true />
<@form.textInput path="dto.communePrice" attributes="class=\"input-medium\"" label="社员价" required = true />
<@form.textInput path="dto.guestPrice" attributes="class=\"input-medium\"" label="嘉宾价" required = true />
<@form.textInput path="dto.buyLimitTimes" attributes="class=\"input-medium\"" label="限制购买数量" required = true />
<@form.textInput path="dto.voucherIds" attributes="class=\"input-medium\"" label="券ID拼接(英文逗号分割)" required = true />
<@form.textInputTwoDate path1="dto.activityStart" path2="dto.activityEnd" attributes="" label="活动时间" required = true/>
<@form.textArea path="dto.miniAppMessage" attributes="class=\"input-medium\" required rows=\"3\"" label="提示拼接(英文分号分割)" required = true />
<div class="long_content_div control-group" id="voucherRuleTypeValue1show">
<label class="control-label" for="type">购买限制</label>
<div class="controls">
<input style="margin-bottom: 5px;" type="radio" name="userLimit" value="2" checked>
<span style="padding-right: 20px;">社员</span>
<input style="margin-bottom: 5px;" type="radio" name="userLimit" value="1">
<span style="padding-right: 20px;">嘉宾</span>
<input style="margin-bottom: 5px;" type="radio" name="userLimit" value="0">
<span style="padding-right: 20px;">不限</span>
</div>
</div>
<div class="long_content_div control-group" id="voucherRuleTypeValue1show">
<label class="control-label" for="type">是否有效</label>
<div class="controls">
<input style="margin-bottom: 5px;" type="radio" name="valid" value="0" checked>
<span style="padding-right: 20px;">否</span>
<input style="margin-bottom: 5px;" type="radio" name="valid" value="1">
<span style="padding-right: 20px;">是</span>
</div>
</div>
</div>
<div class="long_content_div control-group ">
<input type="hidden" id="domain" value="${imageServer}">
<input type="hidden" id="imageServer" value="${imageServer}">
<input type="hidden" id="uptoken_url" value="/tools/uptoken">
<label class="control-label" for="remark">活动图片</label>
<div class="information">
<div id="imagePathShow">
<#if dto.imagePath?? && dto.imagePath!=''>
<div class="currentImage"><img src="${dto.thumPath!}"/> <img src="${dto.imagePath!}"/> </div>
<#else>
<div class="currentImage"><div class="noneImage">请上传两张(第一张缩略图;第二张大图)</div></div>
</#if>
</div>
<div class="body" style="margin-top:20px;">
<div class="col-md-12">
<div id="container">
<a class="btn btn-success" id="J_Add_image" href="javascript:void(0);"><span>选择图片</span></a>
<a class="btn btn-primary" id="J_AddConfirm_image"><span>开始上传</span></a>
<a class="btn btn-warning" id="J_AddCancel_image"><span>取消上传</span></a>
</div>
</div>
<div class="col-md-12 ">
<table class="table table-striped table-hover text-left" style="margin-top:10px;display:none">
<thead>
<tr>
<th class="col-md-4" style="width:300px">文件名</th>
<th class="col-md-2" style="width:150px">文件尺寸</th>
<th class="col-md-6">文件详情</th>
</tr>
</thead>
<tbody id="imageFsUploadProgress">
</tbody>
</table>
</div>
</div>
<div id="imageHiddenTable" class="none">
</div>
</div>
</div>
<button type="button" class="btn btn-primary pull-left bottom_margin" onclick="submitFun()">提交</button>
<button type="submit" id="submitButton" style="display:none;"></button>
</form>
</@com.layout>
src/main/webapp/WEB-INF/templates/common/layout.ftl
View file @
e1cf3116
...
...
@@ -250,6 +250,16 @@ ${pageCss}
<a
href=
"/voucherShareLog/queryList"
>
现金券分享记录
</a>
</li>
<li
class=
"nav-header"
>
买券活动
</li>
<li
<#
if
current =
=
"
buyVoucherActivity_create
"
>
class="active"
</
#
if>
>
<a
href=
"/buyVoucherActivity/create"
>
新建
</a>
</li>
<li
<#
if
current =
=
"
buyVoucherActivity_list
"
>
class="active"
</
#
if>
>
<a
href=
"/buyVoucherActivity/queryList"
>
列表
</a>
</li>
<li
class=
"nav-header"
>
签到
</li>
<li
<#
if
current =
=
"
sign_get
"
>
class="active"
</
#
if>
>
<a
href=
"/sign/get"
>
签到设置
</a>
...
...
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