task#13641,在调度app的对账初,加一个“查看结算单”按钮
This commit is contained in:
@ -70,7 +70,14 @@ const routes = [
|
|||||||
meta: {
|
meta: {
|
||||||
title: '审核完成-详情'
|
title: '审核完成-详情'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/settlementDetail",
|
||||||
|
name: 'settlementDetail',
|
||||||
|
component: () => import('@/views/workOrder/settlementDetail.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '结算单详情'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/invoicingNotify",
|
path: "/invoicingNotify",
|
||||||
|
@ -39,22 +39,26 @@
|
|||||||
<span class="titleLeft">结算类型:</span>
|
<span class="titleLeft">结算类型:</span>
|
||||||
<span class="content" >{{ orderInfo.settleType?.label }}</span>
|
<span class="content" >{{ orderInfo.settleType?.label }}</span>
|
||||||
</div>
|
</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>
|
<span class="titleLeft">结算方式:</span>
|
||||||
<div class="content" style="width: calc(100% - 84px);display: flex;justify-content: space-between;line-height: 27px" >
|
<div class="content" style="width: calc(100% - 84px);display: flex;justify-content: space-between;line-height: 27px" >
|
||||||
<span>{{orderInfo.taskSettleType?.label}}</span>
|
<span>{{orderInfo.taskSettleType?.label}}</span> <span class="driverPoiBtn" @click="checkPhoto">查看照片</span>
|
||||||
<!-- <span>包含公里数:15</span>-->
|
</div>
|
||||||
<!-- <span>超出单价:6</span>-->
|
</div>-->
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<span class="titleLeft">扣除责任险费:</span>
|
<span class="titleLeft">扣除责任险费:</span>
|
||||||
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount}}</span>
|
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<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 class="driverPoiBtn" @click="checkPhoto">查看照片</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="supplierData common" v-show="!auditFormShow">
|
<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"> 备注:{{orderInfo.supplierRemark}}</div>
|
||||||
<div class="title" style="margin-bottom: 8px"> 本次补充说明:</div>
|
<div class="title" style="margin-bottom: 8px"> 本次补充说明:</div>
|
||||||
<div style="display: flex;margin-bottom: 5px">
|
<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>
|
||||||
<div style="display: flex" >
|
<div style="display: flex" >
|
||||||
<van-uploader
|
<van-uploader
|
||||||
@ -226,7 +231,6 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<van-dialog v-model="show" title="确定删除此照片吗" show-cancel-button @confirm="handleConfirm"></van-dialog>
|
<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">
|
<div class="btn" v-show="auditFormShow">
|
||||||
<button v-if="orderInfo.checkCount < 3" :class="{'submit' : true,'loading' : loading}" @click="noMultipleClicks(save)">提交</button>
|
<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>
|
<button v-if="accountStatus == 2 || accountStatus == 3" :class="{'submit' : true,'loading1' : loading1}" @click="noMultipleClicks(confirmAudit)" >确定审核</button>
|
||||||
@ -243,7 +247,6 @@ import {
|
|||||||
selectRecordPictureList, deleteImage
|
selectRecordPictureList, deleteImage
|
||||||
} from "@/api/mine"
|
} from "@/api/mine"
|
||||||
import { ImagePreview } from "vant";
|
import { ImagePreview } from "vant";
|
||||||
// import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
|
||||||
export default {
|
export default {
|
||||||
name: "accountingView",
|
name: "accountingView",
|
||||||
mixins:[myMixins],
|
mixins:[myMixins],
|
||||||
@ -383,12 +386,19 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
viewSettlementDoc(){//查看结算单
|
||||||
|
this.$router.push({
|
||||||
|
name:"settlementDetail",
|
||||||
|
params:{
|
||||||
|
id: this.id, // 参数对象的属性
|
||||||
|
postfix:this.postfix,
|
||||||
|
index:this.activeIndex,
|
||||||
|
queryTime: this.time || this.queryTime
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
checkPhoto(){
|
checkPhoto(){
|
||||||
let isAllowImage = 1
|
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 = {
|
let data = {
|
||||||
"action": "orderPhoto",
|
"action": "orderPhoto",
|
||||||
"params": {
|
"params": {
|
||||||
@ -420,8 +430,10 @@ export default {
|
|||||||
handleFileRead(file) {
|
handleFileRead(file) {
|
||||||
console.log("file",file)
|
console.log("file",file)
|
||||||
},
|
},
|
||||||
|
viewHandle(i){
|
||||||
|
console.log("ii",i)
|
||||||
|
},
|
||||||
goback(){
|
goback(){
|
||||||
// console.log("aaaaa",this.queryTime)
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name:"workOrderReconciliation",
|
name:"workOrderReconciliation",
|
||||||
params:{
|
params:{
|
||||||
@ -449,8 +461,7 @@ export default {
|
|||||||
this.form.supplierBasePrice = dilemmaBasePrice
|
this.form.supplierBasePrice = dilemmaBasePrice
|
||||||
this.form.supplierExtraPrice = 0
|
this.form.supplierExtraPrice = 0
|
||||||
this.form.supplierSettleAmount = dilemmaBasePrice - (parseFloat(this.form.supplierCustomerAmount) || 0)
|
this.form.supplierSettleAmount = dilemmaBasePrice - (parseFloat(this.form.supplierCustomerAmount) || 0)
|
||||||
// console.log("困境案件费用总计",this.form.supplierSettleAmount)
|
}else{
|
||||||
}else{
|
|
||||||
let data = await accountRecordCompute( {
|
let data = await accountRecordCompute( {
|
||||||
...this.form,
|
...this.form,
|
||||||
settleType:this.orderInfo.settleType?.code
|
settleType:this.orderInfo.settleType?.code
|
||||||
@ -458,12 +469,10 @@ export default {
|
|||||||
this.form.supplierBasePrice = data.data.basePrice
|
this.form.supplierBasePrice = data.data.basePrice
|
||||||
this.form.supplierExtraPrice = data.data.extraPrice
|
this.form.supplierExtraPrice = data.data.extraPrice
|
||||||
this.form.supplierSettleAmount = data.data.totalPrice
|
this.form.supplierSettleAmount = data.data.totalPrice
|
||||||
// console.log("计算",this.form.supplierSettleAmount)
|
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
if(this.form.cutInsuranceAmount == 1 && this.form.policyState === 0){
|
if(this.form.cutInsuranceAmount == 1 && this.form.policyState === 0){
|
||||||
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) - parseFloat(this.form.policyAmount || 0)).toFixed(2)
|
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) - parseFloat(this.form.policyAmount || 0)).toFixed(2)
|
||||||
// console.log("有责任险",this.form.supplierSettleAmount)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async pictureList(){
|
async pictureList(){
|
||||||
@ -785,16 +794,17 @@ export default {
|
|||||||
.rightContent{
|
.rightContent{
|
||||||
width: calc(100% - 90px);
|
width: calc(100% - 90px);
|
||||||
@include fontWeightSize(bold,12px);
|
@include fontWeightSize(bold,12px);
|
||||||
.driverPoiBtn{
|
|
||||||
display: inline-block;
|
}
|
||||||
padding: 3px 8px;
|
.driverPoiBtn{
|
||||||
@include bgFontColor(#FFFFFF,#354D93);
|
display: inline-block;
|
||||||
opacity: .7;
|
padding: 3px 8px;
|
||||||
border-radius: 3px;
|
@include bgFontColor(#FFFFFF,#354D93);
|
||||||
text-align: center;
|
opacity: .7;
|
||||||
//margin-left: 6px;
|
border-radius: 3px;
|
||||||
cursor: pointer;
|
text-align: center;
|
||||||
}
|
//margin-left: 6px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
img{
|
img{
|
||||||
|
@ -163,7 +163,6 @@ export default {
|
|||||||
this.postfix=this.$route.params?.postfix;
|
this.postfix=this.$route.params?.postfix;
|
||||||
this.index=this.$route.params?.index;
|
this.index=this.$route.params?.index;
|
||||||
this.queryTime = this.$route.params?.queryTime
|
this.queryTime = this.$route.params?.queryTime
|
||||||
console.log("111111111111",this.$route.params?.queryTime)
|
|
||||||
await this.getDetail()
|
await this.getDetail()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
163
src/views/workOrder/settlementDetail.vue
Normal file
163
src/views/workOrder/settlementDetail.vue
Normal 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">起步价: </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>
|
Reference in New Issue
Block a user