ylj20011123 7899cbc0e5 update
2025-04-26 22:02:11 +08:00

255 lines
8.3 KiB
Vue

<template>
<div class="main">
<div v-if="showType === 1">
<div class="pageTitle">{{ detailObj.NOTICEINFO_TITLE || "" }}</div>
<div class="time">{{ detailObj.START_DATE || "-" }}</div>
<div class="navList" v-if="detailObj.ImageList && detailObj.ImageList.length > 0">
<swiper class="swiper" circular
:indicator-dots="detailObj.ImageList && detailObj.ImageList.length > 2 ? true : false" :autoplay="true"
indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#ffffff"
v-if="detailObj.ImageList && detailObj.ImageList.length > 0">
<swiper-item v-for="(item, index) in detailObj.ImageList" :key="index"
@click="handleShowPreview(detailObj.ImageList[0].ImageUrl)">
<view class="swiper-item" :style="{ backgroundImage: `url(${item.ImageUrl})` }">
<!-- <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>
<text class="content">{{ detailObj.NOTICEINFO_CONTENT || "" }}</text>
</div>
<div class="newContent" v-if="detailObj.content && showType === 2" v-html="detailObj.content"></div>
</div>
</template>
<script>
export default {
data() {
return {
detailObj: {
// NOTICEINFO_TITLE: "",
// START_DATE: "",
// NOTICEINFO_CONTENT: "",
},
showType: '',// 1 是自己的 2 他们的
id: ""
};
},
onLoad(query) {
console.log("query", query);
if (query.id) {
this.id = query.id
if (query.type === 'true') {
this.hanldeGetDetail(query.id);
this.showType = 1
} else {
this.handleGetNewDetail(query.id);
this.showType = 2
}
}
this.$utils.addUserBehaviorNew();
},
onShareAppMessage() {
// let _this = this;
return {
title: `${this.detailObj.NOTICEINFO_TITLE}`,
path: `/pages/index/index?id=${this.id}&type=${this.showType}`,
// imageUrl: _this.good.DEFAULT_IMG,
};
},
onShareTimeline() {
return {
title: `${this.detailObj.NOTICEINFO_TITLE}`,
path: `/pages/highwayHeadlines/detail?id=${this.id}&type=${this.showType}`,
// imageUrl: _this.good.DEFAULT_IMG,
};
},
methods: {
// 找到id一样的
async handleGetNewDetail(id) {
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) {
tweetsData.forEach((item) => {
if (Number(item.id) === Number(id)) {
this.detailObj = item;
}
});
}
console.log("this.detailObj", this.detailObj);
},
// 预览查看
handleShowPreview(url) {
uni.previewImage({
current: url, // 当前显示图片的http链接
urls: [url], // 需要预览的图片http链接列表
});
},
async hanldeGetDetail(id) {
const req = {
NOTICEINFOId: id,
};
const data = await this.$api.$get(
"/EShangApiMain/Notice/GetNOTICEINFODetail",
req
);
console.log("detail", data);
const formattedText =
data.Result_Data.NOTICEINFO_CONTENT.split("\n").join("\n\n");
this.detailObj = data.Result_Data;
this.detailObj.NOTICEINFO_CONTENT = formattedText;
console.log("this.detailObj", this.detailObj);
},
},
};
</script>
<style scoped lang="less">
.main {
width: 100vw;
height: 100vh;
box-sizing: border-box;
padding: 16rpx 32rpx;
background: #fff;
overflow-y: scroll;
.pageTitle {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 40rpx;
color: #130f05;
line-height: 56rpx;
text-align: left;
font-style: normal;
}
.time {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #716f69;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-top: 8rpx;
}
.navList {
width: 100%;
height: 400rpx;
border-radius: 6rpx;
overflow: hidden;
margin: 40rpx 0;
.img {
width: 100%;
height: 100%;
}
.swiper {
width: 100%;
height: 100%;
.swiper-item {
width: 100%;
height: 100%;
background-size: contain;
background-repeat: no-repeat;
background-position: 50% 50%;
}
}
}
.content {
display: block;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 30rpx;
color: #130f05;
line-height: 52rpx;
text-align: justify;
font-style: normal;
overflow-y: auto;
}
}
.main::-webkit-scrollbar {
display: none;
}
</style>