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
0dcd825f
Commit
0dcd825f
authored
Dec 24, 2018
by
chenfenglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
云集商品名称展示,导出
parent
3d93702d
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
261 additions
and
32 deletions
+261
-32
index.vue
src/components/achievement/index.vue
+1
-0
index.vue
src/components/class/index.vue
+5
-0
userList.vue
src/components/class/userList.vue
+1
-1
headIndex.vue
src/components/framework/headIndex.vue
+0
-1
getLink.vue
src/components/framework/other/getLink.vue
+2
-1
index.vue
src/components/order/index.vue
+4
-4
newDialog.vue
src/components/order/newDialog.vue
+181
-3
dialog.vue
src/components/shop/dialog.vue
+1
-1
index.vue
src/components/smsRecord/index.vue
+1
-3
dialog.vue
src/components/yunji/dialog.vue
+1
-0
index.vue
src/components/yunji/index.vue
+43
-16
api.js
src/service/api.js
+7
-2
wordbook.js
src/util/wordbook.js
+14
-0
No files found.
src/components/achievement/index.vue
View file @
0dcd825f
...
...
@@ -171,6 +171,7 @@
end_at
:
this
.
searchFirstFrom
.
dateValue
[
1
]
};
}
console
.
log
(
json
)
getTeacherRankListApi
(
json
).
then
(
res
=>
{
this
.
firstList
=
res
;
})
...
...
src/components/class/index.vue
View file @
0dcd825f
...
...
@@ -304,6 +304,11 @@
getTeacher
(){
if
(
!
this
.
periods
)
return
;
getPeriodsTeacherApi
(
this
.
periods
.
id
).
then
(
res
=>
{
let
obj
=
{};
//班级老师去重
res
=
res
.
reduce
(
function
(
item
,
next
)
{
obj
[
next
.
teacher_id
]
?
''
:
obj
[
next
.
teacher_id
]
=
true
&&
item
.
push
(
next
);
return
item
;
},
[]);
this
.
teacherList
=
res
})
},
...
...
src/components/class/userList.vue
View file @
0dcd825f
...
...
@@ -534,7 +534,6 @@
methods
:{
handleItemChange
(
value
){
getClassListApi
(
value
[
0
],{
limit
:
99999
}
).
then
(
res
=>
{
console
.
log
(
res
.
list
)
res
.
list
.
forEach
(
i
=>
{
i
.
title
=
i
.
class_name
}
);
...
...
@@ -667,6 +666,7 @@
}
)
}
);
getClassUserApi
(
this
.
userObj
.
classId
,
json
).
then
(
res
=>
{
console
.
log
(
res
.
list
)
this
.
userTable
=
res
.
list
}
);
this
.
changeClassObj
=
{
...
...
src/components/framework/headIndex.vue
View file @
0dcd825f
...
...
@@ -8,7 +8,6 @@
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<!--
<el-dropdown-item
@
click
.
native=
"entranceObj.show=true"
>
无需登录入口
</el-dropdown-item>
-->
<el-dropdown-item
@
click
.
native=
"linkObj.show=true"
>
生成工具
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"userObj.show=true"
>
清除缓存
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"dialogUpdate=true"
>
修改密码
</el-dropdown-item>
...
...
src/components/framework/other/getLink.vue
View file @
0dcd825f
...
...
@@ -83,8 +83,9 @@ export default {
if
(
valid
)
{
let
json1
=
{};
json1
.
url
=
this
.
qrForm
.
link
;
json1
.
url
=
encodeURI
(
json1
.
url
)
this
.
qrContent
.
show
=
true
;
this
.
qrContent
.
url
=
`
https://admin_test.changchangenglish.com
/api/public/qrcode?str=
${
this
.
qrContent
.
url
=
`/api/public/qrcode?str=
${
json1
.
url
}
`
;
}
else
{
...
...
src/components/order/index.vue
View file @
0dcd825f
...
...
@@ -93,11 +93,11 @@
<el-button
type=
"primary"
plain
@
click=
"exportTable"
>
导出
</el-button>
</el-form-item>
</el-col>
<
!-- <
el-col :span="3" :offset="3" v-if="!$store.state.readonly">
<el-col
:span=
"3"
:offset=
"3"
v-if=
"!$store.state.readonly"
>
<el-form-item>
<
el-button type="success" plain @click="add">新增订单</el-button
>
<
!-- <el-button type="success" plain @click="add">新增订单</el-button> --
>
</el-form-item>
</el-col>
-->
</el-col>
</el-row>
</el-form>
<el-table
...
...
@@ -295,7 +295,7 @@
</template>
<
script
>
import
{
getOrderListApi
,
editOrderDescApi
,
getGoodsListApi
,
getRefundListApi
,
exportExcelApi
,
getTeacherListApi
,
updateOrderTeacherApi
}
from
"../../service/api"
;
import
{
getOrderListApi
,
editOrderDescApi
,
getGoodsListApi
,
getRefundListApi
,
exportExcelApi
,
getTeacherListApi
,
updateOrderTeacherApi
,
setOrderApi
}
from
"../../service/api"
;
import
page
from
'../framework/page'
import
addressDialog
from
'./dialog'
import
orderDialog
from
'./newDialog'
...
...
src/components/order/newDialog.vue
View file @
0dcd825f
...
...
@@ -4,15 +4,108 @@
center
append-to-body
:visible
.
sync=
"newdialogObj.show"
width=
"800px"
>
width=
"900px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"期数名称"
required
>
<el-select
v-model=
"form.periods_id"
placeholder=
"请选择"
>
<el-option
v-for=
"item in teacher2Options"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"商品名称"
required
>
<el-select
v-model=
"form.goods_id"
placeholder=
"请选择"
>
<el-option
v-for=
"item in teacher2Options"
:key=
"item.id"
:label=
"item.value"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户ID"
prop=
"user_id"
required
>
<el-input
v-model=
"form.user_id"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"实付金额(元)"
prop=
"money"
required
>
<el-input
v-model=
"form.money"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"购买方式"
required
>
<el-select
v-model=
"form.buy_type"
placeholder=
"请选择"
>
<el-option
v-for=
"item in buyTypeOptions"
:key=
"item.id"
:label=
"item.value"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"推广人ID"
prop=
"invite_id"
>
<el-input
v-model=
"form.invite_id"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"form.desc"
></el-input>
</el-form-item>
</el-col>
</el-row>
<vue-address
:province=
"form.province_name"
:city=
"form.city"
:district=
"form.area"
:detail=
"form.address"
:mobile=
"form.receive_mobile"
:name=
"form.receive_name"
@
change=
"handlerAddressChange"
>
</vue-address>
<el-form-item
label=
"支付类型"
required
>
<el-select
v-model=
"form.order_type"
placeholder=
"请选择"
>
<el-option
v-for=
"item in buyWayOptioms"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"支付时间"
prop=
"pay_at"
required
>
<el-date-picker
v-model=
"form.pay_at"
type=
"datetime"
:picker-options=
"pickerOptions1"
default-time=
"12:00:00"
placeholder=
"选择日期时间"
>
</el-date-picker>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"newdialogObj.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"saveAddOrder
"
>
保 存
</el-button>
<el-button
type=
"primary"
@
click=
"saveAddOrder
(form)"
>
确定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
vueAddress
from
'../framework/address-picker/Address'
import
AddressArray
from
'../framework/address-picker/addr'
import
{
ORDERSTATUS
,
BUYTYPEOPTION
,
BUYWay
}
from
"../../util/wordbook"
import
CommonJs
from
'../../util/common'
;
export
default
{
name
:
"newdialogObj"
,
props
:[
...
...
@@ -20,11 +113,96 @@
],
data
(){
return
{
rules
:[],
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
:
""
,
},
teacher2Options
:[],
buyTypeOptions
:
BUYTYPEOPTION
,
pickerOptions1
:{},
buyWayOptioms
:
BUYWay
,
}
},
components
:{
vueAddress
},
methods
:{
saveAddOrder
(){
saveAddOrder
(
data
){
let
json
=
{
periods_id
:
data
.
periods_id
,
goods_id
:
data
.
goods_id
,
user_id
:
data
.
user_id
,
money
:
data
.
money
,
buy_type
:
data
.
buy_type
,
province_name
:
data
.
province_name
,
city
:
data
.
city
,
area
:
data
.
area
,
city_name
:
data
.
city_name
,
district_name
:
data
.
district_name
,
district
:
data
.
district
,
province
:
data
.
province
,
address
:
data
.
address
,
receive_mobile
:
data
.
receive_mobile
,
receive_name
:
data
.
receive_name
,
order_type
:
data
.
order_type
,
}
if
(
data
.
pay_at
){
json
.
pay_at
=
CommonJs
.
dateFmt
(
data
.
pay_at
,
"yyyy-MM-dd hh:mm:ss"
);
}
if
(
this
.
form
.
invite_id
){
json
.
invite_id
=
this
.
form
.
invite_id
}
if
(
this
.
form
.
desc
){
json
.
desc
=
this
.
form
.
desc
}
console
.
log
(
json
)
// this.newdialogObj.show=false
},
handlerAddressChange
(
val
){
if
(
!
val
.
province
||
!
val
.
city
||
!
val
.
district
){
return
}
this
.
form
.
address
=
val
.
detail
;
this
.
form
.
province
=
val
.
province
;
this
.
form
.
city
=
val
.
city
;
this
.
form
.
receive_mobile
=
val
.
mobile
;
this
.
form
.
receive_name
=
val
.
name
;
let
provinceObj
=
AddressArray
.
filter
((
item
)
=>
{
return
item
.
value
===
val
.
province
})
let
cityObj
=
provinceObj
[
0
].
children
.
filter
((
city
)
=>
{
return
city
.
value
===
val
.
city
})
let
districtObj
=
cityObj
[
0
].
children
.
filter
((
district
)
=>
{
return
district
.
value
===
val
.
district
})
this
.
form
.
province_name
=
provinceObj
[
0
].
label
;
this
.
form
.
city_name
=
cityObj
[
0
].
label
;
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
;
}
},
mounted
(){
...
...
src/components/shop/dialog.vue
View file @
0dcd825f
...
...
@@ -3,7 +3,7 @@
:title=
"dialogObj.title"
center
:visible
.
sync=
"dialogObj.show"
width=
"
70%
"
>
width=
"
900px
"
>
<div
v-loading=
"loading"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
:disabled=
"dialogObj.type === 2"
>
<el-row>
...
...
src/components/smsRecord/index.vue
View file @
0dcd825f
...
...
@@ -22,8 +22,7 @@
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"发送状态"
>
<el-select
v-model=
"searchFrom.status"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
label=
"全部"
value=
""
></el-option>
<el-select
v-model=
"searchFrom.status"
placeholder=
"请选择"
@
change=
"getList"
clearable
>
<el-option
v-for=
"item in useTypeList"
:key=
"item.status"
...
...
@@ -145,7 +144,6 @@
if
(
this
.
searchFrom
.
mobile
){
json
.
mobile
=
this
.
searchFrom
.
mobile
}
console
.
log
(
json
)
getsmsRecordApi
(
json
).
then
((
res
)
=>
{
this
.
total
=
res
.
total
;
this
.
list
=
res
.
list
?
res
.
list
:
[]
...
...
src/components/yunji/dialog.vue
View file @
0dcd825f
...
...
@@ -2,6 +2,7 @@
<el-dialog
:title=
"dialogObj.title"
:visible
.
sync=
"dialogObj.show"
width=
"800px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"老师"
>
...
...
src/components/yunji/index.vue
View file @
0dcd825f
...
...
@@ -14,8 +14,7 @@
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"购买状态"
>
<el-select
v-model=
"searchFrom.user_buy"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
label=
"全部"
value=
""
></el-option>
<el-select
v-model=
"searchFrom.user_buy"
placeholder=
"请选择"
@
change=
"getList"
clearable
>
<el-option
v-for=
"item in useTypeList"
:key=
"item.user_buy"
...
...
@@ -41,11 +40,12 @@
<el-form-item
label=
"购买时间"
>
<el-date-picker
v-model=
"searchFrom.payTime"
type=
"datetimerange"
unlink-panels
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00','23:59:59']"
@
change=
"getList"
>
</el-date-picker>
</el-form-item>
...
...
@@ -54,19 +54,21 @@
<el-form-item
label=
"同步时间"
>
<el-date-picker
v-model=
"searchFrom.syncTime"
type=
"datetimerange"
unlink-panels
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00','23:59:59']"
@
change=
"getList"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"
4
"
>
<el-col
:span=
"
8
"
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
搜索
</el-button>
<el-button
type=
"primary"
plain
@
click=
"exportTable(list)"
>
导出
</el-button>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -141,10 +143,8 @@
<
script
>
import
page
from
'../framework/page'
import
teacherDialog
from
'./dialog'
import
{
getyunjiApi
,
getGoodsListApi
}
from
"../../service/api"
;
import
{
getyunjiApi
,
getGoodsListApi
,
exportExcelApi
}
from
"../../service/api"
;
import
{
GOODSTYPE
}
from
"../../util/wordbook"
;
import
CommonJs
from
'../../util/common'
;
export
default
{
name
:
"smsRecord"
,
components
:{
...
...
@@ -222,7 +222,7 @@
if
(
this
.
searchFrom
.
goods_name
){
json
.
goods_name
=
this
.
searchFrom
.
goods_name
}
if
(
this
.
searchFrom
.
user_buy
||
this
.
searchFrom
.
user_buy
==
0
){
if
(
this
.
searchFrom
.
user_buy
||
this
.
searchFrom
.
user_buy
==
0
){
json
.
user_buy
=
this
.
searchFrom
.
user_buy
}
if
(
this
.
searchFrom
.
order_id
){
...
...
@@ -232,14 +232,13 @@
json
.
goods_id
=
this
.
searchFrom
.
goods_id
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
){
json
.
start_at
=
CommonJs
.
dateFmt
(
this
.
searchFrom
.
payTime
[
0
],
"yyyy-MM-dd hh:mm:ss"
);
json
.
end_at
=
CommonJs
.
dateFmt
(
this
.
searchFrom
.
payTime
[
1
],
"yyyy-MM-dd hh:mm:ss"
)
json
.
start_at
=
this
.
searchFrom
.
payTime
[
0
]
json
.
end_at
=
this
.
searchFrom
.
payTime
[
1
]
}
if
(
this
.
searchFrom
.
syncTime
&&
this
.
searchFrom
.
syncTime
.
length
>
0
){
json
.
pull_start_at
=
CommonJs
.
dateFmt
(
this
.
searchFrom
.
syncTime
[
0
],
"yyyy-MM-dd hh:mm:ss"
);
json
.
pull_end_at
=
CommonJs
.
dateFmt
(
this
.
searchFrom
.
syncTime
[
1
],
"yyyy-MM-dd hh:mm:ss"
)
json
.
pull_start_at
=
this
.
searchFrom
.
syncTime
[
0
]
json
.
pull_end_at
=
this
.
searchFrom
.
syncTime
[
1
]
}
getyunjiApi
(
json
).
then
((
res
)
=>
{
this
.
total
=
res
.
total
;
this
.
list
=
res
.
list
?
res
.
list
:
[]
...
...
@@ -261,6 +260,34 @@
id
:
data
.
id
,
teacher_id
:
data
.
teacher_id
}
},
exportTable
(
data
){
if
(
data
.
length
>
0
){
let
json
=
{};
if
(
this
.
searchFrom
.
order_id
)
{
json
.
order_id
=
this
.
searchFrom
.
order_id
}
if
(
this
.
searchFrom
.
user_buy
||
this
.
searchFrom
.
user_buy
==
0
)
{
json
.
user_buy
=
this
.
searchFrom
.
user_buy
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
}
if
(
this
.
searchFrom
.
goods_id
)
{
json
.
goods_id
=
this
.
searchFrom
.
goods_id
}
if
(
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
){
json
.
start_at
=
this
.
searchFrom
.
payTime
[
0
]
json
.
end_at
=
this
.
searchFrom
.
payTime
[
1
]
}
if
(
this
.
searchFrom
.
syncTime
&&
this
.
searchFrom
.
syncTime
.
length
>
0
){
json
.
pull_start_at
=
this
.
searchFrom
.
syncTime
[
0
]
json
.
pull_end_at
=
this
.
searchFrom
.
syncTime
[
1
]
}
exportExcelApi
(
`api/admin/yunji/order/export`
,
json
);
}
},
}
}
...
...
src/service/api.js
View file @
0dcd825f
...
...
@@ -439,6 +439,11 @@ const getOrderListUrl = `${_baseUrl}api/admin/order/list`;
export
const
getOrderListApi
=
function
(
json
)
{
return
Vue
.
prototype
.
$fetch
(
getOrderListUrl
,
json
)
};
//手动添加订单
const
setOrderUrl
=
`/api/admin/order`
;
export
const
setOrderApi
=
function
(
json
)
{
return
Vue
.
prototype
.
$post
(
setOrderUrl
,
json
)
}
// 修改订单备注
const
editOrderDescUrl
=
`
${
_baseUrl
}
api/admin/order/desc/`
;
...
...
@@ -784,7 +789,7 @@ export const getyunjiApi = function(json) {
return
Vue
.
prototype
.
$fetch
(
`
${
getyunjiUrl
}
`
,
json
)
}
//云集绑定老师
const
bindTeacherUrl
=
`api/admin/yunji/order/bind/teacher/`
;
const
bindTeacherUrl
=
`
/
api/admin/yunji/order/bind/teacher/`
;
export
const
bindTeacherApi
=
function
(
json
,
id
)
{
return
Vue
.
prototype
.
$put
(
`
${
bindTeacherUrl
}
/
${
json
}
/
${
id
}
`
)
}
src/util/wordbook.js
View file @
0dcd825f
...
...
@@ -63,6 +63,20 @@ export const BUYTYPEOPTION = [
value
:
'团购'
}
]
export
const
BUYWay
=
[
{
id
:
1
,
value
:
'微信'
},
{
id
:
2
,
value
:
'支付宝'
},
{
id
:
3
,
value
:
'其他'
}
]
export
const
ORDERSTATUSOPTION
=
[
{
id
:
0
,
...
...
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