0925
This commit is contained in:
parent
5670512ba6
commit
48fd83ef53
@ -59,84 +59,99 @@
|
||||
</view>
|
||||
<view class="mubu">
|
||||
<view class="hui-content">
|
||||
<view class="jsy" v-if="singleList.length == 0">
|
||||
<!-- <view class="jsy" v-if="singleList.length == 0">
|
||||
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
|
||||
</view>
|
||||
|
||||
<view class="content-box" v-for="(item,index) in singleList" :key="index">
|
||||
<view class="dis-bb">
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '拖车' ">
|
||||
<image src="../../static/images/tche.png" mode=""></image>
|
||||
</view>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '扣车' ">
|
||||
<image src="../../static/images/kouche.png" mode=""></image>
|
||||
</view>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '送油' ">
|
||||
<image src="../../static/images/syou.png" mode=""></image>
|
||||
</view>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '搭电' ">
|
||||
<image src="../../static/images/ddian.png" mode=""></image>
|
||||
</view>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '换胎' ">
|
||||
<image src="../../static/images/htai.png" mode=""></image>
|
||||
</view>
|
||||
<view class="ja-you">{{item.rescuePosition || ''}}</view>
|
||||
<view class="content-box" v-for="(item,index) in singleList" :key="index"> -->
|
||||
<!-- 初始加载状态 -->
|
||||
<view class="ques" v-if="initialLoading">
|
||||
<view class="loading-container">
|
||||
<view class="loading-spinner"></view>
|
||||
<text class="loading-text">加载中,请稍候...</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/lxr.png" mode=""></image>
|
||||
<!-- 非加载中且无数据状态 -->
|
||||
<view class="jsy" v-else-if="!initialLoading && singleList.length == 0">
|
||||
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
|
||||
</view>
|
||||
|
||||
<view v-else>
|
||||
<view class="content-box" v-for="(item,index) in singleList" :key="index">
|
||||
<view class="dis-bb">
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '拖车' ">
|
||||
<image src="../../static/images/tche.png" mode=""></image>
|
||||
</view>
|
||||
<text>故障车联系人:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.connectionName || '' }}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/lxr.png" mode=""></image>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '扣车' ">
|
||||
<image src="../../static/images/kouche.png" mode=""></image>
|
||||
</view>
|
||||
<text>故障车联系人电话:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.connectionPhone || '' }}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cllx.png" mode=""></image>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '送油' ">
|
||||
<image src="../../static/images/syou.png" mode=""></image>
|
||||
</view>
|
||||
<text>车辆信息:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.carTypeStr||''}} {{item.licenseNum || ''}}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/fqsj.png" mode=""></image>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '搭电' ">
|
||||
<image src="../../static/images/ddian.png" mode=""></image>
|
||||
</view>
|
||||
<text>救援发起时间:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.rescueTime || ''}}</text>
|
||||
</view>
|
||||
<view class="dis-tt" v-if="rescueStatus == 2">
|
||||
<view class="inanniu" @click="dialogToggle(item.rescueDriverId, item.id)">
|
||||
<uni-icons type="checkmarkempty" color="#3CBC6F" size="20"></uni-icons>
|
||||
<text>接受</text>
|
||||
</view>
|
||||
<view class="caanniu" @click="inputDialogToggle(item.rescueDriverId)">
|
||||
<uni-icons type="closeempty" color="#e43d33" size="20"></uni-icons>
|
||||
<text>拒绝</text>
|
||||
</view>
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
<view class="changimg" v-if="item.rescueTypeStr == '换胎' ">
|
||||
<image src="../../static/images/htai.png" mode=""></image>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
<view class="ja-you">{{item.rescuePosition || ''}}</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="dis-tt" v-if="rescueStatus == 3">
|
||||
<!-- <view class="inanniu" @click="diyshow(item.id)">
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/lxr.png" mode=""></image>
|
||||
</view>
|
||||
<text>故障车联系人:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.connectionName || '' }}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/lxr.png" mode=""></image>
|
||||
</view>
|
||||
<text>故障车联系人电话:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.connectionPhone || '' }}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cllx.png" mode=""></image>
|
||||
</view>
|
||||
<text>车辆信息:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.carTypeStr||''}} {{item.licenseNum || ''}}</text>
|
||||
</view>
|
||||
<view class="dix" style="margin: 10px auto;">
|
||||
<view class="htzit">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/fqsj.png" mode=""></image>
|
||||
</view>
|
||||
<text>救援发起时间:</text>
|
||||
</view>
|
||||
<text class="xshui">{{item.rescueTime || ''}}</text>
|
||||
</view>
|
||||
<view class="dis-tt" v-if="rescueStatus == 2">
|
||||
<view class="inanniu" @click="dialogToggle(item.rescueDriverId, item.id)">
|
||||
<uni-icons type="checkmarkempty" color="#3CBC6F" size="20"></uni-icons>
|
||||
<text>接受</text>
|
||||
</view>
|
||||
<view class="caanniu" @click="inputDialogToggle(item.rescueDriverId)">
|
||||
<uni-icons type="closeempty" color="#e43d33" size="20"></uni-icons>
|
||||
<text>拒绝</text>
|
||||
</view>
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="dis-tt" v-if="rescueStatus == 3">
|
||||
<!-- <view class="inanniu" @click="diyshow(item.id)">
|
||||
<uni-icons type="location" color="#3CBC6F" size="20"></uni-icons>
|
||||
<text>记录</text>
|
||||
</view>
|
||||
@ -150,27 +165,37 @@
|
||||
<uni-icons type="checkmarkempty" color="#3CBC6F" size="20"></uni-icons>
|
||||
<text>完成</text>
|
||||
</view> -->
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="dis-tt" v-if="rescueStatus == 5">
|
||||
<!-- <view class="caanniu" @click="showRepair(item)" v-if="item.isWeiXiu!=='1'">
|
||||
<view class="dis-tt" v-if="rescueStatus == 5">
|
||||
<!-- <view class="caanniu" @click="showRepair(item)" v-if="item.isWeiXiu!=='1'">
|
||||
<uni-icons type="wallet" color="#e43d33" size="20"></uni-icons>
|
||||
<text>转维修</text>
|
||||
</view> -->
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
<view class="anniua" @click="GOdetails(item.id)">
|
||||
<view class="shiwuimg">
|
||||
<image src="../../static/images/cldd.png" mode=""></image>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
</view>
|
||||
<text>查看详情</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 底部加载更多状态 -->
|
||||
<view v-if="loadingMore" class="loading-more">
|
||||
<view class="loading-spinner mini"></view>
|
||||
<text>正在加载更多...</text>
|
||||
</view>
|
||||
|
||||
<view v-if="!hasMore && singleList.length > 0" class="no-more-data">
|
||||
<text>没有更多数据了</text>
|
||||
</view>
|
||||
<view style="width: 100%; height: 50px;"></view>
|
||||
</view>
|
||||
<uni-popup ref="alertDialog" type="dialog">
|
||||
@ -374,6 +399,12 @@
|
||||
searchKeyword: '', // 搜索关键词
|
||||
searchParams: {}, // 搜索参数
|
||||
|
||||
// 加载状态控制
|
||||
initialLoading: true, // 初始加载状态
|
||||
loadingMore: false, // 加载更多状态(触底加载)
|
||||
hasMore: true, // 是否有更多数据
|
||||
scrollTop: 0, // 保存滚动位置
|
||||
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
@ -404,7 +435,7 @@
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
onReachBottom() {
|
||||
/* onReachBottom() {
|
||||
if (this.pageNum >= this.totalPages) {
|
||||
uni.showToast({
|
||||
title: '没有下一页数据',
|
||||
@ -415,6 +446,19 @@
|
||||
this.pageNum++
|
||||
this.driverRescuePage()
|
||||
}
|
||||
}, */
|
||||
onReachBottom() {
|
||||
if (this.pageNum >= this.totalPages) {
|
||||
this.hasMore = false;
|
||||
} else if (!this.loadingMore) {
|
||||
this.loadingMore = true;
|
||||
this.pageNum++;
|
||||
this.driverRescuePage();
|
||||
}
|
||||
},
|
||||
onPageScroll(e) {
|
||||
// 保存页面滚动位置
|
||||
this.scrollTop = e.scrollTop;
|
||||
},
|
||||
onShow() {
|
||||
this.permissions()
|
||||
@ -423,6 +467,8 @@
|
||||
this.pageNum = 1
|
||||
this.singleList = []
|
||||
this.driverRescuePage()
|
||||
this.hasMore = true
|
||||
this.initialLoading = true
|
||||
},
|
||||
components: {
|
||||
tabBar,
|
||||
@ -582,7 +628,7 @@
|
||||
|
||||
})
|
||||
},
|
||||
driverRescuePage() {
|
||||
/* driverRescuePage() {
|
||||
let data = {
|
||||
rescueStatus: this.rescueStatus,
|
||||
pageSize: this.pageSize,
|
||||
@ -602,6 +648,53 @@
|
||||
console.log('this.singleList', this.singleList);
|
||||
}
|
||||
})
|
||||
}, */
|
||||
driverRescuePage() {
|
||||
let data = {
|
||||
rescueStatus: this.rescueStatus,
|
||||
pageSize: this.pageSize,
|
||||
pageNum: this.pageNum,
|
||||
...this.searchParams
|
||||
}
|
||||
this.getthreelist()
|
||||
request({
|
||||
url: '/app/driver/driverRescuePage',
|
||||
method: 'get',
|
||||
params: data
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (this.pageNum != 1) {
|
||||
// 保存当前滚动位置
|
||||
const currentScrollTop = this.scrollTop;
|
||||
|
||||
// 追加数据
|
||||
this.singleList = this.singleList.concat(res.rows);
|
||||
|
||||
// 数据更新后恢复滚动位置
|
||||
this.$nextTick(() => {
|
||||
uni.pageScrollTo({
|
||||
scrollTop: currentScrollTop,
|
||||
duration: 0
|
||||
});
|
||||
});
|
||||
} else {
|
||||
this.singleList = res.rows;
|
||||
}
|
||||
|
||||
let total = res.total;
|
||||
this.totalPages = Math.ceil(total / this.pageSize);
|
||||
this.hasMore = this.pageNum < this.totalPages;
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.error('获取数据失败', error);
|
||||
uni.showToast({
|
||||
title: '数据加载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}).finally(() => {
|
||||
this.initialLoading = false;
|
||||
this.loadingMore = false;
|
||||
});
|
||||
},
|
||||
gettype() {
|
||||
this.columns = []
|
||||
@ -1024,7 +1117,7 @@
|
||||
this.getStatus()
|
||||
})
|
||||
},
|
||||
gettab(index, id) {
|
||||
/* gettab(index, id) {
|
||||
this.pageNum = 1
|
||||
this.singleList = []
|
||||
this.rescueStatus = id
|
||||
@ -1041,6 +1134,26 @@
|
||||
this.driverRescuePage(5)
|
||||
}
|
||||
|
||||
}, */
|
||||
gettab(index, id) {
|
||||
this.pageNum = 1
|
||||
this.singleList = []
|
||||
this.rescueStatus = id
|
||||
this.tabindex = index
|
||||
this.hasMore = true
|
||||
this.initialLoading = true
|
||||
|
||||
if (index == 0) {
|
||||
this.driverRescuePage(2)
|
||||
}
|
||||
if (index == 1) {
|
||||
this.driverRescuePage(3)
|
||||
}
|
||||
if (index == 2) {
|
||||
this.searchKeyword = ''
|
||||
this.searchParams = {}
|
||||
this.driverRescuePage(5)
|
||||
}
|
||||
},
|
||||
deletePic(event) {
|
||||
this[`fileList${event.name}`].splice(event.index, 1)
|
||||
@ -1631,4 +1744,74 @@
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* 新增加载状态样式 */
|
||||
.loading-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 60rpx 0;
|
||||
}
|
||||
|
||||
.loading-spinner {
|
||||
position: relative;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border: 4px solid #f3f3f3;
|
||||
border-top: 4px solid #0D2E8D;
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.loading-text {
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.loading-more {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 20rpx;
|
||||
color: #999;
|
||||
font-size: 26rpx;
|
||||
background-color: #f4f4f4;
|
||||
|
||||
.mini {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-width: 2px;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.no-more-data {
|
||||
text-align: center;
|
||||
padding: 20rpx;
|
||||
color: #999;
|
||||
font-size: 26rpx;
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
|
||||
.ques {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 200px;
|
||||
}
|
||||
</style>
|
@ -78,7 +78,7 @@
|
||||
</view>
|
||||
<view style="font-size: 28rpx; color:#999999; margin-bottom: 20rpx;">
|
||||
目的地备注:<view style="color:black; font-weight: bold; font-size: 30rpx;">
|
||||
{{ detailsData.remarkRescuePosition || '暂无备注' }}
|
||||
{{ detailsData.remarkDestinationInfo || '暂无备注' }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -335,7 +335,7 @@
|
||||
调度电话:{{detailsData.secondDispatchPhone}}
|
||||
</view>
|
||||
<view class="beizh">
|
||||
{{item.autoRemark}}
|
||||
{{item.autoRemark && item.autoRemark.replace(/, /g, '\n')}}
|
||||
</view>
|
||||
<view class="beizh" style="margin-top: 10rpx;"
|
||||
v-if="item.remark && item.remark !== '' && (item.type == 1 || item.title.includes('现场查勘'))">
|
||||
@ -1039,13 +1039,13 @@
|
||||
<u-picker :show="repairFactoryShow" :columns="[repairFactoryList]" keyName="label"
|
||||
@confirm="onRepairFactoryConfirm" @cancel="repairFactoryShow = false"></u-picker>
|
||||
<!-- // 底部按钮 -->
|
||||
<view class="fixed-bottom-button_1" v-if="detailsData.rescueStatusStr != '待救援' && this.currentStepIndex < 7">
|
||||
<view class="fixed-bottom-button_1" v-if="detailsData.rescueStatusStr != '待救援' && currentStepIndex < 7">
|
||||
<button @click="diyshow(detailsData.id)" :style="{backgroundColor: isProcessFinished ? '#999' : '#0D2E8D'}"
|
||||
:disabled="isProcessFinished">
|
||||
{{ nextStepName }}
|
||||
</button>
|
||||
</view>
|
||||
<view class="fixed-bottom-button" v-if="detailsData.rescueStatusStr != '待救援' && this.currentStepIndex >= 7">
|
||||
<view class="fixed-bottom-button" v-if="detailsData.rescueStatusStr != '待救援' && currentStepIndex >= 7">
|
||||
<button class="fee-button" @click="showFeePopupFunction" v-if="!shouldShowFeeButton"
|
||||
style="background-color: #e43d33;">
|
||||
收费
|
||||
@ -1283,8 +1283,6 @@
|
||||
},
|
||||
computed: {
|
||||
shouldShowFeeButton() {
|
||||
console.log('123', this.detailsData && this.currentStepIndex >= 7 &&
|
||||
(!this.detailsData.orderStatus || this.detailsData.orderStatus == 2))
|
||||
return this.detailsData && this.currentStepIndex >= 7 &&
|
||||
(!this.detailsData.orderStatus || this.detailsData.orderStatus == 2);
|
||||
}
|
||||
@ -2208,17 +2206,18 @@
|
||||
|
||||
switch (this.selectedOption) {
|
||||
case 'repair':
|
||||
let autoRemarkTemp = '转维修' + ', ' + '修理厂: ' + this.repairFormData.repairFactoryName;
|
||||
let autoRemarkTemp = '转维修';
|
||||
if (!this.repairFormData.adviserId || !this.repairFormData.adviserName) {
|
||||
if (this.repairFormData.adviserNameManual) {
|
||||
autoRemarkTemp = '转维修, ' + '移交接车人: ' + this.repairFormData.adviserNameManual + ', ' +
|
||||
'移交接车人电话: ' + this.repairFormData.adviserPhone + ', ' + '修理厂: ' + this.repairFormData
|
||||
.repairFactoryName;
|
||||
'移交接车人电话: ' + this.repairFormData.adviserPhone;
|
||||
}
|
||||
} else {
|
||||
autoRemarkTemp = '转维修, ' + '移交接车人: ' + this.repairFormData.adviserName + ', ' +
|
||||
'移交接车人电话: ' + this.repairFormData.adviserPhone + ', ' + '修理厂: ' + this.repairFormData
|
||||
.repairFactoryName;
|
||||
'移交接车人电话: ' + this.repairFormData.adviserPhone;
|
||||
}
|
||||
if (this.repairFormData.repairFactoryName) {
|
||||
autoRemarkTemp = autoRemarkTemp + ', ' + '修理厂: ' + this.repairFormData.repairFactoryName
|
||||
}
|
||||
data.remark = this.repairFormData.remark;
|
||||
data.autoRemark = autoRemarkTemp;
|
||||
@ -2845,8 +2844,8 @@
|
||||
});
|
||||
return;
|
||||
}
|
||||
let autoRemarkTemp = '其中: 拖车费用 ' + this.towingFee + '元,吊车费用 ' + this.craneFee + '元,其他费用 ' + this.otherFee +
|
||||
'元'
|
||||
let autoRemarkTemp =
|
||||
'其中: 拖车费用 ' + this.towingFee + '元, 吊车费用 ' + this.craneFee + '元, 其他费用 ' + this.otherFee + '元'
|
||||
if (this.otherFeeRemark != '') {
|
||||
autoRemarkTemp = autoRemarkTemp + ', 其他费用备注: ' + this.otherFeeRemark + ', '
|
||||
} else {
|
||||
@ -3087,7 +3086,7 @@
|
||||
async confirmCashPayment() {
|
||||
if (!this.setMoney) {
|
||||
uni.showToast({
|
||||
title: '请输入实收金额',
|
||||
title: '请输入金额',
|
||||
icon: 'none'
|
||||
});
|
||||
return;
|
||||
@ -3144,7 +3143,7 @@
|
||||
payRemark: this.creditRemark,
|
||||
payImages: this.paymentImages.join(','),
|
||||
payType: 'xj',
|
||||
orderStatus: '2'
|
||||
orderStatus: '2',
|
||||
}
|
||||
this.updateOrderInfo(orderData);
|
||||
this.detailsData.feeType = '1'
|
||||
|
Loading…
Reference in New Issue
Block a user