This commit is contained in:
ylj20011123 2025-04-24 19:19:49 +08:00
parent c4b7b3c501
commit 9f8cc273d4
69 changed files with 750 additions and 610 deletions

View File

@ -1,23 +1,32 @@
<template> <template>
<div class="main"> <div class="main">
<div <div v-if="showType === 1">
class="newContent" <div class="pageTitle">{{ detailObj.NOTICEINFO_TITLE || "" }}</div>
v-if="detailObj.content"
v-html="detailObj.content"
></div>
<!-- <div class="pageTitle">{{ detailObj.NOTICEINFO_TITLE || "" }}</div>
<div class="time">{{ detailObj.START_DATE || "-" }}</div> <div class="time">{{ detailObj.START_DATE || "-" }}</div>
<div <div class="navList" v-if="detailObj.ImageList && detailObj.ImageList.length > 0">
class="navList"
v-if="detailObj.ImageList && detailObj.ImageList.length > 0"
> <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" indicator-color="rgba(255,255,255,0.6)"
<image indicator-active-color="#ffffff" v-if="detailObj.ImageList && detailObj.ImageList.length > 0">
class="img"
:src="detailObj.ImageList[0].ImageUrl" <swiper-item v-for="(item, index) in detailObj.ImageList" :key="index"
@click="handleShowPreview(detailObj.ImageList[0].ImageUrl)" @click="handleShowPreview(detailObj.ImageList[0].ImageUrl)">
/> <view class="swiper-item">
<image class="img" :src="item.ImageUrl" />
</view>
</swiper-item>
</swiper>
<!-- <image class="img" :src="detailObj.ImageList[0].ImageUrl"
@click="handleShowPreview(detailObj.ImageList[0].ImageUrl)" /> -->
</div> </div>
<text class="content">{{ detailObj.NOTICEINFO_CONTENT || "" }}</text> --> <text class="content">{{ detailObj.NOTICEINFO_CONTENT || "" }}</text>
</div>
<div class="newContent" v-if="detailObj.content && showType === 2" v-html="detailObj.content"></div>
</div> </div>
</template> </template>
<script> <script>
@ -29,13 +38,19 @@ export default {
// START_DATE: "", // START_DATE: "",
// NOTICEINFO_CONTENT: "", // NOTICEINFO_CONTENT: "",
}, },
showType: '',// 1 2
}; };
}, },
onLoad(query) { onLoad(query) {
console.log("query", query); console.log("query", query);
if (query.id) { if (query.id) {
// this.hanldeGetDetail(query.id); if (query.type === 'true') {
this.hanldeGetDetail(query.id);
this.showType = 1
} else {
this.handleGetNewDetail(query.id); this.handleGetNewDetail(query.id);
this.showType = 2
}
} }
this.$utils.addUserBehaviorNew(); this.$utils.addUserBehaviorNew();
}, },
@ -139,6 +154,7 @@ export default {
data.Result_Data.NOTICEINFO_CONTENT.split("\n").join("\n\n"); data.Result_Data.NOTICEINFO_CONTENT.split("\n").join("\n\n");
this.detailObj = data.Result_Data; this.detailObj = data.Result_Data;
this.detailObj.NOTICEINFO_CONTENT = formattedText; this.detailObj.NOTICEINFO_CONTENT = formattedText;
console.log("this.detailObj", this.detailObj);
}, },
}, },
}; };
@ -176,7 +192,7 @@ export default {
.navList { .navList {
width: 100%; width: 100%;
height: 100%; height: 400rpx;
border-radius: 6rpx; border-radius: 6rpx;
overflow: hidden; overflow: hidden;
margin: 40rpx 0; margin: 40rpx 0;
@ -185,6 +201,17 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.swiper {
width: 100%;
height: 100%;
.swiper-item {
width: 100%;
height: 100%;
}
}
} }
.content { .content {
@ -199,6 +226,7 @@ export default {
overflow-y: auto; overflow-y: auto;
} }
} }
.main::-webkit-scrollbar { .main::-webkit-scrollbar {
display: none; display: none;
} }

View File

@ -8,24 +8,30 @@
</div> </div>
<div class="contentList"> <div class="contentList">
<div class="contentItem" v-for="(item, index) in messageList" :key="index" @click="handleGoDetail(item)"> <!-- <div class="contentItem" v-for="(item, index) in messageList" :key="index" @click="handleGoDetail(item)"> -->
<div class="contentItem" v-for="(item, index) in allMessageList[selectTab]" :key="index"
@click="handleGoDetail(item)">
<div class="left"> <div class="left">
<!-- <div class="title">{{ item.NOTICEINFO_TITLE || "" }}</div> --> <!-- <div class="title">{{ item.NOTICEINFO_TITLE || "" }}</div> -->
<div class="title">{{ item.title || "" }}</div> <div class="title">{{ item.title || item.NOTICEINFO_TITLE || "" }}</div>
<!-- <div class="content">{{ item.NOTICEINFO_CONTENT || "" }}</div> --> <div class="content">{{ item.NOTICEINFO_CONTENT || "" }}</div>
<div class="descBox"> <div class="descBox">
<span class="name">{{ item.author || "-" }}</span> <span class="name">{{ item.author || item.STAFF_NAME || "-" }}</span>
<span class="time">{{ item.publishTime || "-" }}</span> <span class="time">{{ item.publishTime || item.START_DATE || "-" }}</span>
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<image class="leftIcon" :src="item.coverImg
<image class="leftIcon" v-if="item.ImageList && item.ImageList.length > 0" :src="item.ImageList[0].ImageUrl" />
<image v-else class="leftIcon" :src="item.coverImg
? item.coverImg ? item.coverImg
: 'https://eshangtech.com/ShopICO/no-picture.png' : 'https://eshangtech.com/ShopICO/no-picture.png'
" /> " />
</div> </div>
</div> </div>
<div v-if="!(messageList && messageList.length > 0)"> <!-- <div v-if="!(messageList && messageList.length > 0)"> -->
<div v-if="!(allMessageList[selectTab] && allMessageList[selectTab].length > 0)">
<no-data text="暂无内容" /> <no-data text="暂无内容" />
</div> </div>
</div> </div>
@ -40,7 +46,8 @@ export default {
return { return {
tabList: [], tabList: [],
selectTab: 0, selectTab: 0,
messageList: [], messageList: [], //
allMessageList: {},//
}; };
}, },
components: { components: {
@ -61,7 +68,7 @@ export default {
// //
handleChangeTab(value) { handleChangeTab(value) {
this.selectTab = value; this.selectTab = value;
this.handleGetHighwayHeadlines(); // this.handleGetHighwayHeadlines();
}, },
// tab // tab
async handleGetTabList() { async handleGetTabList() {
@ -80,6 +87,10 @@ export default {
} }
}); });
} }
res.unshift({
label: "信息播报",
value: "ETC",
});
res.unshift({ res.unshift({
label: "全部", label: "全部",
value: "all", value: "all",
@ -89,57 +100,26 @@ export default {
if (res && res.length > 0) { if (res && res.length > 0) {
this.selectTab = res[0].value; this.selectTab = res[0].value;
} }
// this.handleGetHighwayHeadlines();
this.handleGetHighwayHeadlines(); this.handleGetHighwayHeadlines();
// this.handleGetHighwayHeadlines();
}, },
// //
async handleGetHighwayHeadlines() { async handleGetHighwayHeadlines() {
console.log("this.user", this.user); let newReq = {
let req = {
SearchParameter: { SearchParameter: {
NOTICEINFO_TYPES: this.selectTab === "all" ? "" : this.selectTab, // NOTICEINFO_TYPES: 1010,
PROVINCE_CODE: this.user.PROVINCE_CODE || "530000", PROVINCE_CODE: this.user.PROVINCE_CODE || "530000",
NOTICEINFO_STATE: 1, NOTICEINFO_STATE: 1,
}, },
PageIndex: 1, PageIndex: 1,
PageSize: 999999, PageSize: 999999,
appId: "wxee018fb96955552a",
}; };
const data = await this.$api.$post( const newData = await this.$api.$post(
"/EShangApiMain/Notice/GetNOTICEINFOList", "/EShangApiMain/Notice/GetNOTICEINFOList",
req newReq
); );
console.log("handleGetHighwayHeadlines", data); let uselist = newData.Result_Data.List;
let list = data.Result_Data.List;
if (list && list.length > 0) {
this.messageList = list;
} else {
this.messageList = [];
}
// this.messageList.push({
// NOTICEINFO_TITLE: "28",
// messageType: "official",
// });
console.log("this.messageList", this.messageList);
},
//
handleGoDetail(obj) {
console.log("obj", obj);
if (obj.messageType === "official") {
uni.navigateTo({
url: "/pages/highwayHeadlines/minprogress",
});
} else {
uni.navigateTo({
// url: `/pages/highwayHeadlines/detail?id=${obj.NOTICEINFO_ID}`,
url: `/pages/highwayHeadlines/detail?id=${obj.id}`,
});
}
},
//
async handleGetHighwayHeadlines() {
let start = `${this.$moment let start = `${this.$moment
.now() .now()
.set("month", -1) .set("month", -1)
@ -150,7 +130,6 @@ export default {
endQueryTime: end, // endQueryTime: end, //
}; };
let time = Math.ceil(new Date().getTime() / 1000); let time = Math.ceil(new Date().getTime() / 1000);
let req = { let req = {
app_id: "530000301", app_id: "530000301",
biz_content: JSON.stringify(params), biz_content: JSON.stringify(params),
@ -162,9 +141,6 @@ export default {
sign_type: "RSA2", sign_type: "RSA2",
}; };
let signText = `app_id=${req.app_id}&biz_content=${req.biz_content}&charset=UTF-8&pid=${req.app_id}&service=trawe.eats.etc&utc_timestamp=${req.utc_timestamp}&version=1.0`; let signText = `app_id=${req.app_id}&biz_content=${req.biz_content}&charset=UTF-8&pid=${req.app_id}&service=trawe.eats.etc&utc_timestamp=${req.utc_timestamp}&version=1.0`;
console.log("handleGetHighwayHeadlines", req);
console.log("signText", signText);
// //
const sign = await new Promise((resolve, reject) => { const sign = await new Promise((resolve, reject) => {
uni.request({ uni.request({
@ -184,10 +160,7 @@ export default {
}, },
}); });
}); });
console.log("sign", sign);
req.sign = sign; req.sign = sign;
// //
const tweetsData = await new Promise((resolve, reject) => { const tweetsData = await new Promise((resolve, reject) => {
uni.request({ uni.request({
@ -206,14 +179,137 @@ export default {
}, },
}); });
}); });
console.log('tweetsDatatweetsData', tweetsData);
console.log("tweetsData", tweetsData); let all = uselist.concat(tweetsData)
if (tweetsData && tweetsData.length > 0) { console.log("allallallall", all);
this.messageList = tweetsData; if (all && all.length > 0) {
let typeList = []
let allRes = {}
all.forEach((item) => {
if (item.NOTICEINFO_TYPE && item.NOTICEINFO_STATE === 1) {
if (typeList.indexOf(item.NOTICEINFO_TYPE) === -1) {
typeList.push(item.NOTICEINFO_TYPE)
let list = [item]
allRes[item.NOTICEINFO_TYPE] = list
} else { } else {
this.messageList = []; let list = allRes[item.NOTICEINFO_TYPE]
list.push(item)
allRes[item.NOTICEINFO_TYPE] = list
}
} else {
typeList.push('ETC')
let list = allRes['ETC']
if (list && list.length > 0) {
list.push(item)
} else {
list = [item]
}
allRes['ETC'] = list
}
})
console.log('allResallResallResallRes', allRes);
allRes['all'] = all
this.allMessageList = allRes
}
// this.messageList.push({
// NOTICEINFO_TITLE: "28",
// messageType: "official",
// });
console.log("this.messageList", this.messageList);
},
//
handleGoDetail(obj) {
console.log("obj", obj);
if (obj.messageType === "official") {
uni.navigateTo({
url: "/pages/highwayHeadlines/minprogress",
});
} else {
uni.navigateTo({
// url: `/pages/highwayHeadlines/detail?id=${obj.NOTICEINFO_ID}`,
url: `/pages/highwayHeadlines/detail?id=${obj.id || obj.NOTICEINFO_ID}&type=${obj.NOTICEINFO_TYPE ? true : false}`,
});
} }
}, },
//
// async handleGetHighwayHeadlines() {
// let start = `${this.$moment
// .now()
// .set("month", -1)
// .format("YYYY-MM-DD")} 00:00:00`;
// let end = `${this.$moment.now().format("YYYY-MM-DD")} 23:59:59`;
// let params = {
// startQueryTime: start, //
// endQueryTime: end, //
// };
// let time = Math.ceil(new Date().getTime() / 1000);
// let req = {
// app_id: "530000301",
// biz_content: JSON.stringify(params),
// charset: "UTF-8",
// pid: "530000301",
// service: "trawe.eats.etc",
// utc_timestamp: time,
// version: "1.0",
// sign_type: "RSA2",
// };
// let signText = `app_id=${req.app_id}&biz_content=${req.biz_content}&charset=UTF-8&pid=${req.app_id}&service=trawe.eats.etc&utc_timestamp=${req.utc_timestamp}&version=1.0`;
// console.log("handleGetHighwayHeadlines", req);
// console.log("signText", signText);
// //
// const sign = await new Promise((resolve, reject) => {
// uni.request({
// url: "https://admin.es.eshangtech.com/prod-api/RSA/sign",
// method: "POST",
// data: {
// originalText: signText,
// privateKey:
// "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCtIkIJLbZYI9NvTRkRbqtjJ73gkAUJZBJw88Z+O8prX2HXMTIedmZZxTwbfM5kGpl9VmS0CY8QL0DnDsgHO8QnSDpN1jiqTD9lk1evycuF7ujmlOk/cJ5x2cLPn9rPIrQn1lxp9mBiO1m9vsrNOze/kx7wRyif/+hvn5Q9KtNEMy0K8oOE5vktnjkk1AhhXrTii9eIjOrO3pRgh9cFA9kqQpvD14CImD7tdCgyntKcYAB7rlin6a2N0yH9JJINjOyOiyHufP8sR7pb9VYXVYXukOCItdC9QQluQhSdyC/3BfZD5zV1A+X7pUle7dDLGG6aSZyCibg16siFIEX94KYfAgMBAAECggEAcP5uwrbGzvdywq06sxnbWTdSwQC9iMd7EaTH4xL6pOD3Zg6Be0givGvxMq9dtA94JUkBKE8kw5dTcHlBKxdiiZCmHK63BM4GgjCLhfrZjWvDLNn68KB7iCpq7j6R+6XWljlczvsxJGs/woqGqTMAy1MlWgPXC7Vk6ZTolpMglt0IJOzPtgJ66qU2CtNRjowkXSCHDO2RCjkmYcjU6W+eCvi9cXIXhLv5yra1PE0KOxn3NiEFwgGUXpu8LKqxuUfGLuHljoLxWV8EEfwZaWB6Wy1DHMMgxhKrO3xEmdMEqtvJmF98LRSYiJerkExY8Gdx8bkLPjlCLYKW4JVuPmyYgQKBgQD8l0lLtB94MQMib0t8RzqlbKcczTAkicjSms3/P4kwh50GC8OqwjJB75n4yQyDPgsjms/SnRMq1zjgm+MHSC4snpLCcvKFYLnvrslWGu/2lyUTwEwdUdQe1ILG4Y9NXKWg4zXpKfJ2Rz/cqw6bHGYhQWZ62AXQgiz+W7cIPrsHsQKBgQCveHGHF0WqtYAmrW7nf04PKmcJ5U2briYCWOtWJE5Mo5BYxsGLX6vI53DMNQ42hFk0ye61VNfcazAoGI3mM4+j6R9k3ek8EtkBYBro5eeoBtB7TMTJagQqzBLz316mJBsFmw3TiC9BzYhs3tKJnVxpfqXoqsyu2ZA6VG5Y/gXOzwKBgCbejPvmUvVm7WmOINqWB3NPXgPzm1X0EgA+rDZ8K3tZUxOMGeccDSnSWipLne5QTNyExThOzZVJG0qNEombVOeu2zyq/aECunoktnzWllim96CrdcsJPZAk+Z7rNOcdu6sfa7teph4HZs9pT00VOK4jZ0a+GV71uUDHEkplhNhxAoGAMDOi5BxFe/595KIR7C/xboMUaQh/iDuPn2dzxmcUx0LLPUfkFPhEBV1mhAIzFFDI/JJYK6HR5m/fe7Q7DritRbaddCTtlB4NVK5k1gOJ3oN4s9ZD3Jxt5p/GuQ1sP7F9Zs3QP4KSkL34MwgGx9zdbPFofACnV4TWdN+KrJGjYMsCgYAE0CMM7rYHGY3Vt3/WZZJ+DPlKE6Q+uvFDomtsB1IavCeEJyjBP9+GhBHat86aA3mCFjf4emj1or7OEgPc0gCMtKBG6m10CrzLjzdWnOTveqWVUW/FS2gf17cIO5/FK/4KmAjH/QN24KXm395Qu8C0UFfgA66yysakJFkvXVBiPg==",
// },
// header: {
// "content-type": "application/json",
// },
// success(res) {
// console.log("resresresresresresres", res);
// resolve(res.data.data);
// },
// });
// });
// console.log("sign", sign);
// req.sign = sign;
// //
// const tweetsData = await new Promise((resolve, reject) => {
// uni.request({
// url: `https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets`,
// method: "POST",
// data: req,
// header: {
// "content-type": "application/x-www-form-urlencoded",
// },
// success(res) {
// console.log(
// "resresresresresresresresres",
// res.data.response.data.data.tweets
// );
// resolve(res.data.response.data.data.tweets);
// },
// });
// });
// console.log("tweetsData", tweetsData);
// if (tweetsData && tweetsData.length > 0) {
// this.messageList = tweetsData;
// } else {
// this.messageList = [];
// }
// },
}, },
}; };
</script> </script>

View File

@ -158,7 +158,7 @@
<view class="roadTop"> <view class="roadTop">
<view class="roadTopLeft"> <view class="roadTopLeft">
<image class="roadIcon" src="/static/images/home/broadcastIcon.svg" /> <image class="roadIcon" src="/static/images/home/broadcastIcon.svg" />
<text class="roadTitle">高速路况播报</text> <text class="roadTitle">高速信息播报</text>
<!-- <text class="roadTitle">女神节团购活动</text> --> <!-- <text class="roadTitle">女神节团购活动</text> -->
</view> </view>
<view class="roadTopRight"> <view class="roadTopRight">
@ -177,7 +177,7 @@
<div class="icon"></div> <div class="icon"></div>
<div class="contentMessage"> <div class="contentMessage">
<!-- {{ item.NOTICEINFO_TITLE || "-" }} --> <!-- {{ item.NOTICEINFO_TITLE || "-" }} -->
{{ item.title || "-" }} {{ item.title || item.NOTICEINFO_TITLE || "-" }}
</div> </div>
</div> </div>
</view> </view>
@ -187,7 +187,7 @@
<div class="icon"></div> <div class="icon"></div>
<div class="contentMessage"> <div class="contentMessage">
<!-- {{ item.NOTICEINFO_TITLE || "-" }} --> <!-- {{ item.NOTICEINFO_TITLE || "-" }} -->
{{ item.title || "-" }} {{ item.title || item.NOTICEINFO_TITLE || "-" }}
</div> </div>
</div> </div>
</view> </view>
@ -1116,34 +1116,36 @@ export default {
}); });
console.log("tweetsData", tweetsData); console.log("tweetsData", tweetsData);
if (tweetsData && tweetsData.length > 0) { // if (tweetsData && tweetsData.length > 0) {
this.roadStatusList = tweetsData; // this.roadStatusList = tweetsData;
} else {
this.roadStatusList = [];
}
// let req = {
// SearchParameter: {
// // NOTICEINFO_TYPES: 1010,
// PROVINCE_CODE: this.user.PROVINCE_CODE || "530000",
// NOTICEINFO_STATE: 1,
// },
// PageIndex: 1,
// PageSize: 6,
// appId: "wxee018fb96955552a",
// };
// console.log("handleGetHighwayHeadlines", req);
// const data = await this.$api.$post(
// "/EShangApiMain/Notice/GetNOTICEINFOList",
// req
// );
// let list = data.Result_Data.List;
// console.log("handleGetHighwayHeadlines", list);
// if (list && list.length > 0) {
// this.roadStatusList = list;
// } else { // } else {
// this.roadStatusList = []; // this.roadStatusList = [];
// } // }
let newReq = {
SearchParameter: {
// NOTICEINFO_TYPES: 1010,
PROVINCE_CODE: this.user.PROVINCE_CODE || "530000",
NOTICEINFO_STATE: 1,
},
PageIndex: 1,
PageSize: 6,
appId: "wxee018fb96955552a",
};
const newData = await this.$api.$post(
"/EShangApiMain/Notice/GetNOTICEINFOList",
newReq
);
let list = newData.Result_Data.List;
console.log("handleGetHighwayHeadlines", list);
// if (list && list.length > 0) {
// } else {
// this.roadStatusList = [];
// }
this.roadStatusList = list.concat(tweetsData);
// this.roadStatusList.unshift({ // this.roadStatusList.unshift({
// NOTICEINFO_TITLE: "28", // NOTICEINFO_TITLE: "28",
// }); // });
@ -1679,7 +1681,8 @@ export default {
.messageListBox { .messageListBox {
width: 100%; width: 100%;
height: 104rpx; // height: 104rpx;
height: 208rpx;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
background-color: #ffffff; background-color: #ffffff;

View File

@ -1,78 +1,35 @@
<template> <template>
<scroll-view <scroll-view class="page-body" scroll-y="true" @scroll="handlePageScroll" :scroll-into-view="scrollView">
class="page-body" <div class="product-image" :style="{
scroll-y="true"
@scroll="handlePageScroll"
:scroll-into-view="scrollView"
>
<div
class="product-image"
:style="{
marginTop: menu.top - 4 + 'px', marginTop: menu.top - 4 + 'px',
width: '100vw', width: '100vw',
height: '100vw', height: '100vw',
}" }">
> <view class="header" :style="{
<view
class="header"
:style="{
height: menu.bottom + 'px', height: menu.bottom + 'px',
background: showTopFixed ? '#fff' : '', background: showTopFixed ? '#fff' : '',
}" }">
> <view class="headerBottom" :style="{ bottom: 0, height: menu.height + 'px' }">
<view
class="headerBottom"
:style="{ bottom: 0, height: menu.height + 'px' }"
>
<view class="backArrowBox"> <view class="backArrowBox">
<image <image class="img" @click="handleBackIndex" src="/static/images/home/backArrowblack.svg" />
class="img"
@click="handleBackIndex"
src="/static/images/home/backArrowblack.svg"
/>
<view class="line"></view> <view class="line"></view>
<image <image class="img" src="/static/images/home/export.svg" @click="handleShowExportBox" />
class="img"
src="/static/images/home/export.svg"
@click="handleShowExportBox"
/>
</view> </view>
<view class="tabBox" v-if="showTopFixed"> <view class="tabBox" v-if="showTopFixed">
<view <view @click="handleChangePageTab(1)" :class="pageTab === 1 ? 'tabItem selectTabItem' : 'tabItem'">商品</view>
@click="handleChangePageTab(1)" <view @click="handleChangePageTab(2)" :class="pageTab === 2 ? 'tabItem selectTabItem' : 'tabItem'">详情</view>
:class="pageTab === 1 ? 'tabItem selectTabItem' : 'tabItem'"
>商品</view
>
<view
@click="handleChangePageTab(2)"
:class="pageTab === 2 ? 'tabItem selectTabItem' : 'tabItem'"
>详情</view
>
</view> </view>
<view class="rightContent"></view> <view class="rightContent"></view>
<view <view class="moreFunBox" :style="{ top: menu.top + 'px' }" v-if="showExportFun">
class="moreFunBox"
:style="{ top: menu.top + 'px' }"
v-if="showExportFun"
>
<view class="triangle"></view> <view class="triangle"></view>
<view class="funList"> <view class="funList">
<view <view class="funItem" v-for="(item, index) in funList" :key="index" @click="handleExpentGo(item)">
class="funItem"
v-for="(item, index) in funList"
:key="index"
@click="handleExpentGo(item)"
>
<image class="funItemIcon" :src="item.src" /> <image class="funItemIcon" :src="item.src" />
<text <text class="funItemText" :style="{
class="funItemText"
:style="{
border: index + 1 === funList.length ? 'none' : '', border: index + 1 === funList.length ? 'none' : '',
}" }">{{ item.label }}</text>
>{{ item.label }}</text
>
</view> </view>
</view> </view>
</view> </view>
@ -80,18 +37,8 @@
</view> </view>
<block v-if="good.List"> <block v-if="good.List">
<swiper <swiper scroll-x="true" circular="true" class="banner" indicator-dots="true" indicator-active-color="#ff6d00"
scroll-x="true" autoplay id="banner" interval="3000" @change="swiperChange" :current="pageMsg.current">
circular="true"
class="banner"
indicator-dots="true"
indicator-active-color="#ff6d00"
autoplay
id="banner"
interval="3000"
@change="swiperChange"
:current="pageMsg.current"
>
<swiper-item v-for="(img, i) in good.List" :key="i"> <swiper-item v-for="(img, i) in good.List" :key="i">
<!-- <view <!-- <view
:style="{ :style="{
@ -101,12 +48,7 @@
backgroundSize: '100% 100%', backgroundSize: '100% 100%',
}" }"
></view> --> ></view> -->
<image <image mode="aspectFill" lazy-load="true" :src="img.IMAGE_URL" @click="handlePreviewSwiper(img, i)"></image>
mode="aspectFill"
lazy-load="true"
:src="img.IMAGE_URL"
@click="handlePreviewSwiper(img, i)"
></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
<!-- <div class="swiper-dots" v-if="pageMsg.imgeCount > 0"> <!-- <div class="swiper-dots" v-if="pageMsg.imgeCount > 0">
@ -116,25 +58,19 @@
</div> --> </div> -->
</block> </block>
<block v-else> <block v-else>
<image <image mode="aspectFill" lazy-load="true" :src="good.DEFAULT_IMG"></image>
mode="aspectFill"
lazy-load="true"
:src="good.DEFAULT_IMG"
></image>
</block> </block>
</div> </div>
<hr /> <hr />
<div class="product-info"> <div class="product-info">
<div <div style="
style="
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
padding: 16rpx 0 16rpx 32rpx; padding: 16rpx 0 16rpx 32rpx;
" ">
>
<div class="price-box"> <div class="price-box">
<div class="vip-price"> <div class="vip-price">
<span class="unit">¥</span> <span class="unit">¥</span>
@ -175,10 +111,7 @@
<button class="share-btn" @tap="handleShowPopup"> <button class="share-btn" @tap="handleShowPopup">
<!-- <van-icon name="share" color="#ea3323" size="20px" /> --> <!-- <van-icon name="share" color="#ea3323" size="20px" /> -->
<div style="width: 16px; height: 16px"> <div style="width: 16px; height: 16px">
<image <image style="width: 16px; height: 16px" src="/static/images/home/share.svg" />
style="width: 16px; height: 16px"
src="/static/images/home/share.svg"
/>
</div> </div>
<div>分享</div> <div>分享</div>
</button> </button>
@ -189,29 +122,20 @@
</div> </div>
</div> </div>
<div <div class="product-detail" style="background: #fff; padding: 16rpx 0" v-if="
class="product-detail"
style="background: #fff; padding: 16rpx 0"
v-if="
new Date(good.UPPER_DATE).getTime() > new Date().getTime() || new Date(good.UPPER_DATE).getTime() > new Date().getTime() ||
good.SEND_MODE > 0 || good.SEND_MODE > 0 ||
good.DELIVER_AREA || good.DELIVER_AREA ||
good.LIMIT_TOTALCOUNT > 0 good.LIMIT_TOTALCOUNT > 0
" ">
> <view class="detail-right" style="width: 100%; box-sizing: border-box; padding: 0 32rpx">
<view <view v-if="new Date(good.UPPER_DATE).getTime() > new Date().getTime()">预售时间{{
class="detail-right"
style="width: 100%; box-sizing: border-box; padding: 0 32rpx"
>
<view v-if="new Date(good.UPPER_DATE).getTime() > new Date().getTime()"
>预售时间{{
good.UPPER_DATE && good.OFF_DATE good.UPPER_DATE && good.OFF_DATE
? `${good.UPPER_DATE || "-"}-${good.OFF_DATE || "-"}` ? `${good.UPPER_DATE || "-"}-${good.OFF_DATE || "-"}`
: good.UPPER_DATE && !good.OFF_DATE : good.UPPER_DATE && !good.OFF_DATE
? `${good.UPPER_DATE || "-"}` ? `${good.UPPER_DATE || "-"}`
: "" : ""
}}</view }}</view>
>
<!-- 预售时间{{ good.UPPER_DATE || "-" }}-{{ <!-- 预售时间{{ good.UPPER_DATE || "-" }}-{{
good.OFF_DATE || "-" good.OFF_DATE || "-"
}} --> }} -->
@ -243,19 +167,11 @@
</view> </view>
</div> </div>
<div <div class="product-detail" style="background: #fff; padding: 16rpx 0" v-if="good.AFTERSALE_NATRUE">
class="product-detail" <view class="detail-right" style="width: 100%; box-sizing: border-box; padding: 0 32rpx">
style="background: #fff; padding: 16rpx 0"
v-if="good.AFTERSALE_NATRUE"
>
<view
class="detail-right"
style="width: 100%; box-sizing: border-box; padding: 0 32rpx"
>
<view>{{ <view>{{
good.AFTERSALE_NATRUE good.AFTERSALE_NATRUE
? `${ ? `${good.AFTERSALE_NATRUE === 1000
good.AFTERSALE_NATRUE === 1000
? "仅支持退货" ? "仅支持退货"
: good.AFTERSALE_NATRUE === 2000 : good.AFTERSALE_NATRUE === 2000
? "仅支持换货" ? "仅支持换货"
@ -268,36 +184,20 @@
</view> </view>
</div> </div>
<div <div class="product-detail" style="padding-bottom: 16rpx" v-if="good.COMMODITY_DESC">
class="product-detail"
style="padding-bottom: 16rpx"
v-if="good.COMMODITY_DESC"
>
<div class="detail-unit" style="flex-direction: column" id="detail"> <div class="detail-unit" style="flex-direction: column" id="detail">
<div <div class="detail-title desc-ico" style="margin-bottom: 32rpx; box-sizing: border-box; padding: 0 32rpx">
class="detail-title desc-ico"
style="margin-bottom: 32rpx; box-sizing: border-box; padding: 0 32rpx"
>
商品备注 商品备注
</div> </div>
<div <div class="detail-right" style="width: 100%; box-sizing: border-box; padding: 0 32rpx">
class="detail-right"
style="width: 100%; box-sizing: border-box; padding: 0 32rpx"
>
{{ good.COMMODITY_DESC || "暂无" }} {{ good.COMMODITY_DESC || "暂无" }}
</div> </div>
</div> </div>
</div> </div>
<div <div class="product-detail" v-if="!(good.ContentImgList && good.ContentImgList.length > 0)">
class="product-detail"
v-if="!(good.ContentImgList && good.ContentImgList.length > 0)"
>
<div class="detail-unit" style="flex-direction: column" id="detail"> <div class="detail-unit" style="flex-direction: column" id="detail">
<div <div class="detail-title desc-ico" style="margin-bottom: 32rpx; box-sizing: border-box; padding: 0 32rpx">
class="detail-title desc-ico"
style="margin-bottom: 32rpx; box-sizing: border-box; padding: 0 32rpx"
>
商品简介 商品简介
</div> </div>
<div class="detail-right"> <div class="detail-right">
@ -321,28 +221,15 @@
</div> </div>
</div> </div>
</div> --> </div> -->
<block <block v-if="good.ContentImgList && good.ContentImgList.length > 0" id="detail">
v-if="good.ContentImgList && good.ContentImgList.length > 0"
id="detail"
>
<!-- ContentImgList --> <!-- ContentImgList -->
<div class="detail-unit"> <div class="detail-unit">
<span class="detail-title desc-ico">产品介绍</span> <span class="detail-title desc-ico">产品介绍</span>
</div> </div>
<div class="detail-image-box"> <div class="detail-image-box">
<block <block v-for="(img, i) in good.ContentImgList" :key="i" v-show="detailImgList[i]">
v-for="(img, i) in good.ContentImgList" <image class="img" mode="aspectFill" lazy-load="true" :src="img.IMAGE_URL" @load="loadDetailImg($event, i)"
:key="i" @click="handlePreviewDetailImg(img)"></image>
v-show="detailImgList[i]"
>
<image
class="img"
mode="aspectFill"
lazy-load="true"
:src="img.IMAGE_URL"
@load="loadDetailImg($event, i)"
@click="handlePreviewDetailImg(img)"
></image>
<!-- :style=" <!-- :style="
'width:' + 'width:' +
detailImgList[i].width + detailImgList[i].width +
@ -358,10 +245,7 @@
<div class="product-btn-box"> <div class="product-btn-box">
<view class="leftBtn"> <view class="leftBtn">
<view class="btnItem" @click="handleBackIndex"> <view class="btnItem" @click="handleBackIndex">
<image <image class="btnItemImg" src="https://eshangtech.com/ShopICO/shoppingMall/home.png" />
class="btnItemImg"
src="https://eshangtech.com/ShopICO/shoppingMall/home.png"
/>
<text class="btnItemText">首页</text> <text class="btnItemText">首页</text>
</view> </view>
<!-- <view class="btnItem"> <!-- <view class="btnItem">
@ -378,25 +262,13 @@
> --> > -->
<view class="rightBtn"> <view class="rightBtn">
<div class="addCarBtn" @click="handleShowShopPopup(1)">加入购物车</div> <div class="addCarBtn" @click="handleShowShopPopup(1)">加入购物车</div>
<div <div class="sellOut presale" @click="handleShowShopPopup(4)" v-if="isCountdown">
class="sellOut presale"
@click="handleShowShopPopup(4)"
v-if="isCountdown"
>
预售中 预售中
</div> </div>
<div <div class="addOrder" @click="handleShowShopPopup(2)" v-if="good.COMMODITY_STOCK > 0 && !isCountdown">
class="addOrder"
@click="handleShowShopPopup(2)"
v-if="good.COMMODITY_STOCK > 0 && !isCountdown"
>
立即购买 立即购买
</div> </div>
<div <div class="sellOut" @click="handleShowShopPopup(3)" v-if="good.COMMODITY_STOCK === 0 && !isCountdown">
class="sellOut"
@click="handleShowShopPopup(3)"
v-if="good.COMMODITY_STOCK === 0 && !isCountdown"
>
已售罄 已售罄
</div> </div>
</view> </view>
@ -428,14 +300,8 @@
此商品为预售商品起售倒计时 {{ countdown || "" }} 此商品为预售商品起售倒计时 {{ countdown || "" }}
</div> </div>
<uni-popup <uni-popup :show="showShareBox" position="bottom" overlay="false" @close="handleClosePopup" ref="popup"
:show="showShareBox" :safe-area="false">
position="bottom"
overlay="false"
@close="handleClosePopup"
ref="popup"
:safe-area="false"
>
<view class="share-popup" style="background-color: #fff"> <view class="share-popup" style="background-color: #fff">
<view class="share-divider"> <view class="share-divider">
<text>分享</text> <text>分享</text>
@ -443,10 +309,7 @@
<!-- <van-divider contentPosition="center">分享</van-divider> --> <!-- <van-divider contentPosition="center">分享</van-divider> -->
<view class="share-pop-btn"> <view class="share-pop-btn">
<button open-type="share" @tap="handleClosePopup"> <button open-type="share" @tap="handleClosePopup">
<image <image src="https://eshangtech.com/ShopICO/icos/fxhy.png" act></image>
src="https://eshangtech.com/ShopICO/icos/fxhy.png"
act
></image>
<text>分享给好友</text> <text>分享给好友</text>
</button> </button>
<!-- <button @tap="creatPageQR"> <!-- <button @tap="creatPageQR">
@ -461,18 +324,12 @@
<view class="shopPopupBox"> <view class="shopPopupBox">
<view class="shopPopupContent"> <view class="shopPopupContent">
<div class="detailTop"> <div class="detailTop">
<image <image class="detailImg" :src="good.DEFAULT_IMG || '/static/images/home/defultImg.png'" />
class="detailImg"
:src="good.DEFAULT_IMG || '/static/images/home/defultImg.png'"
/>
<div class="box"> <div class="box">
<div class="nameTop"> <div class="nameTop">
<text class="name">{{ good.COMMODITY_NAME }}</text> <text class="name">{{ good.COMMODITY_NAME }}</text>
<image <image class="closeIcon" @click="handleClosePop"
class="closeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/close.svg" />
@click="handleClosePop"
src="https://eshangtech.com/ShopICO/ahyd-BID/examine/close.svg"
/>
</div> </div>
<div class="priceBox"> <div class="priceBox">
<text class="priceIcon"></text> <text class="priceIcon"></text>
@ -490,33 +347,16 @@
<div class="numBox"> <div class="numBox">
<text class="numTitle">购买数量</text> <text class="numTitle">购买数量</text>
<div class="cartcontrol"> <div class="cartcontrol">
<div <div class="subtract" @click="handleDetailSubtract($event, good)">
class="subtract" <image class="img" src="/static/images/home/subtract.svg"></image>
@click="handleDetailSubtract($event, good)"
>
<image
class="img"
src="/static/images/home/subtract.svg"
></image>
</div> </div>
<input <input class="cart-count" confirm-type="done" type="digit" :maxlength="7"
class="cart-count" style="background: #fff; text-align: center; width: 100px" placeholder="0"
confirm-type="done" @blur="haveFocus($event, good)" @focus="haveFocus($event, good)" v-model="good.count" />
type="digit"
:maxlength="7"
style="background: #fff; text-align: center; width: 100px"
placeholder="0"
@blur="haveFocus($event, good)"
@focus="haveFocus($event, good)"
v-model="good.count"
/>
<!-- @input="handleNumber" --> <!-- @input="handleNumber" -->
<div class="subtract" @click="handleDetailAdd($event, good)"> <div class="subtract" @click="handleDetailAdd($event, good)">
<image <image class="img" src="/static/images/home/addIcon.svg"></image>
class="img"
src="/static/images/home/addIcon.svg"
></image>
</div> </div>
</div> </div>
</div> </div>
@ -524,45 +364,26 @@
<div class="sizeBox"> <div class="sizeBox">
<text class="sizeTitle">规格</text> <text class="sizeTitle">规格</text>
<div class="sizeList"> <div class="sizeList">
<div <div :class="good.COMMODITY_RULE === item.COMMODITY_MULTI_ID
:class="
good.COMMODITY_RULE === item.COMMODITY_MULTI_ID
? 'sizeItem selectSizeItem' ? 'sizeItem selectSizeItem'
: 'sizeItem' : 'sizeItem'
" " v-for="(item, index) in good.SKULIST" :key="index"
v-for="(item, index) in good.SKULIST" @click="handleChangeSelectSKULIST(item.COMMODITY_MULTI_ID)">
:key="index"
@click="handleChangeSelectSKULIST(item.COMMODITY_MULTI_ID)"
>
{{ item.COMMODITY_NAME }} {{ item.COMMODITY_NAME }}
</div> </div>
<!-- <div class="sizeItem">{{ good.COMMODITY_UNIT }}</div> --> <!-- <div class="sizeItem">{{ good.COMMODITY_UNIT }}</div> -->
</div> </div>
</div> </div>
<div class="descBox"> <div class="descBox">
<input <input class="desc" :value="good.SALEDETAIL_DESC" placeholder="请填写商品备注"
class="desc" @input="handleDesc($event, good)" />
:value="good.SALEDETAIL_DESC"
placeholder="请填写商品备注"
@input="handleDesc($event, good)"
/>
</div> </div>
</div> </div>
</view> </view>
<view class="bottomBtn"> <view class="bottomBtn">
<view <view class="shopCarBtn" v-if="bottomBtnType === 1" @click="handleAddShopCar">加入购物车</view>
class="shopCarBtn" <view class="makeOrderBtn" v-if="bottomBtnType === 2" @click="handleMakeOrder">立即购买</view>
v-if="bottomBtnType === 1"
@click="handleAddShopCar"
>加入购物车</view
>
<view
class="makeOrderBtn"
v-if="bottomBtnType === 2"
@click="handleMakeOrder"
>立即购买</view
>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
@ -898,7 +719,7 @@ export default {
uni.hideLoading(); uni.hideLoading();
if (!(userInfo && userInfo.ACCOUNT_BALANCE > 0)) { if (!(userInfo && userInfo.ACCOUNT_BALANCE > 0)) {
uni.showToast({ uni.showToast({
title: "您被纳入工会会员采购名录,如有疑问,请联系工会咨询", title: "您被纳入工会会员采购名录,如有疑问,请联系工会咨询",
icon: "none", icon: "none",
}); });
return; return;
@ -969,8 +790,7 @@ export default {
).toString(36); ).toString(36);
if (orderList.length > 0) { if (orderList.length > 0) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/shopPages/settlement/index?pageType=${ url: `/pages/shopPages/settlement/index?pageType=${this.pageType
this.pageType
}&shopCarList=${JSON.stringify(orderList)}`, }&shopCarList=${JSON.stringify(orderList)}`,
}); });
} else { } else {
@ -1435,7 +1255,7 @@ export default {
fail() { fail() {
wx.openSetting({ wx.openSetting({
success: (res) => {}, success: (res) => { },
}); });
}, },
}); });
@ -1590,11 +1410,13 @@ hr {
// padding-top 20rpx // padding-top 20rpx
background: #fff; background: #fff;
position: relative; position: relative;
.header { .header {
width: 100%; width: 100%;
position: fixed; position: fixed;
z-index: 10; z-index: 10;
top: 0; top: 0;
.headerBottom { .headerBottom {
width: calc(100% - 64rpx); width: calc(100% - 64rpx);
position: absolute; position: absolute;
@ -1603,6 +1425,7 @@ hr {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.backArrowBox { .backArrowBox {
width: 120rpx; width: 120rpx;
background: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.6);
@ -1612,10 +1435,12 @@ hr {
border-radius: 32rpx; border-radius: 32rpx;
border: 1px solid #faf6ec; border: 1px solid #faf6ec;
padding: 0 16rpx; padding: 0 16rpx;
.img { .img {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
} }
.line { .line {
width: 2rpx; width: 2rpx;
height: 32rpx; height: 32rpx;
@ -1627,13 +1452,16 @@ hr {
.tabBox { .tabBox {
display: flex; display: flex;
align-items: center; align-items: center;
.tabItem { .tabItem {
padding: 0 16rpx; padding: 0 16rpx;
line-height: 40rpx; line-height: 40rpx;
} }
.selectTabItem { .selectTabItem {
position: relative; position: relative;
} }
.selectTabItem:after { .selectTabItem:after {
content: ""; content: "";
position: absolute; position: absolute;
@ -1645,6 +1473,7 @@ hr {
background: #ff8000; background: #ff8000;
} }
} }
.rightContent { .rightContent {
width: 120rpx; width: 120rpx;
} }
@ -1659,29 +1488,37 @@ hr {
left: 50rpx; left: 50rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 12rpx 0 12rpx 16rpx; padding: 12rpx 0 12rpx 16rpx;
.triangle { .triangle {
position: absolute; position: absolute;
width: 0; width: 0;
height: 0; height: 0;
border-left: 5px solid transparent; /* 左边透明 */ border-left: 5px solid transparent;
border-right: 5px solid transparent; /* 右边透明 */ /* 左边透明 */
border-bottom: 10px solid #fff; /* 底边颜色 */ border-right: 5px solid transparent;
/* 右边透明 */
border-bottom: 10px solid #fff;
/* 底边颜色 */
top: -10px; top: -10px;
left: 40px; left: 40px;
} }
.funList { .funList {
width: 100%; width: 100%;
height: 100%; height: 100%;
.funItem { .funItem {
width: 100%; width: 100%;
height: 70rpx; height: 70rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.funItemIcon { .funItemIcon {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
.funItemText { .funItemText {
width: calc(100% - 50rpx); width: calc(100% - 50rpx);
height: 100%; height: 100%;
@ -1761,6 +1598,7 @@ hr {
.vip-price { .vip-price {
font-size: 42rpx; font-size: 42rpx;
color: #ea3323; color: #ea3323;
.unit { .unit {
font-size: 28rpx; font-size: 28rpx;
} }
@ -1773,8 +1611,7 @@ hr {
// line-height 1 // line-height 1
// padding-bottom 4rpx // padding-bottom 4rpx
.vip-card-ico { .vip-card-ico {
background: url("https://eshangtech.com/ShopICO/shoppingMall/vip-text.png") background: url("https://eshangtech.com/ShopICO/shoppingMall/vip-text.png") no-repeat center; // eshangtech.com/ShopICO/shoppingMall/vip-text.png) no-repeat center
no-repeat center; // eshangtech.com/ShopICO/shoppingMall/vip-text.png) no-repeat center
background-size: contain; background-size: contain;
font-size: 18rpx; font-size: 18rpx;
color: #e6e1cf; color: #e6e1cf;
@ -1791,10 +1628,12 @@ hr {
.originalPrice { .originalPrice {
display: inline-block; display: inline-block;
margin-left: 16rpx; margin-left: 16rpx;
.unit { .unit {
font-size: 24rpx; font-size: 24rpx;
color: #999999; color: #999999;
} }
.oldPrice { .oldPrice {
font-size: 28rpx; font-size: 28rpx;
color: #999999; color: #999999;
@ -1852,8 +1691,7 @@ button:after {
.vip-card-ico:before { .vip-card-ico:before {
content: ""; content: "";
background: url("https://eshangtech.com/ShopICO/shoppingMall/vip-ico.png") background: url("https://eshangtech.com/ShopICO/shoppingMall/vip-ico.png") no-repeat center; // eshangtech.com/ShopICO/shoppingMall/vip-ico.png) no-repeat center
no-repeat center; // eshangtech.com/ShopICO/shoppingMall/vip-ico.png) no-repeat center
width: 13rpx; width: 13rpx;
height: 12rpx; height: 12rpx;
margin-right: 4rpx; margin-right: 4rpx;
@ -1913,11 +1751,13 @@ button:after {
align-items: center; align-items: center;
padding: 8rpx 16rpx 16rpx 32rpx; padding: 8rpx 16rpx 16rpx 32rpx;
justify-content: space-between; justify-content: space-between;
.oldPrice { .oldPrice {
color: #999999; color: #999999;
font-size: 24rpx; font-size: 24rpx;
text-decoration-line: line-through; text-decoration-line: line-through;
} }
.inventory { .inventory {
color: #999999; color: #999999;
font-size: 24rpx; font-size: 24rpx;
@ -1940,16 +1780,18 @@ button:after {
background: #ffffff; background: #ffffff;
margin-top: 32rpx; margin-top: 32rpx;
border-radius: 16rpx 16rpx 0 0; border-radius: 16rpx 16rpx 0 0;
.detail-title { .detail-title {
width: 240rpx; width: 240rpx;
font-size: 28rpx; font-size: 28rpx;
} }
.detail-right { .detail-right {
// width: calc(100% - 240rpx); // width: calc(100% - 240rpx);
} }
} }
.detail-unit + .detail-unit { .detail-unit+.detail-unit {
border-top: 2rpx solid #e9e9e9; border-top: 2rpx solid #e9e9e9;
} }
@ -1979,6 +1821,7 @@ button:after {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
text-align: center; text-align: center;
.img { .img {
width: 100%; width: 100%;
} }
@ -2007,16 +1850,19 @@ button:after {
justify-content: space-around; justify-content: space-around;
box-sizing: border-box; box-sizing: border-box;
padding: 0 0 0 12rpx; padding: 0 0 0 12rpx;
.btnItem { .btnItem {
width: calc(100% / 2); width: calc(100% / 2);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.btnItemImg { .btnItemImg {
height: 46rpx; height: 46rpx;
width: 46rpx; width: 46rpx;
} }
.btnItemText { .btnItemText {
color: #c6a773; color: #c6a773;
font-size: 20rpx; font-size: 20rpx;
@ -2054,6 +1900,7 @@ button:after {
box-sizing: border-box; box-sizing: border-box;
padding: 12rpx; padding: 12rpx;
display: flex; display: flex;
.addCarBtn { .addCarBtn {
width: 50%; width: 50%;
font-size: 28rpx; font-size: 28rpx;
@ -2064,6 +1911,7 @@ button:after {
background: linear-gradient(90deg, #ffc500 0%, #ff8d00 100%); background: linear-gradient(90deg, #ffc500 0%, #ff8d00 100%);
border-radius: 16rpx 0 0 16rpx; border-radius: 16rpx 0 0 16rpx;
} }
.addOrder { .addOrder {
width: 50%; width: 50%;
font-size: 28rpx; font-size: 28rpx;
@ -2074,6 +1922,7 @@ button:after {
background: linear-gradient(90deg, #ff6d00 0%, #ff3a00 100%); background: linear-gradient(90deg, #ff6d00 0%, #ff3a00 100%);
border-radius: 0 16rpx 16rpx 0; border-radius: 0 16rpx 16rpx 0;
} }
.sellOut { .sellOut {
width: 50%; width: 50%;
font-size: 28rpx; font-size: 28rpx;
@ -2084,6 +1933,7 @@ button:after {
background: #bbbbbb; background: #bbbbbb;
border-radius: 0 16rpx 16rpx 0; border-radius: 0 16rpx 16rpx 0;
} }
.presale { .presale {
background: #ffae00; background: #ffae00;
} }
@ -2093,8 +1943,7 @@ button:after {
content: ""; content: "";
height: 45rpx; height: 45rpx;
width: 47rpx; width: 47rpx;
background: url("https://eshangtech.com/ShopICO/shoppingMall/shopcart.png") background: url("https://eshangtech.com/ShopICO/shoppingMall/shopcart.png") no-repeat center; // eshangtech.com/ShopICO/shoppingMall/shopcart.png) no-repeat center
no-repeat center; // eshangtech.com/ShopICO/shoppingMall/shopcart.png) no-repeat center
background-size: contain; background-size: contain;
} }
@ -2176,26 +2025,32 @@ button:after {
border-radius: 16rpx 16rpx 0 0; border-radius: 16rpx 16rpx 0 0;
box-sizing: border-box; box-sizing: border-box;
padding: 16px; padding: 16px;
.shopPopupContent { .shopPopupContent {
width: 100%; width: 100%;
height: calc(70vh - 92rpx - 64rpx); height: calc(70vh - 92rpx - 64rpx);
margin-bottom: 12rpx; margin-bottom: 12rpx;
.detailTop { .detailTop {
display: flex; display: flex;
border-bottom: 1px solid #f2f4f5; border-bottom: 1px solid #f2f4f5;
.detailImg { .detailImg {
width: 80px; width: 80px;
height: 80px; height: 80px;
} }
.box { .box {
width: calc(100% - 92px); width: calc(100% - 92px);
padding-bottom: 16px; padding-bottom: 16px;
margin-left: 12px; margin-left: 12px;
.nameTop { .nameTop {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.name { .name {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -2210,13 +2065,16 @@ button:after {
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.closeIcon { .closeIcon {
width: 20px; width: 20px;
height: 20px; height: 20px;
} }
} }
.priceBox { .priceBox {
margin-top: 32px; margin-top: 32px;
.priceIcon { .priceIcon {
font-size: 16px; font-size: 16px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -2224,6 +2082,7 @@ button:after {
color: #ff6219; color: #ff6219;
line-height: 20px; line-height: 20px;
} }
.price { .price {
font-size: 20px; font-size: 20px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -2231,6 +2090,7 @@ button:after {
color: #ff6219; color: #ff6219;
line-height: 20px; line-height: 20px;
} }
.unit { .unit {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2241,10 +2101,12 @@ button:after {
} }
} }
} }
.detailMessage { .detailMessage {
margin-top: 16px; margin-top: 16px;
border-bottom: 1px solid #f2f4f5; border-bottom: 1px solid #f2f4f5;
padding-bottom: 16px; padding-bottom: 16px;
.detailTitle { .detailTitle {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -2253,6 +2115,7 @@ button:after {
line-height: 20px; line-height: 20px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.detailText { .detailText {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2261,8 +2124,10 @@ button:after {
line-height: 18px; line-height: 18px;
} }
} }
.orderDetail { .orderDetail {
margin-top: 16px; margin-top: 16px;
.orderTitle { .orderTitle {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -2270,11 +2135,13 @@ button:after {
color: #020e1a; color: #020e1a;
line-height: 20px; line-height: 20px;
} }
.numBox { .numBox {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-top: 12px; margin-top: 12px;
.numTitle { .numTitle {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2282,6 +2149,7 @@ button:after {
color: #020e1a; color: #020e1a;
line-height: 20px; line-height: 20px;
} }
.cartcontrol { .cartcontrol {
width: 150px; width: 150px;
height: 30px; height: 30px;
@ -2290,6 +2158,7 @@ button:after {
justify-content: flex-start; justify-content: flex-start;
border: 1px solid rgba(2, 14, 26, 0.06); border: 1px solid rgba(2, 14, 26, 0.06);
border-radius: 2px; border-radius: 2px;
.subtract { .subtract {
width: 30px; width: 30px;
height: 30px; height: 30px;
@ -2300,11 +2169,13 @@ button:after {
border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;
font-size: 8px; font-size: 8px;
color: #9fa3a8; color: #9fa3a8;
.img { .img {
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
} }
.cart-count { .cart-count {
height: 30px !important; height: 30px !important;
font-size: 16px; font-size: 16px;
@ -2313,11 +2184,13 @@ button:after {
} }
} }
} }
.sizeBox { .sizeBox {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-top: 12px; margin-top: 12px;
.sizeTitle { .sizeTitle {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2325,8 +2198,10 @@ button:after {
color: #020e1a; color: #020e1a;
line-height: 20px; line-height: 20px;
} }
.sizeList { .sizeList {
display: flex; display: flex;
.sizeItem { .sizeItem {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2338,6 +2213,7 @@ button:after {
border-radius: 4px; border-radius: 4px;
margin-left: 8px; margin-left: 8px;
} }
.selectSizeItem { .selectSizeItem {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -2351,6 +2227,7 @@ button:after {
} }
} }
} }
.descBox { .descBox {
width: 100%; width: 100%;
height: 76px; height: 76px;
@ -2360,6 +2237,7 @@ button:after {
padding: 8px 12px; padding: 8px 12px;
margin-top: 19px; margin-top: 19px;
} }
.submitBtn { .submitBtn {
font-size: 16px; font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
@ -2382,6 +2260,7 @@ button:after {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
box-sizing: border-box; box-sizing: border-box;
.shopCarBtn { .shopCarBtn {
width: 100%; width: 100%;
height: 76rpx; height: 76rpx;
@ -2393,6 +2272,7 @@ button:after {
background: linear-gradient(90deg, #ffc500 0%, #ff8d00 100%); background: linear-gradient(90deg, #ffc500 0%, #ff8d00 100%);
border-radius: 16rpx; border-radius: 16rpx;
} }
.makeOrderBtn { .makeOrderBtn {
width: 100%; width: 100%;
height: 76rpx; height: 76rpx;
@ -2547,7 +2427,8 @@ button:after {
.share-popup { .share-popup {
padding: 16px; padding: 16px;
border-radius: 12px 12px 0 0; /* 圆角设置 */ border-radius: 12px 12px 0 0;
/* 圆角设置 */
box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.1);
} }

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

@ -102,6 +102,23 @@ var render = function () {
var _vm = this var _vm = this
var _h = _vm.$createElement var _h = _vm.$createElement
var _c = _vm._self._c || _h var _c = _vm._self._c || _h
var g0 =
_vm.showType === 1
? _vm.detailObj.ImageList && _vm.detailObj.ImageList.length > 0
: null
var g1 =
_vm.showType === 1 && g0
? _vm.detailObj.ImageList && _vm.detailObj.ImageList.length > 0
: null
_vm.$mp.data = Object.assign(
{},
{
$root: {
g0: g0,
g1: g1,
},
}
)
} }
var recyclableRender = false var recyclableRender = false
var staticRenderFns = [] var staticRenderFns = []
@ -166,6 +183,15 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
// //
// //
// //
//
//
//
//
//
//
//
//
//
var _default = { var _default = {
data: function data() { data: function data() {
return { return {
@ -173,14 +199,20 @@ var _default = {
// NOTICEINFO_TITLE: "", // NOTICEINFO_TITLE: "",
// START_DATE: "", // START_DATE: "",
// NOTICEINFO_CONTENT: "", // NOTICEINFO_CONTENT: "",
} },
showType: '' // 1 是自己的 2 他们的
}; };
}, },
onLoad: function onLoad(query) { onLoad: function onLoad(query) {
console.log("query", query); console.log("query", query);
if (query.id) { if (query.id) {
// this.hanldeGetDetail(query.id); if (query.type === 'true') {
this.hanldeGetDetail(query.id);
this.showType = 1;
} else {
this.handleGetNewDetail(query.id); this.handleGetNewDetail(query.id);
this.showType = 2;
}
} }
this.$utils.addUserBehaviorNew(); this.$utils.addUserBehaviorNew();
}, },
@ -302,7 +334,8 @@ var _default = {
formattedText = data.Result_Data.NOTICEINFO_CONTENT.split("\n").join("\n\n"); formattedText = data.Result_Data.NOTICEINFO_CONTENT.split("\n").join("\n\n");
_this2.detailObj = data.Result_Data; _this2.detailObj = data.Result_Data;
_this2.detailObj.NOTICEINFO_CONTENT = formattedText; _this2.detailObj.NOTICEINFO_CONTENT = formattedText;
case 8: console.log("this.detailObj", _this2.detailObj);
case 9:
case "end": case "end":
return _context2.stop(); return _context2.stop();
} }

View File

@ -1 +1 @@
<view class="main _div data-v-24542bf6"><block wx:if="{{detailObj.content}}"><view class="newContent _div data-v-24542bf6"><rich-text nodes="{{detailObj.content}}"></rich-text></view></block></view> <view class="main _div data-v-24542bf6"><block wx:if="{{showType===1}}"><view class="_div data-v-24542bf6"><view class="pageTitle _div data-v-24542bf6">{{detailObj.NOTICEINFO_TITLE||""}}</view><view class="time _div data-v-24542bf6">{{detailObj.START_DATE||"-"}}</view><block wx:if="{{$root.g0}}"><view class="navList _div data-v-24542bf6"><block wx:if="{{$root.g1}}"><swiper class="swiper data-v-24542bf6" circular="{{true}}" indicator-dots="{{true}}" autoplay="{{true}}" indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#ffffff"><block wx:for="{{detailObj.ImageList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><swiper-item data-event-opts="{{[['tap',[['handleShowPreview',['$0'],['detailObj.ImageList.__$n0.ImageUrl']]]]]}}" bindtap="__e" class="data-v-24542bf6"><view class="swiper-item data-v-24542bf6"><image class="img data-v-24542bf6" src="{{item.ImageUrl}}"></image></view></swiper-item></block></swiper></block></view></block><text class="content data-v-24542bf6">{{detailObj.NOTICEINFO_CONTENT||""}}</text></view></block><block wx:if="{{detailObj.content&&showType===2}}"><view class="newContent _div data-v-24542bf6"><rich-text nodes="{{detailObj.content}}"></rich-text></view></block></view>

View File

@ -27,7 +27,7 @@
} }
.main .navList.data-v-24542bf6 { .main .navList.data-v-24542bf6 {
width: 100%; width: 100%;
height: 100%; height: 400rpx;
border-radius: 6rpx; border-radius: 6rpx;
overflow: hidden; overflow: hidden;
margin: 40rpx 0; margin: 40rpx 0;
@ -36,6 +36,14 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.main .navList .swiper.data-v-24542bf6 {
width: 100%;
height: 100%;
}
.main .navList .swiper .swiper-item.data-v-24542bf6 {
width: 100%;
height: 100%;
}
.main .content.data-v-24542bf6 { .main .content.data-v-24542bf6 {
display: block; display: block;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;

View File

@ -102,12 +102,23 @@ var render = function () {
var _vm = this var _vm = this
var _h = _vm.$createElement var _h = _vm.$createElement
var _c = _vm._self._c || _h var _c = _vm._self._c || _h
var g0 = _vm.messageList && _vm.messageList.length > 0 var l0 = _vm.__map(_vm.allMessageList[_vm.selectTab], function (item, index) {
var $orig = _vm.__get_orig(item)
var g0 = item.ImageList && item.ImageList.length > 0
return {
$orig: $orig,
g0: g0,
}
})
var g1 =
_vm.allMessageList[_vm.selectTab] &&
_vm.allMessageList[_vm.selectTab].length > 0
_vm.$mp.data = Object.assign( _vm.$mp.data = Object.assign(
{}, {},
{ {
$root: { $root: {
g0: g0, l0: l0,
g1: g1,
}, },
} }
) )
@ -167,9 +178,12 @@ var _default = {
return { return {
tabList: [], tabList: [],
selectTab: 0, selectTab: 0,
messageList: [] messageList: [],
// 当前显示的数据
allMessageList: {} // 全部种类的数据
}; };
}, },
components: { components: {
NoData: NoData NoData: NoData
}, },
@ -182,11 +196,11 @@ var _default = {
// this.handleGetHighwayHeadlines() // this.handleGetHighwayHeadlines()
this.$utils.addUserBehaviorNew(); this.$utils.addUserBehaviorNew();
}, },
methods: (0, _defineProperty2.default)({ methods: {
// 改变选中 // 改变选中
handleChangeTab: function handleChangeTab(value) { handleChangeTab: function handleChangeTab(value) {
this.selectTab = value; this.selectTab = value;
this.handleGetHighwayHeadlines(); // this.handleGetHighwayHeadlines();
}, },
// 拿到tab的数据 // 拿到tab的数据
handleGetTabList: function handleGetTabList() { handleGetTabList: function handleGetTabList() {
@ -214,6 +228,10 @@ var _default = {
} }
}); });
} }
res.unshift({
label: "信息播报",
value: "ETC"
});
res.unshift({ res.unshift({
label: "全部", label: "全部",
value: "all" value: "all"
@ -223,9 +241,9 @@ var _default = {
if (res && res.length > 0) { if (res && res.length > 0) {
_this.selectTab = res[0].value; _this.selectTab = res[0].value;
} }
// this.handleGetHighwayHeadlines();
_this.handleGetHighwayHeadlines(); _this.handleGetHighwayHeadlines();
case 11: // this.handleGetHighwayHeadlines();
case 12:
case "end": case "end":
return _context.stop(); return _context.stop();
} }
@ -237,71 +255,28 @@ var _default = {
handleGetHighwayHeadlines: function handleGetHighwayHeadlines() { handleGetHighwayHeadlines: function handleGetHighwayHeadlines() {
var _this2 = this; var _this2 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
var req, data, list; var newReq, newData, uselist, start, end, params, time, req, signText, sign, tweetsData, all, typeList, allRes;
return _regenerator.default.wrap(function _callee2$(_context2) { return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) { while (1) {
switch (_context2.prev = _context2.next) { switch (_context2.prev = _context2.next) {
case 0: case 0:
console.log("this.user", _this2.user); newReq = {
req = {
SearchParameter: { SearchParameter: {
NOTICEINFO_TYPES: _this2.selectTab === "all" ? "" : _this2.selectTab, // NOTICEINFO_TYPES: 1010,
PROVINCE_CODE: _this2.user.PROVINCE_CODE || "530000", PROVINCE_CODE: _this2.user.PROVINCE_CODE || "530000",
NOTICEINFO_STATE: 1 NOTICEINFO_STATE: 1
}, },
PageIndex: 1, PageIndex: 1,
PageSize: 999999 PageSize: 999999,
appId: "wxee018fb96955552a"
}; };
_context2.next = 4; _context2.next = 3;
return _this2.$api.$post("/EShangApiMain/Notice/GetNOTICEINFOList", req); return _this2.$api.$post("/EShangApiMain/Notice/GetNOTICEINFOList", newReq);
case 4: case 3:
data = _context2.sent; newData = _context2.sent;
console.log("handleGetHighwayHeadlines", data); uselist = newData.Result_Data.List;
list = data.Result_Data.List; start = "".concat(_this2.$moment.now().set("month", -1).format("YYYY-MM-DD"), " 00:00:00");
if (list && list.length > 0) { end = "".concat(_this2.$moment.now().format("YYYY-MM-DD"), " 23:59:59");
_this2.messageList = list;
} else {
_this2.messageList = [];
}
// this.messageList.push({
// NOTICEINFO_TITLE: "最新放假通知调休2天免费8天",
// messageType: "official",
// });
console.log("this.messageList", _this2.messageList);
case 9:
case "end":
return _context2.stop();
}
}
}, _callee2);
}))();
},
// 跳转查看高速头条详情
handleGoDetail: function handleGoDetail(obj) {
console.log("obj", obj);
if (obj.messageType === "official") {
uni.navigateTo({
url: "/pages/highwayHeadlines/minprogress"
});
} else {
uni.navigateTo({
// url: `/pages/highwayHeadlines/detail?id=${obj.NOTICEINFO_ID}`,
url: "/pages/highwayHeadlines/detail?id=".concat(obj.id)
});
}
}
}, "handleGetHighwayHeadlines", function handleGetHighwayHeadlines() {
var _this3 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
var start, end, params, time, req, signText, sign, tweetsData;
return _regenerator.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
start = "".concat(_this3.$moment.now().set("month", -1).format("YYYY-MM-DD"), " 00:00:00");
end = "".concat(_this3.$moment.now().format("YYYY-MM-DD"), " 23:59:59");
params = { params = {
startQueryTime: start, startQueryTime: start,
// 开始时间 // 开始时间
@ -318,12 +293,8 @@ var _default = {
version: "1.0", version: "1.0",
sign_type: "RSA2" sign_type: "RSA2"
}; };
signText = "app_id=".concat(req.app_id, "&biz_content=").concat(req.biz_content, "&charset=UTF-8&pid=").concat(req.app_id, "&service=trawe.eats.etc&utc_timestamp=").concat(req.utc_timestamp, "&version=1.0"); signText = "app_id=".concat(req.app_id, "&biz_content=").concat(req.biz_content, "&charset=UTF-8&pid=").concat(req.app_id, "&service=trawe.eats.etc&utc_timestamp=").concat(req.utc_timestamp, "&version=1.0"); // 签名
console.log("handleGetHighwayHeadlines", req); _context2.next = 13;
console.log("signText", signText);
// 签名
_context3.next = 10;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
uni.request({ uni.request({
url: "https://admin.es.eshangtech.com/prod-api/RSA/sign", url: "https://admin.es.eshangtech.com/prod-api/RSA/sign",
@ -341,13 +312,11 @@ var _default = {
} }
}); });
}); });
case 10: case 13:
sign = _context3.sent; sign = _context2.sent;
console.log("sign", sign);
req.sign = sign; req.sign = sign;
// 推文数据 // 推文数据
_context3.next = 15; _context2.next = 17;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
uni.request({ uni.request({
url: "https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets", url: "https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets",
@ -362,22 +331,140 @@ var _default = {
} }
}); });
}); });
case 15: case 17:
tweetsData = _context3.sent; tweetsData = _context2.sent;
console.log("tweetsData", tweetsData); console.log('tweetsDatatweetsData', tweetsData);
if (tweetsData && tweetsData.length > 0) { all = uselist.concat(tweetsData);
_this3.messageList = tweetsData; console.log("allallallall", all);
if (all && all.length > 0) {
typeList = [];
allRes = {};
all.forEach(function (item) {
if (item.NOTICEINFO_TYPE && item.NOTICEINFO_STATE === 1) {
if (typeList.indexOf(item.NOTICEINFO_TYPE) === -1) {
typeList.push(item.NOTICEINFO_TYPE);
var list = [item];
allRes[item.NOTICEINFO_TYPE] = list;
} else { } else {
_this3.messageList = []; var _list = allRes[item.NOTICEINFO_TYPE];
_list.push(item);
allRes[item.NOTICEINFO_TYPE] = _list;
} }
case 18: } else {
typeList.push('ETC');
var _list2 = allRes['ETC'];
if (_list2 && _list2.length > 0) {
_list2.push(item);
} else {
_list2 = [item];
}
allRes['ETC'] = _list2;
}
});
console.log('allResallResallResallRes', allRes);
allRes['all'] = all;
_this2.allMessageList = allRes;
}
// this.messageList.push({
// NOTICEINFO_TITLE: "最新放假通知调休2天免费8天",
// messageType: "official",
// });
console.log("this.messageList", _this2.messageList);
case 23:
case "end": case "end":
return _context3.stop(); return _context2.stop();
} }
} }
}, _callee3); }, _callee2);
}))(); }))();
}) },
// 跳转查看高速头条详情
handleGoDetail: function handleGoDetail(obj) {
console.log("obj", obj);
if (obj.messageType === "official") {
uni.navigateTo({
url: "/pages/highwayHeadlines/minprogress"
});
} else {
uni.navigateTo({
// url: `/pages/highwayHeadlines/detail?id=${obj.NOTICEINFO_ID}`,
url: "/pages/highwayHeadlines/detail?id=".concat(obj.id || obj.NOTICEINFO_ID, "&type=").concat(obj.NOTICEINFO_TYPE ? true : false)
});
}
} // 高速头条播报
// async handleGetHighwayHeadlines() {
// let start = `${this.$moment
// .now()
// .set("month", -1)
// .format("YYYY-MM-DD")} 00:00:00`;
// let end = `${this.$moment.now().format("YYYY-MM-DD")} 23:59:59`;
// let params = {
// startQueryTime: start, // 开始时间
// endQueryTime: end, // 结束时间
// };
// let time = Math.ceil(new Date().getTime() / 1000);
// let req = {
// app_id: "530000301",
// biz_content: JSON.stringify(params),
// charset: "UTF-8",
// pid: "530000301",
// service: "trawe.eats.etc",
// utc_timestamp: time,
// version: "1.0",
// sign_type: "RSA2",
// };
// let signText = `app_id=${req.app_id}&biz_content=${req.biz_content}&charset=UTF-8&pid=${req.app_id}&service=trawe.eats.etc&utc_timestamp=${req.utc_timestamp}&version=1.0`;
// console.log("handleGetHighwayHeadlines", req);
// console.log("signText", signText);
// // 签名
// const sign = await new Promise((resolve, reject) => {
// uni.request({
// url: "https://admin.es.eshangtech.com/prod-api/RSA/sign",
// method: "POST",
// data: {
// originalText: signText,
// privateKey:
// "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCtIkIJLbZYI9NvTRkRbqtjJ73gkAUJZBJw88Z+O8prX2HXMTIedmZZxTwbfM5kGpl9VmS0CY8QL0DnDsgHO8QnSDpN1jiqTD9lk1evycuF7ujmlOk/cJ5x2cLPn9rPIrQn1lxp9mBiO1m9vsrNOze/kx7wRyif/+hvn5Q9KtNEMy0K8oOE5vktnjkk1AhhXrTii9eIjOrO3pRgh9cFA9kqQpvD14CImD7tdCgyntKcYAB7rlin6a2N0yH9JJINjOyOiyHufP8sR7pb9VYXVYXukOCItdC9QQluQhSdyC/3BfZD5zV1A+X7pUle7dDLGG6aSZyCibg16siFIEX94KYfAgMBAAECggEAcP5uwrbGzvdywq06sxnbWTdSwQC9iMd7EaTH4xL6pOD3Zg6Be0givGvxMq9dtA94JUkBKE8kw5dTcHlBKxdiiZCmHK63BM4GgjCLhfrZjWvDLNn68KB7iCpq7j6R+6XWljlczvsxJGs/woqGqTMAy1MlWgPXC7Vk6ZTolpMglt0IJOzPtgJ66qU2CtNRjowkXSCHDO2RCjkmYcjU6W+eCvi9cXIXhLv5yra1PE0KOxn3NiEFwgGUXpu8LKqxuUfGLuHljoLxWV8EEfwZaWB6Wy1DHMMgxhKrO3xEmdMEqtvJmF98LRSYiJerkExY8Gdx8bkLPjlCLYKW4JVuPmyYgQKBgQD8l0lLtB94MQMib0t8RzqlbKcczTAkicjSms3/P4kwh50GC8OqwjJB75n4yQyDPgsjms/SnRMq1zjgm+MHSC4snpLCcvKFYLnvrslWGu/2lyUTwEwdUdQe1ILG4Y9NXKWg4zXpKfJ2Rz/cqw6bHGYhQWZ62AXQgiz+W7cIPrsHsQKBgQCveHGHF0WqtYAmrW7nf04PKmcJ5U2briYCWOtWJE5Mo5BYxsGLX6vI53DMNQ42hFk0ye61VNfcazAoGI3mM4+j6R9k3ek8EtkBYBro5eeoBtB7TMTJagQqzBLz316mJBsFmw3TiC9BzYhs3tKJnVxpfqXoqsyu2ZA6VG5Y/gXOzwKBgCbejPvmUvVm7WmOINqWB3NPXgPzm1X0EgA+rDZ8K3tZUxOMGeccDSnSWipLne5QTNyExThOzZVJG0qNEombVOeu2zyq/aECunoktnzWllim96CrdcsJPZAk+Z7rNOcdu6sfa7teph4HZs9pT00VOK4jZ0a+GV71uUDHEkplhNhxAoGAMDOi5BxFe/595KIR7C/xboMUaQh/iDuPn2dzxmcUx0LLPUfkFPhEBV1mhAIzFFDI/JJYK6HR5m/fe7Q7DritRbaddCTtlB4NVK5k1gOJ3oN4s9ZD3Jxt5p/GuQ1sP7F9Zs3QP4KSkL34MwgGx9zdbPFofACnV4TWdN+KrJGjYMsCgYAE0CMM7rYHGY3Vt3/WZZJ+DPlKE6Q+uvFDomtsB1IavCeEJyjBP9+GhBHat86aA3mCFjf4emj1or7OEgPc0gCMtKBG6m10CrzLjzdWnOTveqWVUW/FS2gf17cIO5/FK/4KmAjH/QN24KXm395Qu8C0UFfgA66yysakJFkvXVBiPg==",
// },
// header: {
// "content-type": "application/json",
// },
// success(res) {
// console.log("resresresresresresres", res);
// resolve(res.data.data);
// },
// });
// });
// console.log("sign", sign);
// req.sign = sign;
// // 推文数据
// const tweetsData = await new Promise((resolve, reject) => {
// uni.request({
// url: `https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets`,
// method: "POST",
// data: req,
// header: {
// "content-type": "application/x-www-form-urlencoded",
// },
// success(res) {
// console.log(
// "resresresresresresresresres",
// res.data.response.data.data.tweets
// );
// resolve(res.data.response.data.data.tweets);
// },
// });
// });
// console.log("tweetsData", tweetsData);
// if (tweetsData && tweetsData.length > 0) {
// this.messageList = tweetsData;
// } else {
// this.messageList = [];
// }
// },
}
}; };
exports.default = _default; exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))

View File

@ -1 +1 @@
<view class="main _div data-v-765f0f4e"><view class="tabBox _div data-v-765f0f4e"><block wx:for="{{tabList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handleChangeTab',['$0'],[[['tabList','',index,'value']]]]]]]}}" class="{{['_div','data-v-765f0f4e',selectTab===item.value?'tabItem selectTabItem':'tabItem']}}" bindtap="__e">{{''+item.label+''}}</view></block></view><view class="contentList _div data-v-765f0f4e"><block wx:for="{{messageList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handleGoDetail',['$0'],[[['messageList','',index]]]]]]]}}" class="contentItem _div data-v-765f0f4e" bindtap="__e"><view class="left _div data-v-765f0f4e"><view class="title _div data-v-765f0f4e">{{item.title||""}}</view><view class="descBox _div data-v-765f0f4e"><label class="name _span data-v-765f0f4e">{{item.author||"-"}}</label><label class="time _span data-v-765f0f4e">{{item.publishTime||"-"}}</label></view></view><view class="right _div data-v-765f0f4e"><image class="leftIcon data-v-765f0f4e" src="{{item.coverImg?item.coverImg:'https://eshangtech.com/ShopICO/no-picture.png'}}"></image></view></view></block><block wx:if="{{!$root.g0}}"><view class="_div data-v-765f0f4e"><no-data vue-id="55835b78-1" text="暂无内容" class="data-v-765f0f4e" bind:__l="__l"></no-data></view></block></view></view> <view class="main _div data-v-765f0f4e"><view class="tabBox _div data-v-765f0f4e"><block wx:for="{{tabList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handleChangeTab',['$0'],[[['tabList','',index,'value']]]]]]]}}" class="{{['_div','data-v-765f0f4e',selectTab===item.value?'tabItem selectTabItem':'tabItem']}}" bindtap="__e">{{''+item.label+''}}</view></block></view><view class="contentList _div data-v-765f0f4e"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handleGoDetail',['$0'],[[['allMessageList.'+selectTab+'','',index]]]]]]]}}" class="contentItem _div data-v-765f0f4e" bindtap="__e"><view class="left _div data-v-765f0f4e"><view class="title _div data-v-765f0f4e">{{item.$orig.title||item.$orig.NOTICEINFO_TITLE||""}}</view><view class="content _div data-v-765f0f4e">{{item.$orig.NOTICEINFO_CONTENT||""}}</view><view class="descBox _div data-v-765f0f4e"><label class="name _span data-v-765f0f4e">{{item.$orig.author||item.$orig.STAFF_NAME||"-"}}</label><label class="time _span data-v-765f0f4e">{{item.$orig.publishTime||item.$orig.START_DATE||"-"}}</label></view></view><view class="right _div data-v-765f0f4e"><block wx:if="{{item.g0}}"><image class="leftIcon data-v-765f0f4e" src="{{item.$orig.ImageList[0].ImageUrl}}"></image></block><block wx:else><image class="leftIcon data-v-765f0f4e" src="{{item.$orig.coverImg?item.$orig.coverImg:'https://eshangtech.com/ShopICO/no-picture.png'}}"></image></block></view></view></block><block wx:if="{{!$root.g1}}"><view class="_div data-v-765f0f4e"><no-data vue-id="55835b78-1" text="暂无内容" class="data-v-765f0f4e" bind:__l="__l"></no-data></view></block></view></view>

View File

@ -1002,7 +1002,7 @@ var _default = {
handleGetHighwayHeadlines: function handleGetHighwayHeadlines() { handleGetHighwayHeadlines: function handleGetHighwayHeadlines() {
var _this7 = this; var _this7 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
var start, end, params, time, req, signText, sign, tweetsData; var start, end, params, time, req, signText, sign, tweetsData, newReq, newData, list;
return _regenerator.default.wrap(function _callee6$(_context6) { return _regenerator.default.wrap(function _callee6$(_context6) {
while (1) { while (1) {
switch (_context6.prev = _context6.next) { switch (_context6.prev = _context6.next) {
@ -1025,8 +1025,12 @@ var _default = {
version: "1.0", version: "1.0",
sign_type: "RSA2" sign_type: "RSA2"
}; };
signText = "app_id=".concat(req.app_id, "&biz_content=").concat(req.biz_content, "&charset=UTF-8&pid=").concat(req.app_id, "&service=trawe.eats.etc&utc_timestamp=").concat(req.utc_timestamp, "&version=1.0"); // 签名 signText = "app_id=".concat(req.app_id, "&biz_content=").concat(req.biz_content, "&charset=UTF-8&pid=").concat(req.app_id, "&service=trawe.eats.etc&utc_timestamp=").concat(req.utc_timestamp, "&version=1.0");
_context6.next = 8; console.log("handleGetHighwayHeadlines", req);
console.log("signText", signText);
// 签名
_context6.next = 10;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
uni.request({ uni.request({
url: "https://admin.es.eshangtech.com/prod-api/RSA/sign", url: "https://admin.es.eshangtech.com/prod-api/RSA/sign",
@ -1044,13 +1048,13 @@ var _default = {
} }
}); });
}); });
case 8: case 10:
sign = _context6.sent; sign = _context6.sent;
console.log("sign", sign); console.log("sign", sign);
req.sign = sign; req.sign = sign;
// 推文数据 // 推文数据
_context6.next = 13; _context6.next = 15;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
uni.request({ uni.request({
url: "https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets", url: "https://sxgzh.etclife.cn/etc/api/v1/gzh/point/tweets",
@ -1071,41 +1075,41 @@ var _default = {
} }
}); });
}); });
case 13: case 15:
tweetsData = _context6.sent; tweetsData = _context6.sent;
console.log("tweetsData", tweetsData); console.log("tweetsData", tweetsData);
if (tweetsData && tweetsData.length > 0) { // if (tweetsData && tweetsData.length > 0) {
_this7.roadStatusList = tweetsData; // this.roadStatusList = tweetsData;
} else {
_this7.roadStatusList = [];
}
// let req = {
// SearchParameter: {
// // NOTICEINFO_TYPES: 1010,
// PROVINCE_CODE: this.user.PROVINCE_CODE || "530000",
// NOTICEINFO_STATE: 1,
// },
// PageIndex: 1,
// PageSize: 6,
// appId: "wxee018fb96955552a",
// };
// console.log("handleGetHighwayHeadlines", req);
// const data = await this.$api.$post(
// "/EShangApiMain/Notice/GetNOTICEINFOList",
// req
// );
// let list = data.Result_Data.List;
// console.log("handleGetHighwayHeadlines", list);
// if (list && list.length > 0) {
// this.roadStatusList = list;
// } else { // } else {
// this.roadStatusList = []; // this.roadStatusList = [];
// } // }
newReq = {
SearchParameter: {
// NOTICEINFO_TYPES: 1010,
PROVINCE_CODE: _this7.user.PROVINCE_CODE || "530000",
NOTICEINFO_STATE: 1
},
PageIndex: 1,
PageSize: 6,
appId: "wxee018fb96955552a"
};
_context6.next = 20;
return _this7.$api.$post("/EShangApiMain/Notice/GetNOTICEINFOList", newReq);
case 20:
newData = _context6.sent;
list = newData.Result_Data.List;
console.log("handleGetHighwayHeadlines", list);
// if (list && list.length > 0) {
// } else {
// this.roadStatusList = [];
// }
_this7.roadStatusList = list.concat(tweetsData);
// this.roadStatusList.unshift({ // this.roadStatusList.unshift({
// NOTICEINFO_TITLE: "最新放假通知调休2天免费8天", // NOTICEINFO_TITLE: "最新放假通知调休2天免费8天",
// }); // });
case 16: case 24:
case "end": case "end":
return _context6.stop(); return _context6.stop();
} }

File diff suppressed because one or more lines are too long

View File

@ -336,7 +336,7 @@
} }
.main .content .roadStatus .messageListBox.data-v-57280228 { .main .content .roadStatus .messageListBox.data-v-57280228 {
width: 100%; width: 100%;
height: 104rpx; height: 208rpx;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
background-color: #ffffff; background-color: #ffffff;

View File

@ -548,7 +548,7 @@ var _default = {
break; break;
} }
uni.showToast({ uni.showToast({
title: "您被纳入工会会员采购名录,如有疑问,请联系工会咨询", title: "您被纳入工会会员采购名录,如有疑问,请联系工会咨询",
icon: "none" icon: "none"
}); });
return _context.abrupt("return"); return _context.abrupt("return");