订单流程细节调整

This commit is contained in:
donqi 2022-10-07 02:26:02 +08:00
parent 9b282f75d7
commit 0886ce08d1
3 changed files with 210 additions and 20 deletions

View File

@ -9,11 +9,12 @@
</view> </view>
<view class="padding text-left"> <view class="padding text-left">
<view class="text-lg"> <view class="text-lg">
<text>本单售后到帐</text> <text>退款金</text>
<text class="text-price text-red">{{data.afterServiceRecordList[0].refund}}</text> <text class="text-price text-red">{{data.afterServiceRecordList[0].refund}}</text>
</view> </view>
<view v-if="data.payMoney < data.afterServiceRecordList[0].refund" class="padding-top text-red">警报该单关联其它订单客户申请的退款金额有效具体操作请沟通派单处</view>
<view class="text-lg padding-top flex justify-start align-center"> <view class="text-lg padding-top flex justify-start align-center">
<text>更改到帐</text> <text>更改退款金</text>
<input class="radius-input inline-input" v-model="agreedRefund"></input> <input class="radius-input inline-input" v-model="agreedRefund"></input>
<text class="margin-left-xs"></text> <text class="margin-left-xs"></text>
</view> </view>

View File

@ -107,6 +107,13 @@
<view v-else-if="timeoutRecord.orderStatus === 3" class='cu-tag margin-right-xs radius line-red margin-top-xs'>超时未完单</view> <view v-else-if="timeoutRecord.orderStatus === 3" class='cu-tag margin-right-xs radius line-red margin-top-xs'>超时未完单</view>
</view> </view>
</view> </view>
<view v-for="(afterServiceRecord, afterServiceRecordIndex) in order.afterServiceRecordList">
<view v-if="afterServiceRecord.createBy && !afterServiceRecord.updateBy" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后发起中</view>
<view v-if="afterServiceRecord.workerFeedbackResult == 1 && afterServiceRecord.customerFinalCheck == null" class='cu-tag margin-right-xs radius line-main-color margin-top-xs'>售后已同意</view>
<view v-if="afterServiceRecord.workerFeedbackResult == 0 && afterServiceRecord.customerFinalCheck == null" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后已拒绝</view>
<view v-if="afterServiceRecord.customerFinalCheck == 0" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后纠纷中</view>
<view v-if="afterServiceRecord.customerFinalCheck == 1" class='cu-tag margin-right-xs radius line-main-color margin-top-xs'>售后已完成</view>
</view>
<view class="float-clear"></view> <view class="float-clear"></view>
<view class="margin-top-sm"> <view class="margin-top-sm">
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-people"></text></text> <text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-people"></text></text>
@ -192,7 +199,7 @@
<view v-if="order.afterServiceRecordList && order.afterServiceRecordList.length" class="bg-white margin-top-sm"> <view v-if="order.afterServiceRecordList && order.afterServiceRecordList.length" class="bg-white margin-top-sm">
<view v-for="(afterServiceRecord, afterServiceRecordIndex) in order.afterServiceRecordList"> <view v-for="(afterServiceRecord, afterServiceRecordIndex) in order.afterServiceRecordList">
<view v-if="afterServiceRecord.createBy == 1" class="padding-tb solid-top"> <view v-if="afterServiceRecord.createBy == 1" class="padding-tb solid-top">
<view class='cu-tag bg-main-color radius light'>客户发起</view> <view class='cu-tag bg-main-color radius light'>售后发起中</view>
<view v-if="afterServiceRecord.operType === 1"> <view v-if="afterServiceRecord.operType === 1">
<view class="flex justify-start align-end"> <view class="flex justify-start align-end">
<text>退款申请</text> <text>退款申请</text>
@ -232,7 +239,7 @@
<text>{{afterServiceRecord.customerReason}}</text> <text>{{afterServiceRecord.customerReason}}</text>
</view> </view>
<view> <view>
<text>完成操作点击处理完成提交由客服回访</text> <text>完成操作点击操作处理提交由客服回访</text>
</view> </view>
<view class="grid col-3 grid-square flex-sub margin-top-sm"> <view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList" :key="imgIndex" v-if="imgObj.imgUploadBy === 1"> <view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList" :key="imgIndex" v-if="imgObj.imgUploadBy === 1">
@ -242,7 +249,7 @@
</view> </view>
<view class="flex justify-end align-end margin-tb-sm" v-if="!afterServiceRecord.updateBy"> <view class="flex justify-end align-end margin-tb-sm" v-if="!afterServiceRecord.updateBy">
<button class="cu-btn sm bg-yellow margin-right-sm" data-modal="rejectAfterSale" @tap="showModal($event, order)">拒绝处理</button> <button class="cu-btn sm bg-yellow margin-right-sm" data-modal="rejectAfterSale" @tap="showModal($event, order)">拒绝处理</button>
<button class="cu-btn sm bg-yellow margin-right-sm" data-modal="agreeAfterSale" @tap="showModal($event, order)">处理完成</button> <button class="cu-btn sm bg-yellow margin-right-sm" data-modal="agreeAfterSale" @tap="showModal($event, order)">操作处理</button>
</view> </view>
</view> </view>
<view v-if="afterServiceRecord.updateBy == 2" class="padding-tb solid-top"> <view v-if="afterServiceRecord.updateBy == 2" class="padding-tb solid-top">

View File

@ -44,12 +44,19 @@
</view> --> </view> -->
<view class="margin-top-sm"> <view class="margin-top-sm">
<text class="cuIcon-location text-main-color margin-right-xs"></text> <text class="cuIcon-location text-main-color margin-right-xs"></text>
<text>{{servDetail.address}}</text> <text>服务地址{{servDetail.address}}</text>
</view> </view>
<view class="margin-top-sm"> <view class="margin-top-sm">
<text class="cuIcon-people text-main-color margin-right-xs"></text> <text class="cuIcon-people text-main-color margin-right-xs"></text>
<text class="margin-right-sm">{{servDetail.customerName}}</text> <text class="margin-right-sm">客户{{servDetail.customerName}}</text>
<text>{{servDetail.customerPhone}}</text> <text>{{servDetail.customerPhone}}</text>
<button class="cu-btn line-main-color sm" @click="makePhoneCall(servDetail.customerPhone)">拨打</button>
</view>
<view class="margin-top-sm" v-if="servDetail.orderDetailId">
<text class="cuIcon-friendfamous text-main-color margin-right-xs"></text>
<text class="margin-right-sm">派单师傅{{servDetail.masterWorkerName}}</text>
<text class="margin-right-xs">{{servDetail.masterWorkerPhone}}</text>
<button class="cu-btn line-main-color sm" @click="makePhoneCall(servDetail.masterWorkerPhone)">拨打</button>
</view> </view>
<view class="margin-top-sm"> <view class="margin-top-sm">
<text class="cuIcon-time text-main-color margin-right-xs"></text> <text class="cuIcon-time text-main-color margin-right-xs"></text>
@ -88,18 +95,7 @@
<product-picked :product="servDetail" :pickedList="servDetail.standardList" :columnTitleArr="servingColumnHeaders" :valFieldArr="servingValFields"></product-picked> <product-picked :product="servDetail" :pickedList="servDetail.standardList" :columnTitleArr="servingColumnHeaders" :valFieldArr="servingValFields"></product-picked>
</view> </view>
</view> </view>
<!-- 完成记录 --> <!-- 完工图片 子单详情展示 -->
<view v-if="servDetail.orderDetailId == null" class="bg-white margin-lr-sm padding-lr padding-bottom margin-top-sm" v-for="(item, index) in servDetail.standardList">
<view class="cu-bar solid-bottom">
<view class="action bar-first-action">
<text class="cuIcon-titles text-main-color"></text> 完成记录
</view>
<view class='cu-tag bg-purple radius light margin-right-sm' v-if="servDetail.orderStatus > 3">{{servDetail.workFinishTime}}</view>
</view>
<view class="margin-top-sm">
<product-picked :pickedList="[item]" :columnTitleArr="servedColumnHeaders" :valFieldArr="servedValFields"></product-picked>
</view>
</view>
<view v-if="servDetail.orderDetailId != null && servDetail.orderStatus > 3 && servDetail.finishImgList && servDetail.finishImgList.length" class="bg-white margin-lr-sm padding-lr padding-bottom margin-top-sm"> <view v-if="servDetail.orderDetailId != null && servDetail.orderStatus > 3 && servDetail.finishImgList && servDetail.finishImgList.length" class="bg-white margin-lr-sm padding-lr padding-bottom margin-top-sm">
<view class="cu-bar solid-bottom"> <view class="cu-bar solid-bottom">
<view class="action bar-first-action"> <view class="action bar-first-action">
@ -115,6 +111,187 @@
<text>备注{{servDetail.workerRemark}}</text> <text>备注{{servDetail.workerRemark}}</text>
</view> </view>
</view> </view>
<!-- 完成记录 主单详情展示 -->
<view v-if="servDetail.orderDetailId == null" class="bg-white margin-lr-sm padding-lr padding-bottom margin-top-sm" v-for="(item, index) in servDetail.orderStandardDetailList">
<view class="cu-bar solid-bottom">
<view class="action bar-first-action">
<text class="cuIcon-titles text-main-color"></text> 完成记录
</view>
<view class='cu-tag bg-purple radius light margin-right-sm' v-if="item.orderStatus > 3">{{item.workFinishTime}}</view>
</view>
<view class="margin-top-sm" v-for="(afterServiceRecord, afterServiceRecordIndex) in item.afterServiceRecordList">
<view v-if="afterServiceRecord.createBy && !afterServiceRecord.updateBy" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后发起中</view>
<view v-if="afterServiceRecord.workerFeedbackResult == 1 && afterServiceRecord.customerFinalCheck == null" class='cu-tag margin-right-xs radius line-main-color margin-top-xs'>售后已同意</view>
<view v-if="afterServiceRecord.workerFeedbackResult == 0 && afterServiceRecord.customerFinalCheck == null" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后已拒绝</view>
<view v-if="afterServiceRecord.customerFinalCheck == 0" class='cu-tag margin-right-xs radius line-red margin-top-xs'>售后纠纷中</view>
<view v-if="afterServiceRecord.customerFinalCheck == 1" class='cu-tag margin-right-xs radius line-main-color margin-top-xs'>售后已完成</view>
</view>
<view class="margin-top-sm">师傅{{item.workerName}}</view>
<view class="margin-top-sm">
<text class="margin-right-xs">联系方式{{item.workerPhone}}</text>
<button class="cu-btn line-main-color sm" @click="makePhoneCall(item.workerPhone)">拨打</button>
</view>
<view class="margin-top-sm">预约时间{{item.expectTimeStart + '~' + item.expectTimeEnd}}</view>
<view class="margin-top-sm" v-if="item.orderStatus >= 3">上门时间{{item.workBeginTime}}</view>
<view class="margin-top-sm" v-if="item.orderStatus >= 4">完成时间{{item.workFinishTime}}</view>
<view class="margin-top-sm">
<product-picked :pickedList="item.orderStandardList" :columnTitleArr="servedColumnHeaders" :valFieldArr="servedValFields"></product-picked>
</view>
<view v-if="item.financialChangeRecord" class="bg-white">
<view class="cu-bar solid-bottom">
<view class="action bar-first-action">
<text class="cuIcon-title text-main-color"></text> 加价记录
</view>
</view>
<view class="padding-tb-sm">
<view>
<text>加价金额</text>
<text>{{item.financialChangeRecord.changeMoney}}</text>
</view>
<view>
<text>加价备注</text>
<text>{{item.financialChangeRecord.remark}}</text>
</view>
</view>
</view>
<view v-if="servDetail.orderStatus > 3 && item.finishImgList && item.finishImgList.length" class="bg-white">
<view class="cu-bar solid-bottom">
<view class="action bar-first-action">
<text class="cuIcon-title text-main-color"></text> 完工图片
</view>
</view>
<view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgUrl, index) in item.finishImgList" :key="index">
<image :src="imgUrl" @tap="viewImage($event, [imgUrl])" :data-url="imgUrl" mode="aspectFill">
</image>
</view>
</view>
<view>
<text>备注{{item.remark}}</text>
</view>
</view>
<view v-if="item.afterServiceRecordList && item.afterServiceRecordList.length" class="bg-white">
<view class="cu-bar">
<view class="action bar-first-action">
<text class="cuIcon-title text-main-color"></text>
{{item.afterServiceRecordList[0].operType === 1 ? '退款记录' : '售后记录'}}
</view>
</view>
<view v-for="(afterServiceRecord, afterServiceRecordIndex) in item.afterServiceRecordList">
<view v-if="afterServiceRecord.createBy == 1" class="padding-tb-sm solid-top">
<view class='cu-tag bg-main-color radius light'>售后发起中</view>
<view v-if="afterServiceRecord.operType === 1">
<view class="text-gray text-sm margin-bottom-xs">退单退款已提交至商家其最大时限24小时内需完成操作</view>
<view class="flex justify-start align-end">
<text>退款申请</text>
<uni-countdown :show-colon="false" :backgroundColor="'#eee'"
:day="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).day"
:hour="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).hour"
:minute="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).min"
:second="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).seconds">
</uni-countdown>
</view>
<view>
<text>退款金额</text>
<text>{{afterServiceRecord.refund}}</text>
</view>
<view>
<text class="text-red" v-if="item.payMoney < afterServiceRecord.refund">警告退单金额大于该师傅接单金额但客户发起的退款金额有效您需介入处理如让接单师傅系统上操作同意退款系统最大按该单派单额退回客户其余需人工处理如属于师傅责任引起的退单建议重做重做后让客户撤消退单</text>
</view>
<view>
<text>退款原因</text>
<text>{{afterServiceRecord.customerReason}}</text>
</view>
<view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList"
:key="imgIndex" v-if="imgObj.imgUploadBy === 1">
<image :src="imgObj.imgUrl" @tap="viewImage($event, [imgObj.imgUrl])"
:data-url="imgObj.imgUrl" mode="aspectFill"></image>
</view>
</view>
</view>
<view v-else-if="afterServiceRecord.operType === 2">
<view class="text-gray text-sm margin-bottom-xs">售后已提交至商家其最大时限24小时内需完成操作</view>
<view class="flex justify-start align-end">
<text>待处理售后</text>
<uni-countdown :show-colon="false" :backgroundColor="'#eee'"
:day="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).day"
:hour="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).hour"
:minute="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).min"
:second="$dateUtil.countDownDiff($dateUtil.addHours(afterServiceRecord.createTime, 24)).seconds">
</uni-countdown>
</view>
<view>
<text>售后原因</text>
<text>{{afterServiceRecord.customerReason}}</text>
</view>
<view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList"
:key="imgIndex" v-if="imgObj.imgUploadBy === 1">
<image :src="imgObj.imgUrl" @tap="viewImage($event, [imgObj.imgUrl])"
:data-url="imgObj.imgUrl" mode="aspectFill"></image>
</view>
</view>
</view>
</view>
<view v-if="afterServiceRecord.updateBy == 2" class="padding-tb-sm solid-top">
<view class='cu-tag bg-main-color radius light'>师傅反馈</view>
<view v-if="afterServiceRecord.operType === 1">
<view class="margin-top-xs">
<text>师傅反馈结果</text>
<text>{{afterServiceRecord.workerFeedbackResult === 1 ? '同意' : '拒绝'}}</text>
</view>
<view v-if="afterServiceRecord.workerFeedbackResult === 1">
<text>同意退款金额</text>
<text>{{afterServiceRecord.agreedRefund ? afterServiceRecord.agreedRefund : afterServiceRecord.refund}}</text>
</view>
<view>
<text>师傅反馈</text>
<text v-if="afterServiceRecord.workerFeedbackReasonType === 1">客户原因</text>
<text v-else-if="afterServiceRecord.workerFeedbackReasonType === 2">师傅原因</text>
<text v-else>其他</text>
<text
v-if="afterServiceRecord.workerFeedbackReason">{{"" + afterServiceRecord.workerFeedbackReason}}</text>
</view>
<view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList"
:key="imgIndex" v-if="imgObj.imgUploadBy === 2">
<image :src="imgObj.imgUrl" @tap="viewImage($event, [imgObj.imgUrl])"
:data-url="imgObj.imgUrl" mode="aspectFill"></image>
</view>
</view>
</view>
<view v-else-if="afterServiceRecord.operType === 2">
<view class="margin-top-xs">
<text>师傅反馈结果</text>
<text>{{afterServiceRecord.workerFeedbackResult === 1 ? '同意' : '拒绝'}}</text>
</view>
<view>
<text>师傅反馈</text>
<text v-if="afterServiceRecord.workerFeedbackReasonType === 1">客户原因</text>
<text v-else-if="afterServiceRecord.workerFeedbackReasonType === 2">师傅原因</text>
<text v-else>其他</text>
<text
v-if="afterServiceRecord.workerFeedbackReason">{{"" + afterServiceRecord.workerFeedbackReason}}</text>
</view>
<view class="grid col-3 grid-square flex-sub margin-top-sm">
<view class="bg-img" v-for="(imgObj, imgIndex) in afterServiceRecord.imgsList"
:key="imgIndex" v-if="imgObj.imgUploadBy === 2">
<image :src="imgObj.imgUrl" @tap="viewImage($event, [imgObj.imgUrl])"
:data-url="imgObj.imgUrl" mode="aspectFill"></image>
</view>
</view>
</view>
</view>
<view v-if="afterServiceRecord.customerFinalCheck != null" class="padding-tb-sm solid-top">
<view class='cu-tag bg-main-color radius light'>客户最终确认</view>
<view class="margin-top-xs">{{afterServiceRecord.customerFinalCheck === 1 ? '同意' : '不同意'}}
</view>
<view class="text-red" v-if="afterServiceRecord.customerFinalCheck === 0">订单已申请平台介入</view>
</view>
</view>
</view>
</view>
<!-- 订单编码和时间 --> <!-- 订单编码和时间 -->
<view class="bg-white margin-top-sm padding margin-lr-sm margin-bottom-with-bar"> <view class="bg-white margin-top-sm padding margin-lr-sm margin-bottom-with-bar">
<view v-if="servDetail.orderDetailCode != null">订单编码{{servDetail.orderDetailCode}}</view> <view v-if="servDetail.orderDetailCode != null">订单编码{{servDetail.orderDetailCode}}</view>
@ -268,6 +445,11 @@
urls: imgList, urls: imgList,
current: e.currentTarget.dataset.url current: e.currentTarget.dataset.url
}); });
},
makePhoneCall(phoneNum) {
uni.makePhoneCall({
phoneNumber: phoneNum
})
} }
} }
} }