|
|
@@ -28,7 +28,11 @@
|
|
|
<text class="fc-ff3939">*</text>服务描述 :
|
|
|
</view>
|
|
|
<view class="textarea-box flex-1 bgc-F6F6F6 b-rad-16">
|
|
|
- <textarea class="textarea" v-model="formData.serve_desc" maxlength='100' :placeholder="errandsData.desc" />
|
|
|
+ <textarea class="textarea" v-model="formData.serve_desc" maxlength='50'
|
|
|
+ :placeholder="errandsData.desc" />
|
|
|
+ <view class="fs-24 fc-6 tj-num">
|
|
|
+ {{formData.serve_desc.length}}/50
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="align-items-flex-start mb-20">
|
|
|
@@ -53,20 +57,111 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="align-items-flex-start mb-20" v-if="errandsData.errands_id != 2">
|
|
|
+ <view class="align-items-flex-start mb-20">
|
|
|
<view class="fs-26 fc-3 mr-20 flex-shrink0 pt-15">
|
|
|
<text class="fc-ff3939">*</text>服务地址 :
|
|
|
</view>
|
|
|
<view class="textarea-box flex-1 bgc-F6F6F6 b-rad-16">
|
|
|
- <textarea class="textarea" v-model="formData.serve_address" maxlength='100' :placeholder="errandsData.add_str" />
|
|
|
+ <textarea class="textarea" cursor-spacing='30' v-model="formData.serve_address" maxlength='50'
|
|
|
+ :placeholder="errandsData.add_str" />
|
|
|
+ <view class="fs-24 fc-6 tj-num">
|
|
|
+ {{formData.serve_address.length}}/50
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center ptb-24 b-b-EFF2F5 mb-20" @click="openAddress">
|
|
|
+ <view class="fs-26 fc-3 mr-20 flex-shrink0">
|
|
|
+ <text class="fc-ff3939" v-if="errandsData.errands_id != 4">*</text>送达地址 :
|
|
|
+ </view>
|
|
|
+ <view class="text-overflow-ellipsis-one fs-26" :class="formData.address_id?'fc-0':'fc-9'">
|
|
|
+ {{formData.address_id?addressData.school_name + addressData.dorm_name + addressData.address :'选择地址'}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center ptb-24 b-b-EFF2F5 mb-20" @click="openTime">
|
|
|
+ <view class="fs-26 fc-3 mr-20 flex-shrink0">
|
|
|
+ <text class="fc-ff3939">*</text>{{errandsData.time_str}} :
|
|
|
+ </view>
|
|
|
+ <view class="text-overflow-ellipsis-one fs-26" :class="deliverText?'fc-0':'fc-9'">
|
|
|
+ {{deliverText?'预计'+ deliverText+ '送达':'选择'+ errandsData.time_str}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center ptb-24 b-b-EFF2F5 mb-20" @click="openItem"
|
|
|
+ v-if="errandsData.item && errandsData.item.length>0">
|
|
|
+ <view class="fs-26 fc-3 mr-20 flex-shrink0">
|
|
|
+ <text class="fc-ff3939">*</text>{{errandsData.item_name}} :
|
|
|
+ </view>
|
|
|
+ <view class="text-overflow-ellipsis-one fs-26" :class="itemData.item_id?'fc-0':'fc-9'">
|
|
|
+ {{itemData.item_id?itemData.name:'选择'+ errandsData.item_name}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center ptb-24 b-b-EFF2F5 mb-20">
|
|
|
+ <view class="fs-26 fc-3 mr-20 flex-shrink0">
|
|
|
+ <text class="fc-ff3939">*</text>是否上楼 :
|
|
|
+ </view>
|
|
|
+ <view class="fs-26 align-items-center">
|
|
|
+ <view class="align-items-center mr-50" @click="formData.is_up = 0">
|
|
|
+ <uni-icons class="mr-10" v-if="formData.is_up === 0" type="checkbox-filled" size="22"
|
|
|
+ color="#4495FD"></uni-icons>
|
|
|
+ <uni-icons class="mr-10" v-else type="circle" size="22" color="#000"></uni-icons>
|
|
|
+ <view class="fs-28 mr-10">
|
|
|
+ 否
|
|
|
+ </view>
|
|
|
+ <view class="fs-28">
|
|
|
+ (0元)
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center" @click="formData.is_up = 1">
|
|
|
+ <uni-icons class="mr-10" v-if="formData.is_up === 1" type="checkbox-filled" size="22"
|
|
|
+ color="#4495FD"></uni-icons>
|
|
|
+ <uni-icons class="mr-10" v-else type="circle" size="22" color="#000"></uni-icons>
|
|
|
+ <view class="fs-28 mr-10">
|
|
|
+ 是
|
|
|
+ </view>
|
|
|
+ <view class="fs-28 mr-10 fc-FB3D03">
|
|
|
+ ¥{{errandsData.up_price}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="align-items-center ptb-24 b-b-EFF2F5 mb-20">
|
|
|
+ <view class="fs-26 fc-3 mr-20 flex-shrink0">
|
|
|
+ 打赏金额 :
|
|
|
+ </view>
|
|
|
+ <view class="">
|
|
|
+ <input v-model="formData.reward_money" type="digit" cursor-spacing='20' class="uni-input"
|
|
|
+ placeholder="自定义金额 0~1000" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
+ <view class="p-20 box-border-box bgc-f b-t-F9F9F9">
|
|
|
+ <view class="but-box align-items-center box-border-box flex-justify-space b-rad-200">
|
|
|
+ <view class="but-left align-items-center flex-1 bgc-3 pl-24 box-border-box">
|
|
|
+ <view class="fs-32 fc-FB4845 mr-20 fw-600">
|
|
|
+ ¥ {{amount}}
|
|
|
+ </view>
|
|
|
+ <view class="fs-24 fc-f">
|
|
|
+ (点击展开明细)
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="but bgc-5CC2FF fs-26 fc-f text-align-center">
|
|
|
+ 去下单
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <selectAddressVue ref="selectAddress" @giveAddress='giveAddress'></selectAddressVue>
|
|
|
+ <timeVue ref="selectTime" @giveTime='giveTime' @timeAndType='timeAndType'></timeVue>
|
|
|
+ <selectModVue ref="selectModRef" @selectData='selectData' :popTitleName='errandsData.item_name'></selectModVue>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import selectAddressVue from './confirm-mod/select-address.vue';
|
|
|
+ import timeVue from './confirm-mod/time.vue';
|
|
|
+ import selectModVue from './run-errands-mod/select-mod.vue';
|
|
|
+ import {
|
|
|
+ getAddressDefault
|
|
|
+ } from '@/api/member.js'
|
|
|
import {
|
|
|
errandsBanner,
|
|
|
errandsServe
|
|
|
@@ -76,7 +171,11 @@
|
|
|
upLoadingFileOss
|
|
|
} from "@/service/upLoadingFile.js"
|
|
|
export default {
|
|
|
- components: {},
|
|
|
+ components: {
|
|
|
+ selectAddressVue,
|
|
|
+ timeVue,
|
|
|
+ selectModVue
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
bannerList: [],
|
|
|
@@ -95,16 +194,94 @@
|
|
|
formData: {
|
|
|
errands_id: 0,
|
|
|
serve_desc: '',
|
|
|
- images: []
|
|
|
- }
|
|
|
+ serve_address: '',
|
|
|
+ images: [],
|
|
|
+ address_id: '',
|
|
|
+ time_type: '',
|
|
|
+ serve_time: '',
|
|
|
+ item_id: 0,
|
|
|
+ is_up: 0,
|
|
|
+ reward_money: ''
|
|
|
+ },
|
|
|
+ deliverText: '',
|
|
|
+ addressData: {},
|
|
|
+ itemData: {},
|
|
|
+ amount: '0.00',
|
|
|
};
|
|
|
},
|
|
|
- onLoad(data) {},
|
|
|
+ onShow() {
|
|
|
+ let isConfirmAddressFlag = uni.getStorageSync('isConfirmAddressFlag');
|
|
|
+ if (isConfirmAddressFlag.flag) {
|
|
|
+ this.openAddress(isConfirmAddressFlag);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onHide() {
|
|
|
+ uni.removeStorageSync('isConfirmAddressFlag');
|
|
|
+ },
|
|
|
+ onUnload() {
|
|
|
+ uni.removeStorageSync('isConfirmAddressFlag');
|
|
|
+ },
|
|
|
+ onLoad(data) {
|
|
|
+ this.getAddressDefault();
|
|
|
+ },
|
|
|
mounted() {
|
|
|
this.getBanner()
|
|
|
this.getErrandsServe()
|
|
|
},
|
|
|
methods: {
|
|
|
+ selectData(item) {
|
|
|
+ if (item) {
|
|
|
+ this.itemData = item
|
|
|
+ }
|
|
|
+ },
|
|
|
+ openItem() {
|
|
|
+ this.$refs.selectModRef.getList(this.formData.item_id, this.errandsData.item);
|
|
|
+ },
|
|
|
+ openTime() {
|
|
|
+ // 选择时间
|
|
|
+ this.$refs.selectTime.getList(0, this.errandsData.time);
|
|
|
+ },
|
|
|
+ timeAndType(type, time) {
|
|
|
+ // 时间选择
|
|
|
+ this.formData.time_type = type
|
|
|
+ this.formData.serve_time = time
|
|
|
+ if (type == 1) {
|
|
|
+ this.deliverText = '今天' + time
|
|
|
+ } else {
|
|
|
+ this.deliverText = '明天' + time
|
|
|
+ }
|
|
|
+ console.log(type, time, '&&&&&&&&&&&&&&&&&&&&&&&&');
|
|
|
+ },
|
|
|
+ giveTime(e) {
|
|
|
+ console.log(e);
|
|
|
+ },
|
|
|
+ openAddress(addressData) {
|
|
|
+ // 选择地址
|
|
|
+ if (this.addressData.id) {
|
|
|
+ this.$refs.selectAddress.id = this.addressData.id;
|
|
|
+ }
|
|
|
+ if (addressData && addressData.is_default == 1) {
|
|
|
+ this.$refs.selectAddress.id = addressData.id;
|
|
|
+ this.$refs.selectAddress.getList(addressData.id);
|
|
|
+ } else {
|
|
|
+ this.$refs.selectAddress.getList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取默认地址
|
|
|
+ getAddressDefault() {
|
|
|
+ getAddressDefault().then((res) => {
|
|
|
+ if (res.code === 1) {
|
|
|
+ this.addressData = res.data
|
|
|
+ if (this.addressData.id) {
|
|
|
+ this.formData.address_id = this.addressData.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ giveAddress(e) {
|
|
|
+ this.addressData = e;
|
|
|
+ this.formData.address_id = this.addressData.id;
|
|
|
+ },
|
|
|
deleteImg(index) {
|
|
|
this.formData.images.splice(index, 1)
|
|
|
},
|
|
|
@@ -135,6 +312,8 @@
|
|
|
}
|
|
|
this.formData.errands_id = item.errands_id
|
|
|
this.errandsData = item
|
|
|
+ this.itemData = {}
|
|
|
+ this.deliverText = ''
|
|
|
},
|
|
|
getBanner() {
|
|
|
errandsBanner().then((res) => {
|
|
|
@@ -197,7 +376,14 @@
|
|
|
}
|
|
|
|
|
|
.textarea-box {
|
|
|
- height: 200rpx;
|
|
|
+ height: 150rpx;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tj-num {
|
|
|
+ position: absolute;
|
|
|
+ right: 10rpx;
|
|
|
+ bottom: 10rpx;
|
|
|
}
|
|
|
|
|
|
.textarea {
|
|
|
@@ -217,4 +403,21 @@
|
|
|
height: 36rpx;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .but-box {
|
|
|
+ height: 80rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .but-left {
|
|
|
+ height: 100%;
|
|
|
+ line-height: 80rpx;
|
|
|
+ border-radius: 200rpx 0 0 200rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .but {
|
|
|
+ width: 180rpx;
|
|
|
+ height: 100%;
|
|
|
+ line-height: 80rpx;
|
|
|
+ border-radius: 0 200rpx 200rpx 0;
|
|
|
+ }
|
|
|
</style>
|