This commit is contained in:
cclu 2025-05-07 20:52:02 +08:00
parent 19c8be8de3
commit 5593cabfd6
110 changed files with 3900 additions and 1718 deletions

View File

@ -338,7 +338,7 @@
</view>
<!-- 商家 -->
<div
<!-- <div
class="merchantsBox"
v-if="showStore && item.storeList && item.storeList.length > 0"
>
@ -351,10 +351,6 @@
<span class="serviceName">{{
item.SERVERPART_NAME || ""
}}</span>
<!-- <image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/> -->
</div>
</div>
<div
@ -379,7 +375,7 @@
>
<no-data text="暂无商家" :isShow="true"></no-data>
</div>
</div>
</div> -->
</swiper-item>
</swiper>
</view>
@ -992,7 +988,11 @@
></view>
</view>
</uni-popup>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
@ -2192,7 +2192,7 @@ export default {
}
WLSum += 1;
});
}
}
item.WLDetail = {
WLEmpty: WLEmpty,
@ -2240,7 +2240,7 @@ export default {
list[i].storeList = data.Data.List;
if (data.Data.List && data.Data.List.length > 0) {
heightList.push(320);
heightList.push(150);
} else {
heightList.push(150);
}

View File

@ -1,17 +1,30 @@
<template>
<view class="main">
<view class="mainTop" :style="{
paddingTop:
loginType === 'min' ? menu.top + 'px' : menu.top + 10 + 'px',
height: loginType === 'min' ? menu.height + 'px' : menu.top + 'px',
}">
<image class="backIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg" @click="handleBack" />
<view
class="mainTop"
:style="{
paddingTop:
loginType === 'min' ? menu.top + 'px' : menu.top + 10 + 'px',
height: loginType === 'min' ? menu.height + 'px' : menu.top + 'px',
}"
>
<image
class="backIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg"
@click="handleBack"
/>
<div class="selectBox">
<div class="first" @click="goSelectServer">
<image class="addressIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="addressIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<div class="text">{{ serverPart.SERVERPART_NAME || "" }}</div>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
</div>
</view>
@ -30,57 +43,88 @@
<view class="contentBox">
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo1.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo1.png"
/>
<text class="itemText">胎压检查</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo2.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo2.png"
/>
<text class="itemText">机油量检查</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo3.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo3.png"
/>
<text class="itemText">牌照检查和紧固</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo4.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo4.png"
/>
<text class="itemText">轮胎螺丝检查和紧固</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo5.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo5.png"
/>
<text class="itemText">雨刮水量检查</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo6.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo6.png"
/>
<text class="itemText">车门松动紧固和润滑</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo7.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo7.png"
/>
<text class="itemText">底盘螺丝检查和紧固</text>
</view>
<view class="contentItem">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo8.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo8.png"
/>
<text class="itemText">轮胎充气 (仅轿车免费)</text>
</view>
<view class="contentItem" style="margin-bottom: 0">
<image class="itemIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo9.png" />
<image
class="itemIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/autoRepairNo9.png"
/>
<text class="itemText">启动搭电 (仅轿车免费)</text>
</view>
</view>
</view>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
<script>
import CustomLoading from '../../components/customLoading.vue';
import CustomLoading from "../../components/customLoading.vue";
export default {
data() {
return {
@ -88,7 +132,7 @@ export default {
menu: "", //
serverPart: "", //
servicePhone: "", //
isLoading: false
isLoading: false,
};
},
components: { CustomLoading },
@ -121,7 +165,7 @@ export default {
},
//
async handleGetServiceDetail() {
this.isLoading = true
this.isLoading = true;
const req = {
ServerpartId: this.serverPart.SERVERPART_ID,
};
@ -133,7 +177,7 @@ export default {
let obj = detailData.Result_Data;
console.log("detailData", obj);
this.servicePhone = obj.RegionInfo[0].REPAIR_TEL;
this.isLoading = false
this.isLoading = false;
},
//
goSelectServer() {

View File

@ -7,15 +7,19 @@
<view class="itemTitle">服务区名称</view>
<view class="itemValue" @click="handleChangeService">
<view class="selectBox">
<view class="picker" style="font-size: 28rpx">{{
detailObj && detailObj.SERVERPART_NAME
? detailObj.SERVERPART_NAME
: nowServerpart.SERVERPART_NAME || ""
}}
<view class="picker" style="font-size: 28rpx"
>{{
detailObj && detailObj.SERVERPART_NAME
? detailObj.SERVERPART_NAME
: nowServerpart.SERVERPART_NAME || ""
}}
</view>
</view>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</view>
</view>
<view class="formItem">
@ -48,17 +52,28 @@
addType === 1000 || detailObj.WECHAT_OPENID === "1000"
? "失物描述"
: addType === 2000 || detailObj.WECHAT_OPENID === "2000"
? "招领描述"
: ""
}}</view>
? "招领描述"
: ""
}}</view
>
<view class="itemValue">
<textarea :placeholder="addType === 1000
? '请描述一下丢失物品'
: addType === 2000
? '请描述一下招领物品'
: ''
" :auto-height="true" style="font-size: 28rpx" placeholderStyle="font-size:28rpx;color: #B8B7B4;"
v-model="shopName" />
<textarea
:placeholder="
addType === 1000
? '请描述一下丢失物品'
: addType === 2000
? '请描述一下招领物品'
: ''
"
:auto-height="true"
style="font-size: 28rpx"
placeholderStyle="font-size:28rpx;color: #B8B7B4;"
v-model="shopName"
:disabled="
detailObj.SUGGESTION_ID &&
user.MEMBERSHIP_ID !== detailObj.MEMBERSHIP_ID
"
/>
<!-- :disabled="isDetail" -->
</view>
</view>
@ -68,8 +83,8 @@
addType === 1000 || detailObj.WECHAT_OPENID === "1000"
? "丢失时间"
: addType === 2000 || detailObj.WECHAT_OPENID === "2000"
? "拾得时间"
: ""
? "拾得时间"
: ""
}}</view>
<!-- <view
class="itemValue"
@ -77,54 +92,112 @@
v-if="detailObj && detailObj.SUGGESTION_CREATEDATE"
>{{ detailObj.SUGGESTION_CREATEDATE || "" }}</view
> -->
<view class="itemValue">
<time-picker @update="onTimeUpdate" :defaultDate="detailObj.SUGGESTION_DATE || ''"
:defaultTime="detailObj.SUGGESTION_Time || ''" />
<view
class="itemValue"
v-if="
detailObj.SUGGESTION_ID &&
user.MEMBERSHIP_ID !== detailObj.MEMBERSHIP_ID
"
>
{{ `${detailObj.SUGGESTION_DATE} ${detailObj.SUGGESTION_Time}` }}
</view>
<view class="itemValue" v-else>
<time-picker
@update="onTimeUpdate"
:defaultDate="detailObj.SUGGESTION_DATE || ''"
:defaultTime="detailObj.SUGGESTION_Time || ''"
/>
</view>
</view>
<view class="formItem">
<view class="itemTitle">联系电话</view>
<view class="itemValue">
<input style="font-size: 28rpx" placeholder="请输入手机号码" type="number" maxlength="11" v-model="phone" />
<input
style="font-size: 28rpx"
placeholder="请输入手机号码"
type="number"
maxlength="11"
v-model="phone"
:disabled="
detailObj.SUGGESTION_ID &&
user.MEMBERSHIP_ID !== detailObj.MEMBERSHIP_ID
"
/>
<!-- :disabled="isDetail" -->
</view>
</view>
<view class="formItem" style="align-items: flex-start">
<view class="itemTitle">附件图片</view>
<view class="itemValue" style="
<view
class="itemValue"
style="
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
">
<view class="imgList" style="flex-wrap: wrap" v-if="imgList && imgList.length > 0">
<view class="imgBox" v-for="(item, index) in imgList" :key="index" @click="handlePreview(imgList, index)">
"
>
<view
class="imgList"
style="flex-wrap: wrap"
v-if="imgList && imgList.length > 0"
>
<view
class="imgBox"
v-for="(item, index) in imgList"
:key="index"
@click="handlePreview(imgList, index)"
>
<image class="img" :src="item.ImageUrl" />
<image v-if="!isDetail" @click="handleDeleteImg(item)" class="deleteImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/deleteImg.svg" />
<image
v-if="!isDetail"
@click="handleDeleteImg(item)"
class="deleteImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/deleteImg.svg"
/>
</view>
</view>
<view class="submitImg" @click="handleUpLoadImg" v-if="!isDetail">
<image class="imgIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/addImageIcon.svg" />
<image
class="imgIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/addImageIcon.svg"
/>
</view>
</view>
</view>
</view>
<!-- v-if="!isDetail" -->
<view class="btnBox">
<button v-if="!detailObj.SUGGESTION_ID" class="submitBox" type="primary" @click="formSubmit">
<button
v-if="!detailObj.SUGGESTION_ID"
class="submitBox"
type="primary"
@click="formSubmit"
>
新增{{ addType === 1000 ? "失物" : addType === 2000 ? "招领" : "" }}
</button>
<button v-if="detailObj && user.MEMBERSHIP_ID === detailObj.MEMBERSHIP_ID" class="submitBox" type="primary"
@click="formSubmit">
<button
v-if="
detailObj.SUGGESTION_ID &&
user.MEMBERSHIP_ID === detailObj.MEMBERSHIP_ID
"
class="submitBox"
type="primary"
@click="formSubmit"
>
{{ detailObj ? "保存" : "新增"
}}{{ addType === 1000 ? "失物" : addType === 2000 ? "招领" : "" }}
</button>
<button v-if="showDeleteBtn" class="deleteBox" type="primary" @click="handleDelete">
<button
v-if="showDeleteBtn"
class="deleteBox"
type="primary"
@click="handleDelete"
>
删除{{ addType === 1000 ? "失物" : addType === 2000 ? "招领" : "" }}
</button>
</view>
@ -154,7 +227,6 @@ export default {
currentServiceID: "", // id
showDeleteBtn: false, //
isFirst: true, //
};
},
components: {
@ -183,8 +255,9 @@ export default {
this.currentServiceID = Number(query.serviceID);
}
uni.setNavigationBarTitle({
title: `${query.id ? "编辑" : "新增"}${Number(query.addType) === 1000 ? "失物" : "招领"
}`,
title: `${query.id ? "编辑" : "新增"}${
Number(query.addType) === 1000 ? "失物" : "招领"
}`,
});
this.handleGetDefaultTime();
@ -198,25 +271,42 @@ export default {
onShow() {
let currentService = uni.getStorageSync("addContact");
console.log("addContact", currentService);
console.log("detailObj", this.detailObj);
if (this.currentServiceID && this.isFirst) {
this.isFirst = false;
this.handleGetServiceDetail(this.currentServiceID);
} else if (currentService) {
this.nowServerpart = currentService;
this.detailObj.SERVERPART_NAME = currentService.SERVERPART_NAME;
this.handleGetServiceDetail(currentService.SERVERPART_ID);
console.log("1");
} else {
let nearService = uni.getStorageSync("nearService");
this.nowServerpart = nearService;
this.handleGetServiceDetail(nearService.SERVERPART_ID);
if (this.detailObj.SUGGESTION_ID) {
if (this.user.MEMBERSHIP_ID === this.detailObj.MEMBERSHIP_ID) {
if (currentService) {
this.nowServerpart = currentService;
this.detailObj.SERVERPART_NAME = currentService.SERVERPART_NAME;
this.handleGetServiceDetail(currentService.SERVERPART_ID);
console.log("2");
}
}
} else {
if (currentService) {
this.nowServerpart = currentService;
this.detailObj.SERVERPART_NAME = currentService.SERVERPART_NAME;
this.handleGetServiceDetail(currentService.SERVERPART_ID);
console.log("2");
} else {
let nearService = uni.getStorageSync("nearService");
this.nowServerpart = nearService;
this.handleGetServiceDetail(nearService.SERVERPART_ID);
console.log("3");
}
}
}
},
onUnload() {
uni.setStorageSync("addContact", null);
},
methods: {
//
//
async handleGetServiceDetail(id) {
const req = {
@ -348,8 +438,13 @@ export default {
},
//
onTimeUpdate(e) {
console.log("e", e);
this.thisTime = `${e.date} ${e.time}`;
if (
!this.detailObj.SUGGESTION_ID ||
this.user.MEMBERSHIP_ID === this.detailObj.MEMBERSHIP_ID
) {
console.log("e", e);
this.thisTime = `${e.date} ${e.time}`;
}
},
//
handleDelete() {
@ -480,7 +575,7 @@ export default {
TableId: data.Result_Data.SUGGESTION_ID,
//
},
success: (uploadRes) => { },
success: (uploadRes) => {},
fail: (uploadRes) => {
_this.file = uploadRes;
},
@ -550,7 +645,14 @@ export default {
},
//
handleChangeService() {
uni.navigateTo({ url: "/pages/newMap/index/index?comeForm=addContact" });
if (
!this.detailObj.SUGGESTION_ID ||
this.user.MEMBERSHIP_ID === this.detailObj.MEMBERSHIP_ID
) {
uni.navigateTo({
url: "/pages/newMap/index/index?comeForm=addContact",
});
}
return;
if (this.detailObj) {
} else {
@ -644,7 +746,8 @@ export default {
width: 100%;
}
.foundTypeBox {}
.foundTypeBox {
}
.moreIcon {
width: 24rpx;

View File

@ -1,40 +1,77 @@
<template>
<view class="main">
<div class="top" :style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}" v-if="false">
<div
class="top"
:style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}"
v-if="false"
>
<div class="topContent">
<image class="backIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg" @click="handleBack" />
<image
class="backIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg"
@click="handleBack"
/>
<div class="first" @click="goSelectServer">
<image class="addressIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="addressIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<div class="text">{{ nowServiceObj.SERVERPART_NAME || "" }}</div>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
<div :class="inSearchAll ? 'inSearchAll' : 'searchAll'" @click="handleSearchAll">
<div
:class="inSearchAll ? 'inSearchAll' : 'searchAll'"
@click="handleSearchAll"
>
查看全部
</div>
</div>
</div>
<div class="tabBox" v-if="false">
<div :class="fintType === 1000 ? 'tabItem active' : 'tabItem'" @click="handleChangeType(1000)">
<div
:class="fintType === 1000 ? 'tabItem active' : 'tabItem'"
@click="handleChangeType(1000)"
>
失物信息
</div>
<div :class="fintType === 2000 ? 'tabItem active' : 'tabItem'" @click="handleChangeType(2000)">
<div
:class="fintType === 2000 ? 'tabItem active' : 'tabItem'"
@click="handleChangeType(2000)"
>
招领信息
</div>
</div>
<div class="headerBox">
<div class="searchBox" :style="{
width: showSearchBtn ? 'calc(100% - 80rpx) ' : '100%',
}">
<image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png" />
<input class="inputBox" placeholder="请输入物品信息" style="font-size: 28rpx" v-model="searchText" confirm-type="send"
@focus="clickSearch" @blur="noClickSearch" @confirm="handleEntrySearch" />
<div
class="searchBox"
:style="{
width: showSearchBtn ? 'calc(100% - 80rpx) ' : '100%',
}"
>
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png"
/>
<input
class="inputBox"
placeholder="请输入物品信息"
style="font-size: 28rpx"
v-model="searchText"
confirm-type="send"
@focus="clickSearch"
@blur="noClickSearch"
@confirm="handleEntrySearch"
/>
<!-- <image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png" />
<span class="searchText">请输入服务区</span> -->
</div>
@ -51,41 +88,84 @@
<div class="newSelectBox">
<div class="leftBox">
<div class="first" @click="goSelectServer">
<image class="addressIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="addressIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<div class="text">{{ nowServiceObj.SERVERPART_NAME || "" }}</div>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
<div :class="inSearchAll ? 'inSearchAll' : 'searchAll'" @click="handleSearchAll">
<div
:class="inSearchAll ? 'inSearchAll' : 'searchAll'"
@click="handleSearchAll"
>
查看全部
</div>
</div>
<div class="tabBoxNew">
<div :class="fintType === 1000 ? 'tabItemNew activeNew' : 'tabItemNew'" @click="handleChangeType(1000)">
<div
:class="fintType === 1000 ? 'tabItemNew activeNew' : 'tabItemNew'"
@click="handleChangeType(1000)"
>
失物
</div>
<div :class="fintType === 2000 ? 'tabItemNew activeNew' : 'tabItemNew'" @click="handleChangeType(2000)">
<div
:class="fintType === 2000 ? 'tabItemNew activeNew' : 'tabItemNew'"
@click="handleChangeType(2000)"
>
招领
</div>
</div>
</div>
<div class="pageList" :style="{
height: `calc(100vh - 186rpx - ${loginType === 'min' ? menu.bottom : menu.top * 2
<div
class="pageList"
:style="{
height: `calc(100vh - 186rpx - ${
loginType === 'min' ? menu.bottom : menu.top * 2
}px )`,
}">
<div v-if="dataList && dataList.length > 0" style="width: 100%; height: 100%">
}"
>
<div
v-if="dataList && dataList.length > 0"
style="width: 100%; height: 100%"
>
<!-- <div class="pageTitle">物品 ({{ dataList.length || "" }})</div> -->
<scroll-view scroll-y class="listBox" :style="{
height: `calc(100vh - 186rpx - ${loginType === 'min' ? menu.bottom : menu.top * 2
<scroll-view
scroll-y
class="listBox"
:style="{
height: `calc(100vh - 186rpx - ${
loginType === 'min' ? menu.bottom : menu.top * 2
}px )`,
}" refresher-enabled :refresher-triggered="triggered" @scrolltolower="handleScrollBottom"
@refresherrefresh="handleRefresh">
<div class="shopItem" v-for="(item, index) in dataList" :key="index" @click="handleGoDetail(item)">
}"
refresher-enabled
:refresher-triggered="triggered"
@scrolltolower="handleScrollBottom"
@refresherrefresh="handleRefresh"
>
<div
class="shopItem"
v-for="(item, index) in dataList"
:key="index"
@click="handleGoDetail(item)"
>
<div class="leftImgNew">
<image class="img" :src="item.ImageList[0].ImageUrl" v-if="item.ImageList && item.ImageList.length > 0" />
<image class="img" src="https://eshangtech.com/wanmeiyizhanImg/discovery/defaultIcon.png" v-else />
<image
class="img"
:src="item.ImageList[0].ImageUrl"
v-if="item.ImageList && item.ImageList.length > 0"
/>
<image
class="img"
src="https://eshangtech.com/wanmeiyizhanImg/discovery/defaultIcon.png"
v-else
/>
</div>
<div class="rightItem">
@ -129,7 +209,10 @@
<span class="normal">{{ item.afterOtherName }}</span>
</div>
<div class="timeBox">
<image class="timeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png" />
<image
class="timeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png"
/>
<span class="timeText">{{ item.SUGGESTION_CREATEDATE }}</span>
</div>
<div class="phoneBox">
@ -138,12 +221,18 @@
src="https://eshangtech.com/wanmeiyizhanImg/home/phoneIcon.svg"
/>
<span class="phoneText">{{ item.PHONE_NUMBER }}</span> -->
<image class="phoneIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/communityInteraction.svg" />
<image
class="phoneIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/communityInteraction.svg"
/>
<span class="phoneText">{{ item.SERVERPART_NAME }}</span>
</div>
<div class="callPhoneBox" @click="handleCallPhone(item)">
<image class="callPhoneIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/phone.png" />
<image
class="callPhoneIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/phone.png"
/>
</div>
</div>
</div>
@ -157,46 +246,84 @@
</div>
</scroll-view>
</div>
<div v-if="!(dataList && dataList.length > 0)" style="width: 100%; padding-top: 160px">
<div
v-if="!(dataList && dataList.length > 0)"
style="width: 100%; padding-top: 160px"
>
<no-data text="暂无物品信息" :isShow="true" :type="1"></no-data>
</div>
</div>
<view class="addNewPost" @click="handleGoAdd">
<view class="newPostBox">
<image class="addIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/addPost.svg" />
<image
class="addIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/addPost.svg"
/>
<text class="addText">{{
fintType === 1000 ? "新增失物" : fintType === 2000 ? "新增招领" : ""
}}</text>
</view>
</view>
<uni-popup ref="popup" :show="isShow" :safe-area="false" @close="handleClosePopup">
<uni-popup
ref="popup"
:show="isShow"
:safe-area="false"
@close="handleClosePopup"
>
<div class="popupBox">
<div class="popupTitle">
<image class="closeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/closeIcon.svg"
@click="handleClosePopup" />
<image
class="closeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/closeIcon.svg"
@click="handleClosePopup"
/>
<span class="titleText">更多筛选</span>
<div class="closeIcon"></div>
</div>
<div class="popupList">
<div class="popupLeftBox">
<div :class="leftSelectIndex === index ? 'itemType selectType' : 'itemType'
" v-for="(item, index) in leftTypeList" :key="index" @click="handleSelectType(index, item.value)">
<div
:class="
leftSelectIndex === index ? 'itemType selectType' : 'itemType'
"
v-for="(item, index) in leftTypeList"
:key="index"
@click="handleSelectType(index, item.value)"
>
{{ item.label }}
</div>
</div>
<scroll-view :scroll-y="true" :scroll-into-view="scrollTop" show-scrollbar="false"
:scroll-with-animation="true" class="popupRightBox">
<div class="rightItem" :id="'shop' + item.value" v-for="(item, index) in leftTypeList" :key="index">
<scroll-view
:scroll-y="true"
:scroll-into-view="scrollTop"
show-scrollbar="false"
:scroll-with-animation="true"
class="popupRightBox"
>
<div
class="rightItem"
:id="'shop' + item.value"
v-for="(item, index) in leftTypeList"
:key="index"
>
<template v-if="index !== 0">
<div class="itemTitle">{{ item.label }}</div>
<div class="rightTypeList" v-if="item.children && item.children.length > 0">
<div :class="subItem.value === rightSelectValue
? 'rightType selectRightType'
: 'rightType'
" v-for="(subItem, subIndex) in item.children" :key="subIndex"
@click="handleChangeRightSelect(index, subItem.value)">
<div
class="rightTypeList"
v-if="item.children && item.children.length > 0"
>
<div
:class="
subItem.value === rightSelectValue
? 'rightType selectRightType'
: 'rightType'
"
v-for="(subItem, subIndex) in item.children"
:key="subIndex"
@click="handleChangeRightSelect(index, subItem.value)"
>
{{ subItem.label }}
</div>
</div>
@ -209,8 +336,11 @@
</div>
</div>
</uni-popup>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
<script>
@ -248,13 +378,13 @@ export default {
triggered: false, //
fintType: 1000, // 1000 2000
loginType: "",
isLoading: false
isLoading: false,
};
},
components: {
UniPopup,
NoData,
CustomLoading
CustomLoading,
},
onLoad() {
let systemInfo = uni.getSystemInfoSync();
@ -379,7 +509,7 @@ export default {
},
//
async handleGetTypeList() {
this.isLoading = true
this.isLoading = true;
const data = await this.$api.$get(
"/EShangApiMain/FrameWork/GetFieldEnumTree",
{ FieldExplainField: "business_target" }
@ -396,7 +526,7 @@ export default {
res.unshift({ label: "全部", value: 6000 });
this.leftTypeList = res;
this.isLoading = false
this.isLoading = false;
},
//
handleSelectType(index, itemValue) {
@ -420,7 +550,7 @@ export default {
},
//
async handleGetListData() {
this.isLoading = true
this.isLoading = true;
const req = {
SearchParameter: {
SUGGESTION_TYPES: 4000,
@ -475,7 +605,7 @@ export default {
this.pageObj.isOver = true;
}
this.dataList = oldList.concat(list);
this.isLoading = false
this.isLoading = false;
},
//
extractParts(str, keyword) {

View File

@ -1,9 +1,12 @@
<template>
<view class="main">
<view class="top" :style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}">
<view
class="top"
:style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}"
>
<div class="topContent">
<!-- <span class="pageTitle">精选互动</span> -->
<!-- <image
@ -14,19 +17,29 @@
<div style="display: inline-block">
<view class="currentServiceBox" @click="goSelectServer">
<image class="pointIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="pointIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<span class="serviceName">{{
currentServiceMessage.SERVERPART_NAME || ""
}}</span>
<image class="rightArrowIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png" />
<image
class="rightArrowIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png"
/>
</view>
</div>
</div>
</view>
<view class="newTab">
<view :class="selectTab === item.value ? 'tabItem selectTab' : 'tabItem'" v-for="(item, index) in tabList"
:key="index" @click="handleChangeTab(item.value)">
<view
:class="selectTab === item.value ? 'tabItem selectTab' : 'tabItem'"
v-for="(item, index) in tabList"
:key="index"
@click="handleChangeTab(item.value)"
>
{{ item.label }}
</view>
</view>
@ -34,7 +47,10 @@
<view class="newContent">
<view class="content" v-if="selectTab === 1">
<view class="contentItem">
<image class="contentImg" src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo1.png" />
<image
class="contentImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo1.png"
/>
</view>
</view>
@ -51,11 +67,17 @@
<view class="todayTitle">今日推荐</view>
<view class="todayItem">
<image class="todayImg" src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo2.png" />
<image
class="todayImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo2.png"
/>
</view>
<view class="todayItem">
<image class="todayImg" src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo3.png" />
<image
class="todayImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/activityNo3.png"
/>
</view>
</view>
<!-- <view class="selectService">
@ -79,21 +101,38 @@
<view class="newBox" v-if="false">
<view class="activityTitle">折扣优惠</view>
<scroll-view scroll-x class="activityBox">
<view class="couponList" :style="{
width: `${356 * newActivityList.length}rpx`,
}" v-if="newActivityList && newActivityList.length > 0">
<view class="couponItem" v-for="(item, index) in newActivityList" :key="index" @click="goCoupon(item)">
<view
class="couponList"
:style="{
width: `${356 * newActivityList.length}rpx`,
}"
v-if="newActivityList && newActivityList.length > 0"
>
<view
class="couponItem"
v-for="(item, index) in newActivityList"
:key="index"
@click="goCoupon(item)"
>
<view class="couponItemTop">
<image class="itemImg" :src="item.COUPON_IMAGEURL ||
'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="itemImg"
:src="
item.COUPON_IMAGEURL ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</view>
<view class="couponItemBottom">
<view class="couponText">
{{ item.MERCHANTS_NAME || "" }}{{ item.COUPON_NAME || "" }}
</view>
<view class="couponTime">
<image class="timeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png" />
<image
class="timeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png"
/>
<span class="couponTimeText">
{{
item.START_TIME ? $utils.formatDate(item.START_TIME) : ""
@ -104,28 +143,47 @@
</view>
</view>
<view v-else class="noDataBox">
<no-data text="暂无活动" :isShow="!(newActivityList && newActivityList.length > 0)" />
<no-data
text="暂无活动"
:isShow="!(newActivityList && newActivityList.length > 0)"
/>
</view>
</scroll-view>
<view class="activityTitle" style="margin-top: 32rpx">会员活动</view>
<scroll-view scroll-x class="activityBox">
<view class="couponList" :style="{
width: `${356 * memberActivitiesList.length}rpx`,
}" v-if="memberActivitiesList && memberActivitiesList.length > 0">
<view class="couponItem" v-for="(item, index) in memberActivitiesList" :key="index">
<view
class="couponList"
:style="{
width: `${356 * memberActivitiesList.length}rpx`,
}"
v-if="memberActivitiesList && memberActivitiesList.length > 0"
>
<view
class="couponItem"
v-for="(item, index) in memberActivitiesList"
:key="index"
>
<view class="couponItemTop">
<image class="itemImg" :src="item.ImageList && item.ImageList.length > 0
? item.ImageList[0].ImageUrl
: 'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="itemImg"
:src="
item.ImageList && item.ImageList.length > 0
? item.ImageList[0].ImageUrl
: 'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</view>
<view class="couponItemBottom">
<view class="couponText">
{{ item.NOTICEINFO_TITLE || "" }}
</view>
<view class="couponTime">
<image class="timeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png" />
<image
class="timeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png"
/>
<span class="couponTimeText">
{{
item.START_DATE ? $utils.formatDate(item.START_DATE) : ""
@ -136,28 +194,47 @@
</view>
</view>
<view v-else class="noDataBox">
<no-data text="暂无活动" :isShow="!(memberActivitiesList && memberActivitiesList.length > 0)" />
<no-data
text="暂无活动"
:isShow="!(memberActivitiesList && memberActivitiesList.length > 0)"
/>
</view>
</scroll-view>
<view class="activityTitle" style="margin-top: 32rpx">线上商城</view>
<scroll-view scroll-x class="activityBox">
<view class="couponList" :style="{
width: `${356 * onlineShoppingMallList.length}rpx`,
}" v-if="onlineShoppingMallList && onlineShoppingMallList.length > 0">
<view class="couponItem" v-for="(item, index) in onlineShoppingMallList" :key="index">
<view
class="couponList"
:style="{
width: `${356 * onlineShoppingMallList.length}rpx`,
}"
v-if="onlineShoppingMallList && onlineShoppingMallList.length > 0"
>
<view
class="couponItem"
v-for="(item, index) in onlineShoppingMallList"
:key="index"
>
<view class="couponItemTop">
<image class="itemImg" :src="item.ImageList && item.ImageList.length > 0
? item.ImageList[0].ImageUrl
: 'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="itemImg"
:src="
item.ImageList && item.ImageList.length > 0
? item.ImageList[0].ImageUrl
: 'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</view>
<view class="couponItemBottom">
<view class="couponText">
{{ item.NOTICEINFO_TITLE || "" }}
</view>
<view class="couponTime">
<image class="timeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png" />
<image
class="timeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png"
/>
<span class="couponTimeText">
{{
item.START_DATE ? $utils.formatDate(item.START_DATE) : ""
@ -168,8 +245,12 @@
</view>
</view>
<view v-else class="noDataBox">
<no-data text="暂无活动" :isShow="!(onlineShoppingMallList && onlineShoppingMallList.length > 0)
" />
<no-data
text="暂无活动"
:isShow="
!(onlineShoppingMallList && onlineShoppingMallList.length > 0)
"
/>
</view>
</scroll-view>
</view>
@ -178,11 +259,17 @@
<!-- ; margin-left: 16rpx -->
<div style="display: inline-block; margin-top: 16rpx">
<view class="currentServiceBox" @click="goSelectServer">
<image class="pointIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="pointIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<span class="serviceName">{{
currentServiceMessage.SERVERPART_NAME || ""
}}</span>
<image class="rightArrowIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png" />
<image
class="rightArrowIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png"
/>
</view>
</div>
@ -219,46 +306,71 @@
<view class="serviceImg" v-if="false">
<image class="img" :src="pageMsg.ImagePath"></image>
<view class="serviceInfoBox">
<span class="serviceName" :style="{ color: pageMsg.ImagePath ? '#fff' : '#000' }">{{
currentServiceMessage.SERVERPART_NAME || "" }}</span>
<span
class="serviceName"
:style="{ color: pageMsg.ImagePath ? '#fff' : '#000' }"
>{{ currentServiceMessage.SERVERPART_NAME || "" }}</span
>
<!-- <span class="state">营业中</span>-->
</view>
</view>
<current-service :goDetail="true" :currentServiceMessage="currentServiceMessage" />
<current-service
:goDetail="true"
:currentServiceMessage="currentServiceMessage"
/>
<div class="serviceTypeTabs" @click="handleGoDetail" v-if="false">
<div class="serviceTypeItem">
<image class="itemIcon" :src="serviceMessage.chargingStation
? 'https://eshangtech.com/ShopICO/discovery/chargingStationSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/chargingStationNo.png'
" />
<image
class="itemIcon"
:src="
serviceMessage.chargingStation
? 'https://eshangtech.com/ShopICO/discovery/chargingStationSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/chargingStationNo.png'
"
/>
<span class="itemText">充电桩</span>
</div>
<div class="serviceTypeItem">
<!-- <image class="itemIcon" :src="serviceMessage.gasStation?'https://eshangtech.com/ShopICO/discovery/gasStationSelect.png':'https://eshangtech.com/ShopICO/discovery/gasStationNo.png'" />-->
<image class="itemIcon" src="https://eshangtech.com/ShopICO/discovery/gasStationSelect.png" />
<image
class="itemIcon"
src="https://eshangtech.com/ShopICO/discovery/gasStationSelect.png"
/>
<span class="itemText">加油站</span>
</div>
<div class="serviceTypeItem">
<image class="itemIcon" :src="serviceMessage.nursery
? 'https://eshangtech.com/ShopICO/discovery/nurserySelect.png'
: 'https://eshangtech.com/ShopICO/discovery/nurseryNo.png'
" />
<image
class="itemIcon"
:src="
serviceMessage.nursery
? 'https://eshangtech.com/ShopICO/discovery/nurserySelect.png'
: 'https://eshangtech.com/ShopICO/discovery/nurseryNo.png'
"
/>
<span class="itemText">母婴室</span>
</div>
<div class="serviceTypeItem">
<image class="itemIcon" :src="serviceMessage.parkingSpace
? 'https://eshangtech.com/ShopICO/discovery/parkingSpaceSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/parkingSpaceNo.png'
" />
<image
class="itemIcon"
:src="
serviceMessage.parkingSpace
? 'https://eshangtech.com/ShopICO/discovery/parkingSpaceSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/parkingSpaceNo.png'
"
/>
<span class="itemText">停车位</span>
</div>
<div class="serviceTypeItem">
<image class="itemIcon" :src="serviceMessage.store
? 'https://eshangtech.com/ShopICO/discovery/storeSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/storeNo.png'
" />
<image
class="itemIcon"
:src="
serviceMessage.store
? 'https://eshangtech.com/ShopICO/discovery/storeSelect.png'
: 'https://eshangtech.com/ShopICO/discovery/storeNo.png'
"
/>
<span class="itemText">便利店</span>
</div>
</div>
@ -268,11 +380,20 @@
<div v-if="false">
<div class="listTitle">精选商家</div>
<div class="shopList">
<div class="shopItem" v-for="(item, index) in couponList" :key="index" @click="goShop(item)">
<div
class="shopItem"
v-for="(item, index) in couponList"
:key="index"
@click="goShop(item)"
>
<div class="shopLeft">
<image class="shopIcon" :src="item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
" />
<image
class="shopIcon"
:src="
item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
/>
</div>
<div class="shopRight">
@ -283,9 +404,17 @@
}}</span>
</div>
<div class="rateBox">
<uni-rate :value="item.MERCHANTS_SCORE" size="16" allowHalf color="#B8B7B4" activeColor="#BA922F"
style="margin-right: 8rpx" />
<span class="markNumber">{{ item.MERCHANTS_SCORE || "-" }}</span>
<uni-rate
:value="item.MERCHANTS_SCORE"
size="16"
allowHalf
color="#B8B7B4"
activeColor="#BA922F"
style="margin-right: 8rpx"
/>
<span class="markNumber"
>{{ item.MERCHANTS_SCORE || "-" }}</span
>
</div>
<div class="otherBox">
<div class="otherItem">
@ -304,23 +433,40 @@
</div>
<!-- 去点餐 -->
<div class="goOrder" v-if="item.SCANCODE_ORDER === 1" @click.stop="goBuy(item)">
<image class="orderIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.png" />
<div
class="goOrder"
v-if="item.SCANCODE_ORDER === 1"
@click.stop="goBuy(item)"
>
<image
class="orderIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.png"
/>
<span class="goOrderText">去点餐</span>
</div>
</div>
<no-data text="暂无商家" :isShow="!(couponList && couponList.length > 0)" />
<no-data
text="暂无商家"
:isShow="!(couponList && couponList.length > 0)"
/>
</div>
</div>
<!-- 定位当前位置 -->
<div class="shoplist-service" v-if="false">
<div style="display: flex; align-items: center">
<image mode="aspectFit" src="https://eshangtech.com/ShopICO/discovery/shop-dw.png"
style="margin-right: 8rpx; width: 33rpx; height: 33rpx"></image>
<image
mode="aspectFit"
src="https://eshangtech.com/ShopICO/discovery/shop-dw.png"
style="margin-right: 8rpx; width: 33rpx; height: 33rpx"
></image>
<!-- <span class="position-name">{{city}}</span> -->
<span class="service-name" style="flex: 5" @tap="isShowSeviceBox = !isShowSeviceBox">
<span
class="service-name"
style="flex: 5"
@tap="isShowSeviceBox = !isShowSeviceBox"
>
<!-- 萧山服务区 -->
{{ currentServiceMessage.SERVERPART_NAME }}
</span>
@ -333,19 +479,33 @@
<!-- :style="isShowSeviceBox? 'transform: translateY('+translateY+'px);': 'transform: translateY(-8rpx)'"-->
<div class="banner-box" v-if="false">
<!-- <image src="https://eshangtech.com/ShopICO/discovery/discovery_b.png"></image> -->
<swiper scroll-x="true" autoplay="true" circular="true" class="banner" @change="swiperChange"
:current="currentBan">
<swiper
scroll-x="true"
autoplay="true"
circular="true"
class="banner"
@change="swiperChange"
:current="currentBan"
>
<swiper-item v-for="(img, o) in bannerList" :key="o">
<image :src="img"></image>
</swiper-item>
</swiper>
<div class="swiper-dots">
<div v-for="(dot, i) in bannerList" :key="i" class="dot" :class="{ active: currentBan === i }"></div>
<div
v-for="(dot, i) in bannerList"
:key="i"
class="dot"
:class="{ active: currentBan === i }"
></div>
</div>
</div>
<div class="banner-text" v-if="
!user.MEMBERSHIP_MOBILEPHONE || user.MEMBERSHIP_MOBILEPHONE == ''
">
<div
class="banner-text"
v-if="
!user.MEMBERSHIP_MOBILEPHONE || user.MEMBERSHIP_MOBILEPHONE == ''
"
>
<div style="display: flex; align-items: center">
<!-- <i></i> -->
<span>成为会员超多权益等你享</span>
@ -357,34 +517,54 @@
<div class="mt8"></div>
<div class="newTabList" v-if="false">
<!-- v-if="selectTypeList && selectTypeList.length > 0" -->
<div :class="selectTypeTab === index
? 'newTabItem selectTabItem'
: 'newTabItem'
" v-for="(item, index) in selectTypeList" :key="index" @click="handleChangeType(index)">
<div
:class="
selectTypeTab === index
? 'newTabItem selectTabItem'
: 'newTabItem'
"
v-for="(item, index) in selectTypeList"
:key="index"
@click="handleChangeType(index)"
>
{{ item.label }}
</div>
</div>
<div v-if="false">
<div class="newShopUnit" v-for="(item, i) in onShowTypeList" :key="i" @click="goShop(item)"
:style="{ borderWidth: i + 1 === onShowTypeList.length ? '0' : '' }">
<div
class="newShopUnit"
v-for="(item, i) in onShowTypeList"
:key="i"
@click="goShop(item)"
:style="{ borderWidth: i + 1 === onShowTypeList.length ? '0' : '' }"
>
<div v-if="selectTypeTab !== 0">
<div class="shopItemTop">
<div class="shopImg">
<image class="shopIcon" :src="item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="shopIcon"
:src="
item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</div>
<div class="shopDetail">
<div class="shopName">
<!-- max-width: calc(100% - 133rpx); -->
<span class="shopTitle" :style="{
maxWidth:
item.SCANCODE_ORDER === 1 &&
<span
class="shopTitle"
:style="{
maxWidth:
item.SCANCODE_ORDER === 1 &&
item.CouponList &&
item.CouponList.length > 0
? 'calc(100% - 270rpx)'
: 'calc(100% - 133rpx)',
}">{{ item.MERCHANTS_NAME }}</span>
? 'calc(100% - 270rpx)'
: 'calc(100% - 133rpx)',
}"
>{{ item.MERCHANTS_NAME }}</span
>
<!-- <span
class="titleIcon"
v-if="item.SCANCODE_ORDER === 1"
@ -393,9 +573,15 @@
</div>
<div class="otherDetail">
<div class="leftDetail">
<span class="mark">{{ item.MERCHANTS_SCORE || "-" }}</span>
<span class="monthSales">月售{{ item.MONTHLYSALES || "-" }}</span>
<span class="perCapita">人均 {{ item.PERCAPITA || "-" }}</span>
<span class="mark"
>{{ item.MERCHANTS_SCORE || "-" }}</span
>
<span class="monthSales"
>月售{{ item.MONTHLYSALES || "-" }}</span
>
<span class="perCapita"
>人均 {{ item.PERCAPITA || "-" }}</span
>
</div>
<div class="rightDetail">
<!-- <span class="perCapita"
@ -410,27 +596,49 @@
</div>
<!-- 去点餐 -->
<div class="goOrder" v-if="item.SCANCODE_ORDER === 1" @click.stop="goBuy(item)">
<image class="orderIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.png" />
<div
class="goOrder"
v-if="item.SCANCODE_ORDER === 1"
@click.stop="goBuy(item)"
>
<image
class="orderIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.png"
/>
<span class="goOrderText">去点餐</span>
</div>
<!-- 优惠券 -->
<div class="couponBox" :style="{
right:
item.SCANCODE_ORDER === 1 &&
<div
class="couponBox"
:style="{
right:
item.SCANCODE_ORDER === 1 &&
item.CouponList &&
item.CouponList.length > 0
? '160rpx'
: '0',
}" v-if="item.CouponList && item.CouponList.length > 0">
<image class="couponIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/useCoupon.png" />
? '160rpx'
: '0',
}"
v-if="item.CouponList && item.CouponList.length > 0"
>
<image
class="couponIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/useCoupon.png"
/>
<span class="couponText">优惠券</span>
</div>
</div>
</div>
<div class="shopList" v-if="item.GoodsList && item.GoodsList.length > 0">
<div class="shopItem" style="padding: 0" v-for="(subItem, subIndex) in item.GoodsList" :key="subIndex">
<div
class="shopList"
v-if="item.GoodsList && item.GoodsList.length > 0"
>
<div
class="shopItem"
style="padding: 0"
v-for="(subItem, subIndex) in item.GoodsList"
:key="subIndex"
>
<div class="shopImgBox">
<image class="shopImg" :src="subItem.IMAGE_URL" />
</div>
@ -448,19 +656,31 @@
<div style="width: 100%">
<div class="activeTitle">{{ item.label }}</div>
<div class="couponList">
<div class="couponItem" v-for="(subItem, subIndex) in item.children" :key="subIndex"
@click.stop="goCoupon(subItem)">
<div
class="couponItem"
v-for="(subItem, subIndex) in item.children"
:key="subIndex"
@click.stop="goCoupon(subItem)"
>
<div class="itemImgBox">
<image class="itemImg" :src="item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="itemImg"
:src="
item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</div>
<div class="couponText">
{{ subItem.MERCHANTS_NAME || ""
}}{{ subItem.COUPON_NAME || "" }}
</div>
<div class="couponTime">
<image class="timeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png" />
<image
class="timeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/timeIcon.png"
/>
<span class="couponTimeText">
{{
subItem.START_TIME
@ -475,13 +695,20 @@
</div>
</div>
<no-data v-if="!(item.children && item.children.length > 0)" :style="{ width: '100%' }"
:text="selectTypeTab === 0 ? '暂无活动' : ''" :isShow="!(item.children && item.children.length > 0)" />
<no-data
v-if="!(item.children && item.children.length > 0)"
:style="{ width: '100%' }"
:text="selectTypeTab === 0 ? '暂无活动' : ''"
:isShow="!(item.children && item.children.length > 0)"
/>
</div>
</div>
</div>
</div>
<no-data :text="selectTypeTab === 0 ? '暂无活动' : ''" :isShow="!(onShowTypeList && onShowTypeList.length > 0)" />
<no-data
:text="selectTypeTab === 0 ? '暂无活动' : ''"
:isShow="!(onShowTypeList && onShowTypeList.length > 0)"
/>
</div>
</div>
@ -491,25 +718,45 @@
<div class="shop-unit" v-for="(item, i) in couponList" :key="i">
<div class="coupon-card" @click="goShop(item)">
<div class="conpon-img">
<image :src="item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit"></image>
<image
:src="
item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
></image>
</div>
<div class="newListItemRight">
<div class="titleItemRight">
<span class="title">{{ item.MERCHANTS_NAME }}</span>
<span class="titleIcon" v-if="item.SCANCODE_ORDER === 1" @click.stop="goBuy(item)"></span>
<span
class="titleIcon"
v-if="item.SCANCODE_ORDER === 1"
@click.stop="goBuy(item)"
></span>
</div>
<div class="scoreBox">
<van-rate :value="item.MERCHANTS_SCORE" size="12" allow-half="true" color="#f28c44" void-color="#eee"
void-icon="star" readonly>
<van-rate
:value="item.MERCHANTS_SCORE"
size="12"
allow-half="true"
color="#f28c44"
void-color="#eee"
void-icon="star"
readonly
>
</van-rate>
<span class="value">{{ " " + item.MERCHANTS_SCORE }}</span>
<span class="value" style="margin-left: 48rpx">评论{{ item.COMMENT_COUNT }}</span>
<span class="value" style="margin-left: 48rpx"
>评论{{ item.COMMENT_COUNT }}</span
>
</div>
<view class="labelList">
<view class="labelItem" style="width: 40%">
<image class="labelIcon" src="https://eshangtech.com/wanmeiyizhanImg/discovery/trade.png" />
<image
class="labelIcon"
src="https://eshangtech.com/wanmeiyizhanImg/discovery/trade.png"
/>
<view class="labelName">{{
item.SHOPTRADE_TEXT || "品类"
}}</view>
@ -530,7 +777,9 @@
<span class="shop-comment-text">{{
item.COMMENT ? '"' + item.COMMENT + '"' : '"等你来评价哟"'
}}</span>
<span v-show="item.CouponList.length > 0" class="icon-coupon">优惠券</span>
<span v-show="item.CouponList.length > 0" class="icon-coupon"
>优惠券</span
>
</div>
<!-- <hr /> -->
<div class="line"></div>
@ -547,13 +796,22 @@
}}
</div> -->
<button type="primary" size="mini" open-type="openSetting" class="getLocation" @opensetting="bindopensetting"
v-show="openSetting">
<button
type="primary"
size="mini"
open-type="openSetting"
class="getLocation"
@opensetting="bindopensetting"
v-show="openSetting"
>
开启定位
</button>
</div>
<UniPopup :show="isLogin && !user.MEMBERSHIP_MOBILEPHONE" @close="isLogin = false"
custom-style="border-radius: 24rpx;">
<UniPopup
:show="isLogin && !user.MEMBERSHIP_MOBILEPHONE"
@close="isLogin = false"
custom-style="border-radius: 24rpx;"
>
<div class="pop-box">
<div class="pop-title">温馨提示</div>
<div class="pop-body">您还没有登录快去登录吧!</div>
@ -563,14 +821,28 @@
</div>
</div>
</UniPopup>
<UniPopup :show="isShow" position="bottom" overlay="false" @close="isShow = false">
<van-picker show-toolbar :columns="serverList" @cancel="isShow = false" @confirm="chosePart"
value-key="showName" />
<UniPopup
:show="isShow"
position="bottom"
overlay="false"
@close="isShow = false"
>
<van-picker
show-toolbar
:columns="serverList"
@cancel="isShow = false"
@confirm="chosePart"
value-key="showName"
/>
</UniPopup>
</div>
<tabbar :page="'/pages/discovery/index'" />
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
@ -703,7 +975,7 @@ export default {
], // tab
selectTab: 1,
loginType: "",
isLoading: false
isLoading: false,
};
},
computed: {
@ -721,7 +993,8 @@ export default {
noData,
UniPopup,
currentService,
tabbar, CustomLoading
tabbar,
CustomLoading,
},
onLoad() {
let systemInfo = uni.getSystemInfoSync();
@ -737,15 +1010,15 @@ export default {
this.handleGetMemberData();
this.handleGetOnlineShoppingMall();
},
onHide(){
this.isLoading = false
onHide() {
this.isLoading = false;
},
onUnload() {
this.isShow = false;
this.isLoading = false
this.isLoading = false;
},
destroyed(){
this.isLoading = false
destroyed() {
this.isLoading = false;
},
onShow() {
uni.hideTabBar({
@ -816,7 +1089,7 @@ export default {
},
//
async handleGetMemberData() {
this.isLoading = true
this.isLoading = true;
let req = {
SearchParameter: {
NOTICEINFO_TYPES: 2020,
@ -833,11 +1106,11 @@ export default {
let list = data.Result_Data.List;
console.log("handleGetMemberData", list);
this.memberActivitiesList = list;
this.isLoading = false
this.isLoading = false;
},
// 线
async handleGetOnlineShoppingMall() {
this.isLoading = true
this.isLoading = true;
let req = {
SearchParameter: {
NOTICEINFO_TYPES: 2030,
@ -854,7 +1127,7 @@ export default {
let list = data.Result_Data.List;
console.log("handleGetOnlineShoppingMall", list);
this.onlineShoppingMallList = list;
this.isLoading = false
this.isLoading = false;
},
handleToMap() {
let currentService = uni.getStorageSync("currentService");
@ -1293,7 +1566,7 @@ export default {
// })
},
//
swiperChange() { },
swiperChange() {},
},
onReachBottom() {
@ -1876,7 +2149,8 @@ export default {
}
.titleIcon {
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png") no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png")
no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background-size: contain;
width: 133rpx;
height: 48rpx;
@ -2247,7 +2521,8 @@ hr {
justify-content: space-between;
i {
background: url("https://eshangtech.com/ShopICO/vip-ico.png") no-repeat center; // eshangtech.com/ShopICO/vip-ico.png) no-repeat center
background: url("https://eshangtech.com/ShopICO/vip-ico.png") no-repeat
center; // eshangtech.com/ShopICO/vip-ico.png) no-repeat center
background-size: contain;
width: 36rpx;
height: 36rpx;
@ -2358,7 +2633,6 @@ span.ico-t-count {
}
.sevice-unit-box {
// display flex
// align-items center
// flex-wrap wrap
@ -2429,7 +2703,8 @@ span.ico-t-count {
// padding 0 5rpx
// margin-right 8rpx
.title-ico {
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png") no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png") no-repeat
center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center
background-size: contain;
width: 133rpx;
height: 48rpx;
@ -2547,7 +2822,8 @@ span.ico-t-count {
.titleIcon {
display: inline-block;
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png") no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png")
no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background-size: contain;
width: 133rpx;
height: 48rpx;
@ -2586,7 +2862,8 @@ span.ico-t-count {
}
.icon-coupon {
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png") no-repeat left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png")
no-repeat left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background-size: contain;
// width 75rpx
// height 22rpx
@ -2799,7 +3076,8 @@ span.ico-t-count {
}
.icon-coupon {
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png") no-repeat left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png") no-repeat
left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background-size: contain;
// width 75rpx
// height 22rpx
@ -2818,7 +3096,8 @@ span.ico-t-count {
.icon-trade:before {
content: "";
background: url("https://eshangtech.com/wanmeiyizhanImg/discovery/trade.png") no-repeat center;
background: url("https://eshangtech.com/wanmeiyizhanImg/discovery/trade.png")
no-repeat center;
background-size: contain;
width: 27rpx;
height: 24rpx;
@ -2970,7 +3249,7 @@ span.ico-t-count {
line-height: 60rpx;
}
.popbtn+.popbtn {
.popbtn + .popbtn {
margin-left: 60rpx;
}

View File

@ -1,31 +1,54 @@
<template>
<div class="main" :style="{ background: pageStyle === 1 ? '' : ' #F5F7F9' }">
<div v-if="loginType === 'min'" :class="pageStyle === 1 ? 'topBox' : 'topBox newTopBox'" :style="{
height: menu.bottom + 8 + 'px',
}">
<div class="topContent" :style="{ paddingTop: menu.top + 'px', height: menu.height + 'px' }">
<div
v-if="loginType === 'min'"
:class="pageStyle === 1 ? 'topBox' : 'topBox newTopBox'"
:style="{
height: menu.bottom + 8 + 'px',
}"
>
<div
class="topContent"
:style="{ paddingTop: menu.top + 'px', height: menu.height + 'px' }"
>
<div class="topLeft">
<image class="YDIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/YDIcon.png" />
<image
class="YDIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/YDIcon.png"
/>
<!-- <span class="pageTitle">皖美驿站</span> -->
<span class="pageTitle">驿达</span>
</div>
<div class="topRight" @click="goSelectServer">
<image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png" />
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png"
/>
<span class="searchText">请输入服务区</span>
</div>
</div>
</div>
<div class="appTopBox" v-else :style="{
paddingTop: menu.top + 10 + 'px',
height: menu.top + 50 + 'px',
}">
<div
class="appTopBox"
v-else
:style="{
paddingTop: menu.top + 10 + 'px',
height: menu.top + 50 + 'px',
}"
>
<div class="topContent">
<div class="topLeft">
<image class="YDIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/YDIcon.png" />
<image
class="YDIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/YDIcon.png"
/>
<span class="pageTitle">皖美驿站</span>
</div>
<div class="topRight" @click="goSelectServer">
<image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png" />
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png"
/>
<span class="searchText">请输入服务区</span>
</div>
</div>
@ -35,27 +58,51 @@
<div style="position: relative; z-index: 2">
<!-- 轮播框 -->
<div class="carousel" :style="{
marginTop:
loginType === 'min' ? `${menu.bottom + 8}px` : `${menu.top + 50}px`,
}" v-if="showBanner && pageStyle === 1">
<swiper scroll-x="true" autoplay="true" circular="true" class="banner"
@change="swiperChange($event, 'currentBan')" :current="currentBan">
<div
class="carousel"
:style="{
marginTop:
loginType === 'min' ? `${menu.bottom + 8}px` : `${menu.top + 50}px`,
}"
v-if="showBanner && pageStyle === 1"
>
<swiper
scroll-x="true"
autoplay="true"
circular="true"
class="banner"
@change="swiperChange($event, 'currentBan')"
:current="currentBan"
>
<swiper-item v-for="(image, i) in bannerList" :key="i">
<image class="swiperImg" :src="image"></image>
</swiper-item>
</swiper>
</div>
<div class="carousel newCarousel" :style="{
marginTop:
loginType === 'min'
? `${menu.bottom + 8 + 12}px`
: `${menu.top + 50 + 12}px`,
}" v-if="showBanner && pageStyle === 2">
<swiper scroll-x="true" autoplay="true" circular="true" class="banner"
@change="swiperChange($event, 'currentBan')" :current="currentBan">
<swiper-item v-for="(image, i) in bannerList" :key="i" @click="handleGoDiscovery">
<div
class="carousel newCarousel"
:style="{
marginTop:
loginType === 'min'
? `${menu.bottom + 8 + 12}px`
: `${menu.top + 50 + 12}px`,
}"
v-if="showBanner && pageStyle === 2"
>
<swiper
scroll-x="true"
autoplay="true"
circular="true"
class="banner"
@change="swiperChange($event, 'currentBan')"
:current="currentBan"
>
<swiper-item
v-for="(image, i) in bannerList"
:key="i"
@click="handleGoDiscovery"
>
<image class="swiperImg" :src="image"></image>
</swiper-item>
</swiper>
@ -83,8 +130,15 @@
src="https://eshangtech.com/wanmeiyizhanImg/home/defaultUser.png"
/>
</div> -->
<button class="avatarBtn" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
<image class="headerImg" :src="WXProfile || user.MEMBERSHIP_HEADIMAGEURL" />
<button
class="avatarBtn"
open-type="chooseAvatar"
@chooseavatar="onChooseAvatar"
>
<image
class="headerImg"
:src="WXProfile || user.MEMBERSHIP_HEADIMAGEURL"
/>
</button>
</div>
<!-- 用户详细 -->
@ -118,7 +172,10 @@
<div class="userCode" @click="isGo('/pages/homeFn/payfor/index')">
<!-- <div class="leftLine"></div> -->
<div class="codeBox">
<image class="codeImg" src="https://eshangtech.com/wanmeiyizhanImg/home/codeIcon.png" />
<image
class="codeImg"
src="https://eshangtech.com/wanmeiyizhanImg/home/codeIcon.png"
/>
<span class="codeText">会员码</span>
</div>
</div>
@ -127,20 +184,28 @@
<!-- 预约和商城 -->
<div :class="pageStyle === 2 ? 'majorFun newMajorFun' : 'majorFun '">
<div class="majorItem" @click="handleGoReservation">
<image class="majorIcon" :src="pageStyle === 2
? 'https://eshangtech.com/wanmeiyizhanImg/home/orderNew.svg'
: 'https://eshangtech.com/wanmeiyizhanImg/home/order.svg'
" />
<image
class="majorIcon"
:src="
pageStyle === 2
? 'https://eshangtech.com/wanmeiyizhanImg/home/orderNew.svg'
: 'https://eshangtech.com/wanmeiyizhanImg/home/order.svg'
"
/>
<span class="majorTitle">点餐</span>
<span class="majorDesc">提前点餐 免排队</span>
</div>
<div class="majorLine" v-if="pageStyle !== 2"></div>
<div class="majorItem" @click="handleClick(1)">
<!-- handleGoOnlineShop -->
<image class="majorIcon" :src="pageStyle === 2
? 'https://eshangtech.com/wanmeiyizhanImg/home/scanCodeToChargeNew.svg'
: 'https://eshangtech.com/wanmeiyizhanImg/home/scanCodeToCharge.svg'
" />
<image
class="majorIcon"
:src="
pageStyle === 2
? 'https://eshangtech.com/wanmeiyizhanImg/home/scanCodeToChargeNew.svg'
: 'https://eshangtech.com/wanmeiyizhanImg/home/scanCodeToCharge.svg'
"
/>
<span class="majorTitle">扫码充电</span>
<span class="majorDesc">快捷充电 免等待</span>
<!-- <image class="majorIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/store.svg" />
@ -150,16 +215,32 @@
</div>
<!-- 更多的一些功能 -->
<div :class="pageStyle === 2 ? 'otherFunBox otherFunBoxNew' : 'otherFunBox'
">
<div class="funItem" v-for="(item, index) in funList" :key="index" @click="handleClick(item.value)">
<image class="funItemIcon" :src="pageStyle === 2
? item.pageStyleSrc
: item.click
? item.src
: item.noSrc
" />
<span class="funItemText" :style="{ color: item.click ? '#130F05' : '#B8B7B4' }">{{ item.label }}</span>
<div
:class="
pageStyle === 2 ? 'otherFunBox otherFunBoxNew' : 'otherFunBox'
"
>
<div
class="funItem"
v-for="(item, index) in funList"
:key="index"
@click="handleClick(item.value)"
>
<image
class="funItemIcon"
:src="
pageStyle === 2
? item.pageStyleSrc
: item.click
? item.src
: item.noSrc
"
/>
<span
class="funItemText"
:style="{ color: item.click ? '#130F05' : '#B8B7B4' }"
>{{ item.label }}</span
>
</div>
</div>
@ -168,13 +249,21 @@
<span class="title"><span style="color: red">特色</span>美食</span>
<view class="moreBox" @click="handleGoShopMore">
<span class="moreText">更多</span>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.svg" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.svg"
/>
</view>
</view>
<view class="shopList">
<view class="shopItem" v-for="(item, index) in featuredCuisineList" :key="index"
:style="{ marginBottom: index >= 2 ? '0' : '' }" @click="handleGoShopFood(index)">
<view
class="shopItem"
v-for="(item, index) in featuredCuisineList"
:key="index"
:style="{ marginBottom: index >= 2 ? '0' : '' }"
@click="handleGoShopFood(index)"
>
<view class="itemLeftImg">
<image class="shopImg" :src="item.url" />
</view>
@ -197,7 +286,9 @@
<span>{{ item.bigNumber }}</span>
<span style="font-size: 24rpx">{{ item.smallNumber }}</span>
</span>
<span class="oldPrice" v-if="item.oldPrice">¥{{ item.oldPrice }}</span>
<span class="oldPrice" v-if="item.oldPrice"
>¥{{ item.oldPrice }}</span
>
</view>
</view>
</view>
@ -211,16 +302,24 @@
</div>
<scroll-view class="shopItemList" scroll-x>
<div>
<div class="shopItem" v-for="(item, index) in premiumProducts" :key="index" :style="{
marginRight:
index + 1 === premiumProducts.length ? '0' : '',
}" @click="handleGoShopFood(index)">
<div
class="shopItem"
v-for="(item, index) in premiumProducts"
:key="index"
:style="{
marginRight:
index + 1 === premiumProducts.length ? '0' : '',
}"
@click="handleGoShopFood(index)"
>
<div class="imgBox">
<image class="shopImg" :src="item.url" />
</div>
<text class="shopImgText">¥{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</text>
<text class="shopImgText"
>¥{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</text
>
<div class="seckillBox">
<div class="seckill">秒杀</div>
</div>
@ -237,17 +336,25 @@
</div>
<scroll-view class="shopItemList" scroll-x>
<div>
<div class="shopItem" v-for="(item, index) in agriculturalProducts" :key="index" :style="{
marginRight:
index + 1 === agriculturalProducts.length ? '0' : '',
}" @click="handleGoShopFood(index)">
<div
class="shopItem"
v-for="(item, index) in agriculturalProducts"
:key="index"
:style="{
marginRight:
index + 1 === agriculturalProducts.length ? '0' : '',
}"
@click="handleGoShopFood(index)"
>
<div class="imgBox">
<image class="shopImg" :src="item.url" />
</div>
<!-- <div class="oldPrice">¥{{ item.oldPrice || "" }}</div> -->
<text class="shopImgText">¥{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</text>
<text class="shopImgText"
>¥{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</text
>
<div class="seckillBox">
<div class="seckill">抢购</div>
</div>
@ -314,9 +421,17 @@
</div> -->
<!-- 新的精选商家吧 应该是 -->
<div class="selectedMerchantsNew" v-if="pageStyle === 2 && chaegeBoxList && chaegeBoxList.length > 0">
<ChargeBox :showType="'horizontal'" :serviceAreaList="chaegeBoxList" pageType="scanCode" :showStore="true"
:comeForm="'home'" />
<div
class="selectedMerchantsNew"
v-if="pageStyle === 2 && chaegeBoxList && chaegeBoxList.length > 0"
>
<ChargeBox
:showType="'horizontal'"
:serviceAreaList="chaegeBoxList"
pageType="scanCode"
:showStore="true"
:comeForm="'home'"
/>
</div>
<!-- 精选商家 -->
@ -332,12 +447,19 @@
<span class="serviceName">{{
nearPart.ServerPart_Name || ""
}}</span>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
</div>
<div class="merchantsList" v-if="storeList && storeList.length > 0">
<div class="merchantsItem" v-for="(item, index) in storeList" :key="index">
<div
class="merchantsItem"
v-for="(item, index) in storeList"
:key="index"
>
<div class="merchantsIconBox" @click="goShop(item)">
<image class="merchantsIcon" :src="item.IMAGE_URL" />
</div>
@ -355,12 +477,20 @@
<div class="rightShop" @click="handleGoOnlineShop">
<!-- <div class="moreText">更多</div> -->
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
</div>
<div class="shopList">
<div class="shopItem" v-for="(item, index) in mallList" :key="index" @click="goMall(item)">
<div
class="shopItem"
v-for="(item, index) in mallList"
:key="index"
@click="goMall(item)"
>
<div class="shopImgBox">
<img class="shopImg" :src="item.IMAGE_URL" />
</div>
@ -370,7 +500,10 @@
<div class="price">
<span class="unit">¥</span>{{ item.COMMODITY_MEMBERPRICE }}
</div>
<image class="shopIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/shopIcon.png" />
<image
class="shopIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/shopIcon.png"
/>
</div>
</div>
</div>
@ -379,7 +512,11 @@
</div>
</div>
<tabbar :page="'/pages/home/index'" />
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
<script>
@ -392,7 +529,7 @@ import {
handleHavePointInApp,
handleHavePointInMin,
handleGetUserPointInfo,
handleGetNearThreeService
handleGetNearThreeService,
} from "../../utils/publicMethods";
export default {
@ -680,7 +817,7 @@ export default {
// }
// console.log("this.user", this.user);
await this.handleHomeOnload()
await this.handleHomeOnload();
// return
// //
// let systemInfo = uni.getSystemInfoSync();
@ -706,7 +843,7 @@ export default {
});
this.showBanner = true;
this.currentBan = 0;
return
return;
// uni.$emit("updateTabBar", { show: false });
@ -811,15 +948,15 @@ export default {
this.showBanner = false;
},
async onPullDownRefresh() {
this.isLoading = true
uni.setStorageSync("seatInfo", null)
this.isLoading = true;
uni.setStorageSync("seatInfo", null);
uni.setStorageSync("currentService", null);
uni.setStorageSync("nearService", null);
uni.setStorageSync("nearThreeList", null);
uni.setStorageSync("allServiceList", null);
await handleGetNearThreeService()
this.isLoading = false
await handleGetNearThreeService();
this.isLoading = false;
// //
// let howTimes = uni.getStorageSync("howTimes");
// console.log("howTimes", howTimes);
@ -939,7 +1076,7 @@ export default {
}),
//
async handleHomeOnload() {
this.isLoading = true
this.isLoading = true;
//
let systemInfo = uni.getSystemInfoSync();
let type = uni.getStorageSync("loginType");
@ -950,19 +1087,19 @@ export default {
this.menu = systemInfo.safeArea;
}
//
let seatInfo = await handleGetUserPointInfo()
let seatInfo = await handleGetUserPointInfo();
if (seatInfo) {
this.seatInfo = seatInfo
console.log('首页', seatInfo);
this.seatInfo = seatInfo;
console.log("首页", seatInfo);
//
let serviceInfo = await handleGetNearThreeService()
console.log('服务区数据', serviceInfo);
let serviceInfo = await handleGetNearThreeService();
console.log("服务区数据", serviceInfo);
this.nearPart = serviceInfo.currentService;
this.serverPart = serviceInfo.currentService;
this.chaegeBoxList = serviceInfo.nearThreeList
this.$forceUpdate()
this.chaegeBoxList = serviceInfo.nearThreeList;
this.$forceUpdate();
}
this.isLoading = false
this.isLoading = false;
},
handleGoShopFood(index) {
if (index <= 2) {
@ -1256,9 +1393,9 @@ export default {
//
// uni.navigateTo({ url: "/pages/scanCodeCharge/index" });
//
if(_this.loginType==='min'){
if (_this.loginType === "min") {
uni.navigateTo({ url: "/pages/scanCodeCharge/mapIndex" });
}else{
} else {
uni.navigateTo({ url: "/pages/scanCodeCharge/mapIndexAPP" });
}
@ -1280,7 +1417,7 @@ export default {
if (res.confirm) {
// ""
uni.openSetting({
success: (settingRes) => { },
success: (settingRes) => {},
});
}
},

View File

@ -107,7 +107,7 @@
/>
</view>
<view class="carouselBox" @click="handleGoDiscovery">
<view class="carouselBox" @click="handleGoDiscovery" v-if="showBanner">
<swiper
class="swiperBox"
scroll-x="true"
@ -139,19 +139,20 @@
<scroll-view :scroll-x="true" class="foodContent">
<view class="foodList">
<view
class="foodItem"
class="foodItemNew"
v-for="(item, index) in foodList"
:key="index"
@click="handleGoFoodShop(item)"
>
<view class="shopName">{{ item.MERCHANTS_NAME || "" }}</view>
<!-- <view class="foodSrc" :style="{ backgroundImage: `url(${item.IMAGE_URL})` }"></view> -->
<view class="foodSrcBox">
<image
class="foodSrc"
mode="aspectFit"
lazy-load="true"
:src="item.IMAGE_URL"
/>
<!-- mode="aspectFit" -->
</view>
<view class="foodDetail">
@ -166,10 +167,11 @@
<!-- <span class="priceOld">20.5</span> -->
</view>
<view class="priceRight">
<image
进店
<!-- <image
class="addBtn"
src="/static/home/addShopButton.svg"
/>
/> -->
</view>
</view>
</view>
@ -186,7 +188,7 @@
<span class="stationFood">皖美农品</span>
<span class="foodDesc">本地特产 特色农品</span>
</view>
<view class="topRight">
<view class="topRight" @click="handleGoFoodOrder">
<span class="moreText">查看更多</span>
<image class="rightArrow" src="/static/home/newRightRow.svg" />
</view>
@ -194,22 +196,44 @@
<scroll-view :scroll-x="true" class="foodContent">
<view class="foodList">
<!-- <view class="foodItem">
<image class="foodSrc" />
<view class="foodDetail">
<view class="foodName">柠檬小龙虾沙拉</view>
<view class="priceBox">
<view class="priceLeft">
<span class="price">
<span class="priceUnit"></span>
14.5
</span>
<span class="priceOld">20.5</span>
</view>
</view>
</view>
</view> -->
<!-- AllProductsList -->
<view
class="foodItemNew"
v-for="(item, index) in AllProductsList"
:key="index"
@click="handleGoFoodShop(item)"
>
<!-- <view class="foodSrc" :style="{ backgroundImage: `url(${item.IMAGE_URL})` }"></view> -->
<view class="foodSrcBox">
<image
class="foodSrc"
lazy-load="true"
:src="item.IMAGE_URL"
/>
<!-- mode="aspectFit" -->
</view>
<view class="foodDetail">
<view class="foodName">{{ item.COMMODITY_NAME }}</view>
<!-- <view class="foodInfo">月售249 仅剩13份</view> -->
<view class="priceBox">
<view class="priceLeft">
<span class="price">
<span class="priceUnit"></span>
{{ item.COMMODITY_RETAILPRICE }}
</span>
<!-- <span class="priceOld">20.5</span> -->
</view>
<view class="priceRight">
进店
<!-- <image
class="addBtn"
src="/static/home/addShopButton.svg"
/> -->
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
@ -227,8 +251,8 @@
</view>
<tabbar :page="'/pages/home/newIndex'" />
<CustomLoading
v-if="isLoading"
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
@ -287,6 +311,8 @@ export default {
nearPart: {}, //
serverPart: {}, //
foodList: [], //
AllProductsList: [], //
showBanner: false,
};
},
computed: {
@ -312,6 +338,7 @@ export default {
await this.handleOnLoad();
},
async onShow() {
this.showBanner = true;
// await getApp().globalData.initReady;
let type = uni.getStorageSync("loginType");
if (type !== "min") {
@ -328,6 +355,9 @@ export default {
}
this.isLoading = false;
},
onHide() {
this.showBanner = true;
},
//
async onPullDownRefresh() {
this.isLoading = true;
@ -403,6 +433,8 @@ export default {
},
//
handleGoFoodShop(item) {
console.log("item", item);
if (this.user.MEMBERSHIP_MOBILEPHONE) {
let id = item.SERVERPARTSHOP_IDS.split(",")[0];
uni.navigateTo({
@ -457,25 +489,31 @@ export default {
},
//
async handleGetCurrentService() {
const data = await this.$api.getCoop({
action_type: "GetSellerList",
showSales: 1,
showCoupon: 1,
showComment: 1,
// const data = await this.$api.getCoop({
// action_type: "GetSellerList",
// showSales: 1,
// showCoupon: 1,
// showComment: 1,
// serverpartId: this.serverPart.SERVERPART_ID,
// provinceCode: this.serverPart.ProvinceCode || "340000",
// showGoods: 1,
// pageSize: 9999,
// pageIndex: 1,
// });
// let list = data.Data.List;
const data = await this.$api.$javaGet2("/third-party/getMerchantsList", {
serverpartId: this.serverPart.SERVERPART_ID,
provinceCode: this.serverPart.ProvinceCode || "340000",
showGoods: 1,
pageSize: 9999,
pageIndex: 1,
});
let list = data.Data.List;
let list = data.Result_Data.List;
console.log("首页点餐数据", list);
// itemGoodsList
// item GoodsList
let shopList = [];
let productsList = [];
if (list && list.length > 0) {
list.forEach((item) => {
if (item.GoodsList && item.GoodsList.length > 0) {
item.GoodsList.forEach((subItem) => {
if (item.GOODSLIST && item.GOODSLIST.length > 0) {
item.GOODSLIST.forEach((subItem) => {
let obj = JSON.parse(JSON.stringify(item));
obj = {
...obj,
@ -484,9 +522,22 @@ export default {
shopList.push(obj);
});
}
if (item.MERCHANTS_ID === 927) {
if (item.GOODSLIST && item.GOODSLIST.length > 0) {
item.GOODSLIST.forEach((subItem) => {
let obj = JSON.parse(JSON.stringify(item));
obj = {
...obj,
...subItem,
};
productsList.push(obj);
});
}
}
});
}
this.foodList = shopList;
this.AllProductsList = productsList;
},
//
handleGoFoodOrder() {
@ -912,7 +963,6 @@ export default {
.foodTop {
width: 100%;
height: 70rpx;
display: flex;
align-items: center;
justify-content: space-between;
@ -920,7 +970,7 @@ export default {
box-shadow: 0rpx 8rpx 12rpx 1rpx rgba(176, 223, 238, 0.07),
inset 0rpx 3rpx 6rpx 1rpx #ffffff;
box-sizing: border-box;
padding: 16rpx 16rpx 0;
padding: 16rpx 16rpx 8rpx;
.topLeft {
display: flex;
@ -982,10 +1032,12 @@ export default {
.foodList {
width: 100%;
height: 370rpx;
// height: 370rpx;
display: flex;
align-items: center;
flex-wrap: nowrap;
box-sizing: border-box;
padding: 10rpx 0 22rpx;
.foodItem {
width: 280rpx;
@ -1101,6 +1153,87 @@ export default {
}
}
}
.foodItemNew {
box-sizing: border-box;
padding: 16rpx 26rpx;
box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(0, 0, 0, 0.1);
border-radius: 16rpx;
margin-right: 16rpx;
.shopName {
font-family: "PingFang SC";
font-weight: 500;
font-size: 28rpx;
color: #000c04;
line-height: 30rpx;
display: inline-block;
width: 240rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.foodSrcBox {
margin-top: 16rpx;
width: 218rpx;
height: 218rpx;
border-radius: 12rpx;
overflow: hidden;
.foodSrc {
width: 100%;
height: 100%;
}
}
.foodDetail {
margin-top: 20rpx;
.foodName {
font-family: "PingFang SC";
font-weight: 500;
font-size: 28rpx;
color: #000c04;
line-height: 30rpx;
display: inline-block;
width: 240rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.priceBox {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.priceLeft {
.price {
font-family: "PingFang SC";
font-weight: 600;
font-size: 30rpx;
color: #ff6800;
line-height: 30rpx;
.priceUnit {
font-family: "PingFang SC";
font-weight: 500;
font-size: 20rpx;
color: #ff6800;
line-height: 30rpx;
}
}
}
.priceRight {
font-family: "PingFang SC";
font-weight: 500;
font-size: 24rpx;
color: #ffffff;
line-height: 30rpx;
padding: 6rpx 16rpx;
background-color: #01c553;
border-radius: 32rpx;
}
}
}
}
}
}
}
@ -1114,7 +1247,7 @@ export default {
.foodTop {
width: 100%;
height: 70rpx;
// height: 70rpx;
display: flex;
align-items: center;
justify-content: space-between;
@ -1122,7 +1255,7 @@ export default {
box-shadow: 0rpx 8rpx 12rpx 1rpx rgba(176, 223, 238, 0.07),
inset 0rpx 3rpx 6rpx 1rpx #ffffff;
box-sizing: border-box;
padding: 16rpx 16rpx 0;
padding: 16rpx 16rpx 8rpx;
.topLeft {
display: flex;
@ -1184,10 +1317,11 @@ export default {
.foodList {
width: 100%;
height: 370rpx;
// height: 370rpx;
display: flex;
align-items: center;
flex-wrap: nowrap;
padding: 10rpx 0 22rpx;
.foodItem {
width: 280rpx;
@ -1285,6 +1419,87 @@ export default {
}
}
}
.foodItemNew {
box-sizing: border-box;
padding: 16rpx 26rpx;
box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(0, 0, 0, 0.1);
border-radius: 16rpx;
margin-right: 16rpx;
.shopName {
font-family: "PingFang SC";
font-weight: 500;
font-size: 28rpx;
color: #000c04;
line-height: 30rpx;
display: inline-block;
width: 240rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.foodSrcBox {
margin-top: 16rpx;
width: 218rpx;
height: 218rpx;
border-radius: 12rpx;
overflow: hidden;
.foodSrc {
width: 100%;
height: 100%;
}
}
.foodDetail {
margin-top: 20rpx;
.foodName {
font-family: "PingFang SC";
font-weight: 500;
font-size: 28rpx;
color: #000c04;
line-height: 30rpx;
display: inline-block;
width: 240rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.priceBox {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.priceLeft {
.price {
font-family: "PingFang SC";
font-weight: 600;
font-size: 30rpx;
color: #ff6800;
line-height: 30rpx;
.priceUnit {
font-family: "PingFang SC";
font-weight: 500;
font-size: 20rpx;
color: #ff6800;
line-height: 30rpx;
}
}
}
.priceRight {
font-family: "PingFang SC";
font-weight: 500;
font-size: 24rpx;
color: #ffffff;
line-height: 30rpx;
padding: 6rpx 16rpx;
background-color: #01c553;
border-radius: 32rpx;
}
}
}
}
}
}
}

View File

@ -10,17 +10,25 @@
</div>
<div class="detailBox">
<div style="
<div
style="
display: flex;
align-items: flex-start;
justify-content: space-between;
">
"
>
<div class="tabBox">
<div class="title">积分明细</div>
<div class="tabs">
<div :class="selectTab === item.value ? 'tabItem selectTab' : 'tabItem'
" v-for="(item, index) in tabList" :key="index" @click="handleChangeSelectTab(item.value)">
<div
:class="
selectTab === item.value ? 'tabItem selectTab' : 'tabItem'
"
v-for="(item, index) in tabList"
:key="index"
@click="handleChangeSelectTab(item.value)"
>
{{ item.label || "" }}
</div>
</div>
@ -29,17 +37,30 @@
</div>
<div class="markList">
<div style="width: 100%; height: 100%" v-if="showList && showList.length > 0">
<div
style="width: 100%; height: 100%"
v-if="showList && showList.length > 0"
>
<div class="markItem" v-for="(item, index) in showList" :key="index">
<div class="itemTitle">
<image class="titleIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/markIcon.svg" />
<image
class="titleIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/markIcon.svg"
/>
<span class="label">{{ item.label || "-" }}获取</span>
<span class="value">{{ item.obtain || "-" }}</span>
<span class="label">已使用</span>
<span class="value">{{ item.consume || "-" }}</span>
</div>
<div class="childrenList" v-if="item.children && item.children.length > 0">
<div class="itemContent" v-for="(subItem, subIndex) in item.children" :key="subIndex">
<div
class="childrenList"
v-if="item.children && item.children.length > 0"
>
<div
class="itemContent"
v-for="(subItem, subIndex) in item.children"
:key="subIndex"
>
<div class="top">
<div class="topLeft">
{{ subItem.SERVERPART_NAME + subItem.SHOPNAME }}
@ -48,10 +69,13 @@
<span class="unit">{{
subItem.POINT_TYPE > 0
? "+"
: subItem.POINT_TYPE < 0 ? "-" : "" }}</span>
<span class="value">{{
subItem.CURRENT_POINT || "-"
}}</span>
: subItem.POINT_TYPE < 0
? "-"
: ""
}}</span>
<span class="value">{{
subItem.CURRENT_POINT || "-"
}}</span>
</div>
</div>
<div class="bottom">{{ subItem.OPERATE_DATE || "-" }}</div>
@ -59,7 +83,10 @@
</div>
</div>
</div>
<div style="width: 100%; height: 100%" v-if="!(showList && showList.length > 0)">
<div
style="width: 100%; height: 100%"
v-if="!(showList && showList.length > 0)"
>
<no-data :text="'您暂无积分记录'" :isShow="true" />
</div>
</div>
@ -73,10 +100,17 @@
<div class="amount">{{ memberPoint }}</div>
</div>
<navigator open-type="redirect" url="/pages/homeFn/consumption/index" class="jump-btn">
<navigator
open-type="redirect"
url="/pages/homeFn/consumption/index"
class="jump-btn"
>
消费记录
<image src="https://eshangtech.com/ShopICO/consumption/to-other.png" style="width: 25rpx; height: 25rpx"
mode="aspectFit"></image>
<image
src="https://eshangtech.com/ShopICO/consumption/to-other.png"
style="width: 25rpx; height: 25rpx"
mode="aspectFit"
></image>
</navigator>
</div>
</div>
@ -106,10 +140,13 @@
</div>
</div>
<div>
<p class="cp-u-price" :class="{
colorOr: unit.POINT_TYPE < 0,
colorGr: unit.POINT_TYPE > 0,
}">
<p
class="cp-u-price"
:class="{
colorOr: unit.POINT_TYPE < 0,
colorGr: unit.POINT_TYPE > 0,
}"
>
{{ unit.POINT_TYPE * unit.CURRENT_POINT }}
</p>
</div>
@ -120,7 +157,11 @@
<no-data :text="'您暂无积分记录'" :isShow="pageMsg.List.length > 0" />
</div>
</div>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -155,11 +196,12 @@ export default {
allList: [],
showList: [],
showSgign: true,
isLoading: false
isLoading: false,
};
},
components: {
noData, CustomLoading
noData,
CustomLoading,
},
computed: {
...mapGetters(["user"]),
@ -193,7 +235,7 @@ export default {
.then(function (res) {
console.log("res321312", res);
// uni.hideLoading();
_this.isLoading = false
_this.isLoading = false;
_this.pageMsg.SumUsePoint = res.Data.SumUsePoint;
_this.pageMsg.SumGetPoint = res.Data.SumGetPoint;
_this.handleSetTypeList(res.Data.List);
@ -382,7 +424,7 @@ export default {
onLoad() {
this.loadingType = 1; //
// uni.showLoading({ title: "" });
this.isLoading = true
this.isLoading = true;
this.getMonth();
this.getMemberPoint();
// this.getMemberInfo()consumption/consumption_bg.png
@ -643,7 +685,8 @@ export default {
color: #fff;
width: 100%;
height: 284rpx;
background: url("https://eshangtech.com/ShopICO/consumption/i-bg.png") no-repeat center;
background: url("https://eshangtech.com/ShopICO/consumption/i-bg.png")
no-repeat center;
background-size: contain;
box-sizing: border-box;
padding: 68rpx 50rpx 68rpx 80rpx;
@ -663,7 +706,8 @@ export default {
}
.jump-btn {
background: url("https://eshangtech.com/ShopICO/consumption/i-btn.png") no-repeat center;
background: url("https://eshangtech.com/ShopICO/consumption/i-btn.png")
no-repeat center;
width: 190rpx;
height: 68rpx;
font-size: 26rpx;
@ -680,18 +724,18 @@ export default {
margin-top: 20rpx;
}
.consumption-history>div {
.consumption-history > div {
width: 50%;
text-align: center;
color: #fff;
box-sizing: border-box;
}
.consumption-history>div:first-child {
.consumption-history > div:first-child {
border-right: 2px solid #fff;
}
.consumption-history>div span {
.consumption-history > div span {
display: block;
}
@ -743,7 +787,7 @@ export default {
padding: 0 40rpx;
}
.search-content-unit+.search-content-unit {
.search-content-unit + .search-content-unit {
border-top: 1rpx solid #eee;
}

View File

@ -2,10 +2,18 @@
<div class="coupon" v-show="!pageMsg.isLoading">
<!-- Tabs Header -->
<div class="tabs-header">
<div class="tab-item" :class="{ active: pageMsg.activeTabs === 0 }" @click="changeActive(0)">
<div
class="tab-item"
:class="{ active: pageMsg.activeTabs === 0 }"
@click="changeActive(0)"
>
有效
</div>
<div class="tab-item" :class="{ active: pageMsg.activeTabs === 1 }" @click="changeActive(1)">
<div
class="tab-item"
:class="{ active: pageMsg.activeTabs === 1 }"
@click="changeActive(1)"
>
无效
</div>
</div>
@ -16,13 +24,21 @@
<div v-if="pageMsg.activeTabs === 0" class="tab-panel">
<div style="padding-top: 24rpx">
<div class="couponList">
<div class="couponItem" v-for="(item, i) in couponList" :key="i" @drop="goShop(item)">
<div
class="couponItem"
v-for="(item, i) in couponList"
:key="i"
@drop="goShop(item)"
>
<div class="itemleft">
<div>
<span class="leftUnit">¥</span>
<span class="money">{{ item.UseAmount }}</span>
</div>
<div v-if="!item.CouponSendId && item.CouponPoint" class="condition">
<div
v-if="!item.CouponSendId && item.CouponPoint"
class="condition"
>
{{ item.CouponPoint }}积分兑换
</div>
<div v-else class="condition">
@ -37,14 +53,28 @@
<div>
<div class="couponName">{{ item.CouponName }}</div>
<div class="timeText">
<span class="coupon-date" v-if="item.CouponSendId">有效期至{{ item.EndTime }}</span>
<span class="coupon-date" v-else>活动至{{ item.EndTime }}</span>
<span class="coupon-date" v-if="item.CouponSendId"
>有效期至{{ item.EndTime }}</span
>
<span class="coupon-date" v-else
>活动至{{ item.EndTime }}</span
>
</div>
</div>
<div class="useBtn">
<span class="useBtnText" v-if="!item.CouponSendId" @click="goShop(item)">去兑换</span>
<span class="useBtnText" @click="goShop(item)" v-else-if="item.CouponState == 0">立即使用</span>
<span
class="useBtnText"
v-if="!item.CouponSendId"
@click="goShop(item)"
>去兑换</span
>
<span
class="useBtnText"
@click="goShop(item)"
v-else-if="item.CouponState == 0"
>立即使用</span
>
<span class="useBtnText" v-else>{{
item.CouponStateText
}}</span>
@ -60,20 +90,31 @@
@drop="goShop"
/> -->
</div>
<no-data :text="'您暂无可使用的优惠券'" :isShow="!(couponList && couponList.length > 0)" />
<no-data
:text="'您暂无可使用的优惠券'"
:isShow="!(couponList && couponList.length > 0)"
/>
</div>
<!-- 无效 Tab -->
<div v-if="pageMsg.activeTabs === 1" class="tab-panel">
<div style="padding-top: 24rpx">
<div class="invalidList">
<div class="couponItem" v-for="(item, i) in novalid" :key="i" @drop="goShop(item)">
<div
class="couponItem"
v-for="(item, i) in novalid"
:key="i"
@drop="goShop(item)"
>
<div class="itemleft">
<div>
<span class="leftUnit">¥</span>
<span class="money">{{ item.UseAmount }}</span>
</div>
<div v-if="!item.CouponSendId && item.CouponPoint" class="condition">
<div
v-if="!item.CouponSendId && item.CouponPoint"
class="condition"
>
{{ item.CouponPoint }}积分兑换
</div>
<div v-else class="condition">
@ -88,8 +129,12 @@
<div>
<div class="couponName">{{ item.CouponName }}</div>
<div class="timeText">
<span class="coupon-date" v-if="item.CouponSendId">有效期至{{ item.EndTime }}</span>
<span class="coupon-date" v-else>活动至{{ item.EndTime }}</span>
<span class="coupon-date" v-if="item.CouponSendId"
>有效期至{{ item.EndTime }}</span
>
<span class="coupon-date" v-else
>活动至{{ item.EndTime }}</span
>
</div>
</div>
@ -109,7 +154,11 @@
<no-data :text="'暂无信息'" :isShow="!(novalid.length > 0)" />
</div>
</div>
<CustomLoading :visible="isCustomLoading" />
<CustomLoading
:visible="isCustomLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -135,7 +184,7 @@ export default {
couponList: [],
specialCards: [], //
novalid: [],
isCustomLoading: false
isCustomLoading: false,
};
},
computed: {
@ -146,7 +195,8 @@ export default {
},
components: {
NoData,
Card, CustomLoading
Card,
CustomLoading,
},
methods: {
...mapMutations({
@ -195,7 +245,7 @@ export default {
},
getUnList() {
this.isCustomLoading = true
this.isCustomLoading = true;
let _this = this;
_this.$api
.$get("/WeChat/GetMemberCouponList", { CouponStatus: "1,2" })
@ -203,7 +253,7 @@ export default {
if (rs.Result_Code === 100) {
_this.novalid = rs.Result_Data.List;
}
_this.isCustomLoading = false
_this.isCustomLoading = false;
});
},
},

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,8 @@
<!-- <h3 class="text-title">会员积分码</h3> -->
<div class="userImgBox">
<div style="
<div
style="
width: 100%;
height: 100%;
display: flex;
@ -19,25 +20,37 @@
align-items: center;
background: #eaecee;
border-radius: 50%;
">
<image style="width: 100%; height: 100%" :src="WXProfile || user.MEMBERSHIP_HEADIMAGEURL" />
"
>
<image
style="width: 100%; height: 100%"
:src="WXProfile || user.MEMBERSHIP_HEADIMAGEURL"
/>
</div>
</div>
<div v-if="checkPay">
<div style="position: relative; text-align: center">
<div v-if="!barcodeImg">
<canvas canvas-id="barcode" style="height: 120rpx; width: 480rpx; margin: 0 0 14rpx 0" />
<canvas
canvas-id="barcode"
style="height: 120rpx; width: 480rpx; margin: 0 0 14rpx 0"
/>
</div>
<image v-if="barcodeImg" style="height: 120rpx; width: 480rpx; margin: 0 0 14rpx 0" :src="barcodeImg" />
<image
v-if="barcodeImg"
style="height: 120rpx; width: 480rpx; margin: 0 0 14rpx 0"
:src="barcodeImg"
/>
</div>
<view class="code-box">
<text class="code-text">{{
isShowAllCode ? allCode : showCode
}}</text>
<text class="text-blue" @tap="isShowAllCode = !isShowAllCode">{{ isShowAllCode ? "关闭查看" : "查看数字" }}
<text class="text-blue" @tap="isShowAllCode = !isShowAllCode"
>{{ isShowAllCode ? "关闭查看" : "查看数字" }}
</text>
</view>
@ -46,28 +59,51 @@
<canvas canvas-id="qrcode" style="height: 360rpx; width: 360rpx" />
</div>
<image v-if="qrcodeImg" style="height: 360rpx; width: 360rpx" :src="qrcodeImg" />
<image
v-if="qrcodeImg"
style="height: 360rpx; width: 360rpx"
:src="qrcodeImg"
/>
</div>
<div class="refresh-box flex align-center" @click.stop="refreshCode()">
<image class="replayIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/replay.svg" />
<image
class="replayIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/replay.svg"
/>
<span class="text-xs color9d">每分钟自动刷新</span>
</div>
<div class="flex justify-between coupon-box align-center" @tap="isShow = true">
<div
class="flex justify-between coupon-box align-center"
@tap="isShow = true"
>
<div class="flex align-center">
<div class="flex align-center">
<image src="https://eshangtech.com/wanmeiyizhanImg/home/couponLogo.png" class="coupon-ico"></image>
<image
src="https://eshangtech.com/wanmeiyizhanImg/home/couponLogo.png"
class="coupon-ico"
></image>
<view class="text-39">优惠券</view>
</div>
</div>
<div @click="handleSelectCoupon" style="display: flex; align-items: center">
<text class="text-sm color9d" style="margin-right: 8rpx" v-if="couponlist.length == 0">暂无可使用的优惠券</text>
<div
@click="handleSelectCoupon"
style="display: flex; align-items: center"
>
<text
class="text-sm color9d"
style="margin-right: 8rpx"
v-if="couponlist.length == 0"
>暂无可使用的优惠券</text
>
<text class="text-sm color9d" v-else>{{
cid && choeseCouponIndex != null
? couponlist[choeseCouponIndex].CouponName
: "选择要使用的优惠券"
}}</text>
<image style="width: 24rpx; height: 24rpx"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png" />
<image
style="width: 24rpx; height: 24rpx"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrowIcon.png"
/>
</div>
</div>
</div>
@ -75,7 +111,8 @@
<p class="pay-end">支付成功</p>
<p class="pay-door">{{ payDoor }}</p>
<div class="pay-price">
<span>{{ payPrice }}</span>
<span>{{ payPrice }}</span
>
</div>
<div class="pay-btn" @tap="payEnd">完成</div>
</div>
@ -104,7 +141,10 @@
<!-- </view> -->
<view class="shipItem" @click="handleRealGoPay(2)">
<view class="shipIconBox">
<image class="shipIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/wxPay.svg" />
<image
class="shipIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/wxPay.svg"
/>
</view>
<!-- <span class="shipTitle">微信</span> -->
</view>
@ -112,19 +152,35 @@
</view>
</view>
<UniPopup ref="popup" closeable position="bottom" :show="isShow" custom-style="height: 760rpx;" :safe-area="false">
<UniPopup
ref="popup"
closeable
position="bottom"
:show="isShow"
custom-style="height: 760rpx;"
:safe-area="false"
>
<view class="couponPopup">
<view class="body-title"> 选择优惠券 </view>
<view class="pop-body">
<scroll-view scroll-y style="height: 680rpx">
<view class="couponItem" v-for="(item, i) in couponlist" :key="i" @tap="selectCoupon" :data-key="i">
<view
class="couponItem"
v-for="(item, i) in couponlist"
:key="i"
@tap="selectCoupon"
:data-key="i"
>
<div class="itemleft">
<div>
<span class="leftUnit">¥</span>
<span class="money">{{ item.UseAmount }}</span>
</div>
<div v-if="!item.CouponSendId && item.CouponPoint" class="condition">
<div
v-if="!item.CouponSendId && item.CouponPoint"
class="condition"
>
{{ item.CouponPoint }}积分兑换
</div>
<div v-else class="condition">
@ -139,8 +195,12 @@
<div>
<div class="couponName">{{ item.CouponName }}</div>
<div class="timeText">
<span class="coupon-date" v-if="item.CouponSendId">有效期至{{ item.EndTime }}</span>
<span class="coupon-date" v-else>活动至{{ item.EndTime }}</span>
<span class="coupon-date" v-if="item.CouponSendId"
>有效期至{{ item.EndTime }}</span
>
<span class="coupon-date" v-else
>活动至{{ item.EndTime }}</span
>
</div>
</div>
</div>
@ -149,7 +209,11 @@
</view>
</view>
</UniPopup>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -178,7 +242,7 @@ export default {
loginType: "",
barcodeImg: "", //
qrcodeImg: "", //
isLoading: false
isLoading: false,
};
},
computed: {
@ -341,7 +405,7 @@ export default {
getCode() {
let _this = this;
this.isLoading = true
this.isLoading = true;
if (!_this.user.MEMBERSHIP_ID) {
return;
}
@ -352,7 +416,7 @@ export default {
// .$get("/WeChat/GetMemberECode", { couponCode: this.cid || "" })
.$get("/WeChat/GetMemberECode", {
membershipId: _this.user.MEMBERSHIP_ID || "",
couponCode: this.cid || ""
couponCode: this.cid || "",
})
.then((res) => {
console.log("resdsadasd", res);
@ -360,12 +424,12 @@ export default {
_this.allCode = res.Result_Data.Membership_ECode;
_this.paintCode(res.Result_Data.Membership_ECode);
}
_this.isLoading = false
_this.isLoading = false;
});
},
getCouponLsit() {
let _this = this;
this.isLoading = true
this.isLoading = true;
this.$api
.$get("/WeChat/GetMemberCouponList", { CouponStatus: 0 })
.then((res) => {
@ -379,7 +443,7 @@ export default {
_this.choeseCouponIndex = index;
}
}
this.isLoading = false
this.isLoading = false;
});
},
// payEnd () {

View File

@ -2,9 +2,16 @@
<div class="page-body">
<div v-if="addList.length > 0">
<radio-group :value="addressId" @change="checkAddress">
<view class="address-card" v-for="n in addList" :key="n.MEMBERADDRESS_ID"
@click="checkOrEdit(n.MEMBERADDRESS_ID)">
<view style="flex: 1.5; text-align: right; padding-left: 16rpx" v-if="pageMsg.type !== 0">
<view
class="address-card"
v-for="n in addList"
:key="n.MEMBERADDRESS_ID"
@click="checkOrEdit(n.MEMBERADDRESS_ID)"
>
<view
style="flex: 1.5; text-align: right; padding-left: 16rpx"
v-if="pageMsg.type !== 0"
>
<radio :value="n.MEMBERADDRESS_ID" color="#CAA97F"></radio>
</view>
<view class="card-left">
@ -16,14 +23,26 @@
{{ n.USER_NAME + n.USER_SEX_TEXT + " " + n.MOBILEPHONE }}
</view>
</view>
<view class="card-right" @click.stop="editAddress(n.MEMBERADDRESS_ID)">
<image src="https://eshangtech.com/ShopICO/icos/address-edit.png" style="width: 28rpx; height: 28rpx" />
<view
class="card-right"
@click.stop="editAddress(n.MEMBERADDRESS_ID)"
>
<image
src="https://eshangtech.com/ShopICO/icos/address-edit.png"
style="width: 28rpx; height: 28rpx"
/>
</view>
</view>
</radio-group>
</div>
<navigator url="/pages/myAddress/newAdd/index" class="btn">新增收货地址</navigator>
<CustomLoading :visible="isLoading" />
<navigator url="/pages/myAddress/newAdd/index" class="btn"
>新增收货地址</navigator
>
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -38,7 +57,7 @@ export default {
},
addList: [],
addressId: 0, //
isLoading: false
isLoading: false,
};
},
components: { CustomLoading },
@ -51,7 +70,7 @@ export default {
}),
getList() {
let _this = this;
this.isLoading = true
this.isLoading = true;
this.$api
.getCoop({
action_type: "GetAddressList",
@ -60,7 +79,7 @@ export default {
if (res.ResultCode === "100") {
_this.addList = res.Data.List;
}
_this.isLoading = false
_this.isLoading = false;
});
},
editAddress(id) {

View File

@ -1,26 +1,42 @@
<template>
<div class="main">
<div class="tabBox">
<div :class="selectTab === item.value ? 'selectTab' : 'tabItem'" v-for="(item, index) in tabList" :key="index"
@click="handleChangeSelectTab(item.value)">
<div
:class="selectTab === item.value ? 'selectTab' : 'tabItem'"
v-for="(item, index) in tabList"
:key="index"
@click="handleChangeSelectTab(item.value)"
>
{{ item.label || "-" }}
</div>
</div>
<div class="content">
<div class="contentFirst" v-if="
selectTab === 1 ||
selectTab === 2 ||
selectTab === 4 ||
selectTab === 5
">
<div
class="contentFirst"
v-if="
selectTab === 1 ||
selectTab === 2 ||
selectTab === 4 ||
selectTab === 5
"
>
<div class="orderList" v-if="orderList && orderList.length > 0">
<div class="orderItem" v-for="(item, index) in orderList" :key="index" @click="goOrderDetail(item)">
<div
class="orderItem"
v-for="(item, index) in orderList"
:key="index"
@click="goOrderDetail(item)"
>
<div class="topItem">
<div class="shopIconBox">
<image class="shopIcon" :src="item.SHOPDOORIMG ||
'https://eshangtech.com/ShopICO/no-picture.png'
" />
<image
class="shopIcon"
:src="
item.SHOPDOORIMG ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
/>
</div>
<div class="messageBox">
<div class="nameBox">
@ -34,10 +50,18 @@
<div class="shopList">
<scroll-view class="shopLeftList" :scroll-x="true">
<div class="leftShopItem" v-for="(item, index) in item.GOODSList" :key="index">
<image class="leftShopImg" :src="item.IMAGE_URL ||
'https://eshangtech.com/ShopICO/no-picture.png'
" />
<div
class="leftShopItem"
v-for="(item, index) in item.GOODSList"
:key="index"
>
<image
class="leftShopImg"
:src="
item.IMAGE_URL ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
/>
<span class="shopName">{{ item.COMMODITY_NAME }}</span>
</div>
</scroll-view>
@ -52,14 +76,23 @@
</div>
<div class="commentBox">
<div class="commentItem" @click.stop="goEvaluate(item)" v-if="
item.COMMENT_STATE === 0 &&
item.SALEBILL_STATE !== 1010 &&
item.SALEBILL_STATE >= 3000 && item.SALEBILL_STATE < 8000
">
<div
class="commentItem"
@click.stop="goEvaluate(item)"
v-if="
item.COMMENT_STATE === 0 &&
item.SALEBILL_STATE !== 1010 &&
item.SALEBILL_STATE >= 3000 &&
item.SALEBILL_STATE < 8000
"
>
评价得积分
</div>
<div class="commentItem" @click="goOrderDetail(item)" v-if="item.SALEBILL_STATE === 1005">
<div
class="commentItem"
@click="goOrderDetail(item)"
v-if="item.SALEBILL_STATE === 1005"
>
去支付
</div>
</div>
@ -72,7 +105,11 @@
<div class="contentLast" v-if="selectTab === 3">
<template v-if="myEvaluation && myEvaluation.length > 0">
<div class="myEvaluate" v-for="(item, index) in myEvaluation" :key="index">
<div
class="myEvaluate"
v-for="(item, index) in myEvaluation"
:key="index"
>
<div class="evaluateTop">
<div class="evaluateLeft">
<image class="shopIcon" />
@ -80,12 +117,20 @@
<span class="timeText"></span>
</div>
<div class="evaluateRight">
<image class="deleteIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/deleteIcon.png" />
<image
class="deleteIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/deleteIcon.png"
/>
</div>
</div>
<div class="rateBox">
<uni-rate :size="12" allowHalf v-model="saveMsg.commentScore" @change="changeRate($event, saveMsg)" />
<uni-rate
:size="12"
allowHalf
v-model="saveMsg.commentScore"
@change="changeRate($event, saveMsg)"
/>
<span class="rateText"></span>
</div>
@ -108,25 +153,41 @@
</div>
<div class="order" v-if="false">
<div class="order-list" v-for="(item, index) in orderList" :key="index" @click="goOrderDetail(item)">
<div
class="order-list"
v-for="(item, index) in orderList"
:key="index"
@click="goOrderDetail(item)"
>
<div class="order-top">
<div class="img-box">
<image class="order-img" mode="aspectFit" lazy-load="true" :src="item.SHOPDOORIMG ||
'https://eshangtech.com/ShopICO/no-picture.png'
"></image>
<image
class="order-img"
mode="aspectFit"
lazy-load="true"
:src="
item.SHOPDOORIMG ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
></image>
</div>
<div class="order-top-right">
<div style="
<div
style="
display: flex;
align-item: center;
justify-content: space-between;
">
"
>
<div class="order-name-box" @click.stop="goShop(item)">
<div class="order-name">{{ item.SHOPNAME }}</div>
<van-icon name="arrow" size="24rpx" />
</div>
<span class="order-price" :class="{ appoint: item.TAKE_TYPE === 2000 }">{{ item.SALEBILL_STATE_TEXT
}}</span>
<span
class="order-price"
:class="{ appoint: item.TAKE_TYPE === 2000 }"
>{{ item.SALEBILL_STATE_TEXT }}</span
>
</div>
<div class="order-date">
@ -135,32 +196,48 @@
</div>
</div>
<div style="
<div
style="
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 16rpx;
padding-right: 24rpx;
">
"
>
<div class="order-goods">
{{ item.COMMODITY_NAME }}
<span v-show="item.RECORD_COUNT > 1">
{{ item.RECORD_COUNT }}种商品</span>
{{ item.RECORD_COUNT }}种商品</span
>
</div>
<span class="order-price">{{ item.ORDER_AMOUNT }}</span>
</div>
<div class="order-btn-box">
<span class="order-btn" v-if="item.SALEBILL_STATE === 1005">去付款</span>
<span class="order-btn" v-if="item.SALEBILL_STATE === 1005"
>去付款</span
>
<block v-else>
<!-- <span class="order-btn" @click.stop="goShop(item)" >再来一单</span> -->
<span class="advice-btn" @click.stop="goEvaluate(item)"
v-if="item.COMMENT_STATE === 0 && item.SALEBILL_STATE !== 1010">评价得积分</span>
<span
class="advice-btn"
@click.stop="goEvaluate(item)"
v-if="item.COMMENT_STATE === 0 && item.SALEBILL_STATE !== 1010"
>评价得积分</span
>
</block>
</div>
</div>
<no-data :text="'您没有订单记录'" :isShow="!(orderList && orderList.length > 0)" />
<no-data
:text="'您没有订单记录'"
:isShow="!(orderList && orderList.length > 0)"
/>
</div>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -204,11 +281,12 @@ export default {
selectTab: 1,
myEvaluation: [], //
searchType: "",
isLoading: false
isLoading: false,
};
},
components: {
noData, CustomLoading
noData,
CustomLoading,
},
computed: {
...mapGetters(["user", "refresh"]),
@ -225,14 +303,14 @@ export default {
this.selectTab === 1
? "1005,1010,2010,3000"
: this.selectTab === 2
? "1005"
: this.selectTab === 3
? "1010"
: this.selectTab === 4
? "2010"
: this.selectTab === 5
? "3000"
: "";
? "1005"
: this.selectTab === 3
? "1010"
: this.selectTab === 4
? "2010"
: this.selectTab === 5
? "3000"
: "";
this.handleGetOrderList(type);
},
getorderList() {
@ -240,7 +318,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
_this.$api
.getCoop({
action_type: "GetOrderList",
@ -282,7 +360,7 @@ export default {
this.setIsLoading(false);
// uni.hideLoading();
this.isLoading = false
this.isLoading = false;
});
},
goShop(item) {
@ -341,7 +419,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
const req = {
action_type: "GetOrderList",
salebillType: 6000,
@ -373,7 +451,7 @@ export default {
this.setIsLoading(false);
// uni.hideLoading();
this.isLoading = false
this.isLoading = false;
},
},
onPullDownRefresh() {
@ -395,20 +473,20 @@ export default {
onLoad(query) {
if (query.type) {
this.searchType = query.type;
this.selectTab = Number(this.searchType)
this.selectTab = Number(this.searchType);
}
let type =
this.selectTab === 1
? "1005,1010,2010,3000"
: this.selectTab === 2
? "1005"
: this.selectTab === 3
? "1010"
: this.selectTab === 4
? "2010"
: this.selectTab === 5
? "3000"
: "";
? "1005"
: this.selectTab === 3
? "1010"
: this.selectTab === 4
? "2010"
: this.selectTab === 5
? "3000"
: "";
//
this.handleGetOrderList(type);
// this.orderList = []
@ -928,7 +1006,7 @@ export default {
line-height: 56rpx;
}
.order-btn+.advice-btn {
.order-btn + .advice-btn {
margin-left: 32rpx;
}
</style>

View File

@ -1,25 +1,44 @@
<template>
<div class="main">
<div class="top" :style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}">
<div
class="top"
:style="{
height: `${loginType === 'min' ? menu.bottom + 8 : ''}px`,
paddingTop: `${menu.top}px`,
}"
>
<div class="topContent">
<image class="backIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg" @click="handleBack" />
<image
class="backIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/backArrow.svg"
@click="handleBack"
/>
<div class="first" @click="goSelectServer">
<image class="addressIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="addressIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<div class="text">{{ serverPart.SERVERPART_NAME || "" }}</div>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
</div>
</div>
<div class="pageTop" v-if="false">
<div class="first" @click="goSelectServer">
<image class="addressIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png" />
<image
class="addressIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/blackFixed.png"
/>
<div class="text">{{ serverPart.SERVERPART_NAME || "" }}</div>
<image class="moreIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="moreIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
<div class="second">
距您{{ serverPart.SERVERPART_DISTANCE || "-" }}km
@ -34,28 +53,50 @@
</div> -->
<div class="newTabList" v-if="false">
<div :class="selectTypeTab === index ? 'newTabItem selectTabItem' : 'newTabItem'
" v-for="(item, index) in selectTypeList" :key="index" @click="handleChangeType(index)">
<div
:class="
selectTypeTab === index ? 'newTabItem selectTabItem' : 'newTabItem'
"
v-for="(item, index) in selectTypeList"
:key="index"
@click="handleChangeType(index)"
>
{{ item.label }}
</div>
</div>
<scroll-view scroll-y class="shopListBox" :style="{
height: `${loginType === 'min'
? `calc(100vh - ${menu.bottom + 8 + 12}px)`
: menu.height + 'px'
<scroll-view
scroll-y
class="shopListBox"
:style="{
height: `${
loginType === 'min'
? `calc(100vh - ${menu.bottom + 8 + 12}px)`
: menu.height + 'px'
}`,
}">
}"
>
<div v-if="shopList && shopList.length > 0">
<div class="shopItemBox" v-for="(item, index) in shopList" :key="index" @click.stop="goBuy(item)" :style="{
marginBottom: index + 1 === shopList.length ? '0' : '',
borderWidth: index + 1 === shopList.length ? '0' : '',
}">
<div
class="shopItemBox"
v-for="(item, index) in shopList"
:key="index"
@click.stop="goBuy(item)"
:style="{
marginBottom: index + 1 === shopList.length ? '0' : '',
borderWidth: index + 1 === shopList.length ? '0' : '',
}"
>
<div class="shopItemTop">
<div class="shopImg">
<image class="shopIcon" :src="item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
" mode="aspectFit" />
<image
class="shopIcon"
:src="
item.MERCHANTS_LOGO ||
'https://eshangtech.com/ShopICO/no-picture.png'
"
mode="aspectFit"
/>
</div>
<div class="shopDetail">
<div class="shopName">
@ -64,10 +105,16 @@
</div>
<div class="otherDetail">
<div class="leftDetail">
<span class="mark">{{ item.MERCHANTS_SCORE
}}<span class="unit"></span></span>
<span class="monthSales">月售{{ item.MONTHLYSALES || "-" }}</span>
<span class="perCapita">人均 {{ item.PERCAPITA || "-" }}</span>
<span class="mark"
>{{ item.MERCHANTS_SCORE
}}<span class="unit"></span></span
>
<span class="monthSales"
>月售{{ item.MONTHLYSALES || "-" }}</span
>
<span class="perCapita"
>人均 {{ item.PERCAPITA || "-" }}</span
>
</div>
<div class="rightDetail">
<!-- <span class="perCapita"
@ -81,24 +128,38 @@
</div>
</div>
<div class="couponList">
<div class="couponBox" :style="{
right:
item.SCANCODE_ORDER === 1 &&
<div
class="couponBox"
:style="{
right:
item.SCANCODE_ORDER === 1 &&
item.CouponList &&
item.CouponList.length > 0
? '160rpx'
: '0',
}" v-if="item.CouponList && item.CouponList.length > 0">
? '160rpx'
: '0',
}"
v-if="item.CouponList && item.CouponList.length > 0"
>
<view class="couponIconBox">
<image class="couponIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/useCoupon.svg" />
<image
class="couponIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/useCoupon.svg"
/>
</view>
<span class="couponText">优惠券</span>
</div>
</div>
<!-- 去点餐 -->
<div class="goOrder" v-if="item.SCANCODE_ORDER === 1" @click.stop="goBuy(item)">
<image class="orderIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.svg" />
<div
class="goOrder"
v-if="item.SCANCODE_ORDER === 1"
@click.stop="goBuy(item)"
>
<image
class="orderIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/goOrderIcon.svg"
/>
<span class="goOrderText">去点餐</span>
</div>
<!-- 优惠券 -->
@ -123,12 +184,19 @@
</div>
</div>
<div class="shopList" v-if="
item.GoodsList &&
item.GoodsList.length > 0 &&
item.SCANCODE_ORDER === 1
">
<div class="shopItem" v-for="(subItem, subIndex) in item.GoodsList" :key="subIndex">
<div
class="shopList"
v-if="
item.GoodsList &&
item.GoodsList.length > 0 &&
item.SCANCODE_ORDER === 1
"
>
<div
class="shopItem"
v-for="(subItem, subIndex) in item.GoodsList"
:key="subIndex"
>
<div class="shopImgBox">
<image class="shopImg" :src="subItem.IMAGE_URL" />
</div>
@ -144,10 +212,17 @@
</div>
</div>
<div v-else class="noDataBox">
<no-data text="暂无可点餐门店" :isShow="!(shopList && shopList.length > 0)" />
<no-data
text="暂无可点餐门店"
:isShow="!(shopList && shopList.length > 0)"
/>
</div>
</scroll-view>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -183,8 +258,8 @@ export default {
}
console.log("this.menu", this.menu);
let serviceInfo = await handleGetNearThreeService()
this.serverPart = serviceInfo.currentService
let serviceInfo = await handleGetNearThreeService();
this.serverPart = serviceInfo.currentService;
await this.handleGetShopList();
// let currentService = uni.getStorageSync("currentService");
@ -232,7 +307,8 @@ export default {
},
components: {
noData,
currentService, CustomLoading
currentService,
CustomLoading,
},
methods: {
handleBack() {
@ -255,22 +331,16 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
let _this = this;
const data = await this.$api
.getCoop({
action_type: "GetSellerList",
showSales: 1,
showCoupon: 1,
showComment: 1,
serverpartId: this.serverPart.SERVERPART_ID,
provinceCode: this.serverPart.ProvinceCode || "340000",
showGoods: 1,
pageSize: 9999,
pageIndex: 1,
})
let list = data.Data.List;
console.log("list", list);
// console.log("_this.serverPart", _this.serverPart);
const data = await this.$api.$javaGet2("/third-party/getMerchantsList", {
serverpartId: _this.serverPart.SERVERPART_ID,
});
console.log("datadatadatadatadata", data);
let list = data.Result_Data.List;
let shopList = [];
if (list && list.length > 0) {
list.forEach((item) => {
@ -282,9 +352,37 @@ export default {
_this.handleSortShopList(shopList);
console.log("shopList", shopList);
_this.shopList = shopList;
// uni.hideLoading();
_this.isLoading = false
this.$forceUpdate()
uni.hideLoading();
// const data = await this.$api
// .getCoop({
// action_type: "GetSellerList",
// showSales: 1,
// showCoupon: 1,
// showComment: 1,
// serverpartId: this.serverPart.SERVERPART_ID,
// provinceCode: this.serverPart.ProvinceCode || "340000",
// showGoods: 1,
// pageSize: 9999,
// pageIndex: 1,
// })
// let list = data.Data.List;
// console.log("list", list);
// let shopList = [];
// if (list && list.length > 0) {
// list.forEach((item) => {
// // if (item.SCANCODE_ORDER === 1) {
// shopList.push(item);
// // }
// });
// }
// _this.handleSortShopList(shopList);
// console.log("shopList", shopList);
// _this.shopList = shopList;
// // uni.hideLoading();
_this.isLoading = false;
this.$forceUpdate();
},
//
handleSortShopList(list) {
@ -346,15 +444,27 @@ export default {
},
goBuy(item) {
console.log("goBuy", item);
let stroreDetail = {
MONTHLYSALES: item.MONTHLYSALES,
PERCAPITA: item.PERCAPITA
};
if (this.user.MEMBERSHIP_MOBILEPHONE) {
let id = item.SERVERPARTSHOP_IDS.split(",")[0];
uni.navigateTo({
url: `/pages/shopPages/shop/index?id=${id}&mid=${item.MERCHANTS_ID}&province=${item.PROVINCE_CODE}&buyType=${item.SCANCODE_ORDER}`,
url: `/pages/shopPages/shop/index?id=${id}&mid=${
item.MERCHANTS_ID
}&province=${item.PROVINCE_CODE}&buyType=${
item.SCANCODE_ORDER
}&stroreDetail=${JSON.stringify(stroreDetail)}`,
});
} else {
let id = item.SERVERPARTSHOP_IDS.split(",")[0];
uni.navigateTo({
url: `/pages/shopPages/shop/index?id=${id}&mid=${item.MERCHANTS_ID}&province=${item.PROVINCE_CODE}&buyType=${item.SCANCODE_ORDER}`,
url: `/pages/shopPages/shop/index?id=${id}&mid=${
item.MERCHANTS_ID
}&province=${item.PROVINCE_CODE}&buyType=${
item.SCANCODE_ORDER
}&stroreDetail=${JSON.stringify(stroreDetail)}`,
});
this.isLogin = true;
}
@ -572,7 +682,8 @@ export default {
.titleIcon {
display: inline-block;
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png") no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background: url("https://eshangtech.com/ShopICO/icos/to-eat.png")
no-repeat center; // eshangtech.com/ShopICO/icos/to-eat.png) no-repeat center;
background-size: contain;
width: 133rpx;
height: 48rpx;
@ -635,7 +746,8 @@ export default {
}
.icon-coupon {
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png") no-repeat left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background: url("https://eshangtech.com/ShopICO/icos/y-yhq.png")
no-repeat left center; // eshangtech.com/ShopICO/icos/y-yhq.png) no-repeat left center
background-size: contain;
// width 75rpx
// height 22rpx

View File

@ -135,7 +135,11 @@
<image class="backTopIcon" src="/static/home/backTopIcon.png" />
</view>
</view>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>

View File

@ -11,9 +11,17 @@
startObj.name || ""
}}</view>
<view class="positionBox" v-if="startEndType !== 1">
<textarea style="width: 100%" placeholder="请输入目的地" auto-height placeholder-style="font-size: 30rpx"
v-model="searchPoint" confirm-type="search" @focus="handleEndPlaceFocus" @input="searchPOI"
@confirm="handleConfirmToSearch"></textarea>
<textarea
style="width: 100%"
placeholder="请输入目的地"
auto-height
placeholder-style="font-size: 30rpx"
v-model="searchPoint"
confirm-type="search"
@focus="handleEndPlaceFocus"
@input="searchPOI"
@confirm="handleConfirmToSearch"
></textarea>
<!-- @blur="handleEndPlaceBlur" -->
<!-- @confirm="searchPOI" -->
@ -23,21 +31,39 @@
<view class="itemLeftItem">
<view class="positionIcon endObj"></view>
<view class="positionBox noBorderBottom" v-if="startEndType === 1">
<textarea style="width: 100%" placeholder="请输入目的地" auto-height placeholder-style="font-size: 30rpx"
v-model="searchPoint" confirm-type="search" @focus="handleEndPlaceFocus" @input="searchPOI"
@confirm="handleConfirmToSearch"></textarea>
<view
class="positionBox noBorderBottom"
v-if="startEndType === 1"
>
<textarea
style="width: 100%"
placeholder="请输入目的地"
auto-height
placeholder-style="font-size: 30rpx"
v-model="searchPoint"
confirm-type="search"
@focus="handleEndPlaceFocus"
@input="searchPOI"
@confirm="handleConfirmToSearch"
></textarea>
<!-- @blur="handleEndPlaceBlur" -->
<!-- @confirm="searchPOI" -->
<!-- {{ endObj.name || "" }} -->
</view>
<view class="positionBox noBorderBottom" v-if="startEndType !== 1">{{ endObj.name || "" }}</view>
<view
class="positionBox noBorderBottom"
v-if="startEndType !== 1"
>{{ endObj.name || "" }}</view
>
</view>
</view>
<view class="itemRight">
<image class="reachIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/reachIcon.png"
@click="handleChangeStartEnd" />
<image
class="reachIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/reachIcon.png"
@click="handleChangeStartEnd"
/>
</view>
</view>
</view>
@ -60,11 +86,22 @@
</view>
<!-- 地名搜索的列表 -->
<view class="placeSearchListBox" v-if="pointList && pointList.length > 0 && endPlaceFocus">
<view class="listItem" v-for="(item, index) in pointList" :key="index" @click="handleGoUsMap(item)">
<view
class="placeSearchListBox"
v-if="pointList && pointList.length > 0 && endPlaceFocus"
>
<view
class="listItem"
v-for="(item, index) in pointList"
:key="index"
@click="handleGoUsMap(item)"
>
<view class="topItem">
<view class="topLeft">
<image class="listIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/address.png" />
<image
class="listIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/address.png"
/>
<span class="listName">{{ item.name || "" }}</span>
</view>
<view class="rightDistance">{{
@ -89,28 +126,41 @@
<span class="boldText">{{ detailObj.minute || "0" }}</span>
<span class="unit" style="margin-left: 4rpx"></span>
<span class="line"></span>
<span class="boldText"><span style="font-size: 24rpx; margin-right: 4rpx">¥</span>{{ detailObj.tolls || ""
}}</span>
<span class="boldText"
><span style="font-size: 24rpx; margin-right: 4rpx">¥</span
>{{ detailObj.tolls || "" }}</span
>
</view>
<view class="rightTop" @click="handleToMap(endObj)">
<image class="navigationIcon" src="https://eshangtech.com/ShopICO/discovery/navigationIcon.png" />
<image
class="navigationIcon"
src="https://eshangtech.com/ShopICO/discovery/navigationIcon.png"
/>
导航
</view>
</view>
<view class="roadConditions">
<view class="roadTop">
<image class="stateIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/trafficState1.png" />
<span class="stateText" :style="{ color: '#01a157' }">该路线全线畅通</span>
<image
class="stateIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/trafficState1.png"
/>
<span class="stateText" :style="{ color: '#01a157' }"
>该路线全线畅通</span
>
</view>
<view class="progress">
<view class="have" :style="{
width:
detailObj && detailObj.haveProgress
? detailObj.haveProgress + '%'
: '',
}"></view>
<view
class="have"
:style="{
width:
detailObj && detailObj.haveProgress
? detailObj.haveProgress + '%'
: '',
}"
></view>
</view>
</view>
@ -122,32 +172,49 @@
<view class="serviceTitle">沿途服务区</view>
<view v-if="chaegeBoxList && chaegeBoxList.length > 0">
<charge-box :serviceAreaList="chaegeBoxList" :pageType="'travelNavigation'" :startObj="startObj"
:endObj="endObj" />
<charge-box
:serviceAreaList="chaegeBoxList"
:pageType="'travelNavigation'"
:startObj="startObj"
:endObj="endObj"
/>
</view>
<view v-if="false">
<view class="serviceList" v-if="
detailObj &&
detailObj.servicePart &&
detailObj.servicePart.length > 0
">
<view class="serviceItem" v-for="(item, index) in detailObj.servicePart" :key="index" :style="{
border:
index + 1 === detailObj.servicePart.length ? 'none' : '',
marginBottom:
index + 1 === detailObj.servicePart.length ? '0' : '',
paddingBottom:
index + 1 === detailObj.servicePart.length ? '0' : '',
}" @click="handleGoServiceDetail(item.SERVERPART_ID)">
<view
class="serviceList"
v-if="
detailObj &&
detailObj.servicePart &&
detailObj.servicePart.length > 0
"
>
<view
class="serviceItem"
v-for="(item, index) in detailObj.servicePart"
:key="index"
:style="{
border:
index + 1 === detailObj.servicePart.length ? 'none' : '',
marginBottom:
index + 1 === detailObj.servicePart.length ? '0' : '',
paddingBottom:
index + 1 === detailObj.servicePart.length ? '0' : '',
}"
@click="handleGoServiceDetail(item.SERVERPART_ID)"
>
<view class="leftItem">
<view class="leftImgBox">
<view class="leftImg" :style="{
backgroundImage: `url(${item.ImageLits && item.ImageLits.length > 0
? item.ImageLits[0]
: 'https://eshangtech.com/wanmeiyizhanImg/discovery/defaultIcon.png'
<view
class="leftImg"
:style="{
backgroundImage: `url(${
item.ImageLits && item.ImageLits.length > 0
? item.ImageLits[0]
: 'https://eshangtech.com/wanmeiyizhanImg/discovery/defaultIcon.png'
})`,
}"></view>
}"
></view>
<!-- <image
class="leftImg"
:src="
@ -173,18 +240,30 @@
<view class="detailBottom">
<div class="distanceBox">
<div class="distanceLeft">
<image class="distanceIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/address.png" />
<span class="distanceNumber">{{ item.SERVERPART_DISTANCEGD || "-" }}km</span>
<image
class="distanceIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/address.png"
/>
<span class="distanceNumber"
>{{ item.SERVERPART_DISTANCEGD || "-" }}km</span
>
</div>
<span class="line"></span>
<span class="address">{{
item.SERVERPART_ADDRESS || "-"
}}</span>
</div>
<div class="typeList" v-if="item.ServerpartInfo.SERVERPART_TARGET">
<div class="typeItem" v-for="(
subItem, subIndex
) in item.ServerpartInfo.SERVERPART_TARGET.split(',')" :key="subIndex">
<div
class="typeList"
v-if="item.ServerpartInfo.SERVERPART_TARGET"
>
<div
class="typeItem"
v-for="(
subItem, subIndex
) in item.ServerpartInfo.SERVERPART_TARGET.split(',')"
:key="subIndex"
>
{{
SERVERPART_TARGETOBJ && subItem
? SERVERPART_TARGETOBJ[subItem]
@ -204,8 +283,10 @@ subItem, subIndex
<view class="chargeBox" v-if="false">
<view class="chargeItem">
<view class="itemLeft">
<image class="imgIcon"
src="@https://eshangtech.com/wanmeiyizhanImg/home/https://eshangtech.com/minTestImg/lixiangIcon.png" />
<image
class="imgIcon"
src="@https://eshangtech.com/wanmeiyizhanImg/home/https://eshangtech.com/minTestImg/lixiangIcon.png"
/>
<span class="chargeTypeName">理想</span>
</view>
<view class="itemRight">
@ -221,7 +302,10 @@ subItem, subIndex
</view>
<view class="chargeItem">
<view class="itemLeft">
<image class="imgIcon" src="@https://eshangtech.com/wanmeiyizhanImg/home/sunIcon.png" />
<image
class="imgIcon"
src="@https://eshangtech.com/wanmeiyizhanImg/home/sunIcon.png"
/>
<span class="chargeTypeName">交控新能源</span>
</view>
<view class="itemRight">
@ -233,7 +317,10 @@ subItem, subIndex
<view class="chargeItem">
<view class="itemLeft">
<image class="imgIcon" src="https://eshangtech.com/minTestImg/chargeAndReplace.png" />
<image
class="imgIcon"
src="https://eshangtech.com/minTestImg/chargeAndReplace.png"
/>
<span class="chargeTypeName">国网</span>
</view>
<view class="itemRight">
@ -241,7 +328,9 @@ subItem, subIndex
<span class="use">{{
item.chargeAndReplace || "0"
}}</span>
<span class="sum">/{{ item.chargeAndReplaceSum || "0" }}</span>
<span class="sum"
>/{{ item.chargeAndReplaceSum || "0" }}</span
>
</view>
</view>
</view>
@ -250,8 +339,16 @@ subItem, subIndex
<view class="centerItem">
<!-- 拥有设施的小图标 -->
<view class="centerConfigItem" v-for="(subItem, index) in item.imgList" :key="index">
<image v-if="subItem.isShow" class="configImg" :src="subItem.url" />
<view
class="centerConfigItem"
v-for="(subItem, index) in item.imgList"
:key="index"
>
<image
v-if="subItem.isShow"
class="configImg"
:src="subItem.url"
/>
</view>
</view>
@ -260,7 +357,10 @@ subItem, subIndex
<!-- 理想 -->
<view class="chargeItem">
<view class="chargeIconBox">
<image class="chargeIcon" src="https://eshangtech.com/minTestImg/LXIcon.png" />
<image
class="chargeIcon"
src="https://eshangtech.com/minTestImg/LXIcon.png"
/>
</view>
<view class="chargeInfo">
<span class="empty"></span>
@ -269,18 +369,23 @@ subItem, subIndex
? item.LXDetail.LXEmpty
: "0"
}}</span>
<span class="sum">/{{
item.LXDetail && item.LXDetail.LXSum
? item.LXDetail.LXSum
: "0"
}}</span>
<span class="sum"
>/{{
item.LXDetail && item.LXDetail.LXSum
? item.LXDetail.LXSum
: "0"
}}</span
>
</view>
</view>
<!-- 蔚来 -->
<view class="chargeItem">
<view class="chargeIconBox">
<image class="chargeIcon" src="https://eshangtech.com/minTestImg/WLIcon.png" />
<image
class="chargeIcon"
src="https://eshangtech.com/minTestImg/WLIcon.png"
/>
</view>
<view class="chargeInfo">
<span class="empty"></span>
@ -289,18 +394,23 @@ subItem, subIndex
? item.WLDetail.WLEmpty
: "0"
}}</span>
<span class="sum">/{{
item.WLDetail && item.WLDetail.WLSum
? item.WLDetail.WLSum
: "0"
}}</span>
<span class="sum"
>/{{
item.WLDetail && item.WLDetail.WLSum
? item.WLDetail.WLSum
: "0"
}}</span
>
</view>
</view>
<!-- 交控新能源(阳光) -->
<view class="chargeItem">
<view class="chargeIconBox">
<image class="chargeIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/sunIcon.svg" />
<image
class="chargeIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/sunIcon.svg"
/>
</view>
<view class="chargeInfo">
<span class="empty"></span>
@ -309,33 +419,40 @@ subItem, subIndex
? item.SunDetail.SunEmpty
: "0"
}}</span>
<span class="sum">/{{
item.SunDetail && item.SunDetail.SunSum
? item.SunDetail.SunSum
: "0"
}}</span>
<span class="sum"
>/{{
item.SunDetail && item.SunDetail.SunSum
? item.SunDetail.SunSum
: "0"
}}</span
>
</view>
</view>
<!-- 国网(充换电) -->
<view class="chargeItem">
<view class="chargeIconBox">
<image class="chargeIcon" src="https://eshangtech.com/minTestImg/stateGridIcon.png" />
<image
class="chargeIcon"
src="https://eshangtech.com/minTestImg/stateGridIcon.png"
/>
</view>
<view class="chargeInfo">
<span class="empty"></span>
<span class="emptyValue">{{
item.chargeAndReplaceDetail &&
item.chargeAndReplaceDetail.chargeAndReplace
item.chargeAndReplaceDetail.chargeAndReplace
? item.chargeAndReplaceDetail.chargeAndReplace
: "0"
}}</span>
<span class="sum">/{{
item.chargeAndReplaceDetail &&
<span class="sum"
>/{{
item.chargeAndReplaceDetail &&
item.chargeAndReplaceDetail.chargeAndReplaceSum
? item.chargeAndReplaceDetail.chargeAndReplaceSum
: "0"
}}</span>
? item.chargeAndReplaceDetail.chargeAndReplaceSum
: "0"
}}</span
>
</view>
</view>
</view>
@ -362,13 +479,19 @@ subItem, subIndex
<!-- 充换电app跳转 -->
<view class="goAppBox" @click="handleGo" v-if="false">
<div class="appLeft">
<image class="goAppIcon" src="https://eshangtech.com/ShopICO/ahyd-user/images/home/anhuiAPPIcon.png" />
<image
class="goAppIcon"
src="https://eshangtech.com/ShopICO/ahyd-user/images/home/anhuiAPPIcon.png"
/>
<span class="appName">安徽充换电APP</span>
</div>
<div class="appRight">
<span class="search">查看</span>
<image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png" />
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/rightArrow.png"
/>
</div>
</view>
@ -377,12 +500,28 @@ subItem, subIndex
</view> -->
<!-- <view>{{ JSON.stringify(userInfo) }}</view> -->
</view>
<uni-popup ref="popup" :show="isShow" :safe-area="false" @close="handleClosePopup" @maskClick="handleClosePopup">
<uni-popup
ref="popup"
:show="isShow"
:safe-area="false"
@close="handleClosePopup"
@maskClick="handleClosePopup"
>
<view class="selectPointBox">
<view class="searchBox">
<image class="searchIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png" />
<input class="inputBox" v-model="searchPoint" placeholder="搜索地点、服务区" placeholder-style="font-size: 24rpx"
confirm-type="search" @input="searchPOI" @confirm="searchPOI" />
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png"
/>
<input
class="inputBox"
v-model="searchPoint"
placeholder="搜索地点、服务区"
placeholder-style="font-size: 24rpx"
confirm-type="search"
@input="searchPOI"
@confirm="searchPOI"
/>
<span class="searchBtn" @click="searchPOI">搜索</span>
</view>
@ -402,10 +541,18 @@ subItem, subIndex
</view>
<scroll-view scroll-y class="listBox">
<view class="listItem" v-for="(item, index) in pointList" :key="index" @click="handleGoUsMap(item)">
<view
class="listItem"
v-for="(item, index) in pointList"
:key="index"
@click="handleGoUsMap(item)"
>
<view class="topItem">
<view class="topLeft">
<image class="listIcon" src="https://eshangtech.com/wanmeiyizhanImg/home/address.png" />
<image
class="listIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/address.png"
/>
<span class="listName">{{ item.name || "" }}</span>
</view>
<view class="rightDistance">{{
@ -418,7 +565,11 @@ subItem, subIndex
<!-- name -->
</view>
</uni-popup>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
@ -435,7 +586,7 @@ import {
handleHavePointInApp,
hanldeHavePointInIos,
handleGetUserPointInfo,
handleGetNearThreeService
handleGetNearThreeService,
} from "../../utils/publicMethods.js";
export default {
@ -483,9 +634,9 @@ export default {
console.log("type", type);
let _this = this;
const seatInfo = await handleGetUserPointInfo()
this.seatInfo = seatInfo
const serviceInfo = await handleGetNearThreeService()
const seatInfo = await handleGetUserPointInfo();
this.seatInfo = seatInfo;
const serviceInfo = await handleGetNearThreeService();
this.endPointObj = {
...serviceInfo.nearService,
@ -582,8 +733,8 @@ export default {
// }
// }
const seatInfo = await handleGetUserPointInfo()
this.seatInfo = seatInfo
const seatInfo = await handleGetUserPointInfo();
this.seatInfo = seatInfo;
this.userObj = {
...this.userObj,
@ -632,17 +783,21 @@ export default {
if (!this.endObj.name) {
uni.showToast({
title: "请选择目的地",
icon: 'none'
})
return
icon: "none",
});
return;
}
if (this.pointList && this.pointList.length > 0 && !this.endObj.location) {
if (
this.pointList &&
this.pointList.length > 0 &&
!this.endObj.location
) {
this.handleGoUsMap(this.pointList[0]);
this.endPlaceFocus = false;
} else {
this.handleGoUsMap({
...this.endObj,
location: `${this.endObj.longitude},${this.endObj.latitude}`
location: `${this.endObj.longitude},${this.endObj.latitude}`,
});
this.endPlaceFocus = false;
}
@ -721,7 +876,7 @@ export default {
name: obj.name,
longitude: lon2,
latitude: lat2,
location: obj
location: obj,
};
if (this.startEndType === 1) {
@ -814,9 +969,9 @@ export default {
const a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(toRad(lat1)) *
Math.cos(toRad(lat2)) *
Math.sin(dLon / 2) *
Math.sin(dLon / 2);
Math.cos(toRad(lat2)) *
Math.sin(dLon / 2) *
Math.sin(dLon / 2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return (R * c).toFixed(2); //
@ -1025,7 +1180,7 @@ export default {
let seatInfo = uni.getStorageSync("seatInfo");
if (seatInfo) {
// return JSON.parse(seatInfo);
return seatInfo
return seatInfo;
} else {
plus.geolocation.getCurrentPosition(async function (position) {
console.log("当前位置:", position);
@ -1135,8 +1290,8 @@ export default {
console.log("this.seatInfo", this.seatInfo);
if (!(this.seatInfo.longitude && this.seatInfo.latitude)) {
console.log("this.loginType", this.loginType);
const seatInfo = await handleGetUserPointInfo()
this.seatInfo = seatInfo
const seatInfo = await handleGetUserPointInfo();
this.seatInfo = seatInfo;
// if (this.loginType === "min") {
// handleHavePointInMin().then((res) => {
// _this.handleGetOnLoad();
@ -1153,7 +1308,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
// key
const key = "6e96a801bcea5290d3dcbf100358a6b3";
//
@ -1308,7 +1463,7 @@ export default {
// uni.hideLoading();
_this.isLoading = false
_this.isLoading = false;
return;
let list = [];
@ -1644,7 +1799,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
_this.isLoading = true
_this.isLoading = true;
const LiOperatorSecret = "bGMyYwJFl17BqwD3";
const LiOperCode = "MA7EBGWBX";
const LiSigSecret = "V7I6yvHvEk8STt0P";
@ -1819,7 +1974,7 @@ export default {
}
// uni.hideLoading();
_this.isLoading = false
_this.isLoading = false;
// const stationFee = await this.$testApi.$post("/send", {
// url: "https://openapi.chehejia.com/lcp-inter-evio-service/evcs/v1/evio/query_equip_business_policy",
// data: JSON.stringify({

View File

@ -1171,7 +1171,11 @@
</view>
</view>
</view>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</view>
</template>
@ -1309,6 +1313,7 @@ export default {
let currentService = uni.getStorageSync("currentService");
let seatInfo = uni.getStorageSync("seatInfo");
this.seatInfo = seatInfo;
let req = {
ServerpartId: id || currentService.SERVERPART_ID,
latitude: this.seatInfo.latitude,
@ -1318,10 +1323,17 @@ export default {
// uni.showLoading({
// title: "...",
// });
const data = await this.$api.$get(
"/CommercialApi/BaseInfo/GetServerpartInfo",
const data = await this.$api.$javaGet2(
"/third-party/getServerPartInfo",
req
);
// const data = await this.$api.$get(
// "/CommercialApi/BaseInfo/GetServerpartInfo",
// req
// );
let obj = data.Result_Data;
let sumObj = {
LIVESTOCKPACKING: 0, //
@ -1789,18 +1801,25 @@ export default {
// uni.showLoading({
// title: "...",
// });
const data = await this.$api.getCoop({
action_type: "GetSellerList",
showSales: 1,
showCoupon: 1,
showComment: 1,
// const data = await this.$api.getCoop({
// action_type: "GetSellerList",
// showSales: 1,
// showCoupon: 1,
// showComment: 1,
// serverpartId: this.detailInfo.SERVERPART_ID,
// provinceCode: "340000",
// showGoods: 1,
// pageSize: 9999,
// pageIndex: 1,
// });
// let list = data.Data.List || [];
const data = await this.$api.$javaGet2("/third-party/getMerchantsList", {
serverpartId: this.detailInfo.SERVERPART_ID,
provinceCode: "340000",
showGoods: 1,
pageSize: 9999,
pageIndex: 1,
});
let list = data.Data.List || [];
let list = data.Result_Data.List;
console.log("handleGetMerchant", list);
this.merchantList = list;
// uni.hideLoading();
@ -1808,13 +1827,14 @@ export default {
},
goShop(item) {
console.log("goShop", item);
if (item.SCANCODE_ORDER === 1) {
this.goBuy(item);
} else {
uni.navigateTo({
url: `/pages/storeDetail/index?id=${item.MERCHANTS_ID}`,
});
}
this.goBuy(item);
// if (item.SCANCODE_ORDER === 1) {
// this.goBuy(item);
// } else {
// uni.navigateTo({
// url: `/pages/storeDetail/index?id=${item.MERCHANTS_ID}`,
// });
// }
},
//
goBuy(item) {
@ -3094,7 +3114,6 @@ export default {
overflow: hidden;
border-radius: 12rpx;
margin-bottom: 8rpx;
.shopImg {
width: 100%;

View File

@ -1,23 +1,36 @@
<template>
<div class="settlement" :style="{ overflow: isShow ? 'hidden' : 'auto' }">
<div class="settlement-title">
<div class="settlement-yy" @click="getYy" :class="{ 'settlement-color': active === 0 }">
<div
class="settlement-yy"
@click="getYy"
:class="{ 'settlement-color': active === 0 }"
>
<i class="yy-img" :class="{ 'yy-img-active': active === 0 }"></i>
外带
</div>
<div class="settlement-ts" @click="getTs" :class="{ 'settlement-color': active === 1 }">
<div
class="settlement-ts"
@click="getTs"
:class="{ 'settlement-color': active === 1 }"
>
<i class="ts-img" :class="{ 'ts-img-active': active === 1 }"></i>
堂食
</div>
</div>
<div class="sellement-apponit-box">
<div class="sellement-apponit-box">
<!-- v-if="active === 0" -->
<div class="sellement-apponit-unit">
<div class="sellement-apponit-unit">
<!-- class="link-type" -->
<div class="time-title">联系方式</div>
<view class="radio-box bb1">
<input style="font-size: 28rpx" type="number" placeholder="请输入联系号码" @input="bindKeyInput"
:value="phoneNumber" />
<input
style="font-size: 28rpx"
type="number"
placeholder="请输入联系号码"
@input="bindKeyInput"
:value="phoneNumber"
/>
</view>
</div>
<div class="sellement-apponit-unit" v-if="active === 1 && tableNum != ''">
@ -30,9 +43,19 @@
<!-- v-if="active === 0" -->
<div class="sellement-apponit-unit">
<div class="time-title">就餐时间</div>
<radio-group :value="radio" @change="onChangeRadio" class="radio-box bb1">
<radio style="width: 60%" class="radio-list" color="#CAA97F" :name="beExpectedTo" checked-color="#CAA97F"
@click="getRadio({ value: beExpectedTo })">
<radio-group
:value="radio"
@change="onChangeRadio"
class="radio-box bb1"
>
<radio
style="width: 60%"
class="radio-list"
color="#CAA97F"
:name="beExpectedTo"
checked-color="#CAA97F"
@click="getRadio({ value: beExpectedTo })"
>
<view class="section">
<view class="picker">
预计(
@ -66,10 +89,23 @@
</picker> -->
</radio>
<radio style="width: 40%" class="radio-list" color="#CAA97F" :name="showTime" checked-color="#CAA97F"
@click="getRadio({ value: showTime })">
<picker ref="timePicker" mode="time" id="timePicker" :value="time" :start="start" :end="end"
@change="bindTimeChange">
<radio
style="width: 40%"
class="radio-list"
color="#CAA97F"
:name="showTime"
checked-color="#CAA97F"
@click="getRadio({ value: showTime })"
>
<picker
ref="timePicker"
mode="time"
id="timePicker"
:value="time"
:start="start"
:end="end"
@change="bindTimeChange"
>
<view class="section">
<view class="picker">
{{ showTime }}
@ -86,22 +122,49 @@
<div class="time-title">行驶方向</div>
<radio-group :value="storeId" class="radio-box bb1">
<!-- @change="onChangeStore" -->
<label class="radio-list" v-for="(item, index) in nowStore.ShopList" :key="index">
<radio color="#CAA97F" :value="item.SERVERPARTSHOP_ID" :checked="storeId === item.SERVERPARTSHOP_ID"
@click="getFx(item)" />
<label
class="radio-list"
v-for="(item, index) in nowStore.ShopList"
:key="index"
>
<radio
color="#CAA97F"
:value="item.SERVERPARTSHOP_ID"
:checked="storeId === item.SERVERPARTSHOP_ID"
@click="getFx(item)"
/>
<span class="radio-unit">{{ item.SHOPDIRECTION }}</span>
</label>
</radio-group>
<view class="repositioning" @click="handleAgainPosition" v-if="hideAgainIcon">
<image class="icon" src="https://eshangtech.com/wanmeiyizhanImg/home/repositioning.svg" />
<view
class="repositioning"
@click="handleAgainPosition"
v-if="hideAgainIcon"
>
<image
class="icon"
src="https://eshangtech.com/wanmeiyizhanImg/home/repositioning.svg"
/>
</view>
</div>
<div class="sellement-apponit-unit" v-if="active === 1">
<div class="time-title">预约餐桌</div>
<radio-group :value="board" @change="onChangeIsPackage" class="radio-box bb1">
<view class="radio-list" v-for="(item, index) in boardList" :key="index">
<radio :value="item.value" color="#CAA97F" @click="getBoard(item)" />
<radio-group
:value="board"
@change="onChangeIsPackage"
class="radio-box bb1"
>
<view
class="radio-list"
v-for="(item, index) in boardList"
:key="index"
>
<radio
:value="item.value"
color="#CAA97F"
@click="getBoard(item)"
/>
<text class="radio-unit">{{ item.label }}</text>
</view>
</radio-group>
@ -110,7 +173,13 @@
<div class="sellement-apponit-unit" v-if="board === 1">
<div class="time-title">就餐人数</div>
<radio-group class="radio-box bb1">
<picker mode="selector" :value="people" :range="peopleList" range-key="label" @change="handleChangePeople">
<picker
mode="selector"
:value="people"
:range="peopleList"
range-key="label"
@change="handleChangePeople"
>
<view class="section">
<view class="picker">
{{ peopleList[people].label }}
@ -122,9 +191,21 @@
<div class="sellement-apponit-unit" v-if="false">
<div class="time-title">是否打包</div>
<radio-group :value="isPackage" @change="onChangeIsPackage" class="radio-box bb1">
<view class="radio-list" v-for="(item, index) in packageList" :key="index">
<radio :value="item.value" color="#CAA97F" @click="getPackge(item)" />
<radio-group
:value="isPackage"
@change="onChangeIsPackage"
class="radio-box bb1"
>
<view
class="radio-list"
v-for="(item, index) in packageList"
:key="index"
>
<radio
:value="item.value"
color="#CAA97F"
@click="getPackge(item)"
/>
<text class="radio-unit">{{ item.name }}</text>
</view>
</radio-group>
@ -133,7 +214,12 @@
<span class="time-title">订单备注</span>
<view class="radio-box coupon-right" @click="goRemark">
<div class="coupon-remark">{{ remark || "口味、偏好" }}</div>
<van-icon name="arrow" size="28rpx" custom-style="margin-left:12rpx;" color="#999" />
<van-icon
name="arrow"
size="28rpx"
custom-style="margin-left:12rpx;"
color="#999"
/>
</view>
</div>
</div>
@ -158,13 +244,20 @@
<div class="coupon" @click="goCoupon" v-if="couponCout > 0">
<span class="coupon-title">优惠券</span>
<div class="coupon-right">
<div :class="{
priceColor: couponAmount,
'icon-coupon': couponAmount === 0,
}">
<div
:class="{
priceColor: couponAmount,
'icon-coupon': couponAmount === 0,
}"
>
{{ couponAmount > 0 ? "-¥" + couponAmount : "" }}
</div>
<van-icon name="arrow" size="28rpx" custom-style="margin-left:12rpx;" color="#999" />
<van-icon
name="arrow"
size="28rpx"
custom-style="margin-left:12rpx;"
color="#999"
/>
</div>
</div>
<div class="coupon" v-if="packageAmount > 0">
@ -187,7 +280,9 @@
<div class="go-pay">
<div class="pay-left">
还需支付<span class="pay-price"><span style="font-size: 28rpx"></span>{{ orderAmount }}</span>
还需支付<span class="pay-price"
><span style="font-size: 28rpx"></span>{{ orderAmount }}</span
>
</div>
<div class="pay-right" @click="goPayMent">去支付</div>
</div>
@ -196,15 +291,26 @@
<div class="bottom-pop-title">确认支付方式</div>
<div class="bottom-content">
<van-radio-group :value="cardPay.payType" @change="changePayType">
<van-radio name="余额支付" checked-color="#CAA97F" class="bottom-radio" :disabled="!cardPay.canCardPay">
<span :class="{ disable: !cardPay.canCardPay }">余额支付<span style="font-size: 24rpx">{{
" (剩余:¥" +
cardPay.amount +
") " +
(!cardPay.canCardPay ? cardPay.reason : "")
}}</span></span>
<van-radio
name="余额支付"
checked-color="#CAA97F"
class="bottom-radio"
:disabled="!cardPay.canCardPay"
>
<span :class="{ disable: !cardPay.canCardPay }"
>余额支付<span style="font-size: 24rpx">{{
" (剩余:¥" +
cardPay.amount +
") " +
(!cardPay.canCardPay ? cardPay.reason : "")
}}</span></span
>
</van-radio>
<van-radio name="微信支付" checked-color="#CAA97F" class="bottom-radio">
<van-radio
name="微信支付"
checked-color="#CAA97F"
class="bottom-radio"
>
<span class="">微信支付</span>
</van-radio>
</van-radio-group>
@ -214,8 +320,14 @@
</div>
</UniPopup>
<UniPopup :show="payShow" position="bottom" overlay="false" ref="payPopup" @close="handlePayClose"
:safe-area="false">
<UniPopup
:show="payShow"
position="bottom"
overlay="false"
ref="payPopup"
@close="handlePayClose"
:safe-area="false"
>
<div class="payShowBox">
<div class="payBoxTitle">支付方式</div>
@ -241,14 +353,25 @@
: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>
@ -258,7 +381,11 @@
</div>
</div>
</UniPopup>
<CustomLoading :visible="isLoading" />
<CustomLoading
:visible="isLoading"
v-if="isLoading"
@update:visible="(val) => (isLoading = val)"
/>
</div>
</template>
@ -352,7 +479,8 @@ export default {
};
},
components: {
UniPopup, CustomLoading
UniPopup,
CustomLoading,
},
computed: {
...mapGetters({
@ -417,7 +545,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
let _this = this;
await new Promise((resolve) => {
setTimeout(() => {
@ -426,7 +554,7 @@ export default {
_this.storeId = _this.nowStore.ShopList[1].SERVERPARTSHOP_ID;
console.log("_this.storeId ", _this.storeId);
_this.hideAgainIcon = false;
_this.isLoading = false
_this.isLoading = false;
_this.$forceUpdate();
// uni.hideLoading();
}, 2000);
@ -439,7 +567,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
const req = {
ServerpartId: this.SERVERPART_ID,
};
@ -453,14 +581,14 @@ export default {
this.handleGetDistance(detailObj);
// uni.hideLoading();
this.isLoading = false
this.isLoading = false;
},
// api
async handleGetDistance(obj) {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
let _this = this;
const key = "6e96a801bcea5290d3dcbf100358a6b3"; //
//
@ -488,14 +616,15 @@ export default {
let min = arriveDate.getMinutes();
console.log("hour", hour);
console.log("min", min);
_this.beExpectedTo = `${hour < 10 ? "0" + hour : hour}:${min < 10 ? "0" + min : min
}`;
_this.beExpectedTo = `${hour < 10 ? "0" + hour : hour}:${
min < 10 ? "0" + min : min
}`;
}
},
fail: (error) => { },
fail: (error) => {},
});
// uni.hideLoading();
this.isLoading = false
this.isLoading = false;
},
//
handleGetRealPosition() {
@ -503,7 +632,7 @@ export default {
// uni.showLoading({
// title: "...",
// });
this.isLoading = true
this.isLoading = true;
uni.getLocation({
type: "gcj02",
altitude: true,
@ -524,12 +653,12 @@ export default {
// await _this.handleGetNearService(latitude, longitude);
_this.handleGetServerPart();
_this.isLoading = false
_this.isLoading = false;
// uni.hideLoading();
},
fail: async (err) => {
console.log("err", err);
_this.isLoading = false
_this.isLoading = false;
},
});
},
@ -862,8 +991,8 @@ export default {
uni.showToast({
title: "APP支付申请中...",
icon: 'none'
})
icon: "none",
});
}
//

File diff suppressed because it is too large Load Diff

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

@ -12344,6 +12344,8 @@ var webUrl = 'https://api.eshangtech.com'; // webapi
var staticImagePath = 'https://eshangtech.com/ShopICO';
var javaUrl = "https://admin.es.eshangtech.com/prod-api";
var javaUrl2 = "https://admin.es.eshangtech.com/platform";
// let javaUrl2 = `http://10.104.1.175:8070/platform`
var type = uni.getSystemInfoSync();
var loginType = '';
if (type.platform === "android" && type.uniPlatform === "app") {

View File

@ -146,6 +146,11 @@ var render = function () {
g4: g4,
}
})
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{

File diff suppressed because one or more lines are too long

View File

@ -182,6 +182,9 @@ var render = function () {
_vm.e4 = function ($event) {
_vm.isShow = false
}
_vm.e5 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},

File diff suppressed because one or more lines are too long

View File

@ -116,6 +116,11 @@ var render = function () {
var g2 = _vm.showList && _vm.showList.length > 0
var g3 = false ? undefined : null
var g4 = false ? undefined : null
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{

File diff suppressed because one or more lines are too long

View File

@ -107,6 +107,11 @@ var render = function () {
? _vm.couponList && _vm.couponList.length > 0
: null
var g1 = _vm.pageMsg.activeTabs === 1 ? _vm.novalid.length : null
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{

View File

@ -1 +1 @@
<view hidden="{{!(!pageMsg.isLoading)}}" class="coupon _div data-v-3ca5c954"><view class="tabs-header _div data-v-3ca5c954"><view data-event-opts="{{[['tap',[['changeActive',[0]]]]]}}" class="{{['tab-item','_div','data-v-3ca5c954',(pageMsg.activeTabs===0)?'active':'']}}" bindtap="__e">有效</view><view data-event-opts="{{[['tap',[['changeActive',[1]]]]]}}" class="{{['tab-item','_div','data-v-3ca5c954',(pageMsg.activeTabs===1)?'active':'']}}" bindtap="__e">无效</view></view><view class="tabs-content _div data-v-3ca5c954"><block wx:if="{{pageMsg.activeTabs===0}}"><view class="tab-panel _div data-v-3ca5c954"><view style="padding-top:24rpx;" class="_div data-v-3ca5c954"><view class="couponList _div data-v-3ca5c954"><block wx:for="{{couponList}}" wx:for-item="item" wx:for-index="i" wx:key="i"><view data-event-opts="{{[['drop',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="couponItem _div data-v-3ca5c954" binddrop="__e"><view class="itemleft _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><label class="leftUnit _span data-v-3ca5c954">¥</label><label class="money _span data-v-3ca5c954">{{item.UseAmount}}</label></view><block wx:if="{{!item.CouponSendId&&item.CouponPoint}}"><view class="condition _div data-v-3ca5c954">{{''+item.CouponPoint+'积分兑换'}}</view></block><block wx:else><view class="condition _div data-v-3ca5c954">{{''+(item.WithAmount>0?"满"+item.WithAmount+"可用":"无门槛使用")+''}}</view></block></view><view class="itemRight _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><view class="couponName _div data-v-3ca5c954">{{item.CouponName}}</view><view class="timeText _div data-v-3ca5c954"><block wx:if="{{item.CouponSendId}}"><label class="coupon-date _span data-v-3ca5c954">{{"有效期至"+item.EndTime}}</label></block><block wx:else><label class="coupon-date _span data-v-3ca5c954">{{"活动至"+item.EndTime}}</label></block></view></view><view class="useBtn _div data-v-3ca5c954"><block wx:if="{{!item.CouponSendId}}"><label data-event-opts="{{[['tap',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="useBtnText _span data-v-3ca5c954" bindtap="__e">去兑换</label></block><block wx:else><block wx:if="{{item.CouponState==0}}"><label data-event-opts="{{[['tap',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="useBtnText _span data-v-3ca5c954" bindtap="__e">立即使用</label></block><block wx:else><label class="useBtnText _span data-v-3ca5c954">{{item.CouponStateText}}</label></block></block></view></view></view></block></view></view><no-data vue-id="5813e232-1" text="您暂无可使用的优惠券" isShow="{{!$root.g0}}" class="data-v-3ca5c954" bind:__l="__l"></no-data></view></block><block wx:if="{{pageMsg.activeTabs===1}}"><view class="tab-panel _div data-v-3ca5c954"><view style="padding-top:24rpx;" class="_div data-v-3ca5c954"><view class="invalidList _div data-v-3ca5c954"><block wx:for="{{novalid}}" wx:for-item="item" wx:for-index="i" wx:key="i"><view data-event-opts="{{[['drop',[['goShop',['$0'],[[['novalid','',i]]]]]]]}}" class="couponItem _div data-v-3ca5c954" binddrop="__e"><view class="itemleft _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><label class="leftUnit _span data-v-3ca5c954">¥</label><label class="money _span data-v-3ca5c954">{{item.UseAmount}}</label></view><block wx:if="{{!item.CouponSendId&&item.CouponPoint}}"><view class="condition _div data-v-3ca5c954">{{''+item.CouponPoint+'积分兑换'}}</view></block><block wx:else><view class="condition _div data-v-3ca5c954">{{''+(item.WithAmount>0?"满"+item.WithAmount+"可用":"无门槛使用")+''}}</view></block></view><view class="itemRight _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><view class="couponName _div data-v-3ca5c954">{{item.CouponName}}</view><view class="timeText _div data-v-3ca5c954"><block wx:if="{{item.CouponSendId}}"><label class="coupon-date _span data-v-3ca5c954">{{"有效期至"+item.EndTime}}</label></block><block wx:else><label class="coupon-date _span data-v-3ca5c954">{{"活动至"+item.EndTime}}</label></block></view></view><view class="useBtn _div data-v-3ca5c954"><label class="useBtnText _span data-v-3ca5c954">已过期</label></view></view></view></block></view></view><no-data vue-id="5813e232-2" text="暂无信息" isShow="{{!($root.g1>0)}}" class="data-v-3ca5c954" bind:__l="__l"></no-data></view></block></view><custom-loading vue-id="5813e232-3" visible="{{isCustomLoading}}" class="data-v-3ca5c954" bind:__l="__l"></custom-loading></view>
<view hidden="{{!(!pageMsg.isLoading)}}" class="coupon _div data-v-3ca5c954"><view class="tabs-header _div data-v-3ca5c954"><view data-event-opts="{{[['tap',[['changeActive',[0]]]]]}}" class="{{['tab-item','_div','data-v-3ca5c954',(pageMsg.activeTabs===0)?'active':'']}}" bindtap="__e">有效</view><view data-event-opts="{{[['tap',[['changeActive',[1]]]]]}}" class="{{['tab-item','_div','data-v-3ca5c954',(pageMsg.activeTabs===1)?'active':'']}}" bindtap="__e">无效</view></view><view class="tabs-content _div data-v-3ca5c954"><block wx:if="{{pageMsg.activeTabs===0}}"><view class="tab-panel _div data-v-3ca5c954"><view style="padding-top:24rpx;" class="_div data-v-3ca5c954"><view class="couponList _div data-v-3ca5c954"><block wx:for="{{couponList}}" wx:for-item="item" wx:for-index="i" wx:key="i"><view data-event-opts="{{[['drop',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="couponItem _div data-v-3ca5c954" binddrop="__e"><view class="itemleft _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><label class="leftUnit _span data-v-3ca5c954">¥</label><label class="money _span data-v-3ca5c954">{{item.UseAmount}}</label></view><block wx:if="{{!item.CouponSendId&&item.CouponPoint}}"><view class="condition _div data-v-3ca5c954">{{''+item.CouponPoint+'积分兑换'}}</view></block><block wx:else><view class="condition _div data-v-3ca5c954">{{''+(item.WithAmount>0?"满"+item.WithAmount+"可用":"无门槛使用")+''}}</view></block></view><view class="itemRight _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><view class="couponName _div data-v-3ca5c954">{{item.CouponName}}</view><view class="timeText _div data-v-3ca5c954"><block wx:if="{{item.CouponSendId}}"><label class="coupon-date _span data-v-3ca5c954">{{"有效期至"+item.EndTime}}</label></block><block wx:else><label class="coupon-date _span data-v-3ca5c954">{{"活动至"+item.EndTime}}</label></block></view></view><view class="useBtn _div data-v-3ca5c954"><block wx:if="{{!item.CouponSendId}}"><label data-event-opts="{{[['tap',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="useBtnText _span data-v-3ca5c954" bindtap="__e">去兑换</label></block><block wx:else><block wx:if="{{item.CouponState==0}}"><label data-event-opts="{{[['tap',[['goShop',['$0'],[[['couponList','',i]]]]]]]}}" class="useBtnText _span data-v-3ca5c954" bindtap="__e">立即使用</label></block><block wx:else><label class="useBtnText _span data-v-3ca5c954">{{item.CouponStateText}}</label></block></block></view></view></view></block></view></view><no-data vue-id="5813e232-1" text="您暂无可使用的优惠券" isShow="{{!$root.g0}}" class="data-v-3ca5c954" bind:__l="__l"></no-data></view></block><block wx:if="{{pageMsg.activeTabs===1}}"><view class="tab-panel _div data-v-3ca5c954"><view style="padding-top:24rpx;" class="_div data-v-3ca5c954"><view class="invalidList _div data-v-3ca5c954"><block wx:for="{{novalid}}" wx:for-item="item" wx:for-index="i" wx:key="i"><view data-event-opts="{{[['drop',[['goShop',['$0'],[[['novalid','',i]]]]]]]}}" class="couponItem _div data-v-3ca5c954" binddrop="__e"><view class="itemleft _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><label class="leftUnit _span data-v-3ca5c954">¥</label><label class="money _span data-v-3ca5c954">{{item.UseAmount}}</label></view><block wx:if="{{!item.CouponSendId&&item.CouponPoint}}"><view class="condition _div data-v-3ca5c954">{{''+item.CouponPoint+'积分兑换'}}</view></block><block wx:else><view class="condition _div data-v-3ca5c954">{{''+(item.WithAmount>0?"满"+item.WithAmount+"可用":"无门槛使用")+''}}</view></block></view><view class="itemRight _div data-v-3ca5c954"><view class="_div data-v-3ca5c954"><view class="couponName _div data-v-3ca5c954">{{item.CouponName}}</view><view class="timeText _div data-v-3ca5c954"><block wx:if="{{item.CouponSendId}}"><label class="coupon-date _span data-v-3ca5c954">{{"有效期至"+item.EndTime}}</label></block><block wx:else><label class="coupon-date _span data-v-3ca5c954">{{"活动至"+item.EndTime}}</label></block></view></view><view class="useBtn _div data-v-3ca5c954"><label class="useBtnText _span data-v-3ca5c954">已过期</label></view></view></view></block></view></view><no-data vue-id="5813e232-2" text="暂无信息" isShow="{{!($root.g1>0)}}" class="data-v-3ca5c954" bind:__l="__l"></no-data></view></block></view><block wx:if="{{isLoading}}"><custom-loading vue-id="5813e232-3" visible="{{isCustomLoading}}" data-event-opts="{{[['^updateVisible',[['e0']]]]}}" bind:updateVisible="__e" class="data-v-3ca5c954" bind:__l="__l"></custom-loading></block></view>

View File

@ -104,6 +104,11 @@ var render = function () {
var _c = _vm._self._c || _h
var g0 = false ? undefined : null
var g1 = false ? undefined : null
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{
@ -266,20 +271,20 @@ var _default = {
// frontOrBack 1 为正面 2 为反面
if (this.haveCode) {
var imgList = [];
if (type === '1') {
if (frontOrBack === '1') {
if (type === "1") {
if (frontOrBack === "1") {
imgList = [this.codeImgObj.frontIDCard];
} else {
imgList = [this.codeImgObj.reverseIDcard];
}
} else if (type === '2') {
if (frontOrBack === '1') {
} else if (type === "2") {
if (frontOrBack === "1") {
imgList = [this.codeImgObj.frontDriverCard];
} else {
imgList = [this.codeImgObj.reverseDriverCard];
}
} else if (type === '3') {
if (frontOrBack === '1') {
} else if (type === "3") {
if (frontOrBack === "1") {
imgList = [this.codeImgObj.frontLicenseCard];
} else {
imgList = [this.codeImgObj.reverseLicenseCard];
@ -353,7 +358,7 @@ var _default = {
case 6:
_res = _context.sent;
if (_res) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontIDCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseIDcard = "https://es.eshangtech.com/".concat(data.data.path);
@ -375,7 +380,7 @@ var _default = {
case 13:
_res2 = _context.sent;
if (_res2) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontDriverCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseDriverCard = "https://es.eshangtech.com/".concat(data.data.path);
@ -397,7 +402,7 @@ var _default = {
case 20:
_res3 = _context.sent;
if (_res3) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontLicenseCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseLicenseCard = "https://es.eshangtech.com/".concat(data.data.path);
@ -463,7 +468,7 @@ var _default = {
case 6:
_res4 = _context2.sent;
if (_res4) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontIDCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseIDcard = "https://es.eshangtech.com/".concat(data.data.path);
@ -485,7 +490,7 @@ var _default = {
case 13:
_res5 = _context2.sent;
if (_res5) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontDriverCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseDriverCard = "https://es.eshangtech.com/".concat(data.data.path);
@ -507,7 +512,7 @@ var _default = {
case 20:
_res6 = _context2.sent;
if (_res6) {
if (frontOrBack === '1') {
if (frontOrBack === "1") {
_this2.codeImgObj.frontLicenseCard = "https://es.eshangtech.com/".concat(data.data.path);
} else {
_this2.codeImgObj.reverseLicenseCard = "https://es.eshangtech.com/".concat(data.data.path);
@ -538,22 +543,22 @@ var _default = {
// 根据车辆类型返回需要的准驾车型
getRequiredLicenseTypes: function getRequiredLicenseTypes(vehicleType) {
if (!vehicleType) return [];
if (vehicleType.includes('小型') && (vehicleType.includes('轿车') || vehicleType.includes('客车'))) {
return ['C1', 'C2'];
} else if (vehicleType.includes('微型货车') || vehicleType.includes('微型封闭式货车') || vehicleType.includes('轻型货车') || vehicleType.includes('轻型封闭式货车')) {
return ['C1']; // 轻微型货车 C1可以开
} else if (vehicleType.includes('中型货车') || vehicleType.includes('中型封闭式货车')) {
return ['B2'];
} else if (vehicleType.includes('重型货车') || vehicleType.includes('重型封闭式货车')) {
return ['B2'];
} else if (vehicleType.includes('牵引车')) {
return ['A2'];
} else if (vehicleType.includes('中型客车')) {
return ['B1'];
} else if (vehicleType.includes('大型客车') || vehicleType.includes('重型客车')) {
return ['A1'];
} else if (vehicleType.includes('半挂')) {
return ['A2'];
if (vehicleType.includes("小型") && (vehicleType.includes("轿车") || vehicleType.includes("客车"))) {
return ["C1", "C2"];
} else if (vehicleType.includes("微型货车") || vehicleType.includes("微型封闭式货车") || vehicleType.includes("轻型货车") || vehicleType.includes("轻型封闭式货车")) {
return ["C1"]; // 轻微型货车 C1可以开
} else if (vehicleType.includes("中型货车") || vehicleType.includes("中型封闭式货车")) {
return ["B2"];
} else if (vehicleType.includes("重型货车") || vehicleType.includes("重型封闭式货车")) {
return ["B2"];
} else if (vehicleType.includes("牵引车")) {
return ["A2"];
} else if (vehicleType.includes("中型客车")) {
return ["B1"];
} else if (vehicleType.includes("大型客车") || vehicleType.includes("重型客车")) {
return ["A1"];
} else if (vehicleType.includes("半挂")) {
return ["A2"];
} else {
return []; // 无法判断的车辆类型,默认放过
}
@ -570,7 +575,7 @@ var _default = {
_this3.isLoading = true;
// type 1 身份证 2 驾驶证 3 行驶证
// frontOrBack 1 为正面 2 为反面
console.log('frontOrBack', frontOrBack);
console.log("frontOrBack", frontOrBack);
req = {
imageUrl: url
};
@ -611,8 +616,8 @@ var _default = {
break;
}
uni.showToast({
title: "".concat(type === 1 ? '身份证' : type === 2 ? '驾驶证' : type === 3 ? '行驶证' : '', "\u8BC6\u522B\u5931\u8D25\uFF01\u8BF7\u91CD\u65B0\u4E0A\u4F20"),
icon: 'none'
title: "".concat(type === 1 ? "身份证" : type === 2 ? "驾驶证" : type === 3 ? "行驶证" : "", "\u8BC6\u522B\u5931\u8D25\uFF01\u8BF7\u91CD\u65B0\u4E0A\u4F20"),
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -623,8 +628,8 @@ var _default = {
_context3.next = 53;
break;
}
console.log('this.codeInfo.cardInfoCode', _this3.codeInfo.cardInfoCode);
if (!(frontOrBack === '1')) {
console.log("this.codeInfo.cardInfoCode", _this3.codeInfo.cardInfoCode);
if (!(frontOrBack === "1")) {
_context3.next = 39;
break;
}
@ -636,18 +641,18 @@ var _default = {
_this3.codeInfo.cardInfoCode = _objectSpread(_objectSpread({}, _this3.codeInfo.cardInfoCode), {}, {
MEMBERSHIP_ID: _this3.user.MEMBERSHIP_ID,
// 会员内码 ,
IDCARDINFO_NAME: infoObj.name || '',
IDCARDINFO_NAME: infoObj.name || "",
// 身份证人名
IDCARDINFO_CODE: infoObj.idNumber || '',
IDCARDINFO_CODE: infoObj.idNumber || "",
// 证件号码
GENDER: infoObj.sex === '男' ? 1 : infoObj.sex === '女' ? '2' : '0',
GENDER: infoObj.sex === "男" ? 1 : infoObj.sex === "女" ? "2" : "0",
//性别 男1 女2
NATIONALITY: infoObj.ethnicity || '',
NATIONALITY: infoObj.ethnicity || "",
//名族
BIRTH_DATE: infoObj.birthDate || '',
//证件生日
IDCARDINFO_ADDRESS: infoObj.address || '',
//证件地址
BIRTH_DATE: infoObj.birthDate || "",
//证件生日
IDCARDINFO_ADDRESS: infoObj.address || "",
//证件地址
STAFF_ID: "",
STAFF_NAME: _this3.user.MEMBERSHIP_NAME,
//
@ -659,7 +664,7 @@ var _default = {
case 34:
uni.showToast({
title: "身份证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -674,7 +679,7 @@ var _default = {
infoObj = obj.data.back.data;
start = "", end = "";
if (infoObj.validPeriod) {
_infoObj$validPeriod$ = infoObj.validPeriod.split('-');
_infoObj$validPeriod$ = infoObj.validPeriod.split("-");
_infoObj$validPeriod$2 = (0, _slicedToArray2.default)(_infoObj$validPeriod$, 2);
start = _infoObj$validPeriod$2[0];
end = _infoObj$validPeriod$2[1];
@ -682,16 +687,16 @@ var _default = {
start = start.replace(/\./g, "-");
end = end.replace(/\./g, "-");
_this3.codeInfo.cardInfoCode = _objectSpread(_objectSpread({}, _this3.codeInfo.cardInfoCode), {}, {
ISSUE_DATE: start || '',
EXPIRE_DATE: end || '',
ISSUE_AUTHORITY: infoObj.issueAuthority || ''
ISSUE_DATE: start || "",
EXPIRE_DATE: end || "",
ISSUE_AUTHORITY: infoObj.issueAuthority || ""
});
_context3.next = 51;
break;
case 48:
uni.showToast({
title: "身份证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -703,7 +708,7 @@ var _default = {
_context3.next = 77;
break;
}
if (!(frontOrBack === '1')) {
if (!(frontOrBack === "1")) {
_context3.next = 67;
break;
}
@ -714,19 +719,19 @@ var _default = {
infoObj = obj.data.face.data;
_start = "", _end = "";
if (infoObj.validPeriod) {
_infoObj$validPeriod$3 = infoObj.validPeriod.split('至');
_infoObj$validPeriod$3 = infoObj.validPeriod.split("至");
_infoObj$validPeriod$4 = (0, _slicedToArray2.default)(_infoObj$validPeriod$3, 2);
_start = _infoObj$validPeriod$4[0];
_end = _infoObj$validPeriod$4[1];
}
_this3.codeInfo.drivingInfo = _objectSpread(_objectSpread({}, _this3.codeInfo.drivingInfo), {}, {
MEMBERSHIP_ID: _this3.user.MEMBERSHIP_ID,
// 会员内码
// 会员内码
// LICENSE_NUMBER: infoObj.licenseNumber, // 驾驶证号
IDCARDINFO_NAME: infoObj.name,
// 证件姓名
IDCARDINFO_CODE: infoObj.licenseNumber,
// 关联身份证号
// 关联身份证号
LICENSE_TYPE: infoObj.approvedType,
// 准驾车型
VALID_FROM: _start,
@ -738,17 +743,17 @@ var _default = {
DRIVERLICENSE_STATE: 1,
// 状态(正常/吊销/过期)
STAFF_ID: "",
//
//
STAFF_NAME: _this3.user.MEMBERSHIP_NAME,
//
OPERATE_DATE: _this3.$moment.now().format("YYYY-MM-DD HH:mm:ss") //
//
OPERATE_DATE: _this3.$moment.now().format("YYYY-MM-DD HH:mm:ss") //
});
_context3.next = 65;
break;
case 62:
uni.showToast({
title: "驾驶证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -771,7 +776,7 @@ var _default = {
case 72:
uni.showToast({
title: "驾驶证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this.isLoading = false;
return _context3.abrupt("return", false);
@ -783,7 +788,7 @@ var _default = {
_context3.next = 97;
break;
}
if (!(frontOrBack === '1')) {
if (!(frontOrBack === "1")) {
_context3.next = 89;
break;
}
@ -835,7 +840,7 @@ var _default = {
case 84:
uni.showToast({
title: "行驶证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -854,7 +859,7 @@ var _default = {
case 94:
uni.showToast({
title: "行驶证识别失败,请重新上传!",
icon: 'none'
icon: "none"
});
_this3.isLoading = false;
return _context3.abrupt("return", false);
@ -987,7 +992,7 @@ var _default = {
// return;
// }
_this4.isLoading = true;
console.log('this.codeInfothis.codeInfothis.codeInfo', _this4.codeInfo);
console.log("this.codeInfothis.codeInfothis.codeInfo", _this4.codeInfo);
_context4.next = 31;
return _this4.handleSaveAllCarInfo();
case 31:
@ -1012,7 +1017,7 @@ var _default = {
}
uni.showToast({
title: "存储失败!",
icon: 'none'
icon: "none"
});
isOk = false;
return _context4.abrupt("return", false);
@ -1092,7 +1097,7 @@ var _default = {
}
uni.showToast({
title: "".concat(data.Result_Desc),
icon: 'none'
icon: "none"
});
return _context5.abrupt("return", false);
case 6:
@ -1125,7 +1130,7 @@ var _default = {
});
case 2:
codeCarInfo = _context6.sent;
console.log('codeCarInfo', codeCarInfo);
console.log("codeCarInfo", codeCarInfo);
_context6.next = 6;
return _this6.$api.$post("/EShangApiMain/Member/GetDRIVERLICENSEList", {
SearchParameter: {
@ -1137,7 +1142,7 @@ var _default = {
});
case 6:
drivingInfo = _context6.sent;
console.log('drivingInfo', drivingInfo);
console.log("drivingInfo", drivingInfo);
_context6.next = 10;
return _this6.$api.$post("/EShangApiMain/Member/GetVEHICLELICENSEList", {
SearchParameter: {
@ -1149,7 +1154,7 @@ var _default = {
});
case 10:
vehicleInfo = _context6.sent;
console.log('vehicleInfo', vehicleInfo);
console.log("vehicleInfo", vehicleInfo);
_this6.codeInfo = {
cardInfoCode: codeCarInfo.Result_Data.List && codeCarInfo.Result_Data.List.length > 0 ? codeCarInfo.Result_Data.List[0] : {
STAFF_ID: ""
@ -1161,7 +1166,7 @@ var _default = {
STAFF_ID: ""
}
};
console.log('this.codeInfo', _this6.codeInfo);
console.log("this.codeInfo", _this6.codeInfo);
case 14:
case "end":
return _context6.stop();
@ -1179,8 +1184,8 @@ var _default = {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
console.log('this.codeInfo', _this7.codeInfo);
console.log('this.codeInfo.cardInfoCode.IDCARDINFO_ID', _this7.codeInfo.cardInfoCode.IDCARDINFO_ID);
console.log("this.codeInfo", _this7.codeInfo);
console.log("this.codeInfo.cardInfoCode.IDCARDINFO_ID", _this7.codeInfo.cardInfoCode.IDCARDINFO_ID);
_context7.next = 4;
return _this7.$api.$get("/EShangApiMain/Member/DeleteIDCARDINFO", {
IDCARDINFOId: _this7.codeInfo.cardInfoCode.IDCARDINFO_ID
@ -1193,11 +1198,11 @@ var _default = {
}
uni.showToast({
title: "删除失败!",
icon: 'none'
icon: "none"
});
return _context7.abrupt("return", false);
case 8:
console.log('this.codeInfo.drivingInfo.DRIVERLICENSE_ID', _this7.codeInfo.drivingInfo.DRIVERLICENSE_ID);
console.log("this.codeInfo.drivingInfo.DRIVERLICENSE_ID", _this7.codeInfo.drivingInfo.DRIVERLICENSE_ID);
_context7.next = 11;
return _this7.$api.$get("/EShangApiMain/Member/DeleteDRIVERLICENSE", {
DRIVERLICENSEId: _this7.codeInfo.drivingInfo.DRIVERLICENSE_ID
@ -1210,11 +1215,11 @@ var _default = {
}
uni.showToast({
title: "删除失败!",
icon: 'none'
icon: "none"
});
return _context7.abrupt("return", false);
case 15:
console.log('this.codeInfo.vehicleInfo.VEHICLELICENSE_ID', _this7.codeInfo.vehicleInfo.VEHICLELICENSE_ID);
console.log("this.codeInfo.vehicleInfo.VEHICLELICENSE_ID", _this7.codeInfo.vehicleInfo.VEHICLELICENSE_ID);
_context7.next = 18;
return _this7.$api.$get("/EShangApiMain/Member/DeleteVEHICLELICENSE", {
VEHICLELICENSEId: _this7.codeInfo.vehicleInfo.VEHICLELICENSE_ID
@ -1227,7 +1232,7 @@ var _default = {
}
uni.showToast({
title: "删除失败!",
icon: 'none'
icon: "none"
});
return _context7.abrupt("return", false);
case 22:
@ -1403,7 +1408,7 @@ var _default = {
var imgObj = JSON.parse(obj.ImageInfo);
_this.codeImgObj = imgObj;
_this.bindCarType = 2;
console.log('codeImgObj', _this.codeImgObj);
console.log("codeImgObj", _this.codeImgObj);
// _this.IDCardImgList = imgObj.IDCardImgList;
// _this.driverLicenseList = imgObj.driverLicenseList;
// _this.drivingLicenseList = imgObj.drivingLicenseList;

File diff suppressed because one or more lines are too long

View File

@ -110,6 +110,9 @@ var render = function () {
_vm.e1 = function ($event) {
_vm.isShow = true
}
_vm.e2 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},

File diff suppressed because one or more lines are too long

View File

@ -282,6 +282,15 @@ exports.default = void 0;
//
//
//
//
//
//
//
//
//
//
//
//
var _default = {
data: function data() {
return {
@ -438,8 +447,11 @@ var _default = {
setTimeout(function () {
_this.isClick = true;
if (result.ResultCode === "100") {
uni.switchTab({
url: "/pages/home/index"
// uni.switchTab({
// url: "/pages/home/index",
// });
uni.navigateBack({
delta: 1
});
}
}, 1000);

View File

@ -103,6 +103,11 @@ var render = function () {
var _h = _vm.$createElement
var _c = _vm._self._c || _h
var g0 = _vm.addList.length
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{

View File

@ -1 +1 @@
<view class="page-body _div data-v-0a907f67"><block wx:if="{{$root.g0>0}}"><view class="_div data-v-0a907f67"><radio-group value="{{addressId}}" data-event-opts="{{[['change',[['checkAddress',['$event']]]]]}}" bindchange="__e" class="data-v-0a907f67"><block wx:for="{{addList}}" wx:for-item="n" wx:for-index="__i0__" wx:key="MEMBERADDRESS_ID"><view data-event-opts="{{[['tap',[['checkOrEdit',['$0'],[[['addList','MEMBERADDRESS_ID',n.MEMBERADDRESS_ID,'MEMBERADDRESS_ID']]]]]]]}}" class="address-card data-v-0a907f67" bindtap="__e"><block wx:if="{{pageMsg.type!==0}}"><view style="flex:1.5;text-align:right;padding-left:16rpx;" class="data-v-0a907f67"><radio value="{{n.MEMBERADDRESS_ID}}" color="#CAA97F" class="data-v-0a907f67"></radio></view></block><view class="card-left data-v-0a907f67"><view class="address-title data-v-0a907f67">{{''+(n.ADDRESS+n.DOORPLATE)+''}}<block wx:if="{{n.ISDEFAULT===1}}"><text class="tip-moren data-v-0a907f67">默认</text></block></view><view class="address-other data-v-0a907f67">{{''+(n.USER_NAME+n.USER_SEX_TEXT+" "+n.MOBILEPHONE)+''}}</view></view><view data-event-opts="{{[['tap',[['editAddress',['$0'],[[['addList','MEMBERADDRESS_ID',n.MEMBERADDRESS_ID,'MEMBERADDRESS_ID']]]]]]]}}" class="card-right data-v-0a907f67" catchtap="__e"><image style="width:28rpx;height:28rpx;" src="https://eshangtech.com/ShopICO/icos/address-edit.png" class="data-v-0a907f67"></image></view></view></block></radio-group></view></block><navigator class="btn data-v-0a907f67" url="/pages/myAddress/newAdd/index">新增收货地址</navigator><custom-loading vue-id="477fee7f-1" visible="{{isLoading}}" class="data-v-0a907f67" bind:__l="__l"></custom-loading></view>
<view class="page-body _div data-v-0a907f67"><block wx:if="{{$root.g0>0}}"><view class="_div data-v-0a907f67"><radio-group value="{{addressId}}" data-event-opts="{{[['change',[['checkAddress',['$event']]]]]}}" bindchange="__e" class="data-v-0a907f67"><block wx:for="{{addList}}" wx:for-item="n" wx:for-index="__i0__" wx:key="MEMBERADDRESS_ID"><view data-event-opts="{{[['tap',[['checkOrEdit',['$0'],[[['addList','MEMBERADDRESS_ID',n.MEMBERADDRESS_ID,'MEMBERADDRESS_ID']]]]]]]}}" class="address-card data-v-0a907f67" bindtap="__e"><block wx:if="{{pageMsg.type!==0}}"><view style="flex:1.5;text-align:right;padding-left:16rpx;" class="data-v-0a907f67"><radio value="{{n.MEMBERADDRESS_ID}}" color="#CAA97F" class="data-v-0a907f67"></radio></view></block><view class="card-left data-v-0a907f67"><view class="address-title data-v-0a907f67">{{''+(n.ADDRESS+n.DOORPLATE)+''}}<block wx:if="{{n.ISDEFAULT===1}}"><text class="tip-moren data-v-0a907f67">默认</text></block></view><view class="address-other data-v-0a907f67">{{''+(n.USER_NAME+n.USER_SEX_TEXT+" "+n.MOBILEPHONE)+''}}</view></view><view data-event-opts="{{[['tap',[['editAddress',['$0'],[[['addList','MEMBERADDRESS_ID',n.MEMBERADDRESS_ID,'MEMBERADDRESS_ID']]]]]]]}}" class="card-right data-v-0a907f67" catchtap="__e"><image style="width:28rpx;height:28rpx;" src="https://eshangtech.com/ShopICO/icos/address-edit.png" class="data-v-0a907f67"></image></view></view></block></radio-group></view></block><navigator class="btn data-v-0a907f67" url="/pages/myAddress/newAdd/index">新增收货地址</navigator><block wx:if="{{isLoading}}"><custom-loading vue-id="477fee7f-1" visible="{{isLoading}}" data-event-opts="{{[['^updateVisible',[['e0']]]]}}" bind:updateVisible="__e" class="data-v-0a907f67" bind:__l="__l"></custom-loading></block></view>

View File

@ -144,6 +144,11 @@ var render = function () {
var g3 =
_vm.selectTab === 3 ? _vm.myEvaluation && _vm.myEvaluation.length > 0 : null
var g4 = false ? undefined : null
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{

File diff suppressed because one or more lines are too long

View File

@ -129,6 +129,11 @@ var render = function () {
})
: null
var g6 = !g0 ? _vm.shopList && _vm.shopList.length > 0 : null
if (!_vm._isMounted) {
_vm.e0 = function (val) {
return (_vm.isLoading = val)
}
}
_vm.$mp.data = Object.assign(
{},
{
@ -314,23 +319,15 @@ var _default = {
// title: "加载中...",
// });
_this3.isLoading = true;
_this = _this3;
_this = _this3; // console.log("_this.serverPart", _this.serverPart);
_context2.next = 9;
return _this3.$api.getCoop({
action_type: "GetSellerList",
showSales: 1,
showCoupon: 1,
showComment: 1,
serverpartId: _this3.serverPart.SERVERPART_ID,
provinceCode: _this3.serverPart.ProvinceCode || "340000",
showGoods: 1,
pageSize: 9999,
pageIndex: 1
return _this3.$api.$javaGet2("/third-party/getMerchantsList", {
serverpartId: _this.serverPart.SERVERPART_ID
});
case 9:
data = _context2.sent;
list = data.Data.List;
console.log("list", list);
console.log("datadatadatadatadata", data);
list = data.Result_Data.List;
shopList = [];
if (list && list.length > 0) {
list.forEach(function (item) {
@ -343,10 +340,38 @@ var _default = {
_this.handleSortShopList(shopList);
console.log("shopList", shopList);
_this.shopList = shopList;
// uni.hideLoading();
uni.hideLoading();
// const data = await this.$api
// .getCoop({
// action_type: "GetSellerList",
// showSales: 1,
// showCoupon: 1,
// showComment: 1,
// serverpartId: this.serverPart.SERVERPART_ID,
// provinceCode: this.serverPart.ProvinceCode || "340000",
// showGoods: 1,
// pageSize: 9999,
// pageIndex: 1,
// })
// let list = data.Data.List;
// console.log("list", list);
// let shopList = [];
// if (list && list.length > 0) {
// list.forEach((item) => {
// // if (item.SCANCODE_ORDER === 1) {
// shopList.push(item);
// // }
// });
// }
// _this.handleSortShopList(shopList);
// console.log("shopList", shopList);
// _this.shopList = shopList;
// // uni.hideLoading();
_this.isLoading = false;
_this3.$forceUpdate();
case 19:
case 20:
case "end":
return _context2.stop();
}
@ -416,15 +441,19 @@ var _default = {
},
goBuy: function goBuy(item) {
console.log("goBuy", item);
var stroreDetail = {
MONTHLYSALES: item.MONTHLYSALES,
PERCAPITA: item.PERCAPITA
};
if (this.user.MEMBERSHIP_MOBILEPHONE) {
var id = item.SERVERPARTSHOP_IDS.split(",")[0];
uni.navigateTo({
url: "/pages/shopPages/shop/index?id=".concat(id, "&mid=").concat(item.MERCHANTS_ID, "&province=").concat(item.PROVINCE_CODE, "&buyType=").concat(item.SCANCODE_ORDER)
url: "/pages/shopPages/shop/index?id=".concat(id, "&mid=").concat(item.MERCHANTS_ID, "&province=").concat(item.PROVINCE_CODE, "&buyType=").concat(item.SCANCODE_ORDER, "&stroreDetail=").concat(JSON.stringify(stroreDetail))
});
} else {
var _id = item.SERVERPARTSHOP_IDS.split(",")[0];
uni.navigateTo({
url: "/pages/shopPages/shop/index?id=".concat(_id, "&mid=").concat(item.MERCHANTS_ID, "&province=").concat(item.PROVINCE_CODE, "&buyType=").concat(item.SCANCODE_ORDER)
url: "/pages/shopPages/shop/index?id=".concat(_id, "&mid=").concat(item.MERCHANTS_ID, "&province=").concat(item.PROVINCE_CODE, "&buyType=").concat(item.SCANCODE_ORDER, "&stroreDetail=").concat(JSON.stringify(stroreDetail))
});
this.isLogin = true;
}

Some files were not shown because too many files have changed in this diff Show More