工单对账模块
This commit is contained in:
@ -56,12 +56,13 @@ const routes = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/reAccounting",
|
path: "/aduitCompleteDetail",
|
||||||
name: 'reAccountingView',
|
name: 'aduitCompleteDetail',
|
||||||
component: () => import('@/views/workOrder/reAccounting.vue'),
|
component: () => import('@/views/workOrder/aduitCompleteDetail.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '重新记账'
|
title: '审核完成-详情'
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/invoicingNotify",
|
path: "/invoicingNotify",
|
||||||
|
@ -14,9 +14,9 @@ service.interceptors.request.use(
|
|||||||
config => {
|
config => {
|
||||||
config.data = config.contentType ? config.data : qs.stringify(config.data)
|
config.data = config.contentType ? config.data : qs.stringify(config.data)
|
||||||
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
|
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
|
||||||
// const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
// const token = urlParams.get('token');
|
const token = urlParams.get('token');
|
||||||
let token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzemwiLCJhdWQiOlsic3VwcGxpZXItYXBwIl0sIm5iZiI6MTY5MjI2MzgzOSwidXNlcl9pbmZvIjp7InVzZXJJZCI6NTQ1ODUsInBob25lIjoiMTc2MzAwMzU2NTgiLCJuYW1lIjoi5bCP5a6LIiwic3VwcGxpZXJOYW1lIjoi5LiK5rW35a6J55WFQSIsInN1cHBsaWVySWQiOjExMjgsInN1cHBsaWVyVHlwZSI6MSwidXNlcm5hbWUiOiJzemwiLCJ1c2VyVHlwZSI6IkFQUCIsImF1dGhvcml0aWVzIjpbXX0sInNjb3BlIjpbImFsbCJdLCJpc3MiOiJodHRwczovL3Npbm9hc3Npc3QuY29tIiwiZXhwIjoxNjkyMzUwMjM5LCJpYXQiOjE2OTIyNjM4Mzl9.Mldu7SmfjNEdH-bItFCLVL-zo-IopHWTc8LkTXOtC58'
|
// let token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzemwiLCJhdWQiOlsic3VwcGxpZXItYXBwIl0sIm5iZiI6MTY5MjY2OTAyNiwidXNlcl9pbmZvIjp7InVzZXJJZCI6NTQ1ODUsInBob25lIjoiMTc2MzAwMzU2NTgiLCJuYW1lIjoi5bCP5a6LIiwic3VwcGxpZXJOYW1lIjoi5LiK5rW35a6J55WFQSIsInN1cHBsaWVySWQiOjExMjgsInN1cHBsaWVyVHlwZSI6MSwidXNlcm5hbWUiOiJzemwiLCJ1c2VyVHlwZSI6IkFQUCIsImF1dGhvcml0aWVzIjpbXX0sInNjb3BlIjpbImFsbCJdLCJpc3MiOiJodHRwczovL3Npbm9hc3Npc3QuY29tIiwiZXhwIjoxNjkyNzU1NDI2LCJpYXQiOjE2OTI2NjkwMjZ9.TA3LuH23aPRwghC4USWpBXQcv7t_wAAt8znuRa75qws'
|
||||||
config.headers['Authorization'] = `${token}`;
|
config.headers['Authorization'] = `${token}`;
|
||||||
return config
|
return config
|
||||||
},
|
},
|
||||||
|
@ -24,10 +24,18 @@ export const myMixins = {
|
|||||||
this.$toast('复制成功')
|
this.$toast('复制成功')
|
||||||
},
|
},
|
||||||
goBack(){//h5返回APP
|
goBack(){//h5返回APP
|
||||||
window.android.sendMessage("goBack");
|
let data = {"action":"goBack","params":""}
|
||||||
|
var u = navigator.userAgent;
|
||||||
|
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
|
||||||
|
// var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
|
||||||
|
if(isiOS){
|
||||||
|
window.webkit.messageHandlers.nativeObject.postMessage(data);
|
||||||
|
}else {
|
||||||
|
window.android.sendMessage("goBack");
|
||||||
|
}
|
||||||
},
|
},
|
||||||
h5GoBack(){
|
h5GoBack(){
|
||||||
this.$router.back();
|
this.$router.back();
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,8 @@ export default {
|
|||||||
states:item.states.code
|
states:item.states.code
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -119,6 +119,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #F4F5F7;
|
background-color: #F4F5F7;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.common {
|
.common {
|
||||||
@include wh(100%, 161px);
|
@include wh(100%, 161px);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<div class="navBar">
|
<div class="navBar">
|
||||||
<van-nav-bar
|
<van-nav-bar
|
||||||
title="司机管理"
|
:title="auditFormShow ? '重新记账' : '记账' "
|
||||||
left-arrow
|
left-arrow
|
||||||
left-arrow-color="#FFFFFF"
|
left-arrow-color="#FFFFFF"
|
||||||
:border="false"
|
:border="false"
|
||||||
@ -53,78 +53,472 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="supplierData common">
|
<div class="supplierData common" v-show="!auditFormShow">
|
||||||
<div class="title">供应商数据:</div>
|
<div class="title">供应商数据:</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="inpInfo">
|
<div class="inpInfo">
|
||||||
<div class="titleContent">
|
<div class="titleContent">
|
||||||
<div>拖车里程:</div>
|
<div class="flex-between" v-show="abState">
|
||||||
<div>路桥费:</div>
|
<div> 到达事发地距离:</div>
|
||||||
<div>小轮费:</div>
|
<div class="halfOpcity"><input type="number" v-model="form.supplierSettleMileageAb"/>公里</div>
|
||||||
<div>收取客户金额:</div>
|
</div>
|
||||||
<div>费用总计:</div>
|
<div class="flex-between" v-show="bcState" >
|
||||||
|
<div> 拖车里程:</div>
|
||||||
|
<div class="halfOpcity"><input type="number" v-model="form.supplierSettleMileageBc"/>公里</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="caState" >
|
||||||
|
<div>返程里程:</div>
|
||||||
|
<div class="halfOpcity"><input type="number" v-model="form.supplierSettleMileageCa"/>公里</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="bridgeAbState">
|
||||||
|
<div>ab路桥费:</div>
|
||||||
|
<div class="halfOpcity"><input type="number" v-model="form.supplierBridgeAmountAb"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="bridgeBcState">
|
||||||
|
<div>bc路桥费:</div>
|
||||||
|
<div class="halfOpcity"><input type="number" v-model="form.supplierBridgeAmountBc"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="bridgeCaState">
|
||||||
|
<div>ca路桥费:</div>
|
||||||
|
<div class="halfOpcity"><input type="number" v-model="form.supplierBridgeAmountCa"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="waitAmountState">
|
||||||
|
<div>等候费:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierWaitAmount"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="tyreAmountState">
|
||||||
|
<div>小轮费:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierTyreAmount"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="dilemmaAmountState && basePriceDisabled">
|
||||||
|
<div>困境费:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierDilemmaAmount"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between" v-show="basementFeeState">
|
||||||
|
<div>地库费:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierBasementFee"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between">
|
||||||
|
<div>收取客户金额:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" v-model="form.supplierCustomerAmount"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between">
|
||||||
|
<div>基本费用:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" :disabled="basePriceDisabled" v-model="form.supplierBasePrice"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between">
|
||||||
|
<div>额外费用总计:</div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" :disabled="true" v-model="form.supplierExtraPrice"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between">
|
||||||
|
<div>费用总计: </div>
|
||||||
|
<div class="halfOpcity inputContent"><input type="number" :disabled="true" v-model="form.supplierSettleAmount"/>元</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-between">
|
||||||
|
<div> </div>
|
||||||
|
<div class="btnComputed" @click="compute">计算</div>
|
||||||
|
</div>
|
||||||
<div>备注说明:</div>
|
<div>备注说明:</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="inputContent">
|
|
||||||
<div class="halfOpcity"><input type="number" />公里</div>
|
|
||||||
<div class="halfOpcity"><input type="number"/>元</div>
|
|
||||||
<div class="halfOpcity"><input type="number" v-model="form.supplierTyreAmount"/>元</div>
|
|
||||||
<div class="halfOpcity"><input type="number" v-model="form.supplierCustomerAmount"/>元</div>
|
|
||||||
<div class="btnComputed">计算</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<textarea class="multipleTxt" placeholder="报备描述"></textarea>
|
<textarea v-model="form.supplierRemark" class="multipleTxt" placeholder="报备描述"></textarea>
|
||||||
<two-common-btn class="btn" @cancelClick="cancelBtn" @submitClick="submitBtn" />
|
<two-common-btn class="btn" @cancelClick="cancelBtn" @submitClick="save" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="dataType" v-show="auditFormShow">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td class="col1 checkData">审核数据</td>
|
||||||
|
<td class="col2 supplierShuju">供应商数据</td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="abState">
|
||||||
|
<td class="col1">到达事发地距离:{{orderInfo.settleMileageAb + '公里'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入到达事发地距离" v-model="form.supplierSettleMileageAb"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="bcState">
|
||||||
|
<td class="col1">拖车里程:{{orderInfo.settleMileageBc + '公里'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入拖车公里" v-model="form.supplierSettleMileageBc"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="caState">
|
||||||
|
<td class="col1">返程里程:{{orderInfo.settleMileageCa + '公里'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入返程里程" v-model="form.supplierSettleMileageCa"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="bridgeAbState">
|
||||||
|
<td class="col1">ab路桥费:{{orderInfo.bridgeAmountAb +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入ab路桥费" v-model="form.supplierBridgeAmountAb"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="bridgeBcState">
|
||||||
|
<td class="col1">bc路桥费:{{orderInfo.bridgeAmountBc +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入bc路桥费" v-model="form.supplierBridgeAmountBc"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="bridgeCaState">
|
||||||
|
<td class="col1">ca路桥费:{{orderInfo.bridgeAmountCa +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入ca路桥费" v-model="form.supplierBridgeAmountCa"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="tyreAmountState">
|
||||||
|
<td class="col1">小轮费:{{orderInfo.bridgeAmount +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入小轮费" v-model="form.supplierTyreAmount"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="dilemmaAmountState && basePriceDisabled">
|
||||||
|
<td class="col1">困境费:{{orderInfo.dilemmaAmount +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入困境费" v-model="form.supplierDilemmaAmount"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="waitAmountState">
|
||||||
|
<td class="col1">等候费:{{orderInfo.waitAmount +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入等候费" v-model="form.supplierWaitAmount"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr v-show="basementFeeState">
|
||||||
|
<td class="col1">地库费:{{orderInfo.basementFee +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="输入地库费" v-model="form.supplierBasementFee"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="col1">基本费用:{{orderInfo.basePrice +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc" style="background-color: #6C81CD"><input :disabled="basePriceDisabled" v-model="form.supplierBasePrice"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="col1">额外费用总计:{{orderInfo.extraPrice +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input :disabled="true" v-model="form.supplierExtraPrice"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="col1">收取客户:{{orderInfo.customerAmount +'元'}}</td>
|
||||||
|
<td class="col2 halfOpc"><input placeholder="收取客户金额" v-model="form.supplierCustomerAmount"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="col1">费用总计:{{orderInfo.settleAmount +'元'}}</td>
|
||||||
|
<td class="col2">
|
||||||
|
<input :disabled="true" v-model="form.supplierSettleAmount"/>
|
||||||
|
<button class="btnCom" @click="compute">计算</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="col1 alignLeft" style="border-bottom-left-radius: 3px">
|
||||||
|
<div class="title col1" style="white-space: nowrap;">审核失败原因</div>
|
||||||
|
<div class="reason">{{orderInfo.financeRefuseAuditRemark}}</div>
|
||||||
|
<div class="imgWrap" v-show="orderInfo.auditPhoto">
|
||||||
|
<img class="camerImg" :src="orderInfo.auditPhoto" >
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td class="col2 alignLeft" style="border-bottom-right-radius: 3px">
|
||||||
|
<div class="title"> 本次补充说明:</div>
|
||||||
|
<!-- <div class="reason">审核失败原因审核失败原因审核失败原因审核失败原因审核失败原因</div>-->
|
||||||
|
<div class="imgWrap" style="display: flex">
|
||||||
|
<van-uploader
|
||||||
|
v-model="fileList"
|
||||||
|
@after-read="handleFileRead"
|
||||||
|
multiple
|
||||||
|
:max-count="3"
|
||||||
|
:preview-size="54"
|
||||||
|
accept="image"
|
||||||
|
capture="camera"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<two-common-btn v-show="auditFormShow" class="btn" :title2="accountStatus ==2 ? '再次审核' : '再次提交' " @cancelClick="cancelBtn" @submitClick="save" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {myMixins} from '@/utils/myMixins'
|
import {myMixins} from '@/utils/myMixins'
|
||||||
import {getAccountRecordDetail} from "@/api/mine"
|
import {leftCopy} from '@/utils/common'
|
||||||
|
import {getAccountRecordDetail,accountRecordCompute,updateAccountRecordInfo} from "@/api/mine"
|
||||||
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
||||||
import order from "../../store/modules/order";
|
|
||||||
export default {
|
export default {
|
||||||
name: "accountingView",
|
name: "accountingView",
|
||||||
computed: {
|
|
||||||
order() {
|
|
||||||
return order
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mixins:[myMixins],
|
mixins:[myMixins],
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
|
fileList:[],
|
||||||
id:'',
|
id:'',
|
||||||
postfix:'',
|
postfix:'',
|
||||||
orderInfo:{},
|
orderInfo:{},
|
||||||
|
serviceType:'',
|
||||||
|
settleType:'',
|
||||||
|
taskFlowId: '',
|
||||||
|
appCode:'',
|
||||||
|
abState:false,
|
||||||
|
bcState:false,
|
||||||
|
caState:false,
|
||||||
|
bridgeAbState:false,
|
||||||
|
bridgeBcState:false,
|
||||||
|
bridgeCaState:false,
|
||||||
|
waitAmountState:false,
|
||||||
|
dilemmaAmountState:false,
|
||||||
|
tyreAmountState:false,
|
||||||
|
basementFeeState:false,
|
||||||
|
accountStatus:'',
|
||||||
|
fixedPrice:'',
|
||||||
|
fixedPriceType:'',
|
||||||
|
supplierId:'',
|
||||||
|
basePrice:'0.0',
|
||||||
|
auditBasePrice:'0',
|
||||||
|
auditExtraPrice:'0',
|
||||||
|
extraPrice:'0',
|
||||||
|
commitLoading: false,
|
||||||
|
auditFormShow:false,
|
||||||
form:{
|
form:{
|
||||||
|
id:'',
|
||||||
|
taskOrderCostHisId:'',
|
||||||
|
userOrderId:'',
|
||||||
|
supplierId:'',
|
||||||
|
cutInsuranceAmount:'',
|
||||||
|
policyState:'',
|
||||||
|
taskFlowId:'',
|
||||||
|
contractSettleId:'',
|
||||||
|
supplierSettleMileageAb:'',
|
||||||
|
supplierSettleMileageBc:'',
|
||||||
|
supplierSettleMileageCa:'',
|
||||||
|
startPrice:'',
|
||||||
|
containMileage:'',
|
||||||
|
unitPrice:'',
|
||||||
|
supplierOtherAmount:'',
|
||||||
supplierCustomerAmount:'',
|
supplierCustomerAmount:'',
|
||||||
|
supplierCustomerAmountRemark:'',
|
||||||
|
supplierBridgeAmountAb:'',
|
||||||
|
supplierBridgeAmountBc:'',
|
||||||
|
supplierBridgeAmountCa:'',
|
||||||
|
supplierBridgeAmount:'',
|
||||||
|
supplierDilemmaAmount:'',
|
||||||
supplierTyreAmount:'',
|
supplierTyreAmount:'',
|
||||||
}
|
supplierWaitAmount:'',
|
||||||
|
supplierBasementFee:'',
|
||||||
|
supplierBasePrice:'',
|
||||||
|
supplierExtraPrice:'',
|
||||||
|
supplierSettleAmount:'',
|
||||||
|
supplierOtherAmountRemark:'',
|
||||||
|
policyAmount:'',
|
||||||
|
dilemmaAmount:'',
|
||||||
|
tyreAmount:'',
|
||||||
|
waitAmount:'',
|
||||||
|
bridgeAmountAb:'',
|
||||||
|
bridgeAmountBc:'',
|
||||||
|
bridgeAmountCa:'',
|
||||||
|
supplierRemark:'',
|
||||||
|
settleMileageAb:'',
|
||||||
|
settleMileageBc:'',
|
||||||
|
settleMileageCa:'',
|
||||||
|
settleAmount:'',
|
||||||
|
otherAmount:'',
|
||||||
|
otherAmountRemark:'',
|
||||||
|
customerAmount:'',
|
||||||
|
customerAmountRemark:'',
|
||||||
|
auditRemark:'',
|
||||||
|
createTime:'',
|
||||||
|
updateTime:'',
|
||||||
|
batchCode:'',
|
||||||
|
checkCount:'',
|
||||||
|
auditUser:'',
|
||||||
|
auditTime:'',
|
||||||
|
basePrice:'',
|
||||||
|
bridgeAmount:'',
|
||||||
|
extraPrice:'',
|
||||||
|
basementFee:'',
|
||||||
|
financePrice:'',
|
||||||
|
firstAuditSuccessRemark:'',
|
||||||
|
createUser:'',
|
||||||
|
updateUser:'',
|
||||||
|
autoRollback:'',
|
||||||
|
isExceptionAuditConfirm:'',
|
||||||
|
isExceptionAuditConfirmRemark:'',
|
||||||
|
financeRefuseAuditRemark:'',
|
||||||
|
exceptionApprovalStatus:'',
|
||||||
|
exceptionApprovalRemark:'',
|
||||||
|
auditSuccessRemark:'',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.id=this.$route.params?.id;
|
this.id=this.$route.params?.id;
|
||||||
this.postfix=this.$route.params?.postfix;
|
this.postfix=this.$route.params?.postfix;
|
||||||
await this.getDetail()
|
this.$nextTick(async ()=>{
|
||||||
|
await this.getDetail()
|
||||||
|
})
|
||||||
|
console.log("this.basePriceDisabled",this.basePriceDisabled)
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
basePriceDisabled(){
|
||||||
|
return !(this.serviceType == '困境救援' || this.serviceType == '困境-吊车' || this.serviceType == '困境救援-事故' || this.serviceType == '困境救援-故障'
|
||||||
|
|| (this.fixedPrice && parseFloat(this.fixedPrice) > 0 && this.fixedPriceType) || this.supplierId == 500921)
|
||||||
|
},
|
||||||
|
//保险实拖案件,剔除人保和太平事故
|
||||||
|
isCPICDrag(){
|
||||||
|
return this.settleType == '实拖' && !['PICC10101','PICCSHANGQI','PICC101099','SAIPCC2021',''].includes(this.appCode)
|
||||||
|
},
|
||||||
|
isBasement(){
|
||||||
|
return this.serviceType == '困境救援' || this.serviceType == '困境-吊车' || this.serviceType == '困境救援-事故' || this.serviceType == '困境救援-故障'
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
handleFileRead({ file }) {
|
||||||
|
const url = URL.createObjectURL(file);
|
||||||
|
this.fileList.push({ file, url });
|
||||||
|
this.$toast('图片上传成功');
|
||||||
|
},
|
||||||
|
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) {
|
||||||
|
//困境的案件,或者一口价案件,基本费用可以输入
|
||||||
|
let dilemmaBasePrice = parseFloat(this.form.supplierBasePrice) || 0
|
||||||
|
this.form.supplierBasePrice = dilemmaBasePrice
|
||||||
|
this.form.supplierExtraPrice = 0
|
||||||
|
this.form.supplierSettleAmount = dilemmaBasePrice - (parseFloat(this.form.supplierCustomerAmount) || 0)
|
||||||
|
// console.log("困境案件费用总计",this.form.supplierSettleAmount)
|
||||||
|
}else{
|
||||||
|
let data = await accountRecordCompute( {
|
||||||
|
...this.form,
|
||||||
|
settleType:this.orderInfo.settleType?.code
|
||||||
|
});
|
||||||
|
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 getDetail(){
|
async getDetail(){
|
||||||
|
this.abState = false
|
||||||
|
this.bcState = false
|
||||||
|
this.caState = false
|
||||||
|
this.bridgeAbState = false
|
||||||
|
this.bridgeBcState = false
|
||||||
|
this.bridgeCaState = false
|
||||||
|
this.waitAmountState = false
|
||||||
|
this.dilemmaAmountState = false
|
||||||
|
this.tyreAmountState = false
|
||||||
|
this.basementFeeState = false
|
||||||
|
this.accountStatus = ''
|
||||||
|
this.basePrice = '0.0'
|
||||||
|
this.extraPrice = '0'
|
||||||
|
this.totalPrice = '0.0'
|
||||||
let res= await getAccountRecordDetail({
|
let res= await getAccountRecordDetail({
|
||||||
id:this.id,
|
id:this.id,
|
||||||
postfix:this.postfix
|
postfix:this.postfix
|
||||||
})
|
})
|
||||||
if(res.code === 200){
|
if(res.code === 200){
|
||||||
this.orderInfo=res.data
|
this.orderInfo=res.data
|
||||||
|
this.serviceType=this.orderInfo.serviceName
|
||||||
|
this.taskFlowId=this.orderInfo.taskFlowId
|
||||||
|
this.settleType=this.orderInfo.settleType?.label
|
||||||
|
this.accountStatus = this.orderInfo.accountStatus?.code
|
||||||
|
this.appCode=this.orderInfo.appCode
|
||||||
|
this.fixedPrice = this.orderInfo.fixedPrice
|
||||||
|
this.fixedPriceType=this.orderInfo.fixedPriceType
|
||||||
|
this.supplierId=this.orderInfo.supplierId
|
||||||
|
}
|
||||||
|
if(this.accountStatus == 1 || this.accountStatus == 0){//没有记录,等待审核
|
||||||
|
leftCopy(this.form, {...res.data})
|
||||||
|
// console.log("form",this.form)
|
||||||
|
}
|
||||||
|
if(this.accountStatus == 2 || this.accountStatus == 3){//审核失败,再次审核
|
||||||
|
leftCopy(this.form, {...res.data})
|
||||||
|
this.auditFormShow = true;//是否显示审核数据
|
||||||
|
// this.confirmAuditState = true //确定审核状态
|
||||||
|
}
|
||||||
|
if(this.settleType == '实拖' && this.basePriceDisabled){
|
||||||
|
this.bcState = true
|
||||||
|
this.form.supplierSettleMileageAb = 0
|
||||||
|
this.form.supplierSettleMileageCa = 0
|
||||||
|
}else if(this.settleType == '单程' && this.basePriceDisabled){
|
||||||
|
this.abState = true
|
||||||
|
this.bcState = true
|
||||||
|
this.form.supplierSettleMileageCa = 0
|
||||||
|
if(this.taskFlowId == '1' && this.basePriceDisabled ){
|
||||||
|
this.bcState = false
|
||||||
|
this.form.supplierSettleMileageBc = 0
|
||||||
|
}
|
||||||
|
}else if(this.settleType == '全程' && this.basePriceDisabled){
|
||||||
|
this.abState = true
|
||||||
|
this.bcState = true
|
||||||
|
this.caState = true
|
||||||
|
}else if(this.settleType == '全程减半' && this.basePriceDisabled){
|
||||||
|
this.abState = true
|
||||||
|
this.bcState = true
|
||||||
|
this.caState = true
|
||||||
|
}
|
||||||
|
// console.log(this.orderInfo.refBridgeAmountAB,this.orderInfo.refBridgeAmountBC,this.orderInfo.refBridgeAmountCA,"1212")
|
||||||
|
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
|
||||||
}
|
}
|
||||||
// console.log("res",res)
|
|
||||||
},
|
},
|
||||||
cancelBtn(){
|
cancelBtn(){
|
||||||
console.log("取消")
|
this.$router.back();
|
||||||
|
},
|
||||||
|
async save() {
|
||||||
|
this.commitLoading = true;
|
||||||
|
if(this.form.supplierOtherAmount > 0){
|
||||||
|
if(this.form.supplierOtherAmountRemark == ''){
|
||||||
|
this.$alert('请填写其他费用说明');
|
||||||
|
this.commitLoading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data= await getAccountRecordDetail({
|
||||||
|
id:this.id,
|
||||||
|
postfix:this.postfix
|
||||||
|
})
|
||||||
|
this.accountStatus = data.data.accountStatus?.code
|
||||||
|
if(data.data.accountStatus?.code >= 4){
|
||||||
|
this.$alert('已进入后续流程,不允许操作');
|
||||||
|
this.commitLoading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let accountStatus = 0
|
||||||
|
if(this.accountStatus == 0) accountStatus = 1
|
||||||
|
if(this.accountStatus == 1) accountStatus = 1
|
||||||
|
if(this.accountStatus == 2) accountStatus = 3
|
||||||
|
if(this.accountStatus == 3) accountStatus = 3
|
||||||
|
this.form.supplierSettleMileageAb = parseInt(this.form.supplierSettleMileageAb) || 0
|
||||||
|
this.form.supplierSettleMileageBc = parseInt(this.form.supplierSettleMileageBc) || 0
|
||||||
|
this.form.supplierSettleMileageCa = parseInt(this.form.supplierSettleMileageCa) || 0
|
||||||
|
this.form.supplierBridgeAmountAb = parseInt(this.form.supplierBridgeAmountAb) || 0
|
||||||
|
this.form.supplierBridgeAmountBc =parseInt(this.form.supplierBridgeAmountBc) || 0
|
||||||
|
this.form.supplierBridgeAmountCa =parseInt(this.form.supplierBridgeAmountCa) || 0
|
||||||
|
this.form.supplierBridgeAmount = parseInt(this.form.supplierBridgeAmountAb) + parseInt(this.form.supplierBridgeAmountBc) + parseInt(this.form.supplierBridgeAmountCa)
|
||||||
|
this.form.supplierCustomerAmount = parseFloat(this.form.supplierCustomerAmount) || 0
|
||||||
|
this.form.supplierDilemmaAmount = parseInt(this.form.supplierDilemmaAmount) || 0
|
||||||
|
this.form.supplierOtherAmount = parseInt(this.form.supplierOtherAmount) || 0
|
||||||
|
this.form.supplierTyreAmount = parseInt(this.form.supplierTyreAmount) || 0
|
||||||
|
this.form.supplierWaitAmount = parseInt(this.form.supplierWaitAmount) || 0
|
||||||
|
this.form.supplierBasementFee = parseInt(this.form.supplierBasementFee) || 0
|
||||||
|
await this.compute();
|
||||||
|
let res = await updateAccountRecordInfo( {
|
||||||
|
...this.form,
|
||||||
|
accountStatus: accountStatus,
|
||||||
|
supplierBridgeAmount:parseInt(this.form.supplierBridgeAmountAb || 0) + parseInt(this.form.supplierBridgeAmountBc || 0) + parseInt(this.form.supplierBridgeAmountCa || 0)
|
||||||
|
});
|
||||||
|
if(res.code === 200){
|
||||||
|
this.$toast('操作成功')
|
||||||
|
// setTimeout(()=>{
|
||||||
|
// this.$router.back()
|
||||||
|
// },)
|
||||||
|
}
|
||||||
|
// this.hiddenReset();
|
||||||
|
this.$emit('success');
|
||||||
|
this.commitLoading = false;
|
||||||
},
|
},
|
||||||
submitBtn(){
|
|
||||||
console.log("提交")
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
components:{
|
components:{
|
||||||
TwoCommonBtn
|
TwoCommonBtn
|
||||||
@ -139,6 +533,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #F4F5F7;
|
background-color: #F4F5F7;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.navBar{
|
.navBar{
|
||||||
margin-bottom: 46px;
|
margin-bottom: 46px;
|
||||||
@ -183,8 +578,8 @@ img{
|
|||||||
.supplierData{
|
.supplierData{
|
||||||
@include wh(100%,438px);
|
@include wh(100%,438px);
|
||||||
.inpInfo{
|
.inpInfo{
|
||||||
display: flex;
|
//display: flex;
|
||||||
justify-content: space-between;
|
//justify-content: space-between;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
color: #323643;
|
color: #323643;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
@ -193,28 +588,27 @@ img{
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.titleContent{
|
.titleContent{
|
||||||
width: 91px;
|
|
||||||
@include fontWeightSize(bold,13px);
|
@include fontWeightSize(bold,13px);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.flex-between{
|
||||||
|
@include flexColBet
|
||||||
|
}
|
||||||
.halfOpcity{
|
.halfOpcity{
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
}
|
}
|
||||||
.inputContent{
|
.inputContent{
|
||||||
text-align: right;
|
text-align: right;
|
||||||
//opacity: .5;e
|
|
||||||
.btnComputed{
|
|
||||||
width: 48px;
|
|
||||||
@include all-height(18px);
|
|
||||||
text-align: center;
|
|
||||||
color: #FFFFFF;
|
|
||||||
background: #354D93;
|
|
||||||
border-radius: 3px;
|
|
||||||
position: absolute;
|
|
||||||
right: 24px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.btnComputed{
|
||||||
|
width: 48px;
|
||||||
|
@include all-height(18px);
|
||||||
|
text-align: center;
|
||||||
|
@include bgFontColor(#FFFFFF,#354D93);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
.multipleTxt{
|
.multipleTxt{
|
||||||
@include wh(100%,87px);
|
@include wh(100%,87px);
|
||||||
background: #FAFAFA;
|
background: #FAFAFA;
|
||||||
@ -228,4 +622,97 @@ img{
|
|||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.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;
|
||||||
|
.reason{
|
||||||
|
@include fontWeightSize(400,11px);
|
||||||
|
color: #FF8F37;
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
.camerImg{
|
||||||
|
@include widHeiMar(54px,42px,4px);
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
width: 48px;
|
||||||
|
@include all-height(18px);
|
||||||
|
background: #354D93;
|
||||||
|
border-radius: 3px;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn{
|
||||||
|
margin-top: 31px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 8px;
|
||||||
|
button{
|
||||||
|
@include wh(105px,39px);
|
||||||
|
line-height: 39px;
|
||||||
|
background: #9EA7C0;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
@include fontWeightSize(bold,14px);
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.submit{
|
||||||
|
background: #354D93;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
219
src/views/workOrder/aduitCompleteDetail.vue
Normal file
219
src/views/workOrder/aduitCompleteDetail.vue
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
<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="h5GoBack"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="baseInfo common">
|
||||||
|
<div class="title">基本信息:</div>
|
||||||
|
<div class="line"></div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">工单编号:</span>
|
||||||
|
<span class="content" id="copyText">{{ orderInfo.orderCode }}</span>
|
||||||
|
<img @click="copyText" src="@/assets/copy.png" />
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">车牌号: </span>
|
||||||
|
<span class="content">{{orderInfo.plateNumber}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">服务类型:</span>
|
||||||
|
<span class="content" >{{ orderInfo.serviceName }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">工单状态:</span>
|
||||||
|
<span class="content" >{{ orderInfo.taskSuccessStatus?.label }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">结算比例:</span>
|
||||||
|
<span class="content" >{{ orderInfo.supplierSettleRatio?.label }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">结算类型:</span>
|
||||||
|
<span class="content" >{{ orderInfo.settleType?.label }}</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>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">扣除责任险费:</span>
|
||||||
|
<span class="content">{{orderInfo.policyAmount}} {{orderInfo.cutInsuranceAmount}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="baseInfo common">
|
||||||
|
<div class="title">审核数据:</div>
|
||||||
|
<div class="line"></div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">拖车里程:</span>
|
||||||
|
<span class="content">{{ orderInfo.bridgeAmountBc + ' km' }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">路桥费:</span>
|
||||||
|
<span class="content">{{orderInfo.bridgeAmount + ' 元' }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">小轮费:</span>
|
||||||
|
<span class="content" >{{ orderInfo.tyreAmount + ' 元'}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">困境费:</span>
|
||||||
|
<span class="content" >{{ orderInfo.dilemmaAmount + ' 元'}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">等候费:</span>
|
||||||
|
<span class="content" >{{ orderInfo.waitAmount + ' 元'}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">地库费:</span>
|
||||||
|
<span class="content" >{{ orderInfo.basementFee + ' 元'}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">收取客户金额:</span>
|
||||||
|
<span class="content" >{{ orderInfo.customerAmount + '元'}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span class="titleLeft">费用总计:</span>
|
||||||
|
<span class="content" >{{ orderInfo.settleAmount + ' 元' }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {myMixins} from "@/utils/myMixins"
|
||||||
|
import {getAccountRecordDetail} from "@/api/mine"
|
||||||
|
export default {
|
||||||
|
name: "aduitCompleteDetail",
|
||||||
|
mixins:[myMixins],
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
id:'',
|
||||||
|
postfix:'',
|
||||||
|
orderInfo:{},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
this.id=this.$route.query?.id;
|
||||||
|
this.postfix=this.$route.query?.postfix;
|
||||||
|
console.log(this.id,this.postfix)
|
||||||
|
await this.getDetail()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDetail() {
|
||||||
|
let res = await getAccountRecordDetail({
|
||||||
|
id: this.id,
|
||||||
|
postfix: this.postfix
|
||||||
|
})
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.orderInfo = res.data
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "@/styles/mixin.scss";
|
||||||
|
@import "@/styles/common.scss";
|
||||||
|
.wrap{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #F4F5F7;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.navBar{
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
@include fontWeightSize(bold,14px);
|
||||||
|
color: #323643;
|
||||||
|
opacity: 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{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 12px !important;
|
||||||
|
font-weight: 400 !important;
|
||||||
|
//@include fontWeightSize(400,12px) !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%,276px);
|
||||||
|
|
||||||
|
}
|
||||||
|
.supplierData {
|
||||||
|
@include wh(100%, 438px);
|
||||||
|
|
||||||
|
.inpInfo {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0 5px;
|
||||||
|
color: #323643;
|
||||||
|
line-height: 32px;
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: none;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleContent {
|
||||||
|
width: 91px;
|
||||||
|
@include fontWeightSize(bold, 13px);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.halfOpcity {
|
||||||
|
opacity: .5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputContent {
|
||||||
|
text-align: right;
|
||||||
|
//opacity: .5;e
|
||||||
|
.btnComputed {
|
||||||
|
width: 48px;
|
||||||
|
@include all-height(18px);
|
||||||
|
text-align: center;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: #354D93;
|
||||||
|
border-radius: 3px;
|
||||||
|
//position: absolute;
|
||||||
|
//right: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,250 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="wrap">
|
|
||||||
<div class="baseInfo common">
|
|
||||||
<div class="title">基本信息:</div>
|
|
||||||
<div class="line"></div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">工单编号:</span>
|
|
||||||
<span class="content" id="copyText">ZD230626124283</span>
|
|
||||||
<img @click="copyText" src="@/assets/copy.png" />
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">车牌号: </span>
|
|
||||||
<span class="content">湘H-DD899</span>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">服务类型:</span>
|
|
||||||
<span class="content" >搭电</span>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">工单状态:</span>
|
|
||||||
<span class="content" >未完成</span>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">结算比例:</span>
|
|
||||||
<span class="content" >按服务不成功结算</span>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">结算类型:</span>
|
|
||||||
<span class="content" >系统一口价</span>
|
|
||||||
</div>
|
|
||||||
<div class="item" >
|
|
||||||
<span class="title">结算方式:</span>
|
|
||||||
<div class="content" style="width: calc(100% - 84px);display: flex;justify-content: space-between;line-height: 27px" >
|
|
||||||
<span>起步价:135</span>
|
|
||||||
<span>包含公里数:15</span>
|
|
||||||
<span>超出单价:6</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item">
|
|
||||||
<span class="title">扣除责任险费:</span>
|
|
||||||
<span class="content">0</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="dataType">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td class="col1 checkData">审核数据</td>
|
|
||||||
<td class="col2 supplierData">供应商数据</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1">拖车里程:32km</td>
|
|
||||||
<td class="col2 halfOpc"><input placeholder="输入拖车公里"/></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1">路桥费:36元</td>
|
|
||||||
<td class="col2 halfOpc"><input placeholder="输入路桥费"/></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1">小轮费:32元</td>
|
|
||||||
<td class="col2 halfOpc"><input placeholder="输入小轮费"/></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1">收取客户:100元</td>
|
|
||||||
<td class="col2 halfOpc"><input placeholder="收取客户金额"/></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1">费用总计:165元</td>
|
|
||||||
<td class="col2" style="position: relative" >
|
|
||||||
<span class="halfOpc">费用总计</span>
|
|
||||||
<button class="btnCom">计算</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="col1 alignLeft" style="border-bottom-left-radius: 3px">
|
|
||||||
<div class="title col1" style="white-space: nowrap;">审核失败原因</div>
|
|
||||||
<div class="reason">审核失败原因审核失败原因审核失败原因审核失败原因审核失败原因</div>
|
|
||||||
<div class="imgWrap">
|
|
||||||
<img class="camerImg" src="@/assets/camer.png" >
|
|
||||||
<img class="camerImg" src="@/assets/camer.png" >
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="col2 alignLeft" style="border-bottom-right-radius: 3px">
|
|
||||||
<div class="title"> 本次补充说明:</div>
|
|
||||||
<!-- <div class="reason">审核失败原因审核失败原因审核失败原因审核失败原因审核失败原因</div>-->
|
|
||||||
<div class="imgWrap">
|
|
||||||
<img class="camerImg" src="@/assets/camer.png" >
|
|
||||||
<img class="camerImg" src="@/assets/camer.png" >
|
|
||||||
<img class="camerImg" src="@/assets/camer.png" >
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="btn">
|
|
||||||
<button>取消</button>
|
|
||||||
<button>再次审核</button>
|
|
||||||
<button class="submit">提交</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import {myMixins} from '@/utils/myMixins'
|
|
||||||
export default {
|
|
||||||
name: "reAccountingView",
|
|
||||||
mixins:[myMixins],
|
|
||||||
methods:{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
@import "@/styles/mixin.scss";
|
|
||||||
.wrap{
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-color: #F4F5F7;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
.title{
|
|
||||||
@include fontWeightSize(bold,14px);
|
|
||||||
color: #323643;
|
|
||||||
opacity: 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{
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
@include fontWeightSize(400,12px);
|
|
||||||
.title{
|
|
||||||
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%,276px);
|
|
||||||
}
|
|
||||||
.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;
|
|
||||||
.reason{
|
|
||||||
@include fontWeightSize(400,11px);
|
|
||||||
color: #FF8F37;
|
|
||||||
opacity: 1 !important;
|
|
||||||
}
|
|
||||||
.camerImg{
|
|
||||||
@include widHeiMar(54px,42px,4px);
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
.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{
|
|
||||||
position: absolute;
|
|
||||||
right: 13px;
|
|
||||||
border: none;
|
|
||||||
width: 48px;
|
|
||||||
@include all-height(18px);
|
|
||||||
background: #354D93;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: #FFFFFF;
|
|
||||||
@include fontWeightSize(bold,12px)
|
|
||||||
}
|
|
||||||
.checkData,.supplierData{
|
|
||||||
color: #323643;
|
|
||||||
}
|
|
||||||
.checkData{
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
opacity: 0.66;
|
|
||||||
}
|
|
||||||
.supplierData{
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.halfOpc{
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.btn{
|
|
||||||
margin-top: 31px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 0 8px;
|
|
||||||
button{
|
|
||||||
@include wh(105px,39px);
|
|
||||||
line-height: 39px;
|
|
||||||
background: #9EA7C0;
|
|
||||||
border-radius: 5px;
|
|
||||||
color: #FFFFFF;
|
|
||||||
@include fontWeightSize(bold,14px);
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
.submit{
|
|
||||||
background: #354D93;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -56,9 +56,10 @@
|
|||||||
<span class="allTxt">{{ item.accountStatus?.label }}</span>
|
<span class="allTxt">{{ item.accountStatus?.label }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="rightBtn">
|
<div class="rightBtn">
|
||||||
<button class="btn" v-if="queryType == 1" @click="handleAccounting(item)">记账</button>
|
<button class="btn" v-if="queryType == 1" @click="handleAccounting(item)">记账</button>
|
||||||
<button class="btn" v-if="[3, 5].includes(queryType)">重新记账</button>
|
<button class="btn" v-if="queryType == 3" @click="handleAccounting(item)">{{item.accountStatus.code == 3 ? '重新记账' : '记账'}}</button>
|
||||||
<button class="btn" v-if="queryType == 7">查看详情</button>
|
<button class="btn" v-if="queryType == 5" @click="handleAccounting(item)">重新记账</button>
|
||||||
|
<button class="btn" v-if="queryType == 7" @click="goPage('aduitCompleteDetail',{id:item.id,postfix: item.postfix})">查看详情</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -122,12 +123,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleAccounting(item){
|
handleAccounting(item){
|
||||||
console.log("iiii",item)
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'accountingView', // 目标路由的名称
|
name: 'accountingView', // 目标路由的名称
|
||||||
params: {
|
params: {
|
||||||
id: item.id, // 参数对象的属性
|
id: item.id, // 参数对象的属性
|
||||||
postfix:item.postfix
|
postfix:item.postfix,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user