接口对接
This commit is contained in:
@@ -4,25 +4,26 @@
|
||||
<u-search placeholder="请输入姓名、手机号、店面" :show-action="false" v-model="keyword" @search="current=1,getList()"/>
|
||||
</AiTopFixed>
|
||||
<div class="list">
|
||||
<div class="item">
|
||||
<div class="item" v-for="item in list" :key="item.id" @click="linkTo('./detail?id=' + item.id)">
|
||||
<div class="title">
|
||||
<img src="./img/down-icon.png" alt="">
|
||||
<p>采苓岩茶烟酒专营店</p>
|
||||
<span>店员 (4) </span>
|
||||
<img :src="$cdn + 'xincheng/icon.png'" alt="">
|
||||
<p>{{ item.businessName }}</p>
|
||||
<span>店员 ({{ item.detailList ? item.detailList.length : 0 }}) </span>
|
||||
</div>
|
||||
<div class="info">
|
||||
<img src="./img/down-icon.png" alt="">
|
||||
<div>林轶峰 18600882921</div>
|
||||
<img :src="$cdn + 'xincheng/dh.png'" alt="">
|
||||
<div>{{ item.bossName }} {{ item.telephone }}</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<img src="./img/down-icon.png" alt="">
|
||||
<div>陕西省西安市新城区中山门街道168号陕西省西安市新城区中山门街道168号</div>
|
||||
<img :src="$cdn + 'xincheng/dz@2x.png'" alt="">
|
||||
<div>{{ item.businessAddress }}</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<img src="./img/down-icon.png" alt="">
|
||||
<div class="info" style="margin-bottom: 0;">
|
||||
<img :src="$cdn + 'xincheng/wgz@2x.png'" alt="">
|
||||
<div>李毅-网格长</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty v-if="!list.length"></AiEmpty>
|
||||
</div>
|
||||
<div class="btn" @click="linkTo('./add')">新增商户</div>
|
||||
</div>
|
||||
@@ -46,6 +47,7 @@
|
||||
computed: {...mapState(['user'])},
|
||||
|
||||
onLoad () {
|
||||
this.$loading()
|
||||
this.getList()
|
||||
uni.$on('update', () => {
|
||||
this.current = 1
|
||||
@@ -59,7 +61,8 @@
|
||||
|
||||
methods: {
|
||||
getList() {
|
||||
if(this.current > this.pages) return
|
||||
if (this.current > this.pages) return
|
||||
|
||||
this.$http.post('/app/appcompany/list', null, {
|
||||
params: {
|
||||
size: 10,
|
||||
@@ -80,6 +83,7 @@
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
this.current ++
|
||||
this.getList()
|
||||
@@ -98,7 +102,12 @@
|
||||
padding: 32px 24px 32px 32px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 30px;
|
||||
|
||||
&:active {
|
||||
background: #eee;
|
||||
}
|
||||
.title{
|
||||
margin-bottom: 38px;
|
||||
img{
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
@@ -125,6 +134,8 @@
|
||||
}
|
||||
}
|
||||
.info{
|
||||
line-height: 1;
|
||||
margin-bottom: 20px;
|
||||
img{
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="border">
|
||||
<span class="label">店名</span>
|
||||
<span class="value">
|
||||
<input type="text" placeholder="请输入" v-model="form.bossName" maxlength="10">
|
||||
<input type="text" placeholder="请输入" v-model="form.businessName" maxlength="10">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -16,14 +16,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-area">
|
||||
<textarea placeholder="请输入" maxlength="30" v-model="form.businessAddress"></textarea>
|
||||
<textarea placeholder="请输入" v-model="form.businessAddress"></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="form.businessName" maxlength="6">
|
||||
<input type="text" placeholder="请输入" v-model="form.bossName">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="border">
|
||||
<span class="label">电话</span>
|
||||
<span class="value">
|
||||
<input type="text" placeholder="请输入" v-model="form.telephone" maxlength="6">
|
||||
<input type="text" placeholder="请输入" v-model="form.telephone" maxlength="11">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -41,7 +41,7 @@
|
||||
<div class="border">
|
||||
<span class="label">身份证号</span>
|
||||
<span class="value">
|
||||
<input type="text" placeholder="请输入" v-model="form.cardId" maxlength="6">
|
||||
<input type="text" placeholder="请输入" v-model="form.cardId">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -52,7 +52,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-area">
|
||||
<AiUploader v-model="form.storePicUrl" :limit="1" multiple action="/admin/file/add2" style="padding-bottom:16px;"></AiUploader>
|
||||
<AiUploader :def.sync="form.storePicUrl" :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">
|
||||
@@ -82,7 +82,7 @@ export default {
|
||||
businessName: '',
|
||||
lat: '',
|
||||
lon: '',
|
||||
storePicUrl: '',
|
||||
storePicUrl: [],
|
||||
telephone: ''
|
||||
}
|
||||
}
|
||||
@@ -124,8 +124,9 @@ export default {
|
||||
|
||||
this.$loading()
|
||||
this.$http.post('/api/appcompany/addORUpdate', {
|
||||
...this.form
|
||||
}).then(() => {
|
||||
...this.form,
|
||||
storePicUrl: this.form.storePicUrl.length ? this.form.storePicUrl[0].url : ''
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('提交成功')
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="border">
|
||||
<span class="label">姓名</span>
|
||||
<span class="value">
|
||||
<input type="text" placeholder="请输入" v-model="name" maxlength="6">
|
||||
<input type="text" placeholder="请输入" v-model="userName">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -14,36 +14,66 @@
|
||||
<div class="border">
|
||||
<span class="label">电话</span>
|
||||
<span class="value">
|
||||
<input type="tel" placeholder="请输入" v-model="phone" maxlength="20">
|
||||
<input type="tel" placeholder="请输入" v-model="userPhone" maxlength="11">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn">确认添加</div>
|
||||
<div class="btn" @click="save">确认添加</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'addClerk',
|
||||
data() {
|
||||
return {
|
||||
name: '',
|
||||
phone: ''
|
||||
export default {
|
||||
name: 'addClerk',
|
||||
appName: '新增店员',
|
||||
|
||||
data () {
|
||||
return {
|
||||
id: '',
|
||||
userPhone: '',
|
||||
userName: ''
|
||||
}
|
||||
},
|
||||
|
||||
computed: {...mapState(['user'])},
|
||||
|
||||
onLoad (query) {
|
||||
this.id = query.id
|
||||
},
|
||||
|
||||
methods: {
|
||||
save () {
|
||||
|
||||
if (!this.userName) {
|
||||
return this.$u.toast('请输入姓名')
|
||||
}
|
||||
|
||||
if (!this.userPhone) {
|
||||
// return this.$u.toast('请输入电话')
|
||||
}
|
||||
|
||||
this.$loading()
|
||||
this.$http.post('/app/CompanyUser/addOrupdate', {
|
||||
userName: this.userName,
|
||||
userPhone: this.userPhone,
|
||||
companyId: this.id
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('提交成功')
|
||||
|
||||
setTimeout(() => {
|
||||
uni.$emit('updateUser')
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {...mapState(['user'])},
|
||||
created() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
document.title = "新增店员"
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div class="detail">
|
||||
<div class="detail" v-if="pageShow">
|
||||
<div class="header">
|
||||
<img src="./img/down-icon.png" alt="" class="logo-img">
|
||||
<img :src="$cdn + 'xincheng/icon.png'" alt="" class="logo-img">
|
||||
<div class="text-info">
|
||||
<p>薇诺娜服饰专营店</p>
|
||||
<p>{{ info.bossName }}</p>
|
||||
<div>
|
||||
<img src="./img/down-icon.png" alt="" class="local-icon">
|
||||
<span>陕西省西安市新城区中山门街道168号陕西省西安市新城区中山门街道168号</span>
|
||||
<img :src="$cdn + 'xincheng/dw.png'" alt="" class="local-icon">
|
||||
<span>{{ info.businessAddress }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -14,64 +14,85 @@
|
||||
<div class="title">基础信息</div>
|
||||
<div class="info">
|
||||
<span>店主</span>
|
||||
<span class="color-333">林轶峰</span>
|
||||
<span class="color-333">{{ info.businessName }}</span>
|
||||
</div>
|
||||
<div class="info">
|
||||
<span>电话</span>
|
||||
<span class="color-3D94FB">17214317899</span>
|
||||
<span class="color-3D94FB">{{ info.telephone }}</span>
|
||||
</div>
|
||||
<div class="info">
|
||||
<span>身份证</span>
|
||||
<span class="color-333">42080134140193413</span>
|
||||
<span class="color-333">{{ info.cardId }}</span>
|
||||
</div>
|
||||
<div class="img-list">
|
||||
<div class="info">
|
||||
<span>门店照片</span>
|
||||
</div>
|
||||
<img src="./img/down-icon.png" alt="">
|
||||
<image v-if="info.storePicUrl" :src="info.storePicUrl" mode="widthFix" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<span>地图</span>
|
||||
<span class="color-3D94FB">定位</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content" v-if="info.detailList.length">
|
||||
<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 class="info" v-for="(item, index) in info.detailList" :key="index">
|
||||
<span>{{ item.userName }}</span>
|
||||
<span class="color-3D94FB">{{ item.userPhone }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<AiGap h="112"/>
|
||||
<div class="btn">新增店员</div>
|
||||
<div class="btn" @click="linkTo('./addClerk?id=' + id)">新增店员</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'detail',
|
||||
data() {
|
||||
return {
|
||||
|
||||
export default {
|
||||
name: 'detail',
|
||||
|
||||
appName: '商户详情',
|
||||
|
||||
data () {
|
||||
return {
|
||||
info: {},
|
||||
pageShow: false
|
||||
}
|
||||
},
|
||||
|
||||
computed: {...mapState(['user'])},
|
||||
|
||||
onLoad (query) {
|
||||
this.id = query.id
|
||||
|
||||
this.getInfo()
|
||||
|
||||
uni.$on('updateUser', () => {
|
||||
this.getInfo()
|
||||
})
|
||||
},
|
||||
|
||||
methods: {
|
||||
getInfo () {
|
||||
this.$loading()
|
||||
this.$http.post(`/app/appcompany/getDetailById?id=${this.id}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.info = res.data
|
||||
|
||||
this.pageShow = true
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
linkTo (url) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {...mapState(['user'])},
|
||||
created() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
document.title = "商户详情"
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@@ -101,7 +122,7 @@ export default {
|
||||
word-break: break-all;
|
||||
}
|
||||
.local-icon{
|
||||
width: 26px;
|
||||
width: 20px;
|
||||
height: 26px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
@@ -118,7 +139,7 @@ export default {
|
||||
}
|
||||
.content{
|
||||
background-color: #fff;
|
||||
padding: 0 32px;
|
||||
padding: 0 32px 20px;
|
||||
margin-bottom: 8px;
|
||||
.title{
|
||||
font-size: 32px;
|
||||
@@ -145,9 +166,8 @@ export default {
|
||||
}
|
||||
}
|
||||
.img-list{
|
||||
img{
|
||||
image {
|
||||
width: 100%;
|
||||
height: 320px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user