From f93f455134ff234be9d257c0f432c8052f1c32cd Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 18 七月 2025 19:20:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
small-program/pages/order-details/order-details.vue | 240 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 194 insertions(+), 46 deletions(-)
diff --git a/small-program/pages/order-details/order-details.vue b/small-program/pages/order-details/order-details.vue
index 9e62cc0..9896ee8 100644
--- a/small-program/pages/order-details/order-details.vue
+++ b/small-program/pages/order-details/order-details.vue
@@ -4,64 +4,79 @@
宸插彇娑�
</view> -->
<view class="order-head" :style="{ backgroundImage: 'url(' + bgImg + ')' }">
- <view class="order-head-status">寰呮帴鍗�</view>
- <view class="order-head-info">鎮ㄥ凡缁忔垚鍔熷彂璧风敤宸ュ崟锛岃鑰愬績绛夊緟鎺ュ崟</view>
+ <view class="order-head-status">{{info.statusName || ''}}</view>
+ <view class="order-head-info">{{getStatusInfo()}}</view>
</view>
<view class="order-quxiao">
- <view class="order-quxiao-btn">鍙栨秷璁㈠崟</view>
+ <view class="order-quxiao-btn" @click="show = true" v-if="userInfo.id === info.acceptMemberId && info.status ===2">鍙栨秷璁㈠崟</view>
+ <view class="order-quxiao-btn" @click="show = true" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 || info.status ===1|| info.status ===2)">鍙栨秷璁㈠崟</view>
</view>
- <view class="order-user">
+ <view class="order-user" v-if="userInfo.id === info.releaseMemberId">
<view class="order-user-info">
<view class="user-info-l">
<view class="user-info-l-image">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <image v-if="info.acceptCoverImage" :src="info.acceptCoverImage" mode="widthFix"></image>
+ <image v-else src="/static/logo.png" mode="widthFix"></image>
</view>
<view class="user-info-l-i">
- <view class="user-info-l-i-top">鑾茶姳鍔冲姟鍏徃</view>
+ <view class="user-info-l-i-top">{{info.acceptName || '鍖垮悕'}}</view>
<view class="user-info-l-i-bottom">
<view class="user-info-l-i-bottom-item">
<text>璇勫垎锛�</text>
- <text>90</text>
+ <text>{{info.score || '-'}}</text>
</view>
<view class="user-info-l-i-bottom-item">
<text>鍗曟暟锛�</text>
- <text>100</text>
+ <text>{{info.publishNum || 0}}</text>
</view>
</view>
</view>
</view>
- <view class="user-info-r">
+ <view class="user-info-r" @click="contactPhone(info.acceptPhone)">
<image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
<text>鑱旂郴甯堝倕</text>
</view>
</view>
</view>
- <view class="order-info">
+ <view class="order-info" >
<view class="order-info-title">
<view class="x"></view>
- <text>鐢ㄥ伐鍗�-閲囨憳宸�</text>
+ <text v-if="info.type===0">鐢ㄥ伐鍗�-{{(info.workType===0?'閲囨憳宸�':(info.workType===1?'鍒嗘嫞宸�':'鍖呰宸�')) }}</text>
+ <text v-if="info.type===1">杩愯揣鍗�-{{info.categoryName || ''}}-{{info.carUnit || ''}}</text>
+ <text v-if="info.type===2">璁㈤鍗�</text>
+
</view>
- <view class="order-info-wz">钁¤悇锝�2000鏂�</view>
+ <view v-if="info.type===0" class="order-info-wz">{{info.categoryName || ''}}锝渰{info.priceNum1 || '' }}鏂�</view>
+ <view v-if="info.type===1" class="order-info-wz">{{info.transportTypeName || ''}}{{' | '}}{{info.transportNum || '' }}{{info.transportUnit||''}}{{' | '}}闇�{{info.priceNum2 || '' }}杈�</view>
<view class="order-info-address">
<image src="/static/icon/order_ic_location@2x.png" mode="widthFix"></image>
<view class="order-info-address-info">
- <text>闀挎睙瑗胯矾澶ц渶灞辨.鏋楀叕鍥タ闂ㄤ繚瀹夊</text>
- <text>鍦扮偣鎻忚堪鏂囧瓧鍦扮偣鎻忚堪鍦扮偣鎻忚堪鏂囧瓧</text>
+ <text>{{info.location || '' }}</text>
+ <text>{{info.locationRemark || '' }}</text>
</view>
</view>
<view class="order-info-address">
<image src="/static/icon/order_ic_time@2x.png" mode="widthFix"></image>
<view class="order-info-address-info">
- <text>闀挎睙瑗胯矾澶ц渶灞辨.鏋楀叕鍥タ闂ㄤ繚瀹夊</text>
+ <text>{{info.startDate || ''}}-{{info.endDate || ''}}({{info.totalDays||0}}澶�)</text>
+ </view>
+ </view>
+ <view class="address" v-if="info.type===1 && wayList && wayList.length>0">
+ <view class="address-xian"></view>
+ <view class="address-row" v-for="(item,index) in wayList" style="display: block;margin: 10px" :key="'bbb'+index">
+ <image v-if="index === 0" src="/static/icon/ic_qidian@2x.png" mode="widthFix"></image>
+ <image v-if="index >0 && index < wayList.length-1" src="/static/icon/ic_jingguo@2x.png" mode="widthFix"></image>
+ <image v-if="index === wayList.length-1" src="/static/icon/ic_zhongdian@2x.png" mode="widthFix"></image>
+ <text>{{item.location || ''}}</text>
</view>
</view>
<view class="order-info-x"></view>
<view class="order-info-supplement">
<view class="order-info-supplement-title">闇�姹傝ˉ鍏咃細</view>
- <view class="order-info-supplement-val">鐢峰コ閮藉彲锛屽寘鍗堥キ锛屽共娲婚夯鍒╋紝鏃╀笂9鐐瑰埌涓嬪崍4鐐癸紝鍙厤璐瑰甫1鏂よ憽钀勫洖瀹�</view>
+ <view class="order-info-supplement-val">{{info.supplement || '' }}</view>
<view class="order-info-supplement-list">
- <view class="order-info-supplement-list-item" v-for="(item,index) in 4" :key="index">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <view class="order-info-supplement-list-item" v-for="(item,index) in info.multifileList" v-if="info.multifileList && info.multifileList.length>0" :key="item.imgurl">
+ <image v-if="item.fileurlFull" :src="item.fileurlFull" @click="previemImg(item.fileurlFull)" mode="widthFix"></image>
</view>
<view style="width: 156rpx; height: 0;"></view>
<view style="width: 156rpx; height: 0;"></view>
@@ -70,35 +85,43 @@
<view class="order-info-price">
<view class="price-row">
<view class="price-row-label">璐圭敤鏍囧噯</view>
- <view class="price-row-val">0.5鍏�/鏂�</view>
+ <view class="price-row-val" v-if="info.type !==2">{{((info.price||0)/100).toFixed(2) }}{{info.priceUnit || '' }}</view>
+ <view class="price-row-val" v-if="info.type ===2">
+ <text v-for="(item,index) in wayList">
+ {{item.name || ''}}{{((item.price||0)/100).toFixed(2)}}鍏儃{item.num||0}}浠絳{index != wayList.length-1?'|':''}}
+ </text>
+ </view>
</view>
<view class="price-row">
- <view class="price-row-label">棰勪及鎬昏垂鐢�</view>
- <view class="price-row-val" style="color: #FF0000;">楼1000.00</view>
+ <view class="price-row-label">棰勪及鎬昏垂鐢�(鍏�)</view>
+ <view class="price-row-val" style="color: #FF0000;">
+ 楼{{((info.estimatedAccount||0)/100).toFixed(2) }}
+ </view>
</view>
</view>
</view>
- <view class="order-info">
+ <view class="order-info" v-if="info.commentStatus ===1">
<view class="order-info-title">
<text>璇勪环</text>
</view>
- <u-rate :count="count" activeColor="#FFC331" size="26" v-model="value"></u-rate>
+ <u-rate :count="count" activeColor="#FFC331" size="26" v-model="info.commentLevel"></u-rate>
<view class="order-info-remark">
- 骞叉椿鍒╄惤鏁堢巼楂樺共娲诲埄钀芥晥鐜囬珮骞叉椿鍒╄惤鏁堢巼楂樺共娲诲埄钀芥晥鐜囬珮骞叉椿鍒╄惤鏁堢巼楂�
+ {{ info.commentInfo || '-'}}
</view>
</view>
- <view class="order-ren">
+ <view class="order-ren" v-if="userInfo.id === info.acceptMemberId">
<view class="order-ren-left">
<view class="order-ren-left-img">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <image v-if="info.releaseCoverImage" :src="info.releaseCoverImage" mode="widthFix"></image>
+ <image v-else src="/static/logo.png" mode="widthFix"></image>
</view>
- <text>鍙插ぉ鏁�</text>
- <view class="order-ren-left-tip">涓氫富</view>
+ <text>{{info.releaseName || '鍖垮悕'}}</text>
+ <view class="order-ren-left-tip">鍙戝崟鏂�</view>
</view>
<view class="order-ren-x"></view>
- <view class="order-ren-lx">
+ <view class="order-ren-lx" @click="contactPhone(info.releasePhone)">
<image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
- <text>鑱旂郴涓氫富</text>
+ <text>鍙戝崟鏂�</text>
</view>
</view>
<view class="order-info">
@@ -108,43 +131,48 @@
<view class="order-info-list">
<view class="order-info-list-item">
<text>璁㈠崟缂栧彿锛�</text>
- <text>202107131742520001</text>
+ <text>{{info.code || ''}}</text>
</view>
<view class="order-info-list-item">
<text>涓嬪崟鏃堕棿锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.createTime||'-'}}</text>
</view>
<view class="order-info-list-item">
<text>鎺ュ崟鏃堕棿锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.acceptTime||'-'}}</text>
</view>
<view class="order-info-list-item">
<text>寮�濮嬫椂闂达細</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.workStartTime||'-'}}</text>
</view>
<view class="order-info-list-item">
<text>瀹屾垚鏃堕棿锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.finishTime||'-'}}</text>
</view>
<view class="order-info-list-item">
<text>鏀粯鏃堕棿锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.payTime||'-'}}</text>
</view>
<view class="order-info-list-item">
<text>鏀粯鏂瑰紡锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.payMethod==0?'寰俊鏀粯':'-'}}</text>
</view>
<view class="order-info-list-item">
<text>浜ゆ槗鍗曞彿锛�</text>
- <text>2025-07-26 09:32:11</text>
+ <text>{{info.wxExternalNo || '-'}}</text>
</view>
</view>
</view>
<view style="width: 100%; height: calc(108rpx + env(safe-area-inset-bottom));"></view>
<view class="order-footer">
- <view class="order-footer-btn">
- <view class="order-footer-btn-a" @click="show = true">鍙栨秷璁㈠崟</view>
- <view class="order-footer-btn-b">淇敼璁㈠崟</view>
+ <view class="order-footer-btn">
+ <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.acceptMemberId && info.status ===2">鍙栨秷璁㈠崟</view>
+ <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 || info.status ===1|| info.status ===2)">鍙栨秷璁㈠崟</view>
+ <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId && (info.status ===4 && info.commentStatus!=1)">鍘昏瘎浠�</view>
+ <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId &&((info.status ===3 && info.type !==2)|| (info.status ===0 && info.type===2))">鍘绘敮浠�</view>
+ <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 || info.status ===1|| info.status ===2)">淇敼璁㈠崟</view>
+ <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId && (info.isUpdate==1 && info.status ===2)">淇敼纭</view>
+ <view class="order-footer-btn-b" v-if="userInfo.id !== info.releaseMemberId && (info.status ===1)">鎶㈠崟</view>
</view>
<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
</view>
@@ -207,21 +235,98 @@
<view class="zhifu-botton" style="margin-top: 60rpx;">绔嬪嵆璇勪环</view>
</view>
</u-popup>
-
</view>
</template>
<script>
+ import { mapState } from 'vuex'
export default {
+ computed: {
+ ...mapState( ['userInfo'])
+ },
data() {
return {
show: false,
show1: false,
show2: false,
- count: 4,
- value: 2,
- bgImg: require('@/static/image/bg_green@2x.png')
+ count: 5,
+ wayList:[],
+ bgImg: require('@/static/image/bg_green@2x.png'),
+ id: null,
+ loading:false,
+ info: {},
};
+ },
+ onLoad(options) {
+ console.log(options)
+ var id = options.id
+ this.id = id
+ this.getOrderData()
+ },
+ methods:{
+ previemImg(src){
+ uni.previewImage({
+ current: src, // 褰撳墠鏄剧ず鍥剧墖鐨刪ttp閾炬帴
+ urls: [src] // 闇�瑕侀瑙堢殑鍥剧墖http閾炬帴鍒楄〃
+ });
+ },
+ contactPhone(phone){
+ if(phone !=null && phone!=''){
+ uni.makePhoneCall({
+ phoneNumber: phone
+ })
+ }
+ },
+ //璁㈠崟鐘舵��:0=寰呮敮浠� 1=寰呮帴鍗曪紱2=宸叉帴鍗曪紱3=杩涜涓紱4=宸插畬鎴愶紱99=宸插彇娑�
+ getStatusInfo(){
+ if(this.userInfo.id === this.info.acceptMemberId){
+ //濡傛灉鏄帴鍗曟柟
+ if(this.info.status === 0){
+ return ''
+ }else if(this.info.status === 1){
+ return ''
+ }else if(this.info.status === 2){
+ return '鎮ㄥ凡鎺ュ崟锛岃鎸夋椂瀹屾垚璁㈠崟浠诲姟'
+ }else if(this.info.status === 3){
+ return '璁㈠崟杩涜涓紝璇锋寜鏃跺畬鎴愯鍗曚换鍔�'
+ }else if(this.info.status === 4){
+ return '鎮ㄧ殑璁㈠崟宸插畬鎴�'
+ }else if(this.info.status === 99){
+ return '璁㈠崟宸插彇娑�'
+ }
+ }else{
+ //濡傛灉鏄彂甯冩柟
+ if(this.info.status === 0){
+ return '璇峰敖蹇畬鎴愭敮浠橈紝鍙戝竷璁㈠崟'
+ }else if(this.info.status === 1){
+ return '鎮ㄨ鍗曞凡缁忔垚鍔熷彂璧凤紝璇疯�愬績绛夊緟鎺ュ崟'
+ }else if(this.info.status === 2){
+ return '璁㈠崟寮�濮嬩綔涓氬悗锛岃鎷栧姩涓嬫柟鈥滃紑濮嬩綔涓氣�濇寜'
+ }else if(this.info.status === 3){
+ return this.info.type!=2?'璁㈠崟瀹屾垚鍚庤鐐瑰嚮涓嬫柟鈥滃畬鎴愬苟鏀粯鈥濇寜閽�':'璁㈠崟姝e湪杩涜涓�'
+ }else if(this.info.status === 4){
+ return this.info.commentStatus==1?'鎮ㄧ殑璁㈠崟宸插畬鎴愶紝娆㈣繋鍐嶆浣跨敤': '鎮ㄧ殑璁㈠崟宸插畬鎴愶紝璇峰強鏃惰瘎浠�'
+ }else if(this.info.status === 99){
+ return '璁㈠崟宸插彇娑�'
+ }
+ }
+ },
+ getOrderData(){
+ var that = this
+ var param ={ orderId:that.id}
+ this.$u.api.getDetail(param).then(res =>{
+ if(res.code ===200){
+ if(that.userInfo.id === res.data.releaseMemberId || that.userInfo.id === res.data.acceptMemberId ){
+ that.info = res.data
+ if(that.info.wayInfo){
+ that.wayList = JSON.parse(that.info.wayInfo)
+ }
+ }else{
+ uni.showToast({ title: '璁㈠崟淇℃伅涓嶅瓨鍦�', icon: 'error', duration: 2000 });
+ }
+ }
+ })
+ }
}
}
</script>
@@ -568,7 +673,9 @@
&:last-child {
margin: 0 !important;
}
- .price-row-label {
+ .price-row-label {
+ flex-shrink: 0;
+ margin-right: 30rpx;
font-weight: 400;
font-size: 30rpx;
color: #777777;
@@ -788,4 +895,45 @@
}
}
}
+ .address {
+ width: 100%;
+ background: #F7F7F7;
+ border-radius: 16rpx;
+ padding: 30rpx;
+ box-sizing: border-box;
+ margin-bottom: 24rpx;
+ position: relative;
+ .address-xian {
+ position: absolute;
+ top: 17px;
+ left: 24px;
+ width: 1rpx;
+ height: calc(100% - 60rpx);
+ border-right: 2rpx dashed #B2B2B2;
+ }
+ .address-row {
+ position: relative;
+ z-index: 2;
+ width: 100%;
+ display: flex !important;
+ align-items: center;
+ margin-bottom: 30rpx ;
+ margin-left: 0rpx !important;
+ margin-top: 0rpx !important;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ image {
+ width: 36rpx;
+ height: 36rpx;
+ flex-shrink: 0;
+ margin-right: 24rpx;
+ }
+ text {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #333333;
+ }
+ }
+ }
</style>
--
Gitblit v1.9.3