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
f3b8fbae
Commit
f3b8fbae
authored
Jul 09, 2019
by
liwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
liwei
parent
94e93dd6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
676 additions
and
653 deletions
+676
-653
index.vue
src/components/integral/index.vue
+204
-191
newDialog.vue
src/components/monthOrder/newDialog.vue
+366
-355
index.vue
src/components/subList/index.vue
+106
-107
No files found.
src/components/integral/index.vue
View file @
f3b8fbae
<
template
>
<div
class=
"integral-page"
>
<el-form
ref=
"searchFrom"
:model=
"form"
style=
"padding-top: 20px;background: white"
label-width=
"80px"
inline
size=
"small"
>
<el-form
ref=
"searchFrom"
:model=
"form"
style=
"padding-top: 20px;background: white"
label-width=
"80px"
inline
size=
"small"
>
<el-form-item
label=
"昵称"
>
<el-input
v-model=
"form.nickname"
style=
"width: 120px;"
></el-input>
</el-form-item>
...
...
@@ -16,220 +23,226 @@
v-for=
"(data,index) in sourceOption"
:key=
"index"
:label=
"data.value"
:value=
"data.id"
>
</el-option>
:value=
"data.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
plain
@
click=
"getList"
>
搜索
</el-button>
<el-button
type=
"primary"
plain
@
click=
"getList"
>
搜索
</el-button>
<el-button
type=
"success"
plain
@
click=
"addIntegral"
v-if=
"!$store.state.readonly"
>
变更用户积分
</el-button>
</el-form-item>
</el-form>
<el-tabs
v-model=
"form.is_add"
type=
"card"
style=
"background: white;padding-top: 10px"
@
tab-click=
"getList"
>
<el-tab-pane
label=
"全部"
name=
"-1"
/>
<el-tab-pane
label=
"添加积分"
name=
"1"
/>
<el-tab-pane
label=
"减少积分"
name=
"0"
/>
<el-tab-pane
label=
"积分排行"
name=
"-2"
/>
<el-tabs
v-model=
"form.is_add"
type=
"card"
style=
"background: white;padding-top: 10px"
@
tab-click=
"getList"
>
<el-tab-pane
label=
"全部"
name=
"-1"
/>
<el-tab-pane
label=
"添加积分"
name=
"1"
/>
<el-tab-pane
label=
"减少积分"
name=
"0"
/>
<el-tab-pane
label=
"积分排行"
name=
"-2"
/>
</el-tabs>
<el-table
:data=
"list"
size=
"mini"
style=
"width: 100%"
>
<el-table-column
width=
"220"
className=
"f-c"
label=
"用户"
>
<template
slot-scope=
"scope"
>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<br>
手机:
{{
scope
.
row
.
mobile
}}
</
template
>
</el-table-column>
<el-table-column
v-if=
"form.is_add !== '-2'"
label=
"来源"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
source
|
INTEGRALFUN
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"desc"
v-if=
"form.is_add !== '-2'"
label=
"积分变更描述"
/>
<el-table-column
v-if=
"form.is_add !== '-2'"
label=
"变更积分值"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.is_add===1"
style=
"color: green"
>
+
{{
scope
.
row
.
value
}}
</span>
<span
v-if=
"scope.row.is_add===0"
style=
"color: red"
>
-
{{
scope
.
row
.
value
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"last_value"
:label=
"form.is_add !== '-2'?'变更后积分值':'最新积分'"
/>
<el-table-column
prop=
"created_at"
:label=
"form.is_add !== '-2'?'创建时间':'最新变更时间'"
/>
</el-table>
<page
:nowPage=
"nowPage"
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<new-integral
:newIntegral=
"newIntegral"
@
subAdd=
"subAdd"
@
showUserList=
"showUserList"
/>
<user-list-page
:show=
"userListShow"
@
addUser=
"addUser"
/>
<el-table
:data=
"list"
size=
"mini"
:style=
"
{width: width+'px'}">
<el-table-column
width=
"220"
class=
"f-c"
label=
"用户"
>
<template
slot-scope=
"scope"
>
<img
class=
"avatar"
:src=
"scope.row.avatar"
/>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<br
/>
手机:
{{
scope
.
row
.
mobile
}}
</
template
>
</el-table-column>
<el-table-column
v-if=
"form.is_add !== '-2'"
label=
"来源"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
source
|
INTEGRALFUN
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"desc"
v-if=
"form.is_add !== '-2'"
label=
"积分变更描述"
/>
<el-table-column
v-if=
"form.is_add !== '-2'"
label=
"变更积分值"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.is_add===1"
style=
"color: green"
>
+
{{
scope
.
row
.
value
}}
</span>
<span
v-if=
"scope.row.is_add===0"
style=
"color: red"
>
-
{{
scope
.
row
.
value
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"last_value"
:label=
"form.is_add !== '-2'?'变更后积分值':'最新积分'"
/>
<el-table-column
prop=
"created_at"
:label=
"form.is_add !== '-2'?'创建时间':'最新变更时间'"
/>
</el-table>
<page
:nowPage=
"nowPage"
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<new-integral
:newIntegral=
"newIntegral"
@
subAdd=
"subAdd"
@
showUserList=
"showUserList"
/>
<user-list-page
:show=
"userListShow"
@
addUser=
"addUser"
/>
</div>
</template>
<
script
>
import
{
getIntegralListApi
,
changeIntegralApi
,
integralApi
}
from
"../../service/api"
;
import
{
INTEGRALTYPE
,
INTEGRALFUN
}
from
"../../util/wordbook"
;
import
page
from
'../framework/page'
import
newIntegral
from
'./newIntegral'
import
userListPage
from
'./userList'
export
default
{
name
:
"index"
,
components
:
{
page
,
newIntegral
,
userListPage
},
data
(){
let
is_addOption
=
[];
for
(
let
k
in
INTEGRALTYPE
){
is_addOption
.
push
({
id
:
k
,
value
:
INTEGRALTYPE
[
k
]})
}
let
sourceOption
=
[];
for
(
let
j
in
INTEGRALFUN
){
sourceOption
.
push
({
id
:
j
,
value
:
INTEGRALFUN
[
j
]})
}
return
{
list
:[],
total
:
0
,
newIntegral
:{
show
:
false
,
user_id
:
''
,
is_add
:
''
,
value
:
''
,
desc
:
''
},
is_addOption
:
is_addOption
,
sourceOption
:
sourceOption
,
limit
:
10
,
userListShow
:{
show
:
false
},
nowPage
:
1
,
form
:{
is_add
:
'-1'
,
source
:
''
,
user_id
:
''
,
mobile
:
''
,
nickname
:
''
}
import
{
getIntegralListApi
,
changeIntegralApi
,
integralApi
}
from
"../../service/api"
;
import
{
INTEGRALTYPE
,
INTEGRALFUN
}
from
"../../util/wordbook"
;
import
page
from
"../framework/page"
;
import
newIntegral
from
"./newIntegral"
;
import
userListPage
from
"./userList"
;
export
default
{
name
:
"index"
,
components
:
{
page
,
newIntegral
,
userListPage
},
data
()
{
let
is_addOption
=
[];
for
(
let
k
in
INTEGRALTYPE
)
{
is_addOption
.
push
({
id
:
k
,
value
:
INTEGRALTYPE
[
k
]
});
}
let
sourceOption
=
[];
for
(
let
j
in
INTEGRALFUN
)
{
sourceOption
.
push
({
id
:
j
,
value
:
INTEGRALFUN
[
j
]
});
}
return
{
width
:
0
,
list
:
[],
total
:
0
,
newIntegral
:
{
show
:
false
,
user_id
:
""
,
is_add
:
""
,
value
:
""
,
desc
:
""
},
is_addOption
:
is_addOption
,
sourceOption
:
sourceOption
,
limit
:
10
,
userListShow
:
{
show
:
false
},
nowPage
:
1
,
form
:
{
is_add
:
"-1"
,
source
:
""
,
user_id
:
""
,
mobile
:
""
,
nickname
:
""
}
};
},
mounted
()
{
this
.
initPage
();
this
.
width
=
window
.
innerWidth
-
200
;
},
filters
:
{
INTEGRALTYPE
(
value
)
{
return
INTEGRALTYPE
[
value
];
},
mounted
(){
this
.
initPage
()
INTEGRALFUN
(
value
)
{
return
INTEGRALFUN
[
value
];
}
},
methods
:
{
subAdd
()
{
let
json
=
{
user_id
:
this
.
newIntegral
.
user_id
,
is_add
:
this
.
newIntegral
.
is_add
,
value
:
this
.
newIntegral
.
value
,
desc
:
this
.
newIntegral
.
desc
};
changeIntegralApi
(
json
).
then
(
res
=>
{
this
.
getList
();
this
.
newIntegral
.
show
=
false
;
});
},
filters
:{
INTEGRALTYPE
(
value
){
return
INTEGRALTYPE
[
value
]
},
INTEGRALFUN
(
value
){
return
INTEGRALFUN
[
value
]
}
showUserList
()
{
this
.
userListShow
.
show
=
true
;
},
methods
:{
subAdd
(){
let
json
=
{
user_id
:
this
.
newIntegral
.
user_id
,
is_add
:
this
.
newIntegral
.
is_add
,
value
:
this
.
newIntegral
.
value
,
desc
:
this
.
newIntegral
.
desc
,
};
changeIntegralApi
(
json
).
then
(
res
=>
{
this
.
getList
();
this
.
newIntegral
.
show
=
false
})
},
showUserList
(){
this
.
userListShow
.
show
=
true
},
addUser
(
value
){
this
.
userListShow
.
show
=
false
;
this
.
newIntegral
.
user_id
=
value
},
changeUserList
(){},
addIntegral
(){
this
.
newIntegral
=
{
show
:
true
,
user_id
:
''
,
is_add
:
''
,
value
:
''
,
desc
:
''
addUser
(
value
)
{
this
.
userListShow
.
show
=
false
;
this
.
newIntegral
.
user_id
=
value
;
},
changeUserList
()
{},
addIntegral
()
{
this
.
newIntegral
=
{
show
:
true
,
user_id
:
""
,
is_add
:
""
,
value
:
""
,
desc
:
""
};
},
initPage
()
{
this
.
form
=
{
is_add
:
"-1"
,
source
:
""
,
user_id
:
""
,
mobile
:
""
,
nickname
:
""
};
this
.
getList
();
},
onPageChange
(
val
)
{
this
.
nowPage
=
val
;
this
.
getList
();
},
onSizeChange
(
val
)
{
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getList
();
},
getList
()
{
let
json
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
if
(
this
.
form
.
is_add
===
"-2"
)
{
integralApi
(
json
).
then
(
res
=>
{
this
.
list
=
res
.
list
;
this
.
total
=
res
.
total
;
});
}
else
{
if
(
this
.
form
.
is_add
!==
""
&&
this
.
form
.
is_add
!==
"-1"
)
{
json
.
is_add
=
this
.
form
.
is_add
;
}
},
initPage
(){
this
.
form
=
{
is_add
:
'-1'
,
source
:
''
,
user_id
:
''
,
mobile
:
''
,
nickname
:
''
};
this
.
getList
()
},
onPageChange
(
val
){
this
.
nowPage
=
val
;
this
.
getList
()
},
onSizeChange
(
val
){
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getList
()
},
getList
(){
let
json
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
if
(
this
.
form
.
is_add
===
'-2'
){
integralApi
(
json
).
then
(
res
=>
{
this
.
list
=
res
.
list
;
this
.
total
=
res
.
total
})
}
else
{
if
(
this
.
form
.
is_add
!==
''
&&
this
.
form
.
is_add
!==
'-1'
){
json
.
is_add
=
this
.
form
.
is_add
}
if
(
this
.
form
.
source
!==
''
){
json
.
source
=
this
.
form
.
source
}
if
(
this
.
form
.
user_id
!==
''
){
json
.
user_id
=
this
.
form
.
user_id
}
if
(
this
.
form
.
mobile
!==
''
){
json
.
mobile
=
this
.
form
.
mobile
}
if
(
this
.
form
.
nickname
!==
''
){
json
.
nickname
=
this
.
form
.
nickname
}
getIntegralListApi
(
json
).
then
(
res
=>
{
this
.
list
=
res
.
list
;
this
.
total
=
res
.
total
})
if
(
this
.
form
.
source
!==
""
)
{
json
.
source
=
this
.
form
.
source
;
}
if
(
this
.
form
.
user_id
!==
""
)
{
json
.
user_id
=
this
.
form
.
user_id
;
}
if
(
this
.
form
.
mobile
!==
""
)
{
json
.
mobile
=
this
.
form
.
mobile
;
}
if
(
this
.
form
.
nickname
!==
""
)
{
json
.
nickname
=
this
.
form
.
nickname
;
}
getIntegralListApi
(
json
).
then
(
res
=>
{
this
.
list
=
res
.
list
;
this
.
total
=
res
.
total
;
});
}
}
}
};
</
script
>
<
style
scoped
lang=
"less"
>
@import "../../util/public";
.avatar
{
width: 50px;
min-width: 50px;
height: 50px;
margin-right: 5px;
border-radius: 50%;
}
@import "../../util/public";
.avatar
{
width: 50px;
min-width: 50px;
height: 50px;
margin-right: 5px;
border-radius: 50%;
}
</
style
>
<
style
>
.f-c
>
.cell
{
display
:
flex
!important
;
flex-flow
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.f-c
>
.cell
{
display
:
flex
!important
;
flex-flow
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
</
style
>
src/components/monthOrder/newDialog.vue
View file @
f3b8fbae
<
template
>
<el-dialog
title=
"新增订单"
center
append-to-body
:visible
.
sync=
"newdialogObj.show"
width=
"70%"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
:rules=
"rules"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"商品名称"
prop=
"goods_id"
>
<el-select
v-model=
"form.goods_id"
placeholder=
"请选择"
@
change=
"onOptionChange"
>
<el-dialog
title=
"新增订单"
center
append-to-body
:visible
.
sync=
"newdialogObj.show"
width=
"70%"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
:rules=
"rules"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"商品名称"
prop=
"goods_id"
>
<el-select
v-model=
"form.goods_id"
placeholder=
"请选择"
@
change=
"onOptionChange"
>
<el-option
v-for=
"(data,index) in goodsList"
:key=
"index"
:label=
"data | filterGoods"
:value=
"data.id"
>
</el-option>
:value=
"data.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"10"
>
</el-col>
<!--
<el-col
:span=
"10"
>
<el-form-item
label=
"期数名称"
prop=
"periods_id"
>
<el-select
v-model=
"form.periods_id"
placeholder=
"请选择"
>
<el-option
...
...
@@ -30,95 +25,101 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
-->
</el-row>
</el-col>
-->
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"用户ID"
prop=
"user_id"
>
<el-input
width=
'100'
v-model=
"form.user_id"
></el-input>
<el-button
type=
"success"
@
click=
"onAddUser"
>
+添加用户
</el-button>
<el-form-item
label=
"用户ID"
prop=
"user_id"
>
<el-input
width=
"100"
v-model=
"form.user_id"
></el-input>
<el-button
type=
"success"
@
click=
"onAddUser"
>
+添加用户
</el-button>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"添加推广人"
>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"添加推广人"
>
<!--
<el-input
v-model=
"form.invite_id"
></el-input>
-->
<el-select
v-model=
"form.invite_id"
filterable
clearable
placeholder=
"请输入名称"
:remote-method=
"remoteMethod"
>
<el-option
v-for=
"item in teacherList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.user_id"
>
</el-option>
</el-select>
<el-select
v-model=
"form.invite_id"
filterable
clearable
placeholder=
"请输入名称"
:remote-method=
"remoteMethod"
>
<el-option
v-for=
"item in teacherList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.user_id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"支付类型"
prop=
"order_type"
>
<el-select
v-model=
"form.order_type"
placeholder=
"请选择"
>
<el-option
v-for=
"item in buyWayOptioms"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
:disabled=
"item.disabled"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"实付金额(元)"
prop=
"money"
>
<el-input-number
v-model=
"form.money"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"支付时间"
prop=
"pay_at"
>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"支付类型"
prop=
"order_type"
>
<el-select
v-model=
"form.order_type"
placeholder=
"请选择"
>
<el-option
v-for=
"item in buyWayOptioms"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
:disabled=
"item.disabled"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"实付金额(元)"
prop=
"money"
>
<el-input-number
v-model=
"form.money"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"支付时间"
prop=
"pay_at"
>
<el-date-picker
v-model=
"form.pay_at"
type=
"datetime"
:picker-options=
"pickerOptions1"
default-time=
"12:00:00"
placeholder=
"选择日期时间"
>
</el-date-picker>
placeholder=
"选择日期时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"form.desc"
></el-input>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"form.desc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"10"
v-if=
"form.order_type!=2"
>
<el-form-item
label=
"订单号"
>
<el-input
v-model=
"form.out_trade_no"
></el-input>
</el-col>
<el-col
:span=
"10"
v-if=
"form.order_type!=2"
>
<el-form-item
label=
"订单号"
>
<el-input
v-model=
"form.out_trade_no"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<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-col>
</el-row>
</el-form>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<vue-address
:province=
"form.province"
:city=
"form.city"
:district=
"form.district"
:detail=
"form.address"
:mobile=
"form.receive_mobile"
:name=
"form.receive_name"
@
change=
"handlerAddressChange"
></vue-address>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"newdialogObj.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"saveAddOrder(form)"
>
确定
</el-button>
</div>
<el-dialog
:modal=
"false"
:visible
.
sync=
"addShow"
>
<el-dialog
:modal=
"false"
:visible
.
sync=
"addShow"
>
<el-form
label-width=
"90px"
>
<!--
<el-form-item
label=
"用户id"
>
-->
<!--
<el-input
v-model=
"addId"
></el-input>
-->
<!--
<el-input
v-model=
"addId"
></el-input>
-->
<!--
</el-form-item>
-->
<el-row>
<el-col
:span=
"8"
>
...
...
@@ -149,305 +150,315 @@
:data=
"userList"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
className=
"f-c"
label=
"用户"
>
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
class=
"f-c"
label=
"用户"
>
<template
slot-scope=
"scope"
>
<img
style=
"margin-right:5px;width: 50px;height: 50px;border-radius: 50px"
:src=
"scope.row.avatar"
>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<img
style=
"margin-right:5px;width: 50px;height: 50px;border-radius: 50px"
:src=
"scope.row.avatar"
/>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
</
template
>
</el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
>
</el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
></el-table-column>
</el-table>
<page
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<page
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
</span>
</el-dialog>
</el-dialog>
</template>
<
script
>
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
CommonJs
from
'../../util/common'
;
import
page
from
'../framework/page'
export
default
{
name
:
"newdialogObj"
,
props
:[
'newdialogObj'
],
data
(){
return
{
rules
:{
periods_id
:
[
{
required
:
true
,
message
:
'请输入期数名称'
,
trigger
:
'change'
}
],
goods_id
:
[
{
required
:
true
,
message
:
'请输入商品名称'
,
trigger
:
'change'
}
],
money
:
[
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
}
],
user_id
:
[
{
required
:
true
,
message
:
'请输入用户ID'
,
trigger
:
'blur'
}
],
pay_at
:
[
{
required
:
true
,
message
:
'请选择日期'
,
trigger
:
'change'
}
],
order_type
:[
{
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
:
""
,
},
goodsList
:[],
periodsList
:[],
pickerOptions1
:
''
,
buyWayOptioms
:[],
teacherList
:
[],
addShow
:
false
,
searchFrom
:{
},
userList
:
[],
multipleSelection
:
[],
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
CommonJs
from
"../../util/common"
;
import
page
from
"../framework/page"
;
export
default
{
name
:
"newdialogObj"
,
props
:
[
"newdialogObj"
],
data
()
{
return
{
rules
:
{
periods_id
:
[
{
required
:
true
,
message
:
"请输入期数名称"
,
trigger
:
"change"
}
],
goods_id
:
[
{
required
:
true
,
message
:
"请输入商品名称"
,
trigger
:
"change"
}
],
money
:
[{
required
:
true
,
message
:
"请输入金额"
,
trigger
:
"blur"
}],
user_id
:
[{
required
:
true
,
message
:
"请输入用户ID"
,
trigger
:
"blur"
}],
pay_at
:
[{
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}],
order_type
:
[
{
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
:
""
},
goodsList
:
[],
periodsList
:
[],
pickerOptions1
:
""
,
buyWayOptioms
:
[],
teacherList
:
[],
addShow
:
false
,
searchFrom
:
{},
userList
:
[],
multipleSelection
:
[]
};
},
components
:
{
vueAddress
,
page
},
filters
:
{
filterGoods
(
val
)
{
return
(
"["
+
GOODSTYPE
[
val
.
goods_type
]
+
"]"
+
"["
+
val
.
current_price
/
100
+
"元]"
+
val
.
name
);
}
},
methods
:
{
onPageChange
(
val
)
{
this
.
nowPage
=
val
;
this
.
getUser
();
},
onSizeChange
(
val
)
{
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getUser
();
},
components
:{
vueAddress
,
page
,
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
filters
:{
filterGoods
(
val
){
return
'['
+
GOODSTYPE
[
val
.
goods_type
]
+
']'
+
'['
+
val
.
current_price
/
100
+
'元]'
+
val
.
name
getUser
()
{
let
json
=
{
page
:
this
.
nowPage
,
limit
:
5
};
if
(
this
.
searchFrom
.
userId
)
{
json
.
user_id
=
this
.
searchFrom
.
userId
;
}
if
(
this
.
searchFrom
.
nickName
)
{
json
.
nickname
=
this
.
searchFrom
.
nickName
;
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
;
}
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
;
});
},
methods
:{
onPageChange
(
val
){
this
.
nowPage
=
val
this
.
getUser
()
},
onSizeChange
(
val
){
this
.
limit
=
val
this
.
nowPage
=
1
;
this
.
getUser
()
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
getUser
(){
let
json
=
{
page
:
this
.
nowPage
,
limit
:
5
};
if
(
this
.
searchFrom
.
userId
)
{
json
.
user_id
=
this
.
searchFrom
.
userId
}
if
(
this
.
searchFrom
.
nickName
)
{
json
.
nickname
=
this
.
searchFrom
.
nickName
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
}
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
;
})
},
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
,
}
// 元转分
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
){
json
.
invite_id
=
this
.
form
.
invite_id
}
if
(
this
.
form
.
desc
){
json
.
desc
=
this
.
form
.
desc
}
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
this
.
$emit
(
"reflash"
);
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
};
// 元转分
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
)
{
json
.
invite_id
=
this
.
form
.
invite_id
;
}
if
(
this
.
form
.
desc
)
{
json
.
desc
=
this
.
form
.
desc
;
}
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
;
this
.
$emit
(
"reflash"
);
this
.
$message
({
message
:
'添加成功'
,
type
:
'success'
});
})
}
else
{
this
.
$message
({
message
:
"缺少必填项"
,
type
:
"warning"
});
}
this
.
$message
({
message
:
"添加成功"
,
type
:
"success"
});
});
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
this
.
$message
({
message
:
"缺少必填项"
,
type
:
"warning"
});
}
});
},
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
;
},
getGoodsOption
(){
let
json
=
{
page
:
1
,
limit
:
200
,
course_type
:
0
,
};
getGoodsListApi
(
json
).
then
(
res
=>
{
this
.
goodsList
=
res
.
list
;
})
},
onOptionChange
(
id
){
this
.
form
.
periods_id
=
""
;
getPeriodsApi
({
goods_id
:
id
}).
then
((
res
)
=>
{
this
.
periodsList
=
res
.
list
})
},
getTeacherList
(
name
){
let
json
=
{
limit
:
100
,
page
:
1
};
if
(
name
)
{
json
.
name
=
name
}
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
});
getOrderTypeApi
().
then
(
res
=>
{
this
.
buyWayOptioms
=
res
})
},
remoteMethod
(
query
)
{
if
(
query
!==
''
)
{
this
.
getTeacherList
(
query
);
}
else
{
this
.
getTeacherList
();
console
.
log
(
"error submit!!"
);
return
false
;
}
},
onAddUser
(){
this
.
addShow
=
true
;
this
.
getUser
();
},
onAdd
(){
if
(
this
.
multipleSelection
.
length
===
0
)
{
this
.
$message
({
type
:
'error'
,
message
:
'请选择用户!'
});
return
}
else
if
(
this
.
multipleSelection
.
length
!==
1
){
this
.
$message
({
type
:
'error'
,
message
:
'只能选择一个用户!'
});
return
}
this
.
form
.
user_id
=
this
.
multipleSelection
[
0
].
user_id
;
this
.
addShow
=
false
;
},
});
},
watch
:{
'newdialogObj.show'
(
val
){
if
(
val
){
this
.
getGoodsOption
();
this
.
getTeacherList
();
}
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
(){
getGoodsOption
()
{
let
json
=
{
page
:
1
,
limit
:
200
,
course_type
:
0
};
getGoodsListApi
(
json
).
then
(
res
=>
{
this
.
goodsList
=
res
.
list
;
});
},
}
onOptionChange
(
id
)
{
this
.
form
.
periods_id
=
""
;
getPeriodsApi
({
goods_id
:
id
}).
then
(
res
=>
{
this
.
periodsList
=
res
.
list
;
});
},
getTeacherList
(
name
)
{
let
json
=
{
limit
:
100
,
page
:
1
};
if
(
name
)
{
json
.
name
=
name
;
}
getTeacherListApi
(
json
).
then
(
res
=>
{
this
.
teacherList
=
res
.
list
;
});
getOrderTypeApi
().
then
(
res
=>
{
this
.
buyWayOptioms
=
res
;
});
},
remoteMethod
(
query
)
{
if
(
query
!==
""
)
{
this
.
getTeacherList
(
query
);
}
else
{
this
.
getTeacherList
();
}
},
onAddUser
()
{
this
.
addShow
=
true
;
this
.
getUser
();
},
onAdd
()
{
if
(
this
.
multipleSelection
.
length
===
0
)
{
this
.
$message
({
type
:
"error"
,
message
:
"请选择用户!"
});
return
;
}
else
if
(
this
.
multipleSelection
.
length
!==
1
)
{
this
.
$message
({
type
:
"error"
,
message
:
"只能选择一个用户!"
});
return
;
}
this
.
form
.
user_id
=
this
.
multipleSelection
[
0
].
user_id
;
this
.
addShow
=
false
;
}
},
watch
:
{
"newdialogObj.show"
(
val
)
{
if
(
val
)
{
this
.
getGoodsOption
();
this
.
getTeacherList
();
}
}
},
mounted
()
{}
};
</
script
>
<
style
scoped
lang=
"less"
>
.dialog-footer
{
display: block;
text-align: center;
}
.dialog-footer
{
display: block;
text-align: center;
}
</
style
>
src/components/subList/index.vue
View file @
f3b8fbae
<
template
>
<div
class=
"integral-page"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
style=
"padding-top:20px;"
label-width=
"80px"
inline
>
<el-form-item
label=
"主账户ID"
>
<el-input
v-model=
"searchFrom.user_id"
></el-input>
</el-form-item>
<el-form-item
label=
"子账户ID"
>
<el-input
v-model=
"searchFrom.sub_user_id"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
</el-form-item>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
style=
"padding-top:20px;"
label-width=
"80px"
inline
>
<el-form-item
label=
"主账户ID"
>
<el-input
v-model=
"searchFrom.user_id"
></el-input>
</el-form-item>
<el-form-item
label=
"子账户ID"
>
<el-input
v-model=
"searchFrom.sub_user_id"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"userList"
style=
"width: 100%"
>
<el-table-column
className=
"f-c"
label=
"主账户"
>
<el-table
:data=
"userList"
:style=
"
{width: width+'px'}">
<el-table-column
class=
"f-c"
label=
"主账户"
>
<template
slot-scope=
"scope"
>
<img
class=
"avatar"
:src=
"scope.row.user_avatar"
>
{{
scope
.
row
.
user_nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<img
class=
"avatar"
:src=
"scope.row.user_avatar"
/>
{{
scope
.
row
.
user_nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
</
template
>
</el-table-column>
<el-table-column
className=
"f-c"
label=
"子账户"
>
<el-table-column
class=
"f-c"
label=
"子账户"
>
<
template
slot-scope=
"scope"
>
<img
class=
"avatar"
:src=
"scope.row.sub_user_avatar"
>
{{
scope
.
row
.
sub_user_nickname
}}
(ID:
{{
scope
.
row
.
sub_user_id
}}
)
<img
class=
"avatar"
:src=
"scope.row.sub_user_avatar"
/>
{{
scope
.
row
.
sub_user_nickname
}}
(ID:
{{
scope
.
row
.
sub_user_id
}}
)
</
template
>
</el-table-column>
<el-table-column
prop=
"created_at"
label=
"绑定时间"
>
</el-table-column>
<el-table-column
prop=
"unbind_at"
label=
"解绑时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
unbind_at
==
'0000-00-00 00:00:00'
?
'未解绑'
:
scope
.
row
.
unbind_at
}}
</
template
>
<el-table-column
prop=
"created_at"
label=
"绑定时间"
></el-table-column>
<el-table-column
prop=
"unbind_at"
label=
"解绑时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
unbind_at
==
'0000-00-00 00:00:00'
?
'未解绑'
:
scope
.
row
.
unbind_at
}}
</
template
>
</el-table-column>
</el-table>
<page
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<page
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
</div>
</template>
<
script
>
import
{
getSubAccountListApi
,
getOldListApi
}
from
"../../service/api"
;
import
{
INTEGRALTYPE
,
INTEGRALFUN
}
from
"../../util/wordbook"
;
import
page
from
'../framework/page'
export
default
{
name
:
"index"
,
components
:
{
page
import
{
getSubAccountListApi
,
getOldListApi
}
from
"../../service/api"
;
import
{
INTEGRALTYPE
,
INTEGRALFUN
}
from
"../../util/wordbook"
;
import
page
from
"../framework/page"
;
export
default
{
name
:
"index"
,
components
:
{
page
},
data
()
{
let
is_addOption
=
[];
for
(
let
k
in
INTEGRALTYPE
)
{
is_addOption
.
push
({
id
:
k
,
value
:
INTEGRALTYPE
[
k
]
});
}
let
sourceOption
=
[];
for
(
let
j
in
INTEGRALFUN
)
{
sourceOption
.
push
({
id
:
j
,
value
:
INTEGRALFUN
[
j
]
});
}
return
{
width
:
0
,
searchFrom
:
{
user_id
:
""
,
sub_user_id
:
""
},
userList
:
[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
showDetail
:
false
};
},
mounted
()
{
this
.
getUser
();
this
.
width
=
window
.
innerWidth
-
200
;
},
filters
:
{
INTEGRALTYPE
(
value
)
{
return
INTEGRALTYPE
[
value
];
},
data
(){
let
is_addOption
=
[];
for
(
let
k
in
INTEGRALTYPE
){
is_addOption
.
push
({
id
:
k
,
value
:
INTEGRALTYPE
[
k
]})
}
let
sourceOption
=
[];
for
(
let
j
in
INTEGRALFUN
){
sourceOption
.
push
({
id
:
j
,
value
:
INTEGRALFUN
[
j
]})
}
return
{
searchFrom
:{
user_id
:
''
,
sub_user_id
:
""
},
userList
:[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
showDetail
:
false
}
INTEGRALFUN
(
value
)
{
return
INTEGRALFUN
[
value
];
}
},
methods
:
{
onPageChange
(
val
)
{
this
.
nowPage
=
val
;
this
.
getUser
();
},
mounted
(){
this
.
getUser
()
onSizeChange
(
val
)
{
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getUser
();
},
filters
:{
INTEGRALTYPE
(
value
){
return
INTEGRALTYPE
[
value
]
},
INTEGRALFUN
(
value
){
return
INTEGRALFUN
[
value
]
getUser
()
{
let
json
=
{
page
:
this
.
nowPage
,
limit
:
this
.
limit
};
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
;
}
},
methods
:{
onPageChange
(
val
){
this
.
nowPage
=
val
this
.
getUser
()
},
onSizeChange
(
val
){
this
.
limit
=
val
;
this
.
nowPage
=
1
;
this
.
getUser
()
},
getUser
(){
let
json
=
{
page
:
this
.
nowPage
,
limit
:
this
.
limit
}
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
}
if
(
this
.
searchFrom
.
sub_user_id
)
{
json
.
sub_user_id
=
this
.
searchFrom
.
sub_user_id
}
getSubAccountListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
})
if
(
this
.
searchFrom
.
sub_user_id
)
{
json
.
sub_user_id
=
this
.
searchFrom
.
sub_user_id
;
}
getSubAccountListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
;
});
}
}
};
</
script
>
<
style
scoped
lang=
"less"
>
@import "../../util/public";
.avatar
{
width: 50px;
min-width: 50px;
height: 50px;
margin-right: 5px;
border-radius: 50%;
}
@import "../../util/public";
.avatar
{
width: 50px;
min-width: 50px;
height: 50px;
margin-right: 5px;
border-radius: 50%;
}
</
style
>
<
style
>
.f-c
>
.cell
{
display
:
flex
!important
;
flex-flow
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.f-c
>
.cell
{
display
:
flex
!important
;
flex-flow
:
row
;
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