1071 lines
38 KiB
JavaScript
1071 lines
38 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const request_api = require("../../request/api.js");
|
|
const utils_util = require("../../utils/util.js");
|
|
const common_assets = require("../../common/assets.js");
|
|
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
|
|
const _sfc_main = {
|
|
data() {
|
|
return {
|
|
menuTop: common_vendor.inject("menuTop"),
|
|
menuH: common_vendor.inject("menuHeight"),
|
|
navH: common_vendor.inject("navHeight"),
|
|
windowWidth: common_vendor.inject("windowWidth"),
|
|
contentTop: "",
|
|
listTop: "",
|
|
screenCategoryList: [
|
|
{
|
|
icon: "/static/icon/home/timeScreen.png",
|
|
title: "时间筛选"
|
|
},
|
|
{
|
|
icon: "/static/icon/home/industryScreen.png",
|
|
title: "行业筛选"
|
|
},
|
|
{
|
|
icon: "/static/icon/home/eventLevel.png",
|
|
title: "事件等级"
|
|
},
|
|
{
|
|
icon: "/static/icon/home/sort.png",
|
|
title: "最新排序"
|
|
}
|
|
],
|
|
isRefreshing: false,
|
|
keywords: "",
|
|
//关键词
|
|
timeCategoryList: [],
|
|
selectTimeCategory: 0,
|
|
stockCategoryList: [],
|
|
topScrollWidth: 0,
|
|
secondScrollWidth: 0,
|
|
selectTopCategory: 0,
|
|
topScrollLeft: 0,
|
|
selectSecondCategory: 0,
|
|
secondScrollLeft: 0,
|
|
selectScreenCategory: 0,
|
|
//0时间筛选1行业筛选2事件等级3最新排序
|
|
quickTimeList: ["最新", "盘中", "午盘", "早盘", "今日全天", "昨日", "近一周", "近一月"],
|
|
selectQuickTimeIndex: -1,
|
|
startDateStr: "",
|
|
//选择开始日期
|
|
startTimeStamp: "",
|
|
//开始日期时间戳
|
|
endDateStr: "",
|
|
//选择结束日期
|
|
endTimeStamp: "",
|
|
//结束日期时间戳
|
|
yearList: [],
|
|
//年份列表
|
|
monthList: [],
|
|
//月份列表
|
|
dayList: [],
|
|
//日列表
|
|
hourList: [],
|
|
//时列表
|
|
minuteList: [],
|
|
//分列表
|
|
selectDateRangeIndex: -1,
|
|
//0开始时间1结束时间
|
|
startDateValue: [0, 0, 0, 0, 0],
|
|
endDateValue: [0, 0, 0, 0, 0],
|
|
industryCategoryList: [],
|
|
//行业分类数组
|
|
industryKeywords: "",
|
|
//行业分类搜索关键词
|
|
searchResultList: [],
|
|
//行业分类搜索结果数组
|
|
selectIndustryTopCategory: 0,
|
|
//选中行业一级分类
|
|
selectIndustrySecondCategory: -1,
|
|
//选中行业二级分类
|
|
selectIndustryThirdCategory: -1,
|
|
//选中行业三级分类
|
|
selectIndustryForthCategory: -1,
|
|
//选中行业四级分类
|
|
importanceList: [],
|
|
//重要性数组
|
|
selectImportanceIndex: 0,
|
|
//选择事件等级下标
|
|
sortTypeList: [],
|
|
selectSortKey: "",
|
|
//选中排序key
|
|
option: {
|
|
tooltip: {
|
|
trigger: "axis",
|
|
axisPointer: {
|
|
type: "shadow"
|
|
},
|
|
confine: true
|
|
},
|
|
grid: {
|
|
left: "0%",
|
|
right: "0%",
|
|
top: "10%",
|
|
bottom: "20%"
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: "category",
|
|
data: ["跌停", "跌停~5%", "5~1%", "1~0%", "平盘", "0~1%", "1~5%", "5%~涨停", "涨停"],
|
|
axisTick: {
|
|
show: false
|
|
},
|
|
axisLine: {
|
|
show: false
|
|
},
|
|
axisLabel: {
|
|
fontSize: 10,
|
|
interval: "0",
|
|
textStyle: {
|
|
color: function(value, index) {
|
|
return index == 0 ? "#355422" : index == 8 ? "#C00000" : "#515151";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: "value",
|
|
show: false,
|
|
axisTick: { show: false }
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: "热度",
|
|
type: "bar",
|
|
label: {
|
|
show: true,
|
|
position: "top",
|
|
fontSize: 12
|
|
},
|
|
itemStyle: {
|
|
borderRadius: [5, 5, 0, 0]
|
|
},
|
|
data: []
|
|
}
|
|
]
|
|
},
|
|
eventList: [],
|
|
page: 1,
|
|
loadAll: false,
|
|
getRateStr: utils_util.getRateStr,
|
|
getRateUpOrDown: utils_util.getRateUpOrDown,
|
|
getLocaleTime: utils_util.getLocaleTime
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.contentTop = this.navH + (70 + 74) / 750 * this.windowWidth;
|
|
this.listTop = this.contentTop + (22 + 80 + 72) / 750 * this.windowWidth;
|
|
this.sortListTop = this.navH + (22 + 80 + 80) / 750 * this.windowWidth;
|
|
this.generateDateListData();
|
|
Promise.all([this.getEventFilterListData(), this.getIndustryCategoryListData(), this.getStockCategoryListData()]).then((res) => {
|
|
this.getEventListData();
|
|
}).catch((error) => {
|
|
});
|
|
},
|
|
onReady() {
|
|
common_vendor.index.createSelectorQuery().select("#topCategory").boundingClientRect((rect) => {
|
|
this.topScrollWidth = Math.round(rect.width);
|
|
}).exec();
|
|
common_vendor.index.createSelectorQuery().select("#secondCategory").boundingClientRect((rect) => {
|
|
if (rect) {
|
|
this.secondScrollWidth = Math.round(rect.width);
|
|
}
|
|
}).exec();
|
|
},
|
|
methods: {
|
|
/**
|
|
* 生成日期数据
|
|
*/
|
|
generateDateListData() {
|
|
let currentDate = /* @__PURE__ */ new Date();
|
|
let year = currentDate.getFullYear();
|
|
let month = currentDate.getMonth();
|
|
let day = currentDate.getDate();
|
|
let hour = currentDate.getHours();
|
|
let minute = currentDate.getMinutes();
|
|
let date = new Date(year, month + 1, 0);
|
|
let monthDays = date.getDate();
|
|
for (var i = 2e3; i < 2060; i++) {
|
|
this.yearList.push(i);
|
|
}
|
|
for (var i = 0; i < 12 * 60; i++) {
|
|
this.monthList.push(i % 12 + 1);
|
|
}
|
|
for (var i = 0; i < monthDays * 60; i++) {
|
|
this.dayList.push(i % monthDays + 1);
|
|
}
|
|
for (var i = 0; i < 24 * 60; i++) {
|
|
this.hourList.push(i % 24);
|
|
}
|
|
for (var i = 0; i < 60 * 60; i++) {
|
|
this.minuteList.push(i % 60);
|
|
}
|
|
let that = this;
|
|
setTimeout(function() {
|
|
that.startDateValue = [year - 2e3, month + 12 * 30, day - 1 + monthDays * 30, hour + 24 * 30, minute + 60 * 30];
|
|
that.endDateValue = [year - 2e3, month + 12 * 30, day - 1 + monthDays * 30, hour + 24 * 30, minute + 60 * 30];
|
|
}, 100);
|
|
},
|
|
/**
|
|
* 下拉刷新
|
|
*/
|
|
pullDownRefresh() {
|
|
this.isRefreshing = true;
|
|
this.clickSearch();
|
|
},
|
|
/**
|
|
* 上拉加载
|
|
*/
|
|
loadMoreData() {
|
|
if (!this.loadAll) {
|
|
this.page++;
|
|
if (this.selectScreenCategory == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
}
|
|
},
|
|
async init() {
|
|
const chart = await this.$refs.chartRef.init(echarts);
|
|
chart.setOption(this.option);
|
|
},
|
|
/**
|
|
* 点击搜索
|
|
*/
|
|
clickSearch() {
|
|
this.page = 1;
|
|
if (this.selectTimeCategory == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
},
|
|
/**
|
|
* 点击事件筛选
|
|
* @param {Object} index
|
|
*/
|
|
clickTimeCategoryItem(index) {
|
|
if (this.selectTimeCategory != index) {
|
|
this.selectTimeCategory = index;
|
|
if (index == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
}
|
|
},
|
|
/**
|
|
* 点击排序选项
|
|
*/
|
|
clickSortListItem(item) {
|
|
this.selectSortKey = item.key;
|
|
this.$refs["screenPopup"].close();
|
|
if (this.selectTimeCategory == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
},
|
|
/**
|
|
* 点击筛选
|
|
*/
|
|
clickScreenItem(index) {
|
|
this.selectScreenCategory = index;
|
|
this.$refs["screenPopup"].open();
|
|
},
|
|
/**
|
|
* 点击筛选弹窗取消
|
|
*/
|
|
clickCancel() {
|
|
this.$refs["screenPopup"].close();
|
|
},
|
|
/**
|
|
* 点击筛选弹窗确定
|
|
*/
|
|
clickCertain() {
|
|
if (this.selectScreenCategory == 0) {
|
|
if (!this.startDateStr) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择开始时间",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (!this.endDateStr) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择结束时间",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (this.endTimeStamp < this.startTimeStamp) {
|
|
common_vendor.index.showToast({
|
|
title: "开始时间不能晚于结束时间",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
this.clickCancel();
|
|
this.clickSearch();
|
|
},
|
|
/**
|
|
* 点击筛选分类
|
|
* @param {Object} index
|
|
*/
|
|
clickScreenCategoryItem(index) {
|
|
if (this.selectScreenCategory != index) {
|
|
this.selectScreenCategory = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择一级分类
|
|
* @param {Object} index
|
|
*/
|
|
clickTopCategoryItem(event, index) {
|
|
if (this.selectTopCategory != index) {
|
|
this.selectTopCategory = index;
|
|
this.selectSecondCategory = 0;
|
|
let offsetLeft = event.currentTarget.offsetLeft;
|
|
this.topScrollLeft = offsetLeft - this.topScrollWidth / 2;
|
|
if (index == 0) {
|
|
this.listTop = this.contentTop + (22 + 80 + 72) / 750 * this.windowWidth;
|
|
} else
|
|
this.listTop = this.contentTop + (22 + 80 + 72 + 42 + 42) / 750 * this.windowWidth;
|
|
if (this.selectTimeCategory == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择二级分类
|
|
* @param {Object} index
|
|
*/
|
|
clickSecondCategoryItem(event, index) {
|
|
if (this.selectSecondCategory != index) {
|
|
this.selectSecondCategory = index;
|
|
let offsetLeft = event.currentTarget.offsetLeft;
|
|
this.secondScrollLeft = offsetLeft - this.secondScrollWidth / 2;
|
|
if (this.selectTimeCategory == 0) {
|
|
this.getEventListData();
|
|
} else
|
|
this.getHotEventListData();
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择快捷时间
|
|
*/
|
|
clickQuickTimeItem(index) {
|
|
this.selectDateRangeIndex = -1;
|
|
if (this.selectQuickTimeIndex != index) {
|
|
this.selectQuickTimeIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择开始时间或者结束时间
|
|
* @param {Object} index
|
|
*/
|
|
clickDateRangeItem(index) {
|
|
this.selectQuickTimeIndex = -1;
|
|
if (this.selectDateRangeIndex != index) {
|
|
this.selectDateRangeIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 监听日期选择
|
|
* @param {Object} e
|
|
*/
|
|
dateChange(e) {
|
|
let value = e.detail.value;
|
|
if (this.selectDateRangeIndex == 0) {
|
|
if (value[1] != this.startDateValue[1]) {
|
|
let year2 = value[0] + 2e3;
|
|
let month2 = value[1] % 12;
|
|
let date2 = new Date(year2, month2 + 1, 0);
|
|
let monthDays2 = date2.getDate();
|
|
this.dayList = [];
|
|
for (var i = 0; i < monthDays2 * 60; i++) {
|
|
this.dayList.push(i % monthDays2 + 1);
|
|
}
|
|
}
|
|
this.startDateValue = e.detail.value;
|
|
let year = value[0] + 2e3;
|
|
let month = value[1] % 12 + 1;
|
|
let date = new Date(year, month, 0);
|
|
let monthDays = date.getDate();
|
|
let day = value[2] % monthDays + 1;
|
|
let hour = value[3] % 24;
|
|
let minute = value[4] % 60;
|
|
this.startDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + (day > 9 ? day : "0" + day) + " " + (hour > 9 ? hour : "0" + hour) + ":" + (minute > 9 ? minute : "0" + minute);
|
|
var startDateStr = this.startDateStr.replace(/-/g, "/") + ":00";
|
|
this.startTimeStamp = new Date(startDateStr).getTime();
|
|
} else if (this.selectDateRangeIndex == 1) {
|
|
if (value[1] != this.endDateValue[1]) {
|
|
let year2 = value[0] + 2e3;
|
|
let month2 = value[1] % 12;
|
|
let date2 = new Date(year2, month2 + 1, 0);
|
|
let monthDays2 = date2.getDate();
|
|
this.dayList = [];
|
|
for (var i = 0; i < monthDays2 * 60; i++) {
|
|
this.dayList.push(i % monthDays2 + 1);
|
|
}
|
|
}
|
|
this.endDateValue = e.detail.value;
|
|
let year = value[0] + 2e3;
|
|
let month = value[1] % 12 + 1;
|
|
let date = new Date(year, month, 0);
|
|
let monthDays = date.getDate();
|
|
let day = value[2] % monthDays + 1;
|
|
let hour = value[3] % 24;
|
|
let minute = value[4] % 60;
|
|
this.endDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + (day > 9 ? day : "0" + day) + " " + (hour > 9 ? hour : "0" + hour) + ":" + (minute > 9 ? minute : "0" + minute);
|
|
var endDateStr = this.endDateStr.replace(/-/g, "/") + ":00";
|
|
this.endTimeStamp = new Date(endDateStr).getTime();
|
|
}
|
|
},
|
|
/**
|
|
* 选择行业分类一级分类
|
|
*/
|
|
clickIndustryTopCategoryItem(index) {
|
|
if (this.selectIndustryTopCategory != index) {
|
|
this.selectIndustryTopCategory = index;
|
|
}
|
|
},
|
|
/**
|
|
* 行业分类搜索
|
|
*/
|
|
industrySearch(e) {
|
|
let keywords = e.detail.value;
|
|
this.industryKeywords = keywords;
|
|
let arr = [];
|
|
for (let item of this.industryCategoryList) {
|
|
let index = this.industryCategoryList.indexOf(item);
|
|
for (let item1 of item.hierarchy) {
|
|
let index1 = item.hierarchy.indexOf(item1);
|
|
let arr1 = [];
|
|
if (item1.level1_sector.indexOf(keywords) > -1) {
|
|
arr1.push(item1);
|
|
arr.push({ classification_name: item.classification_name, hierarchy: arr1 });
|
|
}
|
|
for (let item2 of item1.level2_sectors) {
|
|
let index2 = item1.level2_sectors.indexOf(item2);
|
|
let arr2 = [];
|
|
if (item2.level2_sector.indexOf(keywords) > -1) {
|
|
arr2.push(item2);
|
|
arr1.push({ level1_sector: item1.level1_sector, level2_sectors: arr2 });
|
|
arr.push({ classification_name: item.classification_name, hierarchy: arr1 });
|
|
}
|
|
for (let item3 of item2.level3_sectors) {
|
|
let index3 = item2.level3_sectors.indexOf(item3);
|
|
let arr3 = [];
|
|
if (item3.level3_sector.indexOf(keywords) > -1) {
|
|
item3.index = index;
|
|
item3.index1 = index1;
|
|
item3.index2 = index2;
|
|
item3.index3 = index3;
|
|
arr3.push(item3);
|
|
arr2.push({ level2_sector: item2.level2_sector, level3_sectors: arr3 });
|
|
arr1.push({ level1_sector: item1.level1_sector, level2_sectors: arr2 });
|
|
arr.push({ classification_name: item.classification_name, hierarchy: arr1 });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.searchResultList = arr;
|
|
},
|
|
/**
|
|
* 点击选择搜索结果
|
|
* @param {Object} item
|
|
*/
|
|
clickIndustrySearchItem(item) {
|
|
this.industryKeywords = "";
|
|
this.selectIndustryTopCategory = item.index;
|
|
this.selectIndustrySecondCategory = item.index1;
|
|
this.selectIndustryThirdCategory = item.index2;
|
|
this.selectIndustryForthCategory = item.index3;
|
|
},
|
|
/**
|
|
* 选择行业分类二级分类
|
|
*/
|
|
clickIndustrySecondCategoryItem(index) {
|
|
if (this.selectIndustrySecondCategory != index) {
|
|
this.selectIndustrySecondCategory = index;
|
|
}
|
|
this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[index].isSpread = !this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[index].isSpread;
|
|
},
|
|
/**
|
|
* 选择行业分类三级分类
|
|
*/
|
|
clickIndustryThirdCategoryItem(sindex, index) {
|
|
if (this.selectIndustrySecondCategory != sindex) {
|
|
this.selectIndustrySecondCategory = sindex;
|
|
}
|
|
if (this.selectIndustryThirdCategory != index) {
|
|
this.selectIndustryThirdCategory = index;
|
|
}
|
|
this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[sindex].level2_sectors[index].isSpread = !this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[sindex].level2_sectors[index].isSpread;
|
|
},
|
|
/**
|
|
* 选择行业分类四级分类
|
|
*/
|
|
clickIndustryForthCategoryItem(sindex, tindex, index) {
|
|
if (this.selectIndustrySecondCategory != sindex) {
|
|
this.selectIndustrySecondCategory = sindex;
|
|
}
|
|
if (this.selectIndustryThirdCategory != tindex) {
|
|
this.selectIndustryThirdCategory = tindex;
|
|
}
|
|
if (this.selectIndustryForthCategory != index) {
|
|
this.selectIndustryForthCategory = index;
|
|
}
|
|
},
|
|
/**
|
|
* 删除选中的行业二级分类
|
|
*/
|
|
deleteIndustrySecondCategoryItem() {
|
|
this.selectIndustrySecondCategory = -1;
|
|
this.selectIndustryThirdCategory = -1;
|
|
this.selectIndustryForthCategory = -1;
|
|
},
|
|
/**
|
|
* 删除选中的行业三级分类
|
|
*/
|
|
deleteIndustryThirdCategoryItem() {
|
|
this.selectIndustryThirdCategory = -1;
|
|
this.selectIndustryForthCategory = -1;
|
|
},
|
|
/**
|
|
* 删除选中的行业四级分类
|
|
*/
|
|
deleteIndustryForthCategoryItem() {
|
|
this.selectIndustryForthCategory = -1;
|
|
},
|
|
/**
|
|
* 点击选择重要性
|
|
*/
|
|
clickImportanceItem(index) {
|
|
if (this.selectImportanceIndex != index) {
|
|
this.selectImportanceIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击展开收起内容
|
|
* @param {Object} index
|
|
*/
|
|
clickExpandOrRetract(index) {
|
|
this.eventList[index].isExpand = !this.eventList[index].isExpand;
|
|
},
|
|
/**
|
|
* 点击相关股票
|
|
* @param {Object} id 事件id
|
|
* @param {Object} code 股票代码
|
|
*/
|
|
clickLookRelatedStockItem(id, code) {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/index/stockDetails/stockDetails?type=1&code=" + code + "&id=" + id
|
|
});
|
|
},
|
|
/**
|
|
* 点击关注事件
|
|
* @param {Object} id
|
|
*/
|
|
clickFollowEvent(id) {
|
|
request_api.followEvent(id).then((res) => {
|
|
common_vendor.index.showToast({
|
|
title: res.message,
|
|
icon: "none"
|
|
});
|
|
this.clickSearch();
|
|
}).catch((error) => {
|
|
});
|
|
},
|
|
/**
|
|
* 查看事件详情
|
|
*/
|
|
clickEventItem(id) {
|
|
let that = this;
|
|
common_vendor.index.$on("editSuccess", (res) => {
|
|
that.clickSearch();
|
|
common_vendor.index.$off("editSuccess");
|
|
});
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/index/eventDetails/eventDetails?id=" + id
|
|
});
|
|
},
|
|
/**
|
|
* 获取事件筛选项
|
|
*/
|
|
getEventFilterListData() {
|
|
return new Promise((resolve, reject) => {
|
|
request_api.filterOptions().then((res) => {
|
|
if (res.code == 200) {
|
|
resolve(1);
|
|
let timeList = [...res.data.sort_options];
|
|
this.timeCategoryList = timeList.splice(0, 2);
|
|
let sortList = [...res.data.sort_options];
|
|
for (let item of sortList) {
|
|
if (item.name == "最新") {
|
|
item.icon = "/static/icon/home/new.png";
|
|
}
|
|
if (item.name == "热门") {
|
|
item.icon = "/static/icon/home/hot.png";
|
|
}
|
|
if (item.name == "收益率") {
|
|
item.icon = "/static/icon/home/yield.png";
|
|
}
|
|
}
|
|
this.sortTypeList = res.data.sort_options.slice(0, 3);
|
|
this.importanceList = res.data.importance_options;
|
|
this.importanceList.unshift({ desc: "全部", key: "all", name: "全部" });
|
|
} else {
|
|
resolve(1);
|
|
common_vendor.index.showToast({
|
|
title: res.message,
|
|
icon: "none"
|
|
});
|
|
}
|
|
}).catch((error) => {
|
|
reject(1);
|
|
});
|
|
});
|
|
},
|
|
/**
|
|
* 获取行业分类
|
|
*/
|
|
getIndustryCategoryListData() {
|
|
return new Promise((resolve, reject) => {
|
|
request_api.industryCategoryList().then((res) => {
|
|
this.industryCategoryList = res.data;
|
|
resolve(1);
|
|
}).catch((error) => {
|
|
reject(1);
|
|
});
|
|
});
|
|
},
|
|
/**
|
|
* 获取股票分类
|
|
*/
|
|
getStockCategoryListData() {
|
|
return new Promise((resolve, reject) => {
|
|
request_api.stockCategoryList().then((res) => {
|
|
if (res.code == 200) {
|
|
for (let item of res.data) {
|
|
item.sub_sectors.unshift("全部");
|
|
}
|
|
res.data.unshift({ primary_sector: "全部", sub_sectors: [] });
|
|
this.stockCategoryList = res.data;
|
|
resolve(1);
|
|
} else {
|
|
common_vendor.index.showToast({
|
|
title: res.message,
|
|
icon: "none"
|
|
});
|
|
reject(1);
|
|
}
|
|
}).catch((error) => {
|
|
reject(1);
|
|
});
|
|
});
|
|
},
|
|
/**
|
|
* 获取事件列表数据
|
|
*/
|
|
getEventListData() {
|
|
let param = { page: this.page, q: this.keywords };
|
|
if (this.selectTopCategory > 0) {
|
|
param.stock_sector = this.stockCategoryList[this.selectTopCategory].primary_sector;
|
|
}
|
|
if (this.selectSecondCategory > 0) {
|
|
param.secondary_sector = this.stockCategoryList[this.selectTopCategory].sub_sectors[this.selectSecondCategory];
|
|
}
|
|
if (this.startDateStr) {
|
|
param.start_date = this.startDateStr;
|
|
}
|
|
if (this.endDateStr) {
|
|
param.end_date = this.endDateStr;
|
|
}
|
|
if (this.selectImportanceIndex > 0) {
|
|
param.importance = this.importanceList[this.selectImportanceIndex].key;
|
|
}
|
|
if (this.selectSortKey) {
|
|
param.sort = this.selectSortKey;
|
|
}
|
|
if (this.selectIndustryForthCategory > -1) {
|
|
param.industry_level = 4;
|
|
param.industry_classification = this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[this.selectIndustrySecondCategory].level2_sectors[this.selectIndustryThirdCategory].level3_sectors[this.selectIndustryForthCategory].level3_sector;
|
|
} else {
|
|
if (this.selectIndustryThirdCategory > -1) {
|
|
param.industry_level = 3;
|
|
param.industry_classification = this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[this.selectIndustrySecondCategory].level2_sectors[this.selectIndustryThirdCategory].level2_sector;
|
|
} else {
|
|
if (this.selectIndustrySecondCategory > -1) {
|
|
param.industry_level = 2;
|
|
param.industry_classification = this.industryCategoryList[this.selectIndustryTopCategory].hierarchy[this.selectIndustrySecondCategory].level1_sector;
|
|
} else {
|
|
param.industry_level = 1;
|
|
param.industry_classification = this.industryCategoryList[this.selectIndustryTopCategory].classification_name;
|
|
}
|
|
}
|
|
}
|
|
request_api.eventList(param).then((res) => {
|
|
this.isRefreshing = false;
|
|
if (res.success) {
|
|
if (this.page == 1) {
|
|
this.eventList = res.data.events;
|
|
} else
|
|
this.eventList = this.eventList.concat(res.data.events);
|
|
this.loadAll = !res.data.pagination.has_next;
|
|
}
|
|
}).catch((error) => {
|
|
this.isRefreshing = false;
|
|
});
|
|
},
|
|
/**
|
|
* 获取热门事件数据
|
|
*/
|
|
getHotEventListData() {
|
|
let param = { page: this.page, q: this.keywords };
|
|
if (this.selectTopCategory > 0) {
|
|
param.stock_sector = this.stockCategoryList[this.selectTopCategory].primary_sector;
|
|
}
|
|
if (this.selectSecondCategory > 0) {
|
|
param.secondary_sector = this.stockCategoryList[this.selectTopCategory].sub_sectors[this.selectSecondCategory];
|
|
}
|
|
if (this.startDateStr) {
|
|
param.start_date = this.startDateStr;
|
|
}
|
|
if (this.endDateStr) {
|
|
param.end_date = this.endDateStr;
|
|
}
|
|
if (this.selectImportanceIndex > 0) {
|
|
param.importance = this.importanceList[this.selectImportanceIndex].key;
|
|
}
|
|
if (this.selectSortKey) {
|
|
param.sort = this.selectSortKey;
|
|
}
|
|
request_api.homeData(param).then((res) => {
|
|
if (res.code == 200) {
|
|
if (this.page == 1) {
|
|
this.eventList = res.data.events;
|
|
} else
|
|
this.eventList = this.eventList.concat(res.data.events);
|
|
} else
|
|
common_vendor.index.showToast({
|
|
title: res.message,
|
|
icon: "none"
|
|
});
|
|
}).catch((error) => {
|
|
});
|
|
}
|
|
}
|
|
};
|
|
if (!Array) {
|
|
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
|
|
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
|
|
(_easycom_navBar2 + _easycom_uni_popup2)();
|
|
}
|
|
const _easycom_navBar = () => "../../components/navBar/navBar.js";
|
|
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
|
|
if (!Math) {
|
|
(_easycom_navBar + _easycom_uni_popup)();
|
|
}
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return common_vendor.e({
|
|
a: common_assets._imports_0,
|
|
b: common_vendor.p({
|
|
leftText: "事件中心",
|
|
hideNavBg: true,
|
|
hideBack: true
|
|
}),
|
|
c: common_assets._imports_1,
|
|
d: $data.keywords,
|
|
e: common_vendor.o(($event) => $data.keywords = $event.detail.value),
|
|
f: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: item.icon,
|
|
b: common_vendor.t(item.title),
|
|
c: common_vendor.n("item flex " + (index == 2 ? "level" : "")),
|
|
d: common_vendor.o(($event) => $options.clickScreenItem(index), index),
|
|
e: index < $data.screenCategoryList.length - 1
|
|
}, index < $data.screenCategoryList.length - 1 ? {} : {}, {
|
|
f: index
|
|
});
|
|
}),
|
|
g: common_assets._imports_3,
|
|
h: common_vendor.f($data.timeCategoryList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.name),
|
|
b: common_vendor.n("item " + ($data.selectTimeCategory == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickTimeCategoryItem(index), index)
|
|
};
|
|
}),
|
|
i: common_vendor.f($data.stockCategoryList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.primary_sector),
|
|
b: common_vendor.n("item relative " + ($data.selectTopCategory == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickTopCategoryItem($event, index), index)
|
|
};
|
|
}),
|
|
j: $data.topScrollLeft,
|
|
k: common_vendor.s("top:" + $data.navH + "px;"),
|
|
l: common_vendor.f($data.eventList, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(item.importance),
|
|
b: common_vendor.n("level " + item.importance),
|
|
c: common_vendor.t(item.title),
|
|
d: common_vendor.t(item.description),
|
|
e: common_vendor.n("content " + (item.isExpand ? "" : "retract")),
|
|
f: common_vendor.o(($event) => $options.clickExpandOrRetract(index), index),
|
|
g: $data.getRateUpOrDown(item.related_avg_chg)
|
|
}, $data.getRateUpOrDown(item.related_avg_chg) ? {
|
|
h: common_assets._imports_1$1
|
|
} : {
|
|
i: common_assets._imports_2$1
|
|
}, {
|
|
j: common_vendor.t($data.getRateStr(item.related_avg_chg)),
|
|
k: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
|
|
l: $data.getRateUpOrDown(item.related_max_chg)
|
|
}, $data.getRateUpOrDown(item.related_max_chg) ? {
|
|
m: common_assets._imports_1$1
|
|
} : {
|
|
n: common_assets._imports_2$1
|
|
}, {
|
|
o: common_vendor.t($data.getRateStr(item.related_max_chg)),
|
|
p: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
|
|
q: $data.getRateUpOrDown(item.related_week_chg)
|
|
}, $data.getRateUpOrDown(item.related_week_chg) ? {
|
|
r: common_assets._imports_1$1
|
|
} : {
|
|
s: common_assets._imports_2$1
|
|
}, {
|
|
t: common_vendor.t($data.getRateStr(item.related_week_chg)),
|
|
v: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_week_chg) ? "down" : "up")),
|
|
w: common_vendor.t($data.getLocaleTime(item.created_at)),
|
|
x: common_vendor.t(item.view_count),
|
|
y: common_vendor.t(item.post_count),
|
|
z: common_vendor.t(item.follower_count),
|
|
A: common_vendor.o(($event) => $options.clickFollowEvent(item.id), index),
|
|
B: common_vendor.o(($event) => $options.clickEventItem(item.id), index),
|
|
C: index
|
|
});
|
|
}),
|
|
m: common_assets._imports_3$1,
|
|
n: common_assets._imports_4,
|
|
o: common_assets._imports_10$1,
|
|
p: common_vendor.s("top:" + $data.listTop + "px"),
|
|
q: $data.isRefreshing,
|
|
r: common_vendor.o(($event) => $options.pullDownRefresh()),
|
|
s: common_vendor.o(($event) => $options.loadMoreData()),
|
|
t: common_assets._imports_2,
|
|
v: common_vendor.s("height:" + $data.menuH + "px;"),
|
|
w: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: item.icon,
|
|
b: common_vendor.t(item.title),
|
|
c: common_vendor.n("item flex " + (index == 2 ? "level" : "")),
|
|
d: common_vendor.o(($event) => $options.clickScreenItem(index), index),
|
|
e: index < $data.screenCategoryList.length - 1
|
|
}, index < $data.screenCategoryList.length - 1 ? {} : {}, {
|
|
f: index
|
|
});
|
|
}),
|
|
x: common_assets._imports_3,
|
|
y: $data.selectScreenCategory == 0
|
|
}, $data.selectScreenCategory == 0 ? common_vendor.e({
|
|
z: common_assets._imports_9,
|
|
A: $data.startDateStr
|
|
}, $data.startDateStr ? {
|
|
B: common_vendor.t($data.startDateStr)
|
|
} : {}, {
|
|
C: common_vendor.n("dateC start flexCenter flex1 " + ($data.selectDateRangeIndex == 0 ? "select" : "")),
|
|
D: common_vendor.o(($event) => $options.clickDateRangeItem(0)),
|
|
E: common_assets._imports_9,
|
|
F: $data.endDateStr
|
|
}, $data.endDateStr ? {
|
|
G: common_vendor.t($data.endDateStr)
|
|
} : {}, {
|
|
H: common_vendor.n("dateC end flexCenter flex1 " + ($data.selectDateRangeIndex == 1 ? "select" : "")),
|
|
I: common_vendor.o(($event) => $options.clickDateRangeItem(1)),
|
|
J: common_vendor.f($data.yearList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: index
|
|
};
|
|
}),
|
|
K: common_vendor.f($data.monthList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: index
|
|
};
|
|
}),
|
|
L: common_vendor.f($data.dayList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: index
|
|
};
|
|
}),
|
|
M: common_vendor.f($data.hourList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: index
|
|
};
|
|
}),
|
|
N: common_vendor.f($data.minuteList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: index
|
|
};
|
|
}),
|
|
O: $data.selectDateRangeIndex == 0 ? $data.startDateValue : $data.endDateValue,
|
|
P: common_vendor.o((...args) => $options.dateChange && $options.dateChange(...args))
|
|
}) : {}, {
|
|
Q: $data.selectScreenCategory == 1
|
|
}, $data.selectScreenCategory == 1 ? common_vendor.e({
|
|
R: common_vendor.f($data.industryCategoryList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.classification_name),
|
|
b: common_vendor.n("item " + ($data.selectIndustryTopCategory == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickIndustryTopCategoryItem(index), index)
|
|
};
|
|
}),
|
|
S: common_assets._imports_10,
|
|
T: common_vendor.o([($event) => $data.industryKeywords = $event.detail.value, (...args) => $options.industrySearch && $options.industrySearch(...args)]),
|
|
U: $data.industryKeywords,
|
|
V: $data.industryKeywords.length > 0
|
|
}, $data.industryKeywords.length > 0 ? {
|
|
W: common_vendor.f($data.searchResultList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.f(item.hierarchy, (sitem, sindex, i1) => {
|
|
return {
|
|
a: common_vendor.f(sitem.level2_sectors, (titem, tindex, i2) => {
|
|
return {
|
|
a: common_vendor.f(titem.level3_sectors, (fitem, findex, i3) => {
|
|
return {
|
|
a: common_vendor.f(fitem.level3_sector + "/" + titem.level2_sector + "/" + sitem.level1_sector, (citem, cindex, i4) => {
|
|
return {
|
|
a: common_vendor.t(citem),
|
|
b: common_vendor.n($data.industryKeywords.indexOf(citem) > -1 ? "key" : ""),
|
|
c: cindex
|
|
};
|
|
}),
|
|
b: common_vendor.o(($event) => $options.clickIndustrySearchItem(fitem), findex),
|
|
c: findex
|
|
};
|
|
}),
|
|
b: tindex
|
|
};
|
|
}),
|
|
b: sindex
|
|
};
|
|
}),
|
|
b: index
|
|
};
|
|
})
|
|
} : common_vendor.e({
|
|
X: $data.selectIndustrySecondCategory > -1
|
|
}, $data.selectIndustrySecondCategory > -1 ? common_vendor.e({
|
|
Y: $data.selectIndustrySecondCategory > -1
|
|
}, $data.selectIndustrySecondCategory > -1 ? {
|
|
Z: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level1_sector),
|
|
aa: common_assets._imports_11,
|
|
ab: common_vendor.o(($event) => $options.deleteIndustrySecondCategoryItem())
|
|
} : {}, {
|
|
ac: $data.selectIndustryThirdCategory > -1
|
|
}, $data.selectIndustryThirdCategory > -1 ? {
|
|
ad: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level2_sector),
|
|
ae: common_assets._imports_11,
|
|
af: common_vendor.o(($event) => $options.deleteIndustryThirdCategoryItem())
|
|
} : {}, {
|
|
ag: $data.selectIndustryForthCategory > -1
|
|
}, $data.selectIndustryForthCategory > -1 ? {
|
|
ah: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level3_sectors[$data.selectIndustryForthCategory].level3_sector),
|
|
ai: common_assets._imports_11,
|
|
aj: common_vendor.o(($event) => $options.deleteIndustryForthCategoryItem())
|
|
} : {}) : {}, {
|
|
ak: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].classification_name),
|
|
al: common_vendor.f($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy, (sitem, sindex, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t($data.selectIndustrySecondCategory == sindex && sitem.isSpread ? "-" : "+"),
|
|
b: common_vendor.t(sitem.level1_sector),
|
|
c: common_vendor.n("categoryC flex " + ($data.selectIndustrySecondCategory == sindex ? "select" : "")),
|
|
d: common_vendor.o(($event) => $options.clickIndustrySecondCategoryItem(sindex), sindex),
|
|
e: sitem.isSpread
|
|
}, sitem.isSpread ? {
|
|
f: common_vendor.f($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[sindex].level2_sectors, (titem, tindex, i1) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t($data.selectIndustrySecondCategory == sindex && $data.selectIndustryThirdCategory == tindex && titem.isSpread ? "-" : "+"),
|
|
b: common_vendor.t(titem.level2_sector),
|
|
c: common_vendor.n("categoryC flex " + ($data.selectIndustrySecondCategory == sindex && $data.selectIndustryThirdCategory == tindex ? "select" : "")),
|
|
d: common_vendor.o(($event) => $options.clickIndustryThirdCategoryItem(sindex, tindex), tindex),
|
|
e: titem.isSpread
|
|
}, titem.isSpread ? {
|
|
f: common_vendor.f($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[sindex].level2_sectors[tindex].level3_sectors, (fitem, findex, i2) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(fitem.level3_sector),
|
|
b: $data.selectIndustrySecondCategory == sindex && $data.selectIndustryThirdCategory == tindex && $data.selectIndustryForthCategory == findex
|
|
}, $data.selectIndustrySecondCategory == sindex && $data.selectIndustryThirdCategory == tindex && $data.selectIndustryForthCategory == findex ? {
|
|
c: common_assets._imports_12
|
|
} : {}, {
|
|
d: common_vendor.n("categoryC flex " + ($data.selectIndustrySecondCategory == sindex && $data.selectIndustryThirdCategory == tindex && $data.selectIndustryForthCategory == findex ? "select" : "")),
|
|
e: common_vendor.o(($event) => $options.clickIndustryForthCategoryItem(sindex, tindex, findex), findex),
|
|
f: findex
|
|
});
|
|
})
|
|
} : {}, {
|
|
g: tindex
|
|
});
|
|
})
|
|
} : {}, {
|
|
g: sindex
|
|
});
|
|
})
|
|
})) : {}, {
|
|
am: $data.selectScreenCategory == 2
|
|
}, $data.selectScreenCategory == 2 ? {
|
|
an: common_vendor.f($data.importanceList, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(item.name),
|
|
b: $data.selectImportanceIndex == index
|
|
}, $data.selectImportanceIndex == index ? {
|
|
c: common_assets._imports_13
|
|
} : {}, {
|
|
d: common_vendor.n("item flex " + ($data.selectImportanceIndex == index ? "select" : "")),
|
|
e: index,
|
|
f: common_vendor.o(($event) => $options.clickImportanceItem(index), index)
|
|
});
|
|
})
|
|
} : {}, {
|
|
ao: $data.selectScreenCategory == 3
|
|
}, $data.selectScreenCategory == 3 ? {
|
|
ap: common_vendor.f($data.sortTypeList, (item, index, i0) => {
|
|
return {
|
|
a: item.icon,
|
|
b: common_vendor.t(item.name),
|
|
c: common_vendor.n("item flex " + ($data.selectSortKey == item.key ? "select" : "")),
|
|
d: index,
|
|
e: common_vendor.o(($event) => $options.clickSortListItem(item), index)
|
|
};
|
|
})
|
|
} : {}, {
|
|
aq: $data.selectScreenCategory != 3
|
|
}, $data.selectScreenCategory != 3 ? {
|
|
ar: common_vendor.o(($event) => $options.clickCancel()),
|
|
as: common_vendor.o(($event) => $options.clickCertain())
|
|
} : {}, {
|
|
at: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
|
|
av: common_vendor.sr("screenPopup", "9dfd58d8-1"),
|
|
aw: common_vendor.p({
|
|
type: "top"
|
|
})
|
|
});
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map
|