| | |
| | | return { |
| | | id: '', |
| | | dto: {}, |
| | | showSales: false, |
| | | submitForm: {}, |
| | | timer: undefined, |
| | | type: '', |
| | | // #ifdef PUB_CUSTOMER |
| | | type: 'customer', |
| | |
| | | // #endif |
| | | }; |
| | | }, |
| | | onUnload() { |
| | | this.timer && clearTimeout(this.timer) |
| | | }, |
| | | async onLoad(options) { |
| | | console.log('options', options) |
| | | |
| | |
| | | if (this.id) { |
| | | |
| | | await this.getDetail() |
| | | this.getItemList() |
| | | await this.getItemList() |
| | | this.submitForm = { |
| | | orderId: this.id, |
| | | // imageList: [], |
| | | videoList: [], |
| | | reason: '', |
| | | // orderItems: [], |
| | | orderItemId: options.flowerId || '', |
| | | num: 0, |
| | | pictureList: [] |
| | | } |
| | | this.showSales = options.showsales && true || false |
| | | |
| | | |
| | | if (this.dto.statusBackend === 'PENDING') { |
| | | this.timer = setInterval(() => { |
| | | //倒计时 |
| | | var nowdate = new Date().getTime() - 1000 * 60 * 5 |
| | | var change = false |
| | | |
| | | //计算倒计时 |
| | | var diff = new Date(this.dto.createTime).getTime() - nowdate |
| | | console.log('diff', diff) |
| | | if (diff <= 2000 && true) { |
| | | //超过了5分钟 |
| | | this.dto.statusBackend = 'CANCEL' |
| | | this.dto.statusBackendStr = '已取消' |
| | | this.dto.status = 'CANCEL' |
| | | this.dto.statusStr = '已取消' |
| | | |
| | | this.dto.bctime = '' |
| | | // console.log('change cancel', this.dto) |
| | | change = true |
| | | clearInterval(this.timer) |
| | | this.timer = undefined |
| | | } else { |
| | | //相差 |
| | | var alltime = parseInt(diff / 1000) |
| | | var tt = 0 |
| | | if (alltime > 60) { |
| | | tt = alltime - parseInt(alltime / 60) * 60 |
| | | } else { |
| | | tt = alltime |
| | | } |
| | | this.dto.bctime = `0${parseInt(alltime / 60)}:${tt<10?'0':''}${tt}` |
| | | change = true |
| | | |
| | | } |
| | | |
| | | |
| | | if (change) |
| | | this.$forceUpdate() |
| | | }, 1000) |
| | | } |
| | | |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | copyTxt(txt) { |
| | | uni.setClipboardData({ |
| | | data: txt, //要被复制的内容 |
| | | success: () => { //复制成功的回调函数 |
| | | uni.showToast({ //提示 |
| | | title: '复制成功' |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async getDetail() { |
| | | this.$message.showLoading() |
| | | const { |
| | |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('post', '/api/customer/order/refund', { |
| | | data: { |
| | | } = await this.$http.request('get', '/api/customer/order/refund', { |
| | | params: { |
| | | id: this.id, |
| | | evaluate: res.content |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | |
| | | break |
| | | case 'confirm': { |
| | | await this.$message.confirm('是否确定收货') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/receive/confirm', { |
| | | params: { |
| | | id: this.id, |
| | | |
| | | var tryCallWx = false |
| | | // #ifdef MP |
| | | let tmp = this |
| | | if (wx.openBusinessView && tmp.dto && tmp.dto.paymentTrId) { |
| | | tryCallWx = true |
| | | wx.openBusinessView({ |
| | | businessType: 'weappOrderConfirm', |
| | | extraData: { |
| | | // merchant_id: '', |
| | | // merchant_trade_no: '', |
| | | transaction_id: tmp.dto && tmp.dto.paymentTrId || '' |
| | | }, |
| | | async success() { |
| | | //dosomething |
| | | // 发送请求 |
| | | tmp.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await tmp.$http.request('get', '/api/customer/order/receive/confirm', { |
| | | params: { |
| | | id: tmp.id, |
| | | } |
| | | }) |
| | | tmp.$message.hideLoading() |
| | | if (code === 0) { |
| | | tmp.getDetail() |
| | | } |
| | | }, |
| | | fail(e) { |
| | | //dosomething |
| | | console.log('error fail', e) |
| | | tmp.$message.showToast('收货失败') |
| | | }, |
| | | complete() { |
| | | //dosomething |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // #endif |
| | | |
| | | if (!tryCallWx) { |
| | | |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/receive/confirm', { |
| | | params: { |
| | | id: this.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.getDetail() |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.getDetail() |
| | | } |
| | | |
| | | } |
| | | break |
| | | case 'payAgain': { |
| | | await this.$message.confirm('是否确定重新') |
| | | await this.$message.confirm('是否确定重新支付') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | |
| | | } |
| | | break |
| | | case 'evaluate': { |
| | | const res = await this.$message.confirm('请输入评价信息', { |
| | | editable: true |
| | | const res = await this.$message.confirm('', { |
| | | editable: true, |
| | | title: '请输入评价信息' |
| | | }) |
| | | if (res.content && res.confirm) { |
| | | // 发送请求 |
| | |
| | | } |
| | | } |
| | | break |
| | | case 'couldRefund': { |
| | | // case 'sales': { |
| | | // //新增售后单 |
| | | // //去新的页面加上这些选择? |
| | | // this.submitForm = { |
| | | // orderId: this.id, |
| | | // imageList: [], |
| | | // videoList: [], |
| | | // reason: '', |
| | | // orderItems: [], |
| | | // } |
| | | // this.showSales = true |
| | | |
| | | } |
| | | // } |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | }, |
| | | changeSalesOrderItem(dto) { |
| | | if (this.submitForm.orderItems.indexOf(dto.id) < 0) { |
| | | this.submitForm.orderItems.push(dto.id) |
| | | } else { |
| | | this.submitForm.orderItems.splice(this.submitForm.orderItems.indexOf(dto.id), 1) |
| | | } |
| | | }, |
| | | deleteCheckImage(key, index) { |
| | | this.submitForm[key].splice(index, 1) |
| | | this.$forceUpdate() |
| | | }, |
| | | uploadIcon(key) { |
| | | console.log('that dto key', key) |
| | | const that = this |
| | | if (key === 'video') { |
| | | uni.chooseVideo({ |
| | | maxDuration: 30, |
| | | sourceType: ['camera', 'album'], |
| | | success: function(res) { |
| | | if (res.size > 1024 * 1024 * 50) { |
| | | that.$message.confirm('视频最多支持50M大小,超出大小限制') |
| | | return |
| | | } |
| | | if (res.tempFilePath) { |
| | | console.log('res.tempFilePath', res.tempFilePath) |
| | | that.$message.showLoading() |
| | | that.$http.upload(res.tempFilePath).then(async res => { |
| | | var pic = res.data && res.data.length > 0 && res.data[ |
| | | 0] |
| | | .url || '' |
| | | that.$message.hideLoading() |
| | | that.submitForm.videoList.push(pic || '') |
| | | |
| | | that.$forceUpdate() |
| | | }).catch(res => { |
| | | that.$message.hideLoading() |
| | | console.error(res) |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | |
| | | uni.chooseImage({ |
| | | count: 1, // 最多可以选择的图片张数,默认9 |
| | | sizeType: ['compressed'], //original 原图,compressed 压缩图,默认二者都有 |
| | | sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 |
| | | success: function(res) { |
| | | let errMsg = res.errMsg |
| | | let tempFiles = res.tempFiles |
| | | if (errMsg === 'chooseImage:ok') { |
| | | // console.log(tempFiles[0]) |
| | | if (tempFiles[0].size > 1024 * 1024 * 5) { |
| | | that.$message.confirm('图片最多支持5M大小,超出大小限制') |
| | | return |
| | | } |
| | | that.$message.showLoading() |
| | | that.$http.upload(tempFiles[0].path).then(async res => { |
| | | console.log('res1', res) |
| | | var pic = res.data && res.data.length > 0 && res.data[ |
| | | 0] |
| | | .url || '' |
| | | that.$message.hideLoading() |
| | | that.submitForm.pictureList.push(pic) |
| | | |
| | | that.$forceUpdate() |
| | | }).catch(res => { |
| | | that.$message.hideLoading() |
| | | console.error(res) |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | async submitSales() { |
| | | // if (this.submitForm.orderItems.length < 1) { |
| | | // this.$message.showToast('未选择需要售后的商品') |
| | | // return |
| | | // } |
| | | // if (this.submitForm.orderItems.length < 1) { |
| | | // this.$message.showToast('未选择需要售后的商品') |
| | | // return |
| | | // } |
| | | if (isNaN(parseFloat(this.submitForm.num)) || this.submitForm.num <= 0) { |
| | | this.$message.showToast('售后数量需要大于0') |
| | | return |
| | | } |
| | | if (!this.submitForm.reason) { |
| | | this.$message.showToast('未填写理由') |
| | | return |
| | | } |
| | | if (!this.submitForm.pictureList || this.submitForm.pictureList.length < 1) { |
| | | this.$message.showToast('未上传图片') |
| | | return |
| | | } |
| | | await this.$message.confirm('确定申请售后吗') |
| | | this.$message.showLoading() |
| | | const { |
| | | code, |
| | | data |
| | | } = await this.$http.request('post', '/api/customer/sales/add', { |
| | | data: { |
| | | ...this.submitForm |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code == 0) { |
| | | this.$message.showToast('提交成功') |
| | | this.showSales = false |
| | | this.$forceUpdate() |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 1200) |
| | | } |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <view class="order-detail-page"> |
| | | <view class="top-tip flex "> |
| | | <view class="top-tip flex " v-if="!showSales"> |
| | | <image src="/static/common/icon-order-status-SEND.png" class="icon-car m-r-6 img100"></image> |
| | | <view> |
| | | <view>{{ |
| | | dto.status === 'SEND' && '商家已发货,正在通知取货' |
| | | || dto.status === 'PENDING' && '订单还未支付,立即去支付' |
| | | || dto.status === 'RECEIVE' && '待签收' |
| | | || ('订单' + dto.statusStr) |
| | | || ('订单状态: ' + dto.statusStr) |
| | | }} |
| | | </view> |
| | | <view class="desc-gray">支付时间:{{dto.paymentTime}}</view> |
| | | <view class="desc-gray">支付时间:{{dto.paymentTime || '-'}}</view> |
| | | </view> |
| | | </view> |
| | | <view class="address-container bg-white br-4 m-t-12"> |
| | | <view class="address-container bg-white br-4 m-t-12" v-if="!showSales"> |
| | | <view class="flex"> |
| | | <view class="icon-loc m-r-10"> |
| | | <image src="/static/common/icon-loc.png" class="image"></image> |
| | | </view> |
| | | <image src="/static/common/icon-loc.png" class="image m-r-10"></image> |
| | | |
| | | <view class="info"> |
| | | <view class="title"> |
| | | {{ dto.customer }} |
| | | <view class="tel">{{ dto.customerTel }}</view> |
| | | <view class="tel">{{ dto.customerTel || ''}}</view> |
| | | </view> |
| | | <view class="content">{{ dto.customerAddress }}</view> |
| | | <view class="content">{{ dto.customerAddress || ''}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="flower-info m-b-20 m-t-12 br-4" v-for="(item,index) of list" :key="index"> |
| | | <view class="supplier-name "> |
| | | <image class="icon-dp" src="/static/common/icon-dp.png"></image> |
| | | {{ item.supplierName }} |
| | | {{ item.supplierName || ''}} |
| | | </view> |
| | | <view class="flex m-t-12"> |
| | | <image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)"> |
| | | <radio v-if="showSales" disabled :checked="submitForm.orderItemId == item.id"></radio> |
| | | <!-- @click="changeSalesOrderItem(item)" --> |
| | | <!-- :checked="submitForm.orderItems.indexOf(item.id)>=0" --> |
| | | |
| | | <image class="flower-img img100 br-4 m-r-6" :src="item.flowerCover" |
| | | @click="previewImg(item.flowerCover)"> |
| | | </image> |
| | | <view class="flex1"> |
| | | <view class=" flex"> |
| | | <view class="title"><span class="level">{{ item.flowerCategory }}</span><span class="level">{{ item.flowerLevelStr }}</span>{{ item.flowerName }} |
| | | <view class="title"><span class="level">{{ item.flowerCategory || ''}}</span><span |
| | | class="level">{{ item.flowerLevelStr || ''}}</span>{{ item.flowerName || ''}} |
| | | </view> |
| | | <!-- <view class="m-l-a m-r-0">--> |
| | | <!-- {{item.flowerCategory || '-'}}--> |
| | | <!-- </view>--> |
| | | </view> |
| | | <view class="each-list"> |
| | | <view class="each-item"> |
| | | <view class="label">货位号</view> |
| | | <view class="value">{{ item.warehouseLocationCode || dto.warehouseLocationCode || '-' }} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="each-item"> |
| | | <view class="label">颜色</view> |
| | | <view class="value">{{ item.flowerColor || '-' }}</view> |
| | |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="info-container bg-white br-4"> |
| | | <view class="info-container bg-white br-4" v-if="!showSales"> |
| | | <view class="form-item"> |
| | | <view class="label">订单编号:</view> |
| | | <view class="value">{{ dto.orderNo || '-' }}</view> |
| | | <view class="button m-l-a m-r-0" @click="copyTxt(dto.orderNo)">复制 |
| | | </view> |
| | | </view> |
| | | <view class="form-item" v-if="dto.deliveryNo"> |
| | | <view class="label">快递单号:</view> |
| | | <view class="value">{{ dto.deliveryNo || '-' }}</view> |
| | | <view class="button m-l-a m-r-0" @click="copyTxt(dto.deliveryNo)">复制 |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | |
| | | <view class="value">{{ dto.remarks || '-' }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="info-container bg-white br-4 m-t-12"> |
| | | <view class="info-container bg-white br-4 m-t-12" v-if="!showSales"> |
| | | <view class="form-item"> |
| | | <view class="label">订单金额:</view> |
| | | <view class="value">{{ dto.totalAmount || '-' }}</view> |
| | |
| | | |
| | | </view> |
| | | |
| | | <view class="info-container bg-white br-4 m-t-12"> |
| | | <view class="info-container bg-white br-4 m-t-12" v-if="!showSales"> |
| | | <view class="icon-view"> |
| | | <image src="/static/common/icon-kf.png" class="icon-kf m-r-10 img100 icon"></image> |
| | | 我的客服 |
| | |
| | | <view class="flex m-t-12"> |
| | | <view class="flex1 w-fit m-auto icon-view" @click.stop="callTel"> |
| | | <image src="/static/common/icon-call.png" class="icon icon-call m-r-10 img100"></image> |
| | | 15974805814 |
| | | 拨打15974805814 |
| | | </view> |
| | | <view class="flex1 w-fit m-auto icon-view" open-type="contact"> |
| | | <image src="/static/common/icon-wx.png" class="icon icon-call m-r-10 img100"></image> |
| | | 在线客服 |
| | | <view class="flex1 w-fit m-auto icon-view flex flex-wrap-normal" open-type="contact"> |
| | | <image src="/static/common/icon-wx.png" class="icon icon-call m-t-2 m-r-10 img100"></image> |
| | | |
| | | <button open-type="contact" class="component-button-contact" @handleContact="handleContact"> |
| | | 联系在线客服 |
| | | </button> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="info-container form bg-white br-4 m-t-12" v-if="showSales"> |
| | | <!-- 表单更新 --> |
| | | <view class="form-item"> |
| | | <view class="form-item-label require"> |
| | | 售后数量 |
| | | </view> |
| | | <view class="form-item-value"> |
| | | <input v-model="submitForm.num" clearable placeholder="请输入售后数量" type="number" |
| | | class="form-input"></input> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="form-item-label require"> |
| | | 理由 |
| | | </view> |
| | | <view class="form-item-value"> |
| | | <input v-model="submitForm.reason" clearable placeholder="请输入理由" class="form-input"></input> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="form-item-label require"> |
| | | 图片 |
| | | </view> |
| | | <view class="form-item-value m-l-a m-r-0"> |
| | | <view class="t-red" @click="uploadIcon('image')">上传</view> |
| | | </view> |
| | | </view> |
| | | <view class="flex p20" v-if="submitForm.pictureList&&submitForm.pictureList.length>0"> |
| | | <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.pictureList" :key="index"> |
| | | <image class="check-img" :src="timg" @click.stop="previewImg(timg)"> |
| | | </image> |
| | | <view class="t-red text-center" @click.stop="deleteCheckImage('pictureList',index)">删除</view> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="form-item-label"> |
| | | 视频 |
| | | </view> |
| | | <view class="form-item-value m-l-a m-r-0"> |
| | | <view class="t-red" @click="uploadIcon('video')">上传</view> |
| | | </view> |
| | | </view> |
| | | <view class="flex p20" v-if="submitForm.videoList&&submitForm.videoList.length>0"> |
| | | <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.videoList" :key="index"> |
| | | <video :src="timg" style="display: block;margin: 0 auto;"></video> |
| | | |
| | | <view class="t-red text-center" @click.stop="deleteCheckImage('videoList',index)">删除</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- #ifdef PUB_CUSTOMER --> |
| | | |
| | | |
| | | <view class="button-space"></view> |
| | | <view class="buttons-bottom flex"> |
| | | <view class="buttons-bottom flex" v-if="!showSales"> |
| | | <view class="button button-1" @click="buttonClick('refund')" v-if="dto.couldRefund">申请退款 |
| | | </view> |
| | | <view class="button button-1" @click="buttonClick('confirm')" v-if="dto.status ==='RECEIVE'"> 确认收货 |
| | | </view> |
| | | <view class="button button-1" @click="buttonClick('payAgain')" v-if=" dto.status === 'PENDING'"> 重新支付 |
| | | <view class="button button-1" @click="buttonClick('payAgain')" v-if=" dto.status === 'PENDING'"> 重新支付<span |
| | | v-if="dto.bctime">({{dto.bctime}})</span> |
| | | </view> |
| | | <view class="button button-1" @click="buttonClick('evaluate')" v-if=" dto.status === 'EVALUATE'"> 评价 |
| | | </view> |
| | | <view class="button button-1" @click="buttonClick('evaluate')" v-if=" dto.status === 'EVALUATE'"> 评价 |
| | | <!-- ||dto.status=='COMPLETED' --> |
| | | <!-- 在外面申请了,里面不允许了 --> |
| | | <!-- <view class="button button-1" @click="buttonClick('sales')" v-if=" dto.status === 'RECEIVE'"> 申请售后 |
| | | </view> --> |
| | | </view> |
| | | <view v-if="showSales"> |
| | | <view style="min-height:200rpx"> |
| | | </view> |
| | | <!-- <view class="button button-1" @click="buttonClick('couldRefund')" |
| | | v-if="dto.couldRefund"> 退款 |
| | | </view> --> |
| | | |
| | | <view class="bottom-price flex"> |
| | | <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx" @click="submitSales"> |
| | | 提交售后申请 |
| | | <!-- ({{submitForm.orderItems&&submitForm.orderItems.length||0}}) --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- #endif --> |
| | | <!-- |
| | |
| | | background: #F7F7F7; |
| | | padding: 30rpx; |
| | | |
| | | .info-container { |
| | | .button-space { |
| | | min-height: 140rpx; |
| | | .check-img { |
| | | width: 96rpx; |
| | | height: 96rpx; |
| | | border-radius: 4rpx; |
| | | border: 2rpx dashed #CECECE; |
| | | } |
| | | |
| | | .bottom-price { |
| | | position: fixed; |
| | | background-color: #ffffff; |
| | | left: 0rpx; |
| | | padding: 20rpx; |
| | | padding-bottom: 40rpx; |
| | | right: 0rpx; |
| | | bottom: 0rpx; |
| | | |
| | | .button-green-1 { |
| | | min-width: 400rpx; |
| | | padding-left: 20rpx; |
| | | padding-right: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .button-space { |
| | | min-height: 140rpx; |
| | | } |
| | | |
| | | .buttons-bottom { |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 0; |
| | | right: 0; |
| | | height: 120rpx; |
| | | background-color: #FFFFFF; |
| | | box-shadow: 0 2rpx 30rpx rgba(0, 0, 0, .3); |
| | | |
| | | .button { |
| | | border-radius: 42rpx; |
| | | border: 2rpx solid #CECECE; |
| | | font-weight: 400; |
| | | font-size: 30rpx; |
| | | color: #999999; |
| | | text-align: center; |
| | | line-height: 60rpx; |
| | | height: 60rpx; |
| | | padding: 10rpx 30rpx; |
| | | background-color: #FFFFFF; |
| | | margin: 0 auto; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-top: 20rpx; |
| | | min-width: 120rpx; |
| | | } |
| | | |
| | | .button-1 {} |
| | | } |
| | | |
| | | .info-container { |
| | | |
| | | |
| | | .icon-kf { |
| | | width: 44rpx; |
| | |
| | | } |
| | | } |
| | | |
| | | .buttons-bottom { |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 0; |
| | | right: 0; |
| | | height: 120rpx; |
| | | |
| | | .button { |
| | | border-radius: 42rpx; |
| | | border: 2rpx solid #CECECE; |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #999999; |
| | | text-align: center; |
| | | line-height: 76rpx; |
| | | } |
| | | |
| | | .button-1 {} |
| | | } |
| | | } |
| | | |
| | | .info-container { |
| | |
| | | .address-container { |
| | | padding: 28rpx; |
| | | |
| | | .icon-loc { |
| | | width: 48rpx; |
| | | height: 48rpx; |
| | | background: #20613D; |
| | | .image { |
| | | // background-color: #20613D; |
| | | border-radius: 50%; |
| | | |
| | | .image { |
| | | margin-top: 8rpx; |
| | | margin-left: 8rpx; |
| | | width: 32rpx; |
| | | height: 32rpx; |
| | | } |
| | | margin-top: 8rpx; |
| | | margin-left: 8rpx; |
| | | width: 32rpx; |
| | | height: 32rpx; |
| | | // padding: 8rpx; |
| | | } |
| | | |
| | | .info { |