记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
676fae04
Commit
676fae04
authored
Aug 24, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+模版;
parent
623f4070
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1778 additions
and
0 deletions
+1778
-0
CandyMgtCoupon3AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon3AdminController.java
+164
-0
CandyMgtCoupon4AdminController.java
...roller/zhengzai/candy/CandyMgtCoupon4AdminController.java
+164
-0
add1.html
...n/resources/templates/zhengzai/candy/coupon/mgt/add1.html
+268
-0
add2.html
...n/resources/templates/zhengzai/candy/coupon/mgt/add2.html
+268
-0
add3.html
...n/resources/templates/zhengzai/candy/coupon/mgt/add3.html
+268
-0
add4.html
...n/resources/templates/zhengzai/candy/coupon/mgt/add4.html
+268
-0
coupon2.html
...esources/templates/zhengzai/candy/coupon/mgt/coupon2.html
+126
-0
coupon3.html
...esources/templates/zhengzai/candy/coupon/mgt/coupon3.html
+126
-0
coupon4.html
...esources/templates/zhengzai/candy/coupon/mgt/coupon4.html
+126
-0
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon3AdminController.java
0 → 100644
View file @
676fae04
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon3/mgt"
)
public
class
CandyMgtCoupon3AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon3:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon3"
;
}
@RequiresPermissions
(
"candy:coupon3:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
3
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add3"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon3:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
// 满减券
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
// 兑换券
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
// 折扣券
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
}
CandyCoupon
initCoupon
=
new
CandyCoupon
();
initCoupon
.
setCouponId
(
IDGenerator
.
nextMilliId
());
initCoupon
.
setState
(
1
);
initCoupon
.
setTitle
(
buildParam
.
getTitle
());
initCoupon
.
setLabel
(
buildParam
.
getLabel
());
initCoupon
.
setNotice
(
buildParam
.
getNotice
());
initCoupon
.
setExclusive
(
0
);
initCoupon
.
setBusiType
(
buildParam
.
getBusiType
());
initCoupon
.
setCouType
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
initCoupon
.
setOverlay
(
buildParam
.
getOverlay
());
initCoupon
.
setValidity
(
validity
);
initCoupon
.
setRedeemValidity
(
redeemValidity
);
initCoupon
.
setRedeemStart
(
redeemStart
);
initCoupon
.
setRedeemStop
(
redeemStop
);
initCoupon
.
setEffectAt
(
effectAt
);
initCoupon
.
setExpireAt
(
expireAt
);
initCoupon
.
setOperator
(
operator
);
initCoupon
.
setCreatedAt
(
nowTime
);
CandyMgtCoupon
initMgtCoupon
=
new
CandyMgtCoupon
();
initMgtCoupon
.
setMcouponId
(
IDGenerator
.
nextMilliId
());
initMgtCoupon
.
setCouponId
(
initCoupon
.
getCouponId
());
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setEventAmt
(
buildParam
.
getEventAmt
());
initMgtCoupon
.
setEventType
(
buildParam
.
getEventType
());
initMgtCoupon
.
setEventLimit
(
eventLimit
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
);
return
toAjax
(
true
);
}
@GetMapping
(
"code/{couponId}"
)
public
String
code
(
@PathVariable
(
"couponId"
)
String
couponId
,
ModelMap
mmap
)
{
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
}
@RequiresPermissions
(
"candy:coupon3:mgt:code:list"
)
@PostMapping
(
"codeList"
)
@ResponseBody
public
TableDataInfo
codeList
(
CandyMgtCouponListParam
listParam
)
{
startPage
();
return
getDataTable
(
null
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCoupon4AdminController.java
0 → 100644
View file @
676fae04
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
candy
;
import
com.liquidnet.client.admin.common.annotation.Log
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyMgtCoupon
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
@Api
(
tags
=
"券发放管理"
)
@Controller
@RequestMapping
(
"candy/coupon4/mgt"
)
public
class
CandyMgtCoupon4AdminController
extends
BaseController
{
private
final
String
prefix
=
"zhengzai/candy/coupon/mgt"
;
@Autowired
private
ICandyMgtCouponAdminService
candyMgtCouponAdminService
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@RequiresPermissions
(
"candy:coupon4:mgt:view"
)
@GetMapping
()
public
String
coupon
()
{
return
prefix
+
"/coupon4"
;
}
@RequiresPermissions
(
"candy:coupon4:mgt:list"
)
@PostMapping
(
"list"
)
@ResponseBody
public
TableDataInfo
list
(
CandyMgtCouponListParam
listParam
)
{
listParam
.
setCouType
(
4
);
startPage
();
List
<
CandyMgtCouponInfoDto
>
list
=
candyMgtCouponAdminService
.
listForMgtCouponInfoDto
(
listParam
);
return
getDataTable
(
list
);
}
@GetMapping
(
"add"
)
public
String
add
()
{
return
prefix
+
"/add4"
;
}
@ApiOperation
(
value
=
"新建券"
)
@RequiresPermissions
(
"candy:coupon4:mgt:add"
)
@Log
(
title
=
"券发放管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
@ResponseBody
public
AjaxResult
addSave
(
@Validated
CandyMgtCouponBuildParam
buildParam
)
{
BigDecimal
discount
=
null
,
valFace
=
null
,
valOver
=
null
,
valMinus
=
null
;
Integer
couType
=
buildParam
.
getCouType
(),
validity
=
buildParam
.
getValidity
(),
redeemValidity
=
buildParam
.
getRedeemValidity
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
(),
redeemStart
=
null
,
redeemStop
=
null
,
effectAt
,
expireAt
,
eventAt
=
LocalDateTime
.
parse
(
buildParam
.
getEventAt
(),
DateTimeFormatter
.
ofPattern
(
DateUtils
.
YYYY_MM_DD_HH_MM_SS
));
switch
(
couType
)
{
// TODO: 2021/8/20 校验
case
1
:
// 代金券
valFace
=
buildParam
.
getValFace
();
break
;
case
2
:
// 满减券
valOver
=
buildParam
.
getValOver
();
valMinus
=
buildParam
.
getValMinus
();
break
;
case
3
:
// 兑换券
redeemStart
=
eventAt
.
with
(
LocalTime
.
MIN
);
redeemStop
=
eventAt
.
plusDays
(
redeemValidity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
break
;
case
4
:
// 折扣券
discount
=
buildParam
.
getDiscount
();
break
;
default
:
logger
.
warn
(
"Invalid operation[buildParam.couType={}]"
,
couType
);
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"券类型无效"
);
}
effectAt
=
eventAt
.
with
(
LocalTime
.
MIN
);
expireAt
=
eventAt
.
plusDays
(
validity
).
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
);
String
eventLimit
=
null
,
operator
=
ShiroUtils
.
getLoginName
();
if
(
buildParam
.
getEventType
()
==
2
)
{
// 指定用户手机号
eventLimit
=
buildParam
.
getEventLimit
().
trim
();
// TODO: 2021/8/20 正则校验手机号字符串
if
(
StringUtils
.
isEmpty
(
eventLimit
))
{
return
this
.
error
(
AjaxResult
.
Type
.
WARN
,
"请指定手机号"
);
}
}
CandyCoupon
initCoupon
=
new
CandyCoupon
();
initCoupon
.
setCouponId
(
IDGenerator
.
nextMilliId
());
initCoupon
.
setState
(
1
);
initCoupon
.
setTitle
(
buildParam
.
getTitle
());
initCoupon
.
setLabel
(
buildParam
.
getLabel
());
initCoupon
.
setNotice
(
buildParam
.
getNotice
());
initCoupon
.
setExclusive
(
0
);
initCoupon
.
setBusiType
(
buildParam
.
getBusiType
());
initCoupon
.
setCouType
(
couType
);
initCoupon
.
setBindType
(
buildParam
.
getBindType
());
initCoupon
.
setDiscount
(
discount
);
initCoupon
.
setValFace
(
valFace
);
initCoupon
.
setValOver
(
valOver
);
initCoupon
.
setValMinus
(
valMinus
);
initCoupon
.
setOverlay
(
buildParam
.
getOverlay
());
initCoupon
.
setValidity
(
validity
);
initCoupon
.
setRedeemValidity
(
redeemValidity
);
initCoupon
.
setRedeemStart
(
redeemStart
);
initCoupon
.
setRedeemStop
(
redeemStop
);
initCoupon
.
setEffectAt
(
effectAt
);
initCoupon
.
setExpireAt
(
expireAt
);
initCoupon
.
setOperator
(
operator
);
initCoupon
.
setCreatedAt
(
nowTime
);
CandyMgtCoupon
initMgtCoupon
=
new
CandyMgtCoupon
();
initMgtCoupon
.
setMcouponId
(
IDGenerator
.
nextMilliId
());
initMgtCoupon
.
setCouponId
(
initCoupon
.
getCouponId
());
initMgtCoupon
.
setState
(
0
);
initMgtCoupon
.
setEventAmt
(
buildParam
.
getEventAmt
());
initMgtCoupon
.
setEventType
(
buildParam
.
getEventType
());
initMgtCoupon
.
setEventLimit
(
eventLimit
);
initMgtCoupon
.
setEventAt
(
eventAt
);
initMgtCoupon
.
setOperator
(
operator
);
initMgtCoupon
.
setCreatedAt
(
nowTime
);
candyMgtCouponAdminService
.
saveMgtCouponInfo
(
initCoupon
,
initMgtCoupon
);
return
toAjax
(
true
);
}
@GetMapping
(
"code/{couponId}"
)
public
String
code
(
@PathVariable
(
"couponId"
)
String
couponId
,
ModelMap
mmap
)
{
mmap
.
put
(
"couponId"
,
couponId
);
return
prefix
+
"/code"
;
}
@RequiresPermissions
(
"candy:coupon4:mgt:code:list"
)
@PostMapping
(
"codeList"
)
@ResponseBody
public
TableDataInfo
codeList
(
CandyMgtCouponListParam
listParam
)
{
startPage
();
return
getDataTable
(
null
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/add1.html
0 → 100644
View file @
676fae04
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<th:block
th:include=
"include :: header('新增代金券')"
/>
<th:block
th:include=
"include :: select2-css"
/>
</head>
<body>
<div
class=
"main-content"
>
<form
id=
"form-user-add"
class=
"form-horizontal"
>
<input
name=
"deptId"
type=
"hidden"
id=
"treeId"
/>
<h4
class=
"form-header h4"
>
基本信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
用户名称:
</label>
<div
class=
"col-sm-8"
>
<input
name=
"userName"
placeholder=
"请输入用户名称"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
归属部门:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
name=
"deptName"
onclick=
"selectDeptTree()"
id=
"treeName"
type=
"text"
placeholder=
"请选择归属部门"
class=
"form-control"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-search"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
手机号码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"phonenumber"
name=
"phonenumber"
placeholder=
"请输入手机号码"
class=
"form-control"
type=
"text"
maxlength=
"11"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-mobile"
></i></span>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
邮箱:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"email"
name=
"email"
class=
"form-control email"
type=
"text"
maxlength=
"50"
placeholder=
"请输入邮箱"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-envelope"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录账号:
</label>
<div
class=
"col-sm-8"
>
<input
id=
"loginName"
name=
"loginName"
placeholder=
"请输入登录账号"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录密码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"password"
name=
"password"
placeholder=
"请输入登录密码"
class=
"form-control"
type=
"password"
th:value=
"${@config.getKey('sys.user.initPassword')}"
required
>
<span
class=
"input-group-addon"
title=
"登录密码,鼠标按下显示密码"
onmousedown=
"$('#password').attr('type','text')"
onmouseup=
"$('#password').attr('type','password')"
><i
class=
"fa fa-key"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户性别:
</label>
<div
class=
"col-sm-8"
>
<select
name=
"sex"
class=
"form-control m-b"
th:with=
"type=${@dict.getType('sys_user_sex')}"
>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户状态:
</label>
<div
class=
"col-sm-8"
>
<label
class=
"toggle-switch switch-solid"
>
<input
type=
"checkbox"
id=
"status"
checked
>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
岗位:
</label>
<div
class=
"col-xs-4"
>
<select
id=
"post"
class=
"form-control select2-multiple"
multiple
>
<option
th:each=
"post:${posts}"
th:value=
"${post.postId}"
th:text=
"${post.postName}"
th:disabled=
"${post.status == '1'}"
></option>
</select>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
角色:
</label>
<div
class=
"col-xs-10"
>
<label
th:each=
"role:${roles}"
class=
"check-box"
>
<input
name=
"role"
type=
"checkbox"
th:value=
"${role.roleId}"
th:text=
"${role.roleName}"
th:disabled=
"${role.status == '1'}"
>
</label>
</div>
</div>
</div>
</div>
<h4
class=
"form-header h4"
>
其他信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
备注:
</label>
<div
class=
"col-xs-10"
>
<textarea
name=
"remark"
maxlength=
"500"
class=
"form-control"
rows=
"3"
></textarea>
</div>
</div>
</div>
</div>
</form>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-offset-5 col-sm-10"
>
<button
type=
"button"
class=
"btn btn-sm btn-primary"
onclick=
"submitHandler()"
><i
class=
"fa fa-check"
></i>
保 存
</button>
<button
type=
"button"
class=
"btn btn-sm btn-danger"
onclick=
"closeItem()"
><i
class=
"fa fa-reply-all"
></i>
关 闭
</button>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: select2-js"
/>
<script>
var
prefix
=
ctx
+
"system/user"
;
$
(
"#form-user-add"
).
validate
({
onkeyup
:
false
,
rules
:{
loginName
:{
minlength
:
2
,
maxlength
:
20
,
remote
:
{
url
:
prefix
+
"/checkLoginNameUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"loginName"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#loginName"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
password
:{
minlength
:
5
,
maxlength
:
20
},
email
:{
email
:
true
,
remote
:
{
url
:
prefix
+
"/checkEmailUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"email"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#email"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
phonenumber
:{
isPhone
:
true
,
remote
:
{
url
:
prefix
+
"/checkPhoneUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"phonenumber"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#phonenumber"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
},
messages
:
{
"loginName"
:
{
remote
:
"用户已经存在"
},
"email"
:
{
remote
:
"Email已经存在"
},
"phonenumber"
:{
remote
:
"手机号码已经存在"
}
},
focusCleanup
:
true
});
function
submitHandler
()
{
var
chrtype
=
[[
$
{
#
strings
.
defaultString
(@
config
.
getKey
(
'sys.account.chrtype'
),
0
)}]];
var
password
=
$
(
"#password"
).
val
();
if
(
$
.
validate
.
form
()
&&
checkpwd
(
chrtype
,
password
))
{
var
data
=
$
(
"#form-user-add"
).
serializeArray
();
var
status
=
$
(
"input[id='status']"
).
is
(
':checked'
)
==
true
?
0
:
1
;
var
roleIds
=
$
.
form
.
selectCheckeds
(
"role"
);
var
postIds
=
$
.
form
.
selectSelects
(
"post"
);
data
.
push
({
"name"
:
"status"
,
"value"
:
status
});
data
.
push
({
"name"
:
"roleIds"
,
"value"
:
roleIds
});
data
.
push
({
"name"
:
"postIds"
,
"value"
:
postIds
});
$
.
operate
.
saveTab
(
prefix
+
"/add"
,
data
);
}
}
/* 用户管理-新增-选择部门树 */
function
selectDeptTree
()
{
var
treeId
=
$
(
"#treeId"
).
val
();
var
deptId
=
$
.
common
.
isEmpty
(
treeId
)
?
"100"
:
$
(
"#treeId"
).
val
();
var
url
=
ctx
+
"system/dept/selectDeptTree/"
+
deptId
;
var
options
=
{
title
:
'选择部门'
,
width
:
"380"
,
url
:
url
,
callBack
:
doSubmit
};
$
.
modal
.
openOptions
(
options
);
}
function
doSubmit
(
index
,
layero
){
var
tree
=
layero
.
find
(
"iframe"
)[
0
].
contentWindow
.
$
.
_tree
;
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
$
(
"#treeId"
).
val
(
body
.
find
(
'#treeId'
).
val
());
$
(
"#treeName"
).
val
(
body
.
find
(
'#treeName'
).
val
());
layer
.
close
(
index
);
}
$
(
function
()
{
$
(
'#post'
).
select2
({
placeholder
:
"请选择岗位"
,
allowClear
:
true
});
})
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/add2.html
0 → 100644
View file @
676fae04
add1.html
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<th:block
th:include=
"include :: header('新增满减券')"
/>
<th:block
th:include=
"include :: select2-css"
/>
</head>
<body>
<div
class=
"main-content"
>
<form
id=
"form-user-add"
class=
"form-horizontal"
>
<input
name=
"deptId"
type=
"hidden"
id=
"treeId"
/>
<h4
class=
"form-header h4"
>
基本信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
用户名称:
</label>
<div
class=
"col-sm-8"
>
<input
name=
"userName"
placeholder=
"请输入用户名称"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
归属部门:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
name=
"deptName"
onclick=
"selectDeptTree()"
id=
"treeName"
type=
"text"
placeholder=
"请选择归属部门"
class=
"form-control"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-search"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
手机号码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"phonenumber"
name=
"phonenumber"
placeholder=
"请输入手机号码"
class=
"form-control"
type=
"text"
maxlength=
"11"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-mobile"
></i></span>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
邮箱:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"email"
name=
"email"
class=
"form-control email"
type=
"text"
maxlength=
"50"
placeholder=
"请输入邮箱"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-envelope"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录账号:
</label>
<div
class=
"col-sm-8"
>
<input
id=
"loginName"
name=
"loginName"
placeholder=
"请输入登录账号"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录密码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"password"
name=
"password"
placeholder=
"请输入登录密码"
class=
"form-control"
type=
"password"
th:value=
"${@config.getKey('sys.user.initPassword')}"
required
>
<span
class=
"input-group-addon"
title=
"登录密码,鼠标按下显示密码"
onmousedown=
"$('#password').attr('type','text')"
onmouseup=
"$('#password').attr('type','password')"
><i
class=
"fa fa-key"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户性别:
</label>
<div
class=
"col-sm-8"
>
<select
name=
"sex"
class=
"form-control m-b"
th:with=
"type=${@dict.getType('sys_user_sex')}"
>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户状态:
</label>
<div
class=
"col-sm-8"
>
<label
class=
"toggle-switch switch-solid"
>
<input
type=
"checkbox"
id=
"status"
checked
>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
岗位:
</label>
<div
class=
"col-xs-4"
>
<select
id=
"post"
class=
"form-control select2-multiple"
multiple
>
<option
th:each=
"post:${posts}"
th:value=
"${post.postId}"
th:text=
"${post.postName}"
th:disabled=
"${post.status == '1'}"
></option>
</select>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
角色:
</label>
<div
class=
"col-xs-10"
>
<label
th:each=
"role:${roles}"
class=
"check-box"
>
<input
name=
"role"
type=
"checkbox"
th:value=
"${role.roleId}"
th:text=
"${role.roleName}"
th:disabled=
"${role.status == '1'}"
>
</label>
</div>
</div>
</div>
</div>
<h4
class=
"form-header h4"
>
其他信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
备注:
</label>
<div
class=
"col-xs-10"
>
<textarea
name=
"remark"
maxlength=
"500"
class=
"form-control"
rows=
"3"
></textarea>
</div>
</div>
</div>
</div>
</form>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-offset-5 col-sm-10"
>
<button
type=
"button"
class=
"btn btn-sm btn-primary"
onclick=
"submitHandler()"
><i
class=
"fa fa-check"
></i>
保 存
</button>
<button
type=
"button"
class=
"btn btn-sm btn-danger"
onclick=
"closeItem()"
><i
class=
"fa fa-reply-all"
></i>
关 闭
</button>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: select2-js"
/>
<script>
var
prefix
=
ctx
+
"system/user"
;
$
(
"#form-user-add"
).
validate
({
onkeyup
:
false
,
rules
:{
loginName
:{
minlength
:
2
,
maxlength
:
20
,
remote
:
{
url
:
prefix
+
"/checkLoginNameUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"loginName"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#loginName"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
password
:{
minlength
:
5
,
maxlength
:
20
},
email
:{
email
:
true
,
remote
:
{
url
:
prefix
+
"/checkEmailUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"email"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#email"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
phonenumber
:{
isPhone
:
true
,
remote
:
{
url
:
prefix
+
"/checkPhoneUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"phonenumber"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#phonenumber"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
},
messages
:
{
"loginName"
:
{
remote
:
"用户已经存在"
},
"email"
:
{
remote
:
"Email已经存在"
},
"phonenumber"
:{
remote
:
"手机号码已经存在"
}
},
focusCleanup
:
true
});
function
submitHandler
()
{
var
chrtype
=
[[
$
{
#
strings
.
defaultString
(@
config
.
getKey
(
'sys.account.chrtype'
),
0
)}]];
var
password
=
$
(
"#password"
).
val
();
if
(
$
.
validate
.
form
()
&&
checkpwd
(
chrtype
,
password
))
{
var
data
=
$
(
"#form-user-add"
).
serializeArray
();
var
status
=
$
(
"input[id='status']"
).
is
(
':checked'
)
==
true
?
0
:
1
;
var
roleIds
=
$
.
form
.
selectCheckeds
(
"role"
);
var
postIds
=
$
.
form
.
selectSelects
(
"post"
);
data
.
push
({
"name"
:
"status"
,
"value"
:
status
});
data
.
push
({
"name"
:
"roleIds"
,
"value"
:
roleIds
});
data
.
push
({
"name"
:
"postIds"
,
"value"
:
postIds
});
$
.
operate
.
saveTab
(
prefix
+
"/add"
,
data
);
}
}
/* 用户管理-新增-选择部门树 */
function
selectDeptTree
()
{
var
treeId
=
$
(
"#treeId"
).
val
();
var
deptId
=
$
.
common
.
isEmpty
(
treeId
)
?
"100"
:
$
(
"#treeId"
).
val
();
var
url
=
ctx
+
"system/dept/selectDeptTree/"
+
deptId
;
var
options
=
{
title
:
'选择部门'
,
width
:
"380"
,
url
:
url
,
callBack
:
doSubmit
};
$
.
modal
.
openOptions
(
options
);
}
function
doSubmit
(
index
,
layero
){
var
tree
=
layero
.
find
(
"iframe"
)[
0
].
contentWindow
.
$
.
_tree
;
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
$
(
"#treeId"
).
val
(
body
.
find
(
'#treeId'
).
val
());
$
(
"#treeName"
).
val
(
body
.
find
(
'#treeName'
).
val
());
layer
.
close
(
index
);
}
$
(
function
()
{
$
(
'#post'
).
select2
({
placeholder
:
"请选择岗位"
,
allowClear
:
true
});
})
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/add3.html
0 → 100644
View file @
676fae04
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<th:block
th:include=
"include :: header('新增兑换券')"
/>
<th:block
th:include=
"include :: select2-css"
/>
</head>
<body>
<div
class=
"main-content"
>
<form
id=
"form-user-add"
class=
"form-horizontal"
>
<input
name=
"deptId"
type=
"hidden"
id=
"treeId"
/>
<h4
class=
"form-header h4"
>
基本信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
用户名称:
</label>
<div
class=
"col-sm-8"
>
<input
name=
"userName"
placeholder=
"请输入用户名称"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
归属部门:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
name=
"deptName"
onclick=
"selectDeptTree()"
id=
"treeName"
type=
"text"
placeholder=
"请选择归属部门"
class=
"form-control"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-search"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
手机号码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"phonenumber"
name=
"phonenumber"
placeholder=
"请输入手机号码"
class=
"form-control"
type=
"text"
maxlength=
"11"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-mobile"
></i></span>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
邮箱:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"email"
name=
"email"
class=
"form-control email"
type=
"text"
maxlength=
"50"
placeholder=
"请输入邮箱"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-envelope"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录账号:
</label>
<div
class=
"col-sm-8"
>
<input
id=
"loginName"
name=
"loginName"
placeholder=
"请输入登录账号"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录密码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"password"
name=
"password"
placeholder=
"请输入登录密码"
class=
"form-control"
type=
"password"
th:value=
"${@config.getKey('sys.user.initPassword')}"
required
>
<span
class=
"input-group-addon"
title=
"登录密码,鼠标按下显示密码"
onmousedown=
"$('#password').attr('type','text')"
onmouseup=
"$('#password').attr('type','password')"
><i
class=
"fa fa-key"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户性别:
</label>
<div
class=
"col-sm-8"
>
<select
name=
"sex"
class=
"form-control m-b"
th:with=
"type=${@dict.getType('sys_user_sex')}"
>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户状态:
</label>
<div
class=
"col-sm-8"
>
<label
class=
"toggle-switch switch-solid"
>
<input
type=
"checkbox"
id=
"status"
checked
>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
岗位:
</label>
<div
class=
"col-xs-4"
>
<select
id=
"post"
class=
"form-control select2-multiple"
multiple
>
<option
th:each=
"post:${posts}"
th:value=
"${post.postId}"
th:text=
"${post.postName}"
th:disabled=
"${post.status == '1'}"
></option>
</select>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
角色:
</label>
<div
class=
"col-xs-10"
>
<label
th:each=
"role:${roles}"
class=
"check-box"
>
<input
name=
"role"
type=
"checkbox"
th:value=
"${role.roleId}"
th:text=
"${role.roleName}"
th:disabled=
"${role.status == '1'}"
>
</label>
</div>
</div>
</div>
</div>
<h4
class=
"form-header h4"
>
其他信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
备注:
</label>
<div
class=
"col-xs-10"
>
<textarea
name=
"remark"
maxlength=
"500"
class=
"form-control"
rows=
"3"
></textarea>
</div>
</div>
</div>
</div>
</form>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-offset-5 col-sm-10"
>
<button
type=
"button"
class=
"btn btn-sm btn-primary"
onclick=
"submitHandler()"
><i
class=
"fa fa-check"
></i>
保 存
</button>
<button
type=
"button"
class=
"btn btn-sm btn-danger"
onclick=
"closeItem()"
><i
class=
"fa fa-reply-all"
></i>
关 闭
</button>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: select2-js"
/>
<script>
var
prefix
=
ctx
+
"system/user"
;
$
(
"#form-user-add"
).
validate
({
onkeyup
:
false
,
rules
:{
loginName
:{
minlength
:
2
,
maxlength
:
20
,
remote
:
{
url
:
prefix
+
"/checkLoginNameUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"loginName"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#loginName"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
password
:{
minlength
:
5
,
maxlength
:
20
},
email
:{
email
:
true
,
remote
:
{
url
:
prefix
+
"/checkEmailUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"email"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#email"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
phonenumber
:{
isPhone
:
true
,
remote
:
{
url
:
prefix
+
"/checkPhoneUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"phonenumber"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#phonenumber"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
},
messages
:
{
"loginName"
:
{
remote
:
"用户已经存在"
},
"email"
:
{
remote
:
"Email已经存在"
},
"phonenumber"
:{
remote
:
"手机号码已经存在"
}
},
focusCleanup
:
true
});
function
submitHandler
()
{
var
chrtype
=
[[
$
{
#
strings
.
defaultString
(@
config
.
getKey
(
'sys.account.chrtype'
),
0
)}]];
var
password
=
$
(
"#password"
).
val
();
if
(
$
.
validate
.
form
()
&&
checkpwd
(
chrtype
,
password
))
{
var
data
=
$
(
"#form-user-add"
).
serializeArray
();
var
status
=
$
(
"input[id='status']"
).
is
(
':checked'
)
==
true
?
0
:
1
;
var
roleIds
=
$
.
form
.
selectCheckeds
(
"role"
);
var
postIds
=
$
.
form
.
selectSelects
(
"post"
);
data
.
push
({
"name"
:
"status"
,
"value"
:
status
});
data
.
push
({
"name"
:
"roleIds"
,
"value"
:
roleIds
});
data
.
push
({
"name"
:
"postIds"
,
"value"
:
postIds
});
$
.
operate
.
saveTab
(
prefix
+
"/add"
,
data
);
}
}
/* 用户管理-新增-选择部门树 */
function
selectDeptTree
()
{
var
treeId
=
$
(
"#treeId"
).
val
();
var
deptId
=
$
.
common
.
isEmpty
(
treeId
)
?
"100"
:
$
(
"#treeId"
).
val
();
var
url
=
ctx
+
"system/dept/selectDeptTree/"
+
deptId
;
var
options
=
{
title
:
'选择部门'
,
width
:
"380"
,
url
:
url
,
callBack
:
doSubmit
};
$
.
modal
.
openOptions
(
options
);
}
function
doSubmit
(
index
,
layero
){
var
tree
=
layero
.
find
(
"iframe"
)[
0
].
contentWindow
.
$
.
_tree
;
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
$
(
"#treeId"
).
val
(
body
.
find
(
'#treeId'
).
val
());
$
(
"#treeName"
).
val
(
body
.
find
(
'#treeName'
).
val
());
layer
.
close
(
index
);
}
$
(
function
()
{
$
(
'#post'
).
select2
({
placeholder
:
"请选择岗位"
,
allowClear
:
true
});
})
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/add4.html
0 → 100644
View file @
676fae04
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<th:block
th:include=
"include :: header('新增折扣券')"
/>
<th:block
th:include=
"include :: select2-css"
/>
</head>
<body>
<div
class=
"main-content"
>
<form
id=
"form-user-add"
class=
"form-horizontal"
>
<input
name=
"deptId"
type=
"hidden"
id=
"treeId"
/>
<h4
class=
"form-header h4"
>
基本信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
用户名称:
</label>
<div
class=
"col-sm-8"
>
<input
name=
"userName"
placeholder=
"请输入用户名称"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
归属部门:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
name=
"deptName"
onclick=
"selectDeptTree()"
id=
"treeName"
type=
"text"
placeholder=
"请选择归属部门"
class=
"form-control"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-search"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
手机号码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"phonenumber"
name=
"phonenumber"
placeholder=
"请输入手机号码"
class=
"form-control"
type=
"text"
maxlength=
"11"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-mobile"
></i></span>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
邮箱:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"email"
name=
"email"
class=
"form-control email"
type=
"text"
maxlength=
"50"
placeholder=
"请输入邮箱"
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-envelope"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录账号:
</label>
<div
class=
"col-sm-8"
>
<input
id=
"loginName"
name=
"loginName"
placeholder=
"请输入登录账号"
class=
"form-control"
type=
"text"
maxlength=
"30"
required
>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label is-required"
>
登录密码:
</label>
<div
class=
"col-sm-8"
>
<div
class=
"input-group"
>
<input
id=
"password"
name=
"password"
placeholder=
"请输入登录密码"
class=
"form-control"
type=
"password"
th:value=
"${@config.getKey('sys.user.initPassword')}"
required
>
<span
class=
"input-group-addon"
title=
"登录密码,鼠标按下显示密码"
onmousedown=
"$('#password').attr('type','text')"
onmouseup=
"$('#password').attr('type','password')"
><i
class=
"fa fa-key"
></i></span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户性别:
</label>
<div
class=
"col-sm-8"
>
<select
name=
"sex"
class=
"form-control m-b"
th:with=
"type=${@dict.getType('sys_user_sex')}"
>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-4 control-label"
>
用户状态:
</label>
<div
class=
"col-sm-8"
>
<label
class=
"toggle-switch switch-solid"
>
<input
type=
"checkbox"
id=
"status"
checked
>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
岗位:
</label>
<div
class=
"col-xs-4"
>
<select
id=
"post"
class=
"form-control select2-multiple"
multiple
>
<option
th:each=
"post:${posts}"
th:value=
"${post.postId}"
th:text=
"${post.postName}"
th:disabled=
"${post.status == '1'}"
></option>
</select>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
角色:
</label>
<div
class=
"col-xs-10"
>
<label
th:each=
"role:${roles}"
class=
"check-box"
>
<input
name=
"role"
type=
"checkbox"
th:value=
"${role.roleId}"
th:text=
"${role.roleName}"
th:disabled=
"${role.status == '1'}"
>
</label>
</div>
</div>
</div>
</div>
<h4
class=
"form-header h4"
>
其他信息
</h4>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
>
<label
class=
"col-xs-2 control-label"
>
备注:
</label>
<div
class=
"col-xs-10"
>
<textarea
name=
"remark"
maxlength=
"500"
class=
"form-control"
rows=
"3"
></textarea>
</div>
</div>
</div>
</div>
</form>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-offset-5 col-sm-10"
>
<button
type=
"button"
class=
"btn btn-sm btn-primary"
onclick=
"submitHandler()"
><i
class=
"fa fa-check"
></i>
保 存
</button>
<button
type=
"button"
class=
"btn btn-sm btn-danger"
onclick=
"closeItem()"
><i
class=
"fa fa-reply-all"
></i>
关 闭
</button>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: select2-js"
/>
<script>
var
prefix
=
ctx
+
"system/user"
;
$
(
"#form-user-add"
).
validate
({
onkeyup
:
false
,
rules
:{
loginName
:{
minlength
:
2
,
maxlength
:
20
,
remote
:
{
url
:
prefix
+
"/checkLoginNameUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"loginName"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#loginName"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
password
:{
minlength
:
5
,
maxlength
:
20
},
email
:{
email
:
true
,
remote
:
{
url
:
prefix
+
"/checkEmailUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"email"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#email"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
phonenumber
:{
isPhone
:
true
,
remote
:
{
url
:
prefix
+
"/checkPhoneUnique"
,
type
:
"post"
,
dataType
:
"json"
,
data
:
{
"phonenumber"
:
function
()
{
return
$
.
common
.
trim
(
$
(
"#phonenumber"
).
val
());
}
},
dataFilter
:
function
(
data
,
type
)
{
return
$
.
validate
.
unique
(
data
);
}
}
},
},
messages
:
{
"loginName"
:
{
remote
:
"用户已经存在"
},
"email"
:
{
remote
:
"Email已经存在"
},
"phonenumber"
:{
remote
:
"手机号码已经存在"
}
},
focusCleanup
:
true
});
function
submitHandler
()
{
var
chrtype
=
[[
$
{
#
strings
.
defaultString
(@
config
.
getKey
(
'sys.account.chrtype'
),
0
)}]];
var
password
=
$
(
"#password"
).
val
();
if
(
$
.
validate
.
form
()
&&
checkpwd
(
chrtype
,
password
))
{
var
data
=
$
(
"#form-user-add"
).
serializeArray
();
var
status
=
$
(
"input[id='status']"
).
is
(
':checked'
)
==
true
?
0
:
1
;
var
roleIds
=
$
.
form
.
selectCheckeds
(
"role"
);
var
postIds
=
$
.
form
.
selectSelects
(
"post"
);
data
.
push
({
"name"
:
"status"
,
"value"
:
status
});
data
.
push
({
"name"
:
"roleIds"
,
"value"
:
roleIds
});
data
.
push
({
"name"
:
"postIds"
,
"value"
:
postIds
});
$
.
operate
.
saveTab
(
prefix
+
"/add"
,
data
);
}
}
/* 用户管理-新增-选择部门树 */
function
selectDeptTree
()
{
var
treeId
=
$
(
"#treeId"
).
val
();
var
deptId
=
$
.
common
.
isEmpty
(
treeId
)
?
"100"
:
$
(
"#treeId"
).
val
();
var
url
=
ctx
+
"system/dept/selectDeptTree/"
+
deptId
;
var
options
=
{
title
:
'选择部门'
,
width
:
"380"
,
url
:
url
,
callBack
:
doSubmit
};
$
.
modal
.
openOptions
(
options
);
}
function
doSubmit
(
index
,
layero
){
var
tree
=
layero
.
find
(
"iframe"
)[
0
].
contentWindow
.
$
.
_tree
;
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
$
(
"#treeId"
).
val
(
body
.
find
(
'#treeId'
).
val
());
$
(
"#treeName"
).
val
(
body
.
find
(
'#treeName'
).
val
());
layer
.
close
(
index
);
}
$
(
function
()
{
$
(
'#post'
).
select2
({
placeholder
:
"请选择岗位"
,
allowClear
:
true
});
})
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/coupon2.html
0 → 100644
View file @
676fae04
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('代金券')"
/>
</head>
<body
class=
"gray-bg"
>
<div
class=
"container-div"
>
<div
class=
"row"
>
<div
class=
"col-sm-12 search-collapse"
>
<form
id=
"coupon-form"
>
<div
class=
"select-list"
>
<ul>
<input
type=
"text"
name=
"couType"
value=
"2"
hidden=
"hidden"
/>
<li>
<input
type=
"text"
name=
"keyword"
placeholder=
"搜索"
/>
</li>
<li>
类型:
<select
name=
"bindType"
th:with=
"type=${@dict.getType('zhengzai_coupon_bind_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
适用范围:
<select
name=
"busiType"
th:with=
"type=${@dict.getType('zhengzai_coupon_busi_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
<a
class=
"btn btn-primary btn-rounded btn-sm"
onclick=
"$.table.search()"
><i
class=
"fa fa-search"
></i>
搜索
</a>
<a
class=
"btn btn-warning btn-rounded btn-sm"
onclick=
"$.form.reset()"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</li>
</ul>
</div>
</form>
</div>
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-success"
onclick=
"$.operate.add()"
shiro:hasPermission=
"candy:coupon:mgt:add"
>
<i
class=
"fa fa-plus"
></i>
新增
</a>
</div>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
couponCodeListFlag
=
[[
$
{@
permission
.
hasPermi
(
'system:role:edit'
)}]];
var
prefix
=
ctx
+
"candy/coupon2/mgt"
;
$
(
function
()
{
var
options
=
{
url
:
prefix
+
"/list"
,
createUrl
:
prefix
+
"/add"
,
// updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export",
sortName
:
"createdAt"
,
modalName
:
"发放记录"
,
columns
:
[{
checkbox
:
true
},
{
field
:
'valFace'
,
title
:
'金额'
},
{
field
:
'eventAmt'
,
title
:
'数量'
,
},
{
field
:
'bindType'
,
title
:
'类型'
,
sortable
:
true
},
{
field
:
'busiType'
,
title
:
'适用范围'
,
sortable
:
true
},
{
field
:
'title'
,
title
:
'标题'
,
},
{
field
:
'notice'
,
title
:
'描述'
,
},
{
field
:
'operator'
,
title
:
'创建人'
,
},
{
field
:
'createdAt'
,
title
:
'生成时间'
,
sortable
:
true
},
{
field
:
'expireAt'
,
title
:
'失效时间'
,
sortable
:
true
},
{
title
:
'操作'
,
align
:
'center'
,
formatter
:
function
(
value
,
row
,
index
)
{
var
actions
=
[];
actions
.
push
(
"<a class='btn btn-default btn-xs "
+
couponCodeListFlag
+
"' href='javascript:void(0)' onclick='authUser("
+
row
.
roleId
+
")'><i class='fa fa-user'></i></a>"
);
return
actions
.
join
(
''
);
}
}]
};
$
.
table
.
init
(
options
);
});
/* 券码列表 */
function
couponCodeList
(
couponId
)
{
var
url
=
prefix
+
'/code/'
+
couponId
;
$
.
modal
.
openTab
(
"查看码列表"
,
url
);
}
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/coupon3.html
0 → 100644
View file @
676fae04
coupon1.html
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('代金券')"
/>
</head>
<body
class=
"gray-bg"
>
<div
class=
"container-div"
>
<div
class=
"row"
>
<div
class=
"col-sm-12 search-collapse"
>
<form
id=
"coupon-form"
>
<div
class=
"select-list"
>
<ul>
<input
type=
"text"
name=
"couType"
value=
"3"
hidden=
"hidden"
/>
<li>
<input
type=
"text"
name=
"keyword"
placeholder=
"搜索"
/>
</li>
<li>
类型:
<select
name=
"bindType"
th:with=
"type=${@dict.getType('zhengzai_coupon_bind_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
适用范围:
<select
name=
"busiType"
th:with=
"type=${@dict.getType('zhengzai_coupon_busi_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
<a
class=
"btn btn-primary btn-rounded btn-sm"
onclick=
"$.table.search()"
><i
class=
"fa fa-search"
></i>
搜索
</a>
<a
class=
"btn btn-warning btn-rounded btn-sm"
onclick=
"$.form.reset()"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</li>
</ul>
</div>
</form>
</div>
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-success"
onclick=
"$.operate.add()"
shiro:hasPermission=
"candy:coupon:mgt:add"
>
<i
class=
"fa fa-plus"
></i>
新增
</a>
</div>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
couponCodeListFlag
=
[[
$
{@
permission
.
hasPermi
(
'system:role:edit'
)}]];
var
prefix
=
ctx
+
"candy/coupon3/mgt"
;
$
(
function
()
{
var
options
=
{
url
:
prefix
+
"/list"
,
createUrl
:
prefix
+
"/add"
,
// updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export",
sortName
:
"createdAt"
,
modalName
:
"发放记录"
,
columns
:
[{
checkbox
:
true
},
{
field
:
'valFace'
,
title
:
'金额'
},
{
field
:
'eventAmt'
,
title
:
'数量'
,
},
{
field
:
'bindType'
,
title
:
'类型'
,
sortable
:
true
},
{
field
:
'busiType'
,
title
:
'适用范围'
,
sortable
:
true
},
{
field
:
'title'
,
title
:
'标题'
,
},
{
field
:
'notice'
,
title
:
'描述'
,
},
{
field
:
'operator'
,
title
:
'创建人'
,
},
{
field
:
'createdAt'
,
title
:
'生成时间'
,
sortable
:
true
},
{
field
:
'expireAt'
,
title
:
'失效时间'
,
sortable
:
true
},
{
title
:
'操作'
,
align
:
'center'
,
formatter
:
function
(
value
,
row
,
index
)
{
var
actions
=
[];
actions
.
push
(
"<a class='btn btn-default btn-xs "
+
couponCodeListFlag
+
"' href='javascript:void(0)' onclick='authUser("
+
row
.
roleId
+
")'><i class='fa fa-user'></i></a>"
);
return
actions
.
join
(
''
);
}
}]
};
$
.
table
.
init
(
options
);
});
/* 券码列表 */
function
couponCodeList
(
couponId
)
{
var
url
=
prefix
+
'/code/'
+
couponId
;
$
.
modal
.
openTab
(
"查看码列表"
,
url
);
}
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/candy/coupon/mgt/coupon4.html
0 → 100644
View file @
676fae04
coupon1.html
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('代金券')"
/>
</head>
<body
class=
"gray-bg"
>
<div
class=
"container-div"
>
<div
class=
"row"
>
<div
class=
"col-sm-12 search-collapse"
>
<form
id=
"coupon-form"
>
<div
class=
"select-list"
>
<ul>
<input
type=
"text"
name=
"couType"
value=
"4"
hidden=
"hidden"
/>
<li>
<input
type=
"text"
name=
"keyword"
placeholder=
"搜索"
/>
</li>
<li>
类型:
<select
name=
"bindType"
th:with=
"type=${@dict.getType('zhengzai_coupon_bind_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
适用范围:
<select
name=
"busiType"
th:with=
"type=${@dict.getType('zhengzai_coupon_busi_type')}"
>
<option
value=
""
>
所有
</option>
<option
th:each=
"dict : ${type}"
th:text=
"${dict.dictLabel}"
th:value=
"${dict.dictValue}"
></option>
</select>
</li>
<li>
<a
class=
"btn btn-primary btn-rounded btn-sm"
onclick=
"$.table.search()"
><i
class=
"fa fa-search"
></i>
搜索
</a>
<a
class=
"btn btn-warning btn-rounded btn-sm"
onclick=
"$.form.reset()"
><i
class=
"fa fa-refresh"
></i>
重置
</a>
</li>
</ul>
</div>
</form>
</div>
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-success"
onclick=
"$.operate.add()"
shiro:hasPermission=
"candy:coupon:mgt:add"
>
<i
class=
"fa fa-plus"
></i>
新增
</a>
</div>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
couponCodeListFlag
=
[[
$
{@
permission
.
hasPermi
(
'system:role:edit'
)}]];
var
prefix
=
ctx
+
"candy/coupon4/mgt"
;
$
(
function
()
{
var
options
=
{
url
:
prefix
+
"/list"
,
createUrl
:
prefix
+
"/add"
,
// updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export",
sortName
:
"createdAt"
,
modalName
:
"发放记录"
,
columns
:
[{
checkbox
:
true
},
{
field
:
'valFace'
,
title
:
'金额'
},
{
field
:
'eventAmt'
,
title
:
'数量'
,
},
{
field
:
'bindType'
,
title
:
'类型'
,
sortable
:
true
},
{
field
:
'busiType'
,
title
:
'适用范围'
,
sortable
:
true
},
{
field
:
'title'
,
title
:
'标题'
,
},
{
field
:
'notice'
,
title
:
'描述'
,
},
{
field
:
'operator'
,
title
:
'创建人'
,
},
{
field
:
'createdAt'
,
title
:
'生成时间'
,
sortable
:
true
},
{
field
:
'expireAt'
,
title
:
'失效时间'
,
sortable
:
true
},
{
title
:
'操作'
,
align
:
'center'
,
formatter
:
function
(
value
,
row
,
index
)
{
var
actions
=
[];
actions
.
push
(
"<a class='btn btn-default btn-xs "
+
couponCodeListFlag
+
"' href='javascript:void(0)' onclick='authUser("
+
row
.
roleId
+
")'><i class='fa fa-user'></i></a>"
);
return
actions
.
join
(
''
);
}
}]
};
$
.
table
.
init
(
options
);
});
/* 券码列表 */
function
couponCodeList
(
couponId
)
{
var
url
=
prefix
+
'/code/'
+
couponId
;
$
.
modal
.
openTab
(
"查看码列表"
,
url
);
}
</script>
</body>
</html>
\ No newline at end of file
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