接口对接

This commit is contained in:
yanran200730
2022-07-01 18:38:34 +08:00
parent 85a52d3d9f
commit cb7becbf34
4 changed files with 142 additions and 80 deletions

View File

@@ -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;

View File

@@ -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('提交成功')

View File

@@ -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>

View File

@@ -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;
}
}
}