This commit is contained in:
cclu 2025-04-02 19:04:17 +08:00
parent f91bbbc60d
commit f169d89786
611 changed files with 21817 additions and 21449 deletions

View File

@ -480,8 +480,8 @@
/>
<span class="distanceNumber"
>{{
item.SERVERPART_DISTANCEGD ||
item.SERVERPART_DISTANCE ||
item.SERVERPART_DISTANCEGD ||
"-"
}}km</span
>
@ -531,11 +531,9 @@
</view>
<!-- 新款样式 -->
<view
class="centerItem"
@click.stop="handleGoServiceDetail(item.SERVERPART_ID, item)"
v-if="styleType === 2"
>
<view class="centerItem" v-if="styleType === 2">
<!-- @click.stop="handleGoServiceDetail(item.SERVERPART_ID, item)" -->
<view
class="centerConfigItemNew"
v-for="(subItem, index) in item.imgList.slice(
@ -725,7 +723,12 @@
@close="handleClosePopup"
@maskClick="handleClosePopup"
>
<div class="popupDetailBox">
<div
class="popupDetailBox"
:style="{
height: comeForm === 'home' ? '80vh' : '95vh',
}"
>
<div class="popupTitle">
<div class="closeIcon" @click="handleClosePopup">
<image
@ -755,7 +758,10 @@
class="stationList"
scroll-y
:style="{
height: `calc(95vh - 108rpx - 56rpx - 24rpx)`,
height: `calc(${
comeForm === 'home' ? 80 : 95
}vh - 108rpx - 56rpx - 24rpx - ${comeForm === 'home' ? 100 : 0}px)`,
paddingBottom: comeForm === 'home' ? 0 : '',
}"
>
<div
@ -771,7 +777,7 @@
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Power >= 240
? 'https://eshangtech.com/minTestImg/overfilling.svg'
: item.Power <= 130 && item.Power > 60
: item.Power <= 130 && item.Power >= 60
? 'https://eshangtech.com/minTestImg/occupy.svg'
: item.Power < 60
? 'https://eshangtech.com/minTestImg/idle.svg'
@ -801,7 +807,7 @@
? '#B8B7B4'
: item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power > 60
: item.Power <= 130 && item.Power >= 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
@ -815,7 +821,7 @@
? "故障"
: item.Power >= 240
? "超充"
: item.Power <= 130 && item.Power > 60
: item.Power <= 130 && item.Power >= 60
? "‌快充"
: "慢充"
}}
@ -827,7 +833,7 @@
color:
item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power > 60
: item.Power <= 130 && item.Power >= 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
@ -981,18 +987,41 @@ export default {
swiperHeight: [], //
};
},
props: [
"serviceAreaList",
"startObj",
"endObj",
"pageType",
"showType",
"showStore",
"comeForm",
],
props: {
serviceAreaList: {
type: Array,
default: () => [],
},
startObj: {
type: Object,
default: () => ({}),
},
endObj: {
type: Object,
default: () => ({}),
},
pageType: {
// mapIndex
type: String,
default: "",
},
showType: {
type: String,
default: "",
},
showStore: {
type: Boolean,
default: false,
},
comeForm: {
type: String,
default: "",
},
},
//
// #ifdef MP-WEIXIN
onReady() {
console.log("onShow");
console.log("onReady");
console.log("showType", this.showType);
let SERVERPART_TARGET = uni.getStorageSync("SERVERPART_TARGET");
if (SERVERPART_TARGET) {
@ -1003,6 +1032,31 @@ export default {
}
this.handldGetData();
},
// #endif
// #ifdef APP-PLUS
mounted() {
console.log("onReady");
console.log("showType", this.showType);
let SERVERPART_TARGET = uni.getStorageSync("SERVERPART_TARGET");
if (SERVERPART_TARGET) {
this.SERVERPART_TARGETOBJ = JSON.parse(SERVERPART_TARGET);
} else {
//
this.handleSERVERPART_TARGETOBJ();
}
this.handldGetData();
},
watch: {
serviceAreaList: {
handler(newVal) {
console.log("serviceAreaList 内容变化:", newVal);
this.handldGetData();
},
deep: true, //
immediate: true, //
},
},
// #endif
methods: {
//
handleGoDetail(id, obj) {
@ -1068,7 +1122,7 @@ export default {
seq: `00${3 + i}`,
token: token,
});
res = res.concat(data.Data.StationInfos);
res = res.concat(data.data.Data.StationInfos);
}
return res;
},
@ -1142,6 +1196,9 @@ export default {
serviceList = serviceArea.Result_Data.List;
uni.setStorageSync("serviceList", JSON.stringify(serviceList));
}
console.log("serviceList32321321321", serviceList);
let _this = this;
let list = [];
@ -1722,11 +1779,14 @@ export default {
console.log("itemEnd", itemEnd);
console.log("res", res);
if (res) {
list[i].SERVERPART_DISTANCEGD = (
Number(res.distance) / 1000
).toFixed(2);
}
// if (res) {
// list[i].SERVERPART_DISTANCEGD = (
// Number(res.distance) / 1000
// ).toFixed(2);
// list[i].SERVERPART_DISTANCE = (
// Number(res.distance) / 1000
// ).toFixed(2);
// }
let chargeObj = this.handleHaveRandomData();
list[i].chargeObj = chargeObj;
@ -1809,10 +1869,18 @@ export default {
};
// _this.handleGetChargeData(list, ["", "", ""]);
//
await _this.handleGetChargeData(list, nameList);
let newRes = [];
newRes = await _this.handleGetChargeData(list, nameList);
//
await _this.handleTrafficControlData(list, nameList);
newRes = await _this.handleTrafficControlData(newRes, nameList);
//
// newRes = await _this.handleGetStateGrid(newRes, nameList);
if (this.pageType === "mapIndex") {
this.$emit("allChargeData", { res: newRes });
}
this.detailObj.servicePart = newRes;
uni.hideLoading();
},
@ -1913,7 +1981,7 @@ export default {
});
console.log("tokenData", tokenData);
// token
let token = tokenData.Data.AccessToken;
let token = tokenData.data.Data.AccessToken;
//
const allStationList = await this.$testApi.$post("/send", {
@ -1927,17 +1995,22 @@ export default {
token: token,
});
console.log("allStationList", allStationList);
let stationList = allStationList.Data.StationInfos;
let stationList = allStationList.data.Data.StationInfos;
// 20 20
//
// sum - 1
let sum = allStationList.Data.PageCount;
let sum = allStationList.data.Data.PageCount;
let remainData = [];
if (sum > 1) {
remainData = await this.handleTraverseLXAllData(sum, token);
stationList = stationList.concat(remainData);
}
console.log("stationList32312312", stationList);
if (this.pageType === "mapIndex") {
this.$emit("allLXDataList", { res: stationList });
}
let newStationList = [];
if (stationList && stationList.length > 0) {
stationList.forEach((item) => {
@ -1978,7 +2051,7 @@ export default {
seq: `00${sum + 2}`,
token: token,
});
let statusList = stationInfo.Data.StationStatusInfos;
let statusList = stationInfo.data.Data.StationStatusInfos;
console.log("statusList", statusList);
if (statusList && statusList.length > 0) {
statusList.forEach((item) => {
@ -2000,8 +2073,8 @@ export default {
console.log("haveStationList", haveStationList);
if (this.detailObj.servicePart && this.detailObj.servicePart.length > 0) {
let newRes = JSON.parse(JSON.stringify(this.detailObj.servicePart));
if (serviceList && serviceList.length > 0) {
let newRes = JSON.parse(JSON.stringify(serviceList));
newRes.forEach((item) => {
let LXCharge = [];
let LXInfoList = [];
@ -2082,8 +2155,9 @@ export default {
});
console.log("newRes", newRes);
this.detailObj.servicePart = newRes;
this.$forceUpdate();
return newRes;
// this.detailObj.servicePart = newRes;
// this.$forceUpdate();
}
// uni.hideLoading();
},
@ -2151,14 +2225,30 @@ export default {
item.serviceCode && serviceObj ? serviceObj[item.serviceCode] : "";
});
}
//
// console.log("chargInfoList", chargInfoList);
//
// console.log("nameList", nameList);
//
let nowServiceList = [];
if (this.pageType === "mapIndex") {
const chargPoistionData = await new Promise((resolve, reject) => {
uni.request({
url: `https://wmgs.anhui-expressway.net/api/ydcx/v1/service-area/charge/status`,
method: "GET",
header: {
Authorization: `Bearer ${token}`,
"content-type": "application/x-www-form-urlencoded",
},
success(res) {
resolve(res);
},
});
});
this.$emit("allJKDataList", { res: chargPoistionData.data.data });
}
if (chargInfoList && chargInfoList.length > 0) {
chargInfoList.forEach((item) => {
let name = item.serviceName.split("服务区")[0];
@ -2171,8 +2261,8 @@ export default {
console.log("nowServiceListssss", nowServiceList);
// nowServiceListssss
//
if (this.detailObj.servicePart && this.detailObj.servicePart.length > 0) {
let newRes = JSON.parse(JSON.stringify(this.detailObj.servicePart));
if (list && list.length > 0) {
let newRes = JSON.parse(JSON.stringify(list));
newRes.forEach((item) => {
let JKCharge = [];
let JKInfoList = [];
@ -2233,18 +2323,175 @@ export default {
) +
Number(item.WLDetail.WLEmpty || 0) +
Number(JKEmpty || 0) +
Number(item.chargeAndReplaceDetail.WLEmpty || 0),
Number(
item.chargeAndReplaceDetail.chargeAndReplaceSumEmpty || 0
),
};
}
item.JKInfoList = JKInfoList;
item.JKCharge = JKCharge;
});
console.log("JKnewRes", newRes);
this.detailObj.servicePart = newRes;
this.$forceUpdate();
return newRes;
// console.log("JKnewRes", newRes);
// this.detailObj.servicePart = newRes;
// this.$forceUpdate();
}
},
//
async handleGetStateGrid(list, nameList) {
const LiOperatorSecret = "tDbBTUSok8TCTjGS";
const LiOperCode = "MA8PUMF89";
const LiSigSecret = "PSyM5DrXRjM06a8C";
const LiDataSecret = "tcqvnw1msfDEtVj9";
const LiIV = "Uj3F6NWAov6j30tA";
const OperatorID = "78109626X"; // OperatorID
const OperatorSecret = "Xh2vLq1Pz9zF7wK3"; // Xh2vLq1Pz9zF7wK3 OperatorSecret
const SigSecret = "bT8sWn2Aq0Jv6GvD"; // bT8sWn2Aq0Jv6GvD SigSecret
const DataSecret = "fK7YzAq1R8Vp9hL0"; // fK7YzAq1R8Vp9hL0 DataSecret
const DataSecretIV = "z3XnWl8FQ2pTm5Ba"; // z3XnWl8FQ2pTm5Ba DataSecretIV
let url = `https://dipper-ah.ahcce.com/jgpt-gateway/third`;
let tokenData = await this.$testApi.$post("/send", {
url: `${url}/supervise/v1.0.0/query_token`,
data: JSON.stringify({
PlatformID: OperatorID,
PlatformSecret: OperatorSecret,
}),
id: 2,
seq: "001",
token: "",
});
console.log("国网", tokenData);
let token = tokenData.data.Data.AccessToken;
const allStationList = await this.$testApi.$post("/send", {
url: `${url}/supervise/v1.0.0/query_supervise_stations_info`,
data: JSON.stringify({
PageNo: 1,
PageSize: 999,
}),
id: 2,
seq: "002",
token: token,
});
let allStationDataList = allStationList.data.Data.StationInfos;
let newStationList = [];
if (allStationDataList && allStationDataList.length > 0) {
allStationDataList.forEach((item) => {
if (nameList && nameList.length > 0) {
nameList.forEach((subItem) => {
let sortName = subItem.split("服务区")[0];
if (item.StationName.indexOf(sortName) !== -1) {
newStationList.push(item);
}
});
}
});
}
console.log("newStationList", newStationList);
//
if (list && list.length > 0) {
let newRes = JSON.parse(JSON.stringify(list));
newRes.forEach((item) => {
let GWCharge = [];
let GWInfoList = [];
let sortName = item.SERVERPART_NAME.split("服务区")[0];
if (newStationList && newStationList.length > 0) {
newStationList.forEach((subItem) => {
if (subItem.StationName.indexOf(sortName) !== -1) {
if (
subItem.EquipmentInfos &&
subItem.EquipmentInfos.length > 0
) {
subItem.EquipmentInfos.forEach((thirdItem) => {
// ConnectorInfos
if (
thirdItem.ConnectorInfos &&
thirdItem.ConnectorInfos.length > 0
) {
thirdItem.ConnectorInfos.forEach((fourthItem) => {
GWInfoList.push({
...fourthItem,
Status: fourthItem.state,
Power: fourthItem.Power,
ConnectorID: fourthItem.ConnectorID,
VoltageLowerLimits: fourthItem.VoltageLowerLimits,
VoltageUpperLimits: fourthItem.VoltageUpperLimits,
ConnectorType: fourthItem.ConnectorType,
NationalStandard: fourthItem.NationalStandard,
});
GWCharge.push({
Status: fourthItem.state,
ConnectorId: fourthItem.ConnectorID,
});
});
}
});
}
}
});
}
console.log("GWCharge", GWCharge);
console.log("GWInfoList", GWInfoList);
//
let GWEmpty = 0;
//
let GWSum = 0;
if (GWCharge && GWCharge.length > 0) {
GWCharge.forEach((subItem) => {
if (subItem.Status !== 3) {
GWEmpty += 1;
}
GWSum += 1;
});
}
item.GWDetail = {
GWSum: GWSum,
GWEmpty: GWEmpty,
};
if (this.styleType === 2) {
item.allChargeDetail = {
allSum:
Number(
item.LXDetail && item.LXDetail.LXSum ? item.LXDetail.LXSum : 0
) +
Number(item.WLDetail.WLSum || 0) +
Number(item.JKDetail.JKSum || 0) +
Number(item.GWDetail.GWSum || 0),
empty:
Number(
item.LXDetail && item.LXDetail.LXEmpty
? item.LXDetail.LXEmpty
: 0
) +
Number(item.WLDetail.WLEmpty || 0) +
Number(item.JKDetail.JKEmpty || 0) +
Number(item.GWDetail.GWEmpty || 0),
};
}
item.GWInfoList = GWInfoList;
item.GWCharge = GWCharge;
});
return newRes;
// console.log("GWnewRes", newRes);
// this.detailObj.servicePart = newRes;
// this.$forceUpdate();
}
},
//
handleGetRandomData(max, min) {
return Math.floor(Math.random() * (max - min + 1)) + min;
@ -2297,7 +2544,14 @@ export default {
? obj.JKInfoList.length
: 0,
},
{ label: "国网", value: 4, sum: 0 },
{
label: "国网",
value: 4,
sum:
obj.GWInfoList && obj.GWInfoList.length > 0
? obj.GWInfoList.length
: 0,
},
];
console.log("this.chargeDetailList", this.chargeDetailList);
@ -2328,6 +2582,9 @@ export default {
} else if (value === 3) {
//
this.chargeDetailList = this.nowCurrentObj.JKInfoList;
} else if (value === 4) {
//
this.chargeDetailList = this.nowCurrentObj.GWInfoList;
} else {
this.chargeDetailList = [];
}

View File

@ -103,6 +103,8 @@ export default {
},
methods: {
goPages(pageIndex) {
console.log("pageIndex", pageIndex);
uni.switchTab({
url: pageIndex,
});
@ -137,6 +139,44 @@ export default {
});
}
},
// app
handleAppTomin(appid, secret, indexUrl, contentText) {
uni.showModal({
title: "提示",
content: contentText || "是否打开微信?",
success: (res) => {
if (res.confirm) {
uni.request({
method: "GET",
url: `https://api.weixin.qq.com/cgi-bin/token?appid=${appid}&secret=${secret}&grant_type=client_credential`,
success: (res1) => {
console.log("res1", res1);
uni.request({
method: "POST",
url:
"https://api.weixin.qq.com/wxa/generatescheme?access_token=" +
res1.data.access_token,
data: {
// pathqueryonloadoptions
jump_wxa: {
path: indexUrl || "pages/index/index",
env_version: "release", // "release""trial""develop"
},
is_expire: true,
expire_type: 1,
expire_interval: 1,
// env_version: "trial",
},
success: (res2) => {
plus.runtime.openURL(res2.data.openlink);
},
});
},
});
}
},
});
},
},
};
</script>
@ -145,12 +185,12 @@ export default {
.main {
width: 100vw;
position: fixed;
bottom: 0rpx;
bottom: 0;
left: 0;
background: #ffffff;
border-top: 1px solid #e8e8ea;
box-sizing: border-box;
z-index: 99999;
z-index: 999999;
.content {
width: 100%;

View File

@ -105,6 +105,13 @@
"navigationBarTitleText": "出行导航",
"navigationBarBackgroundColor": "#F0F5FF"
}
},
{
"path": "mapIndex",
"style": {
"navigationBarTitleText": "点位地图",
"navigationBarBackgroundColor": "#ffffff"
}
}
]
},

View File

@ -949,6 +949,9 @@ export default {
this.isShow = false;
},
onShow() {
uni.hideTabBar({
animation: false,
});
let res = uni.getStorageSync("currentService");
console.log("this.currentServiceMessage", this.currentServiceMessage);
if (this.currentServiceMessage.SERVERPART_ID !== res.SERVERPART_ID) {

View File

@ -300,11 +300,12 @@
class="selectedMerchantsNew"
v-if="pageStyle === 2 && chaegeBoxList && chaegeBoxList.length > 0"
>
<charge-box
<ChargeBox
:showType="'horizontal'"
:serviceAreaList="chaegeBoxList"
pageType="scanCode"
:showStore="true"
:comeForm="'home'"
/>
</div>
@ -589,6 +590,12 @@ export default {
}
},
async onShow() {
// uni.hideTabBar({
// animation: false,
// });
uni.$emit("updateTabBar", { show: false });
let systemInfo = uni.getSystemInfoSync();
let type = uni.getStorageSync("loginType");
if (type === "min") {
@ -612,6 +619,7 @@ export default {
this.serverPart = currentService;
this.getStore();
this.getMall();
this.handleGetHighwayHeadlines();
} else {
if (this.loginType === "min") {
this.getLocalServer();
@ -684,8 +692,6 @@ export default {
if (nearThreeList) {
this.chaegeBoxList = nearThreeList;
}
this.handleGetHighwayHeadlines();
},
onHide() {
this.showBanner = false;
@ -1370,7 +1376,6 @@ export default {
let serverSelectList = [];
//
let nearThreeList = [];
console.log("nearThreeList", nearThreeList);
if (_data && _data.length > 0) {
_data.forEach((item, index) => {
if (index <= 2) {
@ -1385,6 +1390,7 @@ export default {
});
});
}
console.log("nearThreeList", nearThreeList);
console.log("this.chaegeBoxList1", this.chaegeBoxList);
this.severPartList = _data;
@ -1546,9 +1552,9 @@ export default {
.main {
width: 100vw;
box-sizing: border-box;
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
padding-bottom: calc(110rpx + constant(safe-area-inset-bottom));
min-height: 100vh;
// padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
// padding-bottom: calc(110rpx + constant(safe-area-inset-bottom));
// min-height: 100vh;
.backgroundBottom {
position: fixed;
top: 0;
@ -1716,7 +1722,6 @@ export default {
.newCarousel {
width: calc(100% - 64rpx);
margin-left: 32rpx;
height: 240rpx;
border-radius: 16rpx;
overflow: hidden;
.banner {
@ -2306,6 +2311,8 @@ export default {
width: 100%;
box-sizing: border-box;
padding: 24rpx 32rpx 0;
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
.newMajorFun {
margin-top: 0;
background: #ffffff;

View File

@ -66,7 +66,10 @@
/>
</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
@ -138,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>
@ -253,7 +259,7 @@ export default {
//
handleRealGoPay(payType) {
uni.showToast({
title: "待开发...",
title: "上架后,待申请...",
icon: "none",
});
return;
@ -390,6 +396,10 @@ export default {
// })
// },
getCode() {
if (!_this.user.MEMBERSHIP_ID) {
return;
}
let _this = this;
this.barcodeImg = "";
this.qrcodeImg = "";

View File

@ -17,7 +17,10 @@
>条款
</view>
<view class="imgbox">
<image class="img" src="https://eshangtech.com/minTestImg/registerIcon.png" />
<image
class="img"
src="https://eshangtech.com/minTestImg/registerIcon.png"
/>
</view>
<div class="desc newBtnFixed" v-if="!user.MEMBERSHIP_ID">
@ -297,8 +300,9 @@ export default {
border-radius: 16rpx;
box-sizing: border-box;
padding: 56rpx 64rpx;
background: url("https://eshangtech.com/minTestImg/wanmeiyizhanRegister.svg")
no-repeat;
background-image: url("https://eshangtech.com/minTestImg/wanmeiyizhanRegister.svg");
background-repeat: no-repeat;
background-size: 100%;
.contentTitle {
font-family: PingFangSC, PingFang SC;
font-weight: 600;

View File

@ -1403,7 +1403,7 @@ export default {
const DataSecret = "fK7YzAq1R8Vp9hL0"; // fK7YzAq1R8Vp9hL0 DataSecret
const DataSecretIV = "z3XnWl8FQ2pTm5Ba"; // z3XnWl8FQ2pTm5Ba DataSecretIV
let tokenData = await this.$testApi.$post("/send", {
let tokenData = await this.$testApi.$post("/oss/upload", {
url: "https://openapi.chehejia.com/lcp-inter-evio-service/evcs/v1/evio/query_token",
data: JSON.stringify({
@ -1419,7 +1419,7 @@ export default {
let token = tokenData.Data.AccessToken;
//
const allStationList = await this.$testApi.$post("/send", {
const allStationList = await this.$testApi.$post("/oss/upload", {
url: "https://openapi.chehejia.com/lcp-inter-evio-service/evcs/v1/evio/query_stations_info",
data: JSON.stringify({
PageNo: 1,
@ -1464,7 +1464,7 @@ export default {
//
if (stationIds && stationIds.length > 0) {
const stationInfo = await this.$testApi.$post("/send", {
const stationInfo = await this.$testApi.$post("/oss/upload", {
url: "https://openapi.chehejia.com/lcp-inter-evio-service/evcs/v1/evio/query_station_status",
data: JSON.stringify({
StationIDs: stationIds,

View File

@ -3,7 +3,11 @@
<scroll-view
scroll-y
class="chargeList"
:style="{ height: `calc(100vh - 60px - ${bottomSafeArea}px)` }"
:style="{
height: `calc(100vh - ${
loginType === 'min' ? 60 + bottomSafeArea : 60
}px)`,
}"
>
<view class="mapBox">
<map
@ -1165,6 +1169,19 @@ export default {
});
},
});
} else if (url.indexOf("app.nio") !== -1) {
//
uni.showModal({
title: "",
content: `识别二维码类型为【蔚来】,确认跳转?`,
success(res) {
uni.navigateToMiniProgram({
appId: "wx35849c7f0cf7f7a9",
path: `/pages/index/index`,
success(res) {},
});
},
});
}
},
});

View File

@ -0,0 +1,471 @@
<template>
<view class="main">
<div class="mapBox">
<map
id="myMap"
:longitude="longitude"
:latitude="latitude"
class="map"
:scale="17"
:show-location="true"
:markers="markers"
></map>
<view class="topBox">
<view class="topRight">
<image
class="searchIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/searchIcon.png"
/>
<input
style="margin-left: 16rpx; font-size: 28rpx"
placeholder="请输入服务区"
v-model="searchText"
@confirm="handleConfirm"
/>
<!-- <span class="searchText">请输入服务区</span> -->
</view>
<view class="listBox" @click="handleChangePageType">
<image class="listIcon" src="/static/home/listIcon.svg" />
<text class="text">列表</text>
</view>
</view>
<view class="statusBox">
<view class="statusItem">
<view class="colorBox" style="background-color: #d81e06"></view>
<!-- <image
class="statusIcon"
src="https://eshangtech.com/minTestImg/LXIcon.png"
/> -->
<text class="brandCharge">理想</text>
<span class="empty"></span>
<span class="emptyValue">{{
chargeData && chargeData.LXDetail ? chargeData.LXDetail.LXEmpty : 0
}}</span>
<span class="sum"
>/{{
chargeData && chargeData.LXDetail ? chargeData.LXDetail.LXSum : 0
}}</span
>
</view>
<view class="statusItem">
<!-- <image
class="statusIcon"
src="https://eshangtech.com/minTestImg/WLIcon.png"
/> -->
<view class="colorBox" style="background-color: #f4ea2a"></view>
<text class="brandCharge">蔚来</text>
<span class="empty"></span>
<span class="emptyValue">{{
chargeData && chargeData.WLDetail
? chargeData.WLDetail.WLEmpty
? chargeData.WLDetail.WLEmpty
: 0
: 0
}}</span>
<span class="sum"
>/{{
chargeData && chargeData.WLDetail
? chargeData.WLDetail.WLSum
? chargeData.WLDetail.WLSum
: 0
: 0
}}</span
>
</view>
<view class="statusItem">
<!-- <image
class="statusIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/sunIcon.svg"
/> -->
<view class="colorBox" style="background-color: #57d16e"></view>
<text class="brandCharge">交控新能源</text>
<span class="empty"></span>
<span class="emptyValue"
>{{
chargeData && chargeData.JKDetail
? chargeData.JKDetail.JKEmpty
: 0
}}
</span>
<span class="sum"
>/{{
chargeData && chargeData.JKDetail ? chargeData.JKDetail.JKSum : 0
}}</span
>
</view>
<view class="statusItem">
<!-- <image
class="statusIcon"
src="https://eshangtech.com/minTestImg/stateGridIcon.png"
/> -->
<view class="colorBox" style="background-color: #ff9929"></view>
<text class="brandCharge">国网</text>
<span class="empty"></span>
<span class="emptyValue"
>{{
chargeData && chargeData.GWDetail
? chargeData.GWDetail.GWEmpty
: 0
}}
</span>
<span class="sum"
>/{{
chargeData && chargeData.GWDetail ? chargeData.GWDetail.GWSum : 0
}}</span
>
</view>
</view>
<view class="serviceDetailBox" v-if="showChargeBox">
<charge-box
:serviceAreaList="currentServiceList"
:pageType="'mapIndex'"
@allChargeData="handleGetChargeData"
@allLXDataList="handleLXAddMarker"
@allJKDataList="handleJKAddMarker"
/>
</view>
</div>
</view>
</template>
<script>
import ChargeBox from "../../components/chargeBox.vue";
export default {
components: { ChargeBox },
data() {
return {
longitude: "",
latitude: "",
seatInfo: {}, //
currentServiceObj: {}, //
currentServiceList: [], //
chargeData: {}, //
markers: [], //
serviceList: [], //
searchText: "", //
showChargeBox: true,
showListPage: false, //
};
},
onLoad() {
let storgeList = uni.getStorageSync("serviceList");
if (storgeList) {
this.serviceList = JSON.parse(storgeList);
}
let nearService = uni.getStorageSync("nearService");
if (nearService) {
this.seatInfo = {
longitude: nearService.SERVERPART_X,
latitude: nearService.SERVERPART_Y,
};
// this.longitude = this.seatInfo.longitude;
// this.latitude = this.seatInfo.latitude;
this.longitude = 116.894166;
this.latitude = 31.920213;
this.currentServiceObj = nearService;
// this.currentServiceList = [nearService.SERVERPART_NAME];
this.currentServiceList = ["新桥服务区"];
}
},
methods: {
//
handleChangePageType() {},
//
async handleConfirm() {
this.showChargeBox = false;
this.chaegeBoxList = [];
let req = {
// longitude: this.longitude,
Province_Code: "340000",
longitude: this.seatInfo.longitude,
latitude: this.seatInfo.latitude,
Serverpart_Name: this.searchText,
ShowService: true,
};
const data = await this.$api.$get(
"/CommercialApi/BaseInfo/GetServerpartList",
req
);
let list = data.Result_Data.List;
console.log("listlistlist", list);
let obj = list[0];
this.searchText = "";
this.seatInfo = {
longitude: obj.SERVERPART_X,
latitude: obj.SERVERPART_Y,
};
this.longitude = this.seatInfo.longitude;
this.latitude = this.seatInfo.latitude;
this.currentServiceObj = obj;
this.currentServiceList = [obj.SERVERPART_NAME];
this.showChargeBox = true;
},
//
handleLXAddMarker(e) {
let stationList = e.res;
let pointList = [];
if (this.serviceList && this.serviceList.length > 0) {
this.serviceList.forEach((item) => {
if (stationList && stationList.length > 0) {
stationList.forEach((subItem) => {
if (subItem.Address.indexOf(item.SERVERPART_NAME) !== -1) {
const date = new Date();
pointList.push({
id: date.getTime(), // 使ID
latitude: subItem.StationLat,
longitude: subItem.StationLng,
iconPath: "/static/home/redFixed.svg",
width: 30,
height: 30,
// label: {
// //
// content: "",
// color: "#3EC273",
// fontSize: 14,
// bgColor: "#ffffff",
// borderRadius: 4,
// padding: 5,
// textAlign: "center",
// },
});
}
});
}
});
}
this.markers = this.markers.concat(pointList);
},
//
handleJKAddMarker(e) {
console.log("交控的全部数据", e);
let stationList = e.res;
let pointList = [];
if (this.serviceList && this.serviceList.length > 0) {
this.serviceList.forEach((item) => {
if (stationList && stationList.length > 0) {
stationList.forEach((subItem) => {
if (subItem.areaName.indexOf(item.SERVERPART_NAME) !== -1) {
const date = new Date();
pointList.push({
id: date.getTime(), // 使ID
latitude: subItem.lat,
longitude: subItem.lng,
iconPath: "/static/home/greenFixed.svg",
width: 30,
height: 30,
});
}
});
}
});
}
this.markers = this.markers.concat(pointList);
},
//
handleGetChargeData(e) {
console.log("全部的充电数据", e);
let obj = e.res[0];
// e[0]
this.chargeData = obj;
// this.markers = [
// {
// id: Number(obj.ServerPart_Id), // 使ID
// latitude: obj.SERVERPART_Y,
// longitude: obj.SERVERPART_X,
// width: 20,
// height: 30,
// label: {
// //
// content: obj.name,
// color: "#3EC273",
// fontSize: 14,
// bgColor: "#ffffff",
// borderRadius: 4,
// padding: 5,
// textAlign: "center",
// },
// },
// ];
},
},
};
</script>
<style scoped lang="less">
.main {
width: 100vw;
height: 100vh;
position: relative;
.mapBox {
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0;
.map {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
.topBox {
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 2;
box-sizing: border-box;
padding: 16rpx;
display: flex;
align-items: center;
justify-content: space-between;
.topRight {
width: calc(100% - 240rpx);
height: 72rpx;
background: #fff;
border-radius: 36rpx;
box-sizing: border-box;
padding: 16rpx 20rpx;
display: flex;
align-items: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
.searchIcon {
width: 32rpx;
height: 32rpx;
}
.searchText {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9fa1aa;
line-height: 40rpx;
text-align: left;
font-style: normal;
margin-left: 8rpx;
}
}
.listBox {
width: 180rpx;
height: 72rpx;
background: #fff;
border-radius: 36rpx;
box-sizing: border-box;
padding: 16rpx 20rpx;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
.listIcon {
width: 40rpx;
height: 40rpx;
margin-right: 12rpx;
}
.text {
font-family: "PingFangSC";
font-weight: 400;
font-size: 30rpx;
color: #130f05;
line-height: 36rpx;
text-align: justify;
font-style: normal;
}
}
}
.statusBox {
box-sizing: border-box;
padding: 16rpx;
border-radius: 16rpx;
background: #fff;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
position: absolute;
top: 120rpx;
left: 16rpx;
z-index: 2;
.statusItem {
display: flex;
align-items: center;
padding: 8rpx 0;
.colorBox {
width: 18rpx;
height: 18rpx;
border-radius: 50%;
overflow: hidden;
margin-right: 16rpx;
}
.statusIcon {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
overflow: hidden;
margin-right: 16rpx;
}
.brandCharge {
font-family: "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei",
sans-serif;
font-weight: 400;
font-size: 24rpx;
color: #130f05;
line-height: 40rpx;
font-style: normal;
display: inline-block;
width: 120rpx;
margin-right: 16rpx;
}
.empty {
font-family: "PingFangSC";
font-weight: 400;
font-size: 24rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-right: 4rpx;
}
.emptyValue {
font-family: "DINAlternate";
font-weight: 400;
font-size: 28rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-right: 4rpx;
}
.sum {
font-family: "DINAlternate";
font-weight: 400;
font-size: 28rpx;
color: #716f69;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
}
.serviceDetailBox {
width: calc(100% - 64rpx);
box-sizing: border-box;
padding: 16rpx;
border-radius: 16rpx;
position: absolute;
left: 32rpx;
bottom: 80rpx;
z-index: 2;
background: #fff;
}
}
}
</style>

View File

@ -2,7 +2,73 @@
<view class="main">
<view class="content">
<view class="trafficState">
<view class="positionBox">
<view class="newPositionBox">
<view class="positionItem">
<view class="itemLeft">
<view class="itemLeftItem">
<view class="positionIcon startObj"></view>
<view class="positionBox" v-if="startEndType === 1">{{
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>
<!-- @blur="handleEndPlaceBlur" -->
<!-- @confirm="searchPOI" -->
<!-- {{ endObj.name || "" }} -->
</view>
</view>
<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>
<!-- @blur="handleEndPlaceBlur" -->
<!-- @confirm="searchPOI" -->
<!-- {{ 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"
/>
</view>
</view>
</view>
<!-- <view class="positionBox">
<view class="startItem" @click="handleChangeService(startObj)">{{
startObj.name || ""
}}</view>
@ -14,12 +80,40 @@
<view class="endItem" @click="handleChangeService(endObj)">{{
endObj.name || ""
}}</view>
</view> -->
<!-- @click="handleTrafficSearch" -->
<view class="searchBtn" @click="handleConfirmToSearch">路况查询</view>
</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="topItem">
<view class="topLeft">
<image
class="listIcon"
src="https://eshangtech.com/wanmeiyizhanImg/home/address.png"
/>
<span class="listName">{{ item.name || "" }}</span>
</view>
<view class="rightDistance">{{
item.distance ? `${item.distance}km` : ""
}}</view>
</view>
<view class="bottom">{{ item.address || "" }}</view>
</view>
<view class="searchBtn" @click="handleTrafficSearch">路况查询</view>
</view>
<!-- 下面的信息 -->
<view class="bottomBox">
<view class="bottomBox" v-if="!endPlaceFocus">
<view class="boxTop">
<view class="leftTop">
<span class="boldText">{{ detailObj.distanceNumber || "-" }}</span>
@ -521,6 +615,8 @@ export default {
pointList: [], //
chaegeBoxList: [], //
hideFilterSearch: false, //
endPlaceFocus: false, //
startEndType: 1, // 1 2
};
},
onLoad() {
@ -646,6 +742,21 @@ export default {
};
},
methods: {
//
handleEndPlaceFocus(e) {
this.endPlaceFocus = true;
},
//
handleEndPlaceBlur() {
this.endPlaceFocus = false;
},
//
handleConfirmToSearch() {
if (this.pointList && this.pointList.length > 0) {
this.handleGoUsMap(this.pointList[0]);
this.endPlaceFocus = false;
}
},
//
handleAddSearchText(searchType) {
this.searchPoint += searchType;
@ -657,7 +768,11 @@ export default {
if (!this.searchPoint) {
this.hideFilterSearch = false;
}
if (this.startEndType === 1) {
this.endObj.name = this.searchPoint;
} else {
this.startObj.name = this.searchPoint;
}
let _this = this;
const key = "6e96a801bcea5290d3dcbf100358a6b3"; //
const url = `https://restapi.amap.com/v5/place/text?key=${key}&types=&keywords=${this.searchPoint}&offset=10&page=1&region=合肥市`;
@ -707,7 +822,6 @@ export default {
},
//
handleGoUsMap(obj) {
console.log("endObj", this.endObj);
console.log("obj", obj);
let [lon2, lat2] = obj.location.split(",");
let newRes = {
@ -718,7 +832,14 @@ export default {
longitude: lon2,
latitude: lat2,
};
if (this.startEndType === 1) {
this.endObj = newRes;
} else {
this.startObj = newRes;
}
this.searchPoint = newRes.name;
this.endPlaceFocus = false;
this.detailObj = {
distanceNumber: "",
hour: "",
@ -729,6 +850,9 @@ export default {
};
this.$refs.popup.close();
this.isShow = false;
console.log("startEndType", this.startEndType);
console.log("endObj", this.endObj);
console.log("startObj", this.startObj);
this.handleTrafficSearch();
return;
@ -981,9 +1105,18 @@ export default {
},
//
handleChangeStartEnd() {
if (this.startEndType === 1) {
this.startEndType = 2;
this.searchPoint = this.endObj.name;
} else {
this.startEndType = 1;
this.searchPoint = this.startObj.name;
}
let middleObj = this.endObj;
this.endObj = JSON.parse(JSON.stringify(this.startObj));
this.startObj = middleObj;
console.log("this.startObj", this.startObj);
console.log("this.endObj", this.endObj);
},
//
handleGetPermission() {
@ -1128,6 +1261,7 @@ export default {
const key = "6e96a801bcea5290d3dcbf100358a6b3";
//
const start = `${this.startObj.longitude},${this.startObj.latitude}`;
// const start = `117.202392,31.833196`;
//
const end = `${this.endObj.longitude},${this.endObj.latitude}`;
//
@ -1160,7 +1294,7 @@ export default {
const data = await new Promise((resolve, reject) => {
uni.request({
url: `https://restapi.amap.com/v3/direction/driving?key=${key}&origin=${start}&destination=${this.endObj.longitude},${this.endObj.latitude}&strategy=19`,
url: `https://restapi.amap.com/v3/direction/driving?key=${key}&origin=${start}&destination=${this.endObj.longitude},${this.endObj.latitude}&extensions=all&strategy=20`,
method: "GET",
success(res) {
console.log("resresresresresresresresresresres", res);
@ -1834,7 +1968,7 @@ export default {
handleToMap(obj) {
// console.log("this.loginType", this.loginType);
if (this.loginType === "min") {
if (this.loginType === "min" || this.loginType === "ios") {
uni.openLocation({
latitude: obj.latitude ? obj.latitude * 1 : obj.SERVERPART_Y * 1,
longitude: obj.longitude ? obj.longitude * 1 : obj.SERVERPART_X * 1,
@ -1930,6 +2064,66 @@ export default {
border: 2rpx solid #f3f3f3;
box-sizing: border-box;
padding: 24px;
.newPositionBox {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 8rpx 12rpx;
border-radius: 8rpx;
background: #fafafb;
border: 1px solid #f6f6f8;
.positionItem {
width: 100%;
display: flex;
align-items: center;
.itemLeft {
width: calc(100% - 30rpx);
.itemLeftItem {
display: flex;
align-items: center;
.positionIcon {
width: 20rpx;
height: 20rpx;
border-radius: 50%;
margin-right: 20rpx;
}
.startObj {
background: #0dc46e;
}
.endObj {
background: #ef3737;
}
.positionBox {
font-family: "PingFangSC";
font-weight: 400;
font-size: 30rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
padding: 16rpx 0;
display: inline-block;
width: calc(100% - 80rpx);
border-bottom: 1px solid #d8d9da;
}
.noBorderBottom {
border-bottom: 0px;
}
}
}
.itemRight {
margin-left: 6rpx;
.reachIcon {
width: 24rpx;
height: 24rpx;
transform: rotate(-90deg);
}
}
}
}
.positionBox {
display: flex;
align-items: center;
@ -1974,6 +2168,70 @@ export default {
}
}
.placeSearchListBox {
width: 100%;
margin-top: 12px;
background: #ffffff;
box-sizing: border-box;
padding: 24rpx;
.listItem {
padding: 16rpx 0;
border-bottom: 1px solid #f5f6f7;
.topItem {
display: flex;
align-items: center;
justify-content: space-between;
.topLeft {
width: 80%;
display: flex;
align-items: center;
.listIcon {
width: 24rpx;
height: 24rpx;
margin-right: 8rpx;
}
.listName {
width: 80%;
display: inline-block;
font-family: "PingFangSC";
font-weight: 400;
font-size: 28rpx;
color: #130f05;
line-height: 40rpx;
text-align: left;
font-style: normal;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
.rightDistance {
font-family: "PingFangSC";
font-weight: 400;
font-size: 24rpx;
color: #716f69;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.bottom {
width: 80%;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #716f69;
line-height: 40rpx;
text-align: left;
font-style: normal;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
}
.bottomBox {
width: 100%;
background: #ffffff;

View File

@ -574,7 +574,7 @@
</view>
<!-- 卫生间 母婴室 司机之家 -->
<view class="otherFacilities">
<view class="otherFacilities" v-if="false">
<view class="detailTab">
<view
:class="
@ -1091,7 +1091,6 @@
</view>
</view>
</view>
</view>
</view>
</template>

32
pages/tabbar Normal file
View File

@ -0,0 +1,32 @@
"tabBar": {
"custom": true,
"color": "#130F05",
"backgroundColor": "#fff",
"selectedColor": "#130F05",
"borderStyle": "black",
"list": [{
"text": "首页",
"pagePath": "pages/home/index",
"iconPath": "static/tabs/home.png",
"selectedIconPath": "static/tabs/home-active.png"
},
{
"text": "线上商城",
"pagePath": "pages/onlineShop/index",
"iconPath": "static/tabs/store-active.png",
"selectedIconPath": "static/tabs/store-active.png"
},
{
"text": "精选活动",
"pagePath": "pages/discovery/index",
"iconPath": "static/tabs/discovery.png",
"selectedIconPath": "static/tabs/discovery-active.png"
},
{
"text": "我的",
"pagePath": "pages/userCenter/index",
"iconPath": "static/tabs/user.png",
"selectedIconPath": "static/tabs/user-active.png"
}
]
},

View File

@ -4,7 +4,7 @@
<view
class="top"
:style="{
paddingTop: `${menu.bottom + 14}px`,
paddingTop: `${loginType === 'min' ? menu.bottom : menu.top + 14}px`,
}"
>
<view class="userInfoLeft">
@ -153,8 +153,6 @@
</view>
</view>
</view>
<tabbar :page="'/pages/userCenter/index'" />
</view>
<view class="pageBg"></view>
@ -371,6 +369,8 @@
<tabbar :page="'/pages/userCenter/index'" />
</div>
<tabbar :page="'/pages/userCenter/index'" />
</view>
</template>
@ -505,13 +505,18 @@ export default {
let type = uni.getStorageSync("loginType");
console.log("type", type);
this.loginType = type;
let systemInfo = uni.getSystemInfoSync();
if (type === "min") {
this.menu = uni.getMenuButtonBoundingClientRect();
} else {
this.menu = systemInfo.safeArea;
}
console.log("this.menu", this.menu);
},
onShow() {
uni.hideTabBar({
animation: false,
});
let signTime = uni.getStorageSync("signTime");
if (signTime) {
signTime = new Date(signTime).getTime();
@ -958,10 +963,11 @@ export default {
<style lang="less" scoped>
.main {
background: #f5f7f9;
padding-bottom: calc(90rpx + env(safe-area-inset-bottom));
min-height: 100vh;
position: relative;
width: 100vw;
box-sizing: border-box;
// padding-bottom: calc(90rpx + env(safe-area-inset-bottom));
// height: 100vh;
// position: relative;
.content {
width: 100%;
height: 100%;
@ -1259,7 +1265,7 @@ export default {
top: 0;
left: 0;
width: 100%;
height: 720rpx;
height: 100%;
background-image: url("https://eshangtech.com/minTestImg/newBackg.png");
background-size: 100% 100%;
z-index: 1;

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743585624364" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13047" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M536.61888 1012.394667a31.914667 31.914667 0 0 1-49.237333 0c-190.72-230.186667-303.104-393.514667-337.066667-490.069334A395.52 395.52 0 0 1 128.000213 390.698667C128.000213 174.933333 299.94688 0 512.04288 0 724.13888 0 896.000213 174.933333 896.000213 390.698667c0 46.506667-8.021333 91.136-22.698666 132.48-33.92 96.341333-146.346667 259.413333-336.682667 489.216zM511.957547 520.96c70.656 0 128.042667-58.368 128.042666-130.261333 0-71.936-57.258667-130.133333-128.042666-130.133334-70.826667 0-128.085333 58.197333-128.085334 130.133334 0 71.893333 57.386667 130.261333 128.085334 130.261333z" fill="#57d16e" p-id="13048"></path></svg>

After

Width:  |  Height:  |  Size: 974 B

1
static/home/listIcon.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743497220851" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3652" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M903.734 456.037h-559.62c-30.905 0-55.963 25.057-55.963 55.963 0 30.877 25.057 55.963 55.963 55.963h559.62c30.933 0 55.963-25.086 55.963-55.963-0.001-30.905-25.031-55.963-55.963-55.963z m-783.468 0c-30.905 0-55.963 25.057-55.963 55.963 0 30.877 25.057 55.963 55.963 55.963s55.962-25.086 55.962-55.963c0-30.905-25.058-55.963-55.962-55.963z m0-279.81c-30.905 0-55.963 25.057-55.963 55.963s25.057 55.963 55.963 55.963 55.962-25.057 55.962-55.963-25.058-55.962-55.962-55.962z m223.848 111.925h559.62c30.933 0 55.963-25.057 55.963-55.963s-25.03-55.962-55.963-55.962h-559.62c-30.905 0-55.963 25.056-55.963 55.962s25.058 55.963 55.963 55.963z m559.62 447.696h-559.62c-30.905 0-55.963 25.086-55.963 55.963s25.057 55.962 55.963 55.962h559.62c30.933 0 55.963-25.085 55.963-55.962s-25.031-55.963-55.963-55.963z m-783.468 0c-30.905 0-55.963 25.086-55.963 55.963s25.057 55.962 55.963 55.962 55.962-25.085 55.962-55.962-25.058-55.963-55.962-55.963z" p-id="3653"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743585660190" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13253" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M536.61888 1012.394667a31.914667 31.914667 0 0 1-49.237333 0c-190.72-230.186667-303.104-393.514667-337.066667-490.069334A395.52 395.52 0 0 1 128.000213 390.698667C128.000213 174.933333 299.94688 0 512.04288 0 724.13888 0 896.000213 174.933333 896.000213 390.698667c0 46.506667-8.021333 91.136-22.698666 132.48-33.92 96.341333-146.346667 259.413333-336.682667 489.216zM511.957547 520.96c70.656 0 128.042667-58.368 128.042666-130.261333 0-71.936-57.258667-130.133333-128.042666-130.133334-70.826667 0-128.085333 58.197333-128.085334 130.133334 0 71.893333 57.386667 130.261333 128.085334 130.261333z" fill="#FF9929" p-id="13254"></path></svg>

After

Width:  |  Height:  |  Size: 974 B

1
static/home/redFixed.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743585660190" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13253" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M536.61888 1012.394667a31.914667 31.914667 0 0 1-49.237333 0c-190.72-230.186667-303.104-393.514667-337.066667-490.069334A395.52 395.52 0 0 1 128.000213 390.698667C128.000213 174.933333 299.94688 0 512.04288 0 724.13888 0 896.000213 174.933333 896.000213 390.698667c0 46.506667-8.021333 91.136-22.698666 132.48-33.92 96.341333-146.346667 259.413333-336.682667 489.216zM511.957547 520.96c70.656 0 128.042667-58.368 128.042666-130.261333 0-71.936-57.258667-130.133333-128.042666-130.133334-70.826667 0-128.085333 58.197333-128.085334 130.133334 0 71.893333 57.386667 130.261333 128.085334 130.261333z" fill="#d81e06" p-id="13254"></path></svg>

After

Width:  |  Height:  |  Size: 974 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743585660190" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13253" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M536.61888 1012.394667a31.914667 31.914667 0 0 1-49.237333 0c-190.72-230.186667-303.104-393.514667-337.066667-490.069334A395.52 395.52 0 0 1 128.000213 390.698667C128.000213 174.933333 299.94688 0 512.04288 0 724.13888 0 896.000213 174.933333 896.000213 390.698667c0 46.506667-8.021333 91.136-22.698666 132.48-33.92 96.341333-146.346667 259.413333-336.682667 489.216zM511.957547 520.96c70.656 0 128.042667-58.368 128.042666-130.261333 0-71.936-57.258667-130.133333-128.042666-130.133334-70.826667 0-128.085333 58.197333-128.085334 130.133334 0 71.893333 57.386667 130.261333 128.085334 130.261333z" fill="#f4ea2a" p-id="13254"></path></svg>

After

Width:  |  Height:  |  Size: 974 B

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

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