Merge pull request '邓洁 :发布表单区域街道联动' (#107) from dj into master

Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/107
This commit is contained in:
odjbin
2023-11-26 13:05:46 +00:00
6 changed files with 250 additions and 92 deletions

View File

@@ -29,7 +29,7 @@
</view> </view>
<view class="location-detail"> <view class="location-detail">
<text>行业{{shopInfo.trade1}}</text> <text>行业{{shopInfo.trade1+'-'}}{{shopInfo.trade2}}</text>
<text>区域{{shopInfo.area1}}</text> <text>区域{{shopInfo.area1}}</text>
<text v-if="search">地址{{shopInfo.adress}}</text> <text v-if="search">地址{{shopInfo.adress}}</text>
</view> </view>

View File

@@ -37,21 +37,24 @@
:columns="[Karmacolumns]" v-model="form.commercialForm" @confirm="karmaConfirm"></u-picker> :columns="[Karmacolumns]" v-model="form.commercialForm" @confirm="karmaConfirm"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area"> <u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area">
<u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="预计投资" label-position="top" border-bottom="true" label-width="auto" prop="transferFee"> <u-form-item label="预计投资" label-position="top" border-bottom="true" label-width="auto" prop="transferFee">
<u-input v-model="form.transferFee" placeholder="请输入预计投资" placeholder-class="input-class" type="number" <u-input v-model="form.transferFee" placeholder="请输入预计投资" placeholder-class="input-class" type="number"
border="none"></u-input> border="none"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent"> <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" type="number"></u-input> <u-input v-model="form.rent" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contactPerson"> <u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contactPerson">
<u-input v-model="form.contactPerson" placeholder="请输入联系人姓名" placeholder-class="input-class" <u-input v-model="form.contactPerson" placeholder="请输入联系人姓名" placeholder-class="input-class"
border="none"></u-input> border="none"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="phone"> <u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="phone">
<u-input v-model="form.phone" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.phone" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="details"> <u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="details">
<u-input v-model="form.details" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.details" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>

View File

@@ -21,8 +21,9 @@
<view class="arrow-icon"> <view class="arrow-icon">
<u-icon name="arrow-right" size="30px" @click="show1 = true"></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]" ref="regionPicker" :show="show1" :closeOnClickOverlay="true"
v-model="form.region" @confirm="regionConfirm"></u-picker> @close="show1 = false" v-model="form.region" @confirm="regionConfirm"
@change="changeRegionHandler"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="项目地址" label-position="top" border-bottom="true" prop="address" label-width="auto"> <u-form-item label="项目地址" label-position="top" border-bottom="true" prop="address" label-width="auto">
<u-input v-model="form.address" placeholder="请输入项目地址" placeholder-class="input-class" border="none" <u-input v-model="form.address" placeholder="请输入项目地址" placeholder-class="input-class" border="none"
@@ -39,17 +40,20 @@
:columns="[Classcolumns]" v-model="form.business" @confirm="tradeConfirm"></u-picker> :columns="[Classcolumns]" v-model="form.business" @confirm="tradeConfirm"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area"> <u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area">
<u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent"> <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" type="number"></u-input> <u-input v-model="form.rent" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contactPerson"> <u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contactPerson">
<u-input v-model="form.contactPerson" placeholder="请输入联系人姓名" placeholder-class="input-class" <u-input v-model="form.contactPerson" placeholder="请输入联系人姓名" placeholder-class="input-class"
border="none"></u-input> border="none"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="phone"> <u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="phone">
<u-input v-model="form.phone" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.phone" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="details"> <u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="details">
<u-input v-model="form.details" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.details" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
@@ -69,6 +73,9 @@
imageLength: 0, imageLength: 0,
fileList1: [], fileList1: [],
regionColumns: [], regionColumns: [],
regionSecondColumns: [],
regionId: [],
regionCheckId: '',
form: { form: {
title: '', title: '',
region: '', region: '',
@@ -226,6 +233,8 @@
} }
let data = { let data = {
...this.form, ...this.form,
address: this.form.region.split('-')[1] + this.form.address,
region: this.form.region.split('-')[0],
images: temp.join(',') images: temp.join(',')
} }
console.log("项目招商:", data) console.log("项目招商:", data)
@@ -255,13 +264,53 @@
// console.log('changeAddress', e); // console.log('changeAddress', e);
this.getAddressList(e) this.getAddressList(e)
}, },
changeRegionHandler(e) {
const {
columnIndex,
value,
values, // values为当前变化列的数组内容
index,
// 微信小程序无法将picker实例传出来只能通过ref操作
picker = this.$refs.regionPicker
} = e
// 当第一列值发生变化时,变化第二列(后一列)对应的选项
if (columnIndex === 0) {
// picker为选择器this实例变化第二列对应的选项
this.regionCheckId = this.regionId[index]
const that = this
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that.regionCheckId + '&key=' +
that.$api.key,
success(res) {
that.regionSecondColumns = res.data.result[0].map(item => item.fullname)
picker.setColumnValues(1, that.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
}
},
getRegionList() { getRegionList() {
var that = this var that = this
uni.request({ uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' + url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' +
that.$api.key, that.$api.key,
success(res) { success(res) {
that.regionColumns = [res.data.result[0].map(item => item.fullname)] that.regionColumns = res.data.result[0].map(item => item.fullname)
that.regionId = res.data.result[0].map(item => item.id)
var that1 = that
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that1.regionId[0] + '&key=' +
that1.$api.key,
success(res) {
that1.regionSecondColumns = res.data.result[0].map(item => item.fullname)
that1.$refs.regionPicker.setColumnValues(1, that1.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
}, },
fail(err) { fail(err) {
console.log('请求区域失败:', err); console.log('请求区域失败:', err);
@@ -274,7 +323,6 @@
url: 'https://apis.map.qq.com/ws/geocoder/v1/?address=' + that.form.region + value + '&key=' + url: 'https://apis.map.qq.com/ws/geocoder/v1/?address=' + that.form.region + value + '&key=' +
that.$api.key, that.$api.key,
success(res) { success(res) {
console.log('diz', res.data.result.location);
if (res.data.message == "query ok") { if (res.data.message == "query ok") {
// console.log('lat', res.data.result.location.lat); // console.log('lat', res.data.result.location.lat);
that.form.latitude = res.data.result.location.lat that.form.latitude = res.data.result.location.lat
@@ -306,7 +354,7 @@
}, },
regionConfirm(e) { regionConfirm(e) {
this.show1 = false this.show1 = false
this.form.region = e.value[0] this.form.region = e.value[0] + '-' + e.value[1]
}, },
getDetail(type, id) { getDetail(type, id) {
console.log('type, id', type, id); console.log('type, id', type, id);

View File

@@ -21,8 +21,9 @@
<view class="arrow-icon"> <view class="arrow-icon">
<u-icon name="arrow-right" size="30px" @click="show1 = true"></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]" ref="regionPicker" :show="show1" :closeOnClickOverlay="true"
v-model="form.region" @confirm="regionConfirm"></u-picker> @close="show1 = false" v-model="form.region" @confirm="regionConfirm"
@change="changeRegionHandler"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="地址" label-position="top" border-bottom="true" prop="address" label-width="auto"> <u-form-item label="地址" label-position="top" border-bottom="true" prop="address" label-width="auto">
<u-input v-model="form.address" placeholder="请输入店铺地址" placeholder-class="input-class" border="none" <u-input v-model="form.address" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"
@@ -30,7 +31,8 @@
</u-form-item> </u-form-item>
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" <u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto"
prop="business"> prop="business">
<text @click="show2 = true" class="checkedtext" v-if="form.business">{{form.business}}-{{form.commercial}}</text> <text @click="show2 = true" class="checkedtext"
v-if="form.business">{{form.business}}-{{form.commercial}}</text>
<text @click="show2 = true" class="checktext" v-else>请选择店铺行业与业态</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" @click="show2 = true"></u-icon> <u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
@@ -48,16 +50,19 @@
:columns="[Karmacolumns]" v-model="form.commercial" @confirm="karmaConfirm"></u-picker> :columns="[Karmacolumns]" v-model="form.commercial" @confirm="karmaConfirm"></u-picker>
</u-form-item> --> </u-form-item> -->
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area"> <u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area">
<u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent"> <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" type="number"></u-input> <u-input v-model="form.rent" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contact"> <u-form-item label="联系人" label-position="top" border-bottom="true" label-width="auto" prop="contact">
<u-input v-model="form.contact" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.contact" 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="auto" prop="mobile"> <u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="mobile">
<u-input v-model="form.mobile" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.mobile" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="content"> <u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="content">
<u-input v-model="form.content" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.content" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
@@ -76,8 +81,10 @@
return { return {
imageLength: '0', imageLength: '0',
fileList1: [], fileList1: [],
regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [], regionColumns: [],
regionSecondColumns: [],
regionId: [],
regionCheckId: '',
form: { form: {
title: '', title: '',
region: '', region: '',
@@ -241,6 +248,8 @@
} }
let data = { let data = {
...this.form, ...this.form,
address: this.form.region.split('-')[1] + this.form.address,
region: this.form.region.split('-')[0],
images: temp.join(',') images: temp.join(',')
} }
console.log("提交表单信息:", data) console.log("提交表单信息:", data)
@@ -278,6 +287,59 @@
// console.log('changeAddress', e); // console.log('changeAddress', e);
this.getAddressList(e) this.getAddressList(e)
}, },
changeRegionHandler(e) {
const {
columnIndex,
value,
values, // values为当前变化列的数组内容
index,
// 微信小程序无法将picker实例传出来只能通过ref操作
picker = this.$refs.regionPicker
} = e
// 当第一列值发生变化时,变化第二列(后一列)对应的选项
if (columnIndex === 0) {
// picker为选择器this实例变化第二列对应的选项
this.regionCheckId = this.regionId[index]
const that = this
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that.regionCheckId + '&key=' +
that.$api.key,
success(res) {
that.regionSecondColumns = res.data.result[0].map(item => item.fullname)
picker.setColumnValues(1, that.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
}
},
getRegionList() {
var that = this
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' +
that.$api.key,
success(res) {
that.regionColumns = res.data.result[0].map(item => item.fullname)
that.regionId = res.data.result[0].map(item => item.id)
var that1 = that
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that1.regionId[0] + '&key=' +
that1.$api.key,
success(res) {
that1.regionSecondColumns = res.data.result[0].map(item => item.fullname)
that1.$refs.regionPicker.setColumnValues(1, that1.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
},
fail(err) {
console.log('请求区域失败:', err);
}
})
},
getAddressList(value) { getAddressList(value) {
if (!this.form.region) { if (!this.form.region) {
uni.$u.toast('请先选择区域') uni.$u.toast('请先选择区域')
@@ -304,34 +366,32 @@
}) })
}, },
changeHandler(e) { changeHandler(e) {
const { const {
columnIndex, columnIndex,
value, value,
values, // values为当前变化列的数组内容 values, // values为当前变化列的数组内容
index, index,
// 微信小程序无法将picker实例传出来只能通过ref操作 // 微信小程序无法将picker实例传出来只能通过ref操作
picker = this.$refs.uPicker picker = this.$refs.uPicker
} = e } = e
// 当第一列值发生变化时,变化第二列(后一列)对应的选项 // 当第一列值发生变化时,变化第二列(后一列)对应的选项
console.log(e); console.log(e);
if (columnIndex === 0) { if (columnIndex === 0) {
// picker为选择器this实例变化第二列对应的选项 // picker为选择器this实例变化第二列对应的选项
this.ClassCheckId = this.pid[index] this.ClassCheckId = this.pid[index]
this.$api.getClassList(this.ClassCheckId).then(res => { this.$api.getClassList(this.ClassCheckId).then(res => {
console.log(res); console.log(res);
this.Karmacolumns = res.data.data.map((item) => { this.Karmacolumns = res.data.data.map((item) => {
return item = item.name return item = item.name
}) })
picker.setColumnValues(1, this.Karmacolumns) picker.setColumnValues(1, this.Karmacolumns)
}) })
}
} },
},
tradeConfirm(e) { tradeConfirm(e) {
this.show2 = false this.show2 = false
this.form.business = e.value[0] this.form.business = e.value[0]
this.form.commercial = e.value[1] this.form.commercial = e.value[1]
}, },
karmaConfirm(e) { karmaConfirm(e) {
this.show3 = false this.show3 = false
@@ -339,7 +399,7 @@
}, },
regionConfirm(e) { regionConfirm(e) {
this.show1 = false this.show1 = false
this.form.region = e.value[0] this.form.region = e.value[0] + '-' + e.value[1]
}, },
getDetail(type, id) { getDetail(type, id) {
console.log('type, id', type, id); console.log('type, id', type, id);
@@ -396,6 +456,7 @@
} else { } else {
console.log('发布'); console.log('发布');
} }
this.getRegionList()
this.$api.getClassList().then(res => { this.$api.getClassList().then(res => {
// console.log(res.data.data.length); // console.log(res.data.data.length);
this.Classcolumns = res.data.data.map((item) => { this.Classcolumns = res.data.data.map((item) => {
@@ -403,13 +464,13 @@
}) })
this.pid = res.data.data.map((item) => { this.pid = res.data.data.map((item) => {
return item = item.id return item = item.id
}) })
this.$api.getClassList(9).then(res => { this.$api.getClassList(9).then(res => {
this.Karmacolumns = res.data.data.map((item) => { this.Karmacolumns = res.data.data.map((item) => {
return item = item.name return item = item.name
}) })
this.$refs.uPicker.setColumnValues(1,this.Karmacolumns) this.$refs.uPicker.setColumnValues(1, this.Karmacolumns)
}) })
}) })
}, },

View File

@@ -20,8 +20,9 @@
<view class="arrow-icon"> <view class="arrow-icon">
<u-icon name="arrow-right" size="30px" @click="show1 = true"></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]" ref="regionPicker" :show="show1" :closeOnClickOverlay="true"
v-model="form.region" @confirm="regionConfirm"></u-picker> @close="show1 = false" v-model="form.region" @confirm="regionConfirm"
@change="changeRegionHandler"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="地址" label-position="top" border-bottom="true" prop="address" label-width="auto"> <u-form-item label="地址" label-position="top" border-bottom="true" prop="address" label-width="auto">
<u-input v-model="form.address" placeholder="请输入店铺地址" placeholder-class="input-class" border="none" <u-input v-model="form.address" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"
@@ -29,7 +30,8 @@
</u-form-item> </u-form-item>
<u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto" <u-form-item label="行业" label-position="top" border-bottom="true" class="picker" label-width="auto"
prop="business"> prop="business">
<text @click="show2 = true" class="checkedtext" v-if="form.business">{{form.business}}-{{form.commercial}}</text> <text @click="show2 = true" class="checkedtext"
v-if="form.business">{{form.business}}-{{form.commercial}}</text>
<text @click="show2 = true" class="checktext" v-else>请选择店铺行业与业态</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" @click="show2 = true"></u-icon> <u-icon name="arrow-right" size="30px" @click="show2 = true"></u-icon>
@@ -38,10 +40,12 @@
:columns="[Classcolumns]" v-model="form.business" @confirm="tradeConfirm" @change="changeHandler"></u-picker> :columns="[Classcolumns]" v-model="form.business" @confirm="tradeConfirm" @change="changeHandler"></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area"> <u-form-item label="面积" label-position="top" border-bottom="true" label-width="auto" prop="area">
<u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.area" placeholder="请输入店铺面积" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="租金(元/月)" label-position="top" border-bottom="true" label-width="auto" prop="rent"> <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" type="number"></u-input> <u-input v-model="form.rent" placeholder="请输入店铺租金" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="转让费(万元)" label-position="top" border-bottom="true" label-width="auto" prop="transferFee"> <u-form-item label="转让费(万元)" label-position="top" border-bottom="true" label-width="auto" prop="transferFee">
<u-input v-model="form.transferFee" placeholder="请输入店铺转让费" placeholder-class="input-class" type="number" <u-input v-model="form.transferFee" placeholder="请输入店铺转让费" placeholder-class="input-class" type="number"
@@ -51,7 +55,8 @@
<u-input v-model="form.contact" placeholder="请输入联系人姓名" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.contact" 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="auto" prop="mobile"> <u-form-item label="手机号码" label-position="top" border-bottom="true" label-width="auto" prop="mobile">
<u-input v-model="form.mobile" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none" type="number"></u-input> <u-input v-model="form.mobile" placeholder="请输入联系人手机号码" placeholder-class="input-class" border="none"
type="number"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="content"> <u-form-item label="详情介绍" label-position="top" border-bottom="true" label-width="auto" prop="content">
<u-input v-model="form.content" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input> <u-input v-model="form.content" placeholder="请输入介绍详情" placeholder-class="input-class" border="none"></u-input>
@@ -70,7 +75,9 @@
imageLength: 0, imageLength: 0,
fileList1: [], fileList1: [],
regionColumns: [], regionColumns: [],
regionSecondColumns: [],
regionId: [],
regionCheckId: '',
form: { form: {
title: '', title: '',
region: '', region: '',
@@ -238,11 +245,14 @@
uni.$u.toast('请输入准确地址') uni.$u.toast('请输入准确地址')
return false return false
} }
let data = { let data = {
...this.form, ...this.form,
address: this.form.region.split('-')[1] + this.form.address,
region: this.form.region.split('-')[0],
images: temp.join(',') images: temp.join(',')
} }
console.log('提交表单信息', data, this.form); console.log('提交表单信息', data);
this.$api.publishTransfer(data).then(res => { this.$api.publishTransfer(data).then(res => {
console.log('发布店铺转让', res); console.log('发布店铺转让', res);
if (res.data.code == 1) { if (res.data.code == 1) {
@@ -277,13 +287,53 @@
// console.log('changeAddress', e); // console.log('changeAddress', e);
this.getAddressList(e) this.getAddressList(e)
}, },
changeRegionHandler(e) {
const {
columnIndex,
value,
values, // values为当前变化列的数组内容
index,
// 微信小程序无法将picker实例传出来只能通过ref操作
picker = this.$refs.regionPicker
} = e
// 当第一列值发生变化时,变化第二列(后一列)对应的选项
if (columnIndex === 0) {
// picker为选择器this实例变化第二列对应的选项
this.regionCheckId = this.regionId[index]
const that = this
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that.regionCheckId + '&key=' +
that.$api.key,
success(res) {
that.regionSecondColumns = res.data.result[0].map(item => item.fullname)
picker.setColumnValues(1, that.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
}
},
getRegionList() { getRegionList() {
var that = this var that = this
uni.request({ uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' + url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' +
that.$api.key, that.$api.key,
success(res) { success(res) {
that.regionColumns = [res.data.result[0].map(item => item.fullname)] that.regionColumns = res.data.result[0].map(item => item.fullname)
that.regionId = res.data.result[0].map(item => item.id)
var that1 = that
uni.request({
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + that1.regionId[0] + '&key=' +
that1.$api.key,
success(res) {
that1.regionSecondColumns = res.data.result[0].map(item => item.fullname)
that1.$refs.regionPicker.setColumnValues(1, that1.regionSecondColumns)
},
fail(err) {
console.log('请求区域失败:', err);
}
})
}, },
fail(err) { fail(err) {
console.log('请求区域失败:', err); console.log('请求区域失败:', err);
@@ -301,7 +351,7 @@
url: 'https://apis.map.qq.com/ws/geocoder/v1/?address=' + that.form.region + value + '&key=' + url: 'https://apis.map.qq.com/ws/geocoder/v1/?address=' + that.form.region + value + '&key=' +
that.$api.key, that.$api.key,
success(res) { success(res) {
console.log('地址转经纬度', res.data); console.log('地址转经纬度', that.form.region, res.data);
if (res.data.message == "query ok") { if (res.data.message == "query ok") {
// console.log('lat', res.data.result.location.lat); // console.log('lat', res.data.result.location.lat);
that.form.latitude = res.data.result.location.lat that.form.latitude = res.data.result.location.lat
@@ -317,29 +367,29 @@
}) })
}, },
changeHandler(e) { changeHandler(e) {
const { const {
columnIndex, columnIndex,
value, value,
values, // values为当前变化列的数组内容 values, // values为当前变化列的数组内容
index, index,
// 微信小程序无法将picker实例传出来只能通过ref操作 // 微信小程序无法将picker实例传出来只能通过ref操作
picker = this.$refs.uPicker picker = this.$refs.uPicker
} = e } = e
// 当第一列值发生变化时,变化第二列(后一列)对应的选项 // 当第一列值发生变化时,变化第二列(后一列)对应的选项
console.log(e); console.log(e);
if (columnIndex === 0) { if (columnIndex === 0) {
// picker为选择器this实例变化第二列对应的选项 // picker为选择器this实例变化第二列对应的选项
this.ClassCheckId = this.pid[index] this.ClassCheckId = this.pid[index]
this.$api.getClassList(this.ClassCheckId).then(res => { this.$api.getClassList(this.ClassCheckId).then(res => {
console.log(res); console.log(res);
this.Karmacolumns = res.data.data.map((item) => { this.Karmacolumns = res.data.data.map((item) => {
return item = item.name return item = item.name
}) })
picker.setColumnValues(1, this.Karmacolumns) picker.setColumnValues(1, this.Karmacolumns)
}) })
} }
}, },
tradeConfirm(e) { tradeConfirm(e) {
this.show2 = false this.show2 = false
this.form.business = e.value[0] this.form.business = e.value[0]
@@ -347,11 +397,10 @@
}, },
karmaConfirm(e) { karmaConfirm(e) {
this.show3 = false this.show3 = false
}, },
regionConfirm(e) { regionConfirm(e) {
this.show1 = false this.show1 = false
this.form.region = e.value[0] this.form.region = e.value[0] + '-' + e.value[1]
}, },
getDetail(type, id) { getDetail(type, id) {
console.log('type, id', type, id); console.log('type, id', type, id);
@@ -419,12 +468,10 @@
this.$api.getClassList(9).then(res => { this.$api.getClassList(9).then(res => {
this.Karmacolumns = res.data.data.map((item) => { this.Karmacolumns = res.data.data.map((item) => {
return item = item.name return item = item.name
}) })
this.$refs.uPicker.setColumnValues(1,this.Karmacolumns) this.$refs.uPicker.setColumnValues(1, this.Karmacolumns)
}) })
}) })
}, },
computed: { computed: {
isChecked(index) { isChecked(index) {

View File

@@ -3,9 +3,9 @@ function isOutTime(res) {
if (res.data.msg == '登录超时,请重新登录') { if (res.data.msg == '登录超时,请重新登录') {
uni.showToast('登录信息已过期,请重新登录') uni.showToast('登录信息已过期,请重新登录')
// setTimeout(() => { // setTimeout(() => {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/login' url: '/pages/login/login'
}) })
// }, 1000) // }, 1000)
uni.removeStorageSync('loginToken') uni.removeStorageSync('loginToken')
} else { } else {
@@ -25,11 +25,10 @@ const service = {
header: header, header: header,
success: res => { success: res => {
resolve(res) resolve(res)
console.log('res===',res);
isOutTime(res); isOutTime(res);
}, },
fail: err => { fail: err => {
console.log('错误',err); console.log('错误', err);
reject(err) reject(err)
} }
}) })