task#13641,在调度app的对账初,加一个“查看结算单”按钮

This commit is contained in:
2024-05-07 15:16:58 +08:00
parent 0a3eb81c12
commit a3948addd1
4 changed files with 211 additions and 32 deletions

View File

@ -70,7 +70,14 @@ const routes = [
meta: {
title: '审核完成-详情'
}
},
{
path: "/settlementDetail",
name: 'settlementDetail',
component: () => import('@/views/workOrder/settlementDetail.vue'),
meta: {
title: '结算单详情'
}
},
{
path: "/invoicingNotify",

View File

@ -39,22 +39,26 @@
<span class="titleLeft">结算类型</span>
<span class="content" >{{ orderInfo.settleType?.label }}</span>
</div>
<div class="item" >
<div class="item">
<span class="titleLeft">结算方式</span>
<span class="content" >{{orderInfo.taskSettleType?.label }}</span>
<span class="driverPoiBtn" style="margin-left: 8px" @click="viewSettlementDoc">查看结算单</span>
</div>
<!-- <div class="item" >
<span class="titleLeft">结算方式</span>
<div class="content" style="width: calc(100% - 84px);display: flex;justify-content: space-between;line-height: 27px" >
<span>{{orderInfo.taskSettleType?.label}}</span>
<!-- <span>包含公里数:15</span>-->
<!-- <span>超出单价:6</span>-->
</div>
</div>
<span>{{orderInfo.taskSettleType?.label}}</span> <span class="driverPoiBtn" @click="checkPhoto">查看照片</span>
</div>
</div>-->
<div class="item">
<span class="titleLeft">扣除责任险费</span>
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount}}</span>
</div>
<div class="item">
<span class="leftTitle fontColor">工单照片:</span><span class="rightContent">
<span class="leftTitle fontColor">工单照片:</span>
<span class="rightContent">
<span class="driverPoiBtn" @click="checkPhoto">查看照片</span>
</span>
</span>
</div>
</div>
<div class="supplierData common" v-show="!auditFormShow">
@ -210,7 +214,8 @@
<div class="title" style="margin-bottom: 8px"> 备注:{{orderInfo.supplierRemark}}</div>
<div class="title" style="margin-bottom: 8px"> 本次补充说明:</div>
<div style="display: flex;margin-bottom: 5px">
<img v-for="(item,index) in supplierPhotoList" :key="index" class="supplierImg" :src="item.url" @click="delSupplierPhoto(item)">
<!-- @click="delSupplierPhoto(item) -->
<img v-for="(item,index) in supplierPhotoList" :key="index" class="supplierImg" :src="item.url" @click="viewHandle(item)">
</div>
<div style="display: flex" >
<van-uploader
@ -226,7 +231,6 @@
</table>
</div>
<van-dialog v-model="show" title="确定删除此照片吗" show-cancel-button @confirm="handleConfirm"></van-dialog>
<!-- <two-common-btn v-show="auditFormShow" class="btn" title1="提交" title2="确定审核" @submitClick1="save" @submitClick="save" />-->
<div class="btn" v-show="auditFormShow">
<button v-if="orderInfo.checkCount < 3" :class="{'submit' : true,'loading' : loading}" @click="noMultipleClicks(save)">提交</button>
<button v-if="accountStatus == 2 || accountStatus == 3" :class="{'submit' : true,'loading1' : loading1}" @click="noMultipleClicks(confirmAudit)" >确定审核</button>
@ -243,7 +247,6 @@ import {
selectRecordPictureList, deleteImage
} from "@/api/mine"
import { ImagePreview } from "vant";
// import TwoCommonBtn from "@/components/twoBtnCommon.vue"
export default {
name: "accountingView",
mixins:[myMixins],
@ -383,12 +386,19 @@ export default {
},
},
methods:{
viewSettlementDoc(){//查看结算单
this.$router.push({
name:"settlementDetail",
params:{
id: this.id, // 参数对象的属性
postfix:this.postfix,
index:this.activeIndex,
queryTime: this.time || this.queryTime
}
})
},
checkPhoto(){
let isAllowImage = 1
console.log("this.orderInfo.userOrderId",this.orderInfo.userOrderId)
console.log("this.orderInfo.orderCode",this.orderInfo.orderCode)
console.log("this.orderInfo.taskOrderId",this.orderInfo.taskOrderId)
console.log("isAllowImage",isAllowImage)
let data = {
"action": "orderPhoto",
"params": {
@ -420,8 +430,10 @@ export default {
handleFileRead(file) {
console.log("file",file)
},
viewHandle(i){
console.log("ii",i)
},
goback(){
// console.log("aaaaa",this.queryTime)
this.$router.push({
name:"workOrderReconciliation",
params:{
@ -449,8 +461,7 @@ export default {
this.form.supplierBasePrice = dilemmaBasePrice
this.form.supplierExtraPrice = 0
this.form.supplierSettleAmount = dilemmaBasePrice - (parseFloat(this.form.supplierCustomerAmount) || 0)
// console.log("困境案件费用总计",this.form.supplierSettleAmount)
}else{
}else{
let data = await accountRecordCompute( {
...this.form,
settleType:this.orderInfo.settleType?.code
@ -458,12 +469,10 @@ export default {
this.form.supplierBasePrice = data.data.basePrice
this.form.supplierExtraPrice = data.data.extraPrice
this.form.supplierSettleAmount = data.data.totalPrice
// console.log("计算",this.form.supplierSettleAmount)
}
// }
if(this.form.cutInsuranceAmount == 1 && this.form.policyState === 0){
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) - parseFloat(this.form.policyAmount || 0)).toFixed(2)
// console.log("有责任险",this.form.supplierSettleAmount)
}
},
async pictureList(){
@ -785,16 +794,17 @@ export default {
.rightContent{
width: calc(100% - 90px);
@include fontWeightSize(bold,12px);
.driverPoiBtn{
display: inline-block;
padding: 3px 8px;
@include bgFontColor(#FFFFFF,#354D93);
opacity: .7;
border-radius: 3px;
text-align: center;
//margin-left: 6px;
cursor: pointer;
}
}
.driverPoiBtn{
display: inline-block;
padding: 3px 8px;
@include bgFontColor(#FFFFFF,#354D93);
opacity: .7;
border-radius: 3px;
text-align: center;
//margin-left: 6px;
cursor: pointer;
}
}
img{

View File

@ -163,7 +163,6 @@ export default {
this.postfix=this.$route.params?.postfix;
this.index=this.$route.params?.index;
this.queryTime = this.$route.params?.queryTime
console.log("111111111111",this.$route.params?.queryTime)
await this.getDetail()
},
methods: {

View File

@ -0,0 +1,163 @@
<template>
<div class="wrap">
<div class="navBar">
<van-nav-bar
title="结算单详情"
left-arrow
left-arrow-color="#FFFFFF"
:border="false"
:fixed="true"
:safe-area-inset-top="true"
@click-left="goback"
/>
</div>
<div class="baseInfo common">
<div class="title">结算单:</div>
<div class="line"></div>
<div class="item">
<span class="titleLeft">起步价&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="content">{{orderInfo.startPrice}}</span>
</div>
<div class="item">
<span class="titleLeft">包含公里数</span>
<span class="content" >{{ orderInfo.containMileage }}</span>
</div>
<div class="item">
<span class="titleLeft">每公里单价</span>
<span class="content" >{{ orderInfo.unitPrice }}</span>
</div>
<div class="item">
<span class="titleLeft">基本总费用</span>
<span class="content" >{{ orderInfo.supplierBasePrice }}</span>
</div>
<div class="item">
<span class="titleLeft">路桥费</span>
<span class="content">{{orderInfo.supplierBridgeAmountAb + '+' + orderInfo.supplierBridgeAmountBc + '+' + orderInfo.supplierBridgeAmountCa}} </span>
</div>
<div class="item">
<span class="titleLeft">等候费</span>
<span class="content">{{orderInfo.supplierWaitAmount}} </span>
</div>
<div class="item">
<span class="titleLeft">辅助轮费</span>
<span class="content">{{orderInfo.supplierTyreAmount}} </span>
</div>
<div class="item">
<span class="titleLeft">困境费</span>
<span class="content">{{orderInfo.supplierDilemmaAmount}} </span>
</div>
<div class="item">
<span class="titleLeft">其他费用</span>
<span class="content">{{orderInfo. supplierOtherAmount}} </span>
</div>
<div class="item">
<span class="titleLeft">额外费用总计</span>
<span class="content">{{orderInfo.supplierExtraPrice}} </span>
</div>
<div class="item">
<span class="titleLeft">费用总计</span>
<span class="content">{{orderInfo.supplierSettleAmount}}</span>
</div>
<div class="item">
<span class="titleLeft">出发段+背车段+回城段公里数</span>
<span class="content">{{orderInfo.supplierSettleMileageAb + '+' + orderInfo.supplierSettleMileageBc + '+' + orderInfo.supplierSettleMileageCa}} </span>
</div>
</div>
</div>
</template>
<script>
import {myMixins} from "@/utils/myMixins"
import {getAccountRecordDetail} from "@/api/mine"
export default {
name: "settlementDetail",
mixins:[myMixins],
data(){
return{
id:'',
postfix:'',
orderInfo:{},
index:"",
queryTime:'',//记录工单对账选择的时间
}
},
async mounted() {
this.id=this.$route.params?.id;
this.postfix=this.$route.params?.postfix;
this.index=this.$route.params?.index;
this.queryTime = this.$route.params?.queryTime
await this.getDetail()
},
methods: {
goback(){
this.$router.push({
name:"accountingView",
params:{
id: this.id, // 参数对象的属性
postfix:this.postfix,
activeIndex:this.index,
queryTime:this.queryTime
}
})
},
async getDetail(){
let res= await getAccountRecordDetail({
id:this.id,
postfix:this.postfix
})
if(res.code === 200){
this.orderInfo=res.data
console.log(" this.orderInfo", this.orderInfo)
}
},
}
}
</script>
<style scoped lang="scss">
@import "@/styles/mixin.scss";
@import "@/styles/common.scss";
.wrap{
@include wh(100%,100%);
background-color: #F4F5F7;
overflow-y: auto;
}
.navBar{
margin-bottom: 46px;
}
.title{
@include fontWeightSize(bold,14px);
@include colorOpa(#323643,0.66);
}
.line{
@include wh(100%,2px);
opacity: 0.16;
border-top: 1px solid;
margin-top: 7px;
border-image: linear-gradient(270deg, rgba(217, 217, 217, 0.6), rgba(178, 178, 178, 1), rgba(178, 178, 178, 1), rgba(217, 217, 217, 0.6)) 1 1;
}
.item{
@include flexCenter;
font-size: 12px !important;
font-weight: 400 !important;
.titleLeft{
opacity: .5;
line-height: 27px;
}
}
img{
@include wh(35px,15px);
margin-left: 21px;
}
.common{
background-color: #FFFFFF;
padding: 11px 24px 14px;
box-sizing: border-box;
margin-bottom: 10px;
}
.baseInfo{
@include wh(100%,100%);
}
</style>