diff --git a/pages/Partnerships/Partnerships.vue b/pages/Partnerships/Partnerships.vue index e9c6783..b2a9373 100644 --- a/pages/Partnerships/Partnerships.vue +++ b/pages/Partnerships/Partnerships.vue @@ -1,90 +1,189 @@ - @@ -57,56 +74,66 @@ export default { data() { return { - regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[], - ShopInfomation:{ - city:'', - area:'', - count:0, - - }, - + imageLength: '0', + fileList1: [], + regionColumns: [JSON.parse(uni.getStorageSync('regionList'))] || [], + form: { title: '', region: '', - place: '', - trade: '', - size: '', + address: '', + business: '', + commercial: '', + area: '', rent: '', - name: '', - call: '', - introduce: '' + contact:'', + mobile: '', + content: '', + images: [], + longitude: '', + latitude: '', + id: '', + }, - Classcolumns:[], - show1:false, - show2:false, - show3:false, + Classcolumns: [], + ClassCheckId: '', + Karmacolumns: [], + pid: [], + show1: false, + show2: false, + show3: false, rules: { 'title': [{ required: true, message: '请输入标题', trigger: ['change', 'blur'] }], - 'trade': [{ + 'business': [{ required: true, message: '请选择行业', - trigger: ['change', 'blur'] + trigger: ['change'] }], 'region': [{ required: true, message: '请选择地区', - trigger: ['change', 'blur'] + trigger: ['change'] }], - 'name': [{ + 'commercial': [{ + required: true, + message: '请选择业态', + trigger: ['change'] + }], + 'contact': [{ required: true, message: '请输入姓名', trigger: ['change', 'blur'] }], - 'introduce': [{ + 'content': [{ required: true, message: '请输入介绍', trigger: ['change', 'blur'] }], - 'size': [{ + 'area': [{ required: true, message: '请输入面积', trigger: ['change', 'blur'] @@ -116,123 +143,239 @@ message: '请输入租金', trigger: ['change', 'blur'] }], - 'place': [{ + 'address': [{ 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 - } + 'mobile': [{ + required: true, + message: '请输入电话号码', }, - message: '号码不正确', - trigger: ['change','blur'], - }] - + { + validator: (rule, value, callback) => { + if (value) { + return this.$u.test.mobile(value); + } else { + return true + } + }, + message: '号码不正确', + trigger: ['change', 'blur'], + } + ] + }, } - }, methods: { - confirmArea(e) { - this.ShopInfomation.city = e.value[0] - this.ShopInfomation.area = e.value[1] - this.show1 = false + // 删除图片 + deletePic(event) { + this[`fileList${event.name}`].splice(event.index, 1) + }, + preview(e) { + console.log('预览', e); + }, + // 新增图片 + async afterRead(event) { + // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式 + let lists = [].concat(event.file) + let fileListLen = this[`fileList${event.name}`].length + lists.map((item) => { + this[`fileList${event.name}`].push({ + ...item, + status: 'uploading', + message: '上传中' + }) + }) + for (let i = 0; i < lists.length; i++) { + console.log('lists[i].url', lists[i].url); + const result = await this.uploadFilePromise(lists[i].url) + console.log('result', result); + let item = this[`fileList${event.name}`][fileListLen] + this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, { + status: 'success', + message: '', + url: result + })) + fileListLen++ + this.imageLength = fileListLen + } + }, + uploadFilePromise(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) + } + }); + }) + }, + handleSearchAddress() { + uni.navigateTo({ + url: '/pages/publish/chooseAddress/chooseAddress' + }) + }, submit() { + const temp = [] + if (this.fileList1.length > 0) { + this.fileList1.map(item => { + const url = item.url + temp.push(url.replace(this.imgUrl + '/', '')) + }) + } + console.log('images---', temp.join(',')); this.$refs.uForm.validate().then(res => { console.log("提交表单信息:" + JSON.stringify(this.form)) uni.$u.toast('发布成功') - // 调用服务端入表接口W + this.$api.publishRent(this.form).then(res => { + console.log(res); + }) }).catch(errors => { console.log("失败信息:" + JSON.stringify(errors)) // uni.$u.toast('校验失败') }) }, - tradeConfirm(e){ - this.show2 = false - this.form.trade = e.value[0] + changeAddress(e) { + // console.log('changeAddress', e); + this.getAddressList(e) }, - regionConfirm(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); + that.form.latitude = res.data.result.location.lat + // console.log('lng', res.data.result.location.lng); + that.form.longitude = res.data.result.location.lng + }, + fail(err) { + console.log('请求区域失败:', err); + } + }) + }, + tradeConfirm(e) { + this.show2 = false + this.form.business = 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.commercial = 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 =>{ + 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 + }) + }) }, - onReady() { - this.$refs.uForm.setRules(this.rules) - - }, + computed: { + isChecked(index) { + if (index.length > 0) + return true; + else + return false; + } + } } + \ No newline at end of file diff --git a/pages/publish/publishTransfer/publishTransfer.vue b/pages/publish/publishTransfer/publishTransfer.vue index 05c6906..adc855e 100644 --- a/pages/publish/publishTransfer/publishTransfer.vue +++ b/pages/publish/publishTransfer/publishTransfer.vue @@ -2,62 +2,68 @@ - - 发布房源图片({{ShopInfomation.count}}/5) + + + + + 发布房源图片({{imageLength}}/5}) - - + - + {{form.region}} 请选择所属区域 - - - + + - - {{form.trade}} + + {{form.business}} 请选择店铺行业 - + - - {{form.karma}} - 请选择店铺业态 + + {{form.commercial}} + 请选择店铺业态 - + - + - - + + - - + + - - + + - - + + - - + + @@ -66,36 +72,35 @@ - -