3 Commits

3 changed files with 567 additions and 690 deletions

View File

@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0">-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover,user-scalable=no">
<meta name="format-detection" content="telephone=yes"/>
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
@ -35,11 +34,11 @@
// VConsole 默认会挂载到 `window.VConsole` 上
// let vConsole = new window.VConsole();
(function (doc, win) {
console.log("==window.location.pathname===",window.location.pathname)
let docEl = doc.documentElement
let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
recalc = function () {
var clientWidth = docEl.clientWidth;
// console.log("clientWidth",clientWidth)
if (!clientWidth) return;
if (clientWidth < 400) {
clientWidth = 400;
@ -49,20 +48,13 @@
if (!doc.addEventListener) return;
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (isMobile) {// 是移动端不变
// console.log("是移动端不变")
}else{
if(window.location.pathname=='/h5/supplier/dispatch/kpiIndex'){
// console.log("执行了执行了")
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
}
/*else{
console.log("走着了这种饿 ")
}*/
}
// console.log("isMobile",isMobile)
})(document, window);
</script>
</body>
</html>

View File

@ -46,18 +46,7 @@
</div>
<div class="item">
<span class="titleLeft">扣除责任险费</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>
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount==1 ? '是' : (orderInfo.cutInsuranceAmount==0 ? '否' : ' ')}}</span>
</div>
<div class="item">
<span class="leftTitle fontColor">工单照片:</span>
@ -109,7 +98,7 @@
</div>
<div class="flex-between" v-show="basementFeeState">
<div>地库费:</div>
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierBasementFee" :disabled="!isBasementSettle" /></div>
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierBasementFee"/></div>
</div>
<div class="flex-between">
<div>收取客户金额:</div>
@ -117,18 +106,15 @@
</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 || isBasementSettle"
v-model="form.supplierBasePrice"/><span></span></div>
<div class="halfOpcity inputContent " ><input class="disable" type="number" :readonly="basePriceDisabled" 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>
@ -141,9 +127,7 @@
<!-- <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>
@ -195,14 +179,11 @@
</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>
@ -220,8 +201,7 @@
<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">
@ -229,8 +209,7 @@
<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
@ -247,12 +226,8 @@
</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>
@ -267,7 +242,6 @@ import {
} from "@/api/mine"
import { ImagePreview } from "vant";
import {orderReportingList} from "@/api/order";
export default {
name: "accountingView",
mixins:[myMixins],
@ -376,10 +350,7 @@ export default {
exceptionApprovalStatus:'',
exceptionApprovalRemark:'',
auditSuccessRemark:'',
accountStatus: '',
carClothingToolAmount: '',
replaceBatteryAmount: '',
supplierSettleRatio:{},
accountStatus: ''
},
noClick:true,
loading: false,
@ -403,9 +374,6 @@ 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)
@ -485,13 +453,19 @@ 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 && !this.isBasementSettle) {
if (!this.basePriceDisabled) {
//困境的案件,或者一口价案件,基本费用可以输入
let dilemmaBasePrice = parseFloat(this.form.supplierBasePrice) || 0
this.form.supplierBasePrice = dilemmaBasePrice
@ -507,17 +481,8 @@ 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(){
@ -570,12 +535,11 @@ export default {
leftCopy(this.form, {...res.data})
this.auditFormShow = true;//是否显示审核数据
}
console.log("this.form",this.form)
if (this.settleType == '实拖' && this.basePriceDisabled && !this.isBasementSettle) {
if(this.settleType == '实拖' && this.basePriceDisabled){
this.bcState = true
this.form.supplierSettleMileageAb = 0
this.form.supplierSettleMileageCa = 0
} else if (this.settleType == '单程' && this.basePriceDisabled && !this.isBasementSettle) {
}else if(this.settleType == '单程' && this.basePriceDisabled){
this.abState = true
this.bcState = true
this.form.supplierSettleMileageCa = 0
@ -583,43 +547,25 @@ export default {
this.bcState = false
this.form.supplierSettleMileageBc = 0
}
} else if (this.settleType == '全程' && this.basePriceDisabled && !this.isBasementSettle) {
}else if(this.settleType == '全程' && this.basePriceDisabled){
this.abState = true
this.bcState = true
this.caState = true
} else if (this.settleType == '全程减半' && this.basePriceDisabled && !this.isBasementSettle) {
}else if(this.settleType == '全程减半' && this.basePriceDisabled){
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()
@ -761,7 +707,6 @@ export default {
<style scoped lang="scss">
@import "@/styles/mixin.scss";
@import "@/styles/common.scss";
.loading,.loading1 {
position: relative;
}
@ -788,57 +733,46 @@ export default {
transform: translate(-50%, -50%) rotate(360deg);
}
}
.btn{
@include flexColBet;
button{
@include whLin(152px,39px);
border-radius: 5px;
color: #FFFFFF;
@include fontWeightSize(bold,14px)
}
.cancel{
background: #9EA7C0;
}
.submit{
background-color: #354D93;
}
}
.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: 46px;
}
.title{
@include fontWeightSize(bold,14px);
@include colorOpa(#323643,0.66);
}
.line{
@include wh(100%,2px);
opacity: 0.16;
@ -846,39 +780,32 @@ export default {
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;
}
.leftTitle{
opacity: .5;
@include wh(60px,189px);
}
.rightContent{
height: 189px;
width: calc(100% - 60px);
}
.fontColor{
@include fontWeightSize(400,12px);
color: #000000;
line-height: 24px;
}
.rightContent{
width: calc(100% - 90px);
@include fontWeightSize(bold,12px);
}
.driverPoiBtn{
display: inline-block;
padding: 3px 8px;
@ -890,58 +817,47 @@ export default {
cursor: pointer;
}
}
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%, 344px);
@include wh(100%,286px);
}
.supplierData{
width: 100%;
margin-bottom: 0;
.inpInfo{
margin: 0 5px;
color: #323643;
line-height: 32px;
input{
border: none;
text-align: right;
padding-right: 3px;
margin-right: 0;
}
.titleContent{
@include fontWeightSize(bold,13px);
}
.flex-between{
width: 100%;
@include flexBetCen
}
.halfOpcity{
opacity: .5;
}
.inputContent{
text-align: right;
}
}
.btnComputed{
width: 48px;
@include all-height(18px);
@ -949,7 +865,6 @@ img {
@include bgFontColor(#FFFFFF,#354D93);
border-radius: 3px;
}
.multipleTxt{
@include wh(100%,87px);
background: #FAFAFA;
@ -957,81 +872,67 @@ img {
border: 1px solid #E6E6E6;
backdrop-filter: blur(10px);
}
.btn{
margin-top: 28px;
}
}
.dataType{
padding: 0 8px;
table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
}
td {
padding: 10px;
border: 1px solid #ccc;
text-align: center;
}
.alignLeft{
text-align: left !important;
opacity: 1 !important;
.reason{
@include fontWeightSize(400,11px);
@include colorOpa(#FF8F37,1);
//color: #FF8F37;
//opacity: 1 !important;
}
.camerImg{
@include widHeiMar(54px,42px,5px);
margin-top: 15px;
}
.supplierImg{
@include widHeiMar(54px,42px,8px);
margin-top: 0;
margin-left: 0;
}
.title{
@include fontWeightSize(400,11px);
opacity: .5;
}
}
.col1{
width: 41%;
background-color: #E9E9EA;
@include fontWeightSize(400,12px);
opacity: 0.55;
}
.col2{
width: 58%;
background-color: #EAEFF6;
@include fontWeightSize(400,12px);
color: #0434D0;
input{
width: 72px;
border: none;
background-color:#EAEFF6;
text-align: center;
}
input::placeholder {
color: #0434D0; /* 设置提示内容文字颜色 */
}
}
.btnCom{
border: none;
padding: 4px 7px;
@ -1044,31 +945,25 @@ img {
color: #FFFFFF;
@include fontWeightSize(bold,12px)
}
.checkData,.supplierShuju{
color: #323643;
}
.checkData{
border-top-left-radius: 3px;
opacity: 0.66;
}
.supplierShuju{
border-top-right-radius: 3px;
}
.halfOpc{
opacity: .5;
}
}
.twoBtn{
margin-top: 28px;
margin-bottom: 30px;
@include flexColBet;
@include sizingPadding(0 ,15px);
button{
@include whLin(152px,39px);
@include fontWeightSize(bold,14px);
@ -1076,13 +971,11 @@ img {
border-radius: 5px;
}
}
.btn{
margin-top: 31px;
margin-bottom: 31px;
@include flexColAround;
box-sizing: border-box;
button{
line-height: 39px;
border-radius: 5px;
@ -1091,7 +984,6 @@ img {
@include fontWeightSize(bold,14px);
border: none;
}
.submit{
background: #354D93;
}

View File

@ -11,7 +11,7 @@
@click-left="goback"
/>
</div>
<div class="baseInfo common" style="height: 344px">
<div class="baseInfo common">
<div class="title">基本信息:</div>
<div class="line"></div>
<div class="item">
@ -47,16 +47,9 @@
</div>
<div class="item">
<span class="titleLeft">扣除责任险费</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>
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount}}</span>
</div>
</div>
<div class="baseInfo common">
<div class="title">审核数据:</div>