记得上下班打卡 | 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
65a713fd
Commit
65a713fd
authored
Dec 03, 2021
by
qinshuangshuang@zhengzai.tv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建积分活动
parent
33341010
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
907 additions
and
522 deletions
+907
-522
remote-search-coupon-list.js
...src/main/resources/static/js/remote-search-coupon-list.js
+176
-0
include.html
...lient-admin-web/src/main/resources/templates/include.html
+2
-0
form.html
...urces/templates/zhengzai/sweet/integralActivity/form.html
+729
-522
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/static/js/remote-search-coupon-list.js
0 → 100644
View file @
65a713fd
;(
function
(
$
)
{
//这里放入插件代码
var
RemoteSearchPerformance
=
function
(
element
,
options
)
{
this
.
$element
=
$
(
element
);
this
.
options
=
$
.
extend
(
true
,
{},
$
.
fn
.
remoteSearchPerformance
.
defaults
,
options
);
this
.
id
=
$
(
element
).
attr
(
'id'
);
this
.
ulID
=
'#'
+
this
.
id
+
'_ul'
;
this
.
ulFoucus
=
false
;
// Method overrides
this
.
render
=
this
.
options
.
render
||
this
.
render
;
this
.
select
=
this
.
options
.
select
||
this
.
select
;
this
.
ajax
=
$
.
extend
({},
$
.
fn
.
remoteSearchPerformance
.
defaults
.
ajax
,
this
.
options
.
ajax
);
this
.
listen
();
}
RemoteSearchPerformance
.
prototype
=
{
listen
:
function
()
{
this
.
$element
.
on
(
'blur'
,
$
.
proxy
(
this
.
blur
,
this
))
.
on
(
'keyup'
,
$
.
proxy
(
this
.
keyup
,
this
));
this
.
$element
.
parent
(
'div.remote_wrapper'
).
on
(
'click'
,
this
.
ulID
,
$
.
proxy
(
this
.
click
,
this
));
},
blur
:
function
(
e
)
{
var
that
=
this
;
e
.
stopPropagation
();
e
.
preventDefault
();
setTimeout
(
function
()
{
if
(
!
that
.
ulFoucus
)
{
that
.
$element
.
val
(
that
.
$element
.
attr
(
'data-name'
));
that
.
hide
();
}
},
150
)
},
keyup
:
function
(
e
)
{
e
.
stopPropagation
();
e
.
preventDefault
();
switch
(
e
.
keyCode
)
{
case
40
:
// down arrow
case
38
:
// up arrow
break
;
case
9
:
// tab
case
13
:
// enter
this
.
ajaxer
();
case
27
:
// escape
break
;
default
:
this
.
ajaxer
();
}
},
hide
:
function
()
{
$
(
this
.
ulID
).
remove
();
return
this
;
},
ajaxer
:
function
()
{
var
that
=
this
,
keyword
=
that
.
$element
.
val
();
busiType
=
window
.
typeRadio
;
couType
=
window
.
typeCoupe
;
// Query changed
that
.
keyword
=
keyword
;
// Cancel last timer if set
if
(
that
.
ajax
.
timerId
)
{
clearTimeout
(
that
.
ajax
.
timerId
);
that
.
ajax
.
timerId
=
null
;
}
// Query is good to send, set a timer
that
.
ajax
.
timerId
=
setTimeout
(
function
()
{
var
params
=
{
keyword
:
keyword
,
busiType
:
busiType
,
couType
:
couType
,
bindType
:
'1,4'
};
var
jAjax
=
$
.
post
;
jAjax
(
that
.
ajax
.
url
,
params
,
function
(
data
){
return
that
.
render
(
data
.
rows
);
});
that
.
ajax
.
timerId
=
null
;
},
that
.
ajax
.
timeout
);
return
that
;
},
render
:
function
(
data
)
{
this
.
ulFoucus
=
false
;
var
liList
=
data
||
[];
var
num
=
this
.
_getNum
();
//添加 ul
if
(
$
(
this
.
ulID
).
length
==
0
)
{
this
.
$element
.
after
(
"<ul id='"
+
this
.
id
+
"_ul' class='remote_search remote_search_top'></ul>"
);
};
//添加li
var
str
=
""
;
if
(
num
)
{
if
(
liList
.
length
)
{
for
(
var
i
=
0
;
i
<
liList
.
length
;
i
++
)
{
str
+=
"<li data-id='"
+
liList
[
i
].
couponId
+
"' data-name='"
+
liList
[
i
].
title
+
"' title='"
+
liList
[
i
].
title
+
"' value='"
+
liList
[
i
].
couponId
+
"'>"
+
liList
[
i
].
title
+
"</li>"
;
}
}
else
{
str
=
"<li data-id='' data-name=''>搜索无数据</li>"
}
}
else
{
this
.
$element
.
attr
(
'data-name'
,
""
);
this
.
$element
.
attr
(
'data-id'
,
""
);
}
$
(
this
.
ulID
).
html
(
str
);
var
bodyHeight
=
$
(
document
.
body
).
height
();
var
offsetTop
=
this
.
$element
.
offset
().
top
;
var
height
=
$
(
this
.
ulID
).
outerHeight
(
true
);
if
(
offsetTop
+
height
>
bodyHeight
){
$
(
this
.
ulID
).
addClass
(
'remote_search_bottom'
).
removeClass
(
'remote_search_top'
);
}
else
{
$
(
this
.
ulID
).
addClass
(
'remote_search_top'
).
removeClass
(
'remote_search_bottom'
);
}
return
this
;
},
click
:
function
(
e
)
{
e
.
stopPropagation
();
e
.
preventDefault
();
var
dataName
=
$
(
e
.
target
).
attr
(
'data-name'
);
var
dataID
=
$
(
e
.
target
).
attr
(
'data-id'
);
this
.
$element
.
val
(
dataName
);
this
.
$element
.
attr
(
'data-name'
,
dataName
);
this
.
$element
.
attr
(
'data-id'
,
dataID
);
this
.
options
.
chose
(
dataName
,
dataID
);
this
.
ulFoucus
=
true
;
return
this
.
hide
();
},
_getNum
:
function
(){
return
this
.
$element
.
val
().
length
;
}
}
$
.
fn
.
remoteSearchPerformance
=
function
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
),
data
=
$this
.
data
(
'remoteSearchPerformance'
),
options
=
typeof
option
===
'object'
&&
option
;
if
(
!
data
)
{
$this
.
data
(
'remoteSearchPerformance'
,
(
data
=
new
RemoteSearchPerformance
(
this
,
options
)));
}
if
(
typeof
option
===
'string'
)
{
data
[
option
]();
}
});
}
$
.
fn
.
remoteSearchPerformance
.
defaults
=
{
hiddenVal
:
''
,
chose
:
function
()
{
},
ajax
:
{
url
:
null
,
timeout
:
300
,
method
:
'get'
,
timerId
:
null
},
success
:
function
(
res
){
}
}
$
.
fn
.
remoteSearchPerformance
.
Constructor
=
RemoteSearchPerformance
;
})(
jQuery
);
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/include.html
View file @
65a713fd
...
@@ -43,6 +43,8 @@
...
@@ -43,6 +43,8 @@
<script
th:src=
"@{/ruoyi/js/ry-ui.js?v=4.6.1}"
></script>
<script
th:src=
"@{/ruoyi/js/ry-ui.js?v=4.6.1}"
></script>
<!--远程搜索下拉框-->
<!--远程搜索下拉框-->
<script
th:src=
"@{/js/remote-search-performance.js}"
></script>
<script
th:src=
"@{/js/remote-search-performance.js}"
></script>
<!--远程搜索下拉框:积分抽奖配置使用-->
<script
th:src=
"@{/js/remote-search-coupon-list.js}"
></script>
</div>
</div>
<!-- ztree树插件 -->
<!-- ztree树插件 -->
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/sweet/integralActivity/form.html
View file @
65a713fd
<!DOCTYPE html>
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<head>
<th:block
th:include=
"include :: header('添加活动')"
/>
<th:block
th:include=
"include :: header('添加活动')"
/>
<th:block
th:include=
"include :: bootstrap-fileinput-css"
/>
<th:block
th:include=
"include :: bootstrap-fileinput-css"
/>
</head>
<body
class=
"white-bg"
>
<!--奖品项配置表单-->
<form
id=
"form-user-add"
class=
"layui-form"
>
<div>
基础信息
</div>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动名称:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"ActivityName"
autocomplete=
"off"
class=
"layui-input"
placeholder=
"请输入名称"
>
</div>
</div>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动类型:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"ActivityType"
autocomplete=
"off"
class=
"layui-input"
value=
"转盘"
disabled
placeholder=
"请输入类型"
>
</div>
</div>
<input
id=
"ceshi"
class=
"scoreFile"
type=
"file"
name=
"scoreFile"
style=
"display: none;"
>
<input
id=
"selectCeshi"
class=
"scoreFile"
type=
"file"
name=
"scoreFile"
style=
"display: none;"
>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
banner图:
</span>
<div
class=
"layui-input-block"
style=
"display: flex;flex-direction: column;"
>
<img
id=
"viewImg"
src=
""
alt=
""
style=
"max-height:242px;"
>
<div
class=
"ibox-content"
>
<div
class=
"form-group"
>
<div
class=
"file-loading"
>
<input
id=
"fileinput"
type=
"file"
name=
"file"
data-browse-on-zone-click=
"true"
data-theme=
"fas"
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
所需积分:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"integral"
autocomplete=
"off"
class=
"layui-input"
placeholder=
"请输入所需积分"
>
</div>
</div>
<div
class=
"sendType"
>
<div
style=
"display: flex;align-items: center;"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动时间:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
value=
"1"
name=
"sendType"
checked
><span>
长期
</span>
<input
type=
"radio"
value=
"2"
name=
"sendType"
><span>
选择开始结束时间
</span>
<div
class=
"selectTime"
>
<input
type=
"text"
class=
"layui-input"
id=
"startTime"
autocomplete=
"off"
placeholder=
"请选择起始时间"
>
<span>
~
</span>
<input
type=
"text"
class=
"layui-input"
id=
"endTime"
autocomplete=
"off"
placeholder=
"请选择结束时间"
>
</div>
</div>
</div>
</div>
<div
class=
"selectScore"
>
<p><i
class=
"required"
>
*
</i>
选择商品
</p>
<!-- <button type="button" class="btn btn-primary" onclick="addColumn()">新增商品</button>
<span>最多可上传6个</span> -->
</div>
<!-- <img src="img/select.png" alt=""> -->
<div
class=
"scoreTable"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
</div>
<div
class=
"main_bottom"
>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
预估玩此活动的总人数:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"estimatedNum"
autocomplete=
"off"
class=
"layui-input"
placeholder=
"预估玩此活动的总人数"
>
</div>
</div>
<div
class=
"describe"
>
<span
class=
"labelName"
>
<i
class=
"required"
>
*
</i>
活动规则:
</span>
<textarea
id=
"activityRule"
class=
"form-control"
style=
"min-height: 160px;"
></textarea>
</div>
<div
class=
"describe"
>
<span
class=
"labelName"
>
<i
class=
"required"
>
*
</i>
概率公示:
</span>
<textarea
id=
"probabilityPublicity"
class=
"form-control"
style=
"min-height: 160px;"
></textarea>
</div>
<div
class=
"sendTime"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
是否上线:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
name=
"online"
value=
"1"
checked
><span>
未上线
</span>
<input
type=
"radio"
name=
"online"
value=
"2"
style=
"margin-left: 12px;"
><span>
已上线
</span>
</div>
</div>
<div
class=
"sendTime"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
快递费用:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
name=
"sex"
value=
"1"
checked
><span>
包邮
</span>
<input
type=
"radio"
name=
"sex"
value=
"2"
style=
"margin-left: 12px;"
><span>
到付
</span>
</div>
<!-- <span style="margin-right:12px;"><p>输入金额</p></span>
<input type="text" id="courierMoney" autocomplete="off" class="layui-input" placeholder="请输入金额"> -->
</div>
<div
class=
"bottom_btn"
>
<!-- <button type="button" class="layui-btn btn btn-primary" lay-filter="formDemo" onclick="create()">创建代金券</button> -->
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"create()"
>
确 定
</button>
</div>
</div>
</form>
<div
id=
"detailsFormList"
class=
"details-form-list"
>
<!--奖品详情-->
<div
class=
"details-pop-inner"
>
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"addCoupon()"
>
添加
</button>
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"closeCoupon()"
>
关闭窗口
</button>
<div
class=
"scoreTable"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"details-table"
></table>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<th:block
th:include=
"include :: footer"
/>
<script
th:src=
"@{/js/jquery.tmpl.js}"
></script>
<th:block
th:include=
"include :: bootstrap-fileinput-js"
/>
<script
type=
"text/javascript"
>
var
platformUrl
=
`[[
${
platformUrl
}
]]`
var
prefix
=
ctx
+
"sweet/sweetIntegralActivity"
;
let
showIndex
=
null
;
// 初始化数据, 可以由后台传过来
var
data
=
[];
// 表格内数据集合
let
activityName
=
''
;
// 活动名称
let
activityType
=
''
;
// 活动类型
let
timeType
=
'1'
;
// 活动时间类型
let
startTime
=
''
;
// 开始时间
let
endTime
=
''
;
// 结束时间
let
activityRule
=
''
;
// 活动规则
let
courierType
=
'1'
;
// 快递类型
let
courierMoney
=
''
;
// 快递费用
let
showPicture
=
''
;
// banner
let
online
=
'1'
;
// 是否上线
let
itemId
=
''
;
let
activitySize
=
false
;
var
options
=
{
id
:
"bootstrap-table"
,
data
:
data
,
pagination
:
false
,
showSearch
:
false
,
showRefresh
:
false
,
showToggle
:
false
,
showColumns
:
false
,
sidePagination
:
"client"
,
columns
:
[
{
field
:
'index'
,
align
:
'center'
,
title
:
"序号"
,
formatter
:
function
(
value
,
row
,
index
)
{
return
index
+
1
;
}
},
{
field
:
'prizeTitle'
,
align
:
'center'
,
title
:
'奖品名称'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeTitle
)
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value='"
+
data
[
index
].
prizeTitle
+
"'>"
}
else
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value=''>"
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeImgInit'
,
align
:
'center'
,
title
:
'商品图片'
,
formatter
:
function
(
value
,
row
,
index
)
{
//
let
str
=
''
;
if
(
data
[
index
].
prizeImgInit
)
{
str
=
`<img id="showPic
${
index
}
" onclick=upFile(
${
index
}
) src="
${
data
[
index
].
prizeImgInit
}
" alt="" style="max-height:50px;">`
}
else
{
str
=
`<img id="showPic
${
index
}
" onclick=upFile(
${
index
}
) src="
${
value
}
" alt="点击上传" style="max-height:50px;">`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeImgSelect'
,
align
:
'center'
,
title
:
'选中图片'
,
formatter
:
function
(
value
,
row
,
index
)
{
//
let
str
=
''
;
if
(
data
[
index
].
prizeImgSelect
)
{
str
=
`<img id="showPicSelect
${
index
}
" onclick=upFileSelect(
${
index
}
) src="
${
data
[
index
].
prizeImgSelect
}
" alt="" style="max-height:50px;">`
}
else
{
str
=
`<img id="showPicSelect
${
index
}
" onclick=upFileSelect(
${
index
}
) src="
${
value
}
" alt="点击上传" style="max-height:50px;">`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeType'
,
align
:
'center'
,
title
:
'奖品类型'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
arr
=
[
'积分'
,
'优惠券'
,
'实物'
,
'登登登VIP'
];
let
str
=
''
;
arr
.
forEach
((
item
,
i
)
=>
{
i
++
if
(
i
==
data
[
index
].
prizeType
)
{
str
+=
`<option value="
${
i
}
" selected>
${
item
}
</option>`
}
else
{
str
+=
`<option value="
${
i
}
">
${
item
}
</option>`
}
})
let
dom
=
`<select id='prizeType
${
index
}
' class='form-control' name=''>
${
str
}
</select>`
return
dom
;
}
},
{
field
:
'prizeTypeNum'
,
align
:
'center'
,
title
:
'奖励积分数量'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeTypeNum
&&
(
data
[
index
].
prizeType
===
1
))
{
str
=
`<input id='prizeTypeNum
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
prizeTypeNum
}
'>`
}
else
{
str
=
`<input id='prizeTypeNum
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'winningProbability'
,
align
:
'center'
,
title
:
'概率'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
winningProbability
)
{
str
=
`<input id='winningProbability
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
winningProbability
}
'>`
}
else
{
str
=
`<input id='winningProbability
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeNum'
,
align
:
'center'
,
title
:
'数量'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeNum
)
{
str
=
`<input id='prizeNum
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
prizeNum
}
'>`
}
else
{
str
=
`<input id='prizeNum
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeDescribe'
,
align
:
'center'
,
title
:
'奖品描述'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeNum
)
{
str
=
`<input id='prizeDescribe
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
prizeDescribe
}
'>`
}
else
{
str
=
`<input id='prizeDescribe
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
// {
// field: 'winnersNum',
// align: 'center',
// title: '中奖人数',
// formatter: function(value, row, index) {
// let str = '';
// if (data[index].winnersNum) {
// str = `
<
input
id
=
'winnersNum${index}'
class
=
'form-control'
type
=
'text'
name
=
''
value
=
'${data[index].winnersNum}'
>
`
// } else {
// str = `
<
input
id
=
'winnersNum${index}'
class
=
'form-control'
type
=
'text'
name
=
''
value
=
''
>
`
// }
// var html = $.common.sprintf(str, index, value);
// return html;
// }
// },
{
field: 'winPrizeNum',
align: 'center',
title: '已发出'
},
{
field: 'residue',
align: 'center',
title: '奖品剩余',
formatter: function(value, row, index) {
if (itemId) {
return (row.prizeNum - row.winPrizeNum) || '0'
} else {
return '0'
}
}
},
{
field: '',
align: 'center',
title: '操作',
formatter: function(value, row, index) {
let str = '';
if (data[index].prizeTitle) {
str = `
<
button
type
=
"button"
class
=
"btn btn-primary"
onclick
=
"showList(` + index + `)"
>
查看列表
<
/button>
`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
}
]
};
var
nowList
=
[];
// 当前编辑的奖品详情列表
var
detailsOptions
=
{
id
:
"details-table"
,
data
:
nowList
,
pagination
:
false
,
showSearch
:
false
,
showRefresh
:
false
,
showToggle
:
false
,
showColumns
:
false
,
sidePagination
:
"client"
,
columns
:
[
{
field
:
'index'
,
align
:
'center'
,
title
:
"序号"
,
formatter
:
function
(
value
,
row
,
index
)
{
return
index
+
1
;
}
},{
field
:
'index'
,
align
:
'center'
,
title
:
"序号"
,
formatter
:
function
(
value
,
row
,
index
)
{
return
index
+
1
;
}
},
{
field
:
'prizeTitle'
,
align
:
'center'
,
title
:
'奖品名称'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeTitle
)
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value='"
+
data
[
index
].
prizeTitle
+
"'>"
}
else
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value=''>"
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
''
,
align
:
'center'
,
title
:
'操作'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
str
=
`<button type="button" class="btn btn-primary" onclick="deleteCoupon(`
+
index
+
`)">删除</button>`
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
}
]
};
$
(
function
()
{
itemId
=
getUrlParms
(
'id'
)
function
getUrlParms
(
name
){
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
);
if
(
r
!=
null
)
return
unescape
(
r
[
2
]);
return
null
;
}
if
(
itemId
)
{
$
.
ajax
({
type
:
'get'
,
url
:
'/sweet/integralActivity/details'
,
data
:
{
integralActivityId
:
itemId
},
success
:
function
(
e
)
{
if
(
e
.
code
==
0
)
{
let
res
=
e
.
data
;
showPicture
=
res
.
activityImg
;
$
(
"#viewImg"
).
attr
(
'src'
,
showPicture
);
$
(
"#integral"
).
val
(
res
.
activityNum
);
$
(
"#activityRule"
).
val
(
res
.
activityRules
);
$
(
"#ActivityName"
).
val
(
res
.
activityTitle
);
$
(
"#estimatedNum"
).
val
(
res
.
estimatedNum
);
$
(
"#probabilityPublicity"
).
val
(
res
.
probabilityPublicity
);
// activityType: 1,
courierType
=
res
.
expressFeeType
;
if
(
courierType
==
2
)
{
$
(
"input[name='sex'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
}
integralActivityId
=
res
.
integralActivityId
;
online
=
res
.
isOnline
;
if
(
online
==
2
)
{
$
(
"input[name='online'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
}
timeType
=
res
.
timeType
;
if
(
timeType
==
2
)
{
$
(
"input[name='sendType'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
$
(
"#endTime"
).
val
(
$
.
common
.
dateFormat
(
res
.
endTime
,
'yyyy-MM-dd HH:mm:ss'
));
$
(
"#startTime"
).
val
(
$
.
common
.
dateFormat
(
res
.
startTime
,
'yyyy-MM-dd HH:mm:ss'
));
}
else
{
$
(
"#endTime"
).
val
(
""
);
$
(
"#startTime"
).
val
(
""
);
}
data
=
[...
res
.
prizeList
]
options
.
data
=
data
;
setTimeout
(()
=>
{
$
.
table
.
init
(
options
);
},
500
)
}
}
})
}
else
{
let
obj
=
{
prizeTitle
:
""
,
prizeImgInit
:
""
,
prizeImgSelect
:
""
,
winPrizeNum
:
""
,
prizeType
:
""
,
prizeTypeNum
:
""
,
winningProbability
:
""
,
prizeDescribe
:
""
,
residue
:
""
,
prizeNum
:
""
};
for
(
var
i
=
0
;
i
<
12
;
i
++
)
{
data
.
push
(
obj
)
}
$
.
table
.
init
(
options
);
console
.
log
(
$
.
table
);
}
});
layui
.
use
(
'laydate'
,
function
(){
var
laydate
=
layui
.
laydate
;
//执行一个laydate实例
laydate
.
render
({
elem
:
'#startTime'
,
//指定元素
type
:
'datetime'
});
laydate
.
render
({
elem
:
'#endTime'
,
//指定元素
type
:
'datetime'
});
});
$
(
"#ActivityName"
).
blur
(
function
(
e
)
{
if
(
e
.
target
.
value
.
length
>
20
)
{
activitySize
=
true
;
layer
.
msg
(
'活动名称限制在20个字符以内!'
)
return
}
else
{
activitySize
=
false
;
}
})
$
(
"input[name=sendType]"
).
change
((
e
)
=>
{
timeType
=
e
.
target
.
value
;
if
(
timeType
==
1
)
{
$
(
"#endTime"
).
val
(
""
);
$
(
"#startTime"
).
val
(
""
);
}
})
$
(
"input[name=sex]"
).
change
((
e
)
=>
{
courierType
=
e
.
target
.
value
;
})
$
(
"input[name=online]"
).
change
((
e
)
=>
{
online
=
e
.
target
.
value
;
})
function
upFile
(
e
)
{
showIndex
=
e
;
$
(
"#ceshi"
).
click
();
}
function
upFileSelect
(
e
)
{
showIndex
=
e
;
$
(
"#selectCeshi"
).
click
();
}
$
(
"#ceshi"
).
change
((
e
)
=>
{
if
(
!
e
.
target
.
files
[
0
])
{
return
}
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
e
.
target
.
files
[
0
]);
$
.
ajax
({
url
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
//路径是你控制器中上传图片的方法,下面controller里面我会写到
data
:
formData
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
type
:
'POST'
,
success
:
function
(
res
)
{
$
(
"#showPic"
+
showIndex
).
attr
(
'src'
,
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
)
data
[
showIndex
].
prizeImgInit
=
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
;
$
(
"#ceshi"
).
val
(
""
);
// $summernote.summernote('insertImage', 'https://img.zhengzai.tv/' + data.data.ossPath)
}
});
})
$
(
"#selectCeshi"
).
change
((
e
)
=>
{
if
(
!
e
.
target
.
files
[
0
])
{
return
}
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
e
.
target
.
files
[
0
]);
$
.
ajax
({
url
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
//路径是你控制器中上传图片的方法,下面controller里面我会写到
data
:
formData
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
type
:
'POST'
,
success
:
function
(
res
)
{
$
(
"#showPicSelect"
+
showIndex
).
attr
(
'src'
,
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
)
data
[
showIndex
].
prizeImgInit
=
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
;
$
(
"#selectCeshi"
).
val
(
""
);
// $summernote.summernote('insertImage', 'https://img.zhengzai.tv/' + data.data.ossPath)
}
});
})
$
(
"#fileinput"
).
fileinput
({
'theme'
:
'explorer-fas'
,
'uploadUrl'
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
"uploadExtraData"
:
{
"pathName"
:
"banner"
,
"buckType"
:
1
},
autoReplace
:
true
,
showCaption
:
false
,
showPreview
:
false
,
showRemove
:
false
,
showUpload
:
false
,
showCancel
:
false
,
showClose
:
false
,
autoReplace
:
true
,
dropZoneTitle
:
"请上传文件"
,
maxFileCount
:
1
}).
on
(
"filebatchselected"
,
function
(
event
,
files
)
{
//默认上传
$
(
this
).
fileinput
(
"upload"
);
})
.
on
(
"fileuploaded"
,
function
(
event
,
data
)
{
//上传回调事件
showPicture
=
'https://img.zhengzai.tv/'
+
data
.
response
.
data
.
ossPath
;
$
(
"#viewImg"
).
attr
(
'src'
,
showPicture
)
})
function
create
()
{
if
(
!
$
(
"#ActivityName"
).
val
()
||
!
$
(
"#ActivityType"
).
val
()
||
!
showPicture
||
!
$
(
"#integral"
).
val
()
||
!
$
(
"#activityRule"
).
val
()
||
!
$
(
"#viewImg"
).
attr
(
'src'
)
||
!
$
(
"#estimatedNum"
).
val
()
||
!
$
(
"#probabilityPublicity"
).
val
()
)
{
return
layer
.
msg
(
'请将必填信息填写完整!'
)
}
if
(
timeType
==
2
)
{
if
(
!
$
(
"#startTime"
).
val
()
||
!
$
(
"#endTime"
).
val
())
{
return
layer
.
msg
(
'请选择时间!'
)
}
}
else
{
$
(
"#startTime"
).
val
(
""
)
$
(
"#endTime"
).
val
(
""
)
}
if
(
activitySize
)
{
layer
.
msg
(
"活动名称限制在20个字符以内!"
)
return
}
let
flag
=
false
;
let
prizeListArr
=
[]
data
=
data
.
map
((
item
,
index
)
=>
{
let
temp
=
{};
if
(
!
$
(
"#prizeTitle"
+
index
).
val
()
||
!
$
(
"#showPic"
+
index
).
attr
(
'src'
)
||
!
$
(
"#showPicSelect"
+
index
).
attr
(
'src'
)
||
!
$
(
"#prizeType"
+
index
).
val
()
||
!
$
(
"#winningProbability"
+
index
).
val
()
||
!
$
(
"#prizeNum"
+
index
).
val
()
||
!
$
(
"#prizeDescribe"
+
index
).
val
()
)
{
flag
=
true
}
else
{
temp
.
prizeTitle
=
$
(
"#prizeTitle"
+
index
).
val
();
temp
.
prizeImgInit
=
$
(
"#showPic"
+
index
).
attr
(
'src'
);
temp
.
prizeImgSelect
=
$
(
"#showPicSelect"
+
index
).
attr
(
'src'
);
temp
.
prizeType
=
$
(
"#prizeType"
+
index
).
val
();
temp
.
prizeTypeNum
=
temp
.
prizeType
==
'1'
?
$
(
"#prizeTypeNum"
+
index
).
val
()
:
0
;
temp
.
prizeNum
=
$
(
"#prizeNum"
+
index
).
val
();
temp
.
winningProbability
=
$
(
"#winningProbability"
+
index
).
val
();
temp
.
prizeDescribe
=
$
(
"#prizeDescribe"
+
index
).
val
();
}
// TODO
temp
.
prizeTitle
=
'名称'
;
temp
.
prizeImgInit
=
"https://img.zhengzai.tv/other/2021/12/03/9b70f3c310f0452bb4544f9d7d5f482e.png"
;
temp
.
prizeImgSelect
=
"https://img.zhengzai.tv/other/2021/12/03/9b70f3c310f0452bb4544f9d7d5f482e.png"
;
temp
.
prizeType
=
$
(
"#prizeType"
+
index
).
val
();
temp
.
winningProbability
=
1
;
temp
.
prizeNum
=
1
;
temp
.
prizeTypeNum
=
temp
.
prizeType
==
'1'
?
1
:
0
;
temp
.
prizeDescribe
=
"描述"
;
prizeListArr
.
push
(
temp
);
// return {...item};
})
// if (flag) {
// return layer.msg('请将表格内容填写完整!')
// }
let
datas
=
{
activityImg
:
showPicture
,
activityNum
:
$
(
"#integral"
).
val
(),
activityRules
:
$
(
"#activityRule"
).
val
(),
activityTitle
:
$
(
"#ActivityName"
).
val
(),
activityType
:
1
,
expressFeeType
:
courierType
,
integralActivityId
:
itemId
||
''
,
endTime
:
$
.
common
.
dateFormat
(
$
(
"#endTime"
).
val
(),
'yyyy-MM-dd HH:mm:ss'
)
,
//
isOnline
:
online
,
prizeList
:
prizeListArr
,
startTime
:
$
.
common
.
dateFormat
(
$
(
"#startTime"
).
val
(),
'yyyy-MM-dd HH:mm:ss'
),
timeType
:
timeType
,
estimatedNum
:
$
(
"#estimatedNum"
).
val
(),
probabilityPublicity
:
$
(
"#probabilityPublicity"
).
val
()
}
console
.
log
(
'========'
,
data
);
console
.
log
(
'========'
,
datas
);
let
url
=
'/sweet/integralActivity/create'
;
let
type
=
'post'
;
if
(
itemId
)
{
url
=
'/sweet/integralActivity/update'
type
=
'put'
}
$
.
ajax
({
type
,
url
,
contentType
:
"application/json;charset=UTF-8"
,
data
:
JSON
.
stringify
(
datas
),
success
:
function
(
res
)
{
layer
.
msg
(
''
+
res
);
if
(
res
.
code
!=
undefined
&&
res
.
code
!=
web_status
.
SUCCESS
)
{
$
.
modal
.
alertWarning
(
res
.
msg
);
return
[];
}
else
if
(
res
.
code
==
web_status
.
SUCCESS
)
{
$
.
operate
.
successTabCallback
(
res
);
closeItem
();
}
}
})
}
function
showList
(
index
)
{
console
.
log
(
index
);
data
[
index
].
prizeId
;
$
(
"#detailsFormList"
).
show
();
// 拿列表数据
$
.
table
.
init
(
detailsOptions
);
}
function
addCoupon
()
{
console
.
log
(
'添加优惠券==='
);
nowList
.
push
({
id
:
1
,
name
:
'hello'
});
// 添加数据
}
function
deleteCoupon
(
index
)
{
console
.
log
(
'删除优惠券==='
);
}
function
closeCoupon
()
{
$
(
"#detailsFormList"
).
hide
();
}
</script>
<style>
<style>
.layui-form
{
.layui-form
{
padding
:
20px
;
padding
:
20px
;
...
@@ -97,524 +805,23 @@
...
@@ -97,524 +805,23 @@
.scoreTable
{
.scoreTable
{
margin-bottom
:
12px
;
margin-bottom
:
12px
;
}
}
</style>
.details-form-list
{
</head>
position
:
fixed
;
<body
class=
"white-bg"
>
top
:
0
;
<form
id=
"form-user-add"
class=
"layui-form"
>
left
:
0
;
<div>
width
:
100%
;
基础信息
height
:
100%
;
</div>
background
:
rgba
(
0
,
0
,
0
,
.5
);
<div
class=
"main_type"
>
display
:
flex
;
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动名称:
</span>
justify-content
:
center
;
<div
class=
"layui-input-block"
style=
"display: flex"
>
align-items
:
center
;
<input
type=
"text"
id=
"ActivityName"
autocomplete=
"off"
class=
"layui-input"
placeholder=
"请输入名称"
>
</div>
</div>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动类型:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"ActivityType"
autocomplete=
"off"
class=
"layui-input"
value=
"转盘"
disabled
placeholder=
"请输入类型"
>
</div>
</div>
<input
id=
"ceshi"
class=
"scoreFile"
type=
"file"
name=
"scoreFile"
style=
"display: none;"
>
<input
id=
"selectCeshi"
class=
"scoreFile"
type=
"file"
name=
"scoreFile"
style=
"display: none;"
>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
banner图:
</span>
<div
class=
"layui-input-block"
style=
"display: flex;flex-direction: column;"
>
<img
id=
"viewImg"
src=
""
alt=
""
style=
"max-height:242px;"
>
<div
class=
"ibox-content"
>
<div
class=
"form-group"
>
<div
class=
"file-loading"
>
<input
id=
"fileinput"
type=
"file"
name=
"file"
data-browse-on-zone-click=
"true"
data-theme=
"fas"
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"main_type"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
所需积分:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"text"
id=
"integral"
autocomplete=
"off"
class=
"layui-input"
placeholder=
"请输入所需积分"
>
</div>
</div>
<div
class=
"sendType"
>
<div
style=
"display: flex;align-items: center;"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
活动时间:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
value=
"1"
name=
"sendType"
checked
><span>
长期
</span>
<input
type=
"radio"
value=
"2"
name=
"sendType"
><span>
选择开始结束时间
</span>
<div
class=
"selectTime"
>
<input
type=
"text"
class=
"layui-input"
id=
"startTime"
autocomplete=
"off"
placeholder=
"请选择起始时间"
>
<span>
~
</span>
<input
type=
"text"
class=
"layui-input"
id=
"endTime"
autocomplete=
"off"
placeholder=
"请选择结束时间"
>
</div>
</div>
</div>
</div>
<div
class=
"selectScore"
>
<p><i
class=
"required"
>
*
</i>
选择商品
</p>
<!-- <button type="button" class="btn btn-primary" onclick="addColumn()">新增商品</button>
<span>最多可上传6个</span> -->
</div>
<!-- <img src="img/select.png" alt=""> -->
<div
class=
"scoreTable"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
</div>
<div
class=
"main_bottom"
>
<div
class=
"describe"
>
<span
class=
"labelName"
>
<i
class=
"required"
>
*
</i>
活动规则:
</span>
<textarea
id=
"activityRule"
class=
"form-control"
style=
"min-height: 160px;"
></textarea>
</div>
<div
class=
"sendTime"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
是否上线:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
name=
"online"
value=
"1"
checked
><span>
未上线
</span>
<input
type=
"radio"
name=
"online"
value=
"2"
style=
"margin-left: 12px;"
><span>
已上线
</span>
</div>
</div>
<div
class=
"sendTime"
>
<span
class=
"labelName"
><i
class=
"required"
>
*
</i>
快递费用:
</span>
<div
class=
"layui-input-block"
style=
"display: flex"
>
<input
type=
"radio"
name=
"sex"
value=
"1"
checked
><span>
包邮
</span>
<input
type=
"radio"
name=
"sex"
value=
"2"
style=
"margin-left: 12px;"
><span>
到付
</span>
</div>
<!-- <span style="margin-right:12px;"><p>输入金额</p></span>
<input type="text" id="courierMoney" autocomplete="off" class="layui-input" placeholder="请输入金额"> -->
</div>
<div
class=
"bottom_btn"
>
<!-- <button type="button" class="layui-btn btn btn-primary" lay-filter="formDemo" onclick="create()">创建代金券</button> -->
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"create()"
>
确 定
</button>
</div>
</div>
</form>
<th:block
th:include=
"include :: footer"
/>
<script
th:src=
"@{/js/jquery.tmpl.js}"
></script>
<th:block
th:include=
"include :: bootstrap-fileinput-js"
/>
<script
type=
"text/javascript"
>
var
platformUrl
=
`[[
${
platformUrl
}
]]`
var
prefix
=
ctx
+
"sweet/sweetIntegralActivity"
;
let
showIndex
=
null
;
// 初始化数据, 可以由后台传过来
var
data
=
[];
// 表格内数据集合
let
activityName
=
''
;
// 活动名称
let
activityType
=
''
;
// 活动类型
let
timeType
=
'1'
;
// 活动时间类型
let
startTime
=
''
;
// 开始时间
let
endTime
=
''
;
// 结束时间
let
activityRule
=
''
;
// 活动规则
let
courierType
=
'1'
;
// 快递类型
let
courierMoney
=
''
;
// 快递费用
let
showPicture
=
''
;
// banner
let
online
=
'1'
;
// 是否上线
let
itemId
=
''
;
let
activitySize
=
false
;
var
options
=
{
data
:
data
,
pagination
:
false
,
showSearch
:
false
,
showRefresh
:
false
,
showToggle
:
false
,
showColumns
:
false
,
sidePagination
:
"client"
,
columns
:
[
{
field
:
'index'
,
align
:
'center'
,
title
:
"序号"
,
formatter
:
function
(
value
,
row
,
index
)
{
return
index
+
1
;
}
},
{
field
:
'prizeTitle'
,
align
:
'center'
,
title
:
'奖品名称'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeTitle
)
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value='"
+
data
[
index
].
prizeTitle
+
"'>"
}
else
{
str
=
"<input id='prizeTitle"
+
index
+
"' class='form-control' type='text' name='' value=''>"
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeImgInit'
,
align
:
'center'
,
title
:
'商品图片'
,
formatter
:
function
(
value
,
row
,
index
)
{
//
let
str
=
''
;
if
(
data
[
index
].
prizeImgInit
)
{
str
=
`<img id="showPic
${
index
}
" onclick=upFile(
${
index
}
) src="
${
data
[
index
].
prizeImgInit
}
" alt="" style="max-height:50px;">`
}
else
{
str
=
`<img id="showPic
${
index
}
" onclick=upFile(
${
index
}
) src="
${
value
}
" alt="点击上传" style="max-height:50px;">`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeImgSelect'
,
align
:
'center'
,
title
:
'选中图片'
,
formatter
:
function
(
value
,
row
,
index
)
{
//
let
str
=
''
;
if
(
data
[
index
].
prizeImgSelect
)
{
str
=
`<img id="showPicSelect
${
index
}
" onclick=upFileSelect(
${
index
}
) src="
${
data
[
index
].
prizeImgSelect
}
" alt="" style="max-height:50px;">`
}
else
{
str
=
`<img id="showPicSelect
${
index
}
" onclick=upFileSelect(
${
index
}
) src="
${
value
}
" alt="点击上传" style="max-height:50px;">`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeType'
,
align
:
'center'
,
title
:
'奖品类型'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
arr
=
[
'谢谢惠顾'
,
'积分'
,
'代金券'
,
'满减券'
,
'优先购买'
,
'实物'
];
let
str
=
''
;
arr
.
forEach
((
item
,
i
)
=>
{
i
++
if
(
i
==
data
[
index
].
prizeType
)
{
str
+=
`<option value="
${
i
}
" selected>
${
item
}
</option>`
}
else
{
str
+=
`<option value="
${
i
}
">
${
item
}
</option>`
}
})
let
dom
=
`<select id='prizeType
${
index
}
' class='form-control' name=''>
${
str
}
</select>`
return
dom
;
}
},
{
field
:
'winningProbability'
,
align
:
'center'
,
title
:
'概率'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
winningProbability
)
{
str
=
`<input id='winningProbability
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
winningProbability
}
'>`
}
else
{
str
=
`<input id='winningProbability
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'prizeNum'
,
align
:
'center'
,
title
:
'数量'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
prizeNum
)
{
str
=
`<input id='prizeNum
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
prizeNum
}
'>`
}
else
{
str
=
`<input id='prizeNum
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'winnersNum'
,
align
:
'center'
,
title
:
'中奖人数'
,
formatter
:
function
(
value
,
row
,
index
)
{
let
str
=
''
;
if
(
data
[
index
].
winnersNum
)
{
str
=
`<input id='winnersNum
${
index
}
' class='form-control' type='text' name='' value='
${
data
[
index
].
winnersNum
}
'>`
}
else
{
str
=
`<input id='winnersNum
${
index
}
' class='form-control' type='text' name='' value=''>`
}
var
html
=
$
.
common
.
sprintf
(
str
,
index
,
value
);
return
html
;
}
},
{
field
:
'winPrizeNum'
,
align
:
'center'
,
title
:
'已发出'
},
{
field
:
'residue'
,
align
:
'center'
,
title
:
'奖品剩余'
,
formatter
:
function
(
value
,
row
,
index
)
{
if
(
itemId
)
{
return
(
row
.
prizeNum
-
row
.
winPrizeNum
)
||
'0'
}
else
{
return
'0'
}
}
}
]
};
layui
.
use
(
'laydate'
,
function
(){
var
laydate
=
layui
.
laydate
;
//执行一个laydate实例
laydate
.
render
({
elem
:
'#startTime'
,
//指定元素
type
:
'datetime'
});
laydate
.
render
({
elem
:
'#endTime'
,
//指定元素
type
:
'datetime'
});
});
$
(
"#ActivityName"
).
blur
(
function
(
e
)
{
if
(
e
.
target
.
value
.
length
>
20
)
{
activitySize
=
true
;
layer
.
msg
(
'活动名称限制在20个字符以内!'
)
return
}
else
{
activitySize
=
false
;
}
})
$
(
function
()
{
itemId
=
getUrlParms
(
'id'
)
function
getUrlParms
(
name
){
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
);
if
(
r
!=
null
)
return
unescape
(
r
[
2
]);
return
null
;
}
}
if
(
itemId
)
{
.details-pop-inner
{
$
.
ajax
({
width
:
800px
;
type
:
'get'
,
height
:
800px
;
url
:
'/sweet/integralActivity/details'
,
padding
:
10px
;
data
:
{
integralActivityId
:
itemId
},
background
:
#fff
;
success
:
function
(
e
)
{
}
if
(
e
.
code
==
0
)
{
</style>
let
res
=
e
.
data
;
showPicture
=
res
.
activityImg
;
$
(
"#viewImg"
).
attr
(
'src'
,
showPicture
);
$
(
"#integral"
).
val
(
res
.
activityNum
);
$
(
"#activityRule"
).
val
(
res
.
activityRules
);
$
(
"#ActivityName"
).
val
(
res
.
activityTitle
);
// activityType: 1,
courierType
=
res
.
expressFeeType
;
if
(
courierType
==
2
)
{
$
(
"input[name='sex'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
}
integralActivityId
=
res
.
integralActivityId
;
online
=
res
.
isOnline
;
if
(
online
==
2
)
{
$
(
"input[name='online'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
}
// prizeList: data,
timeType
=
res
.
timeType
;
if
(
timeType
==
2
)
{
$
(
"input[name='sendType'][value='2']"
).
attr
(
'checked'
,
true
).
siblings
().
removeAttr
(
'checked'
);
$
(
"#endTime"
).
val
(
$
.
common
.
dateFormat
(
res
.
endTime
,
'yyyy-MM-dd HH:mm:ss'
));
$
(
"#startTime"
).
val
(
$
.
common
.
dateFormat
(
res
.
startTime
,
'yyyy-MM-dd HH:mm:ss'
));
}
else
{
$
(
"#endTime"
).
val
(
""
);
$
(
"#startTime"
).
val
(
""
);
}
data
=
[...
res
.
prizeList
]
options
.
data
=
data
;
setTimeout
(()
=>
{
$
.
table
.
init
(
options
);
},
500
)
}
}
})
}
else
{
let
obj
=
{
prizeTitle
:
""
,
prizeImgInit
:
""
,
prizeImgSelect
:
""
,
winnersNum
:
""
,
winPrizeNum
:
""
,
prizeType
:
""
,
winningProbability
:
""
,
residue
:
""
,
prizeNum
:
""
};
for
(
var
i
=
0
;
i
<
12
;
i
++
)
{
data
.
push
(
obj
)
}
$
.
table
.
init
(
options
);
}
});
$
(
"input[name=sendType]"
).
change
((
e
)
=>
{
timeType
=
e
.
target
.
value
;
if
(
timeType
==
1
)
{
$
(
"#endTime"
).
val
(
""
);
$
(
"#startTime"
).
val
(
""
);
}
})
$
(
"input[name=sex]"
).
change
((
e
)
=>
{
courierType
=
e
.
target
.
value
;
})
$
(
"input[name=online]"
).
change
((
e
)
=>
{
online
=
e
.
target
.
value
;
})
function
upFile
(
e
)
{
showIndex
=
e
;
$
(
"#ceshi"
).
click
();
}
function
upFileSelect
(
e
)
{
showIndex
=
e
;
$
(
"#selectCeshi"
).
click
();
}
$
(
"#ceshi"
).
change
((
e
)
=>
{
if
(
!
e
.
target
.
files
[
0
])
{
return
}
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
e
.
target
.
files
[
0
]);
$
.
ajax
({
url
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
//路径是你控制器中上传图片的方法,下面controller里面我会写到
data
:
formData
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
type
:
'POST'
,
success
:
function
(
res
)
{
$
(
"#showPic"
+
showIndex
).
attr
(
'src'
,
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
)
data
[
showIndex
].
prizeImgInit
=
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
;
$
(
"#ceshi"
).
val
(
""
);
// $summernote.summernote('insertImage', 'https://img.zhengzai.tv/' + data.data.ossPath)
}
});
})
$
(
"#selectCeshi"
).
change
((
e
)
=>
{
if
(
!
e
.
target
.
files
[
0
])
{
return
}
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
e
.
target
.
files
[
0
]);
$
.
ajax
({
url
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
//路径是你控制器中上传图片的方法,下面controller里面我会写到
data
:
formData
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
type
:
'POST'
,
success
:
function
(
res
)
{
$
(
"#showPicSelect"
+
showIndex
).
attr
(
'src'
,
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
)
data
[
showIndex
].
prizeImgInit
=
'https://img.zhengzai.tv/'
+
res
.
data
.
ossPath
;
$
(
"#selectCeshi"
).
val
(
""
);
// $summernote.summernote('insertImage', 'https://img.zhengzai.tv/' + data.data.ossPath)
}
});
})
$
(
"#fileinput"
).
fileinput
({
'theme'
:
'explorer-fas'
,
'uploadUrl'
:
platformUrl
+
"/platform/basicServices/alOss/upload"
,
"uploadExtraData"
:
{
"pathName"
:
"banner"
,
"buckType"
:
1
},
autoReplace
:
true
,
showCaption
:
false
,
showPreview
:
false
,
showRemove
:
false
,
showUpload
:
false
,
showCancel
:
false
,
showClose
:
false
,
autoReplace
:
true
,
dropZoneTitle
:
"请上传文件"
,
maxFileCount
:
1
}).
on
(
"filebatchselected"
,
function
(
event
,
files
)
{
//默认上传
$
(
this
).
fileinput
(
"upload"
);
})
.
on
(
"fileuploaded"
,
function
(
event
,
data
)
{
//上传回调事件
showPicture
=
'https://img.zhengzai.tv/'
+
data
.
response
.
data
.
ossPath
;
$
(
"#viewImg"
).
attr
(
'src'
,
showPicture
)
})
function
create
()
{
if
(
!
$
(
"#ActivityName"
).
val
()
||
!
$
(
"#ActivityType"
).
val
()
||
!
showPicture
||
!
$
(
"#integral"
).
val
()
||
!
$
(
"#activityRule"
).
val
()
||
!
$
(
"#viewImg"
).
attr
(
'src'
))
{
return
layer
.
msg
(
'请将必填信息填写完整!'
)
}
if
(
timeType
==
2
)
{
if
(
!
$
(
"#startTime"
).
val
()
||
!
$
(
"#endTime"
).
val
())
{
return
layer
.
msg
(
'请选择时间!'
)
}
}
else
{
$
(
"#startTime"
).
val
(
""
)
$
(
"#endTime"
).
val
(
""
)
}
if
(
activitySize
)
{
layer
.
msg
(
"活动名称限制在20个字符以内!"
)
return
}
let
flag
=
false
;
data
=
data
.
map
((
item
,
index
)
=>
{
if
(
!
$
(
"#prizeTitle"
+
index
).
val
()
||!
$
(
"#showPic"
+
index
).
attr
(
'src'
)
||!
$
(
"#showPicSelect"
+
index
).
attr
(
'src'
)
||!
$
(
"#winnersNum"
+
index
).
val
()
||!
$
(
"#prizeType"
+
index
).
val
()
||!
$
(
"#winningProbability"
+
index
).
val
()
||!
$
(
"#prizeNum"
+
index
).
val
())
{
flag
=
true
}
else
{
item
.
prizeTitle
=
$
(
"#prizeTitle"
+
index
).
val
();
item
.
prizeImgInit
=
$
(
"#showPic"
+
index
).
attr
(
'src'
);
item
.
prizeImgSelect
=
$
(
"#showPicSelect"
+
index
).
attr
(
'src'
);
item
.
winnersNum
=
$
(
"#winnersNum"
+
index
).
val
();
item
.
prizeType
=
$
(
"#prizeType"
+
index
).
val
();
item
.
winningProbability
=
$
(
"#winningProbability"
+
index
).
val
();
item
.
prizeNum
=
$
(
"#prizeNum"
+
index
).
val
();
}
return
{...
item
};
})
if
(
flag
)
{
return
layer
.
msg
(
'请将表格内容填写完整!'
)
}
let
datas
=
{
activityImg
:
showPicture
,
activityNum
:
$
(
"#integral"
).
val
(),
activityRules
:
$
(
"#activityRule"
).
val
(),
activityTitle
:
$
(
"#ActivityName"
).
val
(),
activityType
:
1
,
expressFeeType
:
courierType
,
integralActivityId
:
itemId
||
''
,
endTime
:
$
.
common
.
dateFormat
(
$
(
"#endTime"
).
val
(),
'yyyy-MM-dd HH:mm:ss'
)
,
//
isOnline
:
online
,
prizeList
:
data
,
startTime
:
$
.
common
.
dateFormat
(
$
(
"#startTime"
).
val
(),
'yyyy-MM-dd HH:mm:ss'
),
timeType
:
timeType
}
let
url
=
'/sweet/integralActivity/create'
;
let
type
=
'post'
;
if
(
itemId
)
{
url
=
'/sweet/integralActivity/update'
type
=
'put'
}
$
.
ajax
({
type
,
url
,
contentType
:
"application/json;charset=UTF-8"
,
data
:
JSON
.
stringify
(
datas
),
success
:
function
(
res
)
{
layer
.
msg
(
''
+
res
);
if
(
res
.
code
!=
undefined
&&
res
.
code
!=
web_status
.
SUCCESS
)
{
$
.
modal
.
alertWarning
(
res
.
msg
);
return
[];
}
else
if
(
res
.
code
==
web_status
.
SUCCESS
)
{
$
.
operate
.
successTabCallback
(
res
);
closeItem
();
}
}
})
}
</script>
</body>
</html>
</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