From e17698d3d99039b1c3532d490687f8492ca87704 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期六, 19 七月 2025 14:53:28 +0800 Subject: [PATCH] 调接口 --- small-program/pages/sorting/sorting.vue | 253 +++++++++++++++++++++++++++++--------------------- 1 files changed, 146 insertions(+), 107 deletions(-) diff --git a/small-program/pages/sorting/sorting.vue b/small-program/pages/sorting/sorting.vue index b7e942b..d01a6ba 100644 --- a/small-program/pages/sorting/sorting.vue +++ b/small-program/pages/sorting/sorting.vue @@ -13,102 +13,108 @@ <u-icon name="arrow-right" color="#111111" size="16"></u-icon> </view> </view> - <view class="list-item-row" @click="selectAddress()"> - <view class="list-item-row-label">鐢ㄥ伐鍦扮偣<b>*</b></view> - <view class="list-item-row-val"> - <text>{{form.location ? form.location : '璇烽�夋嫨'}}</text> - <u-icon name="arrow-right" color="#111111" size="16"></u-icon> - </view> - </view> - <view class="list-item-row"> - <view class="list-item-row-label">鍦扮偣鎻忚堪</view> - <view class="list-item-row-val"> - <input type="text" v-model="form.locationRemark" placeholder="璇疯緭鍏�" /> - </view> - </view> - </view> - <view class="list-item"> - <view class="list-item-label"> - <view class="list-item-label-x"></view> - <text>闇�姹�</text> - </view> - <view class="list-item-row" @click="show1 = true"> - <view class="list-item-row-label">鍒嗘嫞鍝佺<b>*</b></view> - <view class="list-item-row-val"> - <text>{{form.categoryName ? form.categoryName : '璇烽�夋嫨'}}</text> - <u-icon name="arrow-right" color="#111111" size="16"></u-icon> - </view> - </view> - <view class="list-item-row"> - <view class="list-item-row-label">鐢ㄥ伐鏁伴噺<b>*</b></view> - <view class="list-item-row-val"> - <input type="number" v-model="form.priceNum2" @blur="getPrice" placeholder="璇疯緭鍏�" /> - <text>浜�</text> - </view> - </view> - <view class="list-item-row" v-if="viewStatus"> - <view class="list-item-row-label">闇�姹傝ˉ鍏�</view> - <view class="list-item-row-val"> - <textarea v-model="form.supplement" cols="30" rows="10" placeholder="濡傛灉鏈夌壒娈婅姹傦紝璇峰湪姝ゅ璇存槑" maxlength="200"></textarea> - </view> - </view> - <view class="list-item-row" v-if="viewStatus"> - <view class="list-item-row-label">鍥剧墖</view> - <view class="list-item-row-upload"> - <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index"> - <image :src="item.url" mode="widthFix"></image> - <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image> + <template v-if="!(info.type !== 2 && info.status === 2)"> + <view class="list-item-row" @click="selectAddress()"> + <view class="list-item-row-label">鐢ㄥ伐鍦扮偣<b>*</b></view> + <view class="list-item-row-val"> + <text>{{form.location ? form.location : '璇烽�夋嫨'}}</text> + <u-icon name="arrow-right" color="#111111" size="16"></u-icon> </view> - <view class="upload-item" @click="uploadImg"> - <u-icon name="plus" color="#999999" size="24"></u-icon> - <text>鐐瑰嚮涓婁紶</text> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">鍦扮偣鎻忚堪</view> + <view class="list-item-row-val"> + <input type="text" v-model="form.locationRemark" placeholder="璇疯緭鍏�" /> + </view> + </view> + </template> + + </view> + <template v-if="!(info.type !== 2 && info.status === 2)"> + <view class="list-item"> + <view class="list-item-label"> + <view class="list-item-label-x"></view> + <text>闇�姹�</text> + </view> + <view class="list-item-row" @click="show1 = true"> + <view class="list-item-row-label">鍒嗘嫞鍝佺<b>*</b></view> + <view class="list-item-row-val"> + <text>{{form.categoryName ? form.categoryName : '璇烽�夋嫨'}}</text> + <u-icon name="arrow-right" color="#111111" size="16"></u-icon> + </view> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">鐢ㄥ伐鏁伴噺<b>*</b></view> + <view class="list-item-row-val"> + <input type="number" v-model="form.priceNum2" @blur="getPrice" placeholder="璇疯緭鍏�" /> + <text>浜�</text> + </view> + </view> + <view class="list-item-row" v-if="viewStatus"> + <view class="list-item-row-label">闇�姹傝ˉ鍏�</view> + <view class="list-item-row-val"> + <textarea v-model="form.supplement" cols="30" rows="10" placeholder="濡傛灉鏈夌壒娈婅姹傦紝璇峰湪姝ゅ璇存槑" maxlength="200"></textarea> + </view> + </view> + <view class="list-item-row" v-if="viewStatus"> + <view class="list-item-row-label">鍥剧墖</view> + <view class="list-item-row-upload"> + <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index"> + <image :src="item.url || item.fileurlFull" mode="widthFix"></image> + <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image> + </view> + <view class="upload-item" @click="uploadImg"> + <u-icon name="plus" color="#999999" size="24"></u-icon> + <text>鐐瑰嚮涓婁紶</text> + </view> + </view> + </view> + <view class="list-item-zk" @click="viewStatus = !viewStatus"> + <text>{{viewStatus ? '鏀惰捣' : '琛ュ厖闇�姹�'}}</text> + <u-icon :name="viewStatus ? 'arrow-up' : 'arrow-down'" color="#00BC12" size="16"></u-icon> + </view> + </view> + <view class="list-item"> + <view class="list-item-label"> + <view class="list-item-label-x"></view> + <text>璐圭敤</text> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">澶╂暟</view> + <view class="list-item-row-val"> + <input v-model="form.priceNum1" disabled @blur="getPrice" type="number" placeholder="璇疯緭鍏�" /> + <text>澶�</text> + </view> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view> + <view class="list-item-row-val"> + <input v-model="form.price" type="number" @blur="getPrice" placeholder="璇疯緭鍏�" /> + <text>鍏�/浜�/澶�</text> </view> </view> </view> - <view class="list-item-zk" @click="viewStatus = !viewStatus"> - <text>{{viewStatus ? '鏀惰捣' : '琛ュ厖闇�姹�'}}</text> - <u-icon :name="viewStatus ? 'arrow-up' : 'arrow-down'" color="#00BC12" size="16"></u-icon> - </view> - </view> - <view class="list-item"> - <view class="list-item-label"> - <view class="list-item-label-x"></view> - <text>璐圭敤</text> - </view> - <view class="list-item-row"> - <view class="list-item-row-label">澶╂暟</view> - <view class="list-item-row-val"> - <input v-model="form.priceNum1" disabled @blur="getPrice" type="number" placeholder="璇疯緭鍏�" /> - <text>澶�</text> + <view class="list-item"> + <view class="list-item-label"> + <view class="list-item-label-x"></view> + <text>鑱旂郴浜轰俊鎭�</text> + <text class="list-item-label-info">榛樿鍙戝崟鏂硅仈绯绘柟寮忥紝鍙慨鏀硅仈绯讳汉</text> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">鑱旂郴浜哄鍚�</view> + <view class="list-item-row-val"> + <input type="text" v-model="form.linkName" placeholder="璇疯ˉ鍏�" /> + </view> + </view> + <view class="list-item-row"> + <view class="list-item-row-label">鑱旂郴鐢佃瘽<b>*</b></view> + <view class="list-item-row-val"> + <input type="text" v-model="form.linkPhone" maxlength="11" placeholder="璇疯ˉ鍏�" /> + </view> </view> </view> - <view class="list-item-row"> - <view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view> - <view class="list-item-row-val"> - <input v-model="form.price" type="number" @blur="getPrice" placeholder="璇疯緭鍏�" /> - <text>鍏�/浜�/澶�</text> - </view> - </view> - </view> - <view class="list-item"> - <view class="list-item-label"> - <view class="list-item-label-x"></view> - <text>鑱旂郴浜轰俊鎭�</text> - <text class="list-item-label-info">榛樿鍙戝崟鏂硅仈绯绘柟寮忥紝鍙慨鏀硅仈绯讳汉</text> - </view> - <view class="list-item-row"> - <view class="list-item-row-label">鑱旂郴浜哄鍚�</view> - <view class="list-item-row-val"> - <input type="text" v-model="form.linkName" placeholder="璇疯ˉ鍏�" /> - </view> - </view> - <view class="list-item-row"> - <view class="list-item-row-label">鑱旂郴鐢佃瘽<b>*</b></view> - <view class="list-item-row-val"> - <input type="text" v-model="form.linkPhone" maxlength="11" placeholder="璇疯ˉ鍏�" /> - </view> - </view> - </view> + </template> + </view> <view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view> <view class="footer"> @@ -159,9 +165,11 @@ }, data() { return { + info: {}, show: false, show1: false, form: { + id: null, days: '', startDate: '', endDate: '', @@ -188,14 +196,31 @@ }; }, onLoad(option) { - this.form.linkPhone = this.userInfo.telephone - this.form.priceNum1 = option.days - this.form.startDate = option.startDate - this.form.endDate = option.endDate - this.form.lat = option.latitude - this.form.lgt = option.longitude - this.form.location = option.address - this.form.workType = option.workType + if (option.id) { + this.form.id = option.id + this.$u.api.getDetail({ + orderId: option.id + }).then(res => { + this.info = res.data + for (const key in this.form) { + this.form[key] = res.data[key] + } + this.form.days = res.data.totalDays + this.form.price = Number(this.form.price) / 100 + if (!this.form.multifileList) { + this.form.multifileList = [] + } + }) + } else { + this.form.linkPhone = this.userInfo.telephone + this.form.priceNum1 = option.days + this.form.startDate = option.startDate + this.form.endDate = option.endDate + this.form.lat = option.latitude + this.form.lgt = option.longitude + this.form.location = option.address + this.form.workType = option.workType + } this.getCateList() }, methods: { @@ -213,14 +238,27 @@ if (!this.form.linkPhone) { return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' }) } - this.$u.api.release({ ...this.form, price: Number(this.form.price) * 100 }) - .then(res => { - if (res.code == 200) { - uni.navigateTo({ - url: `/pages/success/success?orderId=${res.data.id}` - }) - } - }) + if (!this.form.id) { + this.$u.api.release({ ...this.form, price: Number(this.form.price) * 100 }) + .then(res => { + if (res.code == 200) { + uni.navigateTo({ + url: `/pages/success/success?orderId=${res.data.id}` + }) + } + }) + } else { + this.$u.api.updateOrder({ ...this.form, price: Number(this.form.price) * 100 }) + .then(res => { + if (res.code == 200) { + uni.showToast({ title: '缂栬緫鎴愬姛', icon: 'success', mask: true, duration: 2000 }) + setTimeout(() => { + uni.navigateBack({ delta: 1 }); + uni.$emit('refresh') + }, 1500) + } + }) + } }, // 璁$畻閲戦 getPrice() { @@ -240,8 +278,9 @@ confirmDate(e) { this.form.startDate = e[0] this.form.endDate = e[e.length - 1] - this.form.days = e.length; + this.form.priceNum1 = e.length; this.show = false + this.getPrice() }, selectAddress() { uni.chooseLocation({ -- Gitblit v1.9.3