18 changed files with 592 additions and 0 deletions
-
17src/pages.json
-
40src/subpackage/account/components/info_container.vue
-
39src/subpackage/account/components/info_title.vue
-
10src/subpackage/account/js/server.js
-
41src/subpackage/account/pages/list/index.vue
-
46src/subpackage/account/pages/list/modules/check_status_bar.vue
-
40src/subpackage/account/pages/list/modules/input_bar.vue
-
54src/subpackage/account/pages/list/modules/item.vue
-
25src/subpackage/account/pages/manage/add.vue
-
25src/subpackage/account/pages/manage/apply.vue
-
25src/subpackage/account/pages/manage/check.vue
-
25src/subpackage/account/pages/manage/methods.vue
-
25src/subpackage/account/pages/message/edit.vue
-
25src/subpackage/account/pages/message/info.vue
-
25src/subpackage/account/pages/permission/edit.vue
-
38src/subpackage/account/pages/permission/info.vue
-
75src/subpackage/account/pages/permission/modules/info/user.vue
-
17src/subpackage/account/pages/permission/modules/title_bar.vue
@ -0,0 +1,40 @@ |
|||
<template> |
|||
<view class="info-container"> |
|||
<view class="ic-box"> |
|||
<info-title :title="title"><slot name="title-right"></slot></info-title> |
|||
<view class="ib-content"> |
|||
<slot name="content"></slot> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import infoTitle from "./info_title.vue"; |
|||
export default { |
|||
props: { |
|||
title: { |
|||
type: String, |
|||
default: 'title' |
|||
} |
|||
}, |
|||
components: { |
|||
'info-title': infoTitle |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.info-container{ |
|||
padding-top: 24upx; |
|||
.ic-box{ |
|||
border-radius: 10upx; |
|||
overflow: hidden; |
|||
background-color: #fff; |
|||
} |
|||
.ib-content{ |
|||
padding-top: 40upx; |
|||
padding-bottom: 40upx; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,39 @@ |
|||
<template> |
|||
<view class="info-title"> |
|||
<view class="it-name">{{ title }}</view> |
|||
<view class="it-right"> |
|||
<slot></slot> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
props: { |
|||
title: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.info-title{ |
|||
padding: 10upx 20upx 0upx; |
|||
height: 116upx; |
|||
border-bottom: 2upx solid #D8D8D8; |
|||
@include ctf; |
|||
.it-name{ |
|||
flex-shrink: 0; |
|||
margin-right: 14upx; |
|||
@include flcw(32upx, 44upx, #1A1A1A); |
|||
} |
|||
.it-right{ |
|||
flex-grow: 1; |
|||
height: 100%; |
|||
background: skyblue; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,10 @@ |
|||
import { Server } from '../../../js/server'; |
|||
|
|||
class AccountServer extends Server { |
|||
constructor(props){ |
|||
super(props) |
|||
} |
|||
} |
|||
|
|||
|
|||
export default new AccountServer(); |
@ -0,0 +1,41 @@ |
|||
<template> |
|||
<view class="list-index"> |
|||
<view class="li-header"> |
|||
<input-bar></input-bar> |
|||
<check-status-bar></check-status-bar> |
|||
</view> |
|||
<view class="li-list"> |
|||
<list-item></list-item> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import inputBar from './modules/input_bar.vue'; |
|||
import checkStatusBar from './modules/check_status_bar.vue'; |
|||
import listItem from './modules/item.vue'; |
|||
export default { |
|||
components: { |
|||
'input-bar': inputBar, |
|||
'check-status-bar': checkStatusBar, |
|||
'list-item': listItem |
|||
}, |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.li-list{ |
|||
padding: 24upx; |
|||
} |
|||
</style> |
@ -0,0 +1,46 @@ |
|||
<template> |
|||
<view class="check-status-bar"> |
|||
<view class="csb-left">待审核账号</view> |
|||
<view class="csb-right"> |
|||
<view class="cr-num">99</view> |
|||
<image class="cr-icon"></image> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.check-status-bar{ |
|||
border-top: 2upx solid #f2f2f7; |
|||
padding: 44upx; |
|||
background: #fff; |
|||
@include ctf(space-between); |
|||
.csb-left{ |
|||
@include flcw($size: 32upx); |
|||
} |
|||
.csb-right{ |
|||
@include ctf(flex-end); |
|||
.cr-num{ |
|||
width: 40upx; |
|||
height: 40upx; |
|||
text-align: center; |
|||
border-radius: 50%; |
|||
background: #EA5061; |
|||
@include flcw(24upx, 40upx, #fff, 600); |
|||
@include tHide; |
|||
} |
|||
.cr-icon{ |
|||
margin-left: 20upx; |
|||
flex-shrink: 0; |
|||
width: 28upx; |
|||
height: 28upx; |
|||
background: skyblue; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,40 @@ |
|||
<template> |
|||
<view class="input-bar"> |
|||
<view class="ib-frame"> |
|||
<image class="if-icon"></image> |
|||
<input type="text" class="if-ipt" placeholder="输入账号/姓名查找"> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.input-bar{ |
|||
padding: 26upx 24upx; |
|||
background-color: #fff; |
|||
.ib-frame{ |
|||
padding: 0 20upx; |
|||
height: 92upx; |
|||
border-radius: 10upx; |
|||
background: #F2F2F7; |
|||
@include ctf; |
|||
.if-icon{ |
|||
margin-right: 20upx; |
|||
flex-shrink: 0; |
|||
width: 40upx; |
|||
height: 40upx; |
|||
background: skyblue; |
|||
} |
|||
.if-ipt{ |
|||
flex: 1; |
|||
height: 100%; |
|||
@include flcw($size: 32upx); |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,54 @@ |
|||
<template> |
|||
<view class="list-item"> |
|||
<view class="li-line">姓名:周小舞</view> |
|||
<view class="li-line">登录账号:P1531653</view> |
|||
<view class="li-line">创建时间:2024-12-09 11:21:40</view> |
|||
<view class="li-btns"> |
|||
<view class="lb-btn">消息订阅</view> |
|||
<view class="lb-btn">账号权限</view> |
|||
</view> |
|||
<image class="li-close"></image> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.list-item{ |
|||
position: relative; |
|||
padding: 30upx; |
|||
border-radius: 10upx; |
|||
background: #fff; |
|||
.li-line{ |
|||
@include flcw(32upx, 56upx, #1A1A1A); |
|||
@include tHide; |
|||
} |
|||
.li-btns{ |
|||
margin-top: 34upx; |
|||
@include ctf(flex-end); |
|||
.lb-btn{ |
|||
width: 156upx; |
|||
height: 76upx; |
|||
text-align: center; |
|||
border-radius: 10upx; |
|||
background: $mColor; |
|||
@include flcw(24upx, 76upx, #fff); |
|||
&+.lb-btn{ |
|||
margin-left: 40upx; |
|||
} |
|||
} |
|||
} |
|||
.li-close{ |
|||
position: absolute; |
|||
right: 20upx; |
|||
top: 20upx; |
|||
width: 36upx; |
|||
height: 36upx; |
|||
background: skyblue; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
</style> |
@ -0,0 +1,38 @@ |
|||
<template> |
|||
<view class="permission-info"> |
|||
<info-user></info-user> |
|||
<info-container title="后台权限"> |
|||
<template v-slot:title-right>8897</template> |
|||
<template v-slot:content>9987</template> |
|||
</info-container> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import infoUser from "./modules/info/user.vue"; |
|||
import infoContainer from "../../components/info_container.vue"; |
|||
export default { |
|||
components: { |
|||
'info-user': infoUser, |
|||
'info-container': infoContainer |
|||
}, |
|||
data(){ |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.permission-info{ |
|||
padding: 24upx; |
|||
|
|||
} |
|||
</style> |
@ -0,0 +1,75 @@ |
|||
<template> |
|||
<view class="info-user"> |
|||
<view class="iu-top"> |
|||
<view class="it-left"> |
|||
<view class="il-name">周小舞</view> |
|||
<image class="il-edit"></image> |
|||
</view> |
|||
<image class="it-delete"></image> |
|||
</view> |
|||
<view class="iu-box"> |
|||
<view class="iu-line"> |
|||
<text class="il-txt">登录账号:</text> liuhuo2524 |
|||
</view> |
|||
<view class="iu-line"> |
|||
<text class="il-txt">密码:</text> <text class="il-link">修改密码</text> |
|||
</view> |
|||
<view class="iu-line"> |
|||
<text class="il-txt">创建时间:</text> 2024-12-09 11:21:40 |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.info-user{ |
|||
padding: 20upx 20upx 30upx; |
|||
border-radius: 10upx; |
|||
background-color: #fff; |
|||
.iu-top{ |
|||
@include ctf(space-between); |
|||
.it-left{ |
|||
@include ctf; |
|||
.il-name{ |
|||
@include flcw(44upx, 60upx, #1A1A1A); |
|||
@include tHide; |
|||
} |
|||
.il-edit{ |
|||
flex-shrink: 0; |
|||
margin-left: 20upx; |
|||
width: 36upx; |
|||
height: 36upx; |
|||
background: skyblue; |
|||
} |
|||
} |
|||
.it-delete{ |
|||
flex-shrink: 0; |
|||
margin-left: 20upx; |
|||
width: 36upx; |
|||
height: 36upx; |
|||
background: skyblue; |
|||
} |
|||
} |
|||
.iu-box{ |
|||
margin-top: 20upx; |
|||
} |
|||
.iu-line{ |
|||
@include flcw($color: #1A1A1A); |
|||
@include tHide; |
|||
.il-txt{ |
|||
color: #9C9C9F; |
|||
} |
|||
.il-link{ |
|||
color: $mColor; |
|||
text-decoration: underline; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,17 @@ |
|||
<template> |
|||
<view class="title-bar"> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.title-bar{ |
|||
|
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue