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