Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
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
new-sing
admin-base
Commits
4ef0f06b
Commit
4ef0f06b
authored
Nov 09, 2018
by
王
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
build
parent
36a4336d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
10 additions
and
1 deletion
+10
-1
index.html
dist/index.html
+1
-1
app.75d57269e84fd6c8de074950bd7fd8bb.css
dist/static/css/app.75d57269e84fd6c8de074950bd7fd8bb.css
+1
-0
24.e58cf5b3a76b7f028532.js
dist/static/js/24.e58cf5b3a76b7f028532.js
+1
-0
25.3e2ed940bb450a75fcd3.js
dist/static/js/25.3e2ed940bb450a75fcd3.js
+1
-0
26.31e5b79d9cdc577ff9a8.js
dist/static/js/26.31e5b79d9cdc577ff9a8.js
+1
-0
27.628505b886fc7a7bbbe3.js
dist/static/js/27.628505b886fc7a7bbbe3.js
+1
-0
28.34e484c3f40921437cfc.js
dist/static/js/28.34e484c3f40921437cfc.js
+1
-0
29.242f0dd57981cd2b5643.js
dist/static/js/29.242f0dd57981cd2b5643.js
+1
-0
app.28083929113efd116457.js
dist/static/js/app.28083929113efd116457.js
+1
-0
manifest.76c821bdf10a2b53343a.js
dist/static/js/manifest.76c821bdf10a2b53343a.js
+1
-0
No files found.
dist/index.html
View file @
4ef0f06b
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https://at.alicdn.com/t/font_746649_7dsnjecwkpg.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
e5f112483be740e27802de26b2aab4d6.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.09a328b876eb1cbcce31.js
></script><script
type=
text/javascript
src=
/static/js/vendor.f5e9df78bdce3dfee2e1.js
></script><script
type=
text/javascript
src=
/static/js/app.6aca1f8302588a464772
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https://at.alicdn.com/t/font_746649_7dsnjecwkpg.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
75d57269e84fd6c8de074950bd7fd8bb.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.76c821bdf10a2b53343a.js
></script><script
type=
text/javascript
src=
/static/js/vendor.3e7fed473430ef1ee3ac.js
></script><script
type=
text/javascript
src=
/static/js/app.28083929113efd116457
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dist/static/css/app.75d57269e84fd6c8de074950bd7fd8bb.css
0 → 100644
View file @
4ef0f06b
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/24.e58cf5b3a76b7f028532.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
24
],{
"4CHC"
:
function
(
t
,
e
){},
oNqM
:
function
(
t
,
e
){},
oerw
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
i
(
"CCn6"
),
a
=
i
(
"kmJW"
),
n
=
i
(
"C+jy"
),
o
=
i
(
"sf/l"
);
function
l
(
t
,
e
,
i
){
return
e
in
t
?
Object
.
defineProperty
(
t
,
e
,{
value
:
i
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
t
[
e
]
=
i
,
t
}
var
r
=
{
name
:
"index"
,
components
:{
page
:
a
.
a
,
page2
:
a
.
a
,
emotion
:
n
.
a
},
data
:
function
(){
var
t
;
return
l
(
t
=
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
mediaPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
10
},
show
:
!
1
,
loading
:
!
1
,
activeName
:
"text"
,
list
:[],
content
:
""
,
uploadShow
:
!
0
,
imageList
:[],
fileList
:[],
imageContent
:
""
,
videoContent
:
""
,
searchFrom
:{
type
:
1
,
is_test
:
!
1
},
tableData
:[],
fileUid
:
null
,
userDialog
:{
total
:
0
,
limit
:
10
,
nowPage
:
1
,
show
:
!
1
},
userList
:[],
searchUserFrom
:{},
multipleSelection
:[],
showEmotion
:
!
1
,
showMedia
:
!
1
,
mediaList
:[]},
"imageContent"
,
null
),
l
(
t
,
"videoContent"
,
null
),
l
(
t
,
"newsContent"
,
null
),
t
},
filters
:{
typeFilter
:
function
(
t
){
if
(
t
)
return
"text"
===
t
?
"文本"
:
"image"
===
t
?
"图片"
:
"video"
===
t
?
"视频"
:
"news"
===
t
?
"图文"
:
void
0
}},
methods
:{
handleClick
:
function
(
t
){
this
.
activeName
=
t
.
name
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
,
this
.
imageList
=
[],
this
.
imageContent
=
""
},
handleRemoveVideo
:
function
(){
this
.
videoContent
=
""
,
this
.
fileList
=
[]},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleAvatarSuccess
:
function
(
t
){
this
.
imageList
=
[{
name
:
t
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
t
.
data
.
url
}]},
uploadFile
:
function
(
t
){
var
e
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
t
.
file
.
uid
}),
Object
(
s
.
_63
)({
file
:
t
.
file
,
type
:
"wechat"
}).
then
(
function
(
t
){
e
.
imageContent
=
{
content
:
t
.
media_id
,
url
:
t
.
url
},
e
.
imageList
=
[{
name
:
t
.
media_id
,
url
:
t
.
url
}],
e
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
e
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideo
:
function
(
t
){
var
e
=
this
;
Object
(
s
.
_63
)({
file
:
t
.
file
,
type
:
"wechat"
}).
then
(
function
(
i
){
e
.
uploadVideoFile
(
t
,
i
)}).
catch
(
function
(){
e
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideoFile
:
function
(
t
,
e
){
var
i
=
this
;
this
.
fileUid
=
t
.
file
.
uid
,
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
t
.
file
.
uid
}),
Object
(
s
.
_63
)({
file
:
t
.
file
,
type
:
"local"
}).
then
(
function
(
s
){
i
.
videoContent
=
{
content
:
e
.
media_id
,
url
:
"https://cdn.singsingenglish.com/"
+
s
.
url
},
i
.
fileList
=
[{
name
:
s
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
s
.
url
}],
i
.
loading
=!
1
,
i
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
i
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"delete"
,
id
:
t
.
file
.
uid
}),
i
.
fileUid
=
null
}).
catch
(
function
(){
i
.
loading
=!
1
,
i
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
send
:
function
(){
var
t
=
this
,
e
=
{};
if
(
e
.
type
=
this
.
searchFrom
.
type
,
1
===
this
.
searchFrom
.
type
){
if
(
!
(
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
>
0
))
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择时间!"
});
e
.
start_at
=
o
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
0
],
"yyyy-MM-dd hh:mm:ss"
),
e
.
end_at
=
o
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
1
],
"yyyy-MM-dd hh:mm:ss"
)}
if
(
this
.
searchFrom
.
user_ids
){
e
.
user_ids
=
this
.
searchFrom
.
user_ids
;
var
i
=
{};
if
(
i
.
type
=
this
.
activeName
,
"text"
===
this
.
activeName
){
if
(
!
this
.
content
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请输入文本!"
});
i
.
content
=
this
.
content
}
else
if
(
"image"
===
this
.
activeName
){
if
(
!
this
.
imageContent
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请上传图片!"
});
i
.
content
=
this
.
imageContent
.
content
,
i
.
url
=
this
.
imageContent
.
url
}
else
if
(
"video"
===
this
.
activeName
){
if
(
!
this
.
videoContent
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请上传视频!"
});
i
.
content
=
this
.
videoContent
.
content
,
i
.
url
=
this
.
videoContent
.
url
}
else
"news"
===
this
.
activeName
&&
(
this
.
newsContent
&&
this
.
newsContent
.
media_id
?
i
.
content
=
this
.
newsContent
.
media_id
:
this
.
$message
({
type
:
"error"
,
message
:
"请选择图文!"
}));
e
.
content
=
JSON
.
stringify
(
i
),
e
.
is_test
=
this
.
searchFrom
.
is_test
?
2
:
1
,
console
.
log
(
"json"
,
e
),
Object
(
s
.
_54
)(
e
).
then
(
function
(
e
){
t
.
$message
({
message
:
e
,
type
:
"success"
}),
t
.
show
=!
1
,
t
.
clearData
(),
t
.
getMsgList
()})}
else
this
.
$message
({
type
:
"error"
,
message
:
"请加入内部人员!"
})},
clearData
:
function
(){
this
.
content
=
""
,
this
.
videoContent
=
null
,
this
.
imageContent
=
null
,
this
.
newsContent
=
null
,
this
.
activeName
,
this
.
searchFrom
=
{},
this
.
fileList
=
[],
this
.
imageList
=
[]},
getMsgList
:
function
(){
var
t
=
this
,
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
Object
(
s
.
_25
)(
e
).
then
(
function
(
e
){
t
.
tableData
=
e
.
list
,
t
.
total
=
e
.
total
})},
onMediaPageChange
:
function
(
t
){
this
.
mediaPage
.
nowPage
=
t
,
this
.
getMediaList
()},
onMediaSizeChange
:
function
(){
this
.
mediaPage
.
nowPage
=
1
,
this
.
mediaPage
.
limit
=
val
,
this
.
getMediaList
()},
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getMsgList
()},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getMsgList
()},
getMsgResult
:
function
(
t
){
var
e
=
this
;
if
(
t
){
var
i
=
{
only_text
:
1
,
send_id
:
t
};
Object
(
s
.
_25
)(
i
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
getMsgList
()})}},
getUser
:
function
(){
var
t
=
this
,
e
=
{
page
:
this
.
userDialog
.
nowPage
,
limit
:
this
.
userDialog
.
limit
};
this
.
searchUserFrom
.
userId
&&
(
e
.
user_id
=
this
.
searchUserFrom
.
userId
),
this
.
searchUserFrom
.
nickName
&&
(
e
.
nickname
=
this
.
searchUserFrom
.
nickName
),
this
.
searchUserFrom
.
mobile
&&
(
e
.
mobile
=
this
.
searchUserFrom
.
mobile
),
Object
(
s
.
_41
)(
e
).
then
(
function
(
e
){
t
.
userList
=
e
.
list
,
t
.
userDialog
.
total
=
e
.
total
})},
onUserPageChange
:
function
(
t
){
this
.
userDialog
.
nowPage
=
t
,
this
.
getUser
()},
handleSelectionChange
:
function
(
t
){
this
.
multipleSelection
=
t
},
onSelectUser
:
function
(){
this
.
userDialog
.
show
=!
0
,
this
.
searchFrom
.
user_ids
?
this
.
multipleSelection
=
this
.
searchFrom
.
user_ids
.
split
(
","
):
this
.
multipleSelection
=
[],
this
.
getUser
()},
onConfirm
:
function
(){
var
t
=
this
.
multipleSelection
;
if
(
0
===
t
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
else
{
var
e
=
[];
t
.
forEach
(
function
(
t
){
e
.
push
(
t
.
user_id
)});
var
i
=
e
;
this
.
searchFrom
.
user_ids
&&
(
i
=
e
.
concat
(
this
.
stringToInt
(
this
.
searchFrom
.
user_ids
.
split
(
","
))));
var
s
=
this
.
dedupe
(
i
);
this
.
searchFrom
.
user_ids
=
s
.
join
(
","
),
this
.
userDialog
.
show
=!
1
}},
dedupe
:
function
(
t
){
return
Array
.
from
(
new
Set
(
t
))},
stringToInt
:
function
(
t
){
var
e
=
t
||
[];
return
e
=
e
.
map
(
function
(
t
){
return
parseInt
(
t
,
10
)})},
emotion
:
function
(
t
){
var
e
=
t
.
replace
(
/
\/
/gi
,
""
);
return
'<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/'
+
[
"微笑"
,
"撇嘴"
,
"色"
,
"发呆"
,
"得意"
,
"流泪"
,
"害羞"
,
"闭嘴"
,
"睡"
,
"大哭"
,
"尴尬"
,
"发怒"
,
"调皮"
,
"呲牙"
,
"惊讶"
,
"难过"
,
"酷"
,
"冷汗"
,
"抓狂"
,
"吐"
,
"偷笑"
,
"可爱"
,
"白眼"
,
"傲慢"
,
"饥饿"
,
"困"
,
"惊恐"
,
"流汗"
,
"憨笑"
,
"大兵"
,
"奋斗"
,
"咒骂"
,
"疑问"
,
"嘘"
,
"晕"
,
"折磨"
,
"衰"
,
"骷髅"
,
"敲打"
,
"再见"
,
"擦汗"
,
"抠鼻"
,
"鼓掌"
,
"糗大了"
,
"坏笑"
,
"左哼哼"
,
"右哼哼"
,
"哈欠"
,
"鄙视"
,
"委屈"
,
"快哭了"
,
"阴险"
,
"亲亲"
,
"吓"
,
"可怜"
,
"菜刀"
,
"西瓜"
,
"啤酒"
,
"篮球"
,
"乒乓"
,
"咖啡"
,
"饭"
,
"猪头"
,
"玫瑰"
,
"凋谢"
,
"示爱"
,
"爱心"
,
"心碎"
,
"蛋糕"
,
"闪电"
,
"炸弹"
,
"刀"
,
"足球"
,
"瓢虫"
,
"便便"
,
"月亮"
,
"太阳"
,
"礼物"
,
"拥抱"
,
"强"
,
"弱"
,
"握手"
,
"胜利"
,
"抱拳"
,
"勾引"
,
"拳头"
,
"差劲"
,
"爱你"
,
"NO"
,
"OK"
,
"爱情"
,
"飞吻"
,
"跳跳"
,
"发抖"
,
"怄火"
,
"转圈"
,
"磕头"
,
"回头"
,
"跳绳"
,
"挥手"
,
"激动"
,
"街舞"
,
"献吻"
,
"左太极"
,
"右太极"
].
indexOf
(
e
)
+
'.gif" align="middle">'
},
handleEmotion
:
function
(
t
){
this
.
content
+=
t
},
onChooseMedia
:
function
(
t
){
"image"
===
this
.
type
?
this
.
imageContent
=
t
:
"video"
===
this
.
type
?
this
.
videoContent
=
t
:
"news"
===
this
.
type
&&
(
this
.
newsContent
=
t
),
this
.
showMedia
=!
1
},
getMediaList
:
function
(){
var
t
=
this
,
e
=
this
.
activeName
,
i
=
{
type
:
e
,
page
:
this
.
mediaPage
.
nowPage
,
limit
:
this
.
mediaPage
.
limit
};
this
.
loading
=!
0
,
this
.
showMedia
=!
0
,
Object
(
s
.
_23
)(
i
).
then
(
function
(
i
){
t
.
loading
=!
1
,
t
.
type
=
e
,
t
.
mediaList
=
i
.
item
,
t
.
mediaPage
.
total
=
i
.
total_count
,
0
===
t
.
total
&&
t
.
$message
({
showClose
:
!
0
,
message
:
"暂无数据"
})}).
catch
(
function
(){
t
.
loading
=!
1
})}},
mounted
:
function
(){
this
.
getMsgList
()},
computed
:{
progress
:
function
(){
var
t
=
this
;
return
this
.
$store
.
state
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
t
.
fileUid
}).
num
<
100
?
this
.
$store
.
state
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
t
.
fileUid
}).
num
:
100
}}},
c
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
staticClass
:
"index"
},[
i
(
"div"
,{
staticClass
:
"b-title"
},[
t
.
_v
(
"群发列表 "
),
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
"margin-bottom"
:
"10px"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
e
){
t
.
show
=!
0
}}},[
t
.
_v
(
"新建群发消息"
)])],
1
),
t
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
tableData
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"el-table"
,{
attrs
:{
border
:
!
1
,
data
:[
JSON
.
parse
(
e
.
row
.
content
)]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"类型"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"typeFilter"
)(
e
.
row
.
type
))
+
"
\n
"
)]}}])}),
t
.
_v
(
" "
),
"text"
!==
JSON
.
parse
(
e
.
row
.
content
).
type
?
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"media_id"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
content
)
+
"
\n
"
)]}}])}):
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"内容"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
"text"
===
e
.
row
.
type
?
i
(
"div"
,[
i
(
"span"
,{
domProps
:{
innerHTML
:
t
.
_s
(
e
.
row
.
content
.
replace
(
/
\/[\u
4E00-
\u
9FA5
]{1,3}
/gi
,
t
.
emotion
))}})]):
"image"
===
e
.
row
.
type
?
i
(
"div"
,[
i
(
"img"
,{
staticStyle
:{
width
:
"80px"
},
attrs
:{
src
:
e
.
row
.
url
}})]):
"video"
===
e
.
row
.
type
?
i
(
"div"
,[
i
(
"a"
,{
attrs
:{
href
:
e
.
row
.
url
,
target
:
"_blank"
}},[
t
.
_v
(
"点击查看视频"
)])]):
t
.
_e
()]}}])})],
1
)]}}])}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_id"
,
label
:
"消息ID"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_num"
,
label
:
"预计发送"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"arrive_num"
,
label
:
"已发送"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"failed_num"
,
label
:
"发送失败"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"start_at"
,
label
:
"开始时间"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"end_at"
,
label
:
"截止时间"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"发送时间"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
"min-width"
:
"100"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"el-button"
,{
attrs
:{
type
:
"text"
,
plain
:
""
,
size
:
"mini"
},
on
:{
click
:
function
(
i
){
t
.
getMsgResult
(
e
.
row
.
send_id
)}}},[
t
.
_v
(
"
\n
查询及时结果
\n
"
)])]}}])})],
1
),
t
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
t
.
total
,
limit
:
t
.
limit
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}}),
t
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
title
:
"新建群发消息"
,
visible
:
t
.
show
},
on
:{
"update:visible"
:
function
(
e
){
t
.
show
=
e
}}},[
i
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"150px"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"是否发送筛选用户"
}},[
i
(
"el-switch"
,{
attrs
:{
"active-color"
:
"#13ce66"
,
"inactive-color"
:
"#ff4949"
},
model
:{
value
:
t
.
searchFrom
.
is_test
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"is_test"
,
e
)},
expression
:
"searchFrom.is_test"
}})],
1
),
t
.
_v
(
" "
),
1
===
t
.
searchFrom
.
type
?
i
(
"el-form-item"
,{
attrs
:{
label
:
"时间"
}},[
i
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
model
:{
value
:
t
.
searchFrom
.
time
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"time"
,
e
)},
expression
:
"searchFrom.time"
}})],
1
):
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"类型"
}},[
i
(
"el-radio-group"
,{
model
:{
value
:
t
.
searchFrom
.
type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"type"
,
e
)},
expression
:
"searchFrom.type"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
t
.
_v
(
"48时内关注但未购课用户"
)]),
t
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
t
.
_v
(
"有体验课但没有正式课用户"
)]),
t
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
t
.
_v
(
"未购正课用户"
)])],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
16
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
searchFrom
.
user_ids
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"user_ids"
,
e
)},
expression
:
"searchFrom.user_ids"
}})],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
8
}},[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
onSelectUser
}},[
t
.
_v
(
"选择用户"
)])],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-tabs"
,{
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
handleClick
},
model
:{
value
:
t
.
activeName
,
callback
:
function
(
e
){
t
.
activeName
=
e
},
expression
:
"activeName"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"文本"
,
name
:
"text"
}},[
i
(
"div"
,{
staticClass
:
"inner-edit_area"
},[
i
(
"el-input"
,{
attrs
:{
type
:
"textarea"
,
autosize
:{
minRows
:
4
,
maxRows
:
8
},
placeholder
:
"请输入内容"
},
model
:{
value
:
t
.
content
,
callback
:
function
(
e
){
t
.
content
=
e
},
expression
:
"content"
}})],
1
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
float
:
"right"
}},[
i
(
"el-popover"
,{
attrs
:{
placement
:
"bottom-end"
,
width
:
"400"
,
offset
:
10
,
trigger
:
"manual"
},
model
:{
value
:
t
.
showEmotion
,
callback
:
function
(
e
){
t
.
showEmotion
=
e
},
expression
:
"showEmotion"
}},[
i
(
"div"
,[
i
(
"emotion"
,{
attrs
:{
height
:
200
},
on
:{
emotion
:
t
.
handleEmotion
}})],
1
),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
type
:
"text"
},
on
:{
click
:
function
(
e
){
t
.
showEmotion
=!
t
.
showEmotion
}},
slot
:
"reference"
},[
i
(
"span"
,{
staticClass
:
"icon_emotion emotion_switch"
})])],
1
)],
1
)]),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图片"
,
name
:
"image"
}},[
i
(
"div"
,{
staticClass
:
"inner-edit_area"
},[
i
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
t
.
uploadFile
,
"before-upload"
:
t
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
t
.
imageList
,
"on-success"
:
t
.
handleAvatarSuccess
,
"on-remove"
:
t
.
handleRemove
,
limit
:
1
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
)]),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"视频"
,
name
:
"video"
}},[
i
(
"el-upload"
,{
staticClass
:
"upload-video"
,
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
t
.
uploadVideo
,
"file-list"
:
t
.
fileList
,
"on-remove"
:
t
.
handleRemoveVideo
,
limit
:
1
}},[
i
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"primary"
,
disabled
:
t
.
fileUid
&&
t
.
progress
<
99
}},[
t
.
_v
(
"点击上传"
)]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
width
:
"300px"
}},[
t
.
fileUid
?
i
(
"el-progress"
,{
attrs
:{
percentage
:
t
.
progress
}}):
t
.
_e
()],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图文"
,
name
:
"news"
}},[
t
.
newsContent
&&
t
.
newsContent
.
content
&&
t
.
newsContent
.
content
.
news_item
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
}},[
i
(
"el-card"
,{
attrs
:{
"body-style"
:{
padding
:
"0px"
}}},
t
.
_l
(
t
.
newsContent
.
content
.
news_item
,
function
(
e
,
s
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
t
.
newsContent
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
t
.
_v
(
t
.
_s
(
e
.
title
))]),
t
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
e
.
thumb_url
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
t
.
_v
(
t
.
_s
(
e
.
digest
))]),
t
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
e
.
url
,
target
:
"_blank"
}},[
t
.
_v
(
"
\n
预览文章
\n
"
)])]):
t
.
newsContent
.
content
.
news_item
.
length
>
1
?
i
(
"div"
,{
staticClass
:
"clear-both bottomCover"
,
staticStyle
:{
position
:
"relative"
}},[
0
===
s
?
i
(
"div"
,{
staticClass
:
"muti-cover"
},[
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
e
.
thumb_url
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
t
.
_v
(
t
.
_s
(
e
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
t
.
_v
(
t
.
_s
(
e
.
title
))]),
t
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
e
.
thumb_url
}})]),
t
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
e
.
url
,
target
:
"_blank"
}},[
t
.
_v
(
"
\n
预览文章
\n
"
)])]):
t
.
_e
()])}))],
1
),
t
.
_v
(
" "
),
i
(
"i"
,{
staticClass
:
"el-icon-delete"
,
staticStyle
:{
display
:
"inline-block"
},
on
:{
click
:
function
(
e
){
t
.
newsContent
=
""
}}})]):
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
e
){
t
.
getMediaList
()}}},[
t
.
_v
(
"+从素材库中选择"
)])]),
t
.
_v
(
" "
),
t
.
showMedia
&&
t
.
mediaList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
mediaList
},
on
:{
"row-click"
:
t
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
e
.
row
.
content
&&
e
.
row
.
content
.
news_item
?
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
,
width
:
"200px"
}},
t
.
_l
(
e
.
row
.
content
.
news_item
,
function
(
s
,
a
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
e
.
row
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
t
.
_v
(
t
.
_s
(
s
.
title
))]),
t
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
s
.
thumb_url
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
t
.
_v
(
t
.
_s
(
s
.
digest
))]),
t
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
s
.
url
,
target
:
"_blank"
}},[
t
.
_v
(
"
\n
预览文章
\n
"
)])]):
e
.
row
.
content
.
news_item
.
length
>
1
?
i
(
"div"
,{
staticClass
:
"clear-both bottomCover"
,
staticStyle
:{
position
:
"relative"
}},[
0
===
a
?
i
(
"div"
,{
staticClass
:
"muti-cover"
},[
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
s
.
thumb_url
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
t
.
_v
(
t
.
_s
(
s
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
t
.
_v
(
t
.
_s
(
s
.
title
))]),
t
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
s
.
thumb_url
}})]),
t
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
s
.
url
,
target
:
"_blank"
}},[
t
.
_v
(
"
\n
预览文章
\n
"
)])]):
t
.
_e
()])})):
t
.
_e
()]}}])})],
1
),
t
.
_v
(
" "
),
i
(
"page2"
,{
attrs
:{
total
:
t
.
total
,
limit
:
t
.
mediaPage
.
limit
},
on
:{
pageChange
:
t
.
onMediaPageChange
,
sizeChange
:
t
.
onMediaSizeChange
},
model
:{
value
:
t
.
mediaPage
.
nowPage
,
callback
:
function
(
e
){
t
.
$set
(
t
.
mediaPage
,
"nowPage"
,
e
)},
expression
:
"mediaPage.nowPage"
}})],
1
):
t
.
_e
()])],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
e
){
t
.
send
()}}},[
t
.
_v
(
"确 定"
)])],
1
),
t
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
t
.
userDialog
.
show
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
e
){
t
.
$set
(
t
.
userDialog
,
"show"
,
e
)}}},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
}},[
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
8
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
searchUserFrom
.
userId
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchUserFrom
,
"userId"
,
e
)},
expression
:
"searchUserFrom.userId"
}})],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
8
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
searchUserFrom
.
nickName
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchUserFrom
,
"nickName"
,
e
)},
expression
:
"searchUserFrom.nickName"
}})],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
8
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"电话"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
searchUserFrom
.
mobile
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchUserFrom
,
"mobile"
,
e
)},
expression
:
"searchUserFrom.mobile"
}})],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
8
,
offset
:
16
}},[
i
(
"el-form-item"
,[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
t
.
getUser
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
userList
},
on
:{
"selection-change"
:
t
.
handleSelectionChange
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
e
.
row
.
avatar
}}),
t
.
_v
(
t
.
_s
(
e
.
row
.
nickname
)
+
"(ID:"
+
t
.
_s
(
e
.
row
.
user_id
)
+
")
\n
"
)]}}])}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}})],
1
),
t
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
t
.
userDialog
.
total
,
limit
:
t
.
userDialog
.
limit
},
on
:{
pageChange
:
t
.
onUserPageChange
,
sizeChange
:
t
.
onSizeChange
}}),
t
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
e
){
t
.
userDialog
.
show
=!
1
}}},[
t
.
_v
(
"取 消"
)]),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
onConfirm
}},[
t
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
m
=
i
(
"VU/8"
)(
r
,
c
,
!
1
,
function
(
t
){
i
(
"oNqM"
),
i
(
"4CHC"
)},
"data-v-3e078dee"
,
null
);
e
.
default
=
m
.
exports
}});
\ No newline at end of file
dist/static/js/25.3e2ed940bb450a75fcd3.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
25
],{
"1djJ"
:
function
(
e
,
t
,
o
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
o
(
"CCn6"
),
i
=
o
(
"+TkF"
),
l
=
o
(
"kmJW"
),
r
=
{
name
:
"dialogObj"
,
props
:[
"dialogObj"
],
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
i
.
e
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
}},
data
:
function
(){
return
{
loading
:
!
0
,
goodsYou
:[],
goodsList
:[],
form
:{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
imgLesson
:[],
img
:[]},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
duration_num
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
img
:[],
refImg
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
after_goods_id
:
""
,
before_goods_id
:
""
}},
lessonList
:[],
goOn_goods_Id
:{
after_goods_id
:
""
,
before_goods_id
:
""
}}},
methods
:{
sub
:
function
(){
var
e
=
this
,
t
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
)
+
""
);
switch
(
3
!==
t
.
goods_type
&&
4
!==
t
.
goods_type
||
(
t
.
course_id
=
0
,
t
.
watch_num
=
0
),
t
.
desc
.
before_goods_id
=
this
.
goOn_goods_Id
.
before_goods_id
,
this
.
goodsYou
.
length
<
1
?
t
.
desc
.
use_goods_ids
=
""
:
t
.
desc
.
use_goods_ids
=
this
.
goodsYou
.
toString
(),
t
.
desc
.
after_goods_id
=
this
.
goOn_goods_Id
.
after_goods_id
,
t
.
original_price
=
(
100
*
t
.
original_price
).
toFixed
(
0
),
t
.
current_price
=
(
100
*
t
.
current_price
).
toFixed
(
0
),
t
.
invite_earnings
=
(
100
*
t
.
invite_earnings
).
toFixed
(
0
),
t
.
goods_desc
=
JSON
.
stringify
(
t
.
goods_desc
),
t
.
desc
=
JSON
.
stringify
(
t
.
desc
),
t
.
share_desc
=
JSON
.
stringify
(
t
.
share_desc
),
this
.
dialogObj
.
type
){
case
1
:
Object
(
s
.
R
)(
this
.
dialogObj
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
dialogObj
.
show
=!
1
});
break
;
case
0
:
Object
(
s
.
i
)(
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
dialogObj
.
show
=!
1
})}},
removeFileMain
:
function
(
e
){
var
t
=
this
.
form
.
goods_desc
.
img
.
findIndex
(
function
(
t
){
return
t
.
name
===
e
.
name
});
this
.
form
.
goods_desc
.
img
.
splice
(
t
,
1
)},
uploadFileLesson
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
form
.
goods_desc
.
imgLesson
=
[{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}],
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
})})},
removeFileLesson
:
function
(){
this
.
form
.
goods_desc
.
imgLesson
=
[]},
uploadFileMain
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
form
.
goods_desc
.
img
.
push
({
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}),
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
})})},
removeFileShareRef
:
function
(){
this
.
form
.
share_desc
.
refImg
=
[]},
uploadFileMainShareRef
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
refImg
?
t
.
form
.
share_desc
.
refImg
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
refImg
=
[],
t
.
form
.
share_desc
.
refImg
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
uploadFileMainShare
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
img
?
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
img
=
[],
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
uploadFileMainService
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
desc
.
customer_service
?
t
.
form
.
desc
.
customer_service
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
desc
.
customer_service
=
[],
t
.
form
.
desc
.
customer_service
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
uploadFileShare
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_63
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
img
?
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
img
=
[],
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
initDialog
:
function
(){
var
e
=
this
;
switch
(
Object
(
s
.
_20
)({
limit
:
9999
}).
then
(
function
(
t
){
e
.
goodsList
=
t
.
list
}),
this
.
dialogObj
.
type
){
case
0
:
this
.
loading
=!
1
,
this
.
goOn_goods_Id
.
after_goods_id
=
""
,
this
.
goodsYou
=
[],
this
.
goOn_goods_Id
.
before_goods_id
=
""
,
this
.
form
=
{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
img
:[]},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
duration_num
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
refImg
:[],
img
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
before_goods_id
:
0
,
after_goods_id
:
0
}},
this
.
getLessonList
();
break
;
case
1
:
case
2
:
this
.
goOn_goods_Id
.
after_goods_id
=
""
,
this
.
goOn_goods_Id
.
before_goods_id
=
""
,
this
.
goodsYou
=
[],
this
.
form
=
{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
img
:[]},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
duration_num
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
refImg
:[],
img
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
before_goods_id
:
0
,
after_goods_id
:
0
}},
Object
(
s
.
_19
)(
this
.
dialogObj
.
id
).
then
(
function
(
t
){
e
.
loading
=!
1
;
var
o
=
JSON
.
parse
(
t
.
share_desc
);
o
.
refImg
||
(
o
.
refImg
=
[]),
e
.
form
=
{
name
:
t
.
name
,
goods_type
:
t
.
goods_type
,
goods_desc
:
JSON
.
parse
(
t
.
goods_desc
),
course_id
:
t
.
course_id
,
course_type
:
t
.
course_type
,
watch_num
:
t
.
watch_num
,
duration_num
:
t
.
duration_num
,
original_price
:
t
.
original_price
/
100
,
current_price
:
t
.
current_price
/
100
,
is_real
:
t
.
is_real
,
is_auth_user
:
t
.
is_auth_user
,
share_desc
:
JSON
.
parse
(
t
.
share_desc
),
desc
:
JSON
.
parse
(
t
.
desc
),
invite_earnings
:
t
.
invite_earnings
/
100
,
is_auth_teacher
:
t
.
is_auth_teacher
},
e
.
form
.
desc
.
before_goods_id
&&
(
e
.
goOn_goods_Id
.
before_goods_id
=
e
.
form
.
desc
.
before_goods_id
),
e
.
form
.
desc
.
after_goods_id
&&
(
e
.
goOn_goods_Id
.
after_goods_id
=
e
.
form
.
desc
.
after_goods_id
),
e
.
form
.
desc
.
use_goods_ids
&&
(
e
.
goodsYou
=
e
.
form
.
desc
.
use_goods_ids
.
split
(
","
),
e
.
goodsYou
=
e
.
goodsYou
.
map
(
function
(
e
){
return
+
e
})),
e
.
getLessonList
()});
break
;
case
3
:
this
.
title
=
"编辑"
,
this
.
show
=
this
.
dialogObj
.
show
,
this
.
id
=
this
.
dialogObj
.
id
,
this
.
type
=
2
}},
changeLessonType
:
function
(){
this
.
getLessonList
()},
getLessonList
:
function
(){
var
e
=
this
;
Object
(
s
.
_21
)({
type
:
this
.
form
.
course_type
}).
then
(
function
(
t
){
e
.
lessonList
=
t
.
list
})}},
watch
:{
dialogObj
:{
handler
:
function
(){
this
.
loading
=!
0
,
this
.
initDialog
()},
deep
:
!
0
},
show
:
function
(
e
){
this
.
$emit
(
"changeShow"
,
e
)}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
dialogObj
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialogObj
,
"show"
,
t
)}}},[
o
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
e
.
loading
,
expression
:
"loading"
}]},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
"label-width"
:
"100px"
,
disabled
:
2
===
e
.
dialogObj
.
type
}},[
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"name"
,
t
)},
expression
:
"form.name"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品描述"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
goods_desc
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"desc"
,
t
)},
expression
:
"form.goods_desc.desc"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品类型"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
goods_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"goods_type"
,
t
)},
expression
:
"form.goods_type"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"普通商品"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"团购商品"
,
value
:
2
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"续课商品"
,
value
:
3
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"优惠券商品"
,
value
:
4
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
4
===
e
.
form
.
goods_type
?
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"可用商品"
}},[
o
(
"el-select"
,{
attrs
:{
multiple
:
""
,
placeholder
:
"全部"
},
model
:{
value
:
e
.
goodsYou
,
callback
:
function
(
t
){
e
.
goodsYou
=
t
},
expression
:
"goodsYou"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
3
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"续课已购商品"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
goOn_goods_Id
.
before_goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goOn_goods_Id
,
"before_goods_id"
,
t
)},
expression
:
"goOn_goods_Id.before_goods_id"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"续购商品"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
goOn_goods_Id
.
after_goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goOn_goods_Id
,
"after_goods_id"
,
t
)},
expression
:
"goOn_goods_Id.after_goods_id"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程类型"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
function
(
t
){
e
.
changeLessonType
()}},
model
:{
value
:
e
.
form
.
course_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"course_type"
,
t
)},
expression
:
"form.course_type"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"日课"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"月课"
,
value
:
0
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
course_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"course_id"
,
t
)},
expression
:
"form.course_id"
}},
e
.
_l
(
e
.
lessonList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"观看时长(节)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"课时数"
},
model
:{
value
:
e
.
form
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"watch_num"
,
t
)},
expression
:
"form.watch_num"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"续看时长(天)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"看课天数"
},
model
:{
value
:
e
.
form
.
duration_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"duration_num"
,
t
)},
expression
:
"form.duration_num"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程封面(750*600)"
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFileLesson
,
"on-remove"
:
e
.
removeFileLesson
,
limit
:
1
,
"file-list"
:
e
.
form
.
goods_desc
.
imgLesson
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"主图(750*600)"
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFileMain
,
"on-remove"
:
e
.
removeFileMain
,
"file-list"
:
e
.
form
.
goods_desc
.
img
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"客服(200*200)"
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
class
:
e
.
form
.
desc
.
customer_service
&&
e
.
form
.
desc
.
customer_service
.
length
>
0
?
"uploadService"
:
""
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"http-request"
:
e
.
uploadFileMainService
,
"file-list"
:
e
.
form
.
desc
.
customer_service
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"推荐奖金(元)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"推荐奖金"
},
model
:{
value
:
e
.
form
.
invite_earnings
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"invite_earnings"
,
t
)},
expression
:
"form.invite_earnings"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否配置实物"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_real
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_real"
,
t
)},
expression
:
"form.is_real"
}}),
e
.
_v
(
" "
),
o
(
"span"
,{
staticStyle
:{
"font-size"
:
"12px"
}},[
e
.
_v
(
"打开后提示用户填写具体住址"
)])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否允许用户推广"
,
"label-width"
:
"200"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_auth_user
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_auth_user"
,
t
)},
expression
:
"form.is_auth_user"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否允许老师推广"
,
"label-width"
:
"200"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_auth_teacher
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_auth_teacher"
,
t
)},
expression
:
"form.is_auth_teacher"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
1
===
e
.
form
.
goods_type
||
3
===
e
.
form
.
goods_type
?
"原价(元)"
:
4
===
e
.
form
.
goods_type
?
"抵扣价格(元)"
:
"单买价格(元)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"原价"
},
model
:{
value
:
e
.
form
.
original_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"original_price"
,
t
)},
expression
:
"form.original_price"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
1
===
e
.
form
.
goods_type
||
3
===
e
.
form
.
goods_type
?
"现价(元)"
:
4
===
e
.
form
.
goods_type
?
"购买价格(元)"
:
"拼团价格(元)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"现价"
},
model
:{
value
:
e
.
form
.
current_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"current_price"
,
t
)},
expression
:
"form.current_price"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
2
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"成团人数(人)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"成团人数"
},
model
:{
value
:
e
.
form
.
desc
.
group_number
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"group_number"
,
t
)},
expression
:
"form.desc.group_number"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"团购失效时间(小时)"
,
"label-width"
:
"136"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"团购失效时间"
},
model
:{
value
:
e
.
form
.
desc
.
group_continue
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"group_continue"
,
t
)},
expression
:
"form.desc.group_continue"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享标题"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
share_desc
.
title
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
share_desc
,
"title"
,
t
)},
expression
:
"form.share_desc.title"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享内容"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
share_desc
.
content
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
share_desc
,
"content"
,
t
)},
expression
:
"form.share_desc.content"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享主图(300*300)"
}},[
o
(
"el-upload"
,{
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"file-list"
:
e
.
form
.
share_desc
.
img
,
"http-request"
:
e
.
uploadFileMainShare
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享海报"
}},[
o
(
"el-upload"
,{
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"file-list"
:
e
.
form
.
share_desc
.
refImg
,
"http-request"
:
e
.
uploadFileMainShareRef
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
24
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品详情"
}},[
o
(
"el-input"
,{
attrs
:{
type
:
"textarea"
,
rows
:
25
},
model
:{
value
:
e
.
form
.
desc
.
detail
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"detail"
,
t
)},
expression
:
"form.desc.detail"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
24
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"购买须知"
}},[
o
(
"el-input"
,{
attrs
:{
type
:
"textarea"
,
rows
:
25
},
model
:{
value
:
e
.
form
.
desc
.
qa
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"qa"
,
t
)},
expression
:
"form.desc.qa"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
2
!==
e
.
dialogObj
.
type
?
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogObj
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sub
}},[
e
.
_v
(
"确 定"
)])],
1
):
e
.
_e
()],
1
)])},
staticRenderFns
:[]};
var
n
=
o
(
"VU/8"
)(
r
,
a
,
!
1
,
function
(
e
){
o
(
"taoj"
)},
"data-v-3037477c"
,
null
).
exports
,
c
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
name
:
""
,
goods_type
:
""
,
status
:
""
,
course_id
:
""
},
userList
:[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
chooseDialog
:{
show
:
!
1
,
title
:
""
,
id
:
""
,
form
:{
value
:
""
,
list
:[]},
type
:
0
},
dialogObj
:{
type
:
0
,
show
:
!
1
,
title
:
""
,
id
:
""
},
classList
:[]}},
components
:{
page
:
l
.
a
,
dialogCom
:
n
},
filters
:{
isOrNot
:
function
(
e
){
return
i
.
h
[
e
]},
goodsType
:
function
(
e
){
return
i
.
e
[
e
]},
lessonType
:
function
(
e
){
return
i
.
i
[
e
]},
goodsStatus
:
function
(
e
){
return
i
.
d
[
e
]}},
mounted
:
function
(){
this
.
getUser
(),
this
.
getClassList
()},
methods
:{
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getUser
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getUser
()},
copyShop
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将复制该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
t
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"复制成功!"
})}),
t
.
getUser
()})},
copyUrl
:
function
(
e
){
var
t
=
"https://wechat.changchangenglish.com/#/buyDetail?shopId="
+
e
,
o
=
document
.
createElement
(
"input"
);
o
.
value
=
t
,
document
.
body
.
appendChild
(
o
),
o
.
select
(),
document
.
execCommand
(
"Copy"
),
this
.
$message
({
message
:
"已成功复制到剪切板"
,
type
:
"success"
}),
o
.
remove
()},
dialogSub
:
function
(){
var
e
=
this
;
switch
(
this
.
chooseDialog
.
type
){
case
0
:
Object
(
s
.
p
)(
this
.
chooseDialog
.
id
,
this
.
chooseDialog
.
form
.
value
).
then
(
function
(
t
){
e
.
$message
({
message
:
"绑定成功"
,
type
:
"success"
}),
e
.
chooseDialog
.
show
=!
1
}),
this
.
getUser
();
break
;
case
1
:
var
t
=
{
conflict_goods_ids
:
this
.
chooseDialog
.
form
.
list
.
toString
()};
Object
(
s
.
s
)(
this
.
chooseDialog
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
"设置成功"
,
type
:
"success"
}),
e
.
chooseDialog
.
show
=!
1
,
e
.
getUser
()})}},
getUser
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
name
&&
(
t
.
name
=
this
.
searchFrom
.
name
),
this
.
searchFrom
.
goods_type
&&
(
t
.
goods_type
=
this
.
searchFrom
.
goods_type
),
this
.
searchFrom
.
course_id
&&
(
t
.
course_id
=
this
.
searchFrom
.
course_id
),
this
.
searchFrom
.
status
&&
(
t
.
status
=
this
.
searchFrom
.
status
),
this
.
searchFrom
.
current_price
&&
(
t
.
current_price
=
100
*
this
.
searchFrom
.
current_price
),
Object
(
s
.
_20
)(
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
""
===
e
.
conflict_goods_ids
?
e
.
conflict_goods_ids
=
[]:
e
.
conflict_goods_ids
=
e
.
conflict_goods_ids
.
split
(
","
)}),
e
.
userList
=
t
.
list
,
e
.
total
=
t
.
total
})},
edit
:
function
(
e
){
this
.
dialogObj
=
{
type
:
1
,
title
:
"编辑商品"
,
show
:
!
0
,
id
:
e
.
id
}},
add
:
function
(){
this
.
dialogObj
=
{
type
:
0
,
title
:
"添加商品"
,
show
:
!
0
}},
detail
:
function
(
e
){
this
.
dialogObj
.
id
=
e
.
id
,
this
.
dialogObj
.
type
=
2
,
this
.
dialogObj
.
title
=
"查看商品"
,
this
.
dialogObj
.
show
=!
0
},
onDel
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
I
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
})}),
t
.
getUser
()})},
onUp
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将上架该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
_56
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"操作成功!"
}),
t
.
getUser
()})})},
onDown
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将下架该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
K
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"操作成功!"
}),
t
.
getUser
()})})},
changeShow
:
function
(
e
){
this
.
dialogObj
.
show
=
e
},
bindOther
:
function
(
e
){
this
.
chooseDialog
=
{
show
:
!
0
,
title
:
"绑定商品"
,
id
:
e
.
id
,
form
:{
value
:
""
,
list
:[]},
type
:
0
}},
conflict
:
function
(
e
){
this
.
chooseDialog
=
{
show
:
!
0
,
title
:
"冲突商品"
,
id
:
e
.
id
,
form
:{
value
:
""
,
list
:
e
.
conflict_goods_ids
},
type
:
1
}},
getClassList
:
function
(){
var
e
=
this
;
Object
(
s
.
_21
)({
limit
:
2
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
classList
=
t
.
list
})}}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"user"
},[
o
(
"el-form"
,{
ref
:
"searchFrom"
,
staticClass
:
"search-form"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"name"
,
t
)},
expression
:
"searchFrom.name"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品类型"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
e
.
getUser
},
model
:{
value
:
e
.
searchFrom
.
goods_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_type"
,
t
)},
expression
:
"searchFrom.goods_type"
}},[
o
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"普通商品"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"团购商品"
,
value
:
2
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"续课商品"
,
value
:
3
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"优惠券商品"
,
value
:
4
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
e
.
getUser
},
model
:{
value
:
e
.
searchFrom
.
course_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"course_id"
,
t
)},
expression
:
"searchFrom.course_id"
}},[
o
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
classList
,
function
(
e
,
t
){
return
o
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品状态"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
e
.
getUser
},
model
:{
value
:
e
.
searchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"status"
,
t
)},
expression
:
"searchFrom.status"
}},[
o
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
value
:
"0"
,
label
:
"编辑中"
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
value
:
"1"
,
label
:
"上架"
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
value
:
"2"
,
label
:
"下架"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品现价/团购价"
,
"label-width"
:
"120px"
}},[
o
(
"el-input-number"
,{
model
:{
value
:
e
.
searchFrom
.
current_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"current_price"
,
t
)},
expression
:
"searchFrom.current_price"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,[
o
(
"div"
,{
staticClass
:
"search-btn-block"
},[
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
icon
:
"el-icon-search"
},
on
:{
click
:
e
.
getUser
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
o
(
"div"
,{
staticClass
:
"new-block"
},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-button"
,{
attrs
:{
type
:
"success"
,
plain
:
""
},
on
:{
click
:
e
.
add
}},[
e
.
_v
(
"添加商品"
)])],
1
),
e
.
_v
(
" "
),
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
userList
}},[
o
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\n
"
)])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品原价/直购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
original_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品现价/团购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
current_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"是否有实物"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"isOrNot"
)(
t
.
row
.
is_real
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
width
:
"60"
,
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-popover"
,{
attrs
:{
placement
:
"top"
,
width
:
"600"
}},[
o
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
detail
(
t
.
row
)}}},[
e
.
_v
(
"
\n
查看详情
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
copyUrl
(
t
.
row
.
id
)}}},[
e
.
_v
(
"
\n
复制链接
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():[
2
===
t
.
row
.
status
||
0
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
onUp
(
t
.
row
)}}},[
e
.
_v
(
"
\n
上架
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
onDown
(
t
.
row
)}}},[
e
.
_v
(
"
\n
下架
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"warning"
},
on
:{
click
:
function
(
o
){
e
.
edit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"success"
},
on
:{
click
:
function
(
o
){
e
.
copyShop
(
t
.
row
)}}},[
e
.
_v
(
"
\n
复制商品
\n
"
)]),
e
.
_v
(
" "
),
2
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
bindOther
(
t
.
row
)}}},[
e
.
_v
(
"
\n
绑定商品
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
conflict
(
t
.
row
)}}},[
e
.
_v
(
"
\n
冲突商品
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"danger"
},
on
:{
click
:
function
(
o
){
e
.
onDel
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()]],
2
),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
size
:
"mini"
,
type
:
"text"
},
slot
:
"reference"
},[
e
.
_v
(
"操作"
)])],
1
)]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
o
(
"dialog-com"
,{
attrs
:{
dialogObj
:
e
.
dialogObj
},
on
:{
changeShow
:
e
.
changeShow
,
reflash
:
e
.
getUser
}}),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
chooseDialog
.
title
,
visible
:
e
.
chooseDialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
,
"show"
,
t
)}}},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
"label-width"
:
"80px"
}},[
0
===
e
.
chooseDialog
.
type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"绑定商品"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
chooseDialog
.
form
.
value
,
callback
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
.
form
,
"value"
,
t
)},
expression
:
"chooseDialog.form.value"
}},
e
.
_l
(
e
.
userList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
chooseDialog
.
type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"冲突商品"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
},
model
:{
value
:
e
.
chooseDialog
.
form
.
list
,
callback
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
.
form
,
"list"
,
t
)},
expression
:
"chooseDialog.form.list"
}},
e
.
_l
(
e
.
userList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
.
toString
()}})}))],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
chooseDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
dialogSub
()}}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
u
=
o
(
"VU/8"
)(
c
,
d
,
!
1
,
function
(
e
){
o
(
"F4ES"
)},
"data-v-3c15a81b"
,
null
);
t
.
default
=
u
.
exports
},
F4ES
:
function
(
e
,
t
){},
taoj
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/26.31e5b79d9cdc577ff9a8.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
26
],{
"0HId"
:
function
(
e
,
r
,
s
){
"use strict"
;
Object
.
defineProperty
(
r
,
"__esModule"
,{
value
:
!
0
});
var
t
=
s
(
"CCn6"
),
n
=
s
(
"NC6I"
),
o
=
s
.
n
(
n
),
i
=
s
(
"Nr3E"
),
a
=
s
.
n
(
i
),
l
=
{
data
:
function
(){
return
{
bgUrl
:
a
.
a
,
login
:{
username
:
""
,
password
:
""
},
loginRules
:{
username
:[{
required
:
!
0
,
message
:
"请输入您的用户名"
,
trigger
:
"blur"
}],
password
:[{
required
:
!
0
,
message
:
"请输入您的密码"
,
trigger
:
"blur"
}]}}},
mounted
:
function
(){
var
e
=
this
;
document
.
onkeydown
=
function
(
r
){
var
s
=
r
||
window
.
event
;
if
(
13
===
(
s
.
keyCode
||
s
.
which
||
s
.
charCode
)
&&
"login"
===
e
.
$route
.
name
)
return
e
.
submitForm
(),
!
1
;
return
!
0
}},
methods
:{
submitForm
:
function
(){
var
e
=
this
;
this
.
$refs
.
loginForm
.
validate
(
function
(
r
){
if
(
r
){
var
s
=
{
username
:
e
.
login
.
username
,
password
:
o
()(
e
.
login
.
password
)};
Object
(
t
.
_45
)(
s
).
then
(
function
(
r
){
e
.
$store
.
dispatch
(
"setToken"
,
r
.
token
),
e
.
$store
.
dispatch
(
"setUserName"
,
r
.
desc
),
e
.
$store
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
r
.
roles
.
menu_ids
)),
window
.
location
.
href
=
"/"
})}})}}},
u
=
{
render
:
function
(){
var
e
=
this
,
r
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
r
;
return
s
(
"div"
,{
staticClass
:
"login"
},[
s
(
"div"
,{
staticClass
:
"wrap-main"
},[
s
(
"h1"
,{
staticClass
:
"title"
},[
e
.
_v
(
"唱唱启蒙——后台管理系统"
)]),
e
.
_v
(
" "
),
s
(
"el-form"
,{
ref
:
"loginForm"
,
attrs
:{
model
:
e
.
login
,
rules
:
e
.
loginRules
}},[
s
(
"el-form-item"
,{
attrs
:{
prop
:
"username"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"用户名"
},
model
:{
value
:
e
.
login
.
username
,
callback
:
function
(
r
){
e
.
$set
(
e
.
login
,
"username"
,
r
)},
expression
:
"login.username"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"password"
}},[
s
(
"el-input"
,{
attrs
:{
type
:
"password"
,
placeholder
:
"密码"
},
model
:{
value
:
e
.
login
.
password
,
callback
:
function
(
r
){
e
.
$set
(
e
.
login
,
"password"
,
r
)},
expression
:
"login.password"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,[
s
(
"el-button"
,{
staticClass
:
"btn"
,
attrs
:{
size
:
"medium"
,
type
:
"primary"
},
on
:{
click
:
e
.
submitForm
}},[
e
.
_v
(
"登陆"
)])],
1
)],
1
)],
1
)])},
staticRenderFns
:[]};
var
d
=
s
(
"VU/8"
)(
l
,
u
,
!
1
,
function
(
e
){
s
(
"IrvH"
)},
"data-v-2da793b0"
,
null
);
r
.
default
=
d
.
exports
},
IrvH
:
function
(
e
,
r
){},
Nr3E
:
function
(
e
,
r
,
s
){
e
.
exports
=
s
.
p
+
"static/img/skyBackground.d3b1524.png"
}});
\ No newline at end of file
dist/static/js/27.628505b886fc7a7bbbe3.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
27
],{
"6HiQ"
:
function
(
t
,
e
){},
WvRy
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
"CCn6"
),
r
=
{
name
:
"index"
,
components
:{
page
:
a
(
"kmJW"
).
a
},
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
useTypeList
:[{
id
:
0
,
value
:
"未使用"
},{
id
:
1
,
value
:
"已使用"
}],
searchFrom
:{
user_id
:
""
,
out_trade_no
:
""
,
status
:
0
},
list
:[]}},
filters
:{
filterStatus
:
function
(
t
){
var
e
=
""
;
return
0
===
t
?
e
=
"未使用"
:
1
===
t
&&
(
e
=
"已使用"
),
e
}},
mounted
:
function
(){
this
.
getList
()},
methods
:{
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getList
()},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getList
()},
getList
:
function
(){
var
t
=
this
,
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
user_id
&&
(
e
.
user_id
=
this
.
searchFrom
.
user_id
),
this
.
searchFrom
.
status
&&
(
e
.
status
=
this
.
searchFrom
.
status
),
this
.
searchFrom
.
out_trade_no
&&
(
e
.
out_trade_no
=
this
.
searchFrom
.
out_trade_no
),
Object
(
s
.
_15
)(
e
).
then
(
function
(
e
){
t
.
total
=
e
.
total
,
t
.
list
=
e
.
list
?
e
.
list
:[]})}}},
o
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"refund"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
4
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
a
(
"el-input"
,{
model
:{
value
:
t
.
searchFrom
.
user_id
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"user_id"
,
e
)},
expression
:
"searchFrom.user_id"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"订单号"
}},[
a
(
"el-input"
,{
model
:{
value
:
t
.
searchFrom
.
out_trade_no
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"out_trade_no"
,
e
)},
expression
:
"searchFrom.out_trade_no"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"使用状态"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
status
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"status"
,
e
)},
expression
:
"searchFrom.status"
}},
t
.
_l
(
t
.
useTypeList
,
function
(
t
){
return
a
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
t
.
value
,
value
:
t
.
id
}})}))],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
4
}},[
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"coupon_no"
,
label
:
"优惠券码"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"out_trade_no"
,
label
:
"订单号"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"用户信息"
,
"min-width"
:
"140"
,
className
:
"userInfo"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
a
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
e
.
row
.
user_avatar
}}),
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
user_nickname
)
+
"(ID:"
+
t
.
_s
(
e
.
row
.
user_id
)
+
")
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"优惠券金额"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
parseFloat
(
e
.
row
.
money
/
100
))
+
"元
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"使用状态"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"filterStatus"
)(
e
.
row
.
status
))
+
"
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"use_at"
,
label
:
"使用时间"
}})],
1
),
t
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
t
.
nowPage
,
total
:
t
.
total
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
n
=
a
(
"VU/8"
)(
r
,
o
,
!
1
,
function
(
t
){
a
(
"gX4P"
),
a
(
"6HiQ"
)},
"data-v-17fc427f"
,
null
);
e
.
default
=
n
.
exports
},
gX4P
:
function
(
t
,
e
){}});
\ No newline at end of file
dist/static/js/28.34e484c3f40921437cfc.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
28
],{
"/dFL"
:
function
(
e
,
t
){},
Aa1p
:
function
(
e
,
t
){},
gaNG
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"CCn6"
),
o
=
(
a
(
"+TkF"
),
a
(
"kmJW"
)),
s
=
{
name
:
"dialogObj"
,
props
:[
"dialogObj"
],
data
:
function
(){
return
{
show
:
!
1
,
id
:
""
,
loading
:
!
0
,
form
:{
key
:
""
,
value
:
""
,
desc
:
""
},
mediaList
:[],
rules
:{
value
:[{
required
:
!
0
,
message
:
"请输入关键词"
,
trigger
:
"change"
}],
desc
:[{
required
:
!
0
,
message
:
"请输入描述"
,
trigger
:
"change"
}],
key
:[{
required
:
!
0
,
message
:
"请输入Key"
,
trigger
:
"change"
}]}}},
components
:{
page
:
o
.
a
},
methods
:{
save
:
function
(){
var
e
=
this
;
this
.
dialogObj
.
id
?
this
.
$refs
.
form
.
validate
(
function
(
t
){
t
&&
Object
(
i
.
_58
)(
e
.
id
,
e
.
form
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
show
=!
1
})}):
this
.
$refs
.
form
.
validate
(
function
(
t
){
t
&&
Object
(
i
.
_50
)(
e
.
form
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
show
=!
1
})})},
initDialog
:
function
(){
this
.
show
=
this
.
dialogObj
.
show
,
this
.
dialogObj
.
id
&&
(
this
.
id
=
this
.
dialogObj
.
id
),
this
.
form
.
key
=
this
.
dialogObj
.
key
,
this
.
form
.
value
=
this
.
dialogObj
.
value
,
this
.
form
.
desc
=
this
.
dialogObj
.
desc
,
this
.
loading
=!
1
}},
watch
:{
dialogObj
:{
handler
:
function
(){
this
.
loading
=!
0
,
this
.
initDialog
()},
deep
:
!
0
},
show
:
function
(
e
){
this
.
$emit
(
"changeShow"
,
e
)}}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"el-dialog"
,{
attrs
:{
title
:
"自动回复"
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
show
=
t
}}},[
a
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
e
.
loading
,
expression
:
"loading"
}]},[
a
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
rules
:
e
.
rules
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
4
}},[
a
(
"label"
,[
e
.
_v
(
"Key"
)])]),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
8
}},[
a
(
"el-form-item"
,{
attrs
:{
prop
:
"key"
}},[
a
(
"el-input"
,{
model
:{
value
:
e
.
form
.
key
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"key"
,
t
)},
expression
:
"form.key"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
4
}},[
a
(
"label"
,[
e
.
_v
(
"关键词"
)])]),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
8
}},[
a
(
"el-form-item"
,{
attrs
:{
prop
:
"value"
}},[
a
(
"el-input"
,{
model
:{
value
:
e
.
form
.
value
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"value"
,
t
)},
expression
:
"form.value"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
4
}},[
a
(
"label"
,[
e
.
_v
(
"描述"
)])]),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
8
}},[
a
(
"el-form-item"
,[
a
(
"el-input"
,{
attrs
:{
type
:
"textarea"
},
model
:{
value
:
e
.
form
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"desc"
,
t
)},
expression
:
"form.desc"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
a
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
save
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)])},
staticRenderFns
:[]};
var
n
=
{
name
:
"sysConfig"
,
data
:
function
(){
return
{
total
:
0
,
nowPage
:
1
,
limit
:
10
,
dialogObj
:{
value
:
""
,
desc
:
""
,
show
:
!
1
,
id
:
""
},
list
:[]}},
components
:{
dialogCom
:
a
(
"VU/8"
)(
s
,
l
,
!
1
,
function
(
e
){
a
(
"Aa1p"
)},
"data-v-0d5f9586"
,
null
).
exports
,
page
:
o
.
a
},
mounted
:
function
(){
this
.
getList
()},
methods
:{
changeShow
:
function
(
e
){
this
.
dialogObj
.
show
=
e
},
getList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
Object
(
i
.
_14
)(
t
).
then
(
function
(
t
){
e
.
list
=
t
.
list
,
e
.
total
=
t
.
total
})},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getList
()},
add
:
function
(){
this
.
dialogObj
.
id
=
""
,
this
.
dialogObj
.
key
=
""
,
this
.
dialogObj
.
value
=
""
,
this
.
dialogObj
.
desc
=
""
,
this
.
dialogObj
.
show
=!
0
},
edit
:
function
(
e
){
var
t
=
this
;
Object
(
i
.
_13
)(
e
.
id
).
then
(
function
(
e
){
t
.
dialogObj
.
id
=
e
.
id
,
t
.
dialogObj
.
key
=
e
.
key
,
t
.
dialogObj
.
value
=
e
.
value
,
t
.
dialogObj
.
desc
=
e
.
desc
,
t
.
dialogObj
.
show
=!
0
})},
del
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该记录?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
H
)(
e
.
id
).
then
(
function
(
e
){
t
.
getList
(),
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
})})})}}},
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"sys"
},[
a
(
"div"
,{
staticClass
:
"clear-both top"
},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
a
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"success"
,
plain
:
""
},
on
:{
click
:
e
.
add
}},[
e
.
_v
(
"添加配置"
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-form"
,{
staticClass
:
"demo-table-expand"
,
attrs
:{
"label-position"
:
"left"
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"Key"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
key
))])]),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"关键词"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
value
))])]),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"描述"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
desc
))])])],
1
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"ID"
,
prop
:
"id"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"Key"
,
prop
:
"key"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"关键词"
,
prop
:
"value"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
a
(
"el-table-column"
,{
attrs
:{
width
:
"250"
,
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"warning"
},
on
:{
click
:
function
(
a
){
e
.
edit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
a
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"danger"
},
on
:{
click
:
function
(
a
){
e
.
del
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
a
(
"dialog-com"
,{
attrs
:{
dialogObj
:
e
.
dialogObj
},
on
:{
changeShow
:
e
.
changeShow
,
reflash
:
e
.
getList
}}),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
c
=
a
(
"VU/8"
)(
n
,
r
,
!
1
,
function
(
e
){
a
(
"/dFL"
)},
"data-v-a08cb420"
,
null
);
t
.
default
=
c
.
exports
}});
\ No newline at end of file
dist/static/js/29.242f0dd57981cd2b5643.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
29
],{
FsAm
:
function
(
e
,
t
){},
aTXs
:
function
(
e
,
t
,
o
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
o
(
"CCn6"
),
a
=
{
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
menuList
:[],
plist
:[],
dialog
:{
title
:
"新增菜单"
,
show
:
!
1
,
rules
:{
name
:[{
required
:
!
0
,
message
:
"请填写菜单名称"
,
trigger
:
"change"
}],
cover
:[{
required
:
!
0
,
message
:
"请填写菜单code"
,
trigger
:
"change"
}]},
form
:{
id
:
""
,
name
:
""
,
cover
:
""
,
pid
:
0
,
type
:
2
}}}},
created
:
function
(){
this
.
getList
()},
methods
:{
getList
:
function
(){
var
e
=
this
;
Object
(
i
.
_24
)().
then
(
function
(
t
){
t
&&
(
e
.
menuList
=
[],
e
.
plist
=
[],
t
.
forEach
(
function
(
t
){
e
.
menuList
.
push
(
t
),
e
.
plist
.
push
(
t
),
t
.
children
&&
t
.
children
.
forEach
(
function
(
t
){
e
.
menuList
.
push
(
t
)})}))})},
edit
:
function
(
e
){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
form
.
id
=
e
.
id
,
this
.
dialog
.
title
=
"编辑菜单"
,
this
.
dialog
.
form
.
name
=
e
.
name
,
this
.
dialog
.
form
.
cover
=
e
.
cover
,
this
.
dialog
.
form
.
pid
=
e
.
pid
},
add
:
function
(){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
form
.
id
=
""
,
this
.
dialog
.
title
=
"新增菜单"
,
this
.
dialog
.
form
.
name
=
""
,
this
.
dialog
.
form
.
pid
=
0
,
this
.
dialog
.
form
.
cover
=
""
},
del
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该菜单?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
C
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
t
.
getList
()})})},
sub
:
function
(){
var
e
=
this
;
this
.
$refs
.
form
.
validate
(
function
(
t
){
if
(
t
){
var
o
=
e
.
dialog
;
if
(
o
.
form
.
id
){
var
a
=
{
name
:
o
.
form
.
name
,
cover
:
o
.
form
.
cover
,
pid
:
o
.
form
.
pid
};
Object
(
i
.
_59
)(
o
.
form
.
id
,
a
).
then
(
function
(){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
o
.
show
=!
1
,
e
.
getList
()})}
else
{
var
s
=
{
name
:
o
.
form
.
name
,
cover
:
o
.
form
.
cover
,
pid
:
o
.
form
.
pid
};
Object
(
i
.
_51
)(
s
).
then
(
function
(){
e
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
o
.
show
=!
1
,
e
.
getList
()})}}})}}},
s
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"menu"
},[
o
(
"div"
,{
staticClass
:
"head clear-both"
},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
plain
:
""
,
type
:
"success"
},
on
:{
click
:
e
.
add
}},[
e
.
_v
(
"新增菜单"
)])],
1
),
e
.
_v
(
" "
),
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
menuList
}},[
o
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"菜单名称"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"cover"
,
label
:
"菜单Code"
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
edit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
del
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialog
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
dialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialog
,
"show"
,
t
)}}},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
rules
:
e
.
dialog
.
rules
,
model
:
e
.
dialog
.
form
,
"label-width"
:
"100px"
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"菜单名称"
,
prop
:
"name"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
dialog
.
form
.
name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"name"
,
t
)},
expression
:
"dialog.form.name"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"菜单Code"
,
prop
:
"cover"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
dialog
.
form
.
cover
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"cover"
,
t
)},
expression
:
"dialog.form.cover"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"上级菜单"
,
prop
:
"cover"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
dialog
.
form
.
pid
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"pid"
,
t
)},
expression
:
"dialog.form.pid"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"无"
,
value
:
0
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
plist
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sub
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
l
=
o
(
"VU/8"
)(
a
,
s
,
!
1
,
function
(
e
){
o
(
"FsAm"
)},
"data-v-d12565d4"
,
null
);
t
.
default
=
l
.
exports
}});
\ No newline at end of file
dist/static/js/app.28083929113efd116457.js
0 → 100644
View file @
4ef0f06b
webpackJsonp
([
40
],{
IcnI
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"7+uW"
),
a
=
t
(
"NYxO"
),
r
=
t
(
"zSLJ"
),
i
=
{
setToken
:
function
(
e
,
n
){
e
.
token
=
n
,
r
.
a
.
set
(
"cc_token"
,
n
)},
setUserName
:
function
(
e
,
n
){
e
.
userName
=
n
,
r
.
a
.
set
(
"cc_user_name"
,
n
)},
setPermission
:
function
(
e
,
n
){
e
.
progressList
=
n
,
localStorage
.
setItem
(
"permission"
,
JSON
.
stringify
(
n
))},
setMenu
:
function
(
e
,
n
){
e
.
menuList
=
n
},
readonly
:
function
(
e
,
n
){
e
.
readonly
=
n
},
deletePermission
:
function
(
e
,
n
){
e
.
deletePermission
=
n
},
mainCanShow
:
function
(
e
){
e
.
mainLoad
=!
1
},
mainUnShow
:
function
(
e
){
e
.
mainLoad
=!
0
},
changeParentRouter
:
function
(
e
,
n
){
e
.
menuList
.
find
(
function
(
e
){
return
e
.
name
===
n
.
name
}).
routerName
=
n
.
to
.
name
},
progress
:
function
(
e
,
n
){
switch
(
n
.
type
){
case
"new"
:
e
.
progressList
.
push
({
num
:
0
,
id
:
n
.
id
});
break
;
case
"change"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
}).
num
=
n
.
num
;
break
;
case
"delete"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
})}}};
o
.
default
.
use
(
a
.
a
);
n
.
a
=
new
a
.
a
.
Store
({
state
:{
show
:
!
1
,
userName
:
""
,
token
:
""
,
orderRefund
:
!
1
,
permission
:
!
1
,
readonly
:
!
0
,
deletePermission
:
!
1
,
mainLoad
:
!
0
,
menuList
:[],
menuType
:
!
1
,
nowTab
:
"first"
,
progressList
:[],
openedTab
:[{
value
:
"首页"
,
routerName
:
"first"
,
name
:
"first"
,
delNo
:
!
0
,
path
:
"/index"
}]},
mutations
:
i
,
actions
:{
setToken
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setToken"
,
n
)},
setUserName
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setUserName"
,
n
)},
setProgress
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"progress"
,
n
)},
setPermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setPermission"
,
n
)},
setMenu
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setMenu"
,
n
)},
readonly
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"readonly"
,
n
)},
deletePermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"deletePermission"
,
n
)}}})},
NHnr
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
o
=
t
(
"7+uW"
),
a
=
[{
name
:
""
,
value
:
"教研管理"
,
icon
:
"icon-material"
,
list
:[{
value
:
"教材列表"
,
routerName
:
"resources"
,
path
:
"/resources"
,
cover
:
"1-1"
,
router
:{
path
:
"/resources"
,
name
:
"resources"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
2
)]).
then
(
function
(){
var
n
=
[
t
(
"z5EG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"商品课程"
,
icon
:
"icon-shangpin1"
,
list
:[{
value
:
"课程列表"
,
routerName
:
"lesson"
,
path
:
"/lesson"
,
cover
:
"2-1"
,
router
:{
path
:
"/lesson"
,
name
:
"lesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
4
)]).
then
(
function
(){
var
n
=
[
t
(
"AbSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"商品列表"
,
routerName
:
"shop"
,
path
:
"/shop"
,
cover
:
"4-1"
,
router
:{
path
:
"/shop"
,
name
:
"shop"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
25
)]).
then
(
function
(){
var
n
=
[
t
(
"1djJ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"期数管理"
,
icon
:
"icon-kecheng"
,
list
:[{
value
:
"期数列表"
,
routerName
:
"periods"
,
path
:
"/periods"
,
cover
:
"2-2"
,
router
:{
path
:
"/periods"
,
name
:
"periods"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
15
)]).
then
(
function
(){
var
n
=
[
t
(
"ayGs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班级列表"
,
routerName
:
"class"
,
path
:
"/class"
,
cover
:
"2-3"
,
router
:{
path
:
"/class"
,
name
:
"class"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
11
)]).
then
(
function
(){
var
n
=
[
t
(
"OX9A"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"不上课日期"
,
routerName
:
"noLesson"
,
path
:
"/noLesson"
,
cover
:
"2-4"
,
router
:{
path
:
"/noLesson"
,
name
:
"noLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
23
)]).
then
(
function
(){
var
n
=
[
t
(
"sg/1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"人员管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"教师列表"
,
routerName
:
"teacher"
,
path
:
"/teacher"
,
cover
:
"3-1"
,
router
:{
path
:
"/teacher"
,
name
:
"teacher"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
16
)]).
then
(
function
(){
var
n
=
[
t
(
"Y0Vi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"用户列表"
,
routerName
:
"user"
,
path
:
"/user"
,
cover
:
"3-2"
,
router
:{
path
:
"/user"
,
name
:
"user"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
7
)]).
then
(
function
(){
var
n
=
[
t
(
"jFLA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"订单管理"
,
icon
:
"icon-dingdan"
,
list
:[{
value
:
"订单列表"
,
routerName
:
"order"
,
path
:
"/order"
,
cover
:
"5-1"
,
router
:{
path
:
"/order"
,
name
:
"order"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
3
)]).
then
(
function
(){
var
n
=
[
t
(
"2qmY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"退款列表"
,
routerName
:
"refund"
,
path
:
"/refund"
,
cover
:
"5-2"
,
router
:{
path
:
"/refund"
,
name
:
"refund"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
21
)]).
then
(
function
(){
var
n
=
[
t
(
"89rD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"提现列表"
,
routerName
:
"putForward"
,
path
:
"/putForward"
,
cover
:
"5-3"
,
router
:{
path
:
"/putForward"
,
name
:
"putForward"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
18
)]).
then
(
function
(){
var
n
=
[
t
(
"F5pf"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"发货管理"
,
routerName
:
"consignment"
,
path
:
"/consignment"
,
cover
:
"5-4"
,
router
:{
path
:
"/consignment"
,
name
:
"consignment"
,
component
:
function
(
e
){
return
t
.
e
(
32
).
then
(
function
(){
var
n
=
[
t
(
"usUK"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"订单统计"
,
routerName
:
"orderCount"
,
path
:
"/orderCount"
,
cover
:
"5-5"
,
router
:{
path
:
"/orderCount"
,
name
:
"orderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
31
)]).
then
(
function
(){
var
n
=
[
t
(
"s7i+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"优惠券列表"
,
routerName
:
"coupon"
,
path
:
"/coupon"
,
cover
:
"5-6"
,
router
:{
path
:
"/coupon"
,
name
:
"coupon"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
27
)]).
then
(
function
(){
var
n
=
[
t
(
"WvRy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"实物管理"
,
icon
:
"icon-shu"
,
list
:[{
value
:
"单品列表"
,
routerName
:
"single"
,
path
:
"/single"
,
cover
:
"6-1"
,
router
:{
path
:
"/single"
,
name
:
"single"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
12
)]).
then
(
function
(){
var
n
=
[
t
(
"B31M"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"盒子列表"
,
routerName
:
"box"
,
path
:
"/box"
,
cover
:
"6-2"
,
router
:{
path
:
"/box"
,
name
:
"box"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
8
)]).
then
(
function
(){
var
n
=
[
t
(
"+vCD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"公众号"
,
icon
:
"icon-ai-weixin"
,
list
:[{
value
:
"自动回复"
,
routerName
:
"focusReply"
,
path
:
"/focusReply"
,
cover
:
"7-1"
,
router
:{
path
:
"/focusReply"
,
name
:
"focusReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
17
)]).
then
(
function
(){
var
n
=
[
t
(
"CK6D"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关键词回复"
,
routerName
:
"autoReply"
,
path
:
"/autoReply"
,
cover
:
"7-2"
,
router
:{
path
:
"/autoReply"
,
name
:
"autoReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
14
)]).
then
(
function
(){
var
n
=
[
t
(
"65NY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"公众号菜单"
,
routerName
:
"weChat"
,
path
:
"/weChat"
,
cover
:
"7-3"
,
router
:{
path
:
"/weChat"
,
name
:
"weChat"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
10
)]).
then
(
function
(){
var
n
=
[
t
(
"q5av"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"素材管理"
,
routerName
:
"weChatResource"
,
path
:
"/weChatResource"
,
cover
:
"7-4"
,
router
:{
path
:
"/weChatResource"
,
name
:
"weChatResource"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
19
)]).
then
(
function
(){
var
n
=
[
t
(
"Xhqp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"Banner管理"
,
routerName
:
"banner"
,
path
:
"/banner"
,
cover
:
"7-5"
,
router
:{
path
:
"/banner"
,
name
:
"banner"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
20
)]).
then
(
function
(){
var
n
=
[
t
(
"CGL6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"二维码管理"
,
routerName
:
"qrcode"
,
path
:
"/qrcode"
,
cover
:
"7-6"
,
router
:{
path
:
"/qrcode"
,
name
:
"qrcode"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
9
)]).
then
(
function
(){
var
n
=
[
t
(
"lNiQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"群发助手"
,
routerName
:
"groupSend"
,
path
:
"/groupSend"
,
cover
:
"7-7"
,
router
:{
path
:
"/groupSend"
,
name
:
"groupSend"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
24
)]).
then
(
function
(){
var
n
=
[
t
(
"oerw"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关注取关统计"
,
routerName
:
"watchCount"
,
path
:
"/watchCount"
,
cover
:
"7-8"
,
router
:{
path
:
"/watchCount"
,
name
:
"watchCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
34
)]).
then
(
function
(){
var
n
=
[
t
(
"Dq6T"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部投放管理"
,
routerName
:
"externalLaunch"
,
path
:
"/externalLaunch"
,
cover
:
"7-9"
,
router
:{
path
:
"/externalLaunch"
,
name
:
"externalLaunch"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
37
)]).
then
(
function
(){
var
n
=
[
t
(
"NrkQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"系统管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"账号管理"
,
routerName
:
"admin"
,
path
:
"/admin"
,
cover
:
"8-1"
,
router
:{
path
:
"/admin"
,
name
:
"admin"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
35
)]).
then
(
function
(){
var
n
=
[
t
(
"+jTk"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"角色管理"
,
routerName
:
"role"
,
path
:
"/role"
,
cover
:
"8-2"
,
router
:{
path
:
"/role"
,
name
:
"role"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
38
)]).
then
(
function
(){
var
n
=
[
t
(
"Vt1u"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"菜单管理"
,
routerName
:
"menu"
,
path
:
"/menu"
,
cover
:
"8-3"
,
router
:{
path
:
"/menu"
,
name
:
"menu"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
29
)]).
then
(
function
(){
var
n
=
[
t
(
"aTXs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"sysConfig"
,
path
:
"/sysConfig"
,
cover
:
"8-4"
,
router
:{
path
:
"/sysConfig"
,
name
:
"sysConfig"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
28
)]).
then
(
function
(){
var
n
=
[
t
(
"gaNG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"操作日志"
,
routerName
:
"adminLog"
,
path
:
"/adminLog"
,
cover
:
"8-5"
,
router
:{
path
:
"/adminLog"
,
name
:
"adminLog"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
36
)]).
then
(
function
(){
var
n
=
[
t
(
"WZgi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]}],
r
=
{
name
:
"App"
,
data
:
function
(){
return
{}},
mounted
:
function
(){
var
e
=
this
;
if
(
window
.
location
.
href
.
indexOf
(
"login"
)
<
0
){
var
n
=
this
.
$store
.
state
.
progressList
,
o
=
[];
this
.
$router
.
options
.
routes
[
0
].
children
=
[];
var
r
=
n
.
find
(
function
(
e
){
return
"5-1"
===
e
.
cover
});
r
&&
r
.
refund
&&
(
this
.
$store
.
state
.
orderRefund
=!
0
);
var
i
=
{
path
:
"/userDetail/:id"
,
name
:
"userDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
13
)]).
then
(
function
(){
var
n
=
[
t
(
"9PRC"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}},
u
=
{
path
:
"/teacher/:id"
,
name
:
"teacherDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
22
)]).
then
(
function
(){
var
n
=
[
t
(
"hFUZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}};
a
.
forEach
(
function
(
t
){
var
a
=!
1
,
r
=
[];
t
.
list
.
forEach
(
function
(
t
){
var
o
=
n
.
find
(
function
(
e
){
return
e
.
cover
===
t
.
cover
});
o
&&
(
t
.
router
.
meta
=
{},
t
.
router
.
meta
.
readonly
=
o
.
readonly
,
t
.
router
.
meta
.
delete
=!!
o
.
delete
,
r
.
push
(
t
),
"3-1"
===
o
.
cover
&&
(
u
.
meta
=
{},
u
.
meta
.
readonly
=
o
.
readonly
,
u
.
meta
.
delete
=!!
o
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
u
)),
"3-2"
===
o
.
cover
&&
(
i
.
meta
=
{},
i
.
meta
.
readonly
=
o
.
readonly
,
i
.
meta
.
delete
=!!
o
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
i
)),
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
t
.
router
),
a
=!
0
)}),
a
&&
(
t
.
list
=
r
,
o
.
push
(
t
))}),
this
.
$router
.
addRoutes
([
this
.
$router
.
options
.
routes
[
0
]]),
this
.
$store
.
dispatch
(
"setMenu"
,
o
)}}},
i
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
n
=
this
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
attrs
:{
id
:
"app"
}},[
n
(
"router-view"
)],
1
)},
staticRenderFns
:[]};
var
u
=
t
(
"VU/8"
)(
r
,
i
,
!
1
,
function
(
e
){
t
(
"ONAN"
)},
null
,
null
).
exports
,
c
=
t
(
"YaEn"
),
s
=
t
(
"zL8q"
),
l
=
t
.
n
(
s
),
p
=
(
t
(
"tvR6"
),
t
(
"IcnI"
));
o
.
default
.
use
(
l
.
a
),
o
.
default
.
config
.
productionTip
=!
1
,
new
o
.
default
({
el
:
"#app"
,
store
:
p
.
a
,
router
:
c
.
a
,
components
:{
App
:
u
},
template
:
"<App/>"
})},
ONAN
:
function
(
e
,
n
){},
YaEn
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"7+uW"
),
a
=
t
(
"IcnI"
),
r
=
t
(
"/ocq"
),
i
=
t
(
"zSLJ"
);
o
.
default
.
use
(
r
.
a
);
var
u
=
new
r
.
a
({
routes
:[{
path
:
"/"
,
name
:
"index"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
5
)]).
then
(
function
(){
var
n
=
[
t
(
"jHcp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
redirect
:{
name
:
"first"
},
children
:[{
path
:
""
,
name
:
"first"
,
component
:
function
(
e
){
return
t
.
e
(
6
).
then
(
function
(){
var
n
=
[
t
(
"sJm1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}]},{
path
:
"/login"
,
name
:
"login"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
26
)]).
then
(
function
(){
var
n
=
[
t
(
"0HId"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/outManager"
,
name
:
"outManager"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
33
)]).
then
(
function
(){
var
n
=
[
t
(
"hLMI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/preview/:id"
,
name
:
"preview"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
1
),
t
.
e
(
0
)]).
then
(
function
(){
var
n
=
[
t
(
"pjYA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{}},{
path
:
"/upload"
,
name
:
"upload"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
30
)]).
then
(
function
(){
var
n
=
[
t
(
"iPJD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}}]});
u
.
beforeEach
(
function
(
e
,
n
,
t
){
if
(
a
.
a
.
commit
(
"mainCanShow"
),
i
.
a
.
get
(
"cc_token"
)
&&
(
a
.
a
.
dispatch
(
"setToken"
,
i
.
a
.
get
(
"cc_token"
)),
a
.
a
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
))),
null
!==
i
.
a
.
get
(
"cc_user_name"
)
&&
a
.
a
.
dispatch
(
"setUserName"
,
i
.
a
.
get
(
"cc_user_name"
))),
a
.
a
.
state
.
nowTab
=
e
.
name
,
e
.
matched
.
length
>
1
&&
"first"
!==
e
.
name
){
for
(
var
o
=
void
0
,
r
=
0
;
r
<
a
.
a
.
state
.
menuList
.
length
;
r
++
)
for
(
var
u
=
a
.
a
.
state
.
menuList
[
r
],
c
=
0
;
c
<
u
.
list
.
length
;
c
++
){
var
s
=
u
.
list
[
c
];
s
.
path
===
e
.
path
&&
(
o
=
s
)}
a
.
a
.
state
.
openedTab
.
indexOf
(
o
)
<
0
&&
a
.
a
.
state
.
openedTab
.
push
(
o
)}
if
(
e
.
meta
.
readonly
?
a
.
a
.
dispatch
(
"readonly"
,
!
0
):
a
.
a
.
dispatch
(
"readonly"
,
!
1
),
"userDetail"
===
e
.
name
){
var
l
=
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
)).
find
(
function
(
e
){
return
"3-2"
===
e
.
cover
}).
readonly
;
a
.
a
.
dispatch
(
"readonly"
,
l
)}
e
.
meta
.
delete
?
a
.
a
.
dispatch
(
"deletePermission"
,
!
0
):
a
.
a
.
dispatch
(
"deletePermission"
,
!
1
),
e
.
matched
.
some
(
function
(
e
){
return
!
0
!==
e
.
meta
.
skip_auth
})
&&!
a
.
a
.
state
.
token
?
t
({
path
:
"/login"
}):
t
()}),
u
.
onError
(
function
(
e
){
var
n
=
e
.
message
.
match
(
/Loading chunk
(\d)
+ failed/g
),
t
=
u
.
history
.
pending
.
fullPath
;
n
&&
u
.
replace
(
t
)}),
n
.
a
=
u
},
tvR6
:
function
(
e
,
n
){},
zSLJ
:
function
(
e
,
n
,
t
){
"use strict"
;
n
.
a
=
{
set
:
function
(
e
,
n
,
t
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
864
e5
*
t
),
window
.
document
.
cookie
=
e
+
"="
+
n
+
";path=/;expires="
+
o
.
toGMTString
()},
get
:
function
(
e
){
var
n
=
window
.
document
.
cookie
.
match
(
"(^|;) ?"
+
e
+
"=([^;]*)(;|$)"
);
return
n
?
n
[
2
]:
null
},
delete
:
function
(
e
){
this
.
set
(
e
,
""
,
-
1
)}}}},[
"NHnr"
]);
\ No newline at end of file
dist/static/js/manifest.76c821bdf10a2b53343a.js
0 → 100644
View file @
4ef0f06b
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
r
,
d
){
for
(
var
t
,
b
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
b
=
a
[
i
],
f
[
b
]
&&
u
.
push
(
f
[
b
][
0
]),
f
[
b
]
=
0
;
for
(
t
in
r
)
Object
.
prototype
.
hasOwnProperty
.
call
(
r
,
t
)
&&
(
e
[
t
]
=
r
[
t
]);
for
(
c
&&
c
(
a
,
r
,
d
);
u
.
length
;)
u
.
shift
()();
if
(
d
)
for
(
i
=
0
;
i
<
d
.
length
;
i
++
)
o
=
n
(
n
.
s
=
d
[
i
]);
return
o
};
var
a
=
{},
f
=
{
41
:
0
};
function
n
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
f
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
f
.
exports
,
f
,
f
.
exports
,
n
),
f
.
l
=!
0
,
f
.
exports
}
n
.
e
=
function
(
e
){
var
c
=
f
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
n
){
c
=
f
[
e
]
=
[
a
,
n
]});
c
[
2
]
=
a
;
var
r
=
document
.
getElementsByTagName
(
"head"
)[
0
],
d
=
document
.
createElement
(
"script"
);
d
.
type
=
"text/javascript"
,
d
.
charset
=
"utf-8"
,
d
.
async
=!
0
,
d
.
timeout
=
12
e4
,
n
.
nc
&&
d
.
setAttribute
(
"nonce"
,
n
.
nc
),
d
.
src
=
n
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"46450e5cdb24264e02bd"
,
1
:
"930cc963f951b693a0b8"
,
2
:
"67679ea242bbddd70471"
,
3
:
"c3e810df39e49c5c02ec"
,
4
:
"ab59d14705d1df2132e1"
,
5
:
"67a431baf99016f2a214"
,
6
:
"c42264ba3e625c57ffe8"
,
7
:
"c61fd7ca231b2d73600f"
,
8
:
"c0521c12861804878b59"
,
9
:
"40ff61256fbdd1673ee1"
,
10
:
"a5d76167ced3aed3d2ef"
,
11
:
"ad2ddd63edbfbb12fcfd"
,
12
:
"cf2af8183c94a816ef64"
,
13
:
"0aeafedab1a98d2b07fe"
,
14
:
"e3b5a53c9cc6485458bb"
,
15
:
"8e412cce400b60559bd8"
,
16
:
"3d3ad54885dc5e1221b7"
,
17
:
"243d7e760b1abb0a5f22"
,
18
:
"986c3057a09e0919de82"
,
19
:
"006bb4c7f391f7bd08ba"
,
20
:
"897c47e2ac9f0a3c867a"
,
21
:
"6e9f90dbbf14f04cd925"
,
22
:
"cc8af44dbf73e0b2fa1c"
,
23
:
"e8c846993a10388f0261"
,
24
:
"e58cf5b3a76b7f028532"
,
25
:
"3e2ed940bb450a75fcd3"
,
26
:
"31e5b79d9cdc577ff9a8"
,
27
:
"628505b886fc7a7bbbe3"
,
28
:
"34e484c3f40921437cfc"
,
29
:
"242f0dd57981cd2b5643"
,
30
:
"e06f3ce3a1fe1a3f42a3"
,
31
:
"65782238f225c2c7ee1d"
,
32
:
"57b2ed1bb861f699ffa0"
,
33
:
"9b9e4da23b7feaed365d"
,
34
:
"b032a90710161ad6a298"
,
35
:
"5ba866e834db42ce2848"
,
36
:
"33bfbb0f6a6bafe04318"
,
37
:
"89a015b33e5302611040"
,
38
:
"edd5dc6bc9e3f03ea30e"
}[
e
]
+
".js"
;
var
t
=
setTimeout
(
b
,
12
e4
);
function
b
(){
d
.
onerror
=
d
.
onload
=
null
,
clearTimeout
(
t
);
var
c
=
f
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
f
[
e
]
=
void
0
)}
return
d
.
onerror
=
d
.
onload
=
b
,
r
.
appendChild
(
d
),
a
},
n
.
m
=
e
,
n
.
c
=
a
,
n
.
d
=
function
(
e
,
c
,
a
){
n
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
n
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
n
.
d
(
c
,
"a"
,
c
),
c
},
n
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
n
.
p
=
"/"
,
n
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ 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