From 9d901b4215323c97a00a068cd962f5c9c04dadfa Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 九月 2025 10:15:09 +0800
Subject: [PATCH] 前端
---
admin/src/components/business/OperaOrderDetailWindow.vue | 99 +++++++++++++++++++++++-
small-program/pages/packaging-worker/packaging-worker.vue | 6 +
small-program/pages/demand-hall/demand-hall.vue | 8 +-
small-program/pages/order-details/order-details.vue | 89 +++++++++++++++++++---
small-program/pages/freight/freight.vue | 31 ++++++-
5 files changed, 205 insertions(+), 28 deletions(-)
diff --git a/admin/src/components/business/OperaOrderDetailWindow.vue b/admin/src/components/business/OperaOrderDetailWindow.vue
index 5a4af7e..8658b5a 100644
--- a/admin/src/components/business/OperaOrderDetailWindow.vue
+++ b/admin/src/components/business/OperaOrderDetailWindow.vue
@@ -59,8 +59,8 @@
<div class="cont"><span class="label">鍝佺锛�</span> <span class="txt">{{info.categoryName || ''}}</span></div>
</div>
<div class="line">
- <div class="cont"><span class="label" v-if="info.workType==1">浜烘暟锛�</span> <span class="txt">{{info.priceNum1 || '' }}浜�</span></div>
- <div class="cont"><span class="label" v-if="info.workType==0">閲嶉噺锛�</span> <span class="txt">{{info.priceNum1 || '' }}鏂�</span></div>
+ <div class="cont" v-if="info.workType==1"><span class="label">浜烘暟锛�</span> <span class="txt">{{info.priceNum1 || '' }}浜�</span></div>
+ <div class="cont" v-if="info.workType==0"><span class="label">閲嶉噺锛�</span> <span class="txt">{{info.priceNum1 || '' }}鏂�</span></div>
<div class="cont"><span class="label">鐢ㄥ伐鏃堕棿锛�</span><span class="txt">{{info.startDate|| '' }}-{{info.endDate|| '' }}</span></div>
<div class="cont"><span class="label">鐢ㄥ伐澶╂暟锛�</span><span class="txt">{{info.totalDays || 0 }}澶�</span></div>
</div>
@@ -185,6 +185,22 @@
</div>
</div>
</div>
+ <div class="renzheng" v-if="(info.type ===0 || info.type===1)&&(info.status===5|| info.status===4)" >
+ <div class="info" >
+ <span class="m10">璐圭敤纭</span>
+ </div>
+ <div class="detail" style=" ">
+ <div class="line">
+ <div class="cont"><span class="label">瀹為檯{{feeFrom.priceParam1.name }}锛�</span><span class="txt">{{info.priceNum1 || 0 }}{{feeFrom.priceParam1.unit }}</span></div>
+ <div class="cont" v-if="feeFrom.priceParam2.name!=null"><span class="label">瀹為檯{{feeFrom.priceParam2.name }}锛�</span><span class="txt">{{info.priceNum2 || 0 }}{{feeFrom.priceParam2.unit }}</span></div>
+ <div class="cont" :style="feeFrom.priceParam2.name!=null?'':'flex: 2'"><span class="label">鍏朵粬璐圭敤锛�</span> <span class="txt">{{((info.confirmOtherFee||0)/100).toFixed(2) }}鍏�</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">瀹為檯鎬昏垂鐢細</span><span class="txt yellowbtn">{{((info.estimatedAccount||0)/100).toFixed(2) }}鍏�</span></div>
+ <div class="cont" style="flex: 2"><span class="label">澶囨敞锛�</span><span class="txt">{{info.confirmFeeRemark || '' }}</span></div>
+ </div>
+ </div>
+ </div>
<div class="renzheng" >
<div class="info" >
<span class="m10">鍙戝崟鏂逛俊鎭�</span>
@@ -248,9 +264,19 @@
data () {
return {
id: '',
- wayList:[],
+ wayList: [],
info: {},
- loading: false
+ loading: false,
+ feeFrom: {
+ priceParam1: {
+ name: null,
+ unit: null
+ },
+ priceParam2: {
+ name: null,
+ unit: null
+ }
+ }
}
},
methods: {
@@ -259,7 +285,17 @@
this.visible = true
this.tableData2 = []
this.id = row.id
- this.wayList=[]
+ this.wayList = []
+ this.feeFrom = {
+ priceParam1: {
+ name: null,
+ unit: null
+ },
+ priceParam2: {
+ name: null,
+ unit: null
+ }
+ }
this.getData()
},
getData () {
@@ -267,9 +303,10 @@
.then(res => {
this.info = res
this.visible = true
- if(this.info.wayInfo){
+ if (this.info.wayInfo) {
this.wayList = JSON.parse(this.info.wayInfo)
}
+ this.initPriceNumParam()
console.log(this.wayList)
})
},
@@ -277,7 +314,7 @@
},
showLogList () {
- this.$refs.orderProgress.open('璁㈠崟娴佽浆鏃ュ織', this.info.orderLogList||[])
+ this.$refs.orderProgress.open('璁㈠崟娴佽浆鏃ュ織', this.info.orderLogList || [])
},
getScoreLevel (num) {
if (this.info.commentLevel && this.info.commentLevel >= num) {
@@ -312,6 +349,54 @@
})
})
})
+ },
+ initPriceNumParam () {
+ this.feeFrom.priceParam1.name = null
+ this.feeFrom.priceParam1.unit = null
+ this.feeFrom.priceParam2.name = null
+ this.feeFrom.priceParam2.unit = null
+ if (this.info.type === 0 && this.info.workType === 1) {
+ // 鍒嗘嫞宸�
+ this.feeFrom.priceParam1.name = '鐢ㄥ伐澶╂暟锛�'
+ this.feeFrom.priceParam1.unit = '澶�'
+ this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟锛�'
+ this.feeFrom.priceParam2.unit = '浜�'
+ } else if (this.info.type === 0 && this.info.workType === 0) {
+ // 閲囨憳宸�
+ this.feeFrom.priceParam1.name = '閲囨憳閲嶉噺锛�'
+ this.feeFrom.priceParam1.unit = '鏂�'
+ this.feeFrom.priceParam2.name = null
+ this.feeFrom.priceParam2.unit = null
+ } else if (this.info.type === 0 && this.info.workType === 2) {
+ // 鍖呰宸�
+ if (this.info.carType === 0) {
+ // 鎸夊ぉ
+ this.feeFrom.priceParam1.name = '鐢ㄥ伐澶╂暟'
+ this.feeFrom.priceParam1.unit = '澶�'
+ this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟'
+ this.feeFrom.priceParam2.unit = '浜�'
+ } else if (this.info.carType === 1) {
+ // 鎸夊皬鏃�
+ this.feeFrom.priceParam1.name = '宸ヤ綔鏃堕暱'
+ this.feeFrom.priceParam1.unit = '鏃�'
+ this.feeFrom.priceParam2.name = '鐢ㄥ伐浜烘暟'
+ this.feeFrom.priceParam2.unit = '浜�'
+ } else if (this.info.carType === 1) {
+ // 鎸夊皬鏃�
+ this.feeFrom.priceParam1.name = '鍖呰閲嶉噺'
+ this.feeFrom.priceParam1.unit = '鏂�'
+ this.feeFrom.priceParam2.name = null
+ this.feeFrom.priceParam2.unit = null
+ }
+ } else if (this.info.type === 1 && this.info.carType === 0) {
+ // 杩愯揣鍗� 鎸夊ぉ鏁�
+ this.feeFrom.priceParam1.name = '鐢ㄨ溅澶╂暟'
+ this.feeFrom.priceParam1.unit = '澶�'
+ } else if (this.info.type === 1 && this.info.carType === 1) {
+ // 杩愯揣鍗� 鎸夋鏁�
+ this.feeFrom.priceParam1.name = '鐢ㄨ溅娆℃暟'
+ this.feeFrom.priceParam1.unit = '娆�'
+ }
}
}
}
diff --git a/small-program/pages/demand-hall/demand-hall.vue b/small-program/pages/demand-hall/demand-hall.vue
index 6bbf0a1..b92e48e 100644
--- a/small-program/pages/demand-hall/demand-hall.vue
+++ b/small-program/pages/demand-hall/demand-hall.vue
@@ -107,9 +107,9 @@
<view class="eidt-phone" v-if="[2].includes(item.status)">鑱旂郴甯堝倕</view>
<view class="eidt-phone" v-if="item.status === 4 && item.commentStatus === 0">璇勪环璁㈠崟</view>
<view class="eidt-btn" v-if="[0,1,2].includes(item.status) && item.type !== 2 && item.isUpdate!=1" @click.stop="jumpEdit(item)">淇敼璁㈠崟</view>
- <view class="eidt-btn" v-if="(item.type == 2 && item.status === 0)" @click.stop="jumpEdit(item)">缁х画鏀粯</view>
+ <view class="eidt-btn" v-if="(item.type == 2 && item.status === 0)" @click.stop="jumpDesc(item,1)">缁х画鏀粯</view>
<!-- <view class="eidt-btn" v-if="item.status === 2" @click.stop="startJobs(item.id)">寮�濮嬩綔涓�</view> -->
- <view class="eidt-btn" v-if="item.type != 2 && item.status === 5" @click.stop="jumpDesc(item)">绔嬪嵆鏀粯</view>
+ <view class="eidt-btn" v-if="item.type != 2 && item.status === 5" @click.stop="jumpDesc(item,2)">绔嬪嵆鏀粯</view>
<view class="eidt-btn" v-if="item.type == 2 && item.status === 3" @click.stop="jumpDesc(item)">瀹屾垚浣滀笟</view>
</view>
</view>
@@ -332,9 +332,9 @@
})
},
- jumpDesc(item) {
+ jumpDesc(item,flag) {
uni.navigateTo({
- url: `/pages/order-details/order-details?id=${item.id}`
+ url: `/pages/order-details/order-details?id=${item.id}&flag=${flag}`
})
},
// 淇敼
diff --git a/small-program/pages/freight/freight.vue b/small-program/pages/freight/freight.vue
index 20d0bfc..9951efe 100644
--- a/small-program/pages/freight/freight.vue
+++ b/small-program/pages/freight/freight.vue
@@ -91,12 +91,15 @@
<view class="list-item-row">
<view class="list-item-row-label">杩愯緭閲嶉噺/鏁伴噺<b>*</b></view>
<view class="list-item-row-val">
- <input type="text" style="flex: 1;" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
- <view @click="show4 = true" style="width: 100rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end;">
+ <input type="text" style="flex: 3;" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
+ <!-- <view @click="show4 = true" style="width: 100rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end;">
<text>{{form.transportUnit}}</text>
<u-icon name="arrow-down" color="#111111" size="16"></u-icon>
- </view>
+ </view> -->
+ <view style="flex: 1;" :class="form.transportUnit ==='涓�' ? 'val-cate-item val-active' : 'val-cate-item'" @click="form.transportUnit = '涓�'">涓�</view>
+ <view style="flex: 1;" :class="form.transportUnit ==='鏂�' ? 'val-cate-item val-active' : 'val-cate-item'" @click="form.transportUnit = '鏂�'">鏂�</view>
</view>
+
</view>
<view class="list-item-row" v-if="viewStatus">
<view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
@@ -438,7 +441,7 @@
}).then(res => {
if (res.code == 200) {
uni.showToast({
- title: '缂栬緫鎴愬姛',
+ title: '淇敼鎴愬姛',
icon: 'success',
mask: true,
duration: 2000
@@ -552,6 +555,7 @@
if ([2].includes(type)) {
this.form.latitude = res.latitude
this.form.longitude = res.longitude
+ this.form.location = res.name || res.address
this.form.address = res.name || res.address
} else if (type === 3) {
this.form.locationEnd = res.name || res.address
@@ -989,6 +993,25 @@
font-size: 30rpx;
color: #111111;
}
+ .val-active {
+ background: #00BC12 !important;
+ color: #ffffff !important;
+ }
+ .val-cate-item {
+ width: 208rpx;
+ height: 72rpx;
+ line-height: 72rpx;
+ text-align: center;
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #333333;
+ background: #EEEEEE;
+ border-radius: 36rpx;
+ margin-right: 24rpx;
+ &:last-child {
+ margin: 0 !important;
+ }
+ }
}
}
}
diff --git a/small-program/pages/order-details/order-details.vue b/small-program/pages/order-details/order-details.vue
index 93e9dea..eadd734 100644
--- a/small-program/pages/order-details/order-details.vue
+++ b/small-program/pages/order-details/order-details.vue
@@ -9,7 +9,7 @@
璁㈠崟淇℃伅宸蹭慨鏀癸紝璇峰強鏃剁‘璁わ紝{{timeInfo}}鍚庡皢鑷姩鍚屾剰
</view>
<view class="order-head-info" v-if="isPushlishor && info.type ==2 && info.status ==0" style="color: red;">
- 鍓╀綑鏀粯鏀粯鏃堕棿锛寋{timeInfo1}}鍚庡皢鑷姩鍙栨秷
+ 鍓╀綑鏀粯鏃堕棿锛寋{timeInfo1}}鍚庡皢鑷姩鍙栨秷
</view>
<view class="order-head-info" v-else >{{getStatusInfo()}}</view>
</view>
@@ -94,11 +94,11 @@
<view class="order-info-price">
<view class="price-row" v-if="feeFrom.priceParam1.name">
<view class="price-row-label">{{feeFrom.priceParam1.name}}</view>
- <view class="price-row-val" > {{(info.priceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
+ <view class="price-row-val" > {{(info.originPriceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
</view>
<view class="price-row" v-if="feeFrom.priceParam2.name">
<view class="price-row-label">{{feeFrom.priceParam2.name}}</view>
- <view class="price-row-val" > {{(info.priceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
+ <view class="price-row-val" > {{(info.originPriceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
</view>
<view class="price-row">
<view class="price-row-label">璐圭敤鏍囧噯</view>
@@ -112,17 +112,65 @@
<view class="price-row">
<view class="price-row-label">棰勪及鎬昏垂鐢�(鍏�)</view>
<view class="price-row-val" :style="{color: userInfo.id !== info.acceptMemberId ? '#FF0000' : ''}">
- 楼{{((info.estimatedAccount||0)/100).toFixed(2) }}
+ 楼{{((info.originEstimatedAccount||0)/100).toFixed(2) }}
</view>
</view>
-
- <view class="price-row" v-if="isAcceptor">
+ <view class="price-row" v-if="isAcceptor&&(info.type==2 || (info.status!=5&& info.status!=4))">
<view class="price-row-label">瀹為檯鍒拌处(鍏�)</view>
<view class="price-row-val" style="color: #FF0000;">
- 楼{{((info.estimatedAccount * (1 - (info.platformRata || 0))) / 100).toFixed(2) }}
+ 楼{{((info.receiveAccount || 0) / 100).toFixed(2) }}
</view>
</view>
</view>
+ <template v-if="info.type!=2&&(info.status==5|| info.status==4)">
+ <view class="order-info-x"></view>
+ <view class="order-info-supplement" >
+ <view class="order-info-supplement-title">宸茬‘璁よ垂鐢�</view>
+ </view>
+ <view class="order-info-price">
+ <view class="price-row" v-if="feeFrom.priceParam1.name">
+ <view class="price-row-label">瀹為檯{{feeFrom.priceParam1.name}}</view>
+ <view class="price-row-val" > {{(info.priceNum1||0) }}{{feeFrom.priceParam1.unit}} </view>
+ </view>
+ <view class="price-row" v-if="feeFrom.priceParam2.name">
+ <view class="price-row-label">瀹為檯{{feeFrom.priceParam2.name}}</view>
+ <view class="price-row-val" > {{(info.priceNum2||0) }}{{feeFrom.priceParam2.unit}} </view>
+ </view>
+ <view class="price-row" >
+ <view class="price-row-label">鍏朵粬璐圭敤</view>
+ <view class="price-row-val" >楼{{((info.confirmOtherFee||0)/100).toFixed(2) }} </view>
+ </view>
+ <view class="price-row">
+ <view class="price-row-label">瀹為檯鎬昏垂鐢�(鍏�)</view>
+ <view class="price-row-val" style="color: #FF0000">
+ 楼{{((info.estimatedAccount||0)/100).toFixed(2) }}
+ </view>
+ </view>
+ <view class="price-row" >
+ <view class="price-row-label">澶囨敞</view>
+ <view class="price-row-val" >
+ {{ info.confirmFeeRemark ||'' }}
+ </view>
+ </view>
+ </view>
+ </template>
+ <template v-if="info.type==2 || info.status==4">
+ <view class="order-info-x"></view>
+ <view class="order-info-supplement" >
+ <view class="order-info-supplement-title">瀹為檯璐圭敤</view>
+ </view>
+ <view class="order-info-price">
+ <view class="price-row">
+ <view class="price-row-label" v-if="isPushlishor">瀹為檯鏀粯</view>
+ <view class="price-row-val" style="color: #FF0000;">楼{{((info.payAccount||0)/100).toFixed(2) }} </view>
+ </view>
+ <view class="price-row" v-if="isAcceptor && info.status==4" >
+ <view class="price-row-label">瀹為檯鍒拌处</view>
+ <view class="price-row-val" style="color: #FF0000;">楼{{((info.receiveAccount||0)/100).toFixed(2) }} </view>
+ </view>
+
+ </view>
+ </template>
</view>
<view class="order-info" v-if="info.commentStatus ===1">
<view class="order-info-title">
@@ -169,6 +217,10 @@
<text>寮�濮嬫椂闂达細</text>
<text>{{info.workStartTime||'-'}}</text>
</view>
+ <view class="order-info-list-item" v-if="info.confirmFeeTime">
+ <text>璐圭敤纭鏃堕棿锛�</text>
+ <text>{{info.confirmFeeTime||'-'}}</text>
+ </view>
<view class="order-info-list-item" v-if="info.finishTime">
<text>瀹屾垚鏃堕棿锛�</text>
<text>{{info.finishTime||'-'}}</text>
@@ -206,7 +258,6 @@
</view>
<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
</view>
-
<u-modal
title="娓╅Θ鎻愮ず"
:show="show"
@@ -316,7 +367,7 @@
<view class="querenfee-c">
<view class="querenfee-c-info1">鍏朵粬璐圭敤锛�</view>
<view class="querenfee-c-input">
- <input type="number" v-model="feeFrom.confirmOtherFee" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" placeholder="璇疯緭鍏�" />
+ <input type="digit" v-model="feeFrom.confirmOtherFee" placeholder-style="color: #999999; font-size: 56rpx; font-weight: 500;" placeholder="璇疯緭鍏�" />
</view>
<text class="querenfee-c-danw">鍏�</text>
</view>
@@ -388,6 +439,7 @@
show5:false,
show6:false,
show7:false,
+ actionFlag:null,
timeInfo:'00:00:00',
timeInfo1:'00:00:00',
lessTime:null,
@@ -421,6 +473,7 @@
console.log(options)
var id = options.id
this.id = id
+ this.actionFla=options.flag
},
onShow(options) {
this.getOrderData()
@@ -500,17 +553,29 @@
icon: 'none'
})
}
+ uni.requestSubscribeMessage({
+ tmplIds: ['3rOz7DAnawrkKDM8b5_XW4FLivISWYov6d7QSC4ORsg'],
+ success(res) {
+ that.doConfirmFeeBiz()
+ },
+ fail(err) {
+ that.doConfirmFeeBiz()
+ }
+ })
+ },
+ doConfirmFeeBiz(){
+ var that = this
this.$u.api.confirmFee({
confirmFeeRemark: this.feeFrom.confirmFeeRemark,
- confirmOtherFee: this.feeFrom.confirmOtherFee,
+ confirmOtherFee: (this.feeFrom.confirmOtherFee||0)*100,
orderId: this.info.id,
priceNum1: this.feeFrom.priceNum1,
priceNum2: this.feeFrom.priceNum2
}).then(res => {
if (res.code === 200) {
- this.show7 = false
+ that.show7 = false
uni.showToast({ title: '鎿嶄綔鎴愬姛', icon: 'success', duration: 2000 });
- this.getOrderData()
+ that.getOrderData()
}
})
},
diff --git a/small-program/pages/packaging-worker/packaging-worker.vue b/small-program/pages/packaging-worker/packaging-worker.vue
index 9998066..85f3044 100644
--- a/small-program/pages/packaging-worker/packaging-worker.vue
+++ b/small-program/pages/packaging-worker/packaging-worker.vue
@@ -251,12 +251,16 @@
if (!this.form.categoryId) {
return uni.showToast({ title: '璇烽�夋嫨鍒嗘嫞鍝佺', icon: 'none' })
}
+ if (this.form.carType !=0 && !this.form.priceNum1) {
+ var t = this.form.carType ==1?"宸ヤ綔鏃堕暱":"鍖呰閲嶉噺"
+ return uni.showToast({ title: '璇疯緭鍏�'+t, icon: 'none' })
+ }
if (!this.form.priceNum2) {
return uni.showToast({ title: '璇疯緭鍏ョ敤宸ユ暟閲�', icon: 'none' })
}
if (!this.form.price) {
return uni.showToast({ title: '璇疯緭鍏ヨ垂鐢ㄦ爣鍑�', icon: 'none' })
- }
+ }
if (!this.form.linkPhone) {
return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' })
}
--
Gitblit v1.9.3