商户管理

This commit is contained in:
liuye
2022-07-01 16:16:59 +08:00
parent c9d7c84feb
commit 4b4a13b1b8
5 changed files with 507 additions and 9 deletions

View File

@@ -1,6 +1,30 @@
<template>
<div class="AppMerchantManage">
<AiTopFixed>
<u-search placeholder="请输入姓名、手机号、店面" :show-action="false" v-model="keyword" @search="current=1,getList()"/>
</AiTopFixed>
<div class="list">
<div class="item">
<div class="title">
<img src="./img/down-icon.png" alt="">
<p>采苓岩茶烟酒专营店</p>
<span>店员 (4) </span>
</div>
<div class="info">
<img src="./img/down-icon.png" alt="">
<div>林轶峰 18600882921</div>
</div>
<div class="info">
<img src="./img/down-icon.png" alt="">
<div>陕西省西安市新城区中山门街道168号陕西省西安市新城区中山门街道168号</div>
</div>
<div class="info">
<img src="./img/down-icon.png" alt="">
<div>李毅-网格长</div>
</div>
</div>
</div>
<div class="btn">新增商户</div>
</div>
</template>
@@ -12,7 +36,10 @@ export default {
appName: '商户管理',
data() {
return {
keyword: '',
current: 1,
pages: 2,
list: []
}
},
computed: {...mapState(['user'])},
@@ -23,12 +50,99 @@ export default {
document.title = "商户管理"
},
methods: {
getList() {
if(this.current > this.pages) return
this.$http.post('/app/appresident/list', null, {
params: {
size: 10,
current: this.current,
con: this.keyword,
},
}).then((res) => {
if (res.code == 0) {
this.list = this.current > 1 ? [...this.list, ...res.data.records] : res.data.records
this.pages = res.data.pages
}
})
},
},
onReachBottom() {
this.current ++
this.getList()
}
}
</script>
<style lang="scss" scoped>
.AppMerchantManage {
.list{
padding: 24px 30px 136px;
.item{
width: 100%;
background: #FFF;
border-radius: 16px;
padding: 32px 24px 32px 32px;
box-sizing: border-box;
margin-bottom: 30px;
.title{
img{
width: 72px;
height: 72px;
margin-right: 16px;
vertical-align: middle;
}
p{
display: inline-block;
width: 400px;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #000;
line-height: 32px;
}
span{
display: inline-block;
width: calc(100% - 488px);
text-align: right;
font-size: 24px;
font-family: PingFangSC-Regular, PingFang SC;
color: #999;
line-height: 24px;
}
}
.info{
img{
width: 28px;
height: 28px;
margin-right: 16px;
}
div{
display: inline-block;
width: calc(100% - 44px);
word-break: break-all;
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
line-height: 40px;
vertical-align: text-top;
}
}
}
}
.btn{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
text-align: center;
height: 112px;
line-height: 112px;
background: #3975C6;
box-shadow: inset 0px 2px 0px 0px #EEEEEE;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>

View File

@@ -1,6 +1,69 @@
<template>
<div class="add">
<div class="item">
<span class="tips">*</span>
<div class="border">
<span class="label">店名</span>
<span class="value">
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
</span>
</div>
</div>
<div class="item mar-b0">
<span class="tips">*</span>
<div class="border">
<span class="label">地址</span>
</div>
</div>
<div class="text-area">
<textarea placeholder="请输入" maxlength="30" v-model="name"></textarea>
</div>
<div class="item">
<span class="tips">*</span>
<div class="border">
<span class="label">店长</span>
<span class="value">
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
</span>
</div>
</div>
<div class="item">
<span class="tips"></span>
<div class="border">
<span class="label">电话</span>
<span class="value">
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
</span>
</div>
</div>
<div class="item">
<span class="tips"></span>
<div class="border">
<span class="label">身份证号</span>
<span class="value">
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
</span>
</div>
</div>
<div class="item mar-b0">
<span class="tips"></span>
<div class="border">
<span class="label">门店照片</span>
</div>
</div>
<div class="text-area">
<AiUploader v-model="files" :limit="1" multiple action="/admin/file/add2" style="padding-bottom:16px;"></AiUploader>
</div>
<!-- <AiUploader v-model="form.files" :limit="9" multiple action="/admin/file/add2"></AiUploader> -->
<div class="item">
<span class="tips"></span>
<div class="border">
<span class="label">地图标注</span>
<span class="value" style="color:#3D94FB;">地图标绘</span>
</div>
</div>
<AiGap h="112"/>
<div class="btn">保存</div>
</div>
</template>
@@ -11,7 +74,8 @@ export default {
name: 'add',
data() {
return {
name: '',
files: []
}
},
computed: {...mapState(['user'])},
@@ -19,7 +83,7 @@ export default {
},
onShow() {
document.title = "商户管理"
document.title = "新增商户"
},
methods: {
@@ -29,5 +93,78 @@ export default {
<style lang="scss" scoped>
.add {
.item{
width: 100%;
padding-left: 14px;
background: #FFF;
box-sizing: border-box;
display: flex;
margin-bottom: 16px;
.tips{
width: 18px;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #FF4466;
line-height: 44px;
padding: 34px 0 34px 0;
}
.border{
width: calc(100% - 18px);
padding: 34px 32px 34px 0;
line-height: 44px;
line-height: 44px;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
display: flex;
box-sizing: border-box;
.label{
width: 170px;
}
.value{
width: calc(100% - 170px);
text-align: right;
img{
width: 32px;
height: 32px;
margin-left: 8px;
vertical-align: middle;
}
}
.color-999{
color: #999;
}
}
}
.mar-b0{
margin-bottom: 0;
}
.text-area{
width: 100%;
background-color: #fff;
padding: 0 32px;
margin-bottom: 16px;
box-sizing: border-box;
textarea{
width: 100%;
height: 88px;
padding-bottom: 32px;
}
}
.btn{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
text-align: center;
height: 112px;
line-height: 112px;
background: #3975C6;
box-shadow: inset 0px 2px 0px 0px #EEEEEE;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>

View File

@@ -1,6 +1,24 @@
<template>
<div class="addClerk">
<div class="item">
<span class="tips">*</span>
<div class="border">
<span class="label">姓名</span>
<span class="value">
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
</span>
</div>
</div>
<div class="item">
<span class="tips"></span>
<div class="border">
<span class="label">电话</span>
<span class="value">
<input type="tel" placeholder="请输入" v-model="phone" maxlength="20">
</span>
</div>
</div>
<div class="btn">确认添加</div>
</div>
</template>
@@ -11,7 +29,8 @@ export default {
name: 'addClerk',
data() {
return {
name: '',
phone: ''
}
},
computed: {...mapState(['user'])},
@@ -19,7 +38,7 @@ export default {
},
onShow() {
document.title = "商户管理"
document.title = "新增店员"
},
methods: {
@@ -29,5 +48,63 @@ export default {
<style lang="scss" scoped>
.addClerk {
.item{
width: 100%;
padding-left: 14px;
background: #FFF;
box-sizing: border-box;
display: flex;
margin-bottom: 16px;
.tips{
width: 18px;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #FF4466;
line-height: 44px;
padding: 34px 0 34px 0;
}
.border{
width: calc(100% - 18px);
padding: 34px 32px 34px 0;
line-height: 44px;
line-height: 44px;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
display: flex;
box-sizing: border-box;
.label{
width: 170px;
}
.value{
width: calc(100% - 170px);
text-align: right;
img{
width: 32px;
height: 32px;
margin-left: 8px;
vertical-align: middle;
}
}
.color-999{
color: #999;
}
}
}
.btn{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
text-align: center;
height: 112px;
line-height: 112px;
background: #3975C6;
box-shadow: inset 0px 2px 0px 0px #EEEEEE;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>

View File

@@ -0,0 +1,170 @@
<template>
<div class="detail">
<div class="header">
<img src="./img/down-icon.png" alt="" class="logo-img">
<div class="text-info">
<p>薇诺娜服饰专营店</p>
<div>
<img src="./img/down-icon.png" alt="" class="local-icon">
<span>陕西省西安市新城区中山门街道168号陕西省西安市新城区中山门街道168号</span>
</div>
</div>
</div>
<div class="content">
<div class="title">基础信息</div>
<div class="info">
<span>店主</span>
<span class="color-333">林轶峰</span>
</div>
<div class="info">
<span>电话</span>
<span class="color-3D94FB">17214317899</span>
</div>
<div class="info">
<span>身份证</span>
<span class="color-333">42080134140193413</span>
</div>
<div class="img-list">
<div class="info">
<span>门店照片</span>
</div>
<img src="./img/down-icon.png" alt="">
</div>
<div class="info">
<span>地图</span>
<span class="color-3D94FB">定位</span>
</div>
</div>
<div class="content">
<div class="title">店员信息</div>
<div class="info">
<span>林轶峰</span>
<span class="color-3D94FB">17214317899</span>
</div>
<div class="info">
<span>林轶峰</span>
<span class="color-3D94FB">17214317899</span>
</div>
</div>
<AiGap h="112"/>
<div class="btn">新增店员</div>
</div>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'detail',
data() {
return {
}
},
computed: {...mapState(['user'])},
created() {
},
onShow() {
document.title = "商户详情"
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.detail {
.header{
width: 100%;
background-color: #fff;
padding: 48px 32px;
box-sizing: border-box;
margin-bottom: 8px;
.logo-img{
width: 96px;
height: 96px;
margin-right: 24px;
vertical-align: top;
}
.text-info{
display: inline-block;
width: calc(100% - 120px);
p{
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333;
line-height: 44px;
margin-bottom: 6px;
word-break: break-all;
}
.local-icon{
width: 26px;
height: 26px;
margin-right: 6px;
}
span{
display: inline-block;
width: calc(100% - 32px);
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
color: #90969E;
line-height: 40px;
vertical-align: text-top;
}
}
}
.content{
background-color: #fff;
padding: 0 32px;
margin-bottom: 8px;
.title{
font-size: 32px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333;
line-height: 44px;
padding: 32px 0;
}
.info{
display: flex;
justify-content: space-between;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999;
line-height: 44px;
padding: 14px 0;
.color-333{
color: #333;
}
.color-3D94FB{
color: #3D94FB;
}
}
.img-list{
img{
width: 100%;
height: 320px;
}
}
}
.btn{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
text-align: center;
height: 112px;
line-height: 112px;
background: #3975C6;
box-shadow: inset 0px 2px 0px 0px #EEEEEE;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B