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
99540928
Commit
99540928
authored
Sep 20, 2019
by
赵茹林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
回访信息 [更新] 去掉只读时不能添加回访信息的权限判断
回访信息 [修复] 班级成员界面点沟通情况时未传teacher id导致不能添加回访信息的问题 教师列表选择框 [更新] 接口条数限制改为500
parent
24b04b2a
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
3202 additions
and
3115 deletions
+3202
-3115
dialog.vue
src/components/class/dialog.vue
+113
-91
userList.vue
src/components/class/userList.vue
+3
-1
channelTransList.vue
src/components/conversionList/channelTransList.vue
+404
-404
periodsConversionList.vue
src/components/conversionList/periodsConversionList.vue
+438
-431
sourceConversionList.vue
src/components/conversionList/sourceConversionList.vue
+419
-412
teacherPeriodsConversionList.vue
...omponents/conversionList/teacherPeriodsConversionList.vue
+440
-439
index.vue
src/components/externalLaunch/index.vue
+281
-271
leftMenu.vue
src/components/framework/leftMenu.vue
+1
-0
index.vue
src/components/monthOrder/index.vue
+1
-1
newDialog.vue
src/components/monthOrder/newDialog.vue
+160
-153
index.vue
src/components/order/index.vue
+197
-197
newDialog.vue
src/components/periods/newDialog.vue
+96
-82
callBack.vue
src/components/userDetail/callBack.vue
+5
-2
dialog.vue
src/components/userDetail/dialog.vue
+19
-18
dialog.vue
src/components/yunji/dialog.vue
+20
-19
index.vue
src/components/yunji/index.vue
+605
-594
No files found.
src/components/class/dialog.vue
View file @
99540928
...
...
@@ -16,7 +16,7 @@
v-for=
"(data,index) in teacherList"
:key=
"index"
:label=
"data.name"
:value=
"data.id"
>
:value=
"data.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -35,7 +35,7 @@
v-for=
"(data,index) in classSource"
:key=
"index"
:label=
"data.name"
:value=
"data.type"
>
:value=
"data.type"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -62,66 +62,77 @@
</
template
>
<
script
>
import
{
getTeacherListApi
,
getClassDetailApi
,
editClassApi
,
addClassApi
,
getPeriodsApi
,
getGoodsListApi
,
getPeriodsTeacherApi
,
uploadFileApi
,
getSourceStudentApi
}
from
"../../service/api"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
'../../util/wordbook'
;
import
{
getTeacherListApi
,
getClassDetailApi
,
editClassApi
,
addClassApi
,
getPeriodsApi
,
getGoodsListApi
,
getPeriodsTeacherApi
,
uploadFileApi
,
getSourceStudentApi
}
from
"../../service/api"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
'../../util/wordbook'
;
export
default
{
props
:[
props
:
[
'dialogObj'
],
data
(){
data
()
{
// let classSource=[];
// for (let x in CLASSSOURCE ) {
// classSource.push({label:CLASSSOURCE[x],value:Number(x)})
// }
return
{
imageList
:[],
form
:{
teacher_id
:
''
,
max_join_num
:
''
,
class_name
:
""
,
source
:
""
,
qr
:
""
return
{
imageList
:
[],
form
:
{
teacher_id
:
''
,
max_join_num
:
''
,
class_name
:
""
,
source
:
""
,
qr
:
""
},
type
:
0
,
classSource
:[],
teacherList
:[],
type
:
0
,
classSource
:
[],
teacherList
:
[],
exitTeacherList
:
[],
goodsList
:
[],
periods
:
{},
uploadShow
:
true
}
},
methods
:{
beforeAvatarUpload
(){
methods
:
{
beforeAvatarUpload
()
{
this
.
uploadShow
=
false
},
handleRemove
(){
handleRemove
()
{
this
.
uploadShow
=
true
},
handleAvatarSuccess
(
res
)
{
this
.
imageList
=
[{
name
:
res
.
data
.
url
,
url
:
process
.
env
.
IMAGE_URL_HEAD
+
res
.
data
.
url
}]
this
.
imageList
=
[{
name
:
res
.
data
.
url
,
url
:
process
.
env
.
IMAGE_URL_HEAD
+
res
.
data
.
url
}]
},
uploadFile
(
a
)
{
this
.
loading
=
true
;
this
.
$store
.
dispatch
(
'setProgress'
,
{
type
:
'new'
,
id
:
a
.
file
.
uid
});
this
.
$store
.
dispatch
(
'setProgress'
,
{
type
:
'new'
,
id
:
a
.
file
.
uid
});
this
.
fileUid
=
a
.
file
.
uid
;
uploadFileApi
({
file
:
a
.
file
,
type
:
'all'
}).
then
(
res
=>
{
uploadFileApi
({
file
:
a
.
file
,
type
:
'all'
}).
then
(
res
=>
{
this
.
form
.
media_id
=
res
.
wechat_info
?
res
.
wechat_info
.
media_id
:
''
;
this
.
imageList
=
[{
name
:
res
.
url
,
url
:
process
.
env
.
IMAGE_URL_HEAD
+
res
.
url
}];
this
.
imageList
=
[{
name
:
res
.
url
,
url
:
process
.
env
.
IMAGE_URL_HEAD
+
res
.
url
}];
this
.
uploadShow
=
false
;
this
.
loading
=
false
;
this
.
$message
({
type
:
'success'
,
message
:
'上传成功!'
});
}).
catch
(()
=>
{
}).
catch
(()
=>
{
this
.
loading
=
false
;
})
},
findDifferentArray
(
array1
,
array2
){
findDifferentArray
(
array1
,
array2
)
{
let
newArray
=
[];
array1
.
forEach
((
val
)
=>
{
let
index
=
array2
.
findIndex
((
item
)
=>
{
array1
.
forEach
((
val
)
=>
{
let
index
=
array2
.
findIndex
((
item
)
=>
{
return
item
.
teacher_id
===
val
.
id
})
if
(
index
===
-
1
)
{
...
...
@@ -130,33 +141,33 @@
})
return
newArray
},
getTeacher
(){
getTeacherListApi
({
limit
:
100
,
status
:
0
}).
then
(
res
=>
{
getTeacher
()
{
getTeacherListApi
({
limit
:
500
,
status
:
0
}).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
});
},
getTeacherByPeriods
(){
getTeacherListApi
({
limit
:
100
,
status
:
0
}).
then
(
res
=>
{
getTeacherByPeriods
()
{
getTeacherListApi
({
limit
:
500
,
status
:
0
}).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
})
},
initPage
(){
initPage
()
{
// 1为编辑
getSourceStudentApi
().
then
(
res
=>
{
getSourceStudentApi
().
then
(
res
=>
{
this
.
classSource
=
res
})
this
.
periods
=
this
.
dialogObj
.
periods
switch
(
this
.
dialogObj
.
type
)
{
case
0
:
if
(
!
this
.
dialogObj
.
periodsId
)
{
if
(
!
this
.
dialogObj
.
periodsId
)
{
this
.
getPeriodList
();
}
this
.
form
=
{
teacher_id
:
''
,
max_join_num
:
''
,
teacher_id
:
''
,
max_join_num
:
''
,
class_name
:
''
,
source
:
''
,
qr
:
""
source
:
''
,
qr
:
""
};
this
.
type
=
0
;
this
.
uploadShow
=
true
...
...
@@ -164,16 +175,16 @@
break
;
case
1
:
this
.
type
=
1
;
getClassDetailApi
(
this
.
dialogObj
.
id
).
then
(
res
=>
{
getClassDetailApi
(
this
.
dialogObj
.
id
).
then
(
res
=>
{
this
.
form
=
{
teacher_id
:
parseInt
(
res
.
teacher_id
),
max_join_num
:
res
.
max_join_num
,
class_name
:
res
.
class_name
,
source
:
res
.
source
,
max_join_num
:
res
.
max_join_num
,
class_name
:
res
.
class_name
,
source
:
res
.
source
,
};
if
(
res
.
qr
)
{
if
(
res
.
qr
)
{
this
.
form
.
qr
=
res
.
qr
this
.
imageList
=
[{
name
:
res
.
qr
,
url
:
res
.
qr
}];
this
.
imageList
=
[{
name
:
res
.
qr
,
url
:
res
.
qr
}];
}
this
.
form
.
media_id
=
res
.
media_id
?
res
.
media_id
:
''
;
this
.
uploadShow
=
!
res
.
qr
...
...
@@ -182,41 +193,43 @@
})
}
},
getPeriodList
(){
getGoodsListApi
().
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
'['
+
GOODSTYPE
[
i
.
goods_type
]
+
']'
+
'['
+
i
.
current_price
/
100
+
'元]'
+
i
.
name
getPeriodList
()
{
getGoodsListApi
().
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
'['
+
GOODSTYPE
[
i
.
goods_type
]
+
']'
+
'['
+
i
.
current_price
/
100
+
'元]'
+
i
.
name
i
.
children
=
[];
});
this
.
goodsList
=
res
.
list
;
if
(
!
this
.
periods
)
{
getPeriodsApi
({
goods_id
:
this
.
goodsList
[
0
].
id
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
if
(
!
this
.
periods
)
{
getPeriodsApi
({
goods_id
:
this
.
goodsList
[
0
].
id
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
this
.
goodsList
[
0
].
children
=
res
.
list
;
this
.
periods
=
res
.
list
[
0
]
})
}
});
},
onSave
(){
if
(
this
.
imageList
.
length
>
0
)
{
onSave
()
{
if
(
this
.
imageList
.
length
>
0
)
{
this
.
form
.
qr
=
this
.
imageList
[
0
].
url
;
}
let
json
=
{
max_join_num
:
String
(
this
.
form
.
max_join_num
),
teacher_id
:
String
(
this
.
form
.
teacher_id
),
source
:
this
.
form
.
source
,
class_name
:
this
.
form
.
class_name
,
media_id
:
this
.
form
.
media_id
max_join_num
:
String
(
this
.
form
.
max_join_num
),
teacher_id
:
String
(
this
.
form
.
teacher_id
),
source
:
this
.
form
.
source
,
class_name
:
this
.
form
.
class_name
,
media_id
:
this
.
form
.
media_id
};
if
(
this
.
form
.
qr
)
{
if
(
this
.
form
.
qr
)
{
json
.
qr
=
this
.
form
.
qr
}
console
.
log
(
json
)
switch
(
this
.
dialogObj
.
type
)
{
case
0
:
let
id
=
this
.
dialogObj
.
periodsId
?
this
.
dialogObj
.
periodsId
:
this
.
periods
.
id
;
addClassApi
(
id
,
json
).
then
(
res
=>
{
addClassApi
(
id
,
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'添加成功!'
...
...
@@ -226,39 +239,47 @@
});
break
;
case
1
:
editClassApi
(
this
.
dialogObj
.
id
,
json
).
then
(
res
=>
{
editClassApi
(
this
.
dialogObj
.
id
,
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功!'
});
this
.
$emit
(
"reflash"
,
this
.
periods
);
this
.
$emit
(
"reflash"
,
this
.
periods
);
this
.
dialogObj
.
show
=
false
;
})
}
},
handleItemChange
(
val
){
getPeriodsApi
({
goods_id
:
val
[
0
]}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
this
.
goodsList
.
find
(
i
=>
{
return
i
.
id
===
val
[
0
]}).
children
=
res
.
list
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
]}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
this
.
goodsList
.
find
(
i
=>
{
return
i
.
id
===
val
[
0
]
}).
children
=
res
.
list
})
},
changePeriods
(
data
){
if
(
data
.
length
>
1
){
let
nowGoods
=
this
.
goodsList
.
find
(
i
=>
{
return
i
.
id
===
data
[
0
]});
this
.
periods
=
nowGoods
.
children
.
find
(
i
=>
{
return
i
.
id
===
data
[
1
]});
changePeriods
(
data
)
{
if
(
data
.
length
>
1
)
{
let
nowGoods
=
this
.
goodsList
.
find
(
i
=>
{
return
i
.
id
===
data
[
0
]
});
this
.
periods
=
nowGoods
.
children
.
find
(
i
=>
{
return
i
.
id
===
data
[
1
]
});
this
.
getTeacherByPeriods
()
}
},
selectName
(
val
,
id
)
{
let
filterVal
=
val
.
filter
(
function
(
item
,
i
)
{
selectName
(
val
,
id
)
{
let
filterVal
=
val
.
filter
(
function
(
item
,
i
)
{
return
item
.
id
==
id
});
this
.
form
.
class_name
=
filterVal
[
0
].
name
+
"一班"
;
this
.
form
.
class_name
=
filterVal
[
0
].
name
+
"一班"
;
}
},
watch
:{
'dialogObj.show'
(
value
){
if
(
value
)
{
watch
:
{
'dialogObj.show'
(
value
)
{
if
(
value
)
{
this
.
initPage
()
}
}
...
...
@@ -267,12 +288,13 @@
</
script
>
<
style
scoped
>
.qr-img
{
.qr-img
{
width
:
148px
!important
;
border
:
none
!important
;
border-radius
:
0
!important
;
}
.disabled
.el-upload--picture-card
{
.disabled
.el-upload--picture-card
{
display
:
none
!important
;
}
</
style
>
src/components/class/userList.vue
View file @
99540928
...
...
@@ -88,7 +88,9 @@
<el-table-column
type=
"selection"
width=
"40"
></el-table-column>
<el-table-column
width=
"120"
label=
"沟通情况"
>
<
template
slot-scope=
"scope"
>
<teacher-desc
:row=
"scope.row"
:typeFlag=
"true"
:descType=
"2"
@
onSuccess=
"searchList()"
></teacher-desc>
<!--
<teacher-desc
:row=
"scope.row"
:typeFlag=
"true"
:descType=
"2"
@
onSuccess=
"searchList()"
></teacher-desc>
-->
<!---->
<teacher-desc
:teacherId=
"userObj.teacherId"
:row=
"scope.row"
:typeFlag=
"true"
:descType=
"2"
@
onSuccess=
"searchList()"
></teacher-desc>
</
template
>
</el-table-column>
<el-table-column
label=
"用户"
className=
"f-c"
min-width=
"180"
sortable
prop=
"user_id"
>
...
...
src/components/conversionList/channelTransList.vue
View file @
99540928
...
...
@@ -154,7 +154,7 @@
</div>
</template>
<
script
>
import
{
import
{
getTeacherListApi
,
getchannelTransListApi
,
getPeriodsApi
,
...
...
@@ -163,16 +163,16 @@ import {
getPeriodsOtherListApi
,
getConfigListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
export
default
{
export
default
{
name
:
"channelTransList"
,
data
()
{
return
{
updateTime
:
''
,
typeList
:
[],
typeList
:
[],
width
:
0
,
nowPage
:
1
,
limit
:
20
,
...
...
@@ -276,7 +276,7 @@ export default {
contentSpanArr
:
[],
searchFrom
:
{
payTime
:
[],
classTime
:
[],
classTime
:
[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
...
...
@@ -289,14 +289,14 @@ export default {
},
propertyList
:
[],
watchList
:
[
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
]
};
},
components
:
{
page
},
components
:
{
page
},
methods
:
{
periodName
(
row
)
{
//return `【${row.goods_id}】${row.periods_title}${row.watch_num}课时(${row.start_at.slice(5).replace('-', '')})-d${this.title.has_watch_num}`
...
...
@@ -319,7 +319,7 @@ export default {
},
exportDataTable
()
{
let
json
=
{};
if
(
this
.
searchFrom
.
sort_value
)
{
if
(
this
.
searchFrom
.
sort_value
)
{
json
.
sort_value
=
this
.
searchFrom
.
sort_value
;
json
.
sort_key
=
this
.
searchFrom
.
sort_key
;
}
...
...
@@ -364,7 +364,7 @@ export default {
// }
},
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
;
});
...
...
@@ -416,12 +416,12 @@ export default {
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
});
getConfigListApi
({
page
:
1
,
limit
:
100
,
key
:
'code_rule_type'
}).
then
(
res
=>
{
getConfigListApi
({
page
:
1
,
limit
:
100
,
key
:
'code_rule_type'
}).
then
(
res
=>
{
this
.
typeList
=
res
.
list
})
},
...
...
@@ -450,9 +450,9 @@ export default {
});
},
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
res
.
list
.
forEach
(
val
=>
{
res
.
list
.
forEach
(
val
=>
{
val
.
label
=
`【
${
val
.
goods_id
}
】
${
val
.
title
}${
val
.
watch_num
}
课时(
${
val
.
start_at
.
slice
(
5
).
replace
(
'-'
,
''
)}
)-d
${
val
.
has_watch_num
}
`
})
this
.
periodList
=
res
.
list
;
...
...
@@ -467,7 +467,7 @@ export default {
if
(
this
.
searchFrom
.
invite_type
)
{
json
.
invite_type
=
this
.
searchFrom
.
invite_type
;
}
if
(
this
.
searchFrom
.
sort_value
)
{
if
(
this
.
searchFrom
.
sort_value
)
{
json
.
sort_value
=
this
.
searchFrom
.
sort_value
;
json
.
sort_key
=
this
.
searchFrom
.
sort_key
;
}
...
...
@@ -486,7 +486,7 @@ export default {
if
(
this
.
searchFrom
.
teacher_id
)
{
json
.
teacher_id
=
this
.
searchFrom
.
teacher_id
;
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
...
...
@@ -502,7 +502,7 @@ export default {
json
.
end_at
=
this
.
searchFrom
.
end_at
;
}
}
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
console
.
log
(
this
.
searchFrom
.
classTime
)
if
(
this
.
searchFrom
.
classTime
[
0
]
&&
...
...
@@ -583,12 +583,12 @@ export default {
this
.
getPeriodsOtherList
();
this
.
getUpdateTime
();
}
};
};
</
script
>
<
style
lang=
"less"
scope
>
.channel-trans-list {
.channel-trans-list {
padding: 20px 0;
}
}
</
style
>
src/components/conversionList/periodsConversionList.vue
View file @
99540928
...
...
@@ -145,11 +145,18 @@
</div>
</template>
<
script
>
import
{
getPeriodsConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
import
{
getPeriodsConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
name
:
"periodsConversionList"
,
data
()
{
return
{
...
...
@@ -253,7 +260,7 @@ export default {
contentSpanArr
:
[],
searchFrom
:
{
payTime
:
[],
classTime
:
[],
classTime
:
[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
...
...
@@ -266,14 +273,14 @@ export default {
},
propertyList
:
[],
watchList
:
[
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
]
};
},
components
:
{
page
},
components
:
{
page
},
methods
:
{
periodName
(
val
)
{
let
str
=
''
;
...
...
@@ -296,7 +303,7 @@ export default {
}
return
str
},
rendertip
(
h
,
{
column
})
{
rendertip
(
h
,
{
column
})
{
// console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
...
...
@@ -318,11 +325,11 @@ export default {
)
]);
},
sortMethod
(
data
)
{
sortMethod
(
data
)
{
this
.
searchFrom
.
sort_key
=
data
.
prop
if
(
data
.
order
==
'ascending'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchFrom
.
sort_value
=
'asc'
}
else
{
}
else
{
this
.
searchFrom
.
sort_value
=
'desc'
}
this
.
getChannelTransList
()
...
...
@@ -330,7 +337,7 @@ export default {
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
...
...
@@ -395,7 +402,7 @@ export default {
// }
},
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
;
});
...
...
@@ -469,9 +476,9 @@ export default {
});
},
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
res
.
list
.
forEach
(
val
=>
{
res
.
list
.
forEach
(
val
=>
{
val
.
label
=
`【
${
val
.
goods_id
}
】
${
val
.
title
}${
val
.
watch_num
}
课时(
${
val
.
start_at
.
slice
(
5
).
replace
(
'-'
,
''
)}
)-d
${
val
.
has_watch_num
}
`
})
this
.
periodList
=
res
.
list
;
...
...
@@ -487,7 +494,7 @@ export default {
if
(
this
.
searchFrom
.
invite_type
)
{
json
.
invite_type
=
this
.
searchFrom
.
invite_type
;
}
if
(
this
.
searchFrom
.
sort_value
)
{
if
(
this
.
searchFrom
.
sort_value
)
{
json
.
sort_value
=
this
.
searchFrom
.
sort_value
;
json
.
sort_key
=
this
.
searchFrom
.
sort_key
;
}
...
...
@@ -503,7 +510,7 @@ export default {
if
(
this
.
searchFrom
.
teacher_id
)
{
json
.
teacher_id
=
this
.
searchFrom
.
teacher_id
;
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
...
...
@@ -519,7 +526,7 @@ export default {
json
.
end_at
=
this
.
searchFrom
.
end_at
;
}
}
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
console
.
log
(
this
.
searchFrom
.
classTime
)
if
(
this
.
searchFrom
.
classTime
[
0
]
&&
...
...
@@ -600,12 +607,12 @@ export default {
this
.
getTeacherList
();
this
.
getUpdateTime
()
}
};
};
</
script
>
<
style
lang=
"less"
scope
>
.channel-trans-list {
.channel-trans-list {
padding: 20px 0;
}
}
</
style
>
src/components/conversionList/sourceConversionList.vue
View file @
99540928
...
...
@@ -96,7 +96,7 @@
:style=
"
{width: width+'px'}"
fixed
>
<el-table-column
prop=
"out_trade_no"
label=
"订单号"
></el-table-column>
<el-table-column
prop=
"out_trade_no"
label=
"订单号"
></el-table-column>
<el-table-column
label=
"购买人"
className=
"f-c"
...
...
@@ -105,8 +105,8 @@
<img
class=
"avatar"
:src=
"scope.row.user_avatar"
/>
{{
scope
.
row
.
user_nickname
}}
<br>
(ID:
{{
scope
.
row
.
user_id
}}
)
<br>
手机:
{{
scope
.
row
.
user_mobile
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"goods_name"
label=
"商品名称"
></el-table-column>
<el-table-column
prop=
"periods_title"
label=
"期数标题"
></el-table-column>
<el-table-column
prop=
"goods_name"
label=
"商品名称"
></el-table-column>
<el-table-column
prop=
"periods_title"
label=
"期数标题"
></el-table-column>
<el-table-column
prop=
"duration_over_at"
label=
"开课看课时间"
...
...
@@ -151,10 +151,10 @@
<img
class=
"avatar"
:src=
"scope.row.class_invite_user_avatar"
/>
{{
scope
.
row
.
class_invite_user_nickname
}}
<br>
(ID:
{{
scope
.
row
.
class_invite_user_id
}}
)
<br>
手机:
{{
scope
.
row
.
class_invite_user_mobile
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"money"
label=
"实付金额"
></el-table-column>
<el-table-column
prop=
"pay_at"
label=
"支付时间"
></el-table-column>
<el-table-column
prop=
"in_class_at"
label=
"进班时间"
></el-table-column>
<el-table-column
prop=
"status"
label=
"支付状态"
>
<el-table-column
prop=
"money"
label=
"实付金额"
></el-table-column>
<el-table-column
prop=
"pay_at"
label=
"支付时间"
></el-table-column>
<el-table-column
prop=
"in_class_at"
label=
"进班时间"
></el-table-column>
<el-table-column
prop=
"status"
label=
"支付状态"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
status
|
orderFilter
}}
</
template
>
...
...
@@ -170,11 +170,18 @@
</div>
</template>
<
script
>
import
{
getPeriodsConversionListApi
,
getSourceConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
,
ORDERSTATUS
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
import
{
getPeriodsConversionListApi
,
getSourceConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
,
ORDERSTATUS
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
name
:
"periodsConversionList"
,
data
()
{
return
{
...
...
@@ -278,7 +285,7 @@ export default {
contentSpanArr
:
[],
searchFrom
:
{
payTime
:
[],
classTime
:
[],
classTime
:
[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
...
...
@@ -290,16 +297,16 @@ export default {
periods_title
:
""
},
watchList
:
[
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
],
goodList
:
[]
};
},
filters
:
{
orderFilter
(
val
){
filters
:
{
orderFilter
(
val
)
{
return
ORDERSTATUS
[
val
]
},
filterGoods
(
val
)
{
...
...
@@ -317,7 +324,7 @@ export default {
);
}
},
components
:
{
page
},
components
:
{
page
},
methods
:
{
getGoodsOption
()
{
let
json
=
{
...
...
@@ -330,7 +337,7 @@ export default {
console
.
log
(
this
.
goodList
,
176
);
});
},
rendertip
(
h
,
{
column
})
{
rendertip
(
h
,
{
column
})
{
// console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
...
...
@@ -352,11 +359,11 @@ export default {
)
]);
},
sortMethod
(
data
)
{
sortMethod
(
data
)
{
this
.
searchFrom
.
sort_key
=
data
.
prop
if
(
data
.
order
==
'ascending'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchFrom
.
sort_value
=
'asc'
}
else
{
}
else
{
this
.
searchFrom
.
sort_value
=
'desc'
}
this
.
getChannelTransList
()
...
...
@@ -364,7 +371,7 @@ export default {
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
...
...
@@ -389,7 +396,7 @@ export default {
objectSpanMethod
(
data
)
{
},
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
;
});
...
...
@@ -463,9 +470,9 @@ export default {
});
},
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
res
.
list
.
forEach
(
val
=>
{
res
.
list
.
forEach
(
val
=>
{
val
.
label
=
`【
${
val
.
goods_id
}
】
${
val
.
title
}${
val
.
watch_num
}
课时(
${
val
.
start_at
.
slice
(
5
).
replace
(
'-'
,
''
)}
)-d
${
val
.
has_watch_num
}
`
})
this
.
periodList
=
res
.
list
;
...
...
@@ -484,7 +491,7 @@ export default {
if
(
this
.
searchFrom
.
goods_id
)
{
json
.
goods_id
=
this
.
searchFrom
.
goods_id
;
}
if
(
this
.
searchFrom
.
sort_value
)
{
if
(
this
.
searchFrom
.
sort_value
)
{
json
.
sort_value
=
this
.
searchFrom
.
sort_value
;
json
.
sort_key
=
this
.
searchFrom
.
sort_key
;
}
...
...
@@ -506,7 +513,7 @@ export default {
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
;
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
...
...
@@ -522,7 +529,7 @@ export default {
json
.
pay_over_at
=
this
.
searchFrom
.
end_at
;
}
}
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
console
.
log
(
this
.
searchFrom
.
classTime
)
if
(
this
.
searchFrom
.
classTime
[
0
]
&&
...
...
@@ -596,12 +603,12 @@ export default {
this
.
getTeacherList
()
this
.
getGoodsOption
()
}
};
};
</
script
>
<
style
lang=
"less"
scope
>
.channel-trans-list {
.channel-trans-list {
padding: 20px 0;
}
}
</
style
>
src/components/conversionList/teacherPeriodsConversionList.vue
View file @
99540928
...
...
@@ -151,17 +151,18 @@
</div>
</template>
<
script
>
import
{
import
{
getTeacherPeriodsConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
export
default
{
name
:
"teacherPeriodsConversionList"
,
data
()
{
return
{
...
...
@@ -268,7 +269,7 @@ export default {
spanArr
:
[],
contentSpanArr
:
[],
searchFrom
:
{
classTime
:
[],
classTime
:
[],
payTime
:
[],
start_at
:
""
,
end_at
:
""
,
...
...
@@ -282,14 +283,14 @@ export default {
},
propertyList
:
[],
watchList
:
[
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
2
,
title
:
10
},
{
id
:
3
,
title
:
20
}
]
};
},
components
:
{
page
},
components
:
{
page
},
methods
:
{
periodName
(
val
)
{
let
str
=
''
;
...
...
@@ -314,7 +315,7 @@ export default {
}
return
str
},
rendertip
(
h
,
{
column
})
{
rendertip
(
h
,
{
column
})
{
// console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
...
...
@@ -336,11 +337,11 @@ export default {
)
]);
},
sortMethod
(
data
)
{
sortMethod
(
data
)
{
this
.
searchFrom
.
sort_key
=
data
.
prop
if
(
data
.
order
==
'ascending'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchFrom
.
sort_value
=
'asc'
}
else
{
}
else
{
this
.
searchFrom
.
sort_value
=
'desc'
}
this
.
getChannelTransList
()
...
...
@@ -348,7 +349,7 @@ export default {
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
...
...
@@ -413,7 +414,7 @@ export default {
// }
},
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
getPeriodsApi
({
goods_id
:
val
[
0
],
limit
:
100
}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
;
});
...
...
@@ -487,9 +488,9 @@ export default {
});
},
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
res
.
list
.
forEach
(
val
=>
{
res
.
list
.
forEach
(
val
=>
{
val
.
label
=
`【
${
val
.
goods_id
}
】
${
val
.
title
}${
val
.
watch_num
}
课时(
${
val
.
start_at
.
slice
(
5
).
replace
(
'-'
,
''
)}
)-d
${
val
.
has_watch_num
}
`
})
this
.
periodList
=
res
.
list
;
...
...
@@ -504,7 +505,7 @@ export default {
if
(
this
.
searchFrom
.
invite_type
)
{
json
.
invite_type
=
this
.
searchFrom
.
invite_type
;
}
if
(
this
.
searchFrom
.
sort_value
)
{
if
(
this
.
searchFrom
.
sort_value
)
{
json
.
sort_value
=
this
.
searchFrom
.
sort_value
;
json
.
sort_key
=
this
.
searchFrom
.
sort_key
;
}
...
...
@@ -520,7 +521,7 @@ export default {
if
(
this
.
searchFrom
.
teacher_id
)
{
json
.
teacher_id
=
this
.
searchFrom
.
teacher_id
;
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
...
...
@@ -536,7 +537,7 @@ export default {
json
.
end_at
=
this
.
searchFrom
.
end_at
;
}
}
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
if
(
this
.
searchFrom
.
classTime
&&
this
.
searchFrom
.
classTime
.
length
>
0
)
{
console
.
log
(
this
.
searchFrom
.
classTime
)
if
(
this
.
searchFrom
.
classTime
[
0
]
&&
...
...
@@ -616,12 +617,12 @@ export default {
this
.
getTeacherList
();
this
.
getUpdateTime
();
}
};
};
</
script
>
<
style
lang=
"less"
scope
>
.channel-trans-list {
.channel-trans-list {
padding: 20px 0;
}
}
</
style
>
src/components/externalLaunch/index.vue
View file @
99540928
...
...
@@ -121,8 +121,8 @@
</el-table-column>
<el-table-column
prop=
"nickname"
label=
"领取人"
>
<template
slot-scope=
"scope"
>
<div
v-if=
'scope.row.user_id !== 0'
>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
<div
v-if=
'scope.row.user_id !== 0'
>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
<div>
{{
scope
.
row
.
nickname
}}
<br>
(ID:
{{
scope
.
row
.
user_id
}}
)
</div>
</div>
<div
v-if=
'scope.row.user_id === 0'
>
...
...
@@ -193,64 +193,72 @@
<
script
>
import
page
from
'../framework/page'
import
CommonJs
from
'../../util/common'
;
import
{
getAdsInnerListApi
,
updateAdsInnerApi
,
updateAdsInnerPlApi
,
getTeacherListApi
,
getGoodsListApi
,
adsTeacherApi
}
from
"../../service/api"
;
import
{
getAdsInnerListApi
,
updateAdsInnerApi
,
updateAdsInnerPlApi
,
getTeacherListApi
,
getGoodsListApi
,
adsTeacherApi
}
from
"../../service/api"
;
import
{
GOODSTYPE
,
externalLaunchStatusParams
}
from
"../../util/wordbook"
;
}
from
"../../util/wordbook"
;
export
default
{
name
:
"index"
,
components
:{
components
:
{
page
},
data
(){
data
()
{
return
{
today
:{
text
:
'今天'
,
onClick
:
(
vm
)
=>
{
vm
.
$emit
(
'pick'
,
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
])
today
:
{
text
:
'今天'
,
onClick
:
(
vm
)
=>
{
vm
.
$emit
(
'pick'
,
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
])
}
},
yesterday
:{
text
:
'昨天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
])
yesterday
:
{
text
:
'昨天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
])
}
},
last30Day
:{
text
:
'过去30天'
,
last30Day
:
{
text
:
'过去30天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
}
},
last7Day
:{
text
:
'过去7天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
last7Day
:
{
text
:
'过去7天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
}
},
teacherId
:
null
,
secId
:[],
total
:
0
,
nowPage
:
1
,
teacherId
:
null
,
secId
:
[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
searchFrom
:
{
source
:
''
,
course_type
:
'-1'
,
source
:
''
,
course_type
:
'-1'
,
},
tableData
:[],
tableData
:
[],
commentForm
:
{},
showCommentDialog
:
false
,
teacherList
:[],
teacherList
:
[],
goodList
:
[],
}
},
filters
:
{
filterStatus
:
function
(
value
)
{
filterStatus
:
function
(
value
)
{
let
msg
=
""
;
if
(
value
===
0
)
{
msg
=
"未绑定"
;
...
...
@@ -274,49 +282,49 @@
);
}
},
created
(){
created
()
{
this
.
initPage
()
this
.
getGoodsOption
();
this
.
getTeacherList
()
},
methods
:{
externalLaunchStatus
(
row
){
methods
:
{
externalLaunchStatus
(
row
)
{
return
externalLaunchStatusParams
[
row
.
status
]
},
formatTime
(
date
){
formatTime
(
date
)
{
console
.
log
(
date
)
let
year
=
date
.
getFullYear
();
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
Month
=
`0
${
Month
}
`
}
let
Day
=
date
.
getDate
();
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
return
`
${
year
}
-
${
Month
}
-
${
Day
}
`
;
},
getGoodsOption
()
{
let
json
=
{
page
:
1
,
limit
:
100
,
goods_type
:
'1,2'
goods_type
:
'1,2'
};
getGoodsListApi
(
json
).
then
(
res
=>
{
this
.
goodList
=
res
.
list
;
});
},
pullAll
(){
if
(
this
.
secId
.
length
<
1
)
{
pullAll
()
{
if
(
this
.
secId
.
length
<
1
)
{
this
.
$message
(
'请选择订单'
);
return
false
;
}
if
(
!
this
.
teacherId
)
{
if
(
!
this
.
teacherId
)
{
this
.
$message
(
'请选择老师'
);
return
false
;
}
let
json
=
{
order_ids
:
[]
order_ids
:
[]
};
this
.
secId
.
forEach
(
i
=>
{
this
.
secId
.
forEach
(
i
=>
{
json
.
order_ids
.
push
(
i
)
});
this
.
$confirm
(
`是否确定将这
${
json
.
order_ids
.
length
}
笔订单分配给该老师?`
,
'提示'
,
{
...
...
@@ -324,7 +332,7 @@
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
adsTeacherApi
(
this
.
teacherId
,{
ids
:
json
.
order_ids
.
join
(
','
)}).
then
(
res
=>
{
adsTeacherApi
(
this
.
teacherId
,
{
ids
:
json
.
order_ids
.
join
(
','
)}).
then
(
res
=>
{
// this.secId = [];
this
.
$message
({
message
:
'提交成功'
,
...
...
@@ -338,20 +346,20 @@
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
});
},
handleSelectionChange
(
val
){
handleSelectionChange
(
val
)
{
this
.
secId
=
[]
val
.
forEach
(
element
=>
{
this
.
secId
.
push
(
element
.
id
)
});
// console.log(this.secId)
},
initPage
(){
initPage
()
{
let
json
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
...
...
@@ -393,90 +401,90 @@
if
(
this
.
searchFrom
.
goods_id
)
{
json
.
goods_id
=
this
.
searchFrom
.
goods_id
;
}
if
(
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
==
2
)
{
if
(
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
==
2
)
{
json
.
start_at
=
this
.
searchFrom
.
time
[
0
];
json
.
end_at
=
this
.
searchFrom
.
time
[
1
]
}
if
(
this
.
searchFrom
.
active_time
&&
this
.
searchFrom
.
active_time
.
length
==
2
)
{
if
(
this
.
searchFrom
.
active_time
&&
this
.
searchFrom
.
active_time
.
length
==
2
)
{
json
.
active_start_at
=
this
.
searchFrom
.
active_time
[
0
];
json
.
active_end_at
=
this
.
searchFrom
.
active_time
[
1
]
json
.
active_end_at
=
this
.
searchFrom
.
active_time
[
1
]
}
getAdsInnerListApi
(
json
).
then
((
res
)
=>
{
getAdsInnerListApi
(
json
).
then
((
res
)
=>
{
this
.
tableData
=
res
.
list
;
this
.
total
=
res
.
total
})
},
onPageChange
(
val
){
onPageChange
(
val
)
{
this
.
nowPage
=
val
this
.
initPage
()
},
onSizeChange
(
val
){
onSizeChange
(
val
)
{
this
.
nowPage
=
1
this
.
limit
=
val
this
.
initPage
()
},
doExport
(){
doExport
()
{
let
query
=
`?type=export`
;
if
(
this
.
searchFrom
.
source
)
{
if
(
this
.
searchFrom
.
source
)
{
query
=
query
+
'&source='
+
this
.
searchFrom
.
source
}
if
(
this
.
searchFrom
.
mobile
)
{
if
(
this
.
searchFrom
.
mobile
)
{
query
=
query
+
'&mobile='
+
this
.
searchFrom
.
mobile
}
if
(
this
.
searchFrom
.
status
)
{
if
(
this
.
searchFrom
.
status
)
{
query
=
query
+
'&status='
+
this
.
searchFrom
.
status
}
if
(
this
.
searchFrom
.
course_type
!==
'-1'
)
{
if
(
this
.
searchFrom
.
course_type
!==
'-1'
)
{
query
=
query
+
'&course_type='
+
this
.
searchFrom
.
course_type
}
if
(
this
.
searchFrom
.
user_buy
!==
'-1'
)
{
if
(
this
.
searchFrom
.
user_buy
!==
'-1'
)
{
query
=
query
+
'&user_buy='
+
this
.
searchFrom
.
user_buy
}
if
(
this
.
searchFrom
.
nickname
)
{
if
(
this
.
searchFrom
.
nickname
)
{
query
=
query
+
'&nickname='
+
this
.
searchFrom
.
nickname
}
if
(
this
.
searchFrom
.
user_id
)
{
if
(
this
.
searchFrom
.
user_id
)
{
query
=
query
+
'&user_id='
+
this
.
searchFrom
.
user_id
}
if
(
this
.
searchFrom
.
teacher_id
)
{
if
(
this
.
searchFrom
.
teacher_id
)
{
query
=
query
+
'&teacher_id='
+
this
.
searchFrom
.
teacher_id
}
if
(
this
.
searchFrom
.
goods_name
)
{
if
(
this
.
searchFrom
.
goods_name
)
{
query
=
query
+
'&goods_name='
+
this
.
searchFrom
.
goods_name
}
if
(
this
.
searchFrom
.
order_id
)
{
if
(
this
.
searchFrom
.
order_id
)
{
query
=
query
+
'&order_id='
+
this
.
searchFrom
.
order_id
}
if
(
this
.
searchFrom
.
goods_id
)
{
if
(
this
.
searchFrom
.
goods_id
)
{
query
=
query
+
'&goods_id='
+
this
.
searchFrom
.
goods_id
}
if
(
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
==
2
)
{
if
(
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
==
2
)
{
query
=
query
+
'&start_at='
+
this
.
searchFrom
.
time
[
0
];
query
=
query
+
'&end_at='
+
this
.
searchFrom
.
time
[
1
]
}
if
(
this
.
searchFrom
.
active_time
&&
this
.
searchFrom
.
active_time
.
length
==
2
)
{
if
(
this
.
searchFrom
.
active_time
&&
this
.
searchFrom
.
active_time
.
length
==
2
)
{
query
=
query
+
'&active_start_at='
+
this
.
searchFrom
.
active_time
[
0
];
query
=
query
+
'&active_end_at='
+
this
.
searchFrom
.
active_time
[
1
]
}
window
.
open
(
`/api/admin/ads/export/all
${
query
}
`
)
},
saveComment
(){
saveComment
()
{
// let id = this.commentForm.id;
let
id
if
(
this
.
commentForm
.
id
)
{
if
(
this
.
commentForm
.
id
)
{
id
=
this
.
commentForm
.
id
}
else
{
}
else
{
id
=
this
.
secId
.
join
(
','
)
}
let
desc
=
this
.
commentForm
.
desc
?
this
.
commentForm
.
desc
:
''
;
if
(
!
desc
)
return
;
if
(
!
desc
)
return
;
this
.
$confirm
(
'确认编辑备注'
,
'提示'
,
{
confirmButtonText
:
'继续'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
updateAdsInnerPlApi
({
ids
:
id
,
desc
:
desc
}).
then
(
res
=>
{
updateAdsInnerPlApi
({
ids
:
id
,
desc
:
desc
}).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'编辑备注成功'
...
...
@@ -486,7 +494,7 @@
});
})
},
editNote
(
id
,
desc
){
editNote
(
id
,
desc
)
{
this
.
showCommentDialog
=
true
;
this
.
commentForm
=
{
id
:
id
,
...
...
@@ -494,13 +502,13 @@
};
},
editComment
(
id
,
desc
)
{
if
(
this
.
secId
.
length
>
0
)
{
if
(
this
.
secId
.
length
>
0
)
{
this
.
showCommentDialog
=
true
;
// this.commentForm = {
// id: id,
// desc: desc
// };
}
else
{
}
else
{
this
.
$message
({
type
:
'warning'
,
message
:
'请选择'
...
...
@@ -516,15 +524,17 @@
.index {
padding: 20px 0;
}
.sms {
padding: 20px 0;
}
.avatar {
}
.avatar {
width: 50px;
min-width: 50px;
margin-right: 10px;
height: 50px;
border-radius: 50%;
}
}
</
style
>
src/components/framework/leftMenu.vue
View file @
99540928
...
...
@@ -72,6 +72,7 @@
&::-webkit-scrollbar {
background-color: #333333; /* or add it to the track */
&:hover {
&::-webkit-scrollbar-thumb {
background-color: #999;
...
...
src/components/monthOrder/index.vue
View file @
99540928
...
...
@@ -401,7 +401,7 @@
show
:
false
,
nowPage
:
1
,
total
:
0
,
limit
:
1
00
,
limit
:
5
00
,
teacher_id
:
''
},
teacherList
:
[],
...
...
src/components/monthOrder/newDialog.vue
View file @
99540928
...
...
@@ -153,94 +153,101 @@
</template>
<
script
>
import
{
getGoodsListApi
,
setOrderApi
,
getPeriodsApi
,
getTeacherListApi
,
getUserListApi
,
getOrderTypeApi
}
from
"../../service/api"
import
{
getGoodsListApi
,
setOrderApi
,
getPeriodsApi
,
getTeacherListApi
,
getUserListApi
,
getOrderTypeApi
}
from
"../../service/api"
import
vueAddress
from
'../framework/address-picker/Address'
import
AddressArray
from
'../framework/address-picker/addr'
import
{
ORDERSTATUS
,
BUYWay
,
GOODSTYPE
}
from
"../../util/wordbook"
import
{
ORDERSTATUS
,
BUYWay
,
GOODSTYPE
}
from
"../../util/wordbook"
import
CommonJs
from
'../../util/common'
;
import
page
from
'../framework/page'
export
default
{
name
:
"newdialogObj"
,
props
:[
props
:
[
'newdialogObj'
],
data
(){
return
{
rules
:{
data
()
{
return
{
rules
:
{
periods_id
:
[
{
required
:
true
,
message
:
'请输入期数名称'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请输入期数名称'
,
trigger
:
'change'
}
],
goods_id
:
[
{
required
:
true
,
message
:
'请输入商品名称'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请输入商品名称'
,
trigger
:
'change'
}
],
money
:
[
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
}
],
user_id
:
[
{
required
:
true
,
message
:
'请输入用户ID'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入用户ID'
,
trigger
:
'blur'
}
],
pay_at
:
[
{
required
:
true
,
message
:
'请选择日期'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请选择日期'
,
trigger
:
'change'
}
],
order_type
:[
{
required
:
true
,
message
:
'请选择支付类型'
,
trigger
:
'change'
}
order_type
:
[
{
required
:
true
,
message
:
'请选择支付类型'
,
trigger
:
'change'
}
],
out_trade_no
:[
{
required
:
true
,
message
:
'请填写订单号'
,
trigger
:
'change'
}
out_trade_no
:
[
{
required
:
true
,
message
:
'请填写订单号'
,
trigger
:
'change'
}
],
},
nowPage
:
1
,
limit
:
200
,
total
:
0
,
form
:{
periods_id
:
""
,
goods_id
:
""
,
user_id
:
""
,
money
:
""
,
buy_type
:
""
,
invite_id
:
""
,
desc
:
""
,
province_name
:
""
,
city
:
""
,
area
:
""
,
city_name
:
""
,
district_name
:
""
,
district
:
""
,
province
:
""
,
address
:
""
,
receive_mobile
:
""
,
receive_name
:
""
,
order_type
:
""
,
pay_at
:
""
,
total
:
0
,
form
:
{
periods_id
:
""
,
goods_id
:
""
,
user_id
:
""
,
money
:
""
,
buy_type
:
""
,
invite_id
:
""
,
desc
:
""
,
province_name
:
""
,
city
:
""
,
area
:
""
,
city_name
:
""
,
district_name
:
""
,
district
:
""
,
province
:
""
,
address
:
""
,
receive_mobile
:
""
,
receive_name
:
""
,
order_type
:
""
,
pay_at
:
""
,
},
goodsList
:[],
periodsList
:[],
pickerOptions1
:
''
,
buyWayOptioms
:[],
goodsList
:
[],
periodsList
:
[],
pickerOptions1
:
''
,
buyWayOptioms
:
[],
teacherList
:
[],
addShow
:
false
,
searchFrom
:{
},
addShow
:
false
,
searchFrom
:
{},
userList
:
[],
multipleSelection
:
[],
}
},
components
:
{
components
:
{
vueAddress
,
page
,
},
filters
:
{
filterGoods
(
val
)
{
return
'['
+
GOODSTYPE
[
val
.
goods_type
]
+
']'
+
'['
+
val
.
current_price
/
100
+
'元]'
+
val
.
name
filters
:
{
filterGoods
(
val
)
{
return
'['
+
GOODSTYPE
[
val
.
goods_type
]
+
']'
+
'['
+
val
.
current_price
/
100
+
'元]'
+
val
.
name
}
},
methods
:{
onPageChange
(
val
)
{
methods
:
{
onPageChange
(
val
)
{
this
.
nowPage
=
val
this
.
getUser
()
},
onSizeChange
(
val
){
onSizeChange
(
val
)
{
this
.
limit
=
val
this
.
nowPage
=
1
;
this
.
getUser
()
...
...
@@ -248,7 +255,7 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
getUser
()
{
getUser
()
{
let
json
=
{
page
:
this
.
nowPage
,
limit
:
5
...
...
@@ -262,55 +269,55 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
}
getUserListApi
(
json
).
then
(
res
=>
{
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
;
})
},
saveAddOrder
(
data
){
saveAddOrder
(
data
)
{
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
json
=
{
periods_id
:
data
.
periods_id
,
goods_id
:
data
.
goods_id
,
user_id
:
data
.
user_id
,
money
:
data
.
money
,
province_name
:
data
.
province_name
,
city_id
:
data
.
city
,
city
:
data
.
city_name
,
area
:
data
.
district_name
,
area_id
:
data
.
district
,
province_id
:
data
.
province
,
address
:
data
.
address
,
receive_mobile
:
data
.
receive_mobile
,
receive_name
:
data
.
receive_name
,
order_type
:
data
.
order_type
,
let
json
=
{
periods_id
:
data
.
periods_id
,
goods_id
:
data
.
goods_id
,
user_id
:
data
.
user_id
,
money
:
data
.
money
,
province_name
:
data
.
province_name
,
city_id
:
data
.
city
,
city
:
data
.
city_name
,
area
:
data
.
district_name
,
area_id
:
data
.
district
,
province_id
:
data
.
province
,
address
:
data
.
address
,
receive_mobile
:
data
.
receive_mobile
,
receive_name
:
data
.
receive_name
,
order_type
:
data
.
order_type
,
}
// 元转分
json
.
money
=
json
.
money
;
if
(
data
.
pay_at
)
{
json
.
pay_at
=
CommonJs
.
dateFmt
(
data
.
pay_at
,
"yyyy-MM-dd hh:mm:ss"
);
json
.
money
=
json
.
money
;
if
(
data
.
pay_at
)
{
json
.
pay_at
=
CommonJs
.
dateFmt
(
data
.
pay_at
,
"yyyy-MM-dd hh:mm:ss"
);
}
if
(
this
.
form
.
invite_id
)
{
if
(
this
.
form
.
invite_id
)
{
json
.
invite_id
=
this
.
form
.
invite_id
}
if
(
this
.
form
.
desc
)
{
if
(
this
.
form
.
desc
)
{
json
.
desc
=
this
.
form
.
desc
}
if
(
this
.
form
.
out_trade_no
)
{
if
(
this
.
form
.
out_trade_no
)
{
json
.
out_trade_no
=
this
.
form
.
out_trade_no
}
json
.
invite_type
=
"TEACHER"
;
if
(
json
.
province_name
&&
json
.
address
&&
json
.
receive_mobile
&&
json
.
receive_name
)
{
setOrderApi
(
json
).
then
(
res
=>
{
this
.
newdialogObj
.
show
=
false
json
.
invite_type
=
"TEACHER"
;
if
(
json
.
province_name
&&
json
.
address
&&
json
.
receive_mobile
&&
json
.
receive_name
)
{
setOrderApi
(
json
).
then
(
res
=>
{
this
.
newdialogObj
.
show
=
false
this
.
$emit
(
"reflash"
);
this
.
$message
({
message
:
'添加成功'
,
type
:
'success'
});
})
}
else
{
}
else
{
this
.
$message
({
message
:
"缺少必填项"
,
type
:
"warning"
...
...
@@ -322,8 +329,8 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
}
});
},
handlerAddressChange
(
val
){
if
(
!
val
.
province
||
!
val
.
city
||
!
val
.
district
)
{
handlerAddressChange
(
val
)
{
if
(
!
val
.
province
||
!
val
.
city
||
!
val
.
district
)
{
return
}
console
.
log
(
val
)
...
...
@@ -346,34 +353,34 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
this
.
form
.
district_name
=
districtObj
.
length
>
0
?
districtObj
[
0
].
label
:
cityObj
[
0
].
children
[
0
].
label
;
this
.
form
.
district
=
districtObj
.
length
>
0
?
districtObj
[
0
].
value
:
cityObj
[
0
].
children
[
0
].
value
;
},
getGoodsOption
()
{
getGoodsOption
()
{
let
json
=
{
page
:
1
,
limit
:
200
,
course_type
:
0
,
course_type
:
0
,
};
getGoodsListApi
(
json
).
then
(
res
=>
{
getGoodsListApi
(
json
).
then
(
res
=>
{
this
.
goodsList
=
res
.
list
;
})
},
onOptionChange
(
id
)
{
this
.
form
.
periods_id
=
""
;
getPeriodsApi
({
goods_id
:
id
}).
then
((
res
)
=>
{
this
.
periodsList
=
res
.
list
onOptionChange
(
id
)
{
this
.
form
.
periods_id
=
""
;
getPeriodsApi
({
goods_id
:
id
}).
then
((
res
)
=>
{
this
.
periodsList
=
res
.
list
})
},
getTeacherList
(
name
)
{
getTeacherList
(
name
)
{
let
json
=
{
limit
:
1
00
,
limit
:
5
00
,
page
:
1
};
if
(
name
)
{
if
(
name
)
{
json
.
name
=
name
}
getTeacherListApi
(
json
).
then
(
res
=>
{
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
});
getOrderTypeApi
().
then
(
res
=>
{
getOrderTypeApi
().
then
(
res
=>
{
this
.
buyWayOptioms
=
res
})
},
...
...
@@ -384,31 +391,31 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
this
.
getTeacherList
();
}
},
onAddUser
()
{
onAddUser
()
{
this
.
addShow
=
true
;
this
.
getUser
();
},
onAdd
()
{
if
(
this
.
multipleSelection
.
length
===
0
)
{
onAdd
()
{
if
(
this
.
multipleSelection
.
length
===
0
)
{
this
.
$message
({
type
:
'error'
,
message
:
'请选择用户!'
});
return
}
else
if
(
this
.
multipleSelection
.
length
!==
1
){
}
else
if
(
this
.
multipleSelection
.
length
!==
1
)
{
this
.
$message
({
type
:
'error'
,
message
:
'只能选择一个用户!'
});
return
}
this
.
form
.
user_id
=
this
.
multipleSelection
[
0
].
user_id
;
this
.
form
.
user_id
=
this
.
multipleSelection
[
0
].
user_id
;
this
.
addShow
=
false
;
},
},
watch
:{
'newdialogObj.show'
(
val
){
if
(
val
)
{
watch
:
{
'newdialogObj.show'
(
val
)
{
if
(
val
)
{
this
.
getGoodsOption
();
this
.
getTeacherList
();
// this.form={
...
...
@@ -435,13 +442,13 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListA
}
}
},
mounted
(){
mounted
()
{
},
}
</
script
>
<
style
scoped
lang=
"less"
>
.dialog-footer{
.dialog-footer
{
display: block;
text-align: center;
}
...
...
src/components/order/index.vue
View file @
99540928
...
...
@@ -244,37 +244,37 @@
}
from
"../../util/wordbook"
;
import
CommonJs
from
"../../util/common"
;
export
default
{
export
default
{
name
:
"index"
,
data
()
{
return
{
nowPage
:
1
,
total
:
0
,
today
:
{
text
:
'今天'
,
onClick
:()
=>
{
this
.
searchFrom
.
payTime
=
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
today
:
{
text
:
'今天'
,
onClick
:
()
=>
{
this
.
searchFrom
.
payTime
=
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
}
},
yesterday
:
{
text
:
'昨天'
,
onClick
:()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
];
yesterday
:
{
text
:
'昨天'
,
onClick
:
()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
];
}
},
last30Day
:
{
text
:
'过去30天'
,
onClick
:()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
last30Day
:
{
text
:
'过去30天'
,
onClick
:
()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
}
},
last7Day
:
{
text
:
'过去7天'
,
onClick
:()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
last7Day
:
{
text
:
'过去7天'
,
onClick
:
()
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
this
.
searchFrom
.
payTime
=
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
];
}
},
sourceDialog
:
{
...
...
@@ -292,7 +292,7 @@ export default {
limit
:
10
,
searchFrom
:
{
nickname
:
""
,
wait_into_course
:
''
,
wait_into_course
:
''
,
user_id
:
""
,
invite_type
:
""
,
invite_id
:
""
,
...
...
@@ -302,7 +302,7 @@ export default {
out_trade_no
:
""
,
payTime
:
[],
order_group_id
:
""
,
is_captain
:
""
,
is_captain
:
""
,
},
tableData
:
[],
dialogObj
:
{
...
...
@@ -323,18 +323,18 @@ export default {
buyTypeOption
:
BUYTYPEOPTION
,
inviteSearchPlaceholder
:
""
,
rules
:
{
value
:
[{
required
:
true
,
message
:
"请输入备注"
,
trigger
:
"change"
}]
value
:
[{
required
:
true
,
message
:
"请输入备注"
,
trigger
:
"change"
}]
},
promoterDialog
:
{
show
:
false
,
nowPage
:
1
,
total
:
0
,
limit
:
1
00
,
limit
:
5
00
,
teacher_id
:
""
},
teacherList
:
[],
loading
:
false
,
isLeaderOption
:
ISLEADEROPTION
,
isLeaderOption
:
ISLEADEROPTION
,
};
},
methods
:
{
...
...
@@ -361,14 +361,14 @@ export default {
}
return
str
},
formatTime
(
date
)
{
formatTime
(
date
)
{
let
year
=
date
.
getFullYear
();
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
Month
=
`0
${
Month
}
`
}
let
Day
=
date
.
getDate
();
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
return
`
${
year
}
-
${
Month
}
-
${
Day
}
`
;
},
showRef
(
data
)
{
...
...
@@ -385,7 +385,7 @@ export default {
},
changeRow
(
data
,
b
)
{
if
(
b
.
indexOf
(
data
)
>
-
1
)
{
getRefundListApi
({
out_trade_no
:
data
.
out_trade_no
}).
then
(
res
=>
{
getRefundListApi
({
out_trade_no
:
data
.
out_trade_no
}).
then
(
res
=>
{
data
.
refundList
=
res
.
list
;
});
}
...
...
@@ -436,14 +436,14 @@ export default {
json
.
wait_into_course
=
this
.
searchFrom
.
wait_into_course
}
json
.
course_type
=
1
;
//日课
exportExcelApi
(
"/api/admin/order/export"
,
json
,
'日课订单列表'
);
exportExcelApi
(
"/api/admin/order/export"
,
json
,
'日课订单列表'
);
},
getGoodsOption
()
{
let
json
=
{
page
:
1
,
limit
:
100
,
course_type
:
1
,
status
:
"1,2"
course_type
:
1
,
status
:
"1,2"
};
getGoodsListApi
(
json
).
then
(
res
=>
{
...
...
src/components/periods/newDialog.vue
View file @
99540928
...
...
@@ -42,7 +42,7 @@
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"带班老师"
prop=
"teacherList"
v-if
=
"!form.id"
>
<el-form-item
label=
"带班老师"
prop=
"teacherList"
v-if
=
"!form.id"
>
<el-select
v-model=
"form.teacherList"
placeholder=
"请选择"
@
change=
"onTeacher1Change"
filterable
multiple
>
<el-option
v-for=
"item in teacher1Options"
...
...
@@ -52,7 +52,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"观摩老师"
prop=
"viewTeacher"
v-if
=
"!form.id"
>
<el-form-item
label=
"观摩老师"
prop=
"viewTeacher"
v-if
=
"!form.id"
>
<el-select
v-model=
"form.viewTeacher"
placeholder=
"请选择"
@
change=
"onTeacher2Change"
filterable
>
<el-option
v-for=
"item in teacher2Options"
...
...
@@ -62,7 +62,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"将带班老师加入观摩班"
v-if =
"!form.id"
label-width=
"200"
>
<el-form-item
label=
"将带班老师加入观摩班"
v-if=
"!form.id"
label-width=
"200"
>
<el-switch
v-model=
"form.is_add_teacher_to_class"
active-color=
"#13ce66"
...
...
@@ -90,23 +90,31 @@
</
template
>
<
script
>
import
{
getGoodsListApi
,
getAddPeriodsApi
,
getTeacherListApi
,
getEditPeriodsApi
,
getLessonDetailApi
,
getPeriodsApi
}
from
"../../service/api"
;
import
{
ISORNOT
,
GOODSTYPE
,
LESSONTYPE
,
GOODSSTATUS
}
from
"../../util/wordbook"
;
import
{
getGoodsListApi
,
getAddPeriodsApi
,
getTeacherListApi
,
getEditPeriodsApi
,
getLessonDetailApi
,
getPeriodsApi
}
from
"../../service/api"
;
import
{
ISORNOT
,
GOODSTYPE
,
LESSONTYPE
,
GOODSSTATUS
}
from
"../../util/wordbook"
;
import
goodDialog
from
'./dialog'
export
default
{
props
:[
props
:
[
'dialogObj'
],
data
(){
return
{
data
()
{
return
{
loading
:
false
,
form
:
{
is_add_teacher_to_class
:
false
,
teacherList
:[],
viewTeacher
:
''
,
rest_week_day
:[],
title
:
""
,
goods_id
:
""
,
teacherList
:
[],
viewTeacher
:
''
,
rest_week_day
:
[],
title
:
""
,
goods_id
:
""
,
},
show
:
false
,
viewTeacher
:
''
,
...
...
@@ -150,71 +158,71 @@
teacher2Options
:
[],
goodList
:
[],
itemOptions
:
[],
rules
:{
title
:[
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'change'
}
rules
:
{
title
:
[
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'change'
}
],
startNum
:[
{
required
:
true
,
message
:
'请输入开始主题'
,
trigger
:
'change'
}
startNum
:
[
{
required
:
true
,
message
:
'请输入开始主题'
,
trigger
:
'change'
}
],
start_at
:[
{
required
:
true
,
message
:
'请选择开始上课时间'
,
trigger
:
'change'
}
start_at
:
[
{
required
:
true
,
message
:
'请选择开始上课时间'
,
trigger
:
'change'
}
],
rest_week_day
:[
{
required
:
true
,
message
:
'请选择周几不上课'
,
trigger
:
'change'
}
rest_week_day
:
[
{
required
:
true
,
message
:
'请选择周几不上课'
,
trigger
:
'change'
}
],
teacher_ids
:[
{
required
:
true
,
message
:
'请选择老师ID'
,
trigger
:
'change'
}
teacher_ids
:
[
{
required
:
true
,
message
:
'请选择老师ID'
,
trigger
:
'change'
}
],
goods_id
:
[
{
required
:
true
,
message
:
'商品ID不能为空'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'商品ID不能为空'
,
trigger
:
'change'
}
],
teacherList
:
[
{
required
:
true
,
message
:
'带班老师不能为空'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'带班老师不能为空'
,
trigger
:
'change'
}
],
viewTeacher
:
[
{
required
:
true
,
message
:
'观摩老师不能为空'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'观摩老师不能为空'
,
trigger
:
'change'
}
]
},
periodsList
:[],
selectedGoods
:[],
periodsList
:
[],
selectedGoods
:
[],
}
},
components
:{
components
:
{
goodDialog
},
watch
:{
'dialogObj.show'
(
val
){
if
(
val
)
{
watch
:
{
'dialogObj.show'
(
val
)
{
if
(
val
)
{
this
.
getTeachers
();
this
.
getGoodsOption
();
}
},
show
(
value
){
this
.
$emit
(
"changeShow"
,
value
);
show
(
value
)
{
this
.
$emit
(
"changeShow"
,
value
);
}
},
filters
:
{
isOrNot
(
value
){
isOrNot
(
value
)
{
return
ISORNOT
[
value
]
},
goodsType
(
value
){
goodsType
(
value
)
{
return
GOODSTYPE
[
value
]
},
lessonType
(
value
){
lessonType
(
value
)
{
return
LESSONTYPE
[
value
]
},
goodsStatus
(
value
){
goodsStatus
(
value
)
{
return
GOODSSTATUS
[
value
]
},
filterGoods
(
val
){
return
'['
+
val
.
id
+
']['
+
GOODSTYPE
[
val
.
goods_type
]
+
']'
+
'【'
+
val
.
current_price
/
100
+
'元】'
+
val
.
name
filterGoods
(
val
)
{
return
'['
+
val
.
id
+
']['
+
GOODSTYPE
[
val
.
goods_type
]
+
']'
+
'【'
+
val
.
current_price
/
100
+
'元】'
+
val
.
name
}
},
methods
:{
sub
(){
methods
:
{
sub
()
{
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
_id
=
this
.
form
.
goods_id
;
let
json
=
{
title
:
this
.
form
.
title
,
...
...
@@ -224,7 +232,7 @@
}
json
.
is_add_teacher_to_class
=
this
.
form
.
is_add_teacher_to_class
?
1
:
0
;
if
(
this
.
form
.
id
)
{
getEditPeriodsApi
(
this
.
form
.
id
,
json
).
then
(
res
=>
{
getEditPeriodsApi
(
this
.
form
.
id
,
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'编辑成功!'
...
...
@@ -234,7 +242,7 @@
}
else
{
json
.
teacher_ids
=
this
.
form
.
teacherList
.
join
(
','
);
json
.
view_teacher_id
=
parseInt
(
this
.
form
.
viewTeacher
);
getAddPeriodsApi
(
_id
,
json
).
then
(
res
=>
{
getAddPeriodsApi
(
_id
,
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'添加成功!'
...
...
@@ -242,26 +250,26 @@
this
.
$emit
(
"reflash"
);
})
}
this
.
show
=
false
;
this
.
show
=
false
;
}
});
},
getTeachers
(){
getTeachers
()
{
let
json1
=
{
page
:
1
,
limit
:
1
00
,
status
:
0
limit
:
5
00
,
status
:
0
};
getTeacherListApi
(
json1
).
then
((
res
)
=>
{
getTeacherListApi
(
json1
).
then
((
res
)
=>
{
this
.
teacherOptions
=
res
.
list
;
this
.
teacher1Options
=
res
.
list
;
this
.
teacher2Options
=
res
.
list
;
})
},
findDifferentArray
(
array1
,
array2
){
findDifferentArray
(
array1
,
array2
)
{
let
newArray
=
[]
array1
.
forEach
((
val
)
=>
{
let
index
=
array1
.
findIndex
((
item
)
=>
{
array1
.
forEach
((
val
)
=>
{
let
index
=
array1
.
findIndex
((
item
)
=>
{
return
val
.
id
==
item
})
if
(
index
===
-
1
)
{
...
...
@@ -270,67 +278,73 @@
})
return
newArray
},
onTeacher1Change
(
ids
){
if
(
ids
)
{
onTeacher1Change
(
ids
)
{
if
(
ids
)
{
this
.
teacher2Options
=
this
.
findDifferentArray
(
this
.
teacherOptions
,
ids
)
}
else
{
this
.
teacher2Options
=
this
.
teacherOptions
}
},
onTeacher2Change
(
id
){
if
(
id
)
{
onTeacher2Change
(
id
)
{
if
(
id
)
{
this
.
teacher1Options
=
this
.
findDifferentArray
(
this
.
teacherOptions
,
[
id
])
}
else
{
this
.
teacher1Options
=
this
.
teacherOptions
}
},
onOptionChange
(
id
){
let
index
=
this
.
goodList
.
findIndex
((
val
)
=>
{
return
val
.
id
===
id
});
if
(
index
>-
1
){
onOptionChange
(
id
)
{
let
index
=
this
.
goodList
.
findIndex
((
val
)
=>
{
return
val
.
id
===
id
});
if
(
index
>
-
1
)
{
this
.
getLessonDetail
(
this
.
goodList
[
index
].
course_id
);
}
delete
this
.
form
.
startNum
},
getLessonDetail
(
id
){
getLessonDetailApi
(
id
,{}).
then
((
res
)
=>
{
getLessonDetail
(
id
)
{
getLessonDetailApi
(
id
,
{}).
then
((
res
)
=>
{
this
.
itemOptions
=
res
.
detail
[
res
.
type
]
})
},
getGoodsOption
(){
getGoodsOption
()
{
let
json
=
{
page
:
1
,
goods_type
:
'1,2'
,
goods_type
:
'1,2'
,
limit
:
100
,
};
getGoodsListApi
(
json
).
then
(
res
=>
{
getGoodsListApi
(
json
).
then
(
res
=>
{
this
.
goodList
=
res
.
list
;
if
(
this
.
dialogObj
.
form
.
id
){
if
(
this
.
dialogObj
.
form
.
id
)
{
this
.
form
=
this
.
dialogObj
.
form
;
}
else
{
this
.
form
=
{
rest_week_day
:[],
rest_week_day
:
[],
is_add_teacher_to_class
:
false
,
teacherList
:[],
viewTeacher
:
''
,
title
:
""
,
goods_id
:
""
,
teacherList
:
[],
viewTeacher
:
''
,
title
:
""
,
goods_id
:
""
,
};
}
if
(
this
.
dialogObj
.
form
.
course_id
)
{
if
(
this
.
dialogObj
.
form
.
course_id
)
{
this
.
getLessonDetail
(
this
.
dialogObj
.
form
.
course_id
);
}
this
.
show
=
this
.
dialogObj
.
show
})
},
changePeriods
(
data
){
if
(
data
.
length
>
1
)
{
this
.
form
.
title
=
String
(
data
[
1
]);
changePeriods
(
data
)
{
if
(
data
.
length
>
1
)
{
this
.
form
.
title
=
String
(
data
[
1
]);
}
},
handleItemChange
(
val
){
getPeriodsApi
({
goods_id
:
val
[
0
]}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
this
.
periodsList
.
find
(
i
=>
{
return
i
.
id
===
val
[
0
]}).
children
=
res
.
list
handleItemChange
(
val
)
{
getPeriodsApi
({
goods_id
:
val
[
0
]}).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
name
=
i
.
title
});
this
.
periodsList
.
find
(
i
=>
{
return
i
.
id
===
val
[
0
]
}).
children
=
res
.
list
})
},
},
...
...
src/components/userDetail/callBack.vue
View file @
99540928
...
...
@@ -59,7 +59,8 @@
</el-card>
<!--添加回访信息-->
<el-card
shadow=
"never"
v-if=
"callbackObj.teacher_id && !$store.state.readonly"
class=
"callback-item callback-input"
>
<!--<el-card shadow="never" v-if="callbackObj.teacher_id && !$store.state.readonly" class="callback-item callback-input">-->
<el-card
shadow=
"never"
v-if=
"callbackObj.teacher_id"
class=
"callback-item callback-input"
>
<el-form
size=
"small"
inline
>
<el-form-item
required
>
<el-select
v-model=
"add.method"
placeholder=
"回访方式"
style=
"width: 140px;"
>
...
...
@@ -186,7 +187,8 @@
props
:
{
callbackObj
:
{
// user_id、teacher_id、timestamp
type
:
Object
,
default
:
()
=>
{}
default
:
()
=>
{
}
},
hasUserInfo
:
{
// 是否传过来用户信息,传来用户信息就不调接口请求用户新,否则请求(防止同时请求用户信息接口报错)
type
:
Boolean
,
...
...
@@ -482,6 +484,7 @@
<
style
lang=
"less"
>
.callback-container {
border: none;
.el-divider--horizontal {
margin: 20px 0;
}
...
...
src/components/userDetail/dialog.vue
View file @
99540928
...
...
@@ -24,27 +24,28 @@
</
template
>
<
script
>
import
{
getTeacherListApi
,
addRelatedTeacherApi
}
from
"../../service/api"
;
import
{
getTeacherListApi
,
addRelatedTeacherApi
}
from
"../../service/api"
;
export
default
{
props
:[
props
:
[
'dialogObj'
],
data
(){
return
{
form
:{
data
()
{
return
{
form
:
{
id
:
''
,
teacher_id
:
''
,
teacher_id
:
''
,
},
teacherList
:[],
teacherList
:
[],
}
},
methods
:{
initPage
(){
let
json
=
{
page
:
1
,
limit
:
2
00
methods
:
{
initPage
()
{
let
json
=
{
page
:
1
,
limit
:
5
00
}
getTeacherListApi
(
json
).
then
(
res
=>
{
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
});
this
.
form
=
{
...
...
@@ -52,7 +53,7 @@
teacher_id
:
this
.
dialogObj
.
teacher_id
?
this
.
dialogObj
.
teacher_id
:
''
};
},
onSave
(){
onSave
()
{
let
json
=
{
teacher_id
:
this
.
form
.
teacher_id
?
this
.
form
.
teacher_id
:
0
};
...
...
@@ -66,9 +67,9 @@
})
}
},
watch
:{
'dialogObj.show'
(
value
){
if
(
value
)
{
watch
:
{
'dialogObj.show'
(
value
)
{
if
(
value
)
{
this
.
initPage
()
}
}
...
...
src/components/yunji/dialog.vue
View file @
99540928
...
...
@@ -25,27 +25,28 @@
</
template
>
<
script
>
import
{
getTeacherListApi
,
bindTeacherApi
}
from
"../../service/api"
;
import
{
getTeacherListApi
,
bindTeacherApi
}
from
"../../service/api"
;
export
default
{
props
:[
props
:
[
'dialogObj'
],
data
(){
return
{
form
:{
data
()
{
return
{
form
:
{
id
:
''
,
teacher_id
:
''
,
teacher_id
:
''
,
},
teacherList
:[],
teacherList
:
[],
}
},
methods
:{
initPage
(){
let
json
=
{
page
:
1
,
limit
:
2
00
methods
:
{
initPage
()
{
let
json
=
{
page
:
1
,
limit
:
5
00
}
getTeacherListApi
(
json
).
then
(
res
=>
{
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
});
this
.
form
=
{
...
...
@@ -53,9 +54,9 @@
teacher_id
:
this
.
dialogObj
.
teacher_id
?
this
.
dialogObj
.
teacher_id
:
''
};
},
onSave
(){
let
teacher_id
=
this
.
form
.
teacher_id
?
this
.
form
.
teacher_id
:
0
bindTeacherApi
(
this
.
form
.
id
,
teacher_id
).
then
(
res
=>
{
onSave
()
{
let
teacher_id
=
this
.
form
.
teacher_id
?
this
.
form
.
teacher_id
:
0
bindTeacherApi
(
this
.
form
.
id
,
teacher_id
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'绑定成功!'
...
...
@@ -64,8 +65,8 @@
})
}
},
watch
:{
'dialogObj'
(
value
){
watch
:
{
'dialogObj'
(
value
)
{
this
.
initPage
()
}
}
...
...
src/components/yunji/index.vue
View file @
99540928
...
...
@@ -103,7 +103,7 @@
@
change=
"getList"
>
</el-date-picker>
</el-form-item>
<el-form-item
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
搜索
</el-button>
<el-button
type=
"primary"
plain
@
click=
"exportTable(list)"
v-if=
"$store.state.export"
>
导出
</el-button>
<el-button
type=
"primary"
plain
@
click=
"importDialog=true"
v-if=
"$store.state.import"
>
导入
</el-button>
...
...
@@ -141,7 +141,7 @@
<el-table-column
prop=
"nickname"
label=
"购买人"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
'scope.row.user_id !== 0'
>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
<div>
{{
scope
.
row
.
nickname
}}
<br>
(ID:
{{
scope
.
row
.
user_id
}}
)
</div>
</div>
<div
v-if=
'scope.row.user_id === 0'
>
用户未绑定
</div>
...
...
@@ -211,14 +211,14 @@
</
template
>
</el-table-column>
</el-table>
<page
:nowPage=
"nowPage"
:total=
"total"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<page
:nowPage=
"nowPage"
:total=
"total"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<refund-dialog
:dialogObj=
"refundDialogObj"
@
reflash=
"onAfterRefund"
@
changeShow=
"changeShow"
></refund-dialog>
<refund-detail
:dialogObj=
"refundDetail"
/>
<el-dialog
:title=
"classObj.title"
:visible
.
sync=
"classObj.show"
center
width=
"800px"
>
<div
style=
"margin:10px;color: #888888"
>
最新同步时间:{{last_pull_time}}
</div>
<el-table
:data=
"classList"
>
<el-table
:data=
"classList"
>
<el-table-column
prop=
"teacher_name"
label=
"班级老师"
>
</el-table-column>
<el-table-column
prop=
"num"
label=
"预计入班人数"
>
...
...
@@ -253,8 +253,8 @@
</el-dialog>
<el-dialog
title=
"手动创建外部订单"
:visible
.
sync=
"postOtherOrderDialog"
center
width=
"800px"
>
<el-form
ref=
"searchFrom"
size=
"small"
:model=
"postOtherOrderData"
label-width=
"125px"
>
<el-form-item
label=
"订单ID"
required=
""
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.order_id"
></el-input>
<el-form-item
label=
"订单ID"
required=
""
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.order_id"
></el-input>
</el-form-item>
<el-form-item
label=
"商品名称"
required=
""
>
<el-select
v-model=
"postOtherOrderData.goods_id"
placeholder=
"请选择"
filterable
style=
"width: 150px"
clearable
>
...
...
@@ -265,23 +265,23 @@
<!-- <el-form-item style="width: 400px" label="商品ID">
<el-input v-model="postOtherOrderData.goods_id" ></el-input>
</el-form-item> -->
<el-form-item
label=
"收件人姓名"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_name"
></el-input>
<el-form-item
label=
"收件人姓名"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_name"
></el-input>
</el-form-item>
<el-form-item
label=
"收件人手机号"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_mobile"
></el-input>
<el-form-item
label=
"收件人手机号"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_mobile"
></el-input>
</el-form-item>
<el-form-item
label=
"省名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_province"
></el-input>
<el-form-item
label=
"省名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_province"
></el-input>
</el-form-item>
<el-form-item
label=
"市名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_city"
></el-input>
<el-form-item
label=
"市名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_city"
></el-input>
</el-form-item>
<el-form-item
label=
"区名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_area"
></el-input>
<el-form-item
label=
"区名称"
required=
""
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"postOtherOrderData.receiver_area"
></el-input>
</el-form-item>
<el-form-item
label-width=
"125px"
required=
""
style=
"width: 400px"
left
label=
"详细地址"
>
<el-input
type=
"textarea"
v-model=
"postOtherOrderData.receiver_address"
></el-input>
<el-input
type=
"textarea"
v-model=
"postOtherOrderData.receiver_address"
></el-input>
</el-form-item>
<el-form-item
label=
"活动方案"
required=
""
>
<el-select
v-model=
"postOtherOrderData.class_source"
placeholder=
"请选择"
filterable
>
...
...
@@ -289,12 +289,12 @@
v-for=
"(data,index) in classSource"
:key=
"index"
:label=
"data.label"
:value=
"data.value"
>
:value=
"data.value"
>
</el-option>
</el-select>
</el-form-item
>
</el-form-item
>
<el-form-item
label-width=
"125px"
required=
""
style=
"width: 400px"
left
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"postOtherOrderData.desc"
></el-input>
<el-input
type=
"textarea"
v-model=
"postOtherOrderData.desc"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -304,23 +304,23 @@
</el-dialog>
<el-dialog
title=
"编辑地址"
:visible
.
sync=
"adressDialog"
left
width=
"500px"
>
<el-form
ref=
"searchFrom"
size=
"small"
:model=
"adressData"
label-width=
"125px"
>
<el-form-item
label=
"用户姓名"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_name"
></el-input>
<el-form-item
label=
"用户姓名"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_name"
></el-input>
</el-form-item>
<el-form-item
label-width=
"125px"
style=
"width: 400px"
label=
"收货人手机号"
>
<el-input
v-model=
"adressData.receiver_mobile"
></el-input>
<el-input
v-model=
"adressData.receiver_mobile"
></el-input>
</el-form-item>
<el-form-item
label=
"收货人省"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_province"
></el-input>
<el-form-item
label=
"收货人省"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_province"
></el-input>
</el-form-item>
<el-form-item
label=
"收货人市"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_city"
></el-input>
<el-form-item
label=
"收货人市"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_city"
></el-input>
</el-form-item>
<el-form-item
label=
"收货人区"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_area"
></el-input>
<el-form-item
label=
"收货人区"
label-width=
"125px"
style=
"width: 400px"
>
<el-input
v-model=
"adressData.receiver_area"
></el-input>
</el-form-item>
<el-form-item
label-width=
"125px"
style=
"width: 400px"
left
label=
"收货人详细地址"
>
<el-input
type=
"textarea"
v-model=
"adressData.receiver_address"
></el-input>
<el-input
type=
"textarea"
v-model=
"adressData.receiver_address"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
style=
"text-align:center;"
>
...
...
@@ -332,13 +332,13 @@
</template>
<
script
>
import
page
from
"../framework/page"
;
import
md5
from
'js-md5'
;
import
refundDialog
from
"../order/refundDialog"
;
import
refundDetail
from
"../order/refundDetail"
;
import
CommonJs
from
'../../util/common'
;
import
Cookie
from
'../../util/cookie'
import
{
import
page
from
"../framework/page"
;
import
md5
from
'js-md5'
;
import
refundDialog
from
"../order/refundDialog"
;
import
refundDetail
from
"../order/refundDetail"
;
import
CommonJs
from
'../../util/common'
;
import
Cookie
from
'../../util/cookie'
import
{
getyunjiApi
,
yunjiOrderTeacherApi
,
getGoodsListApi
,
...
...
@@ -349,17 +349,18 @@ import {
postOtherOrderApi
,
postClearOtherOrderApi
,
getSourceStudentApi
}
from
"../../service/api"
;
import
{
}
from
"../../service/api"
;
import
{
ORDERSTATUS
,
GOODSTYPE
,
ORDERSTATUSOPTION
,
USERSTATUS
,
USERSTATUSFORMATER
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
let
studentSource
=
{}
export
default
{
}
from
"../../util/wordbook"
;
let
studentSource
=
{}
export
default
{
name
:
"smsRecord"
,
components
:
{
page
,
...
...
@@ -371,54 +372,54 @@ export default {
sing
:
"singsingenglish21000"
};
return
{
importDialog
:
false
,
importDialog
:
false
,
activityPlan
:
[],
adressDialog
:
false
,
postOtherOrderDialog
:
false
,
postOtherOrderData
:
{},
classSource
:
[{
label
:
"系统订单随机"
,
value
:
2
adressDialog
:
false
,
postOtherOrderDialog
:
false
,
postOtherOrderData
:
{},
classSource
:
[{
label
:
"系统订单随机"
,
value
:
2
},
{
label
:
"渠道1订单随机"
,
value
:
3
label
:
"渠道1订单随机"
,
value
:
3
},
{
label
:
"渠道2订单随机"
,
value
:
4
label
:
"渠道2订单随机"
,
value
:
4
}],
adressData
:
{},
USERSTATUS
:
USERSTATUS
,
today
:
{
text
:
'今天'
,
onClick
:(
vm
)
=>
{
vm
.
$emit
(
'pick'
,
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
])
adressData
:
{},
USERSTATUS
:
USERSTATUS
,
today
:
{
text
:
'今天'
,
onClick
:
(
vm
)
=>
{
vm
.
$emit
(
'pick'
,
[
this
.
formatTime
(
new
Date
())
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
])
}
},
yesterday
:
{
text
:
'昨天'
,
onClick
:(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
])
yesterday
:
{
text
:
'昨天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
preDate
+
' 23:59:59'
])
}
},
last30Day
:
{
text
:
'过去30天'
,
onClick
:(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
last30Day
:
{
text
:
'过去30天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
30
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
}
},
last7Day
:
{
text
:
'过去7天'
,
onClick
:(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
last7Day
:
{
text
:
'过去7天'
,
onClick
:
(
vm
)
=>
{
let
preDate
=
this
.
formatTime
(
new
Date
(
new
Date
().
getTime
()
-
7
*
24
*
60
*
60
*
1000
));
vm
.
$emit
(
'pick'
,
[
preDate
+
' 00:00:00'
,
this
.
formatTime
(
new
Date
())
+
' 23:59:59'
]);
}
},
uploadHeader
:{
token
:
Cookie
.
get
(
'cc_token'
)},
param_token
:
CommonJs
.
md5Code
(),
uploadHeader
:
{
token
:
Cookie
.
get
(
'cc_token'
)},
param_token
:
CommonJs
.
md5Code
(),
nowPage
:
1
,
total
:
0
,
limit
:
10
,
...
...
@@ -433,23 +434,23 @@ export default {
class_source
:
''
,
goods_id
:
""
,
mobile
:
""
,
active_at
:
[],
invite_type
:
''
,
active_at
:
[],
invite_type
:
''
,
status
:
[
1
],
createTime
:
[],
course_type
:
'-1'
,
pullTime
:
[],
createTime
:
[],
course_type
:
'-1'
,
pullTime
:
[],
order_id
:
""
,
teacher_id
:
""
,
user_id
:
""
,
nickname
:
""
,
user_status
:
[],
sub_order_id
:
""
user_id
:
""
,
nickname
:
""
,
user_status
:
[],
sub_order_id
:
""
},
refundDialogObj
:
{
show
:
false
,
id
:
""
,
order_type
:
' other'
,
order_type
:
' other'
,
money
:
0
},
orderStatusOption
:
ORDERSTATUSOPTION
,
...
...
@@ -460,21 +461,21 @@ export default {
show
:
false
,
out_trade_no
:
""
},
teacherId
:
null
,
classObj
:
{
teacherId
:
null
,
classObj
:
{
show
:
false
,
title
:
"当前同步进度"
,
order_id
:
0
,
teacher_id
:
0
},
multipleSelection
:
[],
classList
:
[],
last_pull_time
:
"无"
,
studentSource
:
{}
multipleSelection
:
[],
classList
:
[],
last_pull_time
:
"无"
,
studentSource
:
{}
};
},
filters
:
{
filterStatus
:
function
(
value
)
{
filterStatus
:
function
(
value
)
{
let
msg
=
""
;
if
(
value
===
0
)
{
msg
=
"未绑定"
;
...
...
@@ -500,7 +501,7 @@ export default {
val
.
name
);
},
classType
(
val
)
{
classType
(
val
)
{
// return CLASSSOURCE[val]
return
studentSource
[
val
]
}
...
...
@@ -509,11 +510,11 @@ export default {
this
.
getGoodsOption
();
this
.
getTeacherList
();
getSourceStudentApi
().
then
(
res
=>
{
getSourceStudentApi
().
then
(
res
=>
{
this
.
activityPlan
=
res
;
let
obj
=
{}
res
.
forEach
((
item
,
index
)
=>
{
obj
[
item
.
type
]
=
item
.
name
res
.
forEach
((
item
,
index
)
=>
{
obj
[
item
.
type
]
=
item
.
name
})
studentSource
=
obj
// console.log(obj)
...
...
@@ -544,13 +545,13 @@ export default {
}
return
str
},
initClearOtherOrder
(
id
)
{
initClearOtherOrder
(
id
)
{
this
.
$confirm
(
'确认清除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
postClearOtherOrderApi
(
id
).
then
(
res
=>
{
postClearOtherOrderApi
(
id
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'清除成功!'
...
...
@@ -558,101 +559,101 @@ export default {
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
type
:
'info'
,
message
:
'已取消'
});
});
},
postOtherOrderFn
()
{
let
json
=
{}
if
(
this
.
postOtherOrderData
.
order_id
)
{
postOtherOrderFn
()
{
let
json
=
{}
if
(
this
.
postOtherOrderData
.
order_id
)
{
json
.
order_id
=
this
.
postOtherOrderData
.
order_id
}
if
(
this
.
postOtherOrderData
.
goods_id
)
{
if
(
this
.
postOtherOrderData
.
goods_id
)
{
json
.
goods_id
=
this
.
postOtherOrderData
.
goods_id
}
if
(
this
.
postOtherOrderData
.
receiver_name
)
{
if
(
this
.
postOtherOrderData
.
receiver_name
)
{
json
.
receiver_name
=
this
.
postOtherOrderData
.
receiver_name
}
if
(
this
.
postOtherOrderData
.
receiver_mobile
)
{
if
(
this
.
postOtherOrderData
.
receiver_mobile
)
{
json
.
receiver_mobile
=
this
.
postOtherOrderData
.
receiver_mobile
}
if
(
this
.
postOtherOrderData
.
receiver_province
)
{
if
(
this
.
postOtherOrderData
.
receiver_province
)
{
json
.
receiver_province
=
this
.
postOtherOrderData
.
receiver_province
}
if
(
this
.
postOtherOrderData
.
receiver_city
)
{
if
(
this
.
postOtherOrderData
.
receiver_city
)
{
json
.
receiver_city
=
this
.
postOtherOrderData
.
receiver_city
}
if
(
this
.
postOtherOrderData
.
receiver_area
)
{
if
(
this
.
postOtherOrderData
.
receiver_area
)
{
json
.
receiver_area
=
this
.
postOtherOrderData
.
receiver_area
}
if
(
this
.
postOtherOrderData
.
receiver_address
)
{
if
(
this
.
postOtherOrderData
.
receiver_address
)
{
json
.
receiver_address
=
this
.
postOtherOrderData
.
receiver_address
}
if
(
this
.
postOtherOrderData
.
class_source
)
{
if
(
this
.
postOtherOrderData
.
class_source
)
{
json
.
class_source
=
this
.
postOtherOrderData
.
class_source
}
if
(
this
.
postOtherOrderData
.
desc
)
{
if
(
this
.
postOtherOrderData
.
desc
)
{
json
.
desc
=
this
.
postOtherOrderData
.
desc
}
console
.
log
(
this
.
postOtherOrderData
)
postOtherOrderApi
(
json
).
then
(
res
=>
{
postOtherOrderApi
(
json
).
then
(
res
=>
{
this
.
$message
(
'发送成功'
);
this
.
postOtherOrderDialog
=
false
this
.
getList
();
})
},
initOeder
()
{
initOeder
()
{
this
.
postOtherOrderDialog
=
true
this
.
postOtherOrderData
=
{
order_id
:
''
,
goods_id
:
''
,
receiver_name
:
""
,
receiver_mobile
:
''
,
receiver_province
:
''
,
receiver_city
:
''
,
receiver_area
:
''
,
receiver_address
:
''
,
class_source
:
''
,
desc
:
''
}
},
editAdress
(
row
)
{
order_id
:
''
,
goods_id
:
''
,
receiver_name
:
""
,
receiver_mobile
:
''
,
receiver_province
:
''
,
receiver_city
:
''
,
receiver_area
:
''
,
receiver_address
:
''
,
class_source
:
''
,
desc
:
''
}
},
editAdress
(
row
)
{
// editOrderAdressApi
this
.
adressDialog
=
true
this
.
adressData
=
{
receiver_name
:
row
.
receiver_name
,
receiver_mobile
:
row
.
receiver_mobile
,
receiver_province
:
row
.
receiver_province
,
receiver_city
:
row
.
receiver_city
,
receiver_area
:
row
.
receiver_area
,
receiver_address
:
row
.
receiver_address
,
id
:
row
.
id
,
}
},
editAdressCf
()
{
editOrderAdressApi
(
this
.
adressData
.
id
,
this
.
adressData
).
then
(
res
=>
{
this
.
adressData
=
{
receiver_name
:
row
.
receiver_name
,
receiver_mobile
:
row
.
receiver_mobile
,
receiver_province
:
row
.
receiver_province
,
receiver_city
:
row
.
receiver_city
,
receiver_area
:
row
.
receiver_area
,
receiver_address
:
row
.
receiver_address
,
id
:
row
.
id
,
}
},
editAdressCf
()
{
editOrderAdressApi
(
this
.
adressData
.
id
,
this
.
adressData
).
then
(
res
=>
{
this
.
getList
();
this
.
$message
(
'修改成功'
);
this
.
adressDialog
=
false
;
});
},
userStatusFormatter
(
val
)
{
return
(
USERSTATUSFORMATER
[
val
.
user_status
])
userStatusFormatter
(
val
)
{
return
(
USERSTATUSFORMATER
[
val
.
user_status
])
},
pullAll
()
{
if
(
this
.
multipleSelection
.
length
<
1
)
{
pullAll
()
{
if
(
this
.
multipleSelection
.
length
<
1
)
{
this
.
$message
(
'请选择订单'
);
return
false
;
}
if
(
!
this
.
teacherId
)
{
if
(
!
this
.
teacherId
)
{
this
.
$message
(
'请选择老师'
);
return
false
;
}
let
json
=
{
order_ids
:
[]
order_ids
:
[]
};
this
.
multipleSelection
.
forEach
(
i
=>
{
this
.
multipleSelection
.
forEach
(
i
=>
{
json
.
order_ids
.
push
(
i
.
id
)
});
this
.
$confirm
(
`是否确定将这
${
json
.
order_ids
.
length
}
笔订单分配给该老师?`
,
'提示'
,
{
...
...
@@ -660,7 +661,7 @@ export default {
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
yunjiOrderTeacherApi
(
this
.
teacherId
,{
order_ids
:
json
.
order_ids
.
join
(
','
)}).
then
(
res
=>
{
yunjiOrderTeacherApi
(
this
.
teacherId
,
{
order_ids
:
json
.
order_ids
.
join
(
','
)}).
then
(
res
=>
{
this
.
multipleSelection
=
[];
this
.
$message
({
message
:
'提交成功'
,
...
...
@@ -672,7 +673,7 @@ export default {
});
},
selectedFlag
(
row
)
{
selectedFlag
(
row
)
{
return
row
.
user_id
===
0
},
handleSelectionChange
(
val
)
{
...
...
@@ -695,34 +696,34 @@ export default {
this
.
refundDialogObj
.
show
=
true
;
},
formatTime
(
date
)
{
formatTime
(
date
)
{
let
year
=
date
.
getFullYear
();
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
Month
=
`0
${
Month
}
`
}
let
Day
=
date
.
getDate
();
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
if
(
Day
<
10
)
Day
=
`0
${
Day
}
`
;
return
`
${
year
}
-
${
Month
}
-
${
Day
}
`
;
},
fileSuccess
(
res
)
{
fileSuccess
(
res
)
{
console
.
log
(
res
)
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
data
,
type
:
'success'
});
}
else
{
}
else
{
this
.
$message
({
message
:
res
.
msg
.
replace
(
/
\n
/g
,
'</br>'
),
type
:
'error'
,
duration
:
0
,
showClose
:
true
,
message
:
res
.
msg
.
replace
(
/
\n
/g
,
'</br>'
),
type
:
'error'
,
duration
:
0
,
showClose
:
true
,
dangerouslyUseHTMLString
:
true
});
}
},
downLoad
()
{
downLoad
()
{
window
.
open
(
'/static/外部订单模板.xlsx'
)
},
onPageChange
(
val
)
{
...
...
@@ -732,7 +733,7 @@ export default {
getTeacherList
()
{
let
json
=
{
page
:
1
,
limit
:
2
00
limit
:
5
00
};
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
...
...
@@ -787,11 +788,11 @@ export default {
if
(
this
.
searchFrom
.
invite_type
)
{
json
.
invite_type
=
this
.
searchFrom
.
invite_type
;
}
if
(
this
.
searchFrom
.
createTime
&&
this
.
searchFrom
.
createTime
.
length
===
2
)
{
if
(
this
.
searchFrom
.
createTime
&&
this
.
searchFrom
.
createTime
.
length
===
2
)
{
json
.
start_at
=
this
.
searchFrom
.
createTime
[
0
];
json
.
end_at
=
this
.
searchFrom
.
createTime
[
1
]
}
if
(
this
.
searchFrom
.
active_at
&&
this
.
searchFrom
.
active_at
.
length
===
2
)
{
if
(
this
.
searchFrom
.
active_at
&&
this
.
searchFrom
.
active_at
.
length
===
2
)
{
json
.
active_start_at
=
this
.
searchFrom
.
active_at
[
0
];
json
.
active_end_at
=
this
.
searchFrom
.
active_at
[
1
]
}
...
...
@@ -820,13 +821,13 @@ export default {
cancelButtonText
:
"取消"
,
inputType
:
"textarea"
,
inputValue
:
desc
||
""
}).
then
(({
value
})
=>
{
}).
then
(({
value
})
=>
{
this
.
$confirm
(
"确定保存?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
orderDescApi
({
desc
:
value
},
id
).
then
(
res
=>
{
orderDescApi
({
desc
:
value
},
id
).
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"编辑备注成功"
...
...
@@ -872,63 +873,73 @@ export default {
if
(
this
.
searchFrom
.
invite_type
)
{
json
.
invite_type
=
this
.
searchFrom
.
invite_type
;
}
if
(
this
.
searchFrom
.
createTime
&&
this
.
searchFrom
.
createTime
.
length
===
2
)
{
if
(
this
.
searchFrom
.
createTime
&&
this
.
searchFrom
.
createTime
.
length
===
2
)
{
json
.
start_at
=
this
.
searchFrom
.
createTime
[
0
];
json
.
end_at
=
this
.
searchFrom
.
createTime
[
1
]
}
if
(
this
.
searchFrom
.
active_at
&&
this
.
searchFrom
.
active_at
.
length
===
2
)
{
if
(
this
.
searchFrom
.
active_at
&&
this
.
searchFrom
.
active_at
.
length
===
2
)
{
json
.
active_start_at
=
this
.
searchFrom
.
active_at
[
0
];
json
.
active_end_at
=
this
.
searchFrom
.
active_at
[
1
]
}
if
(
this
.
searchFrom
.
pullTime
&&
this
.
searchFrom
.
pullTime
.
length
===
2
)
{
if
(
this
.
searchFrom
.
pullTime
&&
this
.
searchFrom
.
pullTime
.
length
===
2
)
{
json
.
pay_start_at
=
this
.
searchFrom
.
pullTime
[
0
];
json
.
pay_end_at
=
this
.
searchFrom
.
pullTime
[
1
];
}
console
.
log
(
json
)
exportExcelApi
(
`api/admin/yunji/order/export`
,
json
,
'外部订单列表'
);
exportExcelApi
(
`api/admin/yunji/order/export`
,
json
,
'外部订单列表'
);
}
},
classListOption
()
{
this
.
classObj
.
show
=
true
;
getyunjiApi
({
page
:
1
,
limit
:
200
}).
then
(
res
=>
{
this
.
classList
=
res
.
teacher
;
if
(
res
.
last_pull_time
)
{
this
.
last_pull_time
=
res
.
last_pull_time
;
this
.
classObj
.
show
=
true
;
getyunjiApi
({
page
:
1
,
limit
:
200
}).
then
(
res
=>
{
this
.
classList
=
res
.
teacher
;
if
(
res
.
last_pull_time
)
{
this
.
last_pull_time
=
res
.
last_pull_time
;
}
});
}
}
};
};
</
script
>
<
style
lang=
"less"
scoped
>
.sms {
.sms {
padding: 20px 0;
}
}
.el-table {
.el-table {
.el-button + .el-button {
margin-left: 0;
margin-top: 10px;
}
}
}
.avatar {
.avatar {
width: 50px;
min-width: 50px;
margin-right: 10px;
height: 50px;
border-radius: 50%;
}
.el-form-item__content{height:32px;}
.import{top: 20vh;}
.import .item{display:inline-block;margin-left: 110px}
}
.el-form-item__content {
height: 32px;
}
.import {
top: 20vh;
}
.import .item {
display: inline-block;
margin-left: 110px
}
</
style
>
<
style
>
.userInfo
>
div
{
.userInfo
>
div
{
display
:
flex
;
flex-flow
:
row
nowrap
;
justify-content
:
flex-start
;
align-items
:
center
;
}
}
</
style
>
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