Compare commits

...

11 Commits

6 changed files with 117 additions and 56 deletions

View File

@@ -31,14 +31,14 @@
} }
</script> </script>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script> <script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script>
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>--> <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
<script> <script>
window.selfLink = window.location.href; window.selfLink = window.location.href;
window.selfSearch = window.location.search; window.selfSearch = window.location.search;
</script> </script>
<script> <script>
// VConsole 默认会挂载到 `window.VConsole` 上 // VConsole 默认会挂载到 `window.VConsole` 上
// let vConsole = new window.VConsole(); let vConsole = new window.VConsole();
(function (doc, win) { (function (doc, win) {
// console.log("==window.location.pathname===",window.location.pathname) // console.log("==window.location.pathname===",window.location.pathname)
let docEl = doc.documentElement let docEl = doc.documentElement

View File

@@ -23,7 +23,7 @@ export function toDoAudit(data){
data data
}) })
} }
// 工单详情 //
export function getOrderDetail(data){ export function getOrderDetail(data){
return request({ return request({
url:'/supplierAppV2/dispatchApp/order/getOrderDetail', url:'/supplierAppV2/dispatchApp/order/getOrderDetail',

View File

@@ -54,7 +54,7 @@ export function userFeedback(data){
data data
}) })
} }
//二手拖车信息擦亮 //擦亮
export function usedCarPolish(data){ export function usedCarPolish(data){
return request({ return request({
url: `/toc-user/car-app/usedCarPolish/${data}`, url: `/toc-user/car-app/usedCarPolish/${data}`,

View File

@@ -153,12 +153,17 @@ export default {
if (this.notifyList.length >= this.total) { if (this.notifyList.length >= this.total) {
this.finished = true; this.finished = true;
} }
} else {
// 未开票不需要分页,直接标记加载完成
this.loading = false;
this.finished = true;
} }
}, },
async changeTabHandler() { async changeTabHandler() {
this.pageNum = 1; this.pageNum = 1;
this.notifyList = []; this.notifyList = [];
this.checkList = []; this.checkList = [];
this.finished = false;
if (this.active == 1) { // 全部, 需要分页 if (this.active == 1) { // 全部, 需要分页
this.status = ''; this.status = '';
this.dispatchAppSearchInvoiced = ''; this.dispatchAppSearchInvoiced = '';

View File

@@ -1,41 +1,57 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="baseInfo common" :style="{'height':orderDetailInfo.contractParentId == 110 ? '300px' : '240px'}"> <div class="baseInfo common">
<div class="title">基本信息:</div> <div class="title">基本信息:</div>
<div class="line"></div> <div class="line"></div>
<div class="infoWrap fontColor"> <div class="infoWrap fontColor">
<div class="leftTitle"> <div class="infoRow">
<div class="leftItem">工单编号:</div> <span class="leftItem">工单编号:</span>
<div class="leftItem">合同:</div> <span class="rightItem" style="display: flex;align-items: center;">
<template v-if="orderDetailInfo.contractParentId == 110">
<div class="leftItem">机构名称:</div>
<div class="leftItem">销售人员:</div>
<div class="leftItem">司机号码:</div>
</template>
<div class="leftItem">结算方式:</div>
<div class="leftItem">客户姓名:</div>
<div class="leftItem">客户电话:</div>
<div class="leftItem">车牌号:</div>
<div class="leftItem">车型品牌:</div>
</div>
<div class="rightContent">
<div class="rightItem" style="display: flex;align-items: center;">
<span id="copyText">{{orderDetailInfo.orderCode}}</span> <span id="copyText">{{orderDetailInfo.orderCode}}</span>
<img @click="copyText" src="@/assets/copy.png" style="width: 35px;height: 15px;margin-left: 10px"/> <img @click="copyText" src="@/assets/copy.png" style="width: 35px;height: 15px;margin-left: 10px"/>
</span>
</div>
<div class="infoRow" v-if="!([7,9,11,12].includes(Number(queryType)))">
<span class="leftItem">合同:</span>
<span class="rightItem">{{ orderDetailInfo.contractName }}</span>
</div>
<template v-if="orderDetailInfo.contractParentId == 110">
<div class="infoRow">
<span class="leftItem">机构名称:</span>
<span class="rightItem">{{ orderDetailInfo.organizeName }}</span>
</div> </div>
<div class="rightItem">{{ orderDetailInfo.contractName }}</div> <div class="infoRow">
<template v-if="orderDetailInfo.contractParentId == 110"> <span class="leftItem">销售人员:</span>
<div class="rightItem">{{ orderDetailInfo.organizeName }}</div> <span class="rightItem">{{ orderDetailInfo.saleName }}</span>
<div class="rightItem">{{ orderDetailInfo.saleName }}</div> </div>
<div class="rightItem">{{ orderDetailInfo.driverPhone ? orderDetailInfo.driverPhone : ' '}}</div> <div class="infoRow">
</template> <span class="leftItem">司机号码:</span>
<div class="rightItem">{{ orderDetailInfo.contractSettleType?.label }}</div> <span class="rightItem">{{ orderDetailInfo.driverPhone ? orderDetailInfo.driverPhone : ' '}}</span>
<div class="rightItem">{{ maskName(orderDetailInfo.userName) }}</div> </div>
<div class="rightItem">{{ maskPhone(orderDetailInfo.userPhone) }}</div> </template>
<div class="rightItem">{{ orderDetailInfo.plateNumber }}</div> <div class="infoRow">
<!-- <div class="rightItem" >理想智动LXA6500SHEVM理想智动LXA6500SHEVM</div>--> <span class="leftItem">结算方式:</span>
<div class="rightItem" >{{orderDetailInfo.model}}{{ orderDetailInfo.brand }}</div> <span class="rightItem">{{ orderDetailInfo.contractSettleType?.label }}</span>
</div>
<div class="infoRow">
<span class="leftItem">客户姓名:</span>
<span class="rightItem">{{ [7,9,11,12].includes(Number(queryType)) ? maskName(orderDetailInfo.userName) : orderDetailInfo.userName }}</span>
</div>
<div class="infoRow">
<span class="leftItem">客户电话:</span>
<span class="rightItem">{{ maskPhone(orderDetailInfo.userPhone) }}</span>
</div>
<div class="infoRow">
<span class="leftItem">车牌号:</span>
<span class="rightItem">{{ [7,9,11,12].includes(Number(queryType)) ? maskPlate(orderDetailInfo.plateNumber) : orderDetailInfo.plateNumber }}</span>
</div>
<div class="infoRow">
<span class="leftItem">车型品牌:</span>
<span class="rightItem">{{orderDetailInfo.model}}{{ orderDetailInfo.brand }}</span>
</div>
<div class="infoRow" v-if="!([7,9,11,12].includes(Number(queryType)))">
<span class="leftItem">车架号:</span>
<span class="rightItem">{{orderDetailInfo.vinNo}}</span>
</div> </div>
</div> </div>
</div> </div>
@@ -153,7 +169,7 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.initMap(); this.initMap();
}); });
console.log('queryType', this.queryType)
}, },
methods:{ methods:{
async getConfigByCodeHandler() { async getConfigByCodeHandler() {
@@ -168,19 +184,15 @@ export default {
}) })
if(result.data){ if(result.data){
// console.log('--result--',result.data) // console.log('--result--',result.data)
let params={ let params=`姓名:${this.orderDetailInfo.driverName}\n身份证${result.data.identityCardNumber}\n车牌${this.orderDetailInfo.vehiclePlateNumber}\n手机${this.orderDetailInfo.driverPhone}`
'姓名:':this.orderDetailInfo.driverName, // console.log('params',params)
'身份证:':result.data.identityCardNumber, let data = {"action":"copyToClipboard","params":params}
'车牌:':this.orderDetailInfo.plateNumber,
'手机:':this.orderDetailInfo.driverPhone,
}
let data = {"action":"copyToClipboard","params":JSON.stringify(params)}
var u = navigator.userAgent; var u = navigator.userAgent;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
if(isiOS){ if(isiOS){
window.webkit.messageHandlers.nativeObject.postMessage(data); window.webkit.messageHandlers.nativeObject.postMessage(data);
}else { }else {
window.android.copyToClipboard(JSON.stringify(params)); window.android.copyToClipboard(params);
} }
}else { }else {
this.$toast('未获取到司机信息') this.$toast('未获取到司机信息')
@@ -276,6 +288,11 @@ export default {
if (str.length <= 7) return str; if (str.length <= 7) return str;
return str.slice(0, 3) + '*'.repeat(str.length - 7) + str.slice(-4); return str.slice(0, 3) + '*'.repeat(str.length - 7) + str.slice(-4);
}, },
maskPlate(plate) {
if (!plate) return '';
if (plate.length <= 2) return plate;
return plate.slice(0, 1) + '*'.repeat(plate.length - 2) + plate.slice(-1);
},
async getDriverPoi(){ async getDriverPoi(){
let res=await showVehiclePositionInfo({ let res=await showVehiclePositionInfo({
userOrderId:this.userOrderId, userOrderId:this.userOrderId,
@@ -332,21 +349,25 @@ export default {
} }
.baseInfo{ .baseInfo{
width: 100%; width: 100%;
//@include wh(100%,260px);
margin-bottom: 12px; margin-bottom: 12px;
.infoWrap{ .infoWrap{
display: flex; .infoRow{
.leftTitle{ display: flex;
margin-left: 5px; align-items: center;
margin-right: 6px; min-height: 24px;
@include wh(60px,189px); .leftItem{
opacity: .5; width: 60px;
} flex-shrink: 0;
.rightContent{ margin-left: 5px;
height: 189px; margin-right: 6px;
width: calc(100% - 60px); opacity: .5;
}
.rightItem{ .rightItem{
height: 24px; flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} }
} }
} }

View File

@@ -16,7 +16,7 @@
<img class="mine" src="@/assets/secondHandCar/mine.png" @click="goMine" /> <img class="mine" src="@/assets/secondHandCar/mine.png" @click="goMine" />
<el-input <el-input
@blur="getList" @blur="getList"
placeholder="请输入" placeholder="牌照|车辆类型|落板|排放|品牌|描述|底座|刹车|自营"
v-model.trim="topSearch"> v-model.trim="topSearch">
<img slot="suffix" class="search" src="@/assets/secondHandCar/search.png"/> <img slot="suffix" class="search" src="@/assets/secondHandCar/search.png"/>
</el-input> </el-input>
@@ -99,6 +99,11 @@
></i> ></i>
</template> </template>
</el-input> </el-input>
<div class="customSel wantSourceSel" @click.stop="toggleWantSource">
<img v-if="wantSource === 1" class="checkIcon" src="@/assets/secondHandCar/checked.png" />
<img v-else class="checkIcon" src="@/assets/secondHandCar/uncheck.png" />
<span :class="{'has-price': wantSource === 1}">想要的车源</span>
</div>
</div> </div>
<div class="contentWrap" v-show="!show"> <div class="contentWrap" v-show="!show">
<van-pull-refresh v-model="isLoading" @refresh="onRefresh" style="min-height:85vh"> <van-pull-refresh v-model="isLoading" @refresh="onRefresh" style="min-height:85vh">
@@ -223,6 +228,7 @@ export default {
showDatePicker: false, showDatePicker: false,
areaShow:false, areaShow:false,
isClearing:false, isClearing:false,
wantSource: 0,
minDate: new Date(1970, 0, 1), // 设置最小可选日期1970年1月1日 minDate: new Date(1970, 0, 1), // 设置最小可选日期1970年1月1日
maxDate: new Date(2099, 11, 31) // 设置最大可选日期2099年12月31日 maxDate: new Date(2099, 11, 31) // 设置最大可选日期2099年12月31日
} }
@@ -267,6 +273,10 @@ export default {
this.setSearchVal(); this.setSearchVal();
this.getList() this.getList()
}, },
wantSource(){
this.setSearchVal();
this.getList()
},
}, },
mounted() { mounted() {
this.getSearchVal(); this.getSearchVal();
@@ -281,6 +291,9 @@ export default {
}); });
}, },
methods:{ methods:{
toggleWantSource(){
this.wantSource = this.wantSource === 1 ? 0 : 1;
},
confirmHandle(val){ confirmHandle(val){
if(val[0].name.includes('市')){ if(val[0].name.includes('市')){
this.areaName=val[0].name this.areaName=val[0].name
@@ -356,6 +369,7 @@ export default {
sessionStorage.setItem('dateVal',this.dateVal); sessionStorage.setItem('dateVal',this.dateVal);
sessionStorage.setItem('brandModel',this.brandModel); sessionStorage.setItem('brandModel',this.brandModel);
sessionStorage.setItem('underpanBrand',this.underpanBrand); sessionStorage.setItem('underpanBrand',this.underpanBrand);
sessionStorage.setItem('wantSource',String(this.wantSource));
}, },
getSearchVal(){ getSearchVal(){
this.activeTab = Number(sessionStorage.getItem('indexActiveTab')) || 0; this.activeTab = Number(sessionStorage.getItem('indexActiveTab')) || 0;
@@ -371,6 +385,7 @@ export default {
this.dateVal=sessionStorage.getItem('dateVal') || ''; this.dateVal=sessionStorage.getItem('dateVal') || '';
this.brandModel=sessionStorage.getItem('brandModel') || ''; this.brandModel=sessionStorage.getItem('brandModel') || '';
this.underpanBrand=sessionStorage.getItem('underpanBrand') || ''; this.underpanBrand=sessionStorage.getItem('underpanBrand') || '';
this.wantSource=Number(sessionStorage.getItem('wantSource')) || 0;
}, },
goMine(){//我的发布 goMine(){//我的发布
this.$router.push({ name: "mineRelease"}) this.$router.push({ name: "mineRelease"})
@@ -434,6 +449,7 @@ export default {
endTime:this.endTime, endTime:this.endTime,
brandModel:this.brandModel, brandModel:this.brandModel,
underpanBrand:this.underpanBrand, underpanBrand:this.underpanBrand,
wantSource:this.wantSource,
}) })
this.total=res.total this.total=res.total
if(this.pageNum == 1){// 第一页直接赋值 if(this.pageNum == 1){// 第一页直接赋值
@@ -526,6 +542,9 @@ export default {
border-radius: 20px; border-radius: 20px;
border: 2px solid #264B94; border: 2px solid #264B94;
} }
::v-deep .el-input__inner::placeholder{
font-size: 10px;
}
::v-deep .el-input__suffix{ ::v-deep .el-input__suffix{
top: 12px; top: 12px;
right: 10px; right: 10px;
@@ -622,6 +641,22 @@ export default {
.has-price{ .has-price{
color: #007BE9 !important; color: #007BE9 !important;
} }
.wantSourceSel{
display: flex;
align-items: center;
justify-content: center;
gap: 3px;
width: 68px;
cursor: pointer;
.checkIcon{
width: 13px;
height: 13px;
}
span{
font-size: 10px;
color: #323233;
}
}
} }
.contentWrap{ .contentWrap{
width: 100%; width: 100%;