Merge branch 'lj'
# Conflicts: # service/request.js
This commit is contained in:
@@ -13,7 +13,8 @@
|
|||||||
</u-input>
|
</u-input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-swiper :list="bannerURL" height="300rpx" />
|
<u-swiper :list="bannerURL" keyName="img" height="300rpx" @change="e => currentNum = e.current"
|
||||||
|
@click="handleSwiperList(currentNum==''?0:currentNum,bannerURL)" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -38,19 +39,23 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
position: uni.getStorageSync('city')+uni.getStorageSync('district').slice(0, 2)
|
position: uni.getStorageSync('city') + uni.getStorageSync('district').slice(0, 2),
|
||||||
|
currentNum: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
styleIsolation: 'shared', // 解除样式隔离
|
styleIsolation: 'shared', // 解除样式隔离
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (this.type !== '0') {
|
|
||||||
// this.open()
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//点击轮播图
|
||||||
|
handleSwiperList(currentNum, bannerURL) {
|
||||||
|
const item=bannerURL[currentNum]
|
||||||
|
uni.navigateTo({
|
||||||
|
url: item.link+`?id=${item.param}&type=${item.type}`
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
20
pages.json
20
pages.json
@@ -172,17 +172,17 @@
|
|||||||
"navigationBarTitleText": "",
|
"navigationBarTitleText": "",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
}
|
}, {
|
||||||
,{
|
"path": "pages/my/edit/edit",
|
||||||
"path" : "pages/my/edit/edit",
|
"style": {
|
||||||
"style" :
|
"navigationBarTitleText": "修改个人信息",
|
||||||
{
|
"navigationBarTextStyle": "white",
|
||||||
"navigationBarTitleText": "修改个人信息",
|
"navigationBarBackgroundColor": "#339967",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
"color": "#CCCCCC",
|
"color": "#CCCCCC",
|
||||||
"borderStyle": "white",
|
"borderStyle": "white",
|
||||||
|
|||||||
@@ -1,69 +1,73 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="detail" ref="viewref">
|
<view class="detail" ref="viewref">
|
||||||
<view class="swiper">
|
<view class="swiper">
|
||||||
<u-swiper :list="list" height="500rpx" radius="0"></u-swiper>
|
<u-swiper :list="shopInfo.pics" keyName="pics" height="500rpx" radius="0"></u-swiper>
|
||||||
</view>
|
</view>
|
||||||
<view class="sub-detail u-flex">
|
<view class="sub-detail u-flex">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
{{shopInfo.title}}
|
{{shopInfo.tt}}
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<u-grid :col="3">
|
<u-grid :col="3">
|
||||||
<u-grid-item>
|
<u-grid-item>
|
||||||
<view class="grid-textup">22</view>
|
<view class="grid-textup">{{shopInfo.zujin}}元/月</view>
|
||||||
<view class="grid-text">租金</view>
|
<view class="grid-text">租金</view>
|
||||||
</u-grid-item>
|
</u-grid-item>
|
||||||
<u-grid-item>
|
<u-grid-item>
|
||||||
<view class="grid-textup">22</view>
|
<view class="grid-textup">{{shopInfo.zhuanrangfei}}万元</view>
|
||||||
<view class="grid-text">转让费</view>
|
<view class="grid-text">转让费</view>
|
||||||
</u-grid-item>
|
</u-grid-item>
|
||||||
<u-grid-item>
|
<u-grid-item>
|
||||||
<view class="grid-textup">22</view>
|
<view class="grid-textup">{{shopInfo.mianji}}m²</view>
|
||||||
<view class="grid-text">面积</view>
|
<view class="grid-text">面积</view>
|
||||||
</u-grid-item>
|
</u-grid-item>
|
||||||
</u-grid>
|
</u-grid>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bgc">
|
<view class="bgc">
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="location-detail">
|
<view class="location-detail">
|
||||||
<text>行业:</text>
|
<text>行业:{{shopInfo.trade1}}</text>
|
||||||
<text>区域:</text>
|
<text>区域:{{shopInfo.area1}}</text>
|
||||||
<text>地址:</text>
|
<text>地址:{{shopInfo.adress}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="bug-figure">
|
<view class="bgc">
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="seller-shop-detail">
|
<view class="seller-shop-detail">
|
||||||
<view class="avator">
|
<view class="avator">
|
||||||
<u-avatar :src="src"></u-avatar>
|
<u-avatar :src="src"></u-avatar>
|
||||||
<u-cell title="张先生" label="123456" :border="false"></u-cell>
|
<u-cell :title="shopInfo.lianxiren" :label="shopInfo.mobile" :border="false"></u-cell>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<u-divider :height="20"></u-divider>
|
<u-divider :height="5"></u-divider>
|
||||||
<u-cell title="店铺介绍" label="美食杂货店是一个主打食品和日用杂货的淘宝222222222222222222222美食杂货店是一个主打食品和日用杂货的淘宝美食杂货店是一个主打食品和日用杂货的淘宝" label-style="color = #5D5D5D"></u-cell>
|
<u-cell title="店铺介绍" :label="shopInfo.content" label-style="color = #5D5D5D;font-size: 24rpx;"></u-cell>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="bottom">
|
<view class="bottom">
|
||||||
<view class="bot-tab">
|
<view class="bot-tab">
|
||||||
<view class="tab-left">
|
<view class="tab-left">
|
||||||
<view class="share" @click="share()">
|
<view class="share" @click="share()">
|
||||||
<u-icon name="share-fill" color="green"></u-icon>
|
<image src="../../static/shoplist/share.png" style="width: 41rpx;height: 58rpx;"></image>
|
||||||
分享
|
|
||||||
</view>
|
|
||||||
<view class="customer" @click="assist()">
|
|
||||||
<u-icon name="server-fill" color="green"></u-icon>
|
|
||||||
客服
|
|
||||||
</view>
|
</view>
|
||||||
|
<button open-type="contact" session-from="sessionFrom" class="service-btn">
|
||||||
|
<image src="../../static/shoplist/service.png" style="width: 41rpx;height: 58rpx;margin-top: 11px;"></image>
|
||||||
|
</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="tab-right" @click="phonecall()">
|
<view class="tab-right" @click="phonecall()">
|
||||||
<view class="call" >
|
<view class="call">
|
||||||
<text>打电话</text>
|
<text>打电话</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<u-modal :show="showM" showCancelButton closeOnClickOverlay="false" confirmText="是" cancelText="否"
|
||||||
|
@confirm="confirm" @cancel="cancel">
|
||||||
|
<view>
|
||||||
|
<!-- <view>{{shopInfo.mobile}}</view> -->
|
||||||
|
<text>是否拨打该联系人电话?</text>
|
||||||
|
</view>
|
||||||
|
</u-modal>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bug-figure">
|
<view class="bug-figure">
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
@@ -72,104 +76,140 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
props: {
|
|
||||||
swiperlist: {
|
|
||||||
type: Array,
|
|
||||||
default () {
|
|
||||||
return [
|
|
||||||
"https://alifei01.cfp.cn/creative/vcg/800/new/VCG41175510742.jpg",
|
|
||||||
"https://alifei01.cfp.cn/creative/vcg/800/new/VCG41175510742.jpg",
|
|
||||||
"https://alifei01.cfp.cn/creative/vcg/800/new/VCG41175510742.jpg"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
shopInfo: {
|
|
||||||
type: Object,
|
|
||||||
default () {
|
|
||||||
return {
|
|
||||||
title: "石锅饭铺面转让石锅饭铺面转让石锅饭铺面转",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
shopInfo:{
|
shopInfo: {},
|
||||||
|
showM: false
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
phonecall(){
|
|
||||||
console.log('打电话');
|
|
||||||
},
|
|
||||||
share(){
|
|
||||||
console.log('分享');
|
|
||||||
},
|
|
||||||
assist(){
|
|
||||||
console.log('客服');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad: function(options) {
|
onLoad: function(options) {
|
||||||
const shopInfomation = JSON.parse(decodeURIComponent(options.shopInfo))
|
console.log('detail', options);
|
||||||
console.log(shopInfomation);
|
//点击轮播图跳转详情, 传递的参数id, type
|
||||||
this.shopInfo = shopInfomation
|
if (options.id !== undefined && options.type !== undefined) {
|
||||||
|
this.getDetail(options.type, options.id)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
phonecall() {
|
||||||
|
this.showM = true
|
||||||
|
},
|
||||||
|
share() {
|
||||||
|
console.log('分享');
|
||||||
|
},
|
||||||
|
getDetail(type, id) {
|
||||||
|
this.$api.getShopDetail(type, id).then(res => {
|
||||||
|
const data = res.data.data
|
||||||
|
if (res.data.code == 1) {
|
||||||
|
data.pics = [this.$api.imgUrl + data.pics]
|
||||||
|
this.shopInfo = data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.showM = false
|
||||||
|
let phone = this.shopInfo.mobile
|
||||||
|
phone = phone.toString()
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: phone,
|
||||||
|
success: function() {
|
||||||
|
console.log('拨打电话成功');
|
||||||
|
},
|
||||||
|
fail() {
|
||||||
|
console.log('打电话失败了');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.showM = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
page{
|
page {
|
||||||
background-color: #F8F8F8;
|
background-color: #F8F8F8;
|
||||||
}
|
}
|
||||||
.sub-detail{
|
|
||||||
margin-bottom: 30rpx;
|
|
||||||
|
|
||||||
|
.service-btn {
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
.bgc{
|
|
||||||
|
.service-btn::after {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub-detail {
|
||||||
|
margin: 30rpx 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bgc {
|
||||||
background-color: #F8F8F8;
|
background-color: #F8F8F8;
|
||||||
height: 30rpx;
|
height: 30rpx;
|
||||||
}
|
}
|
||||||
.detail{
|
|
||||||
|
.detail {
|
||||||
// background-color: #F8F8F8;
|
// background-color: #F8F8F8;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.bug-figure{
|
|
||||||
height: 100rpx;
|
.bug-figure {
|
||||||
|
height: 130rpx;
|
||||||
background-color: #F8F8F8;
|
background-color: #F8F8F8;
|
||||||
}
|
}
|
||||||
.title{
|
|
||||||
padding: 20rpx;
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 500;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
margin-bottom: 50rpx;
|
||||||
}
|
}
|
||||||
.grid-textup{
|
|
||||||
|
.grid-textup {
|
||||||
|
font-weight: 500;
|
||||||
color: #CC3333;
|
color: #CC3333;
|
||||||
font-size: 20px;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
.grid-text{
|
|
||||||
|
.grid-text {
|
||||||
color: #B3B3B3;
|
color: #B3B3B3;
|
||||||
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
.location-detail{
|
|
||||||
|
.location-detail {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 50rpx;
|
// margin-top: 50rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding-left: 16rpx;
|
padding-left: 16rpx;
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
.seller-shop-detail{
|
|
||||||
margin-top: 50rpx;
|
.seller-shop-detail {
|
||||||
|
/deep/ .u-divider {
|
||||||
|
margin: 28rpx 0 0 0 !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.avator{
|
|
||||||
|
.avator {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-left: 16rpx;
|
margin-left: 16rpx;
|
||||||
margin-top: 50rpx;
|
margin-top: 28rpx;
|
||||||
|
|
||||||
|
/deep/ .u-cell__body {
|
||||||
|
padding: 0 12rpx !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.bottom{
|
|
||||||
|
.bottom {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@@ -178,26 +218,22 @@
|
|||||||
// height: 100rpx;
|
// height: 100rpx;
|
||||||
// bottom: calc(var(--window-bottom) + 20px);
|
// bottom: calc(var(--window-bottom) + 20px);
|
||||||
}
|
}
|
||||||
.bot-tab{
|
|
||||||
|
.bot-tab {
|
||||||
display: flex;
|
display: flex;
|
||||||
// flex: 1;
|
// flex: 1;
|
||||||
justify-content: space-evenly;
|
justify-content: space-evenly;
|
||||||
}
|
}
|
||||||
.tab-left{
|
|
||||||
|
.tab-left {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
.customer{
|
|
||||||
// height: 50px;
|
|
||||||
display: flex;
|
.tab-right {
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
.tab-right{
|
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -205,14 +241,16 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
background-image: linear-gradient(to right, #E86262, #CC3333);
|
background-image: linear-gradient(to right, #E86262, #CC3333);
|
||||||
}
|
}
|
||||||
.share{
|
|
||||||
|
.share {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
.call{
|
|
||||||
|
.call {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
@@ -55,7 +55,11 @@
|
|||||||
methods: {
|
methods: {
|
||||||
getBanner() {
|
getBanner() {
|
||||||
this.$api.getBanner().then(res => {
|
this.$api.getBanner().then(res => {
|
||||||
this.swiperList = res.data.data.map(item => this.$api.imgUrl + item.img)
|
res.data.data.forEach(item=>{
|
||||||
|
item.img =this.$api.imgUrl + item.img
|
||||||
|
})
|
||||||
|
this.swiperList = res.data.data
|
||||||
|
// .map(item => this.$api.imgUrl + item.img)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getNotice() {
|
getNotice() {
|
||||||
|
|||||||
@@ -1,69 +1,143 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class="avatar">
|
<view class="avatar">
|
||||||
<u-avatar @click="changeAvatar()" :src="Info.avatar"></u-avatar>
|
<u-avatar @click="changeAvatar()" size="140rpx" :src="Info.avatar"></u-avatar>
|
||||||
</view>
|
</view>
|
||||||
<view class="name-edit">
|
<!-- <view class="name-edit">
|
||||||
<text>用户名:</text>
|
<text>用户名:</text>
|
||||||
<u-input border="surround" v-model="Info.username"></u-input>
|
<u-input border="surround" v-model="Info.username"></u-input>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="send">
|
<view class="info-name">
|
||||||
<u-button @click="editInfo(Info)" color="linear-gradient(to right, #E86262, #CC3333)">提交</u-button>
|
<u--form labelPosition="left" :model="Info">
|
||||||
|
<u-form-item label="修改昵称" prop="Info.username" borderBottom>
|
||||||
|
<u--input v-model="Info.username" border="none" placeholder="请输入您的昵称"
|
||||||
|
placeholderStyle="color: #CCCCCC;font-size: 26rpx;"></u--input>
|
||||||
|
</u-form-item>
|
||||||
|
</u--form>
|
||||||
</view>
|
</view>
|
||||||
|
<view style="height: 100rpx;"></view>
|
||||||
|
<u-button @click="editInfo(Info)" color="#339967">提交</u-button>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data() {
|
||||||
return {
|
return {
|
||||||
Info:{
|
Info: {
|
||||||
avatar:[],
|
avatar: '',
|
||||||
username:''
|
username: '',
|
||||||
|
avatarUrl: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
changeAvatar(){
|
//获取头像昵称
|
||||||
|
getUserInfo() {
|
||||||
|
this.$api.getUser().then(res => {
|
||||||
|
const data = res.data.data
|
||||||
|
if (data) {
|
||||||
|
this.Info.avatar = this.$api.imgUrl + data.avatar
|
||||||
|
this.avatarUrl = data.avatar
|
||||||
|
this.Info.username = data.nickname
|
||||||
|
}
|
||||||
|
}).finally(_ => {})
|
||||||
|
},
|
||||||
|
updatePromise(filePath) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const token = uni.getStorageSync('loginToken')
|
||||||
|
const a = uni.uploadFile({
|
||||||
|
url: this.$api.uploadImgUrl,
|
||||||
|
filePath: filePath,
|
||||||
|
name: 'file',
|
||||||
|
header: {
|
||||||
|
"Content-Type": "multipart/form-data",
|
||||||
|
'Authorization': token
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
resolve(JSON.parse(res.data).data.url)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeAvatar() {
|
||||||
uni.chooseImage({
|
uni.chooseImage({
|
||||||
|
count: 1, //默认选择1张图片
|
||||||
|
sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有
|
||||||
success: (chooseImageRes) => {
|
success: (chooseImageRes) => {
|
||||||
this.Info.avatar = chooseImageRes.tempFilePaths.toString() ;
|
this.Info.avatar = chooseImageRes.tempFilePaths[0] //更新本地浏览头像图片
|
||||||
|
if (chooseImageRes.tempFilePaths[0]) {
|
||||||
|
const result = this.updatePromise(chooseImageRes.tempFilePaths[0]) //上传图片
|
||||||
|
result.then(value => {
|
||||||
|
this.avatarUrl = '/' + value
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
editInfo(data){
|
editInfo() {
|
||||||
let resdata=JSON.stringify(data);
|
// let resdata = JSON.stringify(data);
|
||||||
this.$api.editPersonInfo(resdata).then(res => {
|
// this.$api.editPersonInfo(resdata).then(res => {
|
||||||
console.log(resdata);
|
// console.log(resdata);
|
||||||
console.log(res)
|
// console.log(res)
|
||||||
})
|
// })
|
||||||
|
this.$api.editPersonInfo({
|
||||||
|
nickname: this.Info.username,
|
||||||
|
avatar: this.avatarUrl
|
||||||
|
}).then(res => {
|
||||||
|
console.log('修改头像昵称==', res);
|
||||||
|
this.$toast.success(res.data.msg)
|
||||||
|
if (res.data.code == 1) {
|
||||||
|
uni.reLaunch({
|
||||||
|
url: '/pages/my/my'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).finally(_ => {})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
let that = this
|
let that = this
|
||||||
this.$data.Info.username = wx.getStorageSync('nickname')
|
this.getUserInfo()
|
||||||
this.$data.Info.avatar = wx.getStorageSync('avatar')
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style lang="scss">
|
||||||
.avatar{
|
page {
|
||||||
width: 100%;
|
background-color: #f4f4f4;
|
||||||
height: 200rpx;
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
margin: 60rpx 0;
|
||||||
|
/* width: 100%; */
|
||||||
|
/* height: 200rpx; */
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.name-edit{
|
|
||||||
|
.name-edit {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.send{
|
|
||||||
width: 50%;
|
|
||||||
transform: translateX(50%) translateY(50%);
|
|
||||||
|
|
||||||
|
.info-name {
|
||||||
|
.u-form-item {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-form-item__body__left {
|
||||||
|
width: 80px !important;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.u-button {
|
||||||
|
width: 644rpx !important;
|
||||||
|
height: 86rpx !important;
|
||||||
|
background: #0EBB5B;
|
||||||
|
border-radius: 20rpx !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -4,10 +4,12 @@
|
|||||||
<view class="profile">
|
<view class="profile">
|
||||||
<image src="../../static/img/wo_bj_ll@2x.png" mode="aspectFit" class="profile-bgi"></image>
|
<image src="../../static/img/wo_bj_ll@2x.png" mode="aspectFit" class="profile-bgi"></image>
|
||||||
<view class="avator">
|
<view class="avator">
|
||||||
<u-avatar :src="src"></u-avatar>
|
<u-avatar :src="src" size="100rpx"></u-avatar>
|
||||||
</view>
|
</view>
|
||||||
<view class="username">{{username}}</view>
|
<view class="username">{{username}}</view>
|
||||||
<view class="account">账号:{{account}} <u-icon name="edit-pen" class="edit-icon" size="20" @click="toEdit"></u-icon></view>
|
<view class="account">账号:{{account}}
|
||||||
|
<u-icon name="edit-pen" class="edit-icon" size="20" color="#fff" @click="toEdit"></u-icon>
|
||||||
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="publish">
|
<view class="publish">
|
||||||
@@ -43,8 +45,8 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
src: 'https://cdn.uviewui.com/uview/album/2.jpg',
|
src: 'https://cdn.uviewui.com/uview/album/2.jpg',
|
||||||
account: '',
|
account: '123',
|
||||||
username: '',
|
username: '用户名',
|
||||||
isLoad: true
|
isLoad: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -54,8 +56,6 @@
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.isLoad = true
|
this.isLoad = true
|
||||||
this.$data.account = wx.getStorageSync('account')
|
|
||||||
this.$data.username = wx.getStorageSync('nickname')
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
reOnLoad() {
|
reOnLoad() {
|
||||||
@@ -65,6 +65,9 @@
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.isLoad = true
|
this.isLoad = true
|
||||||
|
if(this.isLoad){
|
||||||
|
this.getInfo()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
failToLoad() {
|
failToLoad() {
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
@@ -86,17 +89,22 @@
|
|||||||
url: '/pages/Partnerships/Partnerships'
|
url: '/pages/Partnerships/Partnerships'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toEdit(){
|
toEdit() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/my/edit/edit'
|
url: '/pages/my/edit/edit'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//---------页面调用接口示例------------
|
||||||
|
getInfo() {
|
||||||
|
this.$api.getUser().then(res => {
|
||||||
|
var data = res.data.data
|
||||||
|
if (data) {
|
||||||
|
this.src = this.$api.imgUrl + data.avatar
|
||||||
|
this.username = data.nickname
|
||||||
|
this.account = data.sn
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//---------页面调用接口示例------------
|
|
||||||
// getInfo() {
|
|
||||||
// this.$api.getUserInfo().then(res => {
|
|
||||||
// console.log('userInfo', res);
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -134,9 +142,8 @@
|
|||||||
font-weight: 1rpx;
|
font-weight: 1rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.edit-icon{
|
|
||||||
|
|
||||||
}
|
.edit-icon {}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -1,46 +1,60 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="form">
|
<view class="form">
|
||||||
<u-form :model="form" ref="uForm">
|
<u-form :model="form" ref="uForm">
|
||||||
<u-form-item label="标题" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="标题" label-position="top" border-bottom="true" prop="title" label-width="auto">
|
||||||
<u-input v-model="form.name" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.title" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="区域" label-position="top" border-bottom="true" label-width="100%" right-icon="arrow-right">
|
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right" prop="region" label-width="auto">
|
||||||
<text @click="show1 = true" class="checktext">请选择所属区域</text>
|
<text @click="show1 = true" class="checkedtext" v-if="form.region.length>0">{{form.region}}</text>
|
||||||
<view class="arrow-icon">
|
<text @click="show1 = true" class="checktext" v-else>请选择所属区域</text>
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
|
||||||
</view>
|
|
||||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<text @click="show3 = true" class="checktext">请选择行业业态</text>
|
|
||||||
<view class="arrow-icon">
|
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
|
||||||
</view>
|
|
||||||
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false"></u-picker>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="预计投资" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺转让费" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="100%">
|
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
|
|
||||||
</u-form>
|
<view class="arrow-icon">
|
||||||
<view class="bug-figure"></view>
|
<u-icon name="arrow-right" size="30px" @click="show1 = true"></u-icon>
|
||||||
<u-button @click="submit" color="linear-gradient(to right, #E86262, #CC3333)" :size="normal" shape="circle" class="submit-btn">发布</u-button>
|
</view>
|
||||||
<view class="bug-figure"></view>
|
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"
|
||||||
|
v-model="form.region" @confirm="regionConfirm"></u-picker>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" prop="trade" >
|
||||||
|
<text @click="show2 = true" class="checkedtext" v-if="form.trade.length>0">{{form.trade}}</text>
|
||||||
|
<text @click="show2 = true" class="checktext" v-else>请选择行业</text>
|
||||||
|
<view class="arrow-icon">
|
||||||
|
<u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
|
||||||
|
</view>
|
||||||
|
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false" :columns="[Classcolumns]"
|
||||||
|
v-model="form.trade" @confirm="tradeConfirm"></u-picker>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="auto" prop="karma">
|
||||||
|
<text @click="show3 = true" class="checkedtext" v-if="form.karma.length>0">{{form.karma}}</text>
|
||||||
|
<text @click="show3 = true" class="checktext" v-else>请选择业态</text>
|
||||||
|
<view class="arrow-icon">
|
||||||
|
<u-icon name="arrow-right" size="30px" @click="show3 = true"></u-icon>
|
||||||
|
</view>
|
||||||
|
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false" :columns="[Karmacolumns]"
|
||||||
|
v-model="form.karma" @confirm="karmaConfirm"></u-picker>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="size">
|
||||||
|
<u-input v-model="form.size" placeholder="请输入面积" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent">
|
||||||
|
<u-input v-model="form.rent" placeholder="请输入租金" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="预计投资" label-position="top" border-bottom="true" label-width="auto" prop="sell">
|
||||||
|
<u-input v-model="form.sell" placeholder="请输入预计投资" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="name">
|
||||||
|
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="call">
|
||||||
|
<u-input v-model="form.call" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="introduce">
|
||||||
|
<u-input v-model="form.introduce" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
</u-form>
|
||||||
|
<view class="bug-figure"></view>
|
||||||
|
<u-button @click="submit" color="linear-gradient(to right, #E86262, #CC3333)" :size="normal" shape="circle"
|
||||||
|
class="submit-btn">发布</u-button>
|
||||||
|
<view class="bug-figure"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -48,53 +62,183 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [],
|
||||||
ShopInfomation:{
|
ShopInfomation: {
|
||||||
city:'',
|
city: '',
|
||||||
area:'',
|
area: '',
|
||||||
count:0,
|
count: 0,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
form:{
|
form: {
|
||||||
title:''
|
title: '',
|
||||||
|
region: '',
|
||||||
|
place: '',
|
||||||
|
trade: '',
|
||||||
|
karma: '',
|
||||||
|
size: '',
|
||||||
|
rent: '',
|
||||||
|
sell: '',
|
||||||
|
name: '',
|
||||||
|
call: '',
|
||||||
|
introduce: ''
|
||||||
|
},
|
||||||
|
Classcolumns: [],
|
||||||
|
ClassCheckId:'',
|
||||||
|
Karmacolumns: [],
|
||||||
|
pid:[],
|
||||||
|
show1: false,
|
||||||
|
show2: false,
|
||||||
|
show3: false,
|
||||||
|
rules: {
|
||||||
|
'title': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入标题',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'trade': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择行业',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'region': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择地区',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'karma': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择业态',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'name': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入姓名',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'sell': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入转让金',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'introduce': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入介绍',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'size': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入面积',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'rent': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入租金',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'place': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入地址',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'call':[{
|
||||||
|
required: true,
|
||||||
|
message: '请输入电话号码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if(value) {
|
||||||
|
return this.$u.test.mobile(value);
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
message: '号码不正确',
|
||||||
|
trigger: ['change','blur'],
|
||||||
|
}]
|
||||||
|
|
||||||
},
|
},
|
||||||
columns:[
|
|
||||||
],
|
|
||||||
show1:false,
|
|
||||||
show2:false,
|
|
||||||
show3:false,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
confirmArea(e) {
|
handleSearchAddress() {
|
||||||
this.ShopInfomation.city = e.value[0]
|
uni.navigateTo({
|
||||||
this.ShopInfomation.area = e.value[1]
|
url: '/pages/publish/chooseAddress/chooseAddress'
|
||||||
this.show1 = false
|
})
|
||||||
},
|
},
|
||||||
submit(){
|
submit() {
|
||||||
console.log('提交');
|
this.$refs.uForm.validate().then(res => {
|
||||||
|
console.log("提交表单信息:" + JSON.stringify(this.form))
|
||||||
|
uni.$u.toast('发布成功')
|
||||||
|
// 调用服务端入表接口W
|
||||||
|
}).catch(errors => {
|
||||||
|
console.log("失败信息:" + JSON.stringify(errors))
|
||||||
|
// uni.$u.toast('校验失败')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
tradeConfirm(e){
|
||||||
|
this.show2 = false
|
||||||
|
this.form.trade = e.value[0]
|
||||||
|
this.ClassCheckId = this.pid[e.indexs[0]]
|
||||||
|
this.$api.getClassList(this.ClassCheckId).then(res => {
|
||||||
|
// console.log(res);
|
||||||
|
this.Karmacolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
karmaConfirm(e){
|
||||||
|
this.show3 = false
|
||||||
|
this.form.karma = e.value[0]
|
||||||
|
},
|
||||||
|
regionConfirm(e){
|
||||||
|
this.show1 = false
|
||||||
|
this.form.region = e.value[0]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
this.$refs.uForm.setRules(this.rules)
|
||||||
|
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.$api.getClassList().then(res =>{
|
||||||
|
// console.log(res.data.data.length);
|
||||||
|
this.Classcolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
this.pid = res.data.data.map((item) => {
|
||||||
|
return item = item.id
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isChecked(index){
|
||||||
|
if(index.length > 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.count{
|
.count {}
|
||||||
|
|
||||||
}
|
.form {
|
||||||
.form{
|
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
.input-class{
|
|
||||||
|
.input-class {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
font-weight:1px;
|
font-weight: 1px;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
.upload{
|
|
||||||
|
.upload {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -103,28 +247,38 @@
|
|||||||
height: 300rpx;
|
height: 300rpx;
|
||||||
// margin-right: 20px;
|
// margin-right: 20px;
|
||||||
}
|
}
|
||||||
.submit-btn{
|
|
||||||
|
.submit-btn {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
.bug-figure{
|
|
||||||
|
.bug-figure {
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
}
|
}
|
||||||
.checkbox1{
|
|
||||||
|
.checkbox1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.checktext{
|
|
||||||
margin-top: 5rpx;
|
|
||||||
font-size: 30rpx;
|
|
||||||
font-weight:1px;
|
|
||||||
color: #c1c4c7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.picker{
|
.checktext {
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
color: #c1c4c7;
|
||||||
|
}
|
||||||
|
.checkedtext{
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
.picker {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.arrow-icon{
|
|
||||||
|
.arrow-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10rpx;
|
right: 10rpx;
|
||||||
transform: translateY(-20rpx);
|
transform: translateY(-20rpx);
|
||||||
|
|||||||
@@ -3,50 +3,57 @@
|
|||||||
<u-form :model="form" ref="uForm">
|
<u-form :model="form" ref="uForm">
|
||||||
<view class="upload">
|
<view class="upload">
|
||||||
<u-upload max-count="5" upload-icon="photo"></u-upload>
|
<u-upload max-count="5" upload-icon="photo"></u-upload>
|
||||||
<text class="count">发布项目图片({{ShopInfomation.count}}/5)</text>
|
<text class="count">发布房源图片({{ShopInfomation.count}}/5)</text>
|
||||||
</view>
|
</view>
|
||||||
|
<u-form-item label="标题" label-position="top" border-bottom="true" prop="title" label-width="auto">
|
||||||
|
<u-input v-model="form.title" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="地址" label-position="top" border-bottom="true" prop="place" label-width="auto">
|
||||||
|
<u-input v-model="form.place" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"
|
||||||
|
@change="changeAddress"></u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right" prop="region" label-width="auto">
|
||||||
|
<text @click="show1 = true" class="checkedtext" v-if="form.region.length>0">{{form.region}}</text>
|
||||||
|
<text @click="show1 = true" class="checktext" v-else>请选择所属区域</text>
|
||||||
|
|
||||||
<u-form-item label="项目标题" label-position="top" border-bottom="true" label-width="100%">
|
<view class="arrow-icon">
|
||||||
<u-input v-model="form.name" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
<u-icon name="arrow-right" size="30px" @click="show1 = true"></u-icon>
|
||||||
</u-form-item>
|
</view>
|
||||||
<u-form-item label="区域" label-position="top" border-bottom="true" label-width="100%" right-icon="arrow-right">
|
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"
|
||||||
<text @click="show1 = true" class="checktext">请选择所属区域</text>
|
v-model="form.region" @confirm="regionConfirm"></u-picker>
|
||||||
<view class="arrow-icon">
|
</u-form-item>
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" prop="trade" >
|
||||||
</view>
|
<text @click="show2 = true" class="checkedtext" v-if="form.trade.length>0">{{form.trade}}</text>
|
||||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
<text @click="show2 = true" class="checktext" v-else>请选择行业</text>
|
||||||
</u-form-item>
|
<view class="arrow-icon">
|
||||||
<u-form-item label="项目地址" label-position="top" border-bottom="true" label-width="100%">
|
<u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"></u-input>
|
</view>
|
||||||
</u-form-item>
|
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false" :columns="[Classcolumns]"
|
||||||
<u-form-item label="行业" label-position="top" border-bottom="true" label-width="100%" class="picker">
|
v-model="form.trade" @confirm="tradeConfirm"></u-picker>
|
||||||
<text @click="show2 = true" class="checktext">请选择行业类型</text>
|
</u-form-item>
|
||||||
<view class="arrow-icon">
|
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="auto" prop="karma">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<text @click="show3 = true" class="checkedtext" v-if="form.karma.length>0">{{form.karma}}</text>
|
||||||
</view>
|
<text @click="show3 = true" class="checktext" v-else>请选择业态</text>
|
||||||
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false"></u-picker>
|
<view class="arrow-icon">
|
||||||
</u-form-item>
|
<u-icon name="arrow-right" size="30px" @click="show3 = true"></u-icon>
|
||||||
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="100%">
|
</view>
|
||||||
<text @click="show3 = true" class="checktext">请选择行业业态</text>
|
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false" :columns="[Karmacolumns]"
|
||||||
<view class="arrow-icon">
|
v-model="form.karma" @confirm="karmaConfirm"></u-picker>
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
</u-form-item>
|
||||||
</view>
|
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="name">
|
||||||
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false"></u-picker>
|
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="call">
|
||||||
<u-input v-model="form.name" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.call" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="introduce">
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.introduce" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="100%">
|
</u-form>
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
<view class="bug-figure"></view>
|
||||||
</u-form-item>
|
<u-button @click="submit" color="linear-gradient(to right, #E86262, #CC3333)" :size="normal" shape="circle"
|
||||||
|
class="submit-btn">发布</u-button>
|
||||||
</u-form>
|
<view class="bug-figure"></view>
|
||||||
<view class="bug-figure"></view>
|
|
||||||
<u-button @click="submit" color="linear-gradient(to right, #E86262, #CC3333)" :size="normal" shape="circle" class="submit-btn">发布</u-button>
|
|
||||||
<view class="bug-figure"></view>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -54,53 +61,202 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [],
|
||||||
ShopInfomation:{
|
ShopInfomation: {
|
||||||
city:'',
|
city: '',
|
||||||
area:'',
|
area: '',
|
||||||
count:0,
|
count: 0,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
form:{
|
form: {
|
||||||
title:''
|
title: '',
|
||||||
|
region: '',
|
||||||
|
place: '',
|
||||||
|
trade: '',
|
||||||
|
karma: '',
|
||||||
|
size: '',
|
||||||
|
rent: '',
|
||||||
|
sell: '',
|
||||||
|
name: '',
|
||||||
|
call: '',
|
||||||
|
introduce: ''
|
||||||
|
},
|
||||||
|
Classcolumns: [],
|
||||||
|
ClassCheckId:'',
|
||||||
|
Karmacolumns: [],
|
||||||
|
pid:[],
|
||||||
|
show1: false,
|
||||||
|
show2: false,
|
||||||
|
show3: false,
|
||||||
|
rules: {
|
||||||
|
'title': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入标题',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'trade': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择行业',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'region': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择地区',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'karma': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择业态',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'name': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入姓名',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'sell': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入转让金',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'introduce': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入介绍',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'size': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入面积',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'rent': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入租金',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'place': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入地址',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'call':[{
|
||||||
|
required: true,
|
||||||
|
message: '请输入电话号码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if(value) {
|
||||||
|
return this.$u.test.mobile(value);
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
message: '号码不正确',
|
||||||
|
trigger: ['change','blur'],
|
||||||
|
}]
|
||||||
|
|
||||||
},
|
},
|
||||||
columns:[
|
|
||||||
],
|
|
||||||
show1:false,
|
|
||||||
show2:false,
|
|
||||||
show3:false,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
confirmArea(e) {
|
handleSearchAddress() {
|
||||||
this.ShopInfomation.city = e.value[0]
|
uni.navigateTo({
|
||||||
this.ShopInfomation.area = e.value[1]
|
url: '/pages/publish/chooseAddress/chooseAddress'
|
||||||
this.show1 = false
|
})
|
||||||
},
|
},
|
||||||
submit(){
|
changeAddress(e) {
|
||||||
console.log('提交');
|
// console.log('changeAddress', e);
|
||||||
|
this.getAddressList(e)
|
||||||
|
},
|
||||||
|
getAddressList(value) {
|
||||||
|
var that = this
|
||||||
|
uni.request({
|
||||||
|
url: 'https://apis.map.qq.com/ws/geocoder/v1/?address=' + value + '&key=' +
|
||||||
|
that.$api.key,
|
||||||
|
success(res) {
|
||||||
|
console.log('diz', res.data.result.location);
|
||||||
|
console.log('lat', res.data.result.location.lat);
|
||||||
|
console.log('lng', res.data.result.location.lng);
|
||||||
|
},
|
||||||
|
fail(err) {
|
||||||
|
console.log('请求区域失败:', err);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
this.$refs.uForm.validate().then(res => {
|
||||||
|
console.log("提交表单信息:" + JSON.stringify(this.form))
|
||||||
|
uni.$u.toast('发布成功')
|
||||||
|
// 调用服务端入表接口W
|
||||||
|
}).catch(errors => {
|
||||||
|
console.log("失败信息:" + JSON.stringify(errors))
|
||||||
|
// uni.$u.toast('校验失败')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
tradeConfirm(e){
|
||||||
|
this.show2 = false
|
||||||
|
this.form.trade = e.value[0]
|
||||||
|
this.ClassCheckId = this.pid[e.indexs[0]]
|
||||||
|
this.$api.getClassList(this.ClassCheckId).then(res => {
|
||||||
|
// console.log(res);
|
||||||
|
this.Karmacolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
karmaConfirm(e){
|
||||||
|
this.show3 = false
|
||||||
|
this.form.karma = e.value[0]
|
||||||
|
},
|
||||||
|
regionConfirm(e){
|
||||||
|
this.show1 = false
|
||||||
|
this.form.region = e.value[0]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
this.$refs.uForm.setRules(this.rules)
|
||||||
|
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.$api.getClassList().then(res =>{
|
||||||
|
// console.log(res.data.data.length);
|
||||||
|
this.Classcolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
this.pid = res.data.data.map((item) => {
|
||||||
|
return item = item.id
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isChecked(index){
|
||||||
|
if(index.length > 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.count{
|
.count {}
|
||||||
|
|
||||||
}
|
.form {
|
||||||
.form{
|
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
.input-class{
|
|
||||||
|
.input-class {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
font-weight:1px;
|
font-weight: 1px;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
.upload{
|
|
||||||
|
.upload {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -109,28 +265,38 @@
|
|||||||
height: 300rpx;
|
height: 300rpx;
|
||||||
// margin-right: 20px;
|
// margin-right: 20px;
|
||||||
}
|
}
|
||||||
.submit-btn{
|
|
||||||
|
.submit-btn {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
.bug-figure{
|
|
||||||
|
.bug-figure {
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
}
|
}
|
||||||
.checkbox1{
|
|
||||||
|
.checkbox1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.checktext{
|
|
||||||
margin-top: 5rpx;
|
|
||||||
font-size: 30rpx;
|
|
||||||
font-weight:1px;
|
|
||||||
color: #c1c4c7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.picker{
|
.checktext {
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
color: #c1c4c7;
|
||||||
|
}
|
||||||
|
.checkedtext{
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
.picker {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.arrow-icon{
|
|
||||||
|
.arrow-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10rpx;
|
right: 10rpx;
|
||||||
transform: translateY(-20rpx);
|
transform: translateY(-20rpx);
|
||||||
|
|||||||
@@ -6,40 +6,45 @@
|
|||||||
<text class="count">发布店铺图片({{ShopInfomation.count}}/5)</text>
|
<text class="count">发布店铺图片({{ShopInfomation.count}}/5)</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<u-form-item label="标题" label-position="top" border-bottom="true" >
|
<u-form-item label="标题" label-position="top" border-bottom="true" prop="title" label-width="auto">
|
||||||
<u-input v-model="form.name" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.title" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right">
|
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right" prop="region" label-width="auto">
|
||||||
<text @click="show1 = true" class="checktext">请选择所属区域</text>
|
<text @click="show1 = true" class="checkedtext" v-if="form.region.length>0">{{form.region}}</text>
|
||||||
|
<text @click="show1 = true" class="checktext" v-else>请选择所属区域</text>
|
||||||
|
|
||||||
<view class="arrow-icon">
|
<view class="arrow-icon">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-icon name="arrow-right" size="30px" @click="show1 = true"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"
|
||||||
|
v-model="form.region" @confirm="regionConfirm"></u-picker>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="地址" label-position="top" border-bottom="true" >
|
<u-form-item label="地址" label-position="top" border-bottom="true" prop="place" label-width="auto">
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.place" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="适合行业" label-position="top" border-bottom="true" class="picker" label-width="100%">
|
<u-form-item label="适合行业" label-position="top" border-bottom="true" class="picker" label-width="auto" prop="trade" >
|
||||||
<text @click="show2 = true" class="checktext">请选择行业类型</text>
|
<text @click="show2 = true" class="checkedtext" v-if="form.trade.length>0">{{form.trade}}</text>
|
||||||
|
<text @click="show2 = true" class="checktext" v-else>请选择店铺行业</text>
|
||||||
<view class="arrow-icon">
|
<view class="arrow-icon">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false"></u-picker>
|
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false" :columns="[Classcolumns]"
|
||||||
|
v-model="form.trade" @confirm="tradeConfirm"></u-picker>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="面积" label-position="top" border-bottom="true" >
|
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="size">
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.size" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent">
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.rent" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="详情" label-position="top" border-bottom="true" >
|
<u-form-item label="详情" label-position="top" border-bottom="true" label-width="auto" prop="introduce">
|
||||||
<u-input v-model="form.name" placeholder="请输入店铺转让费" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.introduce" placeholder="请输入详情" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="name">
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.name" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="100%">
|
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="call">
|
||||||
<u-input v-model="form.name" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.call" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</u-form>
|
</u-form>
|
||||||
<view class="bug-figure"></view>
|
<view class="bug-figure"></view>
|
||||||
@@ -60,14 +65,79 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
form:{
|
form: {
|
||||||
title:''
|
title: '',
|
||||||
|
region: '',
|
||||||
|
place: '',
|
||||||
|
trade: '',
|
||||||
|
size: '',
|
||||||
|
rent: '',
|
||||||
|
name: '',
|
||||||
|
call: '',
|
||||||
|
introduce: ''
|
||||||
},
|
},
|
||||||
columns:[
|
Classcolumns:[],
|
||||||
],
|
|
||||||
show1:false,
|
show1:false,
|
||||||
show2:false,
|
show2:false,
|
||||||
show3:false,
|
show3:false,
|
||||||
|
rules: {
|
||||||
|
'title': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入标题',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'trade': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择行业',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'region': [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择地区',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'name': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入姓名',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'introduce': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入介绍',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'size': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入面积',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'rent': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入租金',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'place': [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入地址',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}],
|
||||||
|
'call':[{
|
||||||
|
required: true,
|
||||||
|
message: '请输入电话号码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if(value) {
|
||||||
|
return this.$u.test.mobile(value);
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
message: '号码不正确',
|
||||||
|
trigger: ['change','blur'],
|
||||||
|
}]
|
||||||
|
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -77,10 +147,37 @@
|
|||||||
this.ShopInfomation.area = e.value[1]
|
this.ShopInfomation.area = e.value[1]
|
||||||
this.show1 = false
|
this.show1 = false
|
||||||
},
|
},
|
||||||
submit(){
|
submit() {
|
||||||
console.log('提交');
|
this.$refs.uForm.validate().then(res => {
|
||||||
|
console.log("提交表单信息:" + JSON.stringify(this.form))
|
||||||
|
uni.$u.toast('发布成功')
|
||||||
|
// 调用服务端入表接口W
|
||||||
|
}).catch(errors => {
|
||||||
|
console.log("失败信息:" + JSON.stringify(errors))
|
||||||
|
// uni.$u.toast('校验失败')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
tradeConfirm(e){
|
||||||
|
this.show2 = false
|
||||||
|
this.form.trade = e.value[0]
|
||||||
|
},
|
||||||
|
regionConfirm(e){
|
||||||
|
this.show1 = false
|
||||||
|
this.form.region = e.value[0]
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.$api.getClassList().then(res =>{
|
||||||
|
// console.log(res.data.data.length);
|
||||||
|
this.Classcolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
this.$refs.uForm.setRules(this.rules)
|
||||||
|
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -123,7 +220,12 @@
|
|||||||
font-weight:1px;
|
font-weight:1px;
|
||||||
color: #c1c4c7;
|
color: #c1c4c7;
|
||||||
}
|
}
|
||||||
|
.checkedtext{
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
.picker{
|
.picker{
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -10,32 +10,36 @@
|
|||||||
<u-input v-model="form.title" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.title" placeholder="请输入标题以便吸引人的注意哦" placeholder-class="input-class" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right" prop="region" label-width="auto">
|
<u-form-item label="区域" label-position="top" border-bottom="true" right-icon="arrow-right" prop="region" label-width="auto">
|
||||||
<text @click="show1 = true" class="checktext">请选择所属区域</text>
|
<text @click="show1 = true" class="checkedtext" v-if="form.region.length>0">{{form.region}}</text>
|
||||||
|
<text @click="show1 = true" class="checktext" v-else>请选择所属区域</text>
|
||||||
|
|
||||||
<view class="arrow-icon">
|
<view class="arrow-icon">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-icon name="arrow-right" size="30px" @click="show1 = true"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"
|
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"
|
||||||
v-model="form.region"></u-picker>
|
v-model="form.region" @confirm="regionConfirm"></u-picker>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="地址" label-position="top" border-bottom="true" prop="place" label-width="auto">
|
<u-form-item label="地址" label-position="top" border-bottom="true" prop="place" label-width="auto">
|
||||||
<u-input v-model="form.place" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"
|
<u-input v-model="form.place" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"
|
||||||
@change="changeAddress"></u-input>
|
@change="changeAddress"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" prop="trade">
|
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" prop="trade" >
|
||||||
<text @click="show2 = true" class="checktext">请选择行业类型</text>
|
<text @click="show2 = true" class="checkedtext" v-if="form.trade.length>0">{{form.trade}}</text>
|
||||||
|
<text @click="show2 = true" class="checktext" v-else>请选择店铺行业</text>
|
||||||
<view class="arrow-icon">
|
<view class="arrow-icon">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false"
|
<u-picker mode="region" :show="show2" :closeOnClickOverlay="true" @close="show2 = false" :columns="[Classcolumns]"
|
||||||
v-model="form.trade"></u-picker>
|
v-model="form.trade" @confirm="tradeConfirm"></u-picker>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="auto" prop="karma">
|
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="auto" prop="karma">
|
||||||
<text @click="show3 = true" class="checktext">请选择行业业态</text>
|
<text @click="show3 = true" class="checkedtext" v-if="form.karma.length>0">{{form.karma}}</text>
|
||||||
|
<text @click="show3 = true" class="checktext" v-else>请选择店铺业态</text>
|
||||||
<view class="arrow-icon">
|
<view class="arrow-icon">
|
||||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
<u-icon name="arrow-right" size="30px" @click="show3 = true"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false"
|
<u-picker mode="region" :show="show3" :closeOnClickOverlay="true" @close="show3 = false" :columns="[Karmacolumns]"
|
||||||
v-model="form.karma"></u-picker>
|
v-model="form.karma" @confirm="karmaConfirm"></u-picker>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="size">
|
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="size">
|
||||||
<u-input v-model="form.size" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"></u-input>
|
<u-input v-model="form.size" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"></u-input>
|
||||||
@@ -67,7 +71,7 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [],
|
regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [],
|
||||||
ShopInfomation: {
|
ShopInfomation: {
|
||||||
city: '',
|
city: '',
|
||||||
area: '',
|
area: '',
|
||||||
@@ -88,9 +92,10 @@
|
|||||||
call: '',
|
call: '',
|
||||||
introduce: ''
|
introduce: ''
|
||||||
},
|
},
|
||||||
columns: [
|
Classcolumns: [],
|
||||||
|
ClassCheckId:'',
|
||||||
],
|
Karmacolumns: [],
|
||||||
|
pid:[],
|
||||||
show1: false,
|
show1: false,
|
||||||
show2: false,
|
show2: false,
|
||||||
show3: false,
|
show3: false,
|
||||||
@@ -181,8 +186,8 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
changeAddress(e) {
|
changeAddress(e) {
|
||||||
console.log('changeAddress', e);
|
// console.log('changeAddress', e);
|
||||||
// this.getAddressList(e)
|
this.getAddressList(e)
|
||||||
},
|
},
|
||||||
getAddressList(value) {
|
getAddressList(value) {
|
||||||
var that = this
|
var that = this
|
||||||
@@ -199,9 +204,49 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
tradeConfirm(e){
|
||||||
|
this.show2 = false
|
||||||
|
this.form.trade = e.value[0]
|
||||||
|
this.ClassCheckId = this.pid[e.indexs[0]]
|
||||||
|
this.$api.getClassList(this.ClassCheckId).then(res => {
|
||||||
|
// console.log(res);
|
||||||
|
this.Karmacolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
karmaConfirm(e){
|
||||||
|
this.show3 = false
|
||||||
|
this.form.karma = e.value[0]
|
||||||
|
},
|
||||||
|
regionConfirm(e){
|
||||||
|
this.show1 = false
|
||||||
|
this.form.region = e.value[0]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
onReady() {
|
onReady() {
|
||||||
this.$refs.uForm.setRules(this.rules)
|
this.$refs.uForm.setRules(this.rules)
|
||||||
|
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.$api.getClassList().then(res =>{
|
||||||
|
// console.log(res.data.data.length);
|
||||||
|
this.Classcolumns = res.data.data.map((item) => {
|
||||||
|
return item = item.name
|
||||||
|
})
|
||||||
|
this.pid = res.data.data.map((item) => {
|
||||||
|
return item = item.id
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isChecked(index){
|
||||||
|
if(index.length > 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -250,7 +295,12 @@
|
|||||||
font-weight: 1px;
|
font-weight: 1px;
|
||||||
color: #c1c4c7;
|
color: #c1c4c7;
|
||||||
}
|
}
|
||||||
|
.checkedtext{
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
.picker {
|
.picker {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const serverHost = 'https://spsp.feashow.com/api/' //http://xx.xxx.xx
|
const serverHost = 'https://spsp.feashow.com/api' //http://xx.xxx.xx
|
||||||
|
|
||||||
const service = {
|
const service = {
|
||||||
get(url, data) {
|
get(url, data) {
|
||||||
@@ -130,7 +130,7 @@ const apiService = {
|
|||||||
serverHost,
|
serverHost,
|
||||||
imgUrl: 'https://spsp.feashow.com/',
|
imgUrl: 'https://spsp.feashow.com/',
|
||||||
key: 'ZRKBZ-Q7FWL-GVZPK-MCRBU-4XFB5-ATBDB',
|
key: 'ZRKBZ-Q7FWL-GVZPK-MCRBU-4XFB5-ATBDB',
|
||||||
uploadImgUrl: serverHost + `/upload/image/`,
|
uploadImgUrl: serverHost + '/upload/image/',
|
||||||
//登录接口
|
//登录接口
|
||||||
login(data) {
|
login(data) {
|
||||||
const url = '/login/mnpLogin'
|
const url = '/login/mnpLogin'
|
||||||
@@ -160,10 +160,10 @@ const apiService = {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取详情
|
// 获取详情
|
||||||
getProductDetail(id) {
|
getShopDetail(type,id) {
|
||||||
const url = `/home/pdetail/?productId=${id}`
|
const url = `/home/adetail/?type=${type}&id=${id}`
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
resolve(service.get(url, id))
|
resolve(service.get(url))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//修改
|
//修改
|
||||||
@@ -211,24 +211,31 @@ const apiService = {
|
|||||||
resolve(service.get(url))
|
resolve(service.get(url))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
//获取个人信息
|
||||||
|
getUser() {
|
||||||
|
const url = '/center/userinfo'
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
resolve(service.get(url))
|
||||||
|
})
|
||||||
|
},
|
||||||
//修改个人信息
|
//修改个人信息
|
||||||
editPersonInfo(data){
|
editPersonInfo(data) {
|
||||||
const url = `center/userupdate`
|
const url = `/center/userupdate`
|
||||||
return new Promise((resolve,reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
resolve(service.putWithFormData(url,data))
|
resolve(service.post(url, data))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取我的匹配
|
//获取我的匹配
|
||||||
getMyMatch(){
|
getMyMatch() {
|
||||||
const url = `/center/match/`
|
const url = `/center/match/`
|
||||||
return new Promise((resolve,reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
resolve(service.get(url))
|
resolve(service.get(url))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取行业和业态
|
//获取行业和业态
|
||||||
getClassList(pid){
|
getClassList(pid) {
|
||||||
const url = `/home/classlist/?pid=${pid}`
|
const url = `/home/classlist/?pid=${pid}`
|
||||||
return new Promise((resolve,reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
resolve(service.post(url))
|
resolve(service.post(url))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
BIN
static/shoplist/service.png
Normal file
BIN
static/shoplist/service.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
BIN
static/shoplist/share.png
Normal file
BIN
static/shoplist/share.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
Reference in New Issue
Block a user