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
593eb4d8
Commit
593eb4d8
authored
Mar 22, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
系统配置
parent
b079d463
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
136 additions
and
41 deletions
+136
-41
index.html
dev/index.html
+1
-1
33.cb577b683a3573638b2a.js
dev/static/js/33.cb577b683a3573638b2a.js
+1
-0
manifest.91a29c770084b315de0f.js
dev/static/js/manifest.91a29c770084b315de0f.js
+1
-0
index.html
dist/index.html
+1
-1
app.b9f95ad2369885c7ac6f3331e7ab1f24.css
dist/static/css/app.b9f95ad2369885c7ac6f3331e7ab1f24.css
+1
-0
25.2c4b606b6d1973a55933.js
dist/static/js/25.2c4b606b6d1973a55933.js
+1
-0
26.20c58c1a6aeb3bd7c9d8.js
dist/static/js/26.20c58c1a6aeb3bd7c9d8.js
+1
-0
27.b1ba1ddd03f95a5dced7.js
dist/static/js/27.b1ba1ddd03f95a5dced7.js
+1
-0
28.fe524b57ea14474670ac.js
dist/static/js/28.fe524b57ea14474670ac.js
+1
-0
29.142fa147d47c9c7ad8dd.js
dist/static/js/29.142fa147d47c9c7ad8dd.js
+1
-0
app.f602d2d4756f8a3f021f.js
dist/static/js/app.f602d2d4756f8a3f021f.js
+1
-0
manifest.6cac044bef9191fbb5ae.js
dist/static/js/manifest.6cac044bef9191fbb5ae.js
+1
-0
index.vue
src/components/groupSend/index.vue
+10
-36
userDialog.vue
src/components/groupSend/userDialog.vue
+114
-3
No files found.
dev/index.html
View file @
593eb4d8
<!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_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
e338696ac0ce8c438043
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.520caa645c172051b099.js
></script><script
type=
text/javascript
src=
/static/js/app.daec36241a8d0586c711.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_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
91a29c770084b315de0f
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.520caa645c172051b099.js
></script><script
type=
text/javascript
src=
/static/js/app.daec36241a8d0586c711.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dev/static/js/33.cb577b683a3573638b2a.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
33
],{
GVQD
:
function
(
e
,
t
,
i
){(
e
.
exports
=
i
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.el-dialog__wrapper .el-dialog[data-v-20c1791d]{width: 80%;
\n
}
\n
.userInfoBox[data-v-20c1791d]{display: -webkit-box;display: -ms-flexbox;display: flex;
\n
}
\n
.userInfoBox .line[data-v-20c1791d]{border-bottom: 1px solid #dcdfe6;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;height: 10px;
\n
}
\n
.userInfoBox .text[data-v-20c1791d]{width: 200px;text-align: center;margin-bottom: 20px;
\n
}
\n
.tableBox[data-v-20c1791d]{display: -webkit-box;display: -ms-flexbox;display: flex;
\n
}
\n
.tableBox .item[data-v-20c1791d]{-webkit-box-flex: 1;-ms-flex: 1;flex: 1;
\n
}
\n
.box[data-v-20c1791d]{min-height: 500px;
\n
}
\n
.secTitle[data-v-20c1791d]{line-height: 50px;text-align: center;font-size: 18px;
\n
}
\
r
\n
/* .el-radio-group{display: block;} */
\n
.secUinput[data-v-20c1791d]{width: 600px;margin-top: 10px;
\n
}
\n
.el-dialog__body[data-v-20c1791d]{padding-top: 0;
\n
}
\n
.avatar[data-v-20c1791d]{width: 32px;height: 32px;
\n
}
\n
.radio_title[data-v-20c1791d]{line-height: 45px;
\n
}
\n
.el-radio-group .el-radio[data-v-20c1791d]{
\
r
\n
width: 166px;
\n
}
\n
.index[data-v-20c1791d] {
\
r
\n
padding: 20px 0;
\n
}
\n
.top[data-v-20c1791d] {
\
r
\n
margin-bottom: 30px;
\
r
\n
margin-left: 20px;
\n
}
\n
.title[data-v-20c1791d] {
\
r
\n
font-size: 16px;
\
r
\n
font-weight: 400;
\
r
\n
display: block;
\
r
\n
line-height: 1.2;
\
r
\n
color: #353535;
\n
}
\n
.inner-edit_area[data-v-20c1791d] {
\
r
\n
width: 96%;
\
r
\n
margin: 0 auto;
\n
}
\n
.upload-video[data-v-20c1791d] {
\
r
\n
display: block;
\
r
\n
margin-left: 2%;
\n
}
\n
.b-title[data-v-20c1791d] {
\
r
\n
padding: 20px;
\
r
\n
color: #666;
\n
}
\n
.emotion_switch[data-v-20c1791d] {
\
r
\n
float: left;
\
r
\n
height: 28px;
\
r
\n
line-height: 999em;
\
r
\n
overflow: hidden;
\
r
\n
background: transparent
\
r
\n
url(https://res.wx.qq.com/mpres/en_US/htmledition/pages/modules/reply/images/icon_emotion_switch.png)
\
r
\n
no-repeat 0 0;
\
r
\n
width: 20px;
\
r
\n
height: 20px;
\
r
\n
vertical-align: middle;
\
r
\n
display: inline-block;
\n
}
\n
.img[data-v-20c1791d] {
\
r
\n
position: relative;
\
r
\n
width: 25%;
\n
img {
\
r
\n
width: 100%;
\n
}
\n
.el-icon-delete {
\
r
\n
position: absolute;
\
r
\n
top: 50%;
\
r
\n
left: 50%;
\
r
\n
display: none;
\n
}
\n
}
\n
.img:hover img[data-v-20c1791d] {
\
r
\n
opacity: 0.3;
\n
}
\n
.img:hover .el-icon-delete[data-v-20c1791d] {
\
r
\n
display: block;
\n
}
\n
.tool_bar[data-v-20c1791d] {
\
r
\n
float: right;
\
r
\n
margin-top: 20px;
\n
}
\n
.choose_item[data-v-20c1791d] {
\
r
\n
-webkit-box-sizing: border-box;
\
r
\n
box-sizing: border-box;
\
r
\n
margin-bottom: 25px;
\
r
\n
color: rgb(136, 136, 136);
\
r
\n
height: 148px;
\
r
\n
line-height: 148px;
\
r
\n
width: 148px;
\
r
\n
text-align: center;
\
r
\n
border: 1px dashed #c0ccda;
\
r
\n
border-radius: 6px;
\n
}
\n
.display-b[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-orient: horizontal;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: row nowrap;
\
r
\n
flex-flow: row nowrap;
\
r
\n
-webkit-box-pack: justify;
\
r
\n
-ms-flex-pack: justify;
\
r
\n
justify-content: space-between;
\
r
\n
-webkit-box-align: center;
\
r
\n
-ms-flex-align: center;
\
r
\n
align-items: center;
\n
}
\n
.my-teacher[data-v-20c1791d] {
\
r
\n
width: 25%;
\
r
\n
height: 80px;
\
r
\n
background-color: #eee;
\
r
\n
line-height: 80px;
\
r
\n
text-align: center;
\
r
\n
margin-bottom: 10px;
\n
}
\n
.news-media[data-v-20c1791d] {
\
r
\n
padding: 10px;
\
r
\n
width: 25%;
\n
}
\n
.news-media img[data-v-20c1791d] {
\
r
\n
width: 100%;
\n
}
\n
.s-news img[data-v-20c1791d] {
\
r
\n
width: 50px;
\
r
\n
float: right;
\n
}
\n
.title[data-v-20c1791d] {
\
r
\n
font-size: 16px;
\
r
\n
font-weight: 400;
\
r
\n
display: block;
\
r
\n
line-height: 1.2;
\
r
\n
color: #353535;
\n
}
\n
.digest[data-v-20c1791d] {
\
r
\n
padding-top: 12px;
\
r
\n
color: #9a9a9a;
\
r
\n
font-size: 14px;
\n
}
\n
.single-cover[data-v-20c1791d] {
\
r
\n
/*padding: 20px 15px 15px;*/
\n
}
\n
.muti-cover[data-v-20c1791d] {
\
r
\n
position: relative;
\
r
\n
padding: 20px 15px 0 15px;
\n
}
\n
.bottom-title[data-v-20c1791d] {
\
r
\n
color: #ffffff;
\
r
\n
background-color: rgba(0, 0, 0, 0.55);
\
r
\n
position: absolute;
\
r
\n
left: 15px;
\
r
\n
right: 15px;
\
r
\n
bottom: 0;
\
r
\n
padding: 8px 12px;
\n
}
\n
.next-cover[data-v-20c1791d] {
\
r
\n
padding: 12px 15px;
\
r
\n
position: relative;
\n
}
\n
.next-img[data-v-20c1791d] {
\
r
\n
float: right;
\
r
\n
margin-left: 12px;
\
r
\n
width: 60px !important;
\
r
\n
height: 60px !important;
\n
}
\n
.next-title[data-v-20c1791d] {
\
r
\n
overflow: hidden;
\
r
\n
font-weight: 400;
\
r
\n
word-wrap: break-word;
\
r
\n
-webkit-hyphens: auto;
\
r
\n
-ms-hyphens: auto;
\
r
\n
hyphens: auto;
\
r
\n
color: #353535;
\n
}
\n
.single-cover:hover .preview[data-v-20c1791d],
\
r
\n
.bottomCover:hover .preview[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-pack: center;
\
r
\n
-ms-flex-pack: center;
\
r
\n
justify-content: center;
\
r
\n
-webkit-box-align: center;
\
r
\n
-ms-flex-align: center;
\
r
\n
align-items: center;
\
r
\n
color: #fff;
\n
}
\n
.preview[data-v-20c1791d] {
\
r
\n
display: none;
\
r
\n
position: absolute;
\
r
\n
top: 0;
\
r
\n
left: 0;
\
r
\n
width: 100%;
\
r
\n
height: 100%;
\
r
\n
background-color: rgba(0, 0, 0, 0.5);
\
r
\n
text-decoration: none;
\n
}
\n
.f-bt[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
position: relative;
\
r
\n
-webkit-box-pack: justify;
\
r
\n
-ms-flex-pack: justify;
\
r
\n
justify-content: space-between;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\n
.ellip[data-v-20c1791d] {
\
r
\n
overflow: hidden;
\
r
\n
text-overflow: ellipsis;
\
r
\n
white-space: nowrap;
\n
}
\n
.flex-start[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-orient: horizontal;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: row nowrap;
\
r
\n
flex-flow: row nowrap;
\
r
\n
-webkit-box-pack: start;
\
r
\n
-ms-flex-pack: start;
\
r
\n
justify-content: flex-start;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\
r
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/groupSend/index.vue"
],
names
:[],
mappings
:
";AACA,gDAAgD,WAAW;CAC1D;AACD,8BAA8B,qBAAqB,qBAAqB,cAAc;CACrF;AACD,oCAAoC,iCAAiC,oBAAoB,YAAY,QAAQ,aAAa;CACzH;AACD,oCAAoC,aAAa,mBAAmB,oBAAoB;CACvF;AACD,2BAA2B,qBAAqB,qBAAqB,cAAc;CAClF;AACD,iCAAiC,oBAAoB,YAAY,QAAQ;CACxE;AACD,sBAAsB,kBAAkB;CACvC;AACD,2BAA2B,kBAAkB,mBAAmB,gBAAgB;CAC/E;AACD,sCAAsC;AACtC,4BAA4B,aAAa,iBAAiB;CACzD;AACD,kCAAkC,eAAe;CAChD;AACD,yBAAyB,YAAY,aAAa;CACjD;AACD,8BAA8B,kBAAkB;CAC/C;AACD;EACE,aAAa;CACd;AACD;EACE,gBAAgB;CACjB;AACD;EACE,oBAAoB;EACpB,kBAAkB;CACnB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,iBAAiB;EACjB,eAAe;CAChB;AACD;EACE,WAAW;EACX,eAAe;CAChB;AACD;EACE,eAAe;EACf,gBAAgB;CACjB;AACD;EACE,cAAc;EACd,YAAY;CACb;AACD;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB;;kBAEgB;EAChB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,sBAAsB;CACvB;AACD;EACE,mBAAmB;EACnB,WAAW;AACb;IACI,YAAY;CACf;AACD;IACI,mBAAmB;IACnB,SAAS;IACT,UAAU;IACV,cAAc;CACjB;CACA;AACD;EACE,aAAa;CACd;AACD;EACE,eAAe;CAChB;AACD;EACE,aAAa;EACb,iBAAiB;CAClB;AACD;EACE,+BAA+B;UACvB,uBAAuB;EAC/B,oBAAoB;EACpB,0BAA0B;EAC1B,cAAc;EACd,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,2BAA2B;EAC3B,mBAAmB;CACpB;AACD;EACE,qBAAqB;EACrB,qBAAqB;EACrB,cAAc;EACd,+BAA+B;EAC/B,8BAA8B;MAC1B,0BAA0B;UACtB,sBAAsB;EAC9B,0BAA0B;MACtB,uBAAuB;UACnB,+BAA+B;EACvC,0BAA0B;MACtB,uBAAuB;UACnB,oBAAoB;CAC7B;AACD;EACE,WAAW;EACX,aAAa;EACb,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;CACrB;AACD;EACE,cAAc;EACd,WAAW;CACZ;AACD;EACE,YAAY;CACb;AACD;EACE,YAAY;EACZ,aAAa;CACd;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,iBAAiB;EACjB,eAAe;CAChB;AACD;EACE,kBAAkB;EAClB,eAAe;EACf,gBAAgB;CACjB;AACD;EACE,4BAA4B;CAC7B;AACD;EACE,mBAAmB;EACnB,0BAA0B;CAC3B;AACD;EACE,eAAe;EACf,sCAAsC;EACtC,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,UAAU;EACV,kBAAkB;CACnB;AACD;EACE,mBAAmB;EACnB,mBAAmB;CACpB;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,uBAAuB;EACvB,wBAAwB;CACzB;AACD;EACE,iBAAiB;EACjB,iBAAiB;EACjB,sBAAsB;EACtB,sBAAsB;EACtB,kBAAkB;EAClB,cAAc;EACd,eAAe;CAChB;AACD;;EAEE,qBAAqB;EACrB,qBAAqB;EACrB,cAAc;EACd,yBAAyB;MACrB,sBAAsB;UAClB,wBAAwB;EAChC,0BAA0B;MACtB,uBAAuB;UACnB,oBAAoB;EAC5B,YAAY;CACb;AACD;EACE,cAAc;EACd,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,aAAa;EACb,qCAAqC;EACrC,sBAAsB;CACvB;AACD;EACE,qBAAqB;EACrB,qBAAqB;EACrB,cAAc;EACd,mBAAmB;EACnB,0BAA0B;MACtB,uBAAuB;UACnB,+BAA+B;EACvC,yBAAyB;MACrB,sBAAsB;UAClB,wBAAwB;CACjC;AACD;EACE,iBAAiB;EACjB,wBAAwB;EACxB,oBAAoB;CACrB;AACD;EACE,qBAAqB;EACrB,qBAAqB;EACrB,cAAc;EACd,+BAA+B;EAC/B,8BAA8B;MAC1B,0BAA0B;UACtB,sBAAsB;EAC9B,wBAAwB;MACpB,qBAAqB;UACjB,4BAA4B;EACpC,yBAAyB;MACrB,sBAAsB;UAClB,wBAAwB;CACjC"
,
file
:
"index.vue"
,
sourcesContent
:[
"
\n
.el-dialog__wrapper .el-dialog[data-v-20c1791d]{width: 80%;
\n
}
\n
.userInfoBox[data-v-20c1791d]{display: -webkit-box;display: -ms-flexbox;display: flex;
\n
}
\n
.userInfoBox .line[data-v-20c1791d]{border-bottom: 1px solid #dcdfe6;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;height: 10px;
\n
}
\n
.userInfoBox .text[data-v-20c1791d]{width: 200px;text-align: center;margin-bottom: 20px;
\n
}
\n
.tableBox[data-v-20c1791d]{display: -webkit-box;display: -ms-flexbox;display: flex;
\n
}
\n
.tableBox .item[data-v-20c1791d]{-webkit-box-flex: 1;-ms-flex: 1;flex: 1;
\n
}
\n
.box[data-v-20c1791d]{min-height: 500px;
\n
}
\n
.secTitle[data-v-20c1791d]{line-height: 50px;text-align: center;font-size: 18px;
\n
}
\
r
\n
/* .el-radio-group{display: block;} */
\n
.secUinput[data-v-20c1791d]{width: 600px;margin-top: 10px;
\n
}
\n
.el-dialog__body[data-v-20c1791d]{padding-top: 0;
\n
}
\n
.avatar[data-v-20c1791d]{width: 32px;height: 32px;
\n
}
\n
.radio_title[data-v-20c1791d]{line-height: 45px;
\n
}
\n
.el-radio-group .el-radio[data-v-20c1791d]{
\
r
\n
width: 166px;
\n
}
\n
.index[data-v-20c1791d] {
\
r
\n
padding: 20px 0;
\n
}
\n
.top[data-v-20c1791d] {
\
r
\n
margin-bottom: 30px;
\
r
\n
margin-left: 20px;
\n
}
\n
.title[data-v-20c1791d] {
\
r
\n
font-size: 16px;
\
r
\n
font-weight: 400;
\
r
\n
display: block;
\
r
\n
line-height: 1.2;
\
r
\n
color: #353535;
\n
}
\n
.inner-edit_area[data-v-20c1791d] {
\
r
\n
width: 96%;
\
r
\n
margin: 0 auto;
\n
}
\n
.upload-video[data-v-20c1791d] {
\
r
\n
display: block;
\
r
\n
margin-left: 2%;
\n
}
\n
.b-title[data-v-20c1791d] {
\
r
\n
padding: 20px;
\
r
\n
color: #666;
\n
}
\n
.emotion_switch[data-v-20c1791d] {
\
r
\n
float: left;
\
r
\n
height: 28px;
\
r
\n
line-height: 999em;
\
r
\n
overflow: hidden;
\
r
\n
background: transparent
\
r
\n
url(https://res.wx.qq.com/mpres/en_US/htmledition/pages/modules/reply/images/icon_emotion_switch.png)
\
r
\n
no-repeat 0 0;
\
r
\n
width: 20px;
\
r
\n
height: 20px;
\
r
\n
vertical-align: middle;
\
r
\n
display: inline-block;
\n
}
\n
.img[data-v-20c1791d] {
\
r
\n
position: relative;
\
r
\n
width: 25%;
\n
img {
\
r
\n
width: 100%;
\n
}
\n
.el-icon-delete {
\
r
\n
position: absolute;
\
r
\n
top: 50%;
\
r
\n
left: 50%;
\
r
\n
display: none;
\n
}
\n
}
\n
.img:hover img[data-v-20c1791d] {
\
r
\n
opacity: 0.3;
\n
}
\n
.img:hover .el-icon-delete[data-v-20c1791d] {
\
r
\n
display: block;
\n
}
\n
.tool_bar[data-v-20c1791d] {
\
r
\n
float: right;
\
r
\n
margin-top: 20px;
\n
}
\n
.choose_item[data-v-20c1791d] {
\
r
\n
-webkit-box-sizing: border-box;
\
r
\n
box-sizing: border-box;
\
r
\n
margin-bottom: 25px;
\
r
\n
color: rgb(136, 136, 136);
\
r
\n
height: 148px;
\
r
\n
line-height: 148px;
\
r
\n
width: 148px;
\
r
\n
text-align: center;
\
r
\n
border: 1px dashed #c0ccda;
\
r
\n
border-radius: 6px;
\n
}
\n
.display-b[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-orient: horizontal;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: row nowrap;
\
r
\n
flex-flow: row nowrap;
\
r
\n
-webkit-box-pack: justify;
\
r
\n
-ms-flex-pack: justify;
\
r
\n
justify-content: space-between;
\
r
\n
-webkit-box-align: center;
\
r
\n
-ms-flex-align: center;
\
r
\n
align-items: center;
\n
}
\n
.my-teacher[data-v-20c1791d] {
\
r
\n
width: 25%;
\
r
\n
height: 80px;
\
r
\n
background-color: #eee;
\
r
\n
line-height: 80px;
\
r
\n
text-align: center;
\
r
\n
margin-bottom: 10px;
\n
}
\n
.news-media[data-v-20c1791d] {
\
r
\n
padding: 10px;
\
r
\n
width: 25%;
\n
}
\n
.news-media img[data-v-20c1791d] {
\
r
\n
width: 100%;
\n
}
\n
.s-news img[data-v-20c1791d] {
\
r
\n
width: 50px;
\
r
\n
float: right;
\n
}
\n
.title[data-v-20c1791d] {
\
r
\n
font-size: 16px;
\
r
\n
font-weight: 400;
\
r
\n
display: block;
\
r
\n
line-height: 1.2;
\
r
\n
color: #353535;
\n
}
\n
.digest[data-v-20c1791d] {
\
r
\n
padding-top: 12px;
\
r
\n
color: #9a9a9a;
\
r
\n
font-size: 14px;
\n
}
\n
.single-cover[data-v-20c1791d] {
\
r
\n
/*padding: 20px 15px 15px;*/
\n
}
\n
.muti-cover[data-v-20c1791d] {
\
r
\n
position: relative;
\
r
\n
padding: 20px 15px 0 15px;
\n
}
\n
.bottom-title[data-v-20c1791d] {
\
r
\n
color: #ffffff;
\
r
\n
background-color: rgba(0, 0, 0, 0.55);
\
r
\n
position: absolute;
\
r
\n
left: 15px;
\
r
\n
right: 15px;
\
r
\n
bottom: 0;
\
r
\n
padding: 8px 12px;
\n
}
\n
.next-cover[data-v-20c1791d] {
\
r
\n
padding: 12px 15px;
\
r
\n
position: relative;
\n
}
\n
.next-img[data-v-20c1791d] {
\
r
\n
float: right;
\
r
\n
margin-left: 12px;
\
r
\n
width: 60px !important;
\
r
\n
height: 60px !important;
\n
}
\n
.next-title[data-v-20c1791d] {
\
r
\n
overflow: hidden;
\
r
\n
font-weight: 400;
\
r
\n
word-wrap: break-word;
\
r
\n
-webkit-hyphens: auto;
\
r
\n
-ms-hyphens: auto;
\
r
\n
hyphens: auto;
\
r
\n
color: #353535;
\n
}
\n
.single-cover:hover .preview[data-v-20c1791d],
\
r
\n
.bottomCover:hover .preview[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-pack: center;
\
r
\n
-ms-flex-pack: center;
\
r
\n
justify-content: center;
\
r
\n
-webkit-box-align: center;
\
r
\n
-ms-flex-align: center;
\
r
\n
align-items: center;
\
r
\n
color: #fff;
\n
}
\n
.preview[data-v-20c1791d] {
\
r
\n
display: none;
\
r
\n
position: absolute;
\
r
\n
top: 0;
\
r
\n
left: 0;
\
r
\n
width: 100%;
\
r
\n
height: 100%;
\
r
\n
background-color: rgba(0, 0, 0, 0.5);
\
r
\n
text-decoration: none;
\n
}
\n
.f-bt[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
position: relative;
\
r
\n
-webkit-box-pack: justify;
\
r
\n
-ms-flex-pack: justify;
\
r
\n
justify-content: space-between;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\n
.ellip[data-v-20c1791d] {
\
r
\n
overflow: hidden;
\
r
\n
text-overflow: ellipsis;
\
r
\n
white-space: nowrap;
\n
}
\n
.flex-start[data-v-20c1791d] {
\
r
\n
display: -webkit-box;
\
r
\n
display: -ms-flexbox;
\
r
\n
display: flex;
\
r
\n
-webkit-box-orient: horizontal;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: row nowrap;
\
r
\n
flex-flow: row nowrap;
\
r
\n
-webkit-box-pack: start;
\
r
\n
-ms-flex-pack: start;
\
r
\n
justify-content: flex-start;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\
r
\n
"
],
sourceRoot
:
""
}])},
HK0P
:
function
(
e
,
t
,
i
){
var
n
=
i
(
"GVQD"
);
"string"
==
typeof
n
&&
(
n
=
[[
e
.
i
,
n
,
""
]]),
n
.
locals
&&
(
e
.
exports
=
n
.
locals
);
i
(
"rjj0"
)(
"6dfa67e6"
,
n
,
!
1
,{})},
ac5S
:
function
(
e
,
t
,
i
){
var
n
=
i
(
"eIjc"
);
"string"
==
typeof
n
&&
(
n
=
[[
e
.
i
,
n
,
""
]]),
n
.
locals
&&
(
e
.
exports
=
n
.
locals
);
i
(
"rjj0"
)(
"a8244922"
,
n
,
!
1
,{})},
eIjc
:
function
(
e
,
t
,
i
){(
e
.
exports
=
i
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.el-radio-group {
\
r
\n
/* display: flex !important; */
\
r
\n
-webkit-box-orient: vertical;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: column;
\
r
\n
flex-flow: column;
\
r
\n
-webkit-box-pack: start;
\
r
\n
-ms-flex-pack: start;
\
r
\n
justify-content: flex-start;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\n
.el-radio + .el-radio {
\
r
\n
margin-left: 0 !important;
\n
}
\n
.el-radio {
\
r
\n
margin-bottom: 6px;
\n
}
\
r
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/groupSend/index.vue"
],
names
:[],
mappings
:
";AACA;EACE,+BAA+B;EAC/B,6BAA6B;EAC7B,8BAA8B;MAC1B,sBAAsB;UAClB,kBAAkB;EAC1B,wBAAwB;MACpB,qBAAqB;UACjB,4BAA4B;EACpC,yBAAyB;MACrB,sBAAsB;UAClB,wBAAwB;CACjC;AACD;EACE,0BAA0B;CAC3B;AACD;EACE,mBAAmB;CACpB"
,
file
:
"index.vue"
,
sourcesContent
:[
"
\n
.el-radio-group {
\
r
\n
/* display: flex !important; */
\
r
\n
-webkit-box-orient: vertical;
\
r
\n
-webkit-box-direction: normal;
\
r
\n
-ms-flex-flow: column;
\
r
\n
flex-flow: column;
\
r
\n
-webkit-box-pack: start;
\
r
\n
-ms-flex-pack: start;
\
r
\n
justify-content: flex-start;
\
r
\n
-webkit-box-align: start;
\
r
\n
-ms-flex-align: start;
\
r
\n
align-items: flex-start;
\n
}
\n
.el-radio + .el-radio {
\
r
\n
margin-left: 0 !important;
\n
}
\n
.el-radio {
\
r
\n
margin-bottom: 6px;
\n
}
\
r
\n
"
],
sourceRoot
:
""
}])},
oerw
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
i
(
"CCn6"
),
a
=
i
(
"kmJW"
),
o
=
i
(
"C+jy"
),
s
=
i
(
"sf/l"
),
r
=
i
(
"+TkF"
);
function
l
(
e
){
if
(
Array
.
isArray
(
e
)){
for
(
var
t
=
0
,
i
=
Array
(
e
.
length
);
t
<
e
.
length
;
t
++
)
i
[
t
]
=
e
[
t
];
return
i
}
return
Array
.
from
(
e
)}
function
d
(
e
,
t
,
i
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
i
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
i
,
e
}
var
c
=
{
name
:
"index"
,
components
:{
page
:
a
.
a
,
page2
:
a
.
a
,
pageImage
:
a
.
a
,
emotion
:
o
.
a
},
data
:
function
(){
var
e
;
return
d
(
e
=
{
checksex
:[],
sex
:[{
name
:
"保密"
,
code
:
"0"
},{
name
:
"男"
,
code
:
"1"
},{
name
:
"女"
,
code
:
"2"
}],
province
:[
"上海"
,
"云南"
,
"内蒙古"
,
"北京"
,
"台湾"
,
"吉林"
,
"四川"
,
"天津"
,
"宁夏"
,
"安徽"
,
"山东"
,
"山西"
,
"广东"
,
"广西"
,
"新疆"
,
"江苏"
,
"江西"
,
"河北"
,
"河南"
,
"浙江"
,
"海南"
,
"湖北"
,
"湖南"
,
"澳门"
,
"甘肃"
,
"福建"
,
"西藏"
,
"贵州"
,
"辽宁"
,
"重庆"
,
"陕西"
,
"青海"
,
"香港"
,
"黑龙江"
],
secProvince
:[],
checkAll
:
!
1
,
isIndeterminate
:
!
1
,
sendReviewDialog
:
!
1
,
sendReviewId
:
""
,
goodList
:[],
periodsDialog
:{
show
:
!
1
},
goodsDialog
:{
show
:
!
1
},
handSecUserIds
:
""
,
handSecUser
:[],
handSecUserShow
:[],
secGoods_ids
:
""
,
secGoods
:[],
secGoodsShow
:[],
secPeriods_ids
:
""
,
secPeriods
:[],
secPeriodsShow
:[],
userList
:[],
periodList
:[],
goodsId
:
null
,
lessonId
:
null
,
lessonList
:[],
periodStartTime
:
null
,
periodTitle
:
null
,
course_type
:
"1"
,
radio1
:
1
,
radio2
:
1
,
radio3
:
1
,
nowPage
:
1
,
total
:
0
,
limit
:
10
,
mediaPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
show
:
!
1
,
loading
:
!
1
,
activeName
:
"text"
,
list
:[],
content
:
""
,
uploadShow
:
!
0
,
imageList
:[],
fileList
:[],
imageContent
:
""
,
videoContent
:
""
,
searchFrom
:{
type
:
1
,
is_test
:
!
1
},
goodSearchFrom
:{
status
:
"1"
},
tableData
:[],
fileUid
:
null
,
userDialog
:{
total
:
0
,
limit
:
5
,
nowPage
:
1
,
show
:
!
1
},
searchUserFrom
:{},
multipleSelection
:[],
showEmotion
:
!
1
,
showMedia
:
!
1
,
showImage
:
!
1
,
showVideo
:
!
1
,
mediaList
:[],
mediaImageList
:[],
mediaVideoList
:[],
mediaImagePage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
mediaVideoPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
}},
"imageContent"
,
null
),
d
(
e
,
"videoContent"
,
null
),
d
(
e
,
"newsContent"
,
null
),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
r
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
},
isOrNot
:
function
(
e
){
return
r
.
o
[
e
]},
goodsType
:
function
(
e
){
return
r
.
h
[
e
]},
lessonType
:
function
(
e
){
return
r
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
r
.
g
[
e
]},
typeFilter
:
function
(
e
){
if
(
e
)
return
"text"
===
e
?
"文本"
:
"image"
===
e
?
"图片"
:
"video"
===
e
?
"视频"
:
"news"
===
e
?
"图文"
:
void
0
},
typeListFilter
:
function
(
e
){
return
e
?
1
===
e
?
"48时内关注但未购课用户"
:
2
===
e
?
"有体验课但没有正式课用户"
:
3
===
e
?
"未试听用户"
:
4
===
e
?
"指定用户手机号"
:
void
0
:
""
}},
methods
:{
handleCheckAllChange
:
function
(
e
){
var
t
=
this
;
console
.
log
(
e
),
e
?
this
.
sex
.
forEach
(
function
(
e
){
t
.
checksex
.
push
(
e
.
code
)}):
this
.
checksex
=
[],
console
.
log
(
this
.
checksex
),
this
.
isIndeterminate
=!
1
},
sexChange
:
function
(
e
){
var
t
=
e
.
length
;
this
.
checkAll
=
t
===
this
.
sex
.
length
,
this
.
isIndeterminate
=
t
>
0
&&
t
<
this
.
sex
.
length
},
updateFans
:
function
(){
var
e
=
this
;
Object
(
n
.
_117
)({}).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"同步成功!"
})})},
getMsgCount
:
function
(
e
){
return
new
Promise
(
function
(
t
,
i
){
var
a
=
{};
a
.
type
=
e
.
type
,
e
.
fans_type
&&
(
a
.
fans_type
=
e
.
fans_type
),
e
.
course_type
&&
(
a
.
course_type
=
e
.
course_type
),
e
.
ids
&&
(
a
.
ids
=
e
.
ids
),
Object
(
n
.
_48
)(
a
).
then
(
function
(
e
){
console
.
log
(
e
),
t
(
e
)})})},
getLessonOption
:
function
(){
var
e
=
this
;
Object
(
n
.
_43
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
t
){
e
.
lessonList
=
t
.
list
})},
onPeriodsPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
onPeriodsSearch
()},
onPeriodsSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
onPeriodsSearch
()},
onPeriodsSearch
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
course_type
&&
(
t
.
course_type
=
this
.
course_type
),
this
.
periodTitle
&&
(
t
.
title
=
this
.
periodTitle
),
this
.
goodsId
&&
(
t
.
goods_id
=
this
.
goodsId
),
this
.
lessonId
&&
(
t
.
course_id
=
this
.
lessonId
),
this
.
periodStartTime
&&
this
.
periodStartTime
.
length
>
0
&&
(
t
.
start_start_at
=
s
.
a
.
dateFmt
(
this
.
periodStartTime
[
0
],
"yyyy-MM-dd"
),
t
.
start_end_at
=
s
.
a
.
dateFmt
(
this
.
periodStartTime
[
1
],
"yyyy-MM-dd"
)),
this
.
startAt
&&
(
t
.
start_at
=
this
.
startAt
),
Object
(
n
.
_53
)(
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
arrive_course_rate
=
0
,
e
.
watch_course_rate
=
0
,
e
.
over_course_rate
=
0
,
e
.
work_rate
=
0
,
e
.
over_work_rate
=
0
,
e
.
clock_rate
=
0
,
e
.
over_clock_rate
=
0
,
e
.
transform_rate
=
0
}),
e
.
periodList
=
t
.
list
,
e
.
total
=
t
.
total
})},
getGoods
:
function
(){
var
e
=
this
,
t
=
{
limit
:
"100"
,
page
:
this
.
nowPage
};
this
.
goodSearchFrom
.
status
&&
"-1"
!==
this
.
goodSearchFrom
.
status
&&
(
t
.
status
=
this
.
goodSearchFrom
.
status
),
console
.
log
(
613
),
Object
(
n
.
_40
)(
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
.
goodList
=
t
.
list
})},
radio1change
:
function
(){
3
==
this
.
radio1
&&
this
.
onSelectUser
()},
radio2change
:
function
(
e
){},
radio3change
:
function
(){
2
==
this
.
radio3
?(
this
.
getGoods
(),
this
.
goodsDialog
.
show
=!
0
):
3
==
this
.
radio3
&&
(
this
.
getLessonOption
(),
this
.
onPeriodsSearch
(),
this
.
periodsDialog
.
show
=!
0
),
console
.
log
(
this
.
radio3
)},
handleClick
:
function
(
e
){
this
.
activeName
=
e
.
name
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
,
this
.
imageList
=
[],
this
.
imageContent
=
""
},
handleRemoveVideo
:
function
(){
this
.
videoContent
=
""
,
this
.
fileList
=
[]},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleAvatarSuccess
:
function
(
e
){
this
.
imageList
=
[{
name
:
e
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
data
.
url
}]},
uploadFile
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
n
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
e
){
t
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
t
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideo
:
function
(
e
){
var
t
=
this
;
Object
(
n
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
i
){
t
.
uploadVideoFile
(
e
,
i
)}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideoFile
:
function
(
e
,
t
){
var
i
=
this
;
this
.
fileUid
=
e
.
file
.
uid
,
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
n
.
_126
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
n
){
i
.
videoContent
=
{
content
:
t
.
media_id
,
url
:
"https://cdn.singsingenglish.com/"
+
n
.
url
},
i
.
fileList
=
[{
name
:
n
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
n
.
url
}],
i
.
loading
=!
1
,
i
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
i
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"delete"
,
id
:
e
.
file
.
uid
}),
i
.
fileUid
=
null
}).
catch
(
function
(){
i
.
loading
=!
1
,
i
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
sendReview
:
function
(){
var
e
=
this
,
t
=
{};
t
.
test_id
=
this
.
sendReviewId
;
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
:
"请选择图文!"
}));
t
.
content
=
JSON
.
stringify
(
i
),
Object
(
n
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
sendReviewDialog
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})},
send
:
function
(){
var
e
=
this
,
t
=
{};
t
.
type
=
this
.
radio1
;
if
(
3
==
t
.
type
){
if
(
!
this
.
handSecUserIds
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
t
.
ids
=
this
.
handSecUserIds
}
if
(
2
==
t
.
type
&&
(
t
.
fans_type
=
this
.
radio2
,
3
==
t
.
fans_type
))
if
(
t
.
course_type
=
this
.
radio3
,
2
==
t
.
course_type
){
if
(
!
this
.
secGoods_ids
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择商品!"
});
t
.
ids
=
this
.
secGoods_ids
}
else
if
(
3
==
t
.
course_type
){
if
(
!
this
.
secPeriods_ids
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择期数!"
});
t
.
ids
=
this
.
secPeriods_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
:
"请选择图文!"
}));
this
.
checksex
&&
(
t
.
sex
=
this
.
checksex
.
join
(
","
)),
this
.
secProvince
&&
(
t
.
province
=
this
.
secProvince
.
join
(
","
)),
t
.
content
=
JSON
.
stringify
(
i
),
t
.
is_test
=
this
.
searchFrom
.
is_test
?
2
:
1
,
Object
(
n
.
_117
)({}).
then
(
function
(
i
){
e
.
getMsgCount
(
t
).
then
(
function
(
i
){
e
.
$confirm
(
"你将发送给"
+
i
+
"位用户"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
n
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
show
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})}).
catch
(
function
(){
e
.
$message
({
type
:
"info"
,
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
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
Object
(
n
.
_49
)(
t
).
then
(
function
(
t
){
e
.
tableData
=
t
.
list
,
e
.
total
=
t
.
total
})},
onMediaPageChange
:
function
(
e
){
this
.
mediaPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onMediaSizeChange
:
function
(){
this
.
mediaPage
.
nowPage
=
1
,
this
.
mediaPage
.
limit
=
val
,
this
.
getMediaList
()},
onImagePageChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
e
,
this
.
getMediaList
()},
onImageSizeChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
1
,
this
.
mediaImagePage
.
limit
=
e
,
this
.
getMediaList
()},
onVideoPageChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onVideoSizeChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
1
,
this
.
mediaVideoPage
.
limit
=
e
,
this
.
getMediaList
()},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getMsgList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getMsgList
()},
getUser
:
function
(){
var
e
=
this
,
t
=
{
page
:
this
.
userDialog
.
nowPage
,
limit
:
this
.
userDialog
.
limit
};
this
.
searchUserFrom
.
userId
&&
(
t
.
user_id
=
this
.
searchUserFrom
.
userId
),
this
.
searchUserFrom
.
nickName
&&
(
t
.
nickname
=
this
.
searchUserFrom
.
nickName
),
this
.
searchUserFrom
.
mobile
&&
(
t
.
mobile
=
this
.
searchUserFrom
.
mobile
),
Object
(
n
.
_77
)(
t
).
then
(
function
(
t
){
e
.
userList
=
t
.
list
,
e
.
userDialog
.
total
=
t
.
total
})},
onUserPageChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
e
,
this
.
getUser
()},
onUserSizeChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
1
,
this
.
userDialog
.
limit
=
e
,
this
.
getUser
()},
periodsSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
secPeriods
.
length
;
i
++
)
if
(
t
.
id
==
this
.
secPeriods
[
i
].
id
)
return
;
this
.
secPeriods
.
push
(
t
)},
periodSelectionAll
:
function
(
e
){
if
(
0
==
this
.
secPeriods
.
length
)
this
.
secPeriods
=
[].
concat
(
l
(
e
));
else
for
(
var
t
=
this
.
secPeriods
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
n
=
0
;
n
<=
t
&&
e
[
i
].
id
!=
this
.
secPeriods
[
n
].
id
;
n
++
)
if
(
n
==
t
-
1
){
this
.
secPeriods
.
push
(
e
[
i
]);
break
}},
perioddel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
secPeriods
.
length
;
t
++
)
e
.
id
==
this
.
secPeriods
[
t
].
id
&&
this
.
secPeriods
.
splice
(
t
,
1
);
console
.
log
(
this
.
secPeriods
)},
onPeriodsConfirm
:
function
(){
var
e
=
this
.
secPeriods
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择期数!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
id
)});
var
i
=
t
,
n
=
this
.
dedupe
(
i
);
this
.
secPeriods_ids
=
n
.
join
(
","
),
console
.
log
(
this
.
secPeriods_ids
),
this
.
periodsDialog
.
show
=!
1
,
this
.
secPeriodsShow
=
this
.
secPeriods
}},
goodsSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
secGoods
.
length
;
i
++
)
if
(
t
.
id
==
this
.
secGoods
[
i
].
id
)
return
;
this
.
secGoods
.
push
(
t
),
console
.
log
(
t
)},
goodsSelectionAll
:
function
(
e
){
if
(
0
==
this
.
secGoods
.
length
)
this
.
secGoods
=
[].
concat
(
l
(
e
));
else
for
(
var
t
=
this
.
secGoods
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
n
=
0
;
n
<=
t
&&
e
[
i
].
id
!=
this
.
secGoods
[
n
].
id
;
n
++
)
if
(
n
==
t
-
1
){
this
.
secGoods
.
push
(
e
[
i
]);
break
}},
goodsdel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
secGoods
.
length
;
t
++
)
e
.
id
==
this
.
secGoods
[
t
].
id
&&
this
.
secGoods
.
splice
(
t
,
1
)},
onGoodsConfirm
:
function
(){
var
e
=
this
.
secGoods
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择商品!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
id
)});
var
i
=
t
,
n
=
this
.
dedupe
(
i
);
this
.
secGoods_ids
=
n
.
join
(
","
),
console
.
log
(
this
.
secGoods_ids
),
this
.
secGoodsShow
=
this
.
secGoods
,
this
.
goodsDialog
.
show
=!
1
}},
handleSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
handSecUser
.
length
;
i
++
)
if
(
t
.
user_id
==
this
.
handSecUser
[
i
].
user_id
)
return
;
this
.
handSecUser
.
push
(
t
)},
handleSelectionAll
:
function
(
e
){
if
(
0
==
this
.
handSecUser
.
length
)
this
.
handSecUser
=
[].
concat
(
l
(
e
));
else
for
(
var
t
=
this
.
handSecUser
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
n
=
0
;
n
<=
t
&&
e
[
i
].
user_id
!=
this
.
handSecUser
[
n
].
user_id
;
n
++
)
if
(
n
==
t
-
1
){
this
.
handSecUser
.
push
(
e
[
i
]);
break
}},
userdel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
handSecUser
.
length
;
t
++
)
e
.
user_id
==
this
.
handSecUser
[
t
].
user_id
&&
this
.
handSecUser
.
splice
(
t
,
1
)},
onSelectUser
:
function
(){
this
.
userDialog
.
show
=!
0
,
this
.
getUser
()},
onConfirm
:
function
(){
console
.
log
(
this
.
handSecUser
);
var
e
=
this
.
handSecUser
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
user_id
)});
var
i
=
t
;
this
.
searchFrom
.
user_ids
&&
(
i
=
t
.
concat
(
this
.
stringToInt
(
this
.
searchFrom
.
user_ids
.
split
(
","
))));
var
n
=
this
.
dedupe
(
i
);
this
.
handSecUserIds
=
n
.
join
(
","
),
this
.
handSecUserShow
=
this
.
handSecUser
,
console
.
log
(
n
),
this
.
userDialog
.
show
=!
1
}},
dedupe
:
function
(
e
){
return
Array
.
from
(
new
Set
(
e
))},
stringToInt
:
function
(
e
){
var
t
=
e
||
[];
return
t
=
t
.
map
(
function
(
e
){
return
parseInt
(
e
,
10
)})},
emotion
:
function
(
e
){
var
t
=
e
.
replace
(
/
\/
/gi
,
""
);
return
'<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/'
+
[
"微笑"
,
"撇嘴"
,
"色"
,
"发呆"
,
"得意"
,
"流泪"
,
"害羞"
,
"闭嘴"
,
"睡"
,
"大哭"
,
"尴尬"
,
"发怒"
,
"调皮"
,
"呲牙"
,
"惊讶"
,
"难过"
,
"酷"
,
"冷汗"
,
"抓狂"
,
"吐"
,
"偷笑"
,
"可爱"
,
"白眼"
,
"傲慢"
,
"饥饿"
,
"困"
,
"惊恐"
,
"流汗"
,
"憨笑"
,
"大兵"
,
"奋斗"
,
"咒骂"
,
"疑问"
,
"嘘"
,
"晕"
,
"折磨"
,
"衰"
,
"骷髅"
,
"敲打"
,
"再见"
,
"擦汗"
,
"抠鼻"
,
"鼓掌"
,
"糗大了"
,
"坏笑"
,
"左哼哼"
,
"右哼哼"
,
"哈欠"
,
"鄙视"
,
"委屈"
,
"快哭了"
,
"阴险"
,
"亲亲"
,
"吓"
,
"可怜"
,
"菜刀"
,
"西瓜"
,
"啤酒"
,
"篮球"
,
"乒乓"
,
"咖啡"
,
"饭"
,
"猪头"
,
"玫瑰"
,
"凋谢"
,
"示爱"
,
"爱心"
,
"心碎"
,
"蛋糕"
,
"闪电"
,
"炸弹"
,
"刀"
,
"足球"
,
"瓢虫"
,
"便便"
,
"月亮"
,
"太阳"
,
"礼物"
,
"拥抱"
,
"强"
,
"弱"
,
"握手"
,
"胜利"
,
"抱拳"
,
"勾引"
,
"拳头"
,
"差劲"
,
"爱你"
,
"NO"
,
"OK"
,
"爱情"
,
"飞吻"
,
"跳跳"
,
"发抖"
,
"怄火"
,
"转圈"
,
"磕头"
,
"回头"
,
"跳绳"
,
"挥手"
,
"激动"
,
"街舞"
,
"献吻"
,
"左太极"
,
"右太极"
].
indexOf
(
t
)
+
'.gif" align="middle">'
},
handleEmotion
:
function
(
e
){
this
.
content
+=
e
},
onChooseMedia
:
function
(
e
){
console
.
log
(
"onChooseMedia"
,
e
),
"image"
===
this
.
type
?(
this
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
this
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
this
.
showImage
=!
1
):
"video"
===
this
.
type
?(
this
.
videoContent
=
{
content
:
e
.
media_id
,
url
:
e
.
info
.
down_url
},
this
.
fileList
=
[{
name
:
e
.
info
.
title
,
url
:
e
.
info
.
url
}],
this
.
showVideo
=!
1
):
"news"
===
this
.
type
&&
(
this
.
newsContent
=
e
,
this
.
showMedia
=!
1
)},
getMediaList
:
function
(){
var
e
=
this
,
t
=
this
.
activeName
,
i
=
{
type
:
t
,
page
:
this
.
mediaPage
.
nowPage
,
limit
:
this
.
mediaPage
.
limit
};
"image"
===
t
?(
i
.
page
=
this
.
mediaImagePage
.
nowPage
,
i
.
limit
=
this
.
mediaImagePage
.
limit
,
this
.
showImage
=!
0
):
"video"
===
t
?(
i
.
page
=
this
.
mediaVideoPage
.
nowPage
,
i
.
limit
=
this
.
mediaVideoPage
.
limit
,
this
.
showVideo
=!
0
):
"news"
===
t
&&
(
i
.
page
=
this
.
mediaPage
.
nowPage
,
i
.
limit
=
this
.
mediaPage
.
limit
,
this
.
showMedia
=!
0
),
this
.
loading
=!
0
,
Object
(
n
.
_46
)(
i
).
then
(
function
(
i
){
e
.
loading
=!
1
,
e
.
type
=
t
,
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
,
"image"
===
t
?(
e
.
mediaImageList
=
i
.
item
,
e
.
mediaImagePage
.
total
=
i
.
total_count
):
"video"
===
t
?(
e
.
mediaVideoList
=
i
.
item
,
e
.
mediaVideoPage
.
total
=
i
.
total_count
):
"news"
===
t
&&
(
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
),
0
===
e
.
total
&&
e
.
$message
({
showClose
:
!
0
,
message
:
"暂无数据"
})}).
catch
(
function
(){
e
.
loading
=!
1
})},
defaultTime
:
function
(){
var
e
=
(
new
Date
).
getTime
(),
t
=
e
-
1728
e5
;
this
.
searchFrom
.
time
=
[
new
Date
(
t
),
new
Date
(
e
)]}},
mounted
:
function
(){
this
.
getMsgList
(),
this
.
defaultTime
()},
computed
:{
progress
:
function
(){
var
e
=
this
;
return
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
<
100
?
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
:
100
}}},
p
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"index"
},[
i
(
"el-tabs"
,{
attrs
:{
type
:
"border-card"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"编辑内容"
}},[
i
(
"div"
,{
staticClass
:
"box"
},[
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择发送范围 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
model
:{
value
:
e
.
radio1
,
callback
:
function
(
t
){
e
.
radio1
=
t
},
expression
:
"radio1"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"全部粉丝"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"按条件筛选"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"手动选择粉丝"
)])],
1
)],
1
),
e
.
_v
(
" "
),
3
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio1change
}},[
e
.
_v
(
"编辑用户"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选用户ID:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"70%"
},
attrs
:{
data
:
e
.
handSecUserShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"用户名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"user_id"
,
label
:
"用户Id"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
radio1
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择用户性别 :"
)]),
e
.
_v
(
" "
),
i
(
"el-checkbox"
,{
staticStyle
:{
"margin-bottom"
:
"10px"
},
attrs
:{
indeterminate
:
e
.
isIndeterminate
},
on
:{
change
:
e
.
handleCheckAllChange
},
model
:{
value
:
e
.
checkAll
,
callback
:
function
(
t
){
e
.
checkAll
=
t
},
expression
:
"checkAll"
}},[
e
.
_v
(
"全选"
)]),
e
.
_v
(
" "
),
i
(
"el-checkbox-group"
,{
on
:{
change
:
e
.
sexChange
},
model
:{
value
:
e
.
checksex
,
callback
:
function
(
t
){
e
.
checksex
=
t
},
expression
:
"checksex"
}},
e
.
_l
(
e
.
sex
,
function
(
t
){
return
i
(
"el-checkbox"
,{
key
:
t
.
code
,
attrs
:{
label
:
t
.
code
}},[
e
.
_v
(
e
.
_s
(
t
.
name
))])})),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择地区 :"
)]),
e
.
_v
(
" "
),
i
(
"el-select"
,{
staticStyle
:{
width
:
"300px"
},
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
clearable
:
""
,
filterable
:
""
},
model
:{
value
:
e
.
secProvince
,
callback
:
function
(
t
){
e
.
secProvince
=
t
},
expression
:
"secProvince"
}},
e
.
_l
(
e
.
province
,
function
(
e
){
return
i
(
"el-option"
,{
key
:
e
,
attrs
:{
label
:
e
,
value
:
e
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择用户类型 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
on
:{
change
:
e
.
radio2change
},
model
:{
value
:
e
.
radio2
,
callback
:
function
(
t
){
e
.
radio2
=
t
},
expression
:
"radio2"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"无手机号用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"有手机号但无课用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"有课用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择课程类型 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
model
:{
value
:
e
.
radio3
,
callback
:
function
(
t
){
e
.
radio3
=
t
},
expression
:
"radio3"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"所有有课用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"根据商品选择用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"根据期数选择用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
&&
2
==
e
.
radio3
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio3change
}},[
e
.
_v
(
"编辑商品"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选商品:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"30%"
},
attrs
:{
data
:
e
.
secGoodsShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"商品名称"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
&&
3
==
e
.
radio3
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio3change
}},[
e
.
_v
(
"编辑期数"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选期数:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"30%"
},
attrs
:{
data
:
e
.
secPeriodsShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"期数标题"
}})],
1
)],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
handleClick
},
model
:{
value
:
e
.
activeName
,
callback
:
function
(
t
){
e
.
activeName
=
t
},
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
:
e
.
content
,
callback
:
function
(
t
){
e
.
content
=
t
},
expression
:
"content"
}})],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
float
:
"right"
,
"margin-right"
:
"15px"
}},[
i
(
"el-popover"
,{
attrs
:{
placement
:
"bottom-end"
,
width
:
"400"
,
offset
:
10
,
trigger
:
"hover"
},
model
:{
value
:
e
.
showEmotion
,
callback
:
function
(
t
){
e
.
showEmotion
=
t
},
expression
:
"showEmotion"
}},[
i
(
"div"
,[
i
(
"emotion"
,{
attrs
:{
height
:
200
},
on
:{
emotion
:
e
.
handleEmotion
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
type
:
"text"
},
on
:{
click
:
function
(
t
){
e
.
showEmotion
=!
e
.
showEmotion
}},
slot
:
"reference"
},[
i
(
"span"
,{
staticClass
:
"icon_emotion emotion_switch"
})])],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图片"
,
name
:
"image"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"div"
,[
i
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadFile
,
"before-upload"
:
e
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
e
.
imageList
,
"on-success"
:
e
.
handleAvatarSuccess
,
"on-remove"
:
e
.
handleRemove
,
limit
:
1
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
,
staticStyle
:{
"margin-left"
:
"10px"
}},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])])]),
e
.
_v
(
" "
),
e
.
showImage
&&
e
.
mediaImageList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaImageList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"a"
,{
attrs
:{
href
:
e
.
row
.
url
}},[
i
(
"img"
,{
staticStyle
:{
width
:
"60px"
},
attrs
:{
src
:
e
.
row
.
url
}})])]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page-image"
,{
attrs
:{
total
:
e
.
mediaImagePage
.
total
,
limit
:
e
.
mediaImagePage
.
limit
},
on
:{
pageChange
:
e
.
onImagePageChange
,
sizeChange
:
e
.
onImageSizeChange
},
model
:{
value
:
e
.
mediaImagePage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaImagePage
,
"nowPage"
,
t
)},
expression
:
"mediaImagePage.nowPage"
}})],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"视频"
,
name
:
"video"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"el-upload"
,{
staticClass
:
"upload-video"
,
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadVideo
,
"file-list"
:
e
.
fileList
,
"on-remove"
:
e
.
handleRemoveVideo
,
limit
:
1
}},[
i
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"primary"
,
disabled
:
e
.
fileUid
&&
e
.
progress
<
99
}},[
e
.
_v
(
"点击上传"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
width
:
"300px"
}},[
e
.
fileUid
?
i
(
"el-progress"
,{
attrs
:{
percentage
:
e
.
progress
}}):
e
.
_e
()],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])])],
1
),
e
.
_v
(
" "
),
e
.
showVideo
&&
e
.
mediaVideoList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaVideoList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
info
&&
t
.
row
.
info
.
down_url
?
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
info
.
down_url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
info
.
title
)
+
"
\
r
\n
"
)]):
e
.
_e
()]}}])})],
1
)],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图文"
,
name
:
"news"
}},[
e
.
newsContent
&&
e
.
newsContent
.
content
&&
e
.
newsContent
.
content
.
news_item
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
}},[
i
(
"el-card"
,{
attrs
:{
"body-style"
:{
padding
:
"0px"
}}},
e
.
_l
(
e
.
newsContent
.
content
.
news_item
,
function
(
t
,
n
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
e
.
newsContent
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
t
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
newsContent
.
content
.
news_item
.
length
>
1
?
i
(
"div"
,{
staticClass
:
"clear-both bottomCover"
,
staticStyle
:{
position
:
"relative"
}},[
0
===
n
?
i
(
"div"
,{
staticClass
:
"muti-cover"
},[
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
t
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])}))],
1
),
e
.
_v
(
" "
),
i
(
"i"
,{
staticClass
:
"el-icon-delete"
,
staticStyle
:{
display
:
"inline-block"
},
on
:{
click
:
function
(
t
){
e
.
newsContent
=
""
}}})]):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])]),
e
.
_v
(
" "
),
e
.
showMedia
&&
e
.
mediaList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
content
&&
t
.
row
.
content
.
news_item
?
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
,
width
:
"200px"
}},
e
.
_l
(
t
.
row
.
content
.
news_item
,
function
(
n
,
a
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
t
.
row
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
n
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
n
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
n
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
n
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
t
.
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
:
n
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
n
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
n
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
n
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
n
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])})):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page2"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
mediaPage
.
limit
},
on
:{
pageChange
:
e
.
onMediaPageChange
,
sizeChange
:
e
.
onMediaSizeChange
},
model
:{
value
:
e
.
mediaPage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaPage
,
"nowPage"
,
t
)},
expression
:
"mediaPage.nowPage"
}})],
1
):
e
.
_e
()])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"b-title"
},[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
"margin-bottom"
:
"10px"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
send
()}}},[
e
.
_v
(
"立即群发"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
margin
:
"0 40px 10px 0"
},
attrs
:{
type
:
"info"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
0
}}},[
e
.
_v
(
"预览发送"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"发送记录"
}},[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-table"
,{
attrs
:{
border
:
!
1
,
data
:[
JSON
.
parse
(
t
.
row
.
content
)]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"typeFilter"
)(
t
.
row
.
type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
"text"
!==
JSON
.
parse
(
t
.
row
.
content
).
type
?
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"media_id"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
content
)
+
"
\
r
\n
"
)]}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"内容"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
"text"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"span"
,{
domProps
:{
innerHTML
:
e
.
_s
(
t
.
row
.
content
.
replace
(
/
\/[\u
4E00-
\u
9FA5
]{1,3}
/gi
,
e
.
emotion
))}})]):
"image"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"img"
,{
staticStyle
:{
width
:
"80px"
},
attrs
:{
src
:
t
.
row
.
url
}})]):
"video"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"点击查看视频"
)])]):
e
.
_e
()]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_id"
,
label
:
"消息ID"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"消息类型"
,
prop
:
"condition"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
,
prop
:
"status"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_num"
,
label
:
"预计发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"arrive_num"
,
label
:
"已发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"failed_num"
,
label
:
"发送失败"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-popover"
,{
attrs
:{
trigger
:
"hover"
,
placement
:
"top"
}},[
i
(
"p"
,[
e
.
_v
(
"用户设置拒收的过滤,用户接收已超4条的过滤"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"name-wrapper"
,
attrs
:{
slot
:
"reference"
},
slot
:
"reference"
},[
i
(
"el-tag"
,{
attrs
:{
size
:
"medium"
}},[
e
.
_v
(
e
.
_s
(
t
.
row
.
failed_num
))])],
1
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"发送时间"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
sendReviewDialog
,
width
:
"30%"
,
center
:
""
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
sendReviewDialog
=
t
}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"预览发送"
)]),
e
.
_v
(
" "
),
e
.
_v
(
"
\
r
\n
请填写用户id "
),
i
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
sendReviewId
,
callback
:
function
(
t
){
e
.
sendReviewId
=
t
},
expression
:
"sendReviewId"
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sendReview
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
periodsDialog
.
show
,
width
:
"90%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
periodsDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"选择期数"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"form-block"
},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"85px"
,
inline
:
""
,
size
:
"small"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数标题"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请输入内容"
,
clearable
:
""
},
model
:{
value
:
e
.
periodTitle
,
callback
:
function
(
t
){
e
.
periodTitle
=
t
},
expression
:
"periodTitle"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
i
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
goodsId
,
callback
:
function
(
t
){
e
.
goodsId
=
t
},
expression
:
"goodsId"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
n
){
return
i
(
"el-option"
,{
key
:
n
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"课程名称"
}},[
i
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
lessonId
,
callback
:
function
(
t
){
e
.
lessonId
=
t
},
expression
:
"lessonId"
}},
e
.
_l
(
e
.
lessonList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
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"
]},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
periodStartTime
,
callback
:
function
(
t
){
e
.
periodStartTime
=
t
},
expression
:
"periodStartTime"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onPeriodsSearch
}},[
e
.
_v
(
"查询"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
course_type
,
callback
:
function
(
t
){
e
.
course_type
=
t
},
expression
:
"course_type"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"日课"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"月课"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
e
.
periodList
,
fixed
:
""
},
on
:{
select
:
e
.
periodsSelectionChange
,
"select-all"
:
e
.
periodSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
t
.
row
.
goods_id
,
periods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
title
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"start_at"
,
label
:
"起止时间"
,
sortable
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
start_at
)
+
"
\
r
\n
"
),
i
(
"br"
),
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
over_at
?
t
.
row
.
over_at
:
""
)
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
,
sortable
:
""
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
e
.
secPeriods
,
fixed
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
t
.
row
.
goods_id
,
periods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
title
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
perioddel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPeriodsPageChange
,
sizeChange
:
e
.
onPeriodsSizeChange
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
periodsDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onPeriodsConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
goodsDialog
.
show
,
width
:
"90%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
goodsDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"选择商品"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
function
(
t
){
e
.
getGoods
()}},
model
:{
value
:
e
.
goodSearchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goodSearchFrom
,
"status"
,
t
)},
expression
:
"goodSearchFrom.status"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
goodList
,
fixed
:
""
},
on
:{
select
:
e
.
goodsSelectionChange
,
"select-all"
:
e
.
goodsSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\
r
\n
"
)]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
secGoods
,
fixed
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
goodsdel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
goodsDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onGoodsConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)]),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
userDialog
.
show
,
width
:
"70%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
userDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"手动选择用户"
)]),
e
.
_v
(
" "
),
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
}},[
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
3
}},[
i
(
"el-form-item"
,[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getUser
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
userId
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"userId"
,
t
)},
expression
:
"searchUserFrom.userId"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
nickName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"nickName"
,
t
)},
expression
:
"searchUserFrom.nickName"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"电话"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"mobile"
,
t
)},
expression
:
"searchUserFrom.mobile"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
userDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
userList
},
on
:{
select
:
e
.
handleSelectionChange
,
"select-all"
:
e
.
handleSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"已选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
handSecUser
}},[
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
userdel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
userDialog
.
total
,
limit
:
e
.
userDialog
.
limit
},
on
:{
pageChange
:
e
.
onUserPageChange
,
sizeChange
:
e
.
onUserSizeChange
}})],
1
)],
1
)};
p
.
_withStripped
=!
0
;
var
h
=
{
render
:
p
,
staticRenderFns
:[]},
m
=
h
;
var
g
=!
1
;
var
A
=
i
(
"VU/8"
)(
c
,
m
,
!
1
,
function
(
e
){
g
||
(
i
(
"HK0P"
),
i
(
"ac5S"
))},
"data-v-20c1791d"
,
null
);
A
.
options
.
__file
=
"src
\\
components
\\
groupSend
\\
index.vue"
;
t
.
default
=
A
.
exports
}});
\ No newline at end of file
dev/static/js/manifest.91a29c770084b315de0f.js
0 → 100644
View file @
593eb4d8
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
c
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
c
.
length
;
i
++
)
t
=
c
[
i
],
f
[
t
]
&&
u
.
push
(
f
[
t
][
0
]),
f
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
a
&&
a
(
c
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
d
(
d
.
s
=
n
[
i
]);
return
o
};
var
c
=
{},
f
=
{
56
:
0
};
function
d
(
a
){
if
(
c
[
a
])
return
c
[
a
].
exports
;
var
f
=
c
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
f
.
exports
,
f
,
f
.
exports
,
d
),
f
.
l
=!
0
,
f
.
exports
}
d
.
e
=
function
(
e
){
var
a
=
f
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
c
=
new
Promise
(
function
(
c
,
d
){
a
=
f
[
e
]
=
[
c
,
d
]});
a
[
2
]
=
c
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
d
.
nc
&&
n
.
setAttribute
(
"nonce"
,
d
.
nc
),
n
.
src
=
d
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"7f47693520945842545d"
,
1
:
"138337404053c7cd7019"
,
2
:
"ccbc74cfb192f698cd26"
,
3
:
"56f4fd76f470053f7352"
,
4
:
"059ca7c142d3d8481359"
,
5
:
"533eebc8d015c5c93845"
,
6
:
"5f4940d46329fcb43187"
,
7
:
"60156628fb3ecea020c2"
,
8
:
"85b6fe06267b11873800"
,
9
:
"09523bba6af5134fcfac"
,
10
:
"e8a1473ea634e12b615a"
,
11
:
"3cf44e3e37b9aeaaf375"
,
12
:
"74c12f74597904d09a2f"
,
13
:
"ad016823eec839e73d7f"
,
14
:
"1c3ae16bff7ea2cb7abc"
,
15
:
"b737a588a1280b1b04d4"
,
16
:
"a0d8305d2d064b546842"
,
17
:
"72e867d245e70fdc0e87"
,
18
:
"70a796e054cdf56e22c8"
,
19
:
"05e06cd00d2d741a5e87"
,
20
:
"2f66ad6f78e92df6b47f"
,
21
:
"237275afa8b480da884d"
,
22
:
"b077628f4035dda7e946"
,
23
:
"5d2548372608c23ae23b"
,
24
:
"e0ebc0153156ac190e4c"
,
25
:
"24feaa210140cd422395"
,
26
:
"900caa9a75ad9804ab36"
,
27
:
"107307ad950b411f1382"
,
28
:
"21954c14ca90bd550b01"
,
29
:
"f127c305b7d05add31ff"
,
30
:
"0c8692f4f04cbc89169d"
,
31
:
"9c54b8af0ad0d7fef274"
,
32
:
"50139333162a6e3abb39"
,
33
:
"cb577b683a3573638b2a"
,
34
:
"9d667b679f50d8174059"
,
35
:
"3febc01bc0e887e26e7d"
,
36
:
"2f5b581299537d235564"
,
37
:
"f7a65cabf3b141969162"
,
38
:
"6484d2ec831c62486c90"
,
39
:
"3a79adb7fed0462bbd80"
,
40
:
"a39dfa4cd254107d52f9"
,
41
:
"a16ad1ea1f2438c037aa"
,
42
:
"939d6413605876c9721b"
,
43
:
"790e9555b1ee2e9221d3"
,
44
:
"5d153cbe32e3b25baa48"
,
45
:
"1676124a8bb46f2a9a9e"
,
46
:
"2b6bd996d5e1d9b81baf"
,
47
:
"a64e6fe827cb9322b4e6"
,
48
:
"0c37f641710a7b675836"
,
49
:
"61bceaadc6e9d1f38f43"
,
50
:
"48254be58d6882c9698e"
,
51
:
"bcf05c46b40f43b66dd3"
,
52
:
"074092fb2fa3a4d87b4d"
,
53
:
"fe3819d79c8207d753b0"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
a
=
f
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
f
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
c
},
d
.
m
=
e
,
d
.
c
=
c
,
d
.
d
=
function
(
e
,
a
,
c
){
d
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
c
})},
d
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
d
.
d
(
a
,
"a"
,
a
),
a
},
d
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
d
.
p
=
"/"
,
d
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
593eb4d8
<!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_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
d5d19ab857d9c75b0f99a3c884a8bdce.css
rel=
stylesheet
></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.05501e349789df29aafa.js
></script><script
type=
text/javascript
src=
/static/js/vendor.1989ff930c83bbe25dc0.js
></script><script
type=
text/javascript
src=
/static/js/app.9d7efb15b35b30e26f05
.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_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
b9f95ad2369885c7ac6f3331e7ab1f24.css
rel=
stylesheet
></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.6cac044bef9191fbb5ae.js
></script><script
type=
text/javascript
src=
/static/js/vendor.1989ff930c83bbe25dc0.js
></script><script
type=
text/javascript
src=
/static/js/app.f602d2d4756f8a3f021f
.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.b9f95ad2369885c7ac6f3331e7ab1f24.css
0 → 100644
View file @
593eb4d8
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/25.2c4b606b6d1973a55933.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
25
],{
N5hv
:
function
(
e
,
t
){},
gyWl
:
function
(
e
,
t
){},
oerw
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
i
(
"CCn6"
),
a
=
i
(
"kmJW"
),
o
=
i
(
"C+jy"
),
n
=
i
(
"sf/l"
),
l
=
i
(
"+TkF"
);
function
r
(
e
){
if
(
Array
.
isArray
(
e
)){
for
(
var
t
=
0
,
i
=
Array
(
e
.
length
);
t
<
e
.
length
;
t
++
)
i
[
t
]
=
e
[
t
];
return
i
}
return
Array
.
from
(
e
)}
function
c
(
e
,
t
,
i
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
i
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
i
,
e
}
var
d
=
{
name
:
"index"
,
components
:{
page
:
a
.
a
,
page2
:
a
.
a
,
pageImage
:
a
.
a
,
emotion
:
o
.
a
},
data
:
function
(){
var
e
;
return
c
(
e
=
{
checksex
:[],
sex
:[{
name
:
"保密"
,
code
:
"0"
},{
name
:
"男"
,
code
:
"1"
},{
name
:
"女"
,
code
:
"2"
}],
province
:[
"上海"
,
"云南"
,
"内蒙古"
,
"北京"
,
"台湾"
,
"吉林"
,
"四川"
,
"天津"
,
"宁夏"
,
"安徽"
,
"山东"
,
"山西"
,
"广东"
,
"广西"
,
"新疆"
,
"江苏"
,
"江西"
,
"河北"
,
"河南"
,
"浙江"
,
"海南"
,
"湖北"
,
"湖南"
,
"澳门"
,
"甘肃"
,
"福建"
,
"西藏"
,
"贵州"
,
"辽宁"
,
"重庆"
,
"陕西"
,
"青海"
,
"香港"
,
"黑龙江"
],
secProvince
:[],
checkAll
:
!
1
,
isIndeterminate
:
!
1
,
sendReviewDialog
:
!
1
,
sendReviewId
:
""
,
goodList
:[],
periodsDialog
:{
show
:
!
1
},
goodsDialog
:{
show
:
!
1
},
handSecUserIds
:
""
,
handSecUser
:[],
handSecUserShow
:[],
secGoods_ids
:
""
,
secGoods
:[],
secGoodsShow
:[],
secPeriods_ids
:
""
,
secPeriods
:[],
secPeriodsShow
:[],
userList
:[],
periodList
:[],
goodsId
:
null
,
lessonId
:
null
,
lessonList
:[],
periodStartTime
:
null
,
periodTitle
:
null
,
course_type
:
"1"
,
radio1
:
1
,
radio2
:
1
,
radio3
:
1
,
nowPage
:
1
,
total
:
0
,
limit
:
10
,
mediaPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
show
:
!
1
,
loading
:
!
1
,
activeName
:
"text"
,
list
:[],
content
:
""
,
uploadShow
:
!
0
,
imageList
:[],
fileList
:[],
imageContent
:
""
,
videoContent
:
""
,
searchFrom
:{
type
:
1
,
is_test
:
!
1
},
goodSearchFrom
:{
status
:
"1"
},
tableData
:[],
fileUid
:
null
,
userDialog
:{
total
:
0
,
limit
:
5
,
nowPage
:
1
,
show
:
!
1
},
searchUserFrom
:{},
multipleSelection
:[],
showEmotion
:
!
1
,
showMedia
:
!
1
,
showImage
:
!
1
,
showVideo
:
!
1
,
mediaList
:[],
mediaImageList
:[],
mediaVideoList
:[],
mediaImagePage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
mediaVideoPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
}},
"imageContent"
,
null
),
c
(
e
,
"videoContent"
,
null
),
c
(
e
,
"newsContent"
,
null
),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
l
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
},
isOrNot
:
function
(
e
){
return
l
.
o
[
e
]},
goodsType
:
function
(
e
){
return
l
.
h
[
e
]},
lessonType
:
function
(
e
){
return
l
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
l
.
g
[
e
]},
typeFilter
:
function
(
e
){
if
(
e
)
return
"text"
===
e
?
"文本"
:
"image"
===
e
?
"图片"
:
"video"
===
e
?
"视频"
:
"news"
===
e
?
"图文"
:
void
0
},
typeListFilter
:
function
(
e
){
return
e
?
1
===
e
?
"48时内关注但未购课用户"
:
2
===
e
?
"有体验课但没有正式课用户"
:
3
===
e
?
"未试听用户"
:
4
===
e
?
"指定用户手机号"
:
void
0
:
""
}},
methods
:{
handleCheckAllChange
:
function
(
e
){
var
t
=
this
;
console
.
log
(
e
),
e
?
this
.
sex
.
forEach
(
function
(
e
){
t
.
checksex
.
push
(
e
.
code
)}):
this
.
checksex
=
[],
console
.
log
(
this
.
checksex
),
this
.
isIndeterminate
=!
1
},
sexChange
:
function
(
e
){
var
t
=
e
.
length
;
this
.
checkAll
=
t
===
this
.
sex
.
length
,
this
.
isIndeterminate
=
t
>
0
&&
t
<
this
.
sex
.
length
},
updateFans
:
function
(){
var
e
=
this
;
Object
(
s
.
_117
)({}).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"同步成功!"
})})},
getMsgCount
:
function
(
e
){
return
new
Promise
(
function
(
t
,
i
){
var
a
=
{};
a
.
type
=
e
.
type
,
e
.
fans_type
&&
(
a
.
fans_type
=
e
.
fans_type
),
e
.
course_type
&&
(
a
.
course_type
=
e
.
course_type
),
e
.
ids
&&
(
a
.
ids
=
e
.
ids
),
Object
(
s
.
_48
)(
a
).
then
(
function
(
e
){
console
.
log
(
e
),
t
(
e
)})})},
getLessonOption
:
function
(){
var
e
=
this
;
Object
(
s
.
_43
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
t
){
e
.
lessonList
=
t
.
list
})},
onPeriodsPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
onPeriodsSearch
()},
onPeriodsSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
onPeriodsSearch
()},
onPeriodsSearch
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
course_type
&&
(
t
.
course_type
=
this
.
course_type
),
this
.
periodTitle
&&
(
t
.
title
=
this
.
periodTitle
),
this
.
goodsId
&&
(
t
.
goods_id
=
this
.
goodsId
),
this
.
lessonId
&&
(
t
.
course_id
=
this
.
lessonId
),
this
.
periodStartTime
&&
this
.
periodStartTime
.
length
>
0
&&
(
t
.
start_start_at
=
n
.
a
.
dateFmt
(
this
.
periodStartTime
[
0
],
"yyyy-MM-dd"
),
t
.
start_end_at
=
n
.
a
.
dateFmt
(
this
.
periodStartTime
[
1
],
"yyyy-MM-dd"
)),
this
.
startAt
&&
(
t
.
start_at
=
this
.
startAt
),
Object
(
s
.
_53
)(
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
arrive_course_rate
=
0
,
e
.
watch_course_rate
=
0
,
e
.
over_course_rate
=
0
,
e
.
work_rate
=
0
,
e
.
over_work_rate
=
0
,
e
.
clock_rate
=
0
,
e
.
over_clock_rate
=
0
,
e
.
transform_rate
=
0
}),
e
.
periodList
=
t
.
list
,
e
.
total
=
t
.
total
})},
getGoods
:
function
(){
var
e
=
this
,
t
=
{
limit
:
"100"
,
page
:
this
.
nowPage
};
this
.
goodSearchFrom
.
status
&&
"-1"
!==
this
.
goodSearchFrom
.
status
&&
(
t
.
status
=
this
.
goodSearchFrom
.
status
),
console
.
log
(
613
),
Object
(
s
.
_40
)(
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
.
goodList
=
t
.
list
})},
radio1change
:
function
(){
3
==
this
.
radio1
&&
this
.
onSelectUser
()},
radio2change
:
function
(
e
){},
radio3change
:
function
(){
2
==
this
.
radio3
?(
this
.
getGoods
(),
this
.
goodsDialog
.
show
=!
0
):
3
==
this
.
radio3
&&
(
this
.
getLessonOption
(),
this
.
onPeriodsSearch
(),
this
.
periodsDialog
.
show
=!
0
),
console
.
log
(
this
.
radio3
)},
handleClick
:
function
(
e
){
this
.
activeName
=
e
.
name
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
,
this
.
imageList
=
[],
this
.
imageContent
=
""
},
handleRemoveVideo
:
function
(){
this
.
videoContent
=
""
,
this
.
fileList
=
[]},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleAvatarSuccess
:
function
(
e
){
this
.
imageList
=
[{
name
:
e
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
data
.
url
}]},
uploadFile
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
s
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
e
){
t
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
t
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideo
:
function
(
e
){
var
t
=
this
;
Object
(
s
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
i
){
t
.
uploadVideoFile
(
e
,
i
)}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideoFile
:
function
(
e
,
t
){
var
i
=
this
;
this
.
fileUid
=
e
.
file
.
uid
,
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
s
.
_126
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
s
){
i
.
videoContent
=
{
content
:
t
.
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
:
e
.
file
.
uid
}),
i
.
fileUid
=
null
}).
catch
(
function
(){
i
.
loading
=!
1
,
i
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
sendReview
:
function
(){
var
e
=
this
,
t
=
{};
t
.
test_id
=
this
.
sendReviewId
;
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
:
"请选择图文!"
}));
t
.
content
=
JSON
.
stringify
(
i
),
Object
(
s
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
sendReviewDialog
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})},
send
:
function
(){
var
e
=
this
,
t
=
{};
t
.
type
=
this
.
radio1
;
if
(
3
==
t
.
type
){
if
(
!
this
.
handSecUserIds
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
t
.
ids
=
this
.
handSecUserIds
}
if
(
2
==
t
.
type
&&
(
t
.
fans_type
=
this
.
radio2
,
3
==
t
.
fans_type
))
if
(
t
.
course_type
=
this
.
radio3
,
2
==
t
.
course_type
){
if
(
!
this
.
secGoods_ids
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择商品!"
});
t
.
ids
=
this
.
secGoods_ids
}
else
if
(
3
==
t
.
course_type
){
if
(
!
this
.
secPeriods_ids
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请选择期数!"
});
t
.
ids
=
this
.
secPeriods_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
:
"请选择图文!"
}));
this
.
checksex
&&
(
t
.
sex
=
this
.
checksex
.
join
(
","
)),
this
.
secProvince
&&
(
t
.
province
=
this
.
secProvince
.
join
(
","
)),
t
.
content
=
JSON
.
stringify
(
i
),
t
.
is_test
=
this
.
searchFrom
.
is_test
?
2
:
1
,
Object
(
s
.
_117
)({}).
then
(
function
(
i
){
e
.
getMsgCount
(
t
).
then
(
function
(
i
){
e
.
$confirm
(
"你将发送给"
+
i
+
"位用户"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
show
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})}).
catch
(
function
(){
e
.
$message
({
type
:
"info"
,
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
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
Object
(
s
.
_49
)(
t
).
then
(
function
(
t
){
e
.
tableData
=
t
.
list
,
e
.
total
=
t
.
total
})},
onMediaPageChange
:
function
(
e
){
this
.
mediaPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onMediaSizeChange
:
function
(){
this
.
mediaPage
.
nowPage
=
1
,
this
.
mediaPage
.
limit
=
val
,
this
.
getMediaList
()},
onImagePageChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
e
,
this
.
getMediaList
()},
onImageSizeChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
1
,
this
.
mediaImagePage
.
limit
=
e
,
this
.
getMediaList
()},
onVideoPageChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onVideoSizeChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
1
,
this
.
mediaVideoPage
.
limit
=
e
,
this
.
getMediaList
()},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getMsgList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getMsgList
()},
getUser
:
function
(){
var
e
=
this
,
t
=
{
page
:
this
.
userDialog
.
nowPage
,
limit
:
this
.
userDialog
.
limit
};
this
.
searchUserFrom
.
userId
&&
(
t
.
user_id
=
this
.
searchUserFrom
.
userId
),
this
.
searchUserFrom
.
nickName
&&
(
t
.
nickname
=
this
.
searchUserFrom
.
nickName
),
this
.
searchUserFrom
.
mobile
&&
(
t
.
mobile
=
this
.
searchUserFrom
.
mobile
),
Object
(
s
.
_77
)(
t
).
then
(
function
(
t
){
e
.
userList
=
t
.
list
,
e
.
userDialog
.
total
=
t
.
total
})},
onUserPageChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
e
,
this
.
getUser
()},
onUserSizeChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
1
,
this
.
userDialog
.
limit
=
e
,
this
.
getUser
()},
periodsSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
secPeriods
.
length
;
i
++
)
if
(
t
.
id
==
this
.
secPeriods
[
i
].
id
)
return
;
this
.
secPeriods
.
push
(
t
)},
periodSelectionAll
:
function
(
e
){
if
(
0
==
this
.
secPeriods
.
length
)
this
.
secPeriods
=
[].
concat
(
r
(
e
));
else
for
(
var
t
=
this
.
secPeriods
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
s
=
0
;
s
<=
t
&&
e
[
i
].
id
!=
this
.
secPeriods
[
s
].
id
;
s
++
)
if
(
s
==
t
-
1
){
this
.
secPeriods
.
push
(
e
[
i
]);
break
}},
perioddel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
secPeriods
.
length
;
t
++
)
e
.
id
==
this
.
secPeriods
[
t
].
id
&&
this
.
secPeriods
.
splice
(
t
,
1
);
console
.
log
(
this
.
secPeriods
)},
onPeriodsConfirm
:
function
(){
var
e
=
this
.
secPeriods
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择期数!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
id
)});
var
i
=
t
,
s
=
this
.
dedupe
(
i
);
this
.
secPeriods_ids
=
s
.
join
(
","
),
console
.
log
(
this
.
secPeriods_ids
),
this
.
periodsDialog
.
show
=!
1
,
this
.
secPeriodsShow
=
this
.
secPeriods
}},
goodsSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
secGoods
.
length
;
i
++
)
if
(
t
.
id
==
this
.
secGoods
[
i
].
id
)
return
;
this
.
secGoods
.
push
(
t
),
console
.
log
(
t
)},
goodsSelectionAll
:
function
(
e
){
if
(
0
==
this
.
secGoods
.
length
)
this
.
secGoods
=
[].
concat
(
r
(
e
));
else
for
(
var
t
=
this
.
secGoods
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
s
=
0
;
s
<=
t
&&
e
[
i
].
id
!=
this
.
secGoods
[
s
].
id
;
s
++
)
if
(
s
==
t
-
1
){
this
.
secGoods
.
push
(
e
[
i
]);
break
}},
goodsdel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
secGoods
.
length
;
t
++
)
e
.
id
==
this
.
secGoods
[
t
].
id
&&
this
.
secGoods
.
splice
(
t
,
1
)},
onGoodsConfirm
:
function
(){
var
e
=
this
.
secGoods
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择商品!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
id
)});
var
i
=
t
,
s
=
this
.
dedupe
(
i
);
this
.
secGoods_ids
=
s
.
join
(
","
),
console
.
log
(
this
.
secGoods_ids
),
this
.
secGoodsShow
=
this
.
secGoods
,
this
.
goodsDialog
.
show
=!
1
}},
handleSelectionChange
:
function
(
e
,
t
){
this
.
multipleSelection
=
e
;
for
(
var
i
=
0
;
i
<
this
.
handSecUser
.
length
;
i
++
)
if
(
t
.
user_id
==
this
.
handSecUser
[
i
].
user_id
)
return
;
this
.
handSecUser
.
push
(
t
)},
handleSelectionAll
:
function
(
e
){
if
(
0
==
this
.
handSecUser
.
length
)
this
.
handSecUser
=
[].
concat
(
r
(
e
));
else
for
(
var
t
=
this
.
handSecUser
.
length
,
i
=
0
;
i
<
e
.
length
;
i
++
)
for
(
var
s
=
0
;
s
<=
t
&&
e
[
i
].
user_id
!=
this
.
handSecUser
[
s
].
user_id
;
s
++
)
if
(
s
==
t
-
1
){
this
.
handSecUser
.
push
(
e
[
i
]);
break
}},
userdel
:
function
(
e
){
for
(
var
t
=
0
;
t
<
this
.
handSecUser
.
length
;
t
++
)
e
.
user_id
==
this
.
handSecUser
[
t
].
user_id
&&
this
.
handSecUser
.
splice
(
t
,
1
)},
onSelectUser
:
function
(){
this
.
userDialog
.
show
=!
0
,
this
.
getUser
()},
onConfirm
:
function
(){
console
.
log
(
this
.
handSecUser
);
var
e
=
this
.
handSecUser
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
user_id
)});
var
i
=
t
;
this
.
searchFrom
.
user_ids
&&
(
i
=
t
.
concat
(
this
.
stringToInt
(
this
.
searchFrom
.
user_ids
.
split
(
","
))));
var
s
=
this
.
dedupe
(
i
);
this
.
handSecUserIds
=
s
.
join
(
","
),
this
.
handSecUserShow
=
this
.
handSecUser
,
console
.
log
(
s
),
this
.
userDialog
.
show
=!
1
}},
dedupe
:
function
(
e
){
return
Array
.
from
(
new
Set
(
e
))},
stringToInt
:
function
(
e
){
var
t
=
e
||
[];
return
t
=
t
.
map
(
function
(
e
){
return
parseInt
(
e
,
10
)})},
emotion
:
function
(
e
){
var
t
=
e
.
replace
(
/
\/
/gi
,
""
);
return
'<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/'
+
[
"微笑"
,
"撇嘴"
,
"色"
,
"发呆"
,
"得意"
,
"流泪"
,
"害羞"
,
"闭嘴"
,
"睡"
,
"大哭"
,
"尴尬"
,
"发怒"
,
"调皮"
,
"呲牙"
,
"惊讶"
,
"难过"
,
"酷"
,
"冷汗"
,
"抓狂"
,
"吐"
,
"偷笑"
,
"可爱"
,
"白眼"
,
"傲慢"
,
"饥饿"
,
"困"
,
"惊恐"
,
"流汗"
,
"憨笑"
,
"大兵"
,
"奋斗"
,
"咒骂"
,
"疑问"
,
"嘘"
,
"晕"
,
"折磨"
,
"衰"
,
"骷髅"
,
"敲打"
,
"再见"
,
"擦汗"
,
"抠鼻"
,
"鼓掌"
,
"糗大了"
,
"坏笑"
,
"左哼哼"
,
"右哼哼"
,
"哈欠"
,
"鄙视"
,
"委屈"
,
"快哭了"
,
"阴险"
,
"亲亲"
,
"吓"
,
"可怜"
,
"菜刀"
,
"西瓜"
,
"啤酒"
,
"篮球"
,
"乒乓"
,
"咖啡"
,
"饭"
,
"猪头"
,
"玫瑰"
,
"凋谢"
,
"示爱"
,
"爱心"
,
"心碎"
,
"蛋糕"
,
"闪电"
,
"炸弹"
,
"刀"
,
"足球"
,
"瓢虫"
,
"便便"
,
"月亮"
,
"太阳"
,
"礼物"
,
"拥抱"
,
"强"
,
"弱"
,
"握手"
,
"胜利"
,
"抱拳"
,
"勾引"
,
"拳头"
,
"差劲"
,
"爱你"
,
"NO"
,
"OK"
,
"爱情"
,
"飞吻"
,
"跳跳"
,
"发抖"
,
"怄火"
,
"转圈"
,
"磕头"
,
"回头"
,
"跳绳"
,
"挥手"
,
"激动"
,
"街舞"
,
"献吻"
,
"左太极"
,
"右太极"
].
indexOf
(
t
)
+
'.gif" align="middle">'
},
handleEmotion
:
function
(
e
){
this
.
content
+=
e
},
onChooseMedia
:
function
(
e
){
console
.
log
(
"onChooseMedia"
,
e
),
"image"
===
this
.
type
?(
this
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
this
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
this
.
showImage
=!
1
):
"video"
===
this
.
type
?(
this
.
videoContent
=
{
content
:
e
.
media_id
,
url
:
e
.
info
.
down_url
},
this
.
fileList
=
[{
name
:
e
.
info
.
title
,
url
:
e
.
info
.
url
}],
this
.
showVideo
=!
1
):
"news"
===
this
.
type
&&
(
this
.
newsContent
=
e
,
this
.
showMedia
=!
1
)},
getMediaList
:
function
(){
var
e
=
this
,
t
=
this
.
activeName
,
i
=
{
type
:
t
,
page
:
this
.
mediaPage
.
nowPage
,
limit
:
this
.
mediaPage
.
limit
};
"image"
===
t
?(
i
.
page
=
this
.
mediaImagePage
.
nowPage
,
i
.
limit
=
this
.
mediaImagePage
.
limit
,
this
.
showImage
=!
0
):
"video"
===
t
?(
i
.
page
=
this
.
mediaVideoPage
.
nowPage
,
i
.
limit
=
this
.
mediaVideoPage
.
limit
,
this
.
showVideo
=!
0
):
"news"
===
t
&&
(
i
.
page
=
this
.
mediaPage
.
nowPage
,
i
.
limit
=
this
.
mediaPage
.
limit
,
this
.
showMedia
=!
0
),
this
.
loading
=!
0
,
Object
(
s
.
_46
)(
i
).
then
(
function
(
i
){
e
.
loading
=!
1
,
e
.
type
=
t
,
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
,
"image"
===
t
?(
e
.
mediaImageList
=
i
.
item
,
e
.
mediaImagePage
.
total
=
i
.
total_count
):
"video"
===
t
?(
e
.
mediaVideoList
=
i
.
item
,
e
.
mediaVideoPage
.
total
=
i
.
total_count
):
"news"
===
t
&&
(
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
),
0
===
e
.
total
&&
e
.
$message
({
showClose
:
!
0
,
message
:
"暂无数据"
})}).
catch
(
function
(){
e
.
loading
=!
1
})},
defaultTime
:
function
(){
var
e
=
(
new
Date
).
getTime
(),
t
=
e
-
1728
e5
;
this
.
searchFrom
.
time
=
[
new
Date
(
t
),
new
Date
(
e
)]}},
mounted
:
function
(){
this
.
getMsgList
(),
this
.
defaultTime
()},
computed
:{
progress
:
function
(){
var
e
=
this
;
return
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
<
100
?
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
:
100
}}},
h
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"index"
},[
i
(
"el-tabs"
,{
attrs
:{
type
:
"border-card"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"编辑内容"
}},[
i
(
"div"
,{
staticClass
:
"box"
},[
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择发送范围 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
model
:{
value
:
e
.
radio1
,
callback
:
function
(
t
){
e
.
radio1
=
t
},
expression
:
"radio1"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"全部粉丝"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"按条件筛选"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"手动选择粉丝"
)])],
1
)],
1
),
e
.
_v
(
" "
),
3
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio1change
}},[
e
.
_v
(
"编辑用户"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选用户ID:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"70%"
},
attrs
:{
data
:
e
.
handSecUserShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"用户名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"user_id"
,
label
:
"用户Id"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
radio1
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择用户性别 :"
)]),
e
.
_v
(
" "
),
i
(
"el-checkbox"
,{
staticStyle
:{
"margin-bottom"
:
"10px"
},
attrs
:{
indeterminate
:
e
.
isIndeterminate
},
on
:{
change
:
e
.
handleCheckAllChange
},
model
:{
value
:
e
.
checkAll
,
callback
:
function
(
t
){
e
.
checkAll
=
t
},
expression
:
"checkAll"
}},[
e
.
_v
(
"全选"
)]),
e
.
_v
(
" "
),
i
(
"el-checkbox-group"
,{
on
:{
change
:
e
.
sexChange
},
model
:{
value
:
e
.
checksex
,
callback
:
function
(
t
){
e
.
checksex
=
t
},
expression
:
"checksex"
}},
e
.
_l
(
e
.
sex
,
function
(
t
){
return
i
(
"el-checkbox"
,{
key
:
t
.
code
,
attrs
:{
label
:
t
.
code
}},[
e
.
_v
(
e
.
_s
(
t
.
name
))])})),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择地区 :"
)]),
e
.
_v
(
" "
),
i
(
"el-select"
,{
staticStyle
:{
width
:
"300px"
},
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
clearable
:
""
,
filterable
:
""
},
model
:{
value
:
e
.
secProvince
,
callback
:
function
(
t
){
e
.
secProvince
=
t
},
expression
:
"secProvince"
}},
e
.
_l
(
e
.
province
,
function
(
e
){
return
i
(
"el-option"
,{
key
:
e
,
attrs
:{
label
:
e
,
value
:
e
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择用户类型 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
on
:{
change
:
e
.
radio2change
},
model
:{
value
:
e
.
radio2
,
callback
:
function
(
t
){
e
.
radio2
=
t
},
expression
:
"radio2"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"无手机号用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"有手机号但无课用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"有课用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择课程类型 :"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
model
:{
value
:
e
.
radio3
,
callback
:
function
(
t
){
e
.
radio3
=
t
},
expression
:
"radio3"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"所有有课用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"根据商品选择用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"根据期数选择用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
&&
2
==
e
.
radio3
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio3change
}},[
e
.
_v
(
"编辑商品"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选商品:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"30%"
},
attrs
:{
data
:
e
.
secGoodsShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"商品名称"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
&&
3
==
e
.
radio3
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
i
(
"div"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
radio3change
}},[
e
.
_v
(
"编辑期数"
)])],
1
),
e
.
_v
(
"
\
r
\n
已选期数:
\
r
\n
"
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"30%"
},
attrs
:{
data
:
e
.
secPeriodsShow
,
border
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"期数标题"
}})],
1
)],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
handleClick
},
model
:{
value
:
e
.
activeName
,
callback
:
function
(
t
){
e
.
activeName
=
t
},
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
:
e
.
content
,
callback
:
function
(
t
){
e
.
content
=
t
},
expression
:
"content"
}})],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
float
:
"right"
,
"margin-right"
:
"15px"
}},[
i
(
"el-popover"
,{
attrs
:{
placement
:
"bottom-end"
,
width
:
"400"
,
offset
:
10
,
trigger
:
"hover"
},
model
:{
value
:
e
.
showEmotion
,
callback
:
function
(
t
){
e
.
showEmotion
=
t
},
expression
:
"showEmotion"
}},[
i
(
"div"
,[
i
(
"emotion"
,{
attrs
:{
height
:
200
},
on
:{
emotion
:
e
.
handleEmotion
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
type
:
"text"
},
on
:{
click
:
function
(
t
){
e
.
showEmotion
=!
e
.
showEmotion
}},
slot
:
"reference"
},[
i
(
"span"
,{
staticClass
:
"icon_emotion emotion_switch"
})])],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图片"
,
name
:
"image"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"div"
,[
i
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadFile
,
"before-upload"
:
e
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
e
.
imageList
,
"on-success"
:
e
.
handleAvatarSuccess
,
"on-remove"
:
e
.
handleRemove
,
limit
:
1
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
,
staticStyle
:{
"margin-left"
:
"10px"
}},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])])]),
e
.
_v
(
" "
),
e
.
showImage
&&
e
.
mediaImageList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaImageList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"a"
,{
attrs
:{
href
:
e
.
row
.
url
}},[
i
(
"img"
,{
staticStyle
:{
width
:
"60px"
},
attrs
:{
src
:
e
.
row
.
url
}})])]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page-image"
,{
attrs
:{
total
:
e
.
mediaImagePage
.
total
,
limit
:
e
.
mediaImagePage
.
limit
},
on
:{
pageChange
:
e
.
onImagePageChange
,
sizeChange
:
e
.
onImageSizeChange
},
model
:{
value
:
e
.
mediaImagePage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaImagePage
,
"nowPage"
,
t
)},
expression
:
"mediaImagePage.nowPage"
}})],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"视频"
,
name
:
"video"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"el-upload"
,{
staticClass
:
"upload-video"
,
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadVideo
,
"file-list"
:
e
.
fileList
,
"on-remove"
:
e
.
handleRemoveVideo
,
limit
:
1
}},[
i
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"primary"
,
disabled
:
e
.
fileUid
&&
e
.
progress
<
99
}},[
e
.
_v
(
"点击上传"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
width
:
"300px"
}},[
e
.
fileUid
?
i
(
"el-progress"
,{
attrs
:{
percentage
:
e
.
progress
}}):
e
.
_e
()],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])])],
1
),
e
.
_v
(
" "
),
e
.
showVideo
&&
e
.
mediaVideoList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaVideoList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
info
&&
t
.
row
.
info
.
down_url
?
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
info
.
down_url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
info
.
title
)
+
"
\
r
\n
"
)]):
e
.
_e
()]}}])})],
1
)],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图文"
,
name
:
"news"
}},[
e
.
newsContent
&&
e
.
newsContent
.
content
&&
e
.
newsContent
.
content
.
news_item
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
}},[
i
(
"el-card"
,{
attrs
:{
"body-style"
:{
padding
:
"0px"
}}},
e
.
_l
(
e
.
newsContent
.
content
.
news_item
,
function
(
t
,
s
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
e
.
newsContent
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
t
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
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
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
t
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])}))],
1
),
e
.
_v
(
" "
),
i
(
"i"
,{
staticClass
:
"el-icon-delete"
,
staticStyle
:{
display
:
"inline-block"
},
on
:{
click
:
function
(
t
){
e
.
newsContent
=
""
}}})]):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])]),
e
.
_v
(
" "
),
e
.
showMedia
&&
e
.
mediaList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
content
&&
t
.
row
.
content
.
news_item
?
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
,
width
:
"200px"
}},
e
.
_l
(
t
.
row
.
content
.
news_item
,
function
(
s
,
a
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
t
.
row
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
s
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
s
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
s
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
s
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
t
.
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
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
s
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
s
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
s
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
s
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])})):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page2"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
mediaPage
.
limit
},
on
:{
pageChange
:
e
.
onMediaPageChange
,
sizeChange
:
e
.
onMediaSizeChange
},
model
:{
value
:
e
.
mediaPage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaPage
,
"nowPage"
,
t
)},
expression
:
"mediaPage.nowPage"
}})],
1
):
e
.
_e
()])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"b-title"
},[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
"margin-bottom"
:
"10px"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
send
()}}},[
e
.
_v
(
"立即群发"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
margin
:
"0 40px 10px 0"
},
attrs
:{
type
:
"info"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
0
}}},[
e
.
_v
(
"预览发送"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"发送记录"
}},[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-table"
,{
attrs
:{
border
:
!
1
,
data
:[
JSON
.
parse
(
t
.
row
.
content
)]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"typeFilter"
)(
t
.
row
.
type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
"text"
!==
JSON
.
parse
(
t
.
row
.
content
).
type
?
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"media_id"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
content
)
+
"
\
r
\n
"
)]}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"内容"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
"text"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"span"
,{
domProps
:{
innerHTML
:
e
.
_s
(
t
.
row
.
content
.
replace
(
/
\/[\u
4E00-
\u
9FA5
]{1,3}
/gi
,
e
.
emotion
))}})]):
"image"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"img"
,{
staticStyle
:{
width
:
"80px"
},
attrs
:{
src
:
t
.
row
.
url
}})]):
"video"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"点击查看视频"
)])]):
e
.
_e
()]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_id"
,
label
:
"消息ID"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"消息类型"
,
prop
:
"condition"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
,
prop
:
"status"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_num"
,
label
:
"预计发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"arrive_num"
,
label
:
"已发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"failed_num"
,
label
:
"发送失败"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-popover"
,{
attrs
:{
trigger
:
"hover"
,
placement
:
"top"
}},[
i
(
"p"
,[
e
.
_v
(
"用户设置拒收的过滤,用户接收已超4条的过滤"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"name-wrapper"
,
attrs
:{
slot
:
"reference"
},
slot
:
"reference"
},[
i
(
"el-tag"
,{
attrs
:{
size
:
"medium"
}},[
e
.
_v
(
e
.
_s
(
t
.
row
.
failed_num
))])],
1
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"发送时间"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
sendReviewDialog
,
width
:
"30%"
,
center
:
""
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
sendReviewDialog
=
t
}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"预览发送"
)]),
e
.
_v
(
" "
),
e
.
_v
(
"
\
r
\n
请填写用户id "
),
i
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
sendReviewId
,
callback
:
function
(
t
){
e
.
sendReviewId
=
t
},
expression
:
"sendReviewId"
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sendReview
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
periodsDialog
.
show
,
width
:
"90%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
periodsDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"选择期数"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"form-block"
},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"85px"
,
inline
:
""
,
size
:
"small"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数标题"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请输入内容"
,
clearable
:
""
},
model
:{
value
:
e
.
periodTitle
,
callback
:
function
(
t
){
e
.
periodTitle
=
t
},
expression
:
"periodTitle"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
i
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
goodsId
,
callback
:
function
(
t
){
e
.
goodsId
=
t
},
expression
:
"goodsId"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
s
){
return
i
(
"el-option"
,{
key
:
s
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"课程名称"
}},[
i
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
lessonId
,
callback
:
function
(
t
){
e
.
lessonId
=
t
},
expression
:
"lessonId"
}},
e
.
_l
(
e
.
lessonList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
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"
]},
on
:{
change
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
periodStartTime
,
callback
:
function
(
t
){
e
.
periodStartTime
=
t
},
expression
:
"periodStartTime"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onPeriodsSearch
}},[
e
.
_v
(
"查询"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
onPeriodsSearch
},
model
:{
value
:
e
.
course_type
,
callback
:
function
(
t
){
e
.
course_type
=
t
},
expression
:
"course_type"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"日课"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"月课"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
e
.
periodList
,
fixed
:
""
},
on
:{
select
:
e
.
periodsSelectionChange
,
"select-all"
:
e
.
periodSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
t
.
row
.
goods_id
,
periods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
title
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"start_at"
,
label
:
"起止时间"
,
sortable
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
start_at
)
+
"
\
r
\n
"
),
i
(
"br"
),
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
over_at
?
t
.
row
.
over_at
:
""
)
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
,
sortable
:
""
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
e
.
secPeriods
,
fixed
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
t
.
row
.
goods_id
,
periods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
title
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
perioddel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPeriodsPageChange
,
sizeChange
:
e
.
onPeriodsSizeChange
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
periodsDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onPeriodsConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
goodsDialog
.
show
,
width
:
"90%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
goodsDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"选择商品"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
function
(
t
){
e
.
getGoods
()}},
model
:{
value
:
e
.
goodSearchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goodSearchFrom
,
"status"
,
t
)},
expression
:
"goodSearchFrom.status"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
goodList
,
fixed
:
""
},
on
:{
select
:
e
.
goodsSelectionChange
,
"select-all"
:
e
.
goodsSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\
r
\n
"
)]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
secGoods
,
fixed
:
""
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
goodsdel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
goodsDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onGoodsConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)]),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
userDialog
.
show
,
width
:
"70%"
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
userDialog
,
"show"
,
t
)}}},[
i
(
"div"
,{
staticClass
:
"secTitle"
},[
e
.
_v
(
"手动选择用户"
)]),
e
.
_v
(
" "
),
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
}},[
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
3
}},[
i
(
"el-form-item"
,[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getUser
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
userId
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"userId"
,
t
)},
expression
:
"searchUserFrom.userId"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
nickName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"nickName"
,
t
)},
expression
:
"searchUserFrom.nickName"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"电话"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"mobile"
,
t
)},
expression
:
"searchUserFrom.mobile"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
userDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"tableBox"
},[
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"筛选列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
userList
},
on
:{
select
:
e
.
handleSelectionChange
,
"select-all"
:
e
.
handleSelectionAll
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"item"
},[
i
(
"p"
,[
e
.
_v
(
"已选中列表"
)]),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
handSecUser
}},[
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
e
.
userdel
(
t
.
row
)}}},[
e
.
_v
(
"
\
r
\n
删除
\
r
\n
"
)])]}}])})],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
userDialog
.
total
,
limit
:
e
.
userDialog
.
limit
},
on
:{
pageChange
:
e
.
onUserPageChange
,
sizeChange
:
e
.
onUserSizeChange
}})],
1
)],
1
)},
staticRenderFns
:[]};
var
u
=
i
(
"VU/8"
)(
d
,
h
,
!
1
,
function
(
e
){
i
(
"gyWl"
),
i
(
"N5hv"
)},
"data-v-d6c8ee0a"
,
null
);
t
.
default
=
u
.
exports
}});
\ No newline at end of file
dist/static/js/26.20c58c1a6aeb3bd7c9d8.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
26
],{
"5HKL"
:
function
(
t
,
e
){},
E56y
:
function
(
t
,
e
){},
"qjS+"
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
"kmJW"
),
l
=
a
(
"CCn6"
),
r
=
{
name
:
"smsRecord"
,
components
:{
page
:
s
.
a
},
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
useTypeList
:[{
status
:
0
,
value
:
"发送成功"
},{
status
:
1
,
value
:
"发送失败"
}],
TypeList
:[{
status
:
1
,
value
:
"注册验证码"
}],
searchFrom
:{
type
:
""
,
mobile
:
""
,
status
:
"-1"
},
list
:[]}},
filters
:{
filterStatus
:
function
(
t
){
return
0
===
t
?
"发送成功"
:
"发送失败"
}},
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
.
type
&&
(
e
.
type
=
this
.
searchFrom
.
type
),
"-1"
!==
this
.
searchFrom
.
status
&&
(
e
.
status
=
this
.
searchFrom
.
status
),
this
.
searchFrom
.
mobile
&&
(
e
.
mobile
=
this
.
searchFrom
.
mobile
),
Object
(
l
.
_83
)(
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
:
"sms"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"类型"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"type"
,
e
)},
expression
:
"searchFrom.type"
}},
t
.
_l
(
t
.
TypeList
,
function
(
t
){
return
a
(
"el-option"
,{
key
:
t
.
status
,
attrs
:{
label
:
t
.
value
,
value
:
t
.
status
}})}))],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"短信手机号"
}},[
a
(
"el-input"
,{
on
:{
change
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
mobile
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"mobile"
,
e
)},
expression
:
"searchFrom.mobile"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
status
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"status"
,
e
)},
expression
:
"searchFrom.status"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}}),
t
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"发送成功"
,
name
:
"0"
}}),
t
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"发送失败"
,
name
:
"1"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
e
.
row
.
user_id
?
a
(
"div"
,[
a
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
e
.
row
.
avatar
}}),
t
.
_v
(
" "
+
t
.
_s
(
e
.
row
.
nickname
)
+
"(ID:"
+
t
.
_s
(
e
.
row
.
user_id
)
+
") "
),
a
(
"br"
),
t
.
_v
(
"手机:"
+
t
.
_s
(
e
.
row
.
user_mobile
)
+
"
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
e
.
row
.
user_id
?
t
.
_e
():
a
(
"div"
,[
t
.
_v
(
"
\n
未绑定用户信息
\n
"
)])]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"短信手机号"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sms_code"
,
label
:
"短信验证码"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"发送结果"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
0
==
e
.
row
.
status
?
a
(
"div"
,[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"filterStatus"
)(
e
.
row
.
status
))
+
"
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
0
!=
e
.
row
.
status
?
a
(
"div"
,[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"filterStatus"
)(
e
.
row
.
status
))
+
" / "
+
t
.
_s
(
e
.
row
.
result
)
+
"
\n
"
)]):
t
.
_e
()]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"发送时间"
,
sortable
:
""
}})],
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
(
"5HKL"
),
a
(
"E56y"
)},
"data-v-7e417bc8"
,
null
);
e
.
default
=
n
.
exports
}});
\ No newline at end of file
dist/static/js/27.b1ba1ddd03f95a5dced7.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
27
],{
"09lw"
:
function
(
e
,
t
){},
"9ZSL"
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
i
(
"CCn6"
),
s
=
i
(
"kmJW"
),
o
=
i
(
"C+jy"
),
n
=
(
i
(
"sf/l"
),
i
(
"+TkF"
));
function
l
(
e
,
t
,
i
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
i
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
i
,
e
}
var
r
=
{
name
:
"index"
,
components
:{
page
:
s
.
a
,
page2
:
s
.
a
,
pageImage
:
s
.
a
,
pageVideo
:
s
.
a
,
emotion
:
o
.
a
,
getMsgCountApi
:
getMsgCountApi
},
data
:
function
(){
var
e
;
return
l
(
e
=
{
sendReviewDialog
:
!
1
,
sendReviewId
:
""
,
goodList
:[],
goodsDialog
:{
show
:
!
1
},
handSecUser
:
""
,
secGoods_ids
:
""
,
secPeriods_ids
:
""
,
userList
:[],
radio1
:
1
,
radio2
:
1
,
radio3
:
1
,
nowPage
:
1
,
total
:
0
,
limit
:
10
,
mediaPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
show
:
!
1
,
loading
:
!
1
,
activeName
:
"text"
,
list
:[],
content
:
""
,
uploadShow
:
!
0
,
imageList
:[],
fileList
:[],
imageContent
:
""
,
videoContent
:
""
,
searchFrom
:{
type
:
1
,
is_test
:
!
1
},
goodSearchFrom
:{
status
:
"1"
},
tableData
:[],
fileUid
:
null
,
userDialog
:{
total
:
0
,
limit
:
10
,
nowPage
:
1
,
show
:
!
1
},
searchUserFrom
:{},
multipleSelection
:[],
showEmotion
:
!
1
,
showMedia
:
!
1
,
showImage
:
!
1
,
showVideo
:
!
1
,
mediaList
:[],
mediaImageList
:[],
mediaVideoList
:[],
mediaImagePage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
},
mediaVideoPage
:{
nowPage
:
1
,
total
:
0
,
limit
:
5
}},
"imageContent"
,
null
),
l
(
e
,
"videoContent"
,
null
),
l
(
e
,
"newsContent"
,
null
),
e
},
filters
:{
isOrNot
:
function
(
e
){
return
n
.
o
[
e
]},
goodsType
:
function
(
e
){
return
n
.
h
[
e
]},
lessonType
:
function
(
e
){
return
n
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
n
.
g
[
e
]},
goodsDesc
:
function
(
e
){
return
JSON
.
parse
(
e
).
desc
},
typeFilter
:
function
(
e
){
if
(
e
)
return
"text"
===
e
?
"文本"
:
"image"
===
e
?
"图片"
:
"video"
===
e
?
"视频"
:
"news"
===
e
?
"图文"
:
void
0
},
typeListFilter
:
function
(
e
){
return
e
?
1
===
e
?
"48时内关注但未购课用户"
:
2
===
e
?
"有体验课但没有正式课用户"
:
3
===
e
?
"未试听用户"
:
4
===
e
?
"指定用户手机号"
:
void
0
:
""
}},
methods
:{
getGoods
:
function
(){
var
e
=
this
,
t
=
{
limit
:
"100"
,
page
:
this
.
nowPage
};
this
.
goodSearchFrom
.
status
&&
"-1"
!==
this
.
goodSearchFrom
.
status
&&
(
t
.
status
=
this
.
goodSearchFrom
.
status
),
console
.
log
(
613
),
Object
(
a
.
_40
)(
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
.
goodList
=
t
.
list
})},
radio1change
:
function
(
e
){
3
==
e
&&
this
.
onSelectUser
()},
radio2change
:
function
(
e
){},
radio3change
:
function
(
e
){
2
==
e
&&
(
this
.
getGoods
(),
this
.
goodsDialog
.
show
=!
0
),
console
.
log
(
this
.
radio3
)},
handleClick
:
function
(
e
){
this
.
activeName
=
e
.
name
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
,
this
.
imageList
=
[],
this
.
imageContent
=
""
},
handleRemoveVideo
:
function
(){
this
.
videoContent
=
""
,
this
.
fileList
=
[]},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleAvatarSuccess
:
function
(
e
){
this
.
imageList
=
[{
name
:
e
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
data
.
url
}]},
uploadFile
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
a
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
e
){
t
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
t
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideo
:
function
(
e
){
var
t
=
this
;
Object
(
a
.
_126
)({
file
:
e
.
file
,
type
:
"wechat"
}).
then
(
function
(
i
){
t
.
uploadVideoFile
(
e
,
i
)}).
catch
(
function
(){
t
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
uploadVideoFile
:
function
(
e
,
t
){
var
i
=
this
;
this
.
fileUid
=
e
.
file
.
uid
,
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
Object
(
a
.
_126
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
a
){
i
.
videoContent
=
{
content
:
t
.
media_id
,
url
:
"https://cdn.singsingenglish.com/"
+
a
.
url
},
i
.
fileList
=
[{
name
:
a
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
a
.
url
}],
i
.
loading
=!
1
,
i
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
i
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"delete"
,
id
:
e
.
file
.
uid
}),
i
.
fileUid
=
null
}).
catch
(
function
(){
i
.
loading
=!
1
,
i
.
$message
({
type
:
"error"
,
message
:
"上传失败!"
})})},
sendReview
:
function
(){
var
e
=
this
,
t
=
{};
t
.
test_id
=
this
.
sendReviewId
;
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
:
"请选择图文!"
}));
t
.
content
=
JSON
.
stringify
(
i
),
Object
(
a
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
sendReviewDialog
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})},
getMsgCountApi
:
function
(){},
send
:
function
(){
var
e
=
this
,
t
=
{};
t
.
type
=
this
.
radio1
;
var
i
=
""
;
3
==
t
.
type
&&
(
this
.
handSecUser
?(
t
.
ids
=
this
.
handSecUser
,
i
=
"已选发送用户"
+
t
.
ids
):
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
})),
2
==
t
.
type
&&
(
t
.
fans_type
=
this
.
radio2
,
3
==
t
.
fans_type
&&
(
t
.
course_type
=
this
.
radio3
,
2
==
t
.
course_type
||
t
.
course_type
));
var
s
=
{};
if
(
s
.
type
=
this
.
activeName
,
"text"
===
this
.
activeName
){
if
(
!
this
.
content
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请输入文本!"
});
s
.
content
=
this
.
content
}
else
if
(
"image"
===
this
.
activeName
){
if
(
!
this
.
imageContent
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请上传图片!"
});
s
.
content
=
this
.
imageContent
.
content
,
s
.
url
=
this
.
imageContent
.
url
}
else
if
(
"video"
===
this
.
activeName
){
if
(
!
this
.
videoContent
)
return
void
this
.
$message
({
type
:
"error"
,
message
:
"请上传视频!"
});
s
.
content
=
this
.
videoContent
.
content
,
s
.
url
=
this
.
videoContent
.
url
}
else
"news"
===
this
.
activeName
&&
(
this
.
newsContent
&&
this
.
newsContent
.
media_id
?
s
.
content
=
this
.
newsContent
.
media_id
:
this
.
$message
({
type
:
"error"
,
message
:
"请选择图文!"
}));
t
.
content
=
JSON
.
stringify
(
s
),
t
.
is_test
=
this
.
searchFrom
.
is_test
?
2
:
1
,
console
.
log
(
"json"
,
t
),
this
.
$confirm
(
i
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
_100
)(
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
t
,
type
:
"success"
}),
e
.
show
=!
1
,
e
.
clearData
(),
e
.
getMsgList
()})}).
catch
(
function
(){
e
.
$message
({
type
:
"info"
,
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
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
Object
(
a
.
_49
)(
t
).
then
(
function
(
t
){
e
.
tableData
=
t
.
list
,
e
.
total
=
t
.
total
})},
onMediaPageChange
:
function
(
e
){
this
.
mediaPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onMediaSizeChange
:
function
(){
this
.
mediaPage
.
nowPage
=
1
,
this
.
mediaPage
.
limit
=
val
,
this
.
getMediaList
()},
onImagePageChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
e
,
this
.
getMediaList
()},
onImageSizeChange
:
function
(
e
){
this
.
mediaImagePage
.
nowPage
=
1
,
this
.
mediaImagePage
.
limit
=
e
,
this
.
getMediaList
()},
onVideoPageChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
e
,
this
.
getMediaList
()},
onVideoSizeChange
:
function
(
e
){
this
.
mediaVideoPage
.
nowPage
=
1
,
this
.
mediaVideoPage
.
limit
=
e
,
this
.
getMediaList
()},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getMsgList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getMsgList
()},
getUser
:
function
(){
var
e
=
this
,
t
=
{
page
:
this
.
userDialog
.
nowPage
,
limit
:
this
.
userDialog
.
limit
};
this
.
searchUserFrom
.
userId
&&
(
t
.
user_id
=
this
.
searchUserFrom
.
userId
),
this
.
searchUserFrom
.
nickName
&&
(
t
.
nickname
=
this
.
searchUserFrom
.
nickName
),
this
.
searchUserFrom
.
mobile
&&
(
t
.
mobile
=
this
.
searchUserFrom
.
mobile
),
Object
(
a
.
_77
)(
t
).
then
(
function
(
t
){
e
.
userList
=
t
.
list
,
e
.
userDialog
.
total
=
t
.
total
})},
onUserPageChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
e
,
this
.
getUser
()},
onUserSizeChange
:
function
(
e
){
this
.
userDialog
.
nowPage
=
1
,
this
.
userDialog
.
limit
=
e
,
this
.
getUser
()},
goodsSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
},
onGoodsConfirm
:
function
(){
var
e
=
this
.
multipleSelection
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"商品!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
id
)});
var
i
=
t
,
a
=
this
.
dedupe
(
i
);
this
.
secGoods_ids
=
a
.
join
(
","
),
console
.
log
(
this
.
secGoods_ids
),
this
.
goodsDialog
.
show
=!
1
}},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
},
onSelectUser
:
function
(){
this
.
userDialog
.
show
=!
0
,
console
.
log
(
this
.
userDialog
),
this
.
searchFrom
.
user_id
?
this
.
multipleSelection
=
this
.
searchFrom
.
user_id
.
split
(
","
):
this
.
multipleSelection
=
[],
this
.
getUser
()},
onConfirm
:
function
(){
var
e
=
this
.
multipleSelection
;
if
(
0
===
e
.
length
)
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
else
{
var
t
=
[];
e
.
forEach
(
function
(
e
){
t
.
push
(
e
.
user_id
)});
var
i
=
t
;
this
.
searchFrom
.
user_ids
&&
(
i
=
t
.
concat
(
this
.
stringToInt
(
this
.
searchFrom
.
user_ids
.
split
(
","
))));
var
a
=
this
.
dedupe
(
i
);
this
.
handSecUser
=
a
.
join
(
","
),
console
.
log
(
a
),
this
.
userDialog
.
show
=!
1
}},
dedupe
:
function
(
e
){
return
Array
.
from
(
new
Set
(
e
))},
stringToInt
:
function
(
e
){
var
t
=
e
||
[];
return
t
=
t
.
map
(
function
(
e
){
return
parseInt
(
e
,
10
)})},
emotion
:
function
(
e
){
var
t
=
e
.
replace
(
/
\/
/gi
,
""
);
return
'<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/'
+
[
"微笑"
,
"撇嘴"
,
"色"
,
"发呆"
,
"得意"
,
"流泪"
,
"害羞"
,
"闭嘴"
,
"睡"
,
"大哭"
,
"尴尬"
,
"发怒"
,
"调皮"
,
"呲牙"
,
"惊讶"
,
"难过"
,
"酷"
,
"冷汗"
,
"抓狂"
,
"吐"
,
"偷笑"
,
"可爱"
,
"白眼"
,
"傲慢"
,
"饥饿"
,
"困"
,
"惊恐"
,
"流汗"
,
"憨笑"
,
"大兵"
,
"奋斗"
,
"咒骂"
,
"疑问"
,
"嘘"
,
"晕"
,
"折磨"
,
"衰"
,
"骷髅"
,
"敲打"
,
"再见"
,
"擦汗"
,
"抠鼻"
,
"鼓掌"
,
"糗大了"
,
"坏笑"
,
"左哼哼"
,
"右哼哼"
,
"哈欠"
,
"鄙视"
,
"委屈"
,
"快哭了"
,
"阴险"
,
"亲亲"
,
"吓"
,
"可怜"
,
"菜刀"
,
"西瓜"
,
"啤酒"
,
"篮球"
,
"乒乓"
,
"咖啡"
,
"饭"
,
"猪头"
,
"玫瑰"
,
"凋谢"
,
"示爱"
,
"爱心"
,
"心碎"
,
"蛋糕"
,
"闪电"
,
"炸弹"
,
"刀"
,
"足球"
,
"瓢虫"
,
"便便"
,
"月亮"
,
"太阳"
,
"礼物"
,
"拥抱"
,
"强"
,
"弱"
,
"握手"
,
"胜利"
,
"抱拳"
,
"勾引"
,
"拳头"
,
"差劲"
,
"爱你"
,
"NO"
,
"OK"
,
"爱情"
,
"飞吻"
,
"跳跳"
,
"发抖"
,
"怄火"
,
"转圈"
,
"磕头"
,
"回头"
,
"跳绳"
,
"挥手"
,
"激动"
,
"街舞"
,
"献吻"
,
"左太极"
,
"右太极"
].
indexOf
(
t
)
+
'.gif" align="middle">'
},
handleEmotion
:
function
(
e
){
this
.
content
+=
e
},
onChooseMedia
:
function
(
e
){
console
.
log
(
"onChooseMedia"
,
e
),
"image"
===
this
.
type
?(
this
.
imageContent
=
{
content
:
e
.
media_id
,
url
:
e
.
url
},
this
.
imageList
=
[{
name
:
e
.
media_id
,
url
:
e
.
url
}],
this
.
showImage
=!
1
):
"video"
===
this
.
type
?(
this
.
videoContent
=
{
content
:
e
.
media_id
,
url
:
e
.
info
.
down_url
},
this
.
fileList
=
[{
name
:
e
.
info
.
title
,
url
:
e
.
info
.
url
}],
this
.
showVideo
=!
1
):
"news"
===
this
.
type
&&
(
this
.
newsContent
=
e
,
this
.
showMedia
=!
1
)},
getMediaList
:
function
(){
var
e
=
this
,
t
=
this
.
activeName
,
i
=
{
type
:
t
,
page
:
this
.
mediaPage
.
nowPage
,
limit
:
this
.
mediaPage
.
limit
};
"image"
===
t
?(
i
.
page
=
this
.
mediaImagePage
.
nowPage
,
i
.
limit
=
this
.
mediaImagePage
.
limit
,
this
.
showImage
=!
0
):
"video"
===
t
?(
i
.
page
=
this
.
mediaVideoPage
.
nowPage
,
i
.
limit
=
this
.
mediaVideoPage
.
limit
,
this
.
showVideo
=!
0
):
"news"
===
t
&&
(
i
.
page
=
this
.
mediaPage
.
nowPage
,
i
.
limit
=
this
.
mediaPage
.
limit
,
this
.
showMedia
=!
0
),
this
.
loading
=!
0
,
Object
(
a
.
_46
)(
i
).
then
(
function
(
i
){
e
.
loading
=!
1
,
e
.
type
=
t
,
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
,
"image"
===
t
?(
e
.
mediaImageList
=
i
.
item
,
e
.
mediaImagePage
.
total
=
i
.
total_count
):
"video"
===
t
?(
e
.
mediaVideoList
=
i
.
item
,
e
.
mediaVideoPage
.
total
=
i
.
total_count
):
"news"
===
t
&&
(
e
.
mediaList
=
i
.
item
,
e
.
mediaPage
.
total
=
i
.
total_count
),
0
===
e
.
total
&&
e
.
$message
({
showClose
:
!
0
,
message
:
"暂无数据"
})}).
catch
(
function
(){
e
.
loading
=!
1
})},
defaultTime
:
function
(){
var
e
=
(
new
Date
).
getTime
(),
t
=
e
-
1728
e5
;
this
.
searchFrom
.
time
=
[
new
Date
(
t
),
new
Date
(
e
)]}},
mounted
:
function
(){
this
.
getMsgList
(),
this
.
defaultTime
()},
computed
:{
progress
:
function
(){
var
e
=
this
;
return
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
<
100
?
this
.
$store
.
state
.
progressList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
fileUid
}).
num
:
100
}}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"index"
},[
i
(
"el-tabs"
,{
attrs
:{
type
:
"border-card"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"编辑内容"
}},[
i
(
"div"
,{
staticClass
:
"box"
},[
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择发送范围"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
on
:{
change
:
e
.
radio1change
},
model
:{
value
:
e
.
radio1
,
callback
:
function
(
t
){
e
.
radio1
=
t
},
expression
:
"radio1"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"全部粉丝"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"按条件筛选"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"手动选择粉丝"
)])],
1
)],
1
),
e
.
_v
(
" "
),
3
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
e
.
_v
(
"
\
r
\n
已选用户ID:"
),
i
(
"el-input"
,{
model
:{
value
:
e
.
handSecUser
,
callback
:
function
(
t
){
e
.
handSecUser
=
t
},
expression
:
"handSecUser"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择用户类型"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
on
:{
change
:
e
.
radio2change
},
model
:{
value
:
e
.
radio2
,
callback
:
function
(
t
){
e
.
radio2
=
t
},
expression
:
"radio2"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"无手机号用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
2
}},[
e
.
_v
(
"有手机号但无课用户"
)]),
e
.
_v
(
" "
),
i
(
"el-radio"
,{
attrs
:{
label
:
3
}},[
e
.
_v
(
"有课用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
?
i
(
"div"
,{
staticClass
:
"radio"
},[
i
(
"div"
,{
staticClass
:
"radio_title"
},[
e
.
_v
(
"选择课程类型"
)]),
e
.
_v
(
" "
),
i
(
"el-radio-group"
,{
on
:{
change
:
e
.
radio3change
},
model
:{
value
:
e
.
radio3
,
callback
:
function
(
t
){
e
.
radio3
=
t
},
expression
:
"radio3"
}},[
i
(
"el-radio"
,{
attrs
:{
label
:
1
}},[
e
.
_v
(
"所有有课用户"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
==
e
.
radio2
&&
2
==
e
.
radio1
&&
2
==
e
.
radio3
?
i
(
"div"
,{
staticClass
:
"secUinput"
},[
e
.
_v
(
"
\
r
\n
已选商品编号:"
),
i
(
"el-input"
,{
model
:{
value
:
e
.
secGoods_ids
,
callback
:
function
(
t
){
e
.
secGoods_ids
=
t
},
expression
:
"secGoods_ids"
}})],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
handleClick
},
model
:{
value
:
e
.
activeName
,
callback
:
function
(
t
){
e
.
activeName
=
t
},
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
:
e
.
content
,
callback
:
function
(
t
){
e
.
content
=
t
},
expression
:
"content"
}})],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
float
:
"right"
,
"margin-right"
:
"15px"
}},[
i
(
"el-popover"
,{
attrs
:{
placement
:
"bottom-end"
,
width
:
"400"
,
offset
:
10
,
trigger
:
"hover"
},
model
:{
value
:
e
.
showEmotion
,
callback
:
function
(
t
){
e
.
showEmotion
=
t
},
expression
:
"showEmotion"
}},[
i
(
"div"
,[
i
(
"emotion"
,{
attrs
:{
height
:
200
},
on
:{
emotion
:
e
.
handleEmotion
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
type
:
"text"
},
on
:{
click
:
function
(
t
){
e
.
showEmotion
=!
e
.
showEmotion
}},
slot
:
"reference"
},[
i
(
"span"
,{
staticClass
:
"icon_emotion emotion_switch"
})])],
1
)],
1
)]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图片"
,
name
:
"image"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"div"
,[
i
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadFile
,
"before-upload"
:
e
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
e
.
imageList
,
"on-success"
:
e
.
handleAvatarSuccess
,
"on-remove"
:
e
.
handleRemove
,
limit
:
1
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
)]),
e
.
_v
(
" "
),
e
.
showImage
&&
e
.
mediaImageList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaImageList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"a"
,{
attrs
:{
href
:
e
.
row
.
url
}},[
i
(
"img"
,{
staticStyle
:{
width
:
"60px"
},
attrs
:{
src
:
e
.
row
.
url
}})])]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page-image"
,{
attrs
:{
total
:
e
.
mediaImagePage
.
total
,
limit
:
e
.
mediaImagePage
.
limit
},
on
:{
pageChange
:
e
.
onImagePageChange
,
sizeChange
:
e
.
onImageSizeChange
},
model
:{
value
:
e
.
mediaImagePage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaImagePage
,
"nowPage"
,
t
)},
expression
:
"mediaImagePage.nowPage"
}})],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"视频"
,
name
:
"video"
}},[
i
(
"div"
,{
staticClass
:
"flex-start"
},[
i
(
"el-upload"
,{
staticClass
:
"upload-video"
,
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadVideo
,
"file-list"
:
e
.
fileList
,
"on-remove"
:
e
.
handleRemoveVideo
,
limit
:
1
}},[
i
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"primary"
,
disabled
:
e
.
fileUid
&&
e
.
progress
<
99
}},[
e
.
_v
(
"点击上传"
)]),
e
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
width
:
"300px"
}},[
e
.
fileUid
?
i
(
"el-progress"
,{
attrs
:{
percentage
:
e
.
progress
}}):
e
.
_e
()],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])])],
1
),
e
.
_v
(
" "
),
e
.
showVideo
&&
e
.
mediaVideoList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaVideoList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
info
&&
t
.
row
.
info
.
down_url
?
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
info
.
down_url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
info
.
title
)
+
"
\
r
\n
"
)]):
e
.
_e
()]}}])})],
1
)],
1
):
e
.
_e
()]),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"图文"
,
name
:
"news"
}},[
e
.
newsContent
&&
e
.
newsContent
.
content
&&
e
.
newsContent
.
content
.
news_item
?
i
(
"div"
,[
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
}},[
i
(
"el-card"
,{
attrs
:{
"body-style"
:{
padding
:
"0px"
}}},
e
.
_l
(
e
.
newsContent
.
content
.
news_item
,
function
(
t
,
a
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
e
.
newsContent
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
t
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
newsContent
.
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
:
t
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
t
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
t
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
t
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])}))],
1
),
e
.
_v
(
" "
),
i
(
"i"
,{
staticClass
:
"el-icon-delete"
,
staticStyle
:{
display
:
"inline-block"
},
on
:{
click
:
function
(
t
){
e
.
newsContent
=
""
}}})]):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"display-b"
},[
i
(
"div"
,{
staticClass
:
"choose_item"
,
staticStyle
:{
color
:
"#888"
},
on
:{
click
:
function
(
t
){
e
.
getMediaList
()}}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
,
staticStyle
:{
color
:
"#8c939d"
}}),
e
.
_v
(
"从素材库中选择"
)])]),
e
.
_v
(
" "
),
e
.
showMedia
&&
e
.
mediaList
.
length
>
0
?
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
mediaList
},
on
:{
"row-click"
:
e
.
onChooseMedia
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"mediaId"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"URL"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
content
&&
t
.
row
.
content
.
news_item
?
i
(
"div"
,{
staticClass
:
"news-media"
,
staticStyle
:{
display
:
"inline-block"
,
width
:
"200px"
}},
e
.
_l
(
t
.
row
.
content
.
news_item
,
function
(
a
,
s
){
return
i
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
1
===
t
.
row
.
content
.
news_item
.
length
?
i
(
"div"
,{
staticClass
:
"single-cover"
},[
i
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
a
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticStyle
:{
width
:
"100%"
,
"margin-top"
:
"20px"
},
attrs
:{
src
:
a
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"digest"
},[
e
.
_v
(
e
.
_s
(
a
.
digest
))]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
a
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
t
.
row
.
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
:
a
.
thumb_url
}}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"bottom-title"
},[
e
.
_v
(
e
.
_s
(
a
.
title
))])]):
i
(
"div"
,{
staticClass
:
"next-cover clear-both"
},[
i
(
"span"
,{
staticClass
:
"next-title"
},[
e
.
_v
(
e
.
_s
(
a
.
title
))]),
e
.
_v
(
" "
),
i
(
"img"
,{
staticClass
:
"next-img"
,
attrs
:{
src
:
a
.
thumb_url
}})]),
e
.
_v
(
" "
),
i
(
"a"
,{
staticClass
:
"preview"
,
attrs
:{
href
:
a
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"
\
r
\n
预览文章
\
r
\n
"
)])]):
e
.
_e
()])})):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"page2"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
mediaPage
.
limit
},
on
:{
pageChange
:
e
.
onMediaPageChange
,
sizeChange
:
e
.
onMediaSizeChange
},
model
:{
value
:
e
.
mediaPage
.
nowPage
,
callback
:
function
(
t
){
e
.
$set
(
e
.
mediaPage
,
"nowPage"
,
t
)},
expression
:
"mediaPage.nowPage"
}})],
1
):
e
.
_e
()])],
1
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"b-title"
},[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
"margin-bottom"
:
"10px"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
send
()}}},[
e
.
_v
(
"立即群发"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
margin
:
"0 40px 10px 0"
},
attrs
:{
type
:
"info"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
0
}}},[
e
.
_v
(
"预览发送"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"发送记录"
}},[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-table"
,{
attrs
:{
border
:
!
1
,
data
:[
JSON
.
parse
(
t
.
row
.
content
)]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"typeFilter"
)(
t
.
row
.
type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
"text"
!==
JSON
.
parse
(
t
.
row
.
content
).
type
?
i
(
"el-table-column"
,{
attrs
:{
prop
:
"media_id"
,
label
:
"media_id"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
content
)
+
"
\
r
\n
"
)]}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"内容"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
"text"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"span"
,{
domProps
:{
innerHTML
:
e
.
_s
(
t
.
row
.
content
.
replace
(
/
\/[\u
4E00-
\u
9FA5
]{1,3}
/gi
,
e
.
emotion
))}})]):
"image"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"img"
,{
staticStyle
:{
width
:
"80px"
},
attrs
:{
src
:
t
.
row
.
url
}})]):
"video"
===
t
.
row
.
type
?
i
(
"div"
,[
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
url
,
target
:
"_blank"
}},[
e
.
_v
(
"点击查看视频"
)])]):
e
.
_e
()]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_id"
,
label
:
"消息ID"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"消息类型"
,
prop
:
"condition"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"send_num"
,
label
:
"预计发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"arrive_num"
,
label
:
"已发送"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"failed_num"
,
label
:
"发送失败"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"发送时间"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
goodsDialog
.
show
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
goodsDialog
,
"show"
,
t
)}}},[
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
function
(
t
){
e
.
getGoods
()}},
model
:{
value
:
e
.
goodSearchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goodSearchFrom
,
"status"
,
t
)},
expression
:
"goodSearchFrom.status"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
goodList
,
fixed
:
""
},
on
:{
"selection-change"
:
e
.
goodsSelectionChange
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"商品编号"
,
width
:
"80"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\
r
\n
"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"商品原价/直购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
original_price
/
100
)
+
"元
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"商品现价/团购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
t
.
row
.
current_price
/
100
)
+
"元
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"是否有实物"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"isOrNot"
)(
t
.
row
.
is_real
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"buy_nums"
,
label
:
"商品购买数量"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"备注"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
r
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsDesc"
)(
t
.
row
.
desc
))
+
"
\
r
\n
"
)]}}])})],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
goodsDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onGoodsConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
userDialog
.
show
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
userDialog
,
"show"
,
t
)}}},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
}},[
i
(
"el-row"
,[
i
(
"el-col"
,{
attrs
:{
span
:
3
}},[
i
(
"el-form-item"
,[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getUser
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
userId
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"userId"
,
t
)},
expression
:
"searchUserFrom.userId"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
nickName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"nickName"
,
t
)},
expression
:
"searchUserFrom.nickName"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
7
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"电话"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
searchUserFrom
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchUserFrom
,
"mobile"
,
t
)},
expression
:
"searchUserFrom.mobile"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
userList
},
on
:{
"selection-change"
:
e
.
handleSelectionChange
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\
r
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
total
:
e
.
userDialog
.
total
,
limit
:
e
.
userDialog
.
limit
},
on
:{
pageChange
:
e
.
onUserPageChange
,
sizeChange
:
e
.
onUserSizeChange
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
userDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
sendReviewDialog
,
"append-to-body"
:
""
},
on
:{
"update:visible"
:
function
(
t
){
e
.
sendReviewDialog
=
t
}}},[
i
(
"div"
,[
e
.
_v
(
"预览用户ID"
)]),
e
.
_v
(
" "
),
i
(
"el-input"
,{
attrs
:{
label
:
"预览用户ID"
},
model
:{
value
:
e
.
sendReviewId
,
callback
:
function
(
t
){
e
.
sendReviewId
=
t
},
expression
:
"sendReviewId"
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
sendReviewDialog
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sendReview
}},[
e
.
_v
(
"发送预览"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
d
=
i
(
"VU/8"
)(
r
,
c
,
!
1
,
function
(
e
){
i
(
"BwHz"
),
i
(
"09lw"
)},
"data-v-75a55011"
,
null
);
t
.
default
=
d
.
exports
},
BwHz
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/28.fe524b57ea14474670ac.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
28
],{
"3okg"
:
function
(
e
,
t
){},
REW4
:
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
&&
e
.
$confirm
(
"此操作将修改该配置?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
_114
)(
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
&&
e
.
$confirm
(
"此操作将添加新配置?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
_95
)(
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
)}}},
n
=
{
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"
,{
attrs
:{
prop
:
"desc"
}},[
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
l
=
{
name
:
"sysConfig"
,
data
:
function
(){
return
{
total
:
0
,
nowPage
:
1
,
searchKey
:
""
,
limit
:
10
,
dialogObj
:{
value
:
""
,
desc
:
""
,
show
:
!
1
,
id
:
""
},
list
:[]}},
components
:{
dialogCom
:
a
(
"VU/8"
)(
s
,
n
,
!
1
,
function
(
e
){
a
(
"3okg"
)},
"data-v-99de1be0"
,
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
};
this
.
searchKey
&&
(
t
.
key
=
this
.
searchKey
),
Object
(
i
.
_33
)(
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
.
_32
)(
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
.
R
)(
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
(
"添加配置"
)]),
e
.
_v
(
" "
),
a
(
"el-form"
,{
attrs
:{
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"关键字"
}},[
a
(
"el-input"
,{
attrs
:{
placeholder
:
"输入关键字搜索"
},
model
:{
value
:
e
.
searchKey
,
callback
:
function
(
t
){
e
.
searchKey
=
t
},
expression
:
"searchKey"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
)],
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"
,
sortable
:
""
,
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
:
"创建时间"
,
sortable
:
""
}}),
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"
)(
l
,
r
,
!
1
,
function
(
e
){
a
(
"REW4"
)},
"data-v-7036c2de"
,
null
);
t
.
default
=
c
.
exports
}});
\ No newline at end of file
dist/static/js/29.142fa147d47c9c7ad8dd.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
29
],{
Uj1Q
:
function
(
t
,
e
){},
WNWN
:
function
(
t
,
e
){},
"sg/1"
:
function
(
t
,
e
,
s
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
i
=
s
(
"CCn6"
),
o
=
(
s
(
"+TkF"
),{
name
:
"dialogObj"
,
props
:[
"dialogObj"
],
data
:
function
(){
return
{
show
:
!
1
,
id
:
""
,
title
:
""
,
loading
:
!
0
,
form
:{
key
:
"no_lesson_date"
,
value
:
"no_lesson_date"
,
desc
:[]},
noLessonDate
:[],
rules
:{
noLessonDate
:[{
required
:
!
0
,
message
:
"请选择日期"
,
trigger
:
"change"
}]},
pickerOptions1
:{
disabledDate
:
function
(
t
){
return
!
(
t
.
getTime
()
>
Date
.
now
())}}}},
components
:{
page
:
s
(
"kmJW"
).
a
},
methods
:{
save
:
function
(){
var
t
=
this
;
if
(
0
!==
this
.
noLessonDate
.
length
){
var
e
=
{
key
:
this
.
form
.
key
,
value
:
this
.
form
.
value
},
s
=
this
.
form
.
desc
||
[];
this
.
noLessonDate
.
length
>
0
&&
(
s
=
s
.
concat
(
this
.
noLessonDate
),
s
=
this
.
dedupe
(
s
)),
e
.
desc
=
JSON
.
stringify
(
s
),
this
.
id
?
Object
(
i
.
_114
)(
this
.
id
,
e
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
}),
t
.
noLessonDate
=
s
,
t
.
$emit
(
"reflash"
),
t
.
show
=!
1
}):
Object
(
i
.
_95
)(
e
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
}),
t
.
noLessonDate
=
s
,
t
.
$emit
(
"reflash"
),
t
.
show
=!
1
})}
else
this
.
$message
({
type
:
"error"
,
message
:
"请选择不上课时间!"
})},
initDialog
:
function
(){
this
.
show
=
this
.
dialogObj
.
show
,
this
.
dialogObj
.
id
&&
(
this
.
id
=
this
.
dialogObj
.
id
),
this
.
title
=
this
.
dialogObj
.
title
,
this
.
form
.
desc
=
this
.
dialogObj
.
desc
,
this
.
noLessonDate
=
this
.
form
.
desc
,
this
.
loading
=!
1
},
dedupe
:
function
(
t
){
return
Array
.
from
(
new
Set
(
t
))}},
watch
:{
dialogObj
:{
handler
:
function
(){
this
.
loading
=!
0
,
this
.
initDialog
()},
deep
:
!
0
},
show
:
function
(
t
){
this
.
$emit
(
"changeShow"
,
t
)}}}),
n
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
s
=
t
.
_self
.
_c
||
e
;
return
s
(
"el-dialog"
,{
attrs
:{
title
:
t
.
title
,
center
:
""
,
"close-on-click-modal"
:
!
1
,
"close-on-press-escape"
:
!
1
,
"show-close"
:
!
1
,
"append-to-body"
:
""
,
visible
:
t
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
show
=
e
}}},[
s
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
loading
,
expression
:
"loading"
}]},[
s
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
t
.
form
,
rules
:
t
.
rules
}},[
s
(
"el-row"
,[
s
(
"el-col"
,{
attrs
:{
span
:
4
}},[
s
(
"label"
,[
t
.
_v
(
"不上课日期"
)])]),
t
.
_v
(
" "
),
s
(
"el-col"
,{
attrs
:{
span
:
20
}},[
s
(
"el-form-item"
,[
s
(
"el-date-picker"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
type
:
"dates"
,
"value-format"
:
"yyyy-MM-dd"
,
"picker-options"
:
t
.
pickerOptions1
,
placeholder
:
"选择日期"
},
model
:{
value
:
t
.
noLessonDate
,
callback
:
function
(
e
){
t
.
noLessonDate
=
e
},
expression
:
"noLessonDate"
}})],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
e
){
t
.
show
=!
1
}}},[
t
.
_v
(
"取 消"
)]),
t
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
save
}},[
t
.
_v
(
"确 定"
)])],
1
)],
1
)])},
staticRenderFns
:[]};
var
a
=
{
name
:
"index"
,
data
:
function
(){
return
{
dialogObj
:{
value
:
""
,
desc
:
""
,
show
:
!
1
,
id
:
""
},
list
:[],
id
:
""
}},
components
:{
dialogCom
:
s
(
"VU/8"
)(
o
,
n
,
!
1
,
function
(
t
){
s
(
"Uj1Q"
)},
"data-v-e9aa269a"
,
null
).
exports
},
mounted
:
function
(){
this
.
getList
()},
methods
:{
changeShow
:
function
(
t
){
this
.
dialogObj
.
show
=
t
},
getList
:
function
(){
var
t
=
this
;
Object
(
i
.
_33
)({
key
:
"no_lesson_date"
}).
then
(
function
(
e
){
if
(
e
.
list
.
length
>
0
){
var
s
=
e
.
list
[
0
].
desc
;
t
.
id
=
e
.
list
[
0
].
id
,
t
.
list
=
s
?
JSON
.
parse
(
s
):[]}})},
add
:
function
(){
this
.
dialogObj
.
title
=
"添加不上课日期"
,
this
.
dialogObj
.
desc
=
this
.
list
||
[],
this
.
dialogObj
.
show
=!
0
,
this
.
list
.
length
>
0
?
this
.
dialogObj
.
id
=
this
.
id
:
this
.
dialogObj
.
id
=
""
},
edit
:
function
(
t
){
var
e
=
this
;
Object
(
i
.
_32
)(
t
.
id
).
then
(
function
(
t
){
e
.
dialogObj
.
title
=
"修改不上课日期"
,
e
.
dialogObj
.
desc
=
t
.
desc
,
e
.
dialogObj
.
show
=!
0
})},
del
:
function
(
t
){
var
e
=
this
;
this
.
$confirm
(
"此操作将删除该记录?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
var
s
=
{
key
:
"no_lesson_date"
,
value
:
"no_lesson_date"
},
o
=
[];
e
.
list
.
forEach
(
function
(
e
){
e
!==
t
&&
o
.
push
(
e
)}),
s
.
desc
=
JSON
.
stringify
(
o
),
Object
(
i
.
_114
)(
e
.
id
,
s
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
e
.
getList
()})})}}},
l
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
s
=
t
.
_self
.
_c
||
e
;
return
s
(
"div"
,{
attrs
:{
classs
:
"noLesson"
}},[
s
(
"el-row"
,{
staticClass
:
"add-btn"
,
attrs
:{
type
:
"flex"
,
justify
:
"end"
}},[
s
(
"el-col"
,{
attrs
:{
span
:
6
}},[
t
.
$store
.
state
.
readonly
?
t
.
_e
():
s
(
"el-button"
,{
attrs
:{
type
:
"success"
,
plain
:
""
},
on
:{
click
:
t
.
add
}},[
t
.
_v
(
"添加不上课日期"
)])],
1
)],
1
),
t
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"card"
},
t
.
_l
(
t
.
list
,
function
(
e
,
i
){
return
s
(
"el-card"
,{
key
:
i
,
attrs
:{
"body-style"
:{
padding
:
"0px"
}}},[
s
(
"span"
,{
staticClass
:
"time"
},[
t
.
_v
(
t
.
_s
(
e
))]),
t
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"bottom clearfix"
},[
t
.
$store
.
state
.
deletePermission
&&!
t
.
$store
.
state
.
readonly
?
s
(
"el-button"
,{
staticClass
:
"button"
,
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
t
.
del
(
e
)}}},[
t
.
_v
(
"删除"
)]):
t
.
_e
()],
1
)])})),
t
.
_v
(
" "
),
s
(
"dialog-com"
,{
attrs
:{
dialogObj
:
t
.
dialogObj
},
on
:{
changeShow
:
t
.
changeShow
,
reflash
:
t
.
getList
}})],
1
)},
staticRenderFns
:[]};
var
d
=
s
(
"VU/8"
)(
a
,
l
,
!
1
,
function
(
t
){
s
(
"WNWN"
)},
"data-v-6a22b44c"
,
null
);
e
.
default
=
d
.
exports
}});
\ No newline at end of file
dist/static/js/app.f602d2d4756f8a3f021f.js
0 → 100644
View file @
593eb4d8
webpackJsonp
([
54
],{
IcnI
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"NYxO"
),
a
=
t
(
"zSLJ"
),
r
=
{
setToken
:
function
(
e
,
n
){
e
.
token
=
n
,
a
.
a
.
set
(
"cc_token"
,
n
)},
setUserName
:
function
(
e
,
n
){
e
.
userName
=
n
,
a
.
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
},
distribution
:
function
(
e
,
n
){
e
.
distribution
=
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
})}}};
n
.
a
=
new
o
.
a
.
Store
({
state
:{
show
:
!
1
,
userName
:
""
,
token
:
""
,
export
:
!
1
,
orderRefund
:
!
1
,
permission
:
!
1
,
readonly
:
!
0
,
deletePermission
:
!
1
,
distribution
:
!
1
,
mainLoad
:
!
0
,
menuList
:[],
menuType
:
!
1
,
nowTab
:
"first"
,
progressList
:[],
openedTab
:[{
value
:
"首页"
,
routerName
:
"first"
,
name
:
"first"
,
delNo
:
!
0
,
path
:
"/index"
}]},
mutations
:
r
,
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
)},
distribution
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"distribution"
,
n
)}}})},
NHnr
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
o
=
[{
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
(
1
)]).
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
(
10
)]).
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
(
2
)]).
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
(
22
)]).
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
:
"marketStatistics"
,
path
:
"/marketStatistics"
,
cover
:
"2-5"
,
router
:{
path
:
"/marketStatistics"
,
name
:
"marketStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
43
)]).
then
(
function
(){
var
n
=
[
t
(
"SKyX"
)];
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
(
29
)]).
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
(
3
)]).
then
(
function
(){
var
n
=
[
t
(
"Y0Vi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单列表"
,
routerName
:
"monthOrder"
,
path
:
"/monthOrder"
,
cover
:
"5-10"
,
router
:{
path
:
"/monthOrder"
,
name
:
"monthOrder"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
5
)]).
then
(
function
(){
var
n
=
[
t
(
"xdzM"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单统计"
,
routerName
:
"monthOrderCount"
,
path
:
"/monthOrderCount"
,
cover
:
"5-12"
,
router
:{
path
:
"/monthOrderCount"
,
name
:
"monthOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
39
)]).
then
(
function
(){
var
n
=
[
t
(
"v/LD"
)];
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
(
36
)]).
then
(
function
(){
var
n
=
[
t
(
"89rD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"业绩排行"
,
routerName
:
"achievement"
,
path
:
"/achievement"
,
cover
:
"5-7"
,
router
:{
path
:
"/achievement"
,
name
:
"achievement"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
19
)]).
then
(
function
(){
var
n
=
[
t
(
"Fmgy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"用户管理"
,
icon
:
"icon-laoshi"
,
list
:[{
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
)}}},{
value
:
"老系统用户列表"
,
routerName
:
"oldUser"
,
path
:
"/oldUser"
,
cover
:
"3-3"
,
router
:{
path
:
"/oldUser"
,
name
:
"oldUser"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
33
)]).
then
(
function
(){
var
n
=
[
t
(
"K2yr"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"用户积分列表"
,
routerName
:
"integral"
,
path
:
"/integral"
,
cover
:
"3-4"
,
router
:{
path
:
"/integral"
,
name
:
"integral"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
12
)]).
then
(
function
(){
var
n
=
[
t
(
"NDyu"
)];
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
(
8
)]).
then
(
function
(){
var
n
=
[
t
(
"2qmY"
)];
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
(
31
)]).
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
(
48
).
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
(
53
)]).
then
(
function
(){
var
n
=
[
t
(
"s7i+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"日课订单统计"
,
routerName
:
"dayOrderCount"
,
path
:
"/dayOrderCount"
,
cover
:
"5-11"
,
router
:{
path
:
"/dayOrderCount"
,
name
:
"dayOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
40
)]).
then
(
function
(){
var
n
=
[
t
(
"mjLz"
)];
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
(
30
)]).
then
(
function
(){
var
n
=
[
t
(
"WvRy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"扫码入课列表"
,
routerName
:
"notBuyClass"
,
path
:
"/notBuyClass"
,
cover
:
"5-8"
,
router
:{
path
:
"/notBuyClass"
,
name
:
"notBuyClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
21
)]).
then
(
function
(){
var
n
=
[
t
(
"E6Zo"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部订单列表"
,
routerName
:
"yunji"
,
path
:
"/yunji"
,
cover
:
"5-9"
,
router
:{
path
:
"/yunji"
,
name
:
"yunji"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
13
)]).
then
(
function
(){
var
n
=
[
t
(
"69L+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"兑换码管理"
,
routerName
:
"exchange"
,
path
:
"/exchange"
,
cover
:
"5-13"
,
router
:{
path
:
"/exchange"
,
name
:
"exchange"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
16
)]).
then
(
function
(){
var
n
=
[
t
(
"CvLZ"
)];
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
(
18
)]).
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
(
15
)]).
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
(
23
)]).
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
(
17
)]).
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
(
24
)]).
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
(
35
)]).
then
(
function
(){
var
n
=
[
t
(
"Xhqp"
)];
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
(
14
)]).
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
(
25
)]).
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
(
50
)]).
then
(
function
(){
var
n
=
[
t
(
"Dq6T"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"微信统计"
,
routerName
:
"weChatStatistics"
,
path
:
"/weChatStatistics"
,
cover
:
"7-10"
,
router
:{
path
:
"/weChatStatistics"
,
name
:
"weChatStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
52
)]).
then
(
function
(){
var
n
=
[
t
(
"5t3x"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"测试"
,
routerName
:
"test"
,
path
:
"/test"
,
cover
:
"7-11"
,
router
:{
path
:
"/test"
,
name
:
"test"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
27
)]).
then
(
function
(){
var
n
=
[
t
(
"9ZSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"系统管理"
,
icon
:
"icon-xitongquanxian"
,
list
:[{
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
(
34
)]).
then
(
function
(){
var
n
=
[
t
(
"CGL6"
)];
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
(
47
)]).
then
(
function
(){
var
n
=
[
t
(
"NrkQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"来源码管理"
,
routerName
:
"sourceManage"
,
path
:
"/sourceManage"
,
cover
:
"10-1"
,
router
:{
path
:
"/sourceManage"
,
name
:
"sourceManage"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
32
)]).
then
(
function
(){
var
n
=
[
t
(
"/ubI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"短信发送记录"
,
routerName
:
"smsRecord"
,
path
:
"/smsRecord"
,
cover
:
"10-2"
,
router
:{
path
:
"/smsRecord"
,
name
:
"smsRecord"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
26
)]).
then
(
function
(){
var
n
=
[
t
(
"qjS+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"config"
,
path
:
"/config"
,
cover
:
"10-3"
,
router
:{
path
:
"/config"
,
name
:
"config"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
41
)]).
then
(
function
(){
var
n
=
[
t
(
"TPCG"
)];
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
(
38
)]).
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
(
51
)]).
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
(
45
)]).
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
(
37
)]).
then
(
function
(){
var
n
=
[
t
(
"WZgi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]}],
a
=
{
name
:
"App"
,
data
:
function
(){
return
{}},
mounted
:
function
(){
var
e
=
this
;
if
(
window
.
location
.
href
.
indexOf
(
"login"
)
<
0
){
var
n
=
this
.
$store
.
state
.
progressList
;
console
.
log
(
this
.
$store
.
state
);
var
a
=
[];
this
.
$router
.
options
.
routes
[
0
].
children
=
[];
var
r
=
{
path
:
"/userDetail/:id"
,
name
:
"userDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
20
)]).
then
(
function
(){
var
n
=
[
t
(
"9PRC"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}},
i
=
{
path
:
"/teacher/:id"
,
name
:
"teacherDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
6
)]).
then
(
function
(){
var
n
=
[
t
(
"hFUZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}};
o
.
forEach
(
function
(
t
){
var
o
=!
1
,
u
=
[];
t
.
list
.
forEach
(
function
(
t
){
var
a
=
n
.
find
(
function
(
e
){
return
e
.
cover
===
t
.
cover
});
a
&&
(
t
.
router
.
meta
=
{},
t
.
router
.
meta
.
readonly
=!!
a
.
readonly
,
t
.
router
.
meta
.
delete
=!!
a
.
delete
,
t
.
router
.
meta
.
export
=!!
a
.
export
,
t
.
router
.
meta
.
refund
=!!
a
.
refund
,
t
.
router
.
meta
.
distribution
=!!
a
.
distribution
,
u
.
push
(
t
),
"3-1"
===
a
.
cover
&&
(
i
.
meta
=
{},
i
.
meta
.
readonly
=
a
.
readonly
,
i
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
i
)),
"3-2"
===
a
.
cover
&&
(
r
.
meta
=
{},
r
.
meta
.
readonly
=
a
.
readonly
,
r
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
r
)),
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
t
.
router
),
o
=!
0
)}),
o
&&
(
t
.
list
=
u
,
a
.
push
(
t
))}),
this
.
$router
.
addRoutes
([
this
.
$router
.
options
.
routes
[
0
]]),
this
.
$store
.
dispatch
(
"setMenu"
,
a
)}}},
r
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
n
=
this
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
attrs
:{
id
:
"app"
}},[
n
(
"router-view"
)],
1
)},
staticRenderFns
:[]};
var
i
=
t
(
"VU/8"
)(
a
,
r
,
!
1
,
function
(
e
){
t
(
"YZCe"
)},
null
,
null
).
exports
,
u
=
t
(
"YaEn"
),
c
=
t
(
"IcnI"
);
Vue
.
config
.
productionTip
=!
1
,
new
Vue
({
el
:
"#app"
,
store
:
c
.
a
,
router
:
u
.
a
,
components
:{
App
:
i
},
template
:
"<App/>"
})},
YZCe
:
function
(
e
,
n
){},
YaEn
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"IcnI"
),
a
=
t
(
"/ocq"
),
r
=
t
(
"zSLJ"
),
i
=
new
a
.
a
({
routes
:[{
path
:
"/"
,
name
:
"index"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
9
)]).
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
(
42
).
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
(
46
)]).
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
(
49
)]).
then
(
function
(){
var
n
=
[
t
(
"hLMI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/upload"
,
name
:
"upload"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
44
)]).
then
(
function
(){
var
n
=
[
t
(
"iPJD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/newLesson"
,
name
:
"newLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
4
)]).
then
(
function
(){
var
n
=
[
t
(
"4t0V"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}}]});
i
.
beforeEach
(
function
(
e
,
n
,
t
){
if
(
o
.
a
.
commit
(
"mainCanShow"
),
r
.
a
.
get
(
"cc_token"
)
&&
(
o
.
a
.
dispatch
(
"setToken"
,
r
.
a
.
get
(
"cc_token"
)),
o
.
a
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
))),
null
!==
r
.
a
.
get
(
"cc_user_name"
)
&&
o
.
a
.
dispatch
(
"setUserName"
,
r
.
a
.
get
(
"cc_user_name"
))),
o
.
a
.
state
.
nowTab
=
e
.
name
,
e
.
matched
.
length
>
1
&&
"first"
!==
e
.
name
){
for
(
var
a
=
void
0
,
i
=
0
;
i
<
o
.
a
.
state
.
menuList
.
length
;
i
++
)
for
(
var
u
=
o
.
a
.
state
.
menuList
[
i
],
c
=
0
;
c
<
u
.
list
.
length
;
c
++
){
var
l
=
u
.
list
[
c
];
l
.
path
===
e
.
path
&&
(
a
=
l
)}
o
.
a
.
state
.
openedTab
.
indexOf
(
a
)
<
0
&&
o
.
a
.
state
.
openedTab
.
push
(
a
)}
if
(
e
.
meta
.
readonly
?
o
.
a
.
dispatch
(
"readonly"
,
!
0
):
o
.
a
.
dispatch
(
"readonly"
,
!
1
),
o
.
a
.
state
.
orderRefund
=
e
.
meta
.
refund
,
o
.
a
.
state
.
export
=
e
.
meta
.
export
,
o
.
a
.
state
.
distribution
=
e
.
meta
.
distribution
,
"userDetail"
===
e
.
name
){
var
s
=
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
)).
find
(
function
(
e
){
return
"3-2"
===
e
.
cover
}).
readonly
;
o
.
a
.
dispatch
(
"readonly"
,
s
)}
e
.
meta
.
delete
?
o
.
a
.
dispatch
(
"deletePermission"
,
!
0
):
o
.
a
.
dispatch
(
"deletePermission"
,
!
1
),
e
.
matched
.
some
(
function
(
e
){
return
!
0
!==
e
.
meta
.
skip_auth
})
&&!
o
.
a
.
state
.
token
?
t
({
path
:
"/login"
}):
t
()}),
i
.
onError
(
function
(
e
){
var
n
=
e
.
message
.
match
(
/Loading chunk
(\d)
+ failed/g
),
t
=
i
.
history
.
pending
.
fullPath
;
n
&&
i
.
replace
(
t
)}),
n
.
a
=
i
},
lRwf
:
function
(
e
,
n
){
e
.
exports
=
Vue
},
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.6cac044bef9191fbb5ae.js
0 → 100644
View file @
593eb4d8
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
d
[
t
]
&&
u
.
push
(
d
[
t
][
0
]),
d
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
a
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
f
(
f
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
d
=
{
56
:
0
};
function
f
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
d
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
d
.
exports
,
d
,
d
.
exports
,
f
),
d
.
l
=!
0
,
d
.
exports
}
f
.
e
=
function
(
e
){
var
c
=
d
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
f
){
c
=
d
[
e
]
=
[
a
,
f
]});
c
[
2
]
=
a
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
f
.
nc
&&
n
.
setAttribute
(
"nonce"
,
f
.
nc
),
n
.
src
=
f
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"248535dfe20d3692a9cb"
,
1
:
"24215082d00dbd601def"
,
2
:
"5d095c87c6c6c1d7d6cd"
,
3
:
"1eb7b8eeaace75d9d76b"
,
4
:
"5352a82878badb954d35"
,
5
:
"9017de79e056fe039271"
,
6
:
"b1c9d4bcae7fd78e99f6"
,
7
:
"5896293c7e6a022b7d23"
,
8
:
"cdc034b21a51a5f6567f"
,
9
:
"a480c8692470d845b0ff"
,
10
:
"539ddfbd8ca7c237c7ba"
,
11
:
"b83630794ed1bdf240d3"
,
12
:
"e066be58ed5d9f6c9a77"
,
13
:
"4c15db81bdfbbe1a4848"
,
14
:
"33a974191b0b3041450d"
,
15
:
"ecc499a3a0d70978ac1a"
,
16
:
"c8ee860ac7e1f387a548"
,
17
:
"6d7cacb1bc4e18a7743e"
,
18
:
"c713b5f85c01f63b12b7"
,
19
:
"66d7cc35e87dc1c6ff65"
,
20
:
"7d6f945e054efb021fd3"
,
21
:
"59bf5d59ff55eb3c63ed"
,
22
:
"bcfc3baef4252e9a9624"
,
23
:
"de07e0c6c6d1744ac40c"
,
24
:
"fafeb3774191996a7f69"
,
25
:
"2c4b606b6d1973a55933"
,
26
:
"20c58c1a6aeb3bd7c9d8"
,
27
:
"b1ba1ddd03f95a5dced7"
,
28
:
"fe524b57ea14474670ac"
,
29
:
"142fa147d47c9c7ad8dd"
,
30
:
"3d5b646ccf1187a6db8d"
,
31
:
"d8f7236e796354f5a777"
,
32
:
"ef62d541e6f7dfa12653"
,
33
:
"19ab65cf0e4b00b33a91"
,
34
:
"5dac0109ef7103954e96"
,
35
:
"bfca94e4e2df12006846"
,
36
:
"b12b8e33ace7bb96e972"
,
37
:
"50ade86b59e643c8b921"
,
38
:
"ef7972ac0c27589daa15"
,
39
:
"3cbe77ceb237cfabb852"
,
40
:
"f0073c2180393a2b2aca"
,
41
:
"e93401828cce768145c0"
,
42
:
"bfcf4d980f9588d2fc8b"
,
43
:
"0576c0fd8ad570a399a7"
,
44
:
"ad3e6c4e5b70de51ae03"
,
45
:
"68583a0542f295ed5289"
,
46
:
"40f34f7681cc31b03d5e"
,
47
:
"51720486f0d416a565cf"
,
48
:
"b163cd5e2750e3f00800"
,
49
:
"eb695dd9c3b54c60e6db"
,
50
:
"831a445bacf7437c4bec"
,
51
:
"b68cecbb9758276ea5ce"
,
52
:
"ad1410c1e547f2943941"
,
53
:
"27ee80f01739d59ef386"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
d
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
d
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
a
},
f
.
m
=
e
,
f
.
c
=
a
,
f
.
d
=
function
(
e
,
c
,
a
){
f
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
f
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
f
.
d
(
c
,
"a"
,
c
),
c
},
f
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
f
.
p
=
"/"
,
f
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/groupSend/index.vue
View file @
593eb4d8
...
...
@@ -87,16 +87,6 @@
</el-table>
</div>
</div>
<!--
<div
class=
"update"
>
<el-button
@
click=
"updateFans"
style=
"margin-bottom:20px;"
type=
"success"
>
同步粉丝信息
</el-button>
</div>
-->
<!--
<div
class=
"userInfoBox"
>
<div
class=
"line"
></div
>
<div
class=
"text"
>
将发送给
<span>
111
</span>
人
</div>
<div
class=
"line"
></div>
</div>
-->
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"文本"
name=
"text"
>
<div
class=
"inner-edit_area"
>
...
...
@@ -699,7 +689,7 @@ import page2 from "../framework/page";
import
pageImage
from
"../framework/page"
;
import
emotion
from
"../framework/Emotion/index"
;
import
CommonJs
from
"../../util/common"
;
// import user
D
ialog from "./userDialog";
// import user
_d
ialog from "./userDialog";
import
{
ISORNOT
,
GOODSTYPE
,
LESSONTYPE
,
GOODSSTATUS
}
from
"../../util/wordbook"
;
export
default
{
name
:
"index"
,
...
...
@@ -708,6 +698,7 @@ export default {
page2
,
pageImage
,
emotion
,
// user_dialog
},
data
()
{
return
{
...
...
@@ -947,27 +938,9 @@ export default {
limit
:
"100"
,
page
:
this
.
nowPage
};
// if (this.searchFrom.name) {
// json.name = this.searchFrom.name
// }
// if (this.searchFrom.goods_type){
// json.goods_type = this.searchFrom.goods_type
// }
// if (this.searchFrom.course_id) {
// json.course_id = this.searchFrom.course_id
// }
// if (this.searchFrom.goods_id) {
// json.goods_id = this.searchFrom.goods_id
// }
if
(
this
.
goodSearchFrom
.
status
&&
this
.
goodSearchFrom
.
status
!==
'-1'
)
{
json
.
status
=
this
.
goodSearchFrom
.
status
}
// if (this.searchFrom.current_price) {
// json.current_price = this.searchFrom.current_price * 100
// }
// if (this.searchFrom.course_type) {
// json.course_type = this.searchFrom.course_type
// }
console
.
log
(
613
)
getGoodsListApi
(
json
).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
...
...
@@ -1516,15 +1489,16 @@ export default {
},
onSelectUser
()
{
this
.
userDialog
.
show
=
true
;
console
.
log
(
this
.
userDialog
)
if
(
this
.
searchFrom
.
user_id
)
{
this
.
multipleSelection
=
this
.
searchFrom
.
user_id
.
split
(
","
);
}
else
{
this
.
multipleSelection
=
[];
}
//
console.log(this.userDialog)
//
if (this.searchFrom.user_id) {
//
this.multipleSelection = this.searchFrom.user_id.split(",");
//
} else {
//
this.multipleSelection = [];
//
}
this
.
getUser
();
},
onConfirm
()
{
console
.
log
(
this
.
handSecUser
)
let
_list
=
this
.
handSecUser
;
if
(
_list
.
length
===
0
)
{
this
.
$message
({
...
...
@@ -1544,7 +1518,7 @@ export default {
}
let
_result
=
this
.
dedupe
(
_tmp
);
this
.
handSecUserIds
=
_result
.
join
(
","
);
this
.
handSecUserShow
=
handSecUser
;
this
.
handSecUserShow
=
this
.
handSecUser
;
console
.
log
(
_result
)
this
.
userDialog
.
show
=
false
;
}
...
...
src/components/groupSend/userDialog.vue
View file @
593eb4d8
...
...
@@ -93,7 +93,10 @@
<
script
>
import
tinymce
from
'tinymce/tinymce'
import
page
from
"../framework/page"
;
import
{
getUserListApi
,
}
from
"../../service/api"
;
export
default
{
name
:
'tinymce1'
,
props
:[
...
...
@@ -101,7 +104,13 @@
],
data
()
{
return
{
radio
:[]
userDialog
:
{
total
:
0
,
limit
:
5
,
nowPage
:
1
,
show
:
false
},
searchUserFrom
:
{},
}
},
activated
(){
...
...
@@ -109,8 +118,110 @@
},
created
:
function
(){
},
components
:
{
Editor
},
components
:
{
page
},
methods
:{
getUser
()
{
let
json
=
{
page
:
this
.
userDialog
.
nowPage
,
limit
:
this
.
userDialog
.
limit
};
if
(
this
.
searchUserFrom
.
userId
)
{
json
.
user_id
=
this
.
searchUserFrom
.
userId
;
}
if
(
this
.
searchUserFrom
.
nickName
)
{
json
.
nickname
=
this
.
searchUserFrom
.
nickName
;
}
if
(
this
.
searchUserFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchUserFrom
.
mobile
;
}
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
userDialog
.
total
=
res
.
total
;
});
},
onUserPageChange
(
val
)
{
this
.
userDialog
.
nowPage
=
val
;
this
.
getUser
();
},
onUserSizeChange
(
val
)
{
this
.
userDialog
.
nowPage
=
1
;
this
.
userDialog
.
limit
=
val
;
this
.
getUser
();
},
handleSelectionChange
(
val
,
el
)
{
this
.
multipleSelection
=
val
;
for
(
let
i
=
0
;
i
<
this
.
handSecUser
.
length
;
i
++
){
if
(
el
.
user_id
==
this
.
handSecUser
[
i
].
user_id
){
return
}
}
this
.
handSecUser
.
push
(
el
)
},
handleSelectionAll
(
val
){
if
(
this
.
handSecUser
.
length
==
0
){
this
.
handSecUser
=
[...
val
]
}
else
{
let
length
=
this
.
handSecUser
.
length
for
(
let
j
=
0
;
j
<
val
.
length
;
j
++
){
for
(
let
i
=
0
;
i
<=
length
;
i
++
){
if
(
val
[
j
].
user_id
==
this
.
handSecUser
[
i
].
user_id
){
break
}
else
{
if
(
i
==
length
-
1
){
this
.
handSecUser
.
push
(
val
[
j
])
break
}
}
}
}
}
},
userdel
(
el
){
for
(
let
i
=
0
;
i
<
this
.
handSecUser
.
length
;
i
++
){
if
(
el
.
user_id
==
this
.
handSecUser
[
i
].
user_id
){
this
.
handSecUser
.
splice
(
i
,
1
)
}
}
// goodsdel
// console.log(this.handSecUser)
},
onSelectUser
()
{
this
.
userDialog
.
show
=
true
;
console
.
log
(
this
.
userDialog
)
if
(
this
.
searchFrom
.
user_id
)
{
this
.
multipleSelection
=
this
.
searchFrom
.
user_id
.
split
(
","
);
}
else
{
this
.
multipleSelection
=
[];
}
this
.
getUser
();
},
onConfirm
()
{
let
_list
=
this
.
handSecUser
;
if
(
_list
.
length
===
0
)
{
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
}
else
{
let
_userIds
=
[];
_list
.
forEach
(
item
=>
{
_userIds
.
push
(
item
.
user_id
);
});
let
_tmp
=
_userIds
;
if
(
this
.
searchFrom
.
user_ids
)
{
_tmp
=
_userIds
.
concat
(
this
.
stringToInt
(
this
.
searchFrom
.
user_ids
.
split
(
","
))
);
}
let
_result
=
this
.
dedupe
(
_tmp
);
this
.
handSecUserIds
=
_result
.
join
(
","
);
this
.
handSecUserShow
=
handSecUser
;
console
.
log
(
_result
)
this
.
userDialog
.
show
=
false
;
}
},
}
}
</
script
>
...
...
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