Compare commits
10 Commits
ec974ed55c
...
prod-09-03
| Author | SHA1 | Date | |
|---|---|---|---|
| c22eeb2787 | |||
| 3033ef09df | |||
| b64912c982 | |||
| be0227c68b | |||
| b981a57ef5 | |||
| b836f3c979 | |||
| a5c88f11bb | |||
| 9b64456854 | |||
| 658c0c7db2 | |||
| 698f98bee7 |
@ -326,10 +326,17 @@ export function jumpPage(data){
|
||||
data
|
||||
})
|
||||
}
|
||||
//
|
||||
//发送确认参保
|
||||
export function sendInsuranceEmail(){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/sendInsuranceEmail',
|
||||
method:'POST',
|
||||
})
|
||||
}
|
||||
// 判断服务商是否参保
|
||||
export function isSendInsuranceEmail(){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/isSendInsuranceEmail',
|
||||
method:'POST',
|
||||
})
|
||||
}
|
||||
@ -88,7 +88,8 @@
|
||||
<script>
|
||||
import { Decimal } from 'decimal.js';
|
||||
import {myMixins} from "@/utils/myMixins"
|
||||
import {notifyInvoiceList} from "@/api/mine"
|
||||
import {notifyInvoiceList, jumpPage} from "@/api/mine"
|
||||
import {Dialog} from "vant";
|
||||
export default {
|
||||
name: "invoicingNotify",
|
||||
mixins:[myMixins],
|
||||
@ -154,7 +155,7 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
changeTabHandler() {
|
||||
async changeTabHandler() {
|
||||
this.pageNum = 1;
|
||||
this.notifyList = [];
|
||||
this.checkList = [];
|
||||
@ -166,6 +167,20 @@ export default {
|
||||
this.status = 2;
|
||||
this.dispatchAppSearchInvoiced = '';
|
||||
this.pageSize = 10000
|
||||
let res = await this.getJumpHandler();
|
||||
if(res?.data?.jump) {
|
||||
Dialog.alert({
|
||||
message: '您有暂未完成的培训,请在中道调度APP上完成培训,再进行发票上传',
|
||||
confirmButtonText: '去培训',
|
||||
confirmButtonColor: '#0E76F4',
|
||||
showCancelButton: false,
|
||||
}).then(async() => {
|
||||
this.goPage('newTrainingList', { supplierId : this.supplierId })
|
||||
}).catch(() => {
|
||||
// on cancel
|
||||
});
|
||||
return false
|
||||
}
|
||||
} else if(this.active == 3) { // 已开票,需要分页
|
||||
this.status = '';
|
||||
this.dispatchAppSearchInvoiced = 1;
|
||||
@ -173,6 +188,10 @@ export default {
|
||||
}
|
||||
this.getNotifyList()
|
||||
},
|
||||
async getJumpHandler() {
|
||||
let res = await jumpPage();
|
||||
return res
|
||||
},
|
||||
getMonth(item) {
|
||||
let str = '';
|
||||
let startTime = new Date(item.createTime);
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
</div>
|
||||
<div class="upload_btn_wrap">
|
||||
<div class="btn_save" @click="createInvoiceHandler">保存</div>
|
||||
<van-uploader :before-read="beforeRead" :after-read="afterRead" accept=".png,.jpg,.jpeg,.pdf,.ofd">
|
||||
<van-uploader :before-read="beforeRead" use-before-read :after-read="afterRead" accept=".png,.jpg,.jpeg,.pdf,.ofd">
|
||||
<div class="btn_upload">
|
||||
<img class="icon_upload" src="@/assets/icon_upload.png" alt="">
|
||||
上传发票
|
||||
@ -76,13 +76,14 @@
|
||||
import { Decimal } from 'decimal.js';
|
||||
import { Dialog } from "vant";
|
||||
import { myMixins } from "@/utils/myMixins"
|
||||
import { uploadInvoice, getBillingInfo, deleteInvoice, createBatch, jumpPage} from "@/api/mine"
|
||||
import { uploadInvoice, getBillingInfo, deleteInvoice, createBatch} from "@/api/mine"
|
||||
export default {
|
||||
name: "uploadInvoice",
|
||||
mixins:[ myMixins ],
|
||||
data(){
|
||||
return {
|
||||
list: [],
|
||||
fileObj: '',
|
||||
invoiceMoneyTotal: 0,
|
||||
tableData: [],
|
||||
activeObj: {},
|
||||
@ -132,10 +133,10 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getJumpHandler() {
|
||||
/* async getJumpHandler() {
|
||||
let res = await jumpPage();
|
||||
return res
|
||||
},
|
||||
},*/
|
||||
async initData() {
|
||||
this.list = JSON.parse(localStorage.getItem('list'));
|
||||
this.batchIds = [];
|
||||
@ -235,18 +236,12 @@
|
||||
});
|
||||
},
|
||||
async beforeRead (file) {
|
||||
let res = await this.getJumpHandler();
|
||||
if(res?.data?.jump) {
|
||||
this.$message.warning("您有没有完成的培训,请在中道调度APP上完成培训,再进行发票上传")
|
||||
return false
|
||||
}
|
||||
const FileExt = file.name.replace(/.+\./, "");
|
||||
if (['jpg', 'png', 'jpeg', 'pdf', 'ofd'].indexOf(FileExt.toLowerCase()) === -1) {
|
||||
this.$toast('请上传后缀名为jpg、jpeg、png、pdf、ofd的文件!')
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
this.$set(this.activeObj, 'fileType', FileExt)
|
||||
return true
|
||||
},
|
||||
async afterRead (file) {
|
||||
try {
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
<div :class="{'reciceOrder':true,'webCom':!isMobile,'evaluate':isMobile}">
|
||||
<div class="title">客户评价</div>
|
||||
<div class="reciceOrderIWrap" v-if="indexData">
|
||||
<circle-char ref="Doughnut1" :data="indexData && indexData.complainOrderRate" :title-text="'投诉率'" :bg-color="Number(indexData?.complainOrderRate || 0) <= 0.01 ? 'green' : 'red'"
|
||||
<circle-char ref="Doughnut1" :data="indexData && indexData.complainOrderRate" :title-text="'投诉率'" :bg-color="Number(indexData?.complainOrderRate || 0) <= 0.1 ? 'green' : 'red'"
|
||||
:is-store="false" @clickComplain="clickJumpHandle(7)"></circle-char>
|
||||
<circle-char ref="Doughnut2" :data="indexData && indexData.customerSatisfaction" :title-text="'平安好评率'"
|
||||
:bg-color="Number(indexData?.customerSatisfaction || 0) >= 99.4 ? 'green' : 'red'"></circle-char>
|
||||
@ -91,7 +91,7 @@
|
||||
<div class="line"></div>
|
||||
<div class="center common">
|
||||
<div class="num" :class="{'numRed': Number(indexData?.polymerizationSuccessArriving) > 22, 'numGreen': Number(indexData?.polymerizationSuccessArriving) <= 22 }">{{ indexData && indexData.polymerizationSuccessArriving }}</div>
|
||||
<div class="itemTitle">集合成功到达时效(分)</div>
|
||||
<div class="itemTitle">平安聚合成功到达时效(分)</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="right common">
|
||||
@ -1184,13 +1184,10 @@ export default {
|
||||
]
|
||||
} else if (this.active === 11) {//车辆在线情况
|
||||
this.labelList = [
|
||||
{label: '日期', prop: 'date'},
|
||||
{label: '案件编号', prop: 'orderCode'},
|
||||
{label: '服务内容', prop: 'serviceName'},
|
||||
{label: '聚合分类', prop: 'workOrderTypeString'},
|
||||
{label: '聚合供应商', prop: 'supplierName'},
|
||||
{label: '聚合车辆', prop: 'driverName'},
|
||||
{label: '聚合师傅手机号', prop: 'driverPhone'},
|
||||
{label: '聚合信息', prop: 'rescuePersonName'},
|
||||
{label: '创建时间', prop: 'orderCreateTime'},
|
||||
]
|
||||
}
|
||||
@ -1223,9 +1220,9 @@ export default {
|
||||
this.startTime = dayjs(new Date()).format('YYYY-MM') + '-01 00:00:00'
|
||||
this.endTime = dayjs(new Date()).format('YYYY-MM') + '-' + this.getDayLen()+' 23:59:59'*/
|
||||
// test
|
||||
let _testDate = new Date('2024-11-01 00:00:01')
|
||||
// let _testDate = new Date('2024-11-01 00:00:01')
|
||||
|
||||
const today = dayjs(_testDate); // 获取当前日期
|
||||
const today = dayjs(); // 获取当前日期
|
||||
const currentDay = today.date(); // 获取今天是几号(1-31)
|
||||
let targetMonth = today; // 默认目标月份是当前月
|
||||
if (currentDay === 1) {
|
||||
@ -1306,8 +1303,8 @@ export default {
|
||||
{ 'month': '拒单量' },{ 'month': '拒单率(%)' },{ 'month': '超时接单量' },{ 'month': '超时率(%)' },{ 'month': '客户取消率(%)' }]
|
||||
let props = 'prop' //自定义字段名称
|
||||
this.detailList?.map((item,index) => {
|
||||
|
||||
item.dispatchOrderCount=this.formatCurrency1( item.dispatchOrderCount);
|
||||
let _dispatchOrderCount = Number(item.receiveOrderCount) + Number(item.refuseOrderCount)
|
||||
item.dispatchOrderCount=this.formatCurrency1( _dispatchOrderCount );
|
||||
item.receiveOrderCount=this.formatCurrency1( item.receiveOrderCount);
|
||||
item.finishOrderCount=this.formatCurrency1( item.finishOrderCount);
|
||||
item.refuseOrderCount=this.formatCurrency1( item.refuseOrderCount);
|
||||
@ -1466,8 +1463,8 @@ export default {
|
||||
{label: '日', prop: 'date'},
|
||||
{label: '投诉量', prop: 'complainOrderCount'},
|
||||
{label: '投诉率', prop: 'complainOrderRate'},
|
||||
{label: '好评量', prop: 'favorableCount'},
|
||||
{label: '好评率', prop: 'favorableRate'},
|
||||
/* {label: '好评量', prop: 'favorableCount'},
|
||||
{label: '好评率', prop: 'favorableRate'},*/
|
||||
{label: '平安评价率', prop: 'pinganEvaluateRate'},
|
||||
{label: '平安好评率', prop: 'pinganFavorableRate'},
|
||||
]
|
||||
@ -1487,7 +1484,7 @@ export default {
|
||||
this.labelList = [
|
||||
{label: '日', prop: 'date'},
|
||||
{label: '接单时效(分)', prop: 'receiving'},
|
||||
{label: '3分钟联系客户率', prop: 'threeMinutesReceivingRate'},
|
||||
{label: '3分钟联系客户率', prop: 'threeMinutesContactRate'},
|
||||
{label: '到达时效(分)', prop: 'arriving'},
|
||||
{label: '平安聚合成功到达时效(分)', prop: 'pinganJuheSuccessArriving'},
|
||||
]
|
||||
|
||||
@ -29,17 +29,24 @@
|
||||
<div> 三、如确认参保,请点击下方“参保”按钮,会有专人与贵司联系。</div>
|
||||
</div>
|
||||
<div class="upload_btn_wrap">
|
||||
<div class="btn_save" @click="showPoup = true">参保</div>
|
||||
<div class="btn_save" :style="{'backgroundColor':used ? '#cccccc' : '#354D93'}" @click="showPoup = true">参保</div>
|
||||
</div>
|
||||
<div class="poupCommon" v-if="showPoup">
|
||||
<div class="showPoupContainer">
|
||||
<img class="insured" src="@/assets/insured-jianbian.png">
|
||||
<img class="insure" src="@/assets/insured.png">
|
||||
<div class="con">
|
||||
<div class="title">请确认</div>
|
||||
<div class="title">是否参保救援职业责任险</div>
|
||||
<template v-if="used">
|
||||
<div class="title">您已成功申请参保,请等待</div>
|
||||
<div class="title">专人与贵司联系。</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="title">请确认</div>
|
||||
<div class="title">是否参保救援职业责任险</div>
|
||||
</template>
|
||||
<div class="btnWrap">
|
||||
<div class="btn confirmBtn" @click="saveHandle">确认</div>
|
||||
<div v-if="used" class="btn confirmBtn" @click="showPoup = false">确认</div>
|
||||
<div v-else class="btn confirmBtn" @click="saveHandle">确认</div>
|
||||
<div class="btn closeBtn" @click="showPoup = false">取消</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -50,17 +57,19 @@
|
||||
|
||||
<script>
|
||||
import {myMixins} from "@/utils/myMixins"
|
||||
import {sendInsuranceEmail} from "@/api/mine"
|
||||
import {sendInsuranceEmail,isSendInsuranceEmail} from "@/api/mine"
|
||||
export default {
|
||||
name: "insuredPage",
|
||||
mixins: [myMixins],
|
||||
data() {
|
||||
return {
|
||||
showPoup: false,
|
||||
used:false,
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
|
||||
let res=await isSendInsuranceEmail()
|
||||
this.used=res.data
|
||||
},
|
||||
methods: {
|
||||
async saveHandle() {
|
||||
@ -120,7 +129,7 @@ export default {
|
||||
flex: 1;
|
||||
}
|
||||
.btn_save {
|
||||
background: #354D93;
|
||||
//background: #354D93;
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user