This commit is contained in:
ylj20011123 2025-06-17 20:07:27 +08:00
parent 2bdb2c9f60
commit 4199dd82ec
87 changed files with 570 additions and 324 deletions

View File

@ -579,8 +579,18 @@
<template
v-if="smallTab && smallTab[selectSmallTab] && smallTab[selectSmallTab].list && smallTab[selectSmallTab].list.length > 0">
<div class="stationItem" v-for="(item, index) in smallTab[selectSmallTab].list" :key="index">
<div class="leftItem" :style="{
backgroundImage: `url(${item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Status === 2 || item.Status === 3 || item.Status === 4
? 'https://eshangtech.com/minTestImg/overfilling.svg'
: item.Status === 1
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}">
<!-- backgroundImage: `url(${item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Power >= 200
? 'https://eshangtech.com/minTestImg/overfilling.svg'
@ -589,24 +599,19 @@
: item.Power < 30
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}">
<!-- item.Status === 0
? 'https://eshangtech.com/wanmeiyizhanImg/home/offGrid.svg'
: item.Status === 1
? 'https://eshangtech.com/wanmeiyizhanImg/home/idle.svg'
: item.Status === 2
? 'https://eshangtech.com/wanmeiyizhanImg/home/idle.svg'
: item.Status === 3
? 'https://eshangtech.com/wanmeiyizhanImg/home/idle.svg'
: item.Status === 4
? 'https://eshangtech.com/wanmeiyizhanImg/home/occupy.svg'
: item.Status === 255
? 'https://eshangtech.com/wanmeiyizhanImg/home/offGrid.svg'
: '' -->
})`, -->
<div class="chargeType" :style="{
color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
: item.Status === 2 || item.Status === 3 || item.Status === 4
? '#FF5959'
: item.Status === 1
? '#01BD8B'
: '',
}">
<!-- color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
: item.Power >= 200
@ -615,8 +620,8 @@
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
}">
: '', -->
{{
item.Status === 0
? "离网"
@ -631,14 +636,20 @@
</div>
<div v-if="item.Status !== 0 && item.Status !== 255" class="stausType" :style="{
color:
item.Status === 2 || item.Status === 3 || item.Status === 4
? '#FF5959'
: item.Status === 1
? '#01BD8B'
: '',
}">
<!-- color:
item.Power >= 200
? '#FF5959'
: item.Power < 200 && item.Power >= 30
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
}">
: '', -->
{{
item.Status === 2 || item.Status === 3 || item.Status === 4
? "占用"
@ -648,6 +659,7 @@
}}
</div>
</div>
<div class="rightItem" @click="handleGoMin">
<div class="messageBox">
<span class="label">电桩编号</span>
@ -710,31 +722,19 @@
<div class="statusBox" v-if="
item.Status === 2 || item.Status === 3 || item.Status === 4
" :style="{
color:
item.Power >= 200
? '#FF5959'
: item.Power < 200 && item.Power > 30
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
backgroundColor:
item.Power >= 200
? '#FFF1F1'
: item.Power < 200 && item.Power > 30
? '#FBF2EB'
: item.Power < 30
? '#EAF4F1'
: '',
color: '#FF5959',
backgroundColor: '#FFF1F1',
}">
<image v-if="item.Status === 3" class="chargeIcon" :src="item.Power >= 200
<image v-if="item.Status === 3" class="chargeIcon"
:src="'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'" />
<!-- :src="item.Power >= 200
? 'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'
: item.Power < 200 && item.Power > 30
? 'https://eshangtech.com/wanmeiyizhanImg/home/normal.svg'
: item.Power < 30
? 'https://eshangtech.com/wanmeiyizhanImg/home/slow.svg'
: ''
" />
" -->
{{
item.Status === 2
? "占用"

View File

@ -182,6 +182,16 @@
:key="index">
<div class="leftItem" :style="{
backgroundImage: `url(${item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Status === 2 || item.Status === 3 || item.Status === 4
? 'https://eshangtech.com/minTestImg/overfilling.svg'
: item.Status === 1
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}">
<!-- backgroundImage: `url(${item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Power >= 200
? 'https://eshangtech.com/minTestImg/overfilling.svg'
@ -190,10 +200,21 @@
: item.Power < 30
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}">
})`, -->
<div class="chargeType" :style="{
color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
: item.Status === 2 || item.Status === 3 || item.Status === 4
? '#FF5959'
: item.Status === 1
? '#01BD8B'
: '',
}">
<!-- color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
: item.Power >= 200
@ -202,8 +223,8 @@
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
}">
: '', -->
{{
item.Status === 0
? "离网"
@ -218,13 +239,11 @@
</div>
<div v-if="item.Status !== 0 && item.Status !== 255" class="stausType" :style="{
color:
item.Power >= 200
item.Status === 2 || item.Status === 3 || item.Status === 4
? '#FF5959'
: item.Power < 200 && item.Power >= 30
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
: item.Status === 1
? '#01BD8B'
: '',
}">
{{
item.Status === 2 || item.Status === 3 || item.Status === 4
@ -296,31 +315,11 @@
<div class="statusBox" v-if="
item.Status === 2 || item.Status === 3 || item.Status === 4
" :style="{
color:
item.Power >= 200
? '#FF5959'
: item.Power < 200 && item.Power > 30
? '#FF8830'
: item.Power < 30
? '#01BD8B'
: '',
backgroundColor:
item.Power >= 200
? '#FFF1F1'
: item.Power < 200 && item.Power > 30
? '#FBF2EB'
: item.Power < 30
? '#EAF4F1'
: '',
color: '#FF5959',
backgroundColor: '#FFF1F1',
}">
<image v-if="item.Status === 3" class="chargeIcon" :src="item.Power >= 200
? 'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'
: item.Power < 200 && item.Power > 30
? 'https://eshangtech.com/wanmeiyizhanImg/home/normal.svg'
: item.Power < 30
? 'https://eshangtech.com/wanmeiyizhanImg/home/slow.svg'
: ''
" />
<image v-if="item.Status === 3" class="chargeIcon"
:src="'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'" />
{{
item.Status === 2
? "占用"
@ -436,6 +435,7 @@ export default {
},
handleChangeSelectPopup(value) {
this.selectPopup = value;
this.selectSmallTab = 0
if (value === 1) {
//
// this.chargeDetailList = this.nowCurrentObj.LXInfoList;

View File

@ -2,8 +2,8 @@
"name" : "驿佳",
"appid" : "__UNI__F870657",
"description" : "",
"versionName" : "1.0.31",
"versionCode" : 1031,
"versionName" : "1.0.32",
"versionCode" : 1032,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -269,25 +269,30 @@
<uni-popup ref="beginnerRef" :safe-area="false">
<view class="beginnerBox">
<view class="beginnerBoxTop">
<!-- <view class="beginnerBoxTop">
<view class="beginnerTitle">{{ nowBeginner.label ? nowBeginner.label + '功能' : "" }}</view>
<view class="benginnerDesc">{{ nowBeginner.desc ? nowBeginner.desc : "" }}</view>
</view>
</view> -->
<!-- width: beginnerContentObj.width + 'px',
height: (beginnerContentObj.height + 10) + 'px', -->
<view class="beginnerContent" :style="{
width: beginnerContentObj.width + 'px',
height: (beginnerContentObj.height + 10) + 'px',
top: (beginnerContentObj.top - 5) + 'px',
left: beginnerContentObj.left + 'px'
left: (beginnerContentObj.left + 15) + 'px'
}">
<view class="funItem">
<image class="funItemIcon" :src="nowBeginner.src" />
<span class="funItemText">{{ nowBeginner.label || "" }}</span>
<!-- <span class="funItemText">{{ nowBeginner.label || "" }}</span> -->
</view>
</view>
<view class="beginnerFunBox" :style="{ top: 400 + 'rpx' }">
<span class="beginnerFunBoxTitle">{{ nowBeginner.label ? nowBeginner.label + '功能' : "" }}</span>
<span class="beginnerFunBoxText">{{ nowBeginner.desc ? nowBeginner.desc : "" }}</span>
</view>
<view class="beginnerBottom" :style="{ top: funBox.bottom + 20 + 'px' }">
<view class="beginnerBottomBtnBox">
<view class="beginnerBtn skip" @click="handleOverBeginner">跳过</view>
@ -337,18 +342,26 @@ export default {
src: "/static/home/newLostAndFound.png",
desc: "‘失物招领’功能可以帮助您发布失物信息,或者查找他人发布的招领信息,让您的物品尽快回到身边!"
},
// #ifdef APP-PLUS
{
label: "我要修车", value: 7, id: "helpCar", src: "/static/home/helpCar.png"
},
// { label: "", value: 7, src: "https://eshangtech.com/wanmeiyizhanImg/helpCar.png" },
// #endif
// #ifdef MP-WEIXIN
{ label: "我要修车", value: 7, src: "https://eshangtech.com/wanmeiyizhanImg/helpCar.png" },
// #endif
// #ifdef APP-PLUS
{
label: "投诉建议", value: 8, id: "NewSuggestIcon", src: "/static/home/NewSuggestIcon.png",
desc: "如果您对我们的服务有任何意见或建议,或者遇到了问题,请使用‘投诉建议’,直接向我们反馈,我们会认真倾听并改进!"
},
// {
// label: "", value: 8, id: "NewSuggestIcon", src: "https://eshangtech.com/wanmeiyizhanImg/NewSuggestIcon.png",
// desc: "使"
// },
// #endif
// #ifdef MP-WEIXIN
{
label: "投诉建议", value: 8, id: "NewSuggestIcon", src: "https://eshangtech.com/wanmeiyizhanImg/NewSuggestIcon.png",
desc: "如果您对我们的服务有任何意见或建议,或者遇到了问题,请使用‘投诉建议’,直接向我们反馈,我们会认真倾听并改进!"
},
// #endif
], //
tabList: [
{ label: "驿达推荐", desc: "推荐精选", value: 1 },
@ -2281,10 +2294,13 @@ export default {
.beginnerContent {
width: 106rpx;
height: 106rpx;
position: absolute;
// background: rgba(255, 255, 255, 0.3);
border-radius: 32rpx;
.funItem {
width: 100%;
height: 100%;
@ -2292,13 +2308,15 @@ export default {
flex-direction: column;
align-items: center;
justify-content: center;
background-color: #fff;
background-image: url(https://eshangtech.com/wanmeiyizhanImg/guideBg.png);
background-repeat: no-repeat;
background-size: 100% 100%;
border-radius: 16rpx;
.funItemIcon {
width: 80rpx;
height: 80rpx;
margin-bottom: 12rpx;
// margin-bottom: 12rpx;
}
.funItemText {
@ -2314,6 +2332,34 @@ export default {
}
}
.beginnerFunBox {
width: 70%;
border: 1px dashed #fff;
border-radius: 64rpx;
position: absolute;
background-color: rgba(255, 255, 255, 0.2);
left: 50%;
transform: translateX(-50%);
padding: 30rpx;
box-sizing: border-box;
.beginnerFunBoxTitle {
font-family: PingFang SC;
font-weight: 400;
font-size: 30rpx;
color: #E8D027;
line-height: 43rpx;
}
.beginnerFunBoxText {
font-family: PingFang SC;
font-weight: 400;
font-size: 30rpx;
color: #fff;
line-height: 43rpx;
}
}
.beginnerBottom {
width: 100%;
@ -2325,29 +2371,31 @@ export default {
.beginnerBottomBtnBox {
width: 100%;
box-sizing: border-box;
padding: 0 64rpx;
display: flex;
justify-content: space-around;
justify-content: center;
.beginnerBtn {
font-family: "PingFang SC";
font-weight: 600;
font-size: 32rpx;
color: #ffffff;
line-height: 33rpx;
text-align: left;
font-style: normal;
padding: 20rpx 60rpx;
font-family: PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
line-height: 43rpx;
text-align: center;
padding: 12rpx 53rpx;
}
.skip {
background-color: rgba(0, 0, 0, 0.1);
border: 1px solid #9d9d9d;
background-color: rgba(255, 255, 255, 0.2);
border: 1px solid #fff;
border-radius: 64rpx;
margin-right: 40rpx;
}
.nextStep {
background: linear-gradient(90deg, #f9333d 0%, #fe713a 100%);
color: #E8D027;
background-color: rgba(217, 195, 46, 0.2);
// background: linear-gradient(90deg, #f9333d 0%, #fe713a 100%);
border: 1px solid #D9C32E;
border-radius: 64rpx;
}
}

View File

@ -510,13 +510,21 @@ export default {
},
extractDirection(stationName) {
if (!stationName) return '';
// 1使
const directionRegex = /([^]+方向)|\(([^)]+方向)\)/;
const match = stationName.match(directionRegex);
if (match) {
//
return match[1] || match[2] || '';
//
const directionPatterns = [
/(?:|\(|【)([^\)】]*方向)(?:\)||】)/, //
/([^,。.;;!??、\s]+方向)/, //
/方向([^,。.;;!??、\s]+)/ // "XX"
];
for (const pattern of directionPatterns) {
const match = stationName.match(pattern);
if (match) {
//
const direction = match[1] || match[0];
return direction.replace(/^[\(【]|[\)】]$/g, '').trim();
}
}
return '';
},
//
async handleGetChargeData(serviceList, idList) {
@ -664,7 +672,7 @@ export default {
let GWRes = [];
if (GWData && GWData.length > 0) {
let thisServiceRes = GWData.filter(
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID && filterItem.name.indexOf('方向)') !== -1 && filterItem.name.indexOf('充电站') !== -1
);
if (thisServiceRes && thisServiceRes.length > 0) {
thisServiceRes.forEach((subItem) => {
@ -896,9 +904,11 @@ export default {
let list = data.Result_Data.List;
let nameList = [];
let idList = []
if (list && list.length > 0) {
list.forEach((item) => {
nameList.push(item.SERVERPART_NAME);
idList.push(item.SERVERPART_ID)
//
let LIAUTOCHARGESum = 0;
//
@ -1061,6 +1071,12 @@ export default {
]
});
}
//
list = await this.handleGetChargeData(list, idList)
//
list = await this.handleGetOilData(list, idList)
this.serviceList = list;
this.chaegeBoxList = nameList;
console.log("this.chaegeBoxList", this.chaegeBoxList);

View File

@ -7,7 +7,8 @@
</div>
</div>
<div class="content">
<scroll-view class="content" scroll-y :refresher-enabled="true" @refresherrefresh="handleFreshData"
:refresher-triggered="triggered">
<div class="contentFirst" v-if="
selectTab === 1 ||
selectTab === 2 ||
@ -107,7 +108,7 @@
<no-data text="暂无数据" :isShow="true" />
</template>
</div>
</div>
</scroll-view>
<div class="order" v-if="false">
<div class="order-list" v-for="(item, index) in orderList" :key="index" @click="goOrderDetail(item)">
@ -211,6 +212,7 @@ export default {
myEvaluation: [], //
searchType: "",
isLoading: false,
triggered: false
};
},
components: {
@ -225,6 +227,26 @@ export default {
setIsLoading: "setIsLoading",
setFresh: "refresh",
}),
//
handleFreshData() {
this.triggered = true
this.orderList = [];
let type =
this.selectTab === 1
? "1005,1010,2000,3000,8000,8900"
: this.selectTab === 2
? "1005"
: this.selectTab === 3
? "1010"
: this.selectTab === 4
? "2000"
: this.selectTab === 5
? "3000"
: this.selectTab === 6
? "8000,8010,8020,8900,8999"
: "";
this.handleGetOrderList(type);
},
handleChangeSelectTab(value) {
this.selectTab = value;
this.orderList = [];
@ -383,6 +405,7 @@ export default {
this.setIsLoading(false);
// uni.hideLoading();
this.isLoading = false;
this.triggered = false
},
},
onPullDownRefresh() {
@ -821,7 +844,7 @@ export default {
}
}
.content::-webkit-scrollbar {
.content ::-webkit-scrollbar {
display: none;
}
}

View File

@ -9,26 +9,26 @@
<div class="order-success">
{{
orderInfo.SALEBILL_STATE === 1010
? "待发货"
: orderInfo.SALEBILL_STATE === 2010
? "待收货"
: orderInfo.SALEBILL_STATE === 3000
? "已收货"
: orderInfo.SALEBILL_STATE === 8000
? "退款申请中"
: orderInfo.SALEBILL_STATE === 8010
? "商品退货中"
: orderInfo.SALEBILL_STATE === 8020
? "退款处理中"
: orderInfo.SALEBILL_STATE === 8900
? "订单已退款"
: orderInfo.SALEBILL_STATE === 8999
? "退款已关闭"
: orderInfo.SALEBILL_STATE === 9000
? "订单已关闭"
: orderInfo.SALEBILL_STATE === 9999
? "订单已撤销"
: ""
? ""
: orderInfo.SALEBILL_STATE === 2000
? ""
: orderInfo.SALEBILL_STATE === 3000
? ""
: orderInfo.SALEBILL_STATE === 8000
? "退款申请中"
: orderInfo.SALEBILL_STATE === 8010
? "商品退货中"
: orderInfo.SALEBILL_STATE === 8020
? "退款处理中"
: orderInfo.SALEBILL_STATE === 8900
? "订单已退款"
: orderInfo.SALEBILL_STATE === 8999
? "退款已关闭"
: orderInfo.SALEBILL_STATE === 9000
? "订单已关闭"
: orderInfo.SALEBILL_STATE === 9999
? "订单已撤销"
: ""
}}
</div>
<div class="status-btn-box">
@ -38,36 +38,26 @@
去付款 <span>{{ minutes }}</span>
</div>
</block>
<block
v-if="
orderInfo.SALEBILL_STATE !== 1005 &&
orderInfo.SALEBILL_STATE !== 2010 &&
orderInfo.SALEBILL_STATE !== 3000 &&
orderInfo.SALEBILL_STATE !== 8000 &&
orderInfo.SALEBILL_STATE !== 8010 &&
orderInfo.SALEBILL_STATE !== 8020 &&
orderInfo.SALEBILL_STATE !== 8900 &&
orderInfo.SALEBILL_STATE !== 8999 &&
orderInfo.SALEBILL_STATE !== 9000 &&
orderInfo.SALEBILL_STATE !== 9999 &&
orderInfo.COMMENT_STATE === 0
"
>
<block v-if="
orderInfo.SALEBILL_STATE !== 1005 &&
orderInfo.SALEBILL_STATE !== 2000 &&
orderInfo.SALEBILL_STATE !== 3000 &&
orderInfo.SALEBILL_STATE !== 8000 &&
orderInfo.SALEBILL_STATE !== 8010 &&
orderInfo.SALEBILL_STATE !== 8020 &&
orderInfo.SALEBILL_STATE !== 8900 &&
orderInfo.SALEBILL_STATE !== 8999 &&
orderInfo.SALEBILL_STATE !== 9000 &&
orderInfo.SALEBILL_STATE !== 9999 &&
orderInfo.COMMENT_STATE === 0
">
<!-- orderInfo.SALEBILL_STATE !== 1005 &&
orderInfo.SALEBILL_STATE !== 1010 && -->
<div
class="continu-btn"
@click="handleRefund"
v-if="orderInfo.SALEBILL_TYPE !== 3001"
>
<div class="continu-btn" @click="handleRefund" v-if="orderInfo.SALEBILL_STATE === 1010">
发起退款
</div>
<!-- <div class="back-btn" @click="goShop" v-if="orderInfo.SALEBILL_STATE!=1010">再来一单</div> -->
<div
class="continu-btn"
@click="goEvaluate"
v-if="orderInfo.SALEBILL_STATE >= 3000"
>
<div class="continu-btn" @click="goEvaluate" v-if="orderInfo.SALEBILL_STATE >= 3000">
评价得积分
</div>
</block>
@ -79,51 +69,51 @@
<p class="order-info-type order-info-h">
<!-- :class="{ appoint: orderInfo.TAKE_TYPE === 2000 }" -->
<span>订单信息</span>
<span class="order-info-status">{{
orderInfo.SALEBILL_STATE_TEXT
}}</span>
<span class="order-info-status" :style="{
color: orderInfo.SALEBILL_STATE === 2000 || orderInfo.SALEBILL_STATE === 3000 || orderInfo.SALEBILL_STATE === 8900 ? '#c6a376' : '',
fontWeight: orderInfo.SALEBILL_STATE === 2000 || orderInfo.SALEBILL_STATE === 3000 || orderInfo.SALEBILL_STATE === 8900 ? 'bold' : ''
}">
<!-- orderInfo.SALEBILL_STATE_TEXT -->
{{
orderInfo.SALEBILL_STATE === 1010
? "已付款,待商家接单"
: orderInfo.SALEBILL_STATE === 2000
? "已接单"
: orderInfo.SALEBILL_STATE === 3000
? "已完成" : orderInfo.SALEBILL_STATE_TEXT
}}</span>
</p>
<p class="order-info-type" v-if="false">
<span class="order-info-t">收货方式</span
><span>{{
<span class="order-info-t">收货方式</span><span>{{
orderInfo.TAKE_TYPE === 1000
? "自提"
: orderInfo.TAKE_TYPE === 2000
? "邮寄"
: orderInfo.TAKE_TYPE === 3000
? "免发货"
: ""
? "邮寄"
: orderInfo.TAKE_TYPE === 3000
? "免发货"
: ""
}}</span>
</p>
<p
class="order-info-type"
v-if="orderInfo.TAKE_TYPE === 2000 && orderInfo.SALEBILL_STATE >= 2010"
>
<span class="order-info-t">快递单号</span
><span>{{ orderInfo.TABLE_NUMBER || "" }}</span>
<p class="order-info-type" v-if="orderInfo.TAKE_TYPE === 2000 && orderInfo.SALEBILL_STATE >= 2010">
<span class="order-info-t">快递单号</span><span>{{ orderInfo.TABLE_NUMBER || "" }}</span>
</p>
<p class="order-info-type">
<span class="order-info-t">订单编号</span
><span>{{ orderInfo.SALEBILL_CODE }}</span>
<span class="order-info-t">订单编号</span><span>{{ orderInfo.SALEBILL_CODE }}</span>
</p>
<p class="order-info-type">
<span class="order-info-t">下单时间</span
><span>{{ orderInfo.ORDER_DATE }}</span>
<span class="order-info-t">下单时间</span><span>{{ orderInfo.ORDER_DATE }}</span>
</p>
<block v-if="orderInfo.TAKE_TYPE === 2000">
<p class="order-info-type">
<span class="order-info-t">下单人员</span
><span>{{ orderInfo.ORDER_PERSON }}</span>
<span class="order-info-t">下单人员</span><span>{{ orderInfo.ORDER_PERSON }}</span>
</p>
<p class="order-info-type">
<span class="order-info-t">预约时间</span
><span>{{ orderInfo.RESERVATION_DATE }}</span>
<span class="order-info-t">预约时间</span><span>{{ orderInfo.RESERVATION_DATE }}</span>
</p>
<p class="order-info-type">
<span class="order-info-t">预约电话</span
><span>{{ orderInfo.ORDER_PERSONTEL }}</span>
<span class="order-info-t">预约电话</span><span>{{ orderInfo.ORDER_PERSONTEL }}</span>
</p>
</block>
</div>
@ -131,15 +121,12 @@
<div class="order-box">
<div class="order-top" @click="goShop">
<div style="display: flex; align-items: center">
<img
src="https://eshangtech.com/ShopICO/shop_ico.png"
style="
<img src="https://eshangtech.com/ShopICO/shop_ico.png" style="
width: 56rpx;
height: 36rpx;
vertical-align: middle;
margin-right: 10rpx;
"
/>
" />
<span class="order-addr">{{ ShopAddress }}</span>
</div>
<van-icon name="arrow" size="30rpx" v-if="pageMsg.type === 0" />
@ -169,12 +156,7 @@
</div>
<div class="price-sum">
<div class="link-store" @click="callPhone">
<van-icon
name="phone-circle-o"
size="40rpx"
color="#CAA97F"
custom-style="margin-right:16rpx;"
></van-icon>
<van-icon name="phone-circle-o" size="40rpx" color="#CAA97F" custom-style="margin-right:16rpx;"></van-icon>
联系商家
</div>
<div class="">
@ -190,45 +172,23 @@
<div class="payList">
<radio-group :value="payType" class="radio-group">
<div
class="bottom-radio"
color="#CAA97F"
@click="handleChangePayType(1)"
>
<div class="bottom-radio" color="#CAA97F" @click="handleChangePayType(1)">
<div class="radioLeft">
<div class="logoBox">
<image
class="logoIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/alipayIcon.png"
/>
<image class="logoIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/alipayIcon.png" />
</div>
<text>支付宝支付</text>
</div>
<radio
value="支付宝支付"
color="#CAA97F"
:checked="payType === 1"
/>
<radio value="支付宝支付" color="#CAA97F" :checked="payType === 1" />
</div>
<div
class="bottom-radio"
color="#CAA97F"
@click="handleChangePayType(2)"
>
<div class="bottom-radio" color="#CAA97F" @click="handleChangePayType(2)">
<div class="radioLeft">
<div class="logoBox">
<image
class="logoIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/wxPay.png"
/>
<image class="logoIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/wxPay.png" />
</div>
<text>微信支付</text>
</div>
<radio
value="微信支付"
color="#CAA97F"
:checked="payType === 2"
/>
<radio value="微信支付" color="#CAA97F" :checked="payType === 2" />
</div>
</radio-group>
</div>
@ -277,6 +237,7 @@ export default {
type: 0,
},
sellchildid: "", // ID
pollingTimer: null
};
},
computed: {
@ -432,12 +393,12 @@ export default {
};
console.log(
"POST\n/v3/pay/transactions/jsapi\n" +
timeStamp +
"\n" +
nonceStr +
"\n" +
JSON.stringify(req) +
"\n"
timeStamp +
"\n" +
nonceStr +
"\n" +
JSON.stringify(req) +
"\n"
);
const data = await this.$api.$get("/WeChat/GenerateSign", reqSign);
@ -470,7 +431,7 @@ export default {
"\nprepay_id=" +
res.data.prepay_id +
"\n",
provinceCode: _this.provinceCode || "340000",
provinceCode: _this.provinceCode || "340000",
};
const data = await this.$api.$get("/WeChat/GenerateSign", reqSign);
paySign = data.Result_Data;
@ -522,9 +483,13 @@ export default {
_this.ORDER_PERSONTEL = _data.ORDER_PERSONTEL;
_this.TAKE_TYPE = _data.TAKE_TYPE;
_this.isorder = true;
if (_this.status === 1005) {
// if (_this.status === 1005) {
if (_this.status < 3000) {
//
_this.showTime();
// _this.showTime();
}
}
});
@ -727,7 +692,7 @@ export default {
// })
}
},
complete(res) {},
complete(res) { },
});
} else {
uni.showToast({
@ -839,6 +804,10 @@ export default {
this.isMinute = false;
clearInterval(this.timer);
this.pageMsg.type = 0;
if (this.pollingTimer) {
clearInterval(this.pollingTimer);
this.pollingTimer = null;
}
},
// onShow () {
// this.getOrderType()
@ -867,6 +836,12 @@ export default {
this.orderNumber = option.orderNumber;
this.orderInternal = option.orderInternal;
this.getOrderType();
if (this.status < 3000) {
this.pollingTimer = setInterval(() => {
this.getOrderType();
}, 3000);
}
this.$utils.addUserBehaviorNew();
},
};
@ -888,6 +863,7 @@ page {
box-sizing: border-box;
height: 100%;
}
.foodCode {
width: 100%;
display: flex;
@ -896,11 +872,13 @@ page {
justify-content: center;
background: #2fa4ff;
padding-top: 24rpx;
.codeNumber {
font-size: 36rpx;
font-weight: 600;
color: #fff;
}
.codeText {
font-family: "PingFangSC";
font-weight: 400;
@ -1164,7 +1142,7 @@ hr {
justify-content: space-between;
}
.order-info-type + .order-info-type {
.order-info-type+.order-info-type {
border-top: 1px solid #f5f5f5;
}

View File

@ -1294,7 +1294,7 @@ export default {
let GWRes = [];
if (GWData && GWData.length > 0) {
let thisServiceRes = GWData.filter(
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID && filterItem.name.indexOf('方向)') !== -1 && filterItem.name.indexOf('充电站') !== -1
);
if (thisServiceRes && thisServiceRes.length > 0) {
thisServiceRes.forEach((subItem) => {

View File

@ -807,11 +807,13 @@ export default {
JKSum: JKSum,
};
console.log('GWDataGWDataGWDataGWData', GWData);
//
let GWRes = [];
if (GWData && GWData.length > 0) {
let thisServiceRes = GWData.filter(
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID
(filterItem) => filterItem.serverpartId === item.SERVERPART_ID && filterItem.name.indexOf('方向)') !== -1 && filterItem.name.indexOf('充电站') !== -1
);
if (thisServiceRes && thisServiceRes.length > 0) {
thisServiceRes.forEach((subItem) => {

View File

@ -139,6 +139,7 @@
<view class="orderItem" v-for="(item, index) in orderList" :key="index" @click="handleGoOrder(item)">
<image class="orderIcon" :src="item.url" />
<text class="orderText">{{ item.label || "" }}</text>
<text class="orderCount" v-if="item.orderCount > 0">{{ item.orderCount }}</text>
</view>
</view>
</view>
@ -565,7 +566,7 @@ export default {
} else {
this.toDayHaveSign = true;
}
this.handleGetUserAllOrder()
this.getMember();
this.getDistributionCount();
this.handleGetUserInfo();
@ -1138,7 +1139,6 @@ export default {
});
}
},
creatPageQR() {
//
let _this = this;
@ -1218,6 +1218,51 @@ export default {
},
});
},
//
async handleGetUserAllOrder() {
const req = {
action_type: "GetOrderList",
salebillType: 6000,
salebillState: "",
PageIndex: 1,
pageSize: 999999,
ownerUnitId: 911,
requestType: "application/x-www-form-urlencoded",
};
const res = await this.$api.postCoop(req);
console.log('resresresresresres', res);
let list = res.Data.List
//
let obligation = []
//
let toBeProduced = []
//
let waitingHave = []
if (list && list.length > 0) {
list.forEach((item) => {
if (item.SALEBILL_STATE === 1005) {
obligation.push(item)
} else if (item.SALEBILL_STATE === 1010) {
toBeProduced.push(item)
} else if (item.SALEBILL_STATE === 2000) {
waitingHave.push(item)
}
})
}
let orderList = JSON.parse(JSON.stringify(this.orderList))
orderList.forEach((item) => {
if (item.value === 1) {
item.orderCount = obligation && obligation.length > 0 ? obligation.length : 0
} else if (item.value === 2) {
item.orderCount = toBeProduced && toBeProduced.length > 0 ? toBeProduced.length : 0
} else if (item.value === 3) {
item.orderCount = waitingHave && waitingHave.length > 0 ? waitingHave.length : 0
}
})
this.orderList = orderList
}
},
};
</script>
@ -1587,6 +1632,7 @@ export default {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
.orderIcon {
// width: 48rpx;
@ -1606,6 +1652,21 @@ export default {
text-align: left;
font-style: normal;
}
.orderCount {
position: absolute;
right: 10%;
top: 0;
color: #fff;
font-size: 12px;
background-color: red;
border-radius: 50%;
width: 24rpx;
height: 24rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1119,8 +1119,8 @@ function populateParameters(result) {
var parameters = {
appId: "__UNI__F870657",
appName: "驿佳",
appVersion: "1.0.30",
appVersionCode: "1030",
appVersion: "1.0.32",
appVersionCode: "1032",
appLanguage: getAppLanguage(hostLanguage),
uniCompileVersion: "4.45",
uniCompilerVersion: "4.45",
@ -1220,8 +1220,8 @@ var getAppBaseInfo = {
result = sortObject(Object.assign(result, {
appId: "__UNI__F870657",
appName: "驿佳",
appVersion: "1.0.30",
appVersionCode: "1030",
appVersion: "1.0.32",
appVersionCode: "1032",
appLanguage: getAppLanguage(hostLanguage),
hostVersion: version,
hostLanguage: hostLanguage,

View File

@ -626,13 +626,24 @@ var _default = {
},
extractDirection: function extractDirection(stationName) {
if (!stationName) return '';
// 方法1使用正则表达式匹配括号内的方向信息
var directionRegex = /([^]+方向)|\(([^)]+方向)\)/;
var match = stationName.match(directionRegex);
if (match) {
// 返回第一个非空的匹配组(兼容中文和英文括号)
return match[1] || match[2] || '';
// 定义方向匹配的正则表达式
var directionPatterns = [/(?:|\(|【)([^\)】]*方向)(?:\)||】)/,
// 匹配括号内的方向
/([^,。.;;!??、\s]+方向)/,
// 匹配无括号的方向
/方向([^,。.;;!??、\s]+)/ // 匹配"方向XX"格式
];
for (var _i = 0, _directionPatterns = directionPatterns; _i < _directionPatterns.length; _i++) {
var pattern = _directionPatterns[_i];
var match = stationName.match(pattern);
if (match) {
// 提取最核心的方向信息(去掉前后可能的多余字符)
var direction = match[1] || match[0];
return direction.replace(/^[\(【]|[\)】]$/g, '').trim();
}
}
return '';
},
// 拿到充电数据
handleGetChargeData: function handleGetChargeData(serviceList, idList) {
@ -777,7 +788,7 @@ var _default = {
var GWRes = [];
if (GWData && GWData.length > 0) {
var _thisServiceRes2 = GWData.filter(function (filterItem) {
return filterItem.serverpartId === item.SERVERPART_ID;
return filterItem.serverpartId === item.SERVERPART_ID && filterItem.name.indexOf('方向)') !== -1 && filterItem.name.indexOf('充电站') !== -1;
});
if (_thisServiceRes2 && _thisServiceRes2.length > 0) {
_thisServiceRes2.forEach(function (subItem) {
@ -998,7 +1009,7 @@ var _default = {
handleSearch: function handleSearch() {
var _this9 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
var req, data, list, nameList;
var req, data, list, nameList, idList;
return _regenerator.default.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
@ -1022,9 +1033,11 @@ var _default = {
// let data = await this.$api.$javaGet2('/third-party/getServerPartList', req)
list = data.Result_Data.List;
nameList = [];
idList = [];
if (list && list.length > 0) {
list.forEach(function (item) {
nameList.push(item.SERVERPART_NAME);
idList.push(item.SERVERPART_ID);
// 理想总数
var LIAUTOCHARGESum = 0;
// 国网总数
@ -1121,10 +1134,20 @@ var _default = {
}];
});
}
// 拿到电价数据
_context9.next = 12;
return _this9.handleGetChargeData(list, idList);
case 12:
list = _context9.sent;
_context9.next = 15;
return _this9.handleGetOilData(list, idList);
case 15:
list = _context9.sent;
_this9.serviceList = list;
_this9.chaegeBoxList = nameList;
console.log("this.chaegeBoxList", _this9.chaegeBoxList);
case 12:
case 19:
case "end":
return _context9.stop();
}

View File

@ -254,7 +254,8 @@ var _default = {
myEvaluation: [],
// 我的评价
searchType: "",
isLoading: false
isLoading: false,
triggered: false
};
},
components: {
@ -266,6 +267,13 @@ var _default = {
setIsLoading: "setIsLoading",
setFresh: "refresh"
})), {}, {
// 下拉刷新
handleFreshData: function handleFreshData() {
this.triggered = true;
this.orderList = [];
var type = this.selectTab === 1 ? "1005,1010,2000,3000,8000,8900" : this.selectTab === 2 ? "1005" : this.selectTab === 3 ? "1010" : this.selectTab === 4 ? "2000" : this.selectTab === 5 ? "3000" : this.selectTab === 6 ? "8000,8010,8020,8900,8999" : "";
this.handleGetOrderList(type);
},
handleChangeSelectTab: function handleChangeSelectTab(value) {
this.selectTab = value;
this.orderList = [];
@ -401,7 +409,8 @@ var _default = {
_this3.setIsLoading(false);
// uni.hideLoading();
_this3.isLoading = false;
case 10:
_this3.triggered = false;
case 11:
case "end":
return _context.stop();
}

File diff suppressed because one or more lines are too long

View File

@ -349,7 +349,7 @@
text-align: left;
font-style: normal;
}
.main .content.data-v-884fa140::-webkit-scrollbar {
.main .content.data-v-884fa140 ::-webkit-scrollbar {
display: none;
}
.order-list.data-v-884fa140 {

View File

@ -206,10 +206,11 @@ var _default = {
pageMsg: {
type: 0
},
sellchildid: "" // 子ID
sellchildid: "",
// 子ID
pollingTimer: null
};
},
computed: _objectSpread(_objectSpread({}, (0, _vuex.mapGetters)(["user"])), {}, {
tatalMoney: function tatalMoney() {
var total = this.orderAmount;
@ -491,9 +492,11 @@ var _default = {
_this.ORDER_PERSONTEL = _data.ORDER_PERSONTEL;
_this.TAKE_TYPE = _data.TAKE_TYPE;
_this.isorder = true;
if (_this.status === 1005) {
// if (_this.status === 1005) {
if (_this.status < 3000) {
// 待付款时添加倒计时
_this.showTime();
// _this.showTime();
}
}
});
@ -814,11 +817,16 @@ var _default = {
this.isMinute = false;
clearInterval(this.timer);
this.pageMsg.type = 0;
if (this.pollingTimer) {
clearInterval(this.pollingTimer);
this.pollingTimer = null;
}
},
// onShow () {
// this.getOrderType()
// },
onLoad: function onLoad(option) {
var _this4 = this;
console.log("option", option);
uni.setNavigationBarColor({
frontColor: "#ffffff",
@ -838,6 +846,11 @@ var _default = {
this.orderNumber = option.orderNumber;
this.orderInternal = option.orderInternal;
this.getOrderType();
if (this.status < 3000) {
this.pollingTimer = setInterval(function () {
_this4.getOrderType();
}, 3000);
}
this.$utils.addUserBehaviorNew();
}
};

File diff suppressed because one or more lines are too long

View File

@ -379,6 +379,7 @@ var _default = {
} else {
this.toDayHaveSign = true;
}
this.handleGetUserAllOrder();
this.getMember();
this.getDistributionCount();
this.handleGetUserInfo();
@ -1136,6 +1137,63 @@ var _default = {
});
}
});
},
// 拿到这个用户的全部订单信息
handleGetUserAllOrder: function handleGetUserAllOrder() {
var _this6 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
var req, res, list, obligation, toBeProduced, waitingHave, orderList;
return _regenerator.default.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
req = {
action_type: "GetOrderList",
salebillType: 6000,
salebillState: "",
PageIndex: 1,
pageSize: 999999,
ownerUnitId: 911,
requestType: "application/x-www-form-urlencoded"
};
_context7.next = 3;
return _this6.$api.postCoop(req);
case 3:
res = _context7.sent;
console.log('resresresresresres', res);
list = res.Data.List; // 待付款
obligation = []; // 待制作
toBeProduced = []; // 待取餐
waitingHave = [];
if (list && list.length > 0) {
list.forEach(function (item) {
if (item.SALEBILL_STATE === 1005) {
obligation.push(item);
} else if (item.SALEBILL_STATE === 1010) {
toBeProduced.push(item);
} else if (item.SALEBILL_STATE === 2000) {
waitingHave.push(item);
}
});
}
orderList = JSON.parse(JSON.stringify(_this6.orderList));
orderList.forEach(function (item) {
if (item.value === 1) {
item.orderCount = obligation && obligation.length > 0 ? obligation.length : 0;
} else if (item.value === 2) {
item.orderCount = toBeProduced && toBeProduced.length > 0 ? toBeProduced.length : 0;
} else if (item.value === 3) {
item.orderCount = waitingHave && waitingHave.length > 0 ? waitingHave.length : 0;
}
});
_this6.orderList = orderList;
case 13:
case "end":
return _context7.stop();
}
}
}, _callee7);
}))();
}
}
};

File diff suppressed because one or more lines are too long

View File

@ -308,6 +308,7 @@
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}
.main .content .orderBox .orderList .orderItem .orderIcon.data-v-d596de08 {
width: 42rpx;
@ -323,6 +324,20 @@
text-align: left;
font-style: normal;
}
.main .content .orderBox .orderList .orderItem .orderCount.data-v-d596de08 {
position: absolute;
right: 10%;
top: 0;
color: #fff;
font-size: 12px;
background-color: red;
border-radius: 50%;
width: 24rpx;
height: 24rpx;
display: flex;
align-items: center;
justify-content: center;
}
.main .content .orderBox .oftenList.data-v-d596de08 {
width: 100%;
margin-top: 24rpx;