@ -46,7 +46,18 @@
< / div >
< div class = "item" >
< span class = "titleLeft" > 扣除责任险费 : < / span >
<span class = "content" > { { orderInfo . policyAmount } } { { orderInfo . cutInsuranceAmount == 1 ? '是' : ( orderInfo . cutInsuranceAmount == 0 ? '否' : ' ' ) } } < / span >
< span
class = "content" > { { orderInfo . policyAmount } } < / span >
< / div >
< div class = "item" >
< span class = "titleLeft" > 车衣费用 : < / span >
< span
class = "content" > { { orderInfo . carClothingToolAmount } } < / span >
< / div >
< div class = "item" >
< span class = "titleLeft" > 换电瓶费用 : < / span >
< span
class = "content" > { { orderInfo . replaceBatteryAmount } } < / span >
< / div >
< div class = "item" >
< span class = "leftTitle fontColor" > 工单照片 : < / span >
@ -98,7 +109,7 @@
< / div >
< div class = "flex-between" v-show = "basementFeeState" >
< div > 地库费 : < / div >
< div class = "halfOpcity inputContent" > < input type = "number" v-model = "form.supplierBasementFee" /> 元< / div >
< div class = "halfOpcity inputContent" > < input type = "number" v-model = "form.supplierBasementFee" :disabled="!isBasementSettle" / > 元< / div >
< / div >
< div class = "flex-between" >
< div > 收取客户金额 : < / div >
@ -106,15 +117,18 @@
< / div >
< div class = "flex-between bgDisable" : class = " { 'flex-between': true, 'bgDisable' : basePriceDisabled } " >
< div > 基本费用 : < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" : readonly= "basePriceDisabled" v-model = "form.supplierBasePrice" /> < span > 元 < / span > < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" : readonly= "basePriceDisabled || isBasementSettle"
v-model = "form.supplierBasePrice" /> < span > 元 < / span > < / div >
< / div >
< div class = "flex-between bgDisable" >
< div > 额外费用总计 : < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" :readonly = "true" v-model = "form.supplierExtraPrice" /> < span > 元 < / span > < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" :readonly = "true"
v-model = "form.supplierExtraPrice" /> < span > 元 < / span > < / div >
< / div >
< div class = "flex-between bgDisable " >
< div > 费用总计 : < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" :readonly = "true" v-model = "form.supplierSettleAmount" /> < span > 元 < / span > < / div >
< div class = "halfOpcity inputContent " > < input class = "disable" type = "number" :readonly = "true"
v-model = "form.supplierSettleAmount" /> < span > 元 < / span > < / div >
< / div >
< div class = "flex-between" >
< div > & nbsp ; < / div >
@ -127,7 +141,9 @@
< ! - - < two -common -btn class = "btn" @cancelClick ="cancelBtn" @submitClick ="save" / > -- >
< div class = "btn" >
< button class = "cancel" @click ="noMultipleClicks(cancelBtn )" > 取消 < / button >
< 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 >
< / div >
< / div >
@ -179,11 +195,14 @@
< / tr >
< tr >
< td class = "col1" > 基本费用 : { { orderInfo . basePrice + '元' } } < / td >
< td class = "col2 halfOpc" : style = "{ opacity: basePriceDisabled ? '1' : '0.5' }" > < input : class = "basePriceDisabled ? 'supplierdisable' : ''" :readonly = "basePriceDisabled" v-model = "form.supplierBasePrice" /> < / td >
< td class = "col2 halfOpc" : style = "{ opacity: basePriceDisabled ? '1' : '0.5' }" > < input
: class = "basePriceDisabled ? 'supplierdisable' : ''" :readonly = "basePriceDisabled"
v-model = "form.supplierBasePrice" /> < / td >
< / tr >
< tr >
< td class = "col1" > 额外费用总计 : { { orderInfo . extraPrice + '元' } } < / td >
< td class = "col2 halfOpc" style = "opacity: 1;" > < input class = "supplierdisable" :readonly = "true" v-model = "form.supplierExtraPrice" /> < / td >
< td class = "col2 halfOpc" style = "opacity: 1;" > < input class = "supplierdisable" :readonly = "true"
v-model = "form.supplierExtraPrice" /> < / td >
< / tr >
< tr >
< td class = "col1" > 收取客户 : { { orderInfo . customerAmount + '元' } } < / td >
@ -201,7 +220,8 @@
< div class = "title col1" style = "white-space: nowrap;" > 审核失败原因 < / div >
< div class = "reason" > { { orderInfo . auditRemark } } < / div >
< div v-show = "orderInfo.auditPhoto" style="display: flex;flex-wrap: wrap" >
< van -image class = "camerImg" v-for = "(item,index) in auditPhotoList" :key="index" :src="item.url" @click="previewPhoto(index)" / >
< van -image class = "camerImg" v-for = "(item,index) in auditPhotoList" :key="index" :src="item.url"
@click ="previewPhoto(index)" />
< / div >
< / td >
< td class = "col2 alignLeft" style = "border-bottom-right-radius: 3px" >
@ -209,7 +229,8 @@
< div class = "title" style = "margin-bottom: 8px" > 本次补充说明 : < / div >
< div style = "display: flex;margin-bottom: 5px" >
<!-- @ click = "delSupplierPhoto(item) -->
<img v-for=" ( item , index ) in supplierPhotoList " :key=" index " class=" supplierImg " :src=" item . url " @click=" viewHandle ( 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,8 +247,12 @@
</div>
<van-dialog v-model=" show " title=" 确定删除此照片吗 " show-cancel-button @confirm=" handleConfirm "></van-dialog>
<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>
<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>
</div>
</div>
</template>
@ -242,6 +267,7 @@ import {
} from " @ / api / mine "
import {ImagePreview} from " vant ";
import {orderReportingList} from " @ / api / order ";
export default {
name: " accountingView ",
mixins: [myMixins],
@ -350,7 +376,10 @@ export default {
exceptionApprovalStatus: '',
exceptionApprovalRemark: '',
auditSuccessRemark: '',
accountStatus: ''
accountStatus: '',
carClothingToolAmount: '',
replaceBatteryAmount: '',
supplierSettleRatio:{},
},
noClick: true,
loading: false,
@ -374,6 +403,9 @@ export default {
return !(this.serviceType == '困境救援' || this.serviceType == '困境-吊车' || this.serviceType == '困境救援-事故' || this.serviceType == '困境救援-故障'
|| (this.fixedPrice && parseFloat(this.fixedPrice) > 0 && this.fixedPriceType) || this.supplierId == 500921)
},
isBasementSettle(){
return (this.form?.supplierSettleRatio?.code == 5)
},
//保险实拖案件,剔除人保和太平事故
isCPICDrag() {
return this.settleType == '实拖' && !['PICC10101', 'PICCSHANGQI', 'PICC101099', 'SAIPCC2021', ''].includes(this.appCode)
@ -453,19 +485,13 @@ export default {
})
},
async compute() {
//现金业务置为0
// if(this.form.contractSettleTypeString == '车主现收'){
// this.form.supplierBasePrice = 0
// this.form.supplierExtraPrice = 0
// this.form.supplierSettleAmount = 0
// } else {
if (this.form.supplierOtherAmount > 0) {
if (this.form.supplierOtherAmountRemark == '') {
this.$alert('请填写其他费用说明');
return;
}
}
if (!this.basePriceDisabled) {
if (!this.basePriceDisabled && !this.isBasementSettle ) {
//困境的案件,或者一口价案件,基本费用可以输入
let dilemmaBasePrice = parseFloat(this.form.supplierBasePrice) || 0
this.form.supplierBasePrice = dilemmaBasePrice
@ -481,8 +507,17 @@ export default {
this.form.supplierSettleAmount = data.data.totalPrice
}
// }
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)
}*/
if (this.form.policyAmount && this.form.policyAmount > 0) {
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) - parseFloat(this.form.policyAmount || 0)).toFixed(2)
}
if (this.form.carClothingToolAmount) {
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) + parseFloat(this.form.carClothingToolAmount || 0)).toFixed(2)
}
if (this.form.replaceBatteryAmount) {
this.form.supplierSettleAmount = parseFloat(parseFloat(this.form.supplierSettleAmount) + parseFloat(this.form.replaceBatteryAmount || 0)).toFixed(2)
}
},
async pictureList() {
@ -535,11 +570,12 @@ export default {
leftCopy(this.form, {...res.data})
this.auditFormShow = true;//是否显示审核数据
}
if(this.settleType == '实拖' && this.basePriceDisabled){
console.log(" this . form ",this.form)
if (this.settleType == '实拖' && this.basePriceDisabled && !this.isBasementSettle) {
this.bcState = true
this.form.supplierSettleMileageAb = 0
this.form.supplierSettleMileageCa = 0
}else if(this.settleType == '单程' && this.basePriceDisabled) {
} else if (this.settleType == '单程' && this.basePriceDisabled && !this.isBasementSettle) {
this.abState = true
this.bcState = true
this.form.supplierSettleMileageCa = 0
@ -547,25 +583,43 @@ export default {
this.bcState = false
this.form.supplierSettleMileageBc = 0
}
}else if(this.settleType == '全程' && this.basePriceDisabled) {
} else if (this.settleType == '全程' && this.basePriceDisabled && !this.isBasementSettle) {
this.abState = true
this.bcState = true
this.caState = true
}else if(this.settleType == '全程减半' && this.basePriceDisabled) {
} else if (this.settleType == '全程减半' && this.basePriceDisabled && !this.isBasementSettle) {
this.abState = true
this.bcState = true
this.caState = true
}
if (this.form.supplierSettleRatio && this.form.supplierSettleRatio?.code == 5){
this.basementFeeState = true
this.form.supplierSettleMileageAb = 0
this.form.supplierSettleMileageBc = 0
this.form.supplierSettleMileageCa = 0
this.form.supplierBridgeAmountAb = 0
this.form.supplierBridgeAmountBc = 0
this.form.supplierBridgeAmountCa = 0
this.form.supplierBridgeAmount = 0
this.form.supplierDilemmaAmount = 0
this.form.supplierOtherAmount = 0
this.form.supplierTyreAmount = 0
this.form.supplierWaitAmount = 0
}else {
if (this.orderInfo.refBridgeAmountAB > 0 && !this.isCPICDrag && !this.isBasement) this.bridgeAbState = true
if (this.orderInfo.refBridgeAmountBC > 0 && !this.isCPICDrag && !this.isBasement) this.bridgeBcState = true
if (this.orderInfo.refBridgeAmountCA > 0 && !this.isCPICDrag && !this.isBasement) this.bridgeCaState = true
if (this.orderInfo.refWaitFee > 0) this.waitAmountState = true
if (this.orderInfo.refDilemmaFee > 0) this.dilemmaAmountState = true
if (this.orderInfo.refTyreNumber > 0 && this.taskFlowId != '1') this.tyreAmountState = true
}
if (this.orderInfo.refBasementFee > 0 && this.taskFlowId != '1') {
this.basementFeeState = true
this.form.supplierBasementFee = this.orderInfo.refBasementFee
}
if (this.form.supplierSettleRatio?.code != 5 && (this.serviceType == '困境救援' || this.serviceType == '困境-吊车' || this.serviceType == '困境救援-事故' || this.serviceType == '困境救援-故障')){
await this.$alert(" 该案件为困境案件 , 需确认填写基本费用 ")
}
},
cancelBtn() {
this.goback()
@ -707,6 +761,7 @@ export default {
<style scoped lang=" scss ">
@import " @ / styles / mixin . scss ";
@import " @ / styles / common . scss " ;
. loading , . loading1 {
position : relative ;
}
@ -733,46 +788,57 @@ export default {
transform : translate ( - 50 % , - 50 % ) rotate ( 360 deg ) ;
}
}
. btn {
@ include flexColBet ;
button {
@ include whLin ( 152 px , 39 px ) ;
border - radius : 5 px ;
color : # FFFFFF ;
@ include fontWeightSize ( bold , 14 px )
}
. cancel {
background : # 9 EA7C0 ;
}
. submit {
background - color : # 354 D93 ;
}
}
. wrap {
@ include wh ( 100 % , 100 % ) ;
background - color : # F4F5F7 ;
overflow - y : auto ;
}
. disable {
background - color : transparent ;
border : none ;
opacity : 1 ! important ;
}
. supplierdisable {
color : # 999999 ; ;
border : none ;
opacity : 1 ! important ;
}
. bgDisable {
background : rgba ( 204 , 204 , 204 , .3 ) ;
}
. navBar {
margin - bottom : 46 px ;
}
. title {
@ include fontWeightSize ( bold , 14 px ) ;
@ include colorOpa ( # 323643 , 0.66 ) ;
}
. line {
@ include wh ( 100 % , 2 px ) ;
opacity : 0.16 ;
@ -780,32 +846,39 @@ export default {
margin - top : 7 px ;
border - image : linear - gradient ( 270 deg , 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 : 12 px ! important ;
font - weight : 400 ! important ;
. titleLeft {
opacity : .5 ;
line - height : 27 px ;
}
. leftTitle {
opacity : .5 ;
@ include wh ( 60 px , 189 px ) ;
}
. rightContent {
height : 189 px ;
width : calc ( 100 % - 60 px ) ;
}
. fontColor {
@ include fontWeightSize ( 400 , 12 px ) ;
color : # 000000 ;
line - height : 24 px ;
}
. rightContent {
width : calc ( 100 % - 90 px ) ;
@ include fontWeightSize ( bold , 12 px ) ;
}
. driverPoiBtn {
display : inline - block ;
padding : 3 px 8 px ;
@ -817,47 +890,58 @@ export default {
cursor : pointer ;
}
}
img {
@ include wh ( 35 px , 15 px ) ;
margin - left : 21 px ;
}
. common {
background - color : # FFFFFF ;
padding : 11 px 24 px 14 px ;
box - sizing : border - box ;
margin - bottom : 10 px ;
}
. baseInfo {
@ include wh ( 100 % , 286 px ) ;
@ include wh ( 100 % , 344 px ) ;
}
. supplierData {
width : 100 % ;
margin - bottom : 0 ;
. inpInfo {
margin : 0 5 px ;
color : # 323643 ;
line - height : 32 px ;
input {
border : none ;
text - align : right ;
padding - right : 3 px ;
margin - right : 0 ;
}
. titleContent {
@ include fontWeightSize ( bold , 13 px ) ;
}
. flex - between {
width : 100 % ;
@ include flexBetCen
}
. halfOpcity {
opacity : .5 ;
}
. inputContent {
text - align : right ;
}
}
. btnComputed {
width : 48 px ;
@ include all - height ( 18 px ) ;
@ -865,6 +949,7 @@ img{
@ include bgFontColor ( # FFFFFF , # 354 D93 ) ;
border - radius : 3 px ;
}
. multipleTxt {
@ include wh ( 100 % , 87 px ) ;
background : # FAFAFA ;
@ -872,67 +957,81 @@ img{
border : 1 px solid # E6E6E6 ;
backdrop - filter : blur ( 10 px ) ;
}
. btn {
margin - top : 28 px ;
}
}
. dataType {
padding : 0 8 px ;
table {
width : 100 % ;
border - collapse : separate ;
border - spacing : 0 ;
}
td {
padding : 10 px ;
border : 1 px solid # ccc ;
text - align : center ;
}
. alignLeft {
text - align : left ! important ;
opacity : 1 ! important ;
. reason {
@ include fontWeightSize ( 400 , 11 px ) ;
@ include colorOpa ( # FF8F37 , 1 ) ;
//color: #FF8F37;
//opacity: 1 !important;
}
. camerImg {
@ include widHeiMar ( 54 px , 42 px , 5 px ) ;
margin - top : 15 px ;
}
. supplierImg {
@ include widHeiMar ( 54 px , 42 px , 8 px ) ;
margin - top : 0 ;
margin - left : 0 ;
}
. title {
@ include fontWeightSize ( 400 , 11 px ) ;
opacity : .5 ;
}
}
. col1 {
width : 41 % ;
background - color : # E9E9EA ;
@ include fontWeightSize ( 400 , 12 px ) ;
opacity : 0.55 ;
}
. col2 {
width : 58 % ;
background - color : # EAEFF6 ;
@ include fontWeightSize ( 400 , 12 px ) ;
color : # 0434 D0 ;
input {
width : 72 px ;
border : none ;
background - color : # EAEFF6 ;
text - align : center ;
}
input : : placeholder {
color : # 0434 D0 ; /* 设置提示内容文字颜色 */
}
}
. btnCom {
border : none ;
padding : 4 px 7 px ;
@ -945,25 +1044,31 @@ img{
color : # FFFFFF ;
@ include fontWeightSize ( bold , 12 px )
}
. checkData , . supplierShuju {
color : # 323643 ;
}
. checkData {
border - top - left - radius : 3 px ;
opacity : 0.66 ;
}
. supplierShuju {
border - top - right - radius : 3 px ;
}
. halfOpc {
opacity : .5 ;
}
}
. twoBtn {
margin - top : 28 px ;
margin - bottom : 30 px ;
@ include flexColBet ;
@ include sizingPadding ( 0 , 15 px ) ;
button {
@ include whLin ( 152 px , 39 px ) ;
@ include fontWeightSize ( bold , 14 px ) ;
@ -971,11 +1076,13 @@ img{
border - radius : 5 px ;
}
}
. btn {
margin - top : 31 px ;
margin - bottom : 31 px ;
@ include flexColAround ;
box - sizing : border - box ;
button {
line - height : 39 px ;
border - radius : 5 px ;
@ -984,6 +1091,7 @@ img{
@ include fontWeightSize ( bold , 14 px ) ;
border : none ;
}
. submit {
background : # 354 D93 ;
}