1.28 更换echarts文件

This commit is contained in:
尚政杰
2026-01-28 14:43:26 +08:00
parent 3c6e5392cc
commit da90511b86
421 changed files with 45838 additions and 570 deletions

View File

@@ -0,0 +1,841 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
listTop: "",
sortListTop: "",
keywords: "",
//搜索关键字
newestPriceDate: "",
//最新价格日期
popType: "",
//日期弹窗类型1交易日期2排行榜开始日期3排行榜结束日期
cycleList: ["3天", "7天", "14天", "自定义"],
//统计周期
selectCycleIndex: 0,
//选中周期下标
startDateStr: "",
//统计开始日期
endDateStr: "",
//统计结束日期
selectStartDateStr: "",
//选择的自定义开始日期
selectStartMonthIndex: 0,
//开始日期选中月份下标
selectStartMonth: "",
//结束日期选中年月
selectEndDateStr: "",
//选择的自定义结束日期
selectEndMonthIndex: 0,
//结束日期选中月份下标
selectEndMonth: "",
//结束日期选中年月
rankTabList: [
{
icon: "/static/icon/home/conceptCenter/increaseRate.png",
selectIcon: "/static/icon/home/conceptCenter/increaseRate_s.png",
title: "涨幅榜"
},
{
icon: "/static/icon/home/conceptCenter/decreaseRate.png",
selectIcon: "/static/icon/home/conceptCenter/decreaseRate_s.png",
title: "跌幅榜"
},
{
icon: "/static/icon/home/conceptCenter/active.png",
selectIcon: "/static/icon/home/conceptCenter/active_s.png",
title: "活跃榜"
},
{
icon: "/static/icon/home/conceptCenter/fluctuate.png",
selectIcon: "/static/icon/home/conceptCenter/fluctuate_s.png",
title: "波动榜"
},
{
icon: "/static/icon/home/conceptCenter/continuousRise.png",
selectIcon: "/static/icon/home/conceptCenter/continuousRise_s.png",
title: "连涨榜"
}
],
selectTab: 0,
rankList: [],
//排行榜
sortTypeList: [
{
icon: "/static/icon/home/conceptCenter/chgSort.png",
name: "涨跌幅",
key: "change_pct"
},
{
icon: "/static/icon/home/conceptCenter/correlationSort.png",
name: "相关度",
key: "_score"
},
{
icon: "/static/icon/home/conceptCenter/stockNumSort.png",
name: "股票数量",
key: "stock_count"
},
{
icon: "/static/icon/home/conceptCenter/conceptNameSort.png",
name: "概念名称",
key: "concept_name"
}
],
sortType: "change_pct",
//选择的排序方式
sortTypeStr: "涨跌幅",
//选择的排序方式
weekList: ["一", "二", "三", "四", "五", "六", "日"],
monthDateList: [],
selectMonthIndex: 0,
//选中月份下标
selectMonth: "",
//选中年月
selectDateStr: "",
//选中日期
selectTradeDateStr: "",
//交易日期选中日期
selectTradeMonthIndex: 0,
//交易日期选中月份下标
selectTradeMonth: "",
//交易日期选中年月
quickTimeList: ["今天", "昨天", "一周前", "一月前"],
conceptList: [],
page: 1,
isRefreshing: false,
//下拉刷新
loadAll: false,
//是否加载完毕
getRateUpOrDown: utils_util.getRateUpOrDown,
getChgRateStr: utils_util.getChgRateStr,
memberInfo: null
//会员信息
};
},
onLoad() {
this.listTop = this.navH + (20 + 70 + 20 + 30 + 20) / 750 * common_vendor.inject("windowWidth");
this.sortListTop = this.navH + (20 + 70 + 20 + 30 + 20) / 750 * common_vendor.inject("windowWidth");
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = this.selectTradeMonthIndex = this.selectEndMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = this.selectTradeMonth = this.selectEndMonth = currentYear + "年" + currentMonth + "月";
this.selectDateStr = this.selectTradeDateStr = this.endDateStr = this.selectEndDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
let startDate = new Date(currentDate);
startDate.setDate(startDate.getDate() - 3);
let startYear = startDate.getFullYear();
let startMonth = startDate.getMonth() + 1;
let startDay = startDate.getDate();
this.selectStartMonthIndex = (20 + currentYear - startYear) * 12 + startMonth - 1;
this.selectStartMonth = startYear + "年" + startMonth + "月";
this.startDateStr = this.selectStartDateStr = startYear + "-" + (startMonth > 9 ? startMonth : "0" + startMonth) + "-" + (startDay > 9 ? startDay : "0" + startDay);
this.generateMonthDateListData();
this.getNewestPriceDateData();
this.getRankListData();
this.getMemberStatusData();
},
methods: {
/**
* 生成日历数据
*/
generateMonthDateListData() {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let monthDateList = [];
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date = new Date(i, j + 1, 0);
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
let currentMonthDay = date.getDate();
let firstDayWeek = firstDayOfMonth.getDay() || 7;
let daysOfMonth = [];
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0);
newDate.setDate(k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date2, year: i, month: newMonth, day: newDay, isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false, isCurrentMonth: true, timestamp: time });
}
for (var k = 0; k < firstDayWeek - 1; k++) {
let year = i;
let month = j;
if (j < 1) {
year = i - 1;
month = 12;
}
let lastMonthDay = new Date(year, month, 0).getDate();
let newDate = new Date(year, month - 1, lastMonthDay - k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.unshift({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
}
let nextMonthFirstDay = new Date(i, j + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
let lastDayWeek = lastDayOfMonth.getDay() || 7;
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i;
let month = j;
if (month > 11) {
month = 0;
year++;
}
let newDate = new Date(year, month + 1, k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
}
monthDateList.push(daysOfMonth);
}
}
this.monthDateList = monthDateList;
},
/**
* 下拉刷新
*/
pullDownRefresh() {
this.isRefreshing = true;
this.clickSearch();
},
/**
* 上拉加载
*/
loadMoreData() {
if (!this.loadAll) {
this.page++;
this.getConceptCenterData();
}
},
/**
* 点击搜索
*/
clickSearch() {
this.page = 1;
this.getConceptCenterData();
},
/**
* 点击排行榜
*/
clickRank() {
this.$refs["rankPopup"].open();
},
/**
* 点击关闭排行榜弹窗
*/
clickRankClose() {
this.$refs["rankPopup"].close();
},
/**
* 点击切换统计周期
*/
clickRankCycleListItem(index) {
if (this.selectCycleIndex != index) {
this.selectCycleIndex = index;
if (index == 3)
;
else {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let selectDate = new Date(currentDate);
if (index == 0) {
selectDate.setDate(selectDate.getDate() - 3);
} else if (index == 1) {
selectDate.setDate(selectDate.getDate() - 7);
} else if (index == 2) {
selectDate.setDate(selectDate.getDate() - 14);
}
let startYear = selectDate.getFullYear();
let startMonth = selectDate.getMonth() + 1;
let startDay = selectDate.getDate();
this.endDateStr = this.selectEndDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
this.startDateStr = this.selectStartdateStr = startYear + "-" + (startMonth > 9 ? startMonth : "0" + startMonth) + "-" + (startDay > 9 ? startDay : "0" + startDay);
this.getRankListData();
}
}
},
/**
* 点击自定义周期日期
* @param {Object} type
*/
clickCustomDateCycle(type) {
this.popType = type;
if (type == 2) {
this.selectDateStr = this.selectStartDateStr;
this.selectMonth = this.selectStartMonth;
this.selectMonthIndex = this.selectStartMonthIndex;
} else {
this.selectDateStr = this.selectEndDateStr;
this.selectMonth = this.selectEndMonth;
this.selectMonthIndex = this.selectEndMonthIndex;
}
this.$refs["transactionDatePopup"].open();
},
/**
* 点击应用最新日期
*/
clickApply() {
let startTimeStamp = new Date(this.selectStartDateStr);
let endTimeStamp = new Date(this.selectEndDateStr);
if (startTimeStamp > endTimeStamp) {
common_vendor.index.showToast({
title: "开始日期不能晚于结束日期",
icon: "none"
});
return;
}
this.startDateStr = this.selectStartDateStr;
this.endDateStr = this.selectEndDateStr;
this.getRankListData();
},
/**
* 点击切换排行榜分类
* @param {Object} index
*/
clickRankTabItem(index) {
if (this.selectTab != index) {
this.selectTab = index;
this.getRankListData();
}
},
/**
* 点击切换排序方式
*/
clickSortType() {
this.$refs["sortTypePopup"].open();
},
/**
* 点击切换排序方式
* @param {Object} item
*/
clickSortListItem(item) {
this.sortType = item.key;
this.sortTypeStr = item.name;
this.clickSearch();
this.$refs["sortTypePopup"].close();
},
/**
* 点击交易日期
*/
clickTransactionDate() {
this.popType = 1;
this.selectDateStr = this.selectTradeDateStr;
this.selectMonth = this.selectTradeMonth;
this.selectMonthIndex = this.selectTradeMonthIndex;
this.$refs["transactionDatePopup"].open();
},
/**
* 点击取消
*/
clickCancel() {
this.$refs["transactionDatePopup"].close();
},
/**
* 点击确认
*/
clickConfirm() {
this.clickCancel();
if (this.popType == 1) {
this.selectTradeDateStr = this.selectDateStr;
this.selectTradeMonth = this.selectMonth;
this.selectTradeMonthIndex = this.selectMonthIndex;
this.getConceptCenterData();
} else if (this.popType == 2) {
this.selectStartDateStr = this.selectDateStr;
this.selectStartMonth = this.selectMonth;
this.selectStartMonthIndex = this.selectMonthIndex;
} else {
this.selectEndDateStr = this.selectDateStr;
this.selectEndMonth = this.selectMonth;
this.selectEndMonthIndex = this.selectMonthIndex;
}
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
this.selectMonth = year + "年" + month + "月";
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.monthDateList.length - 1) {
this.selectMonthIndex++;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
this.selectMonth = year + "年" + month + "月";
}
},
monthChange(e) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let yearMonth = e.detail.value;
let selectYear = parseInt(yearMonth.split("-")[0]);
let selectMonth = parseInt(yearMonth.split("-")[1]);
this.selectMonthIndex = (selectYear - (currentYear - 20)) * 12 + selectMonth - 1;
this.selectMonth = selectYear + "年" + selectMonth + "月";
},
/**
* 点击选择交易日期
* @param {Object} item
*/
clickSelectDate(item) {
if (this.selectDateStr != item.date) {
this.selectDateStr = item.date;
}
},
/**
* 点击快捷时间选择
*/
clickQuickTimeItem(index) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
if (index == 0) {
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "年" + currentMonth + "月";
this.selectDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
} else if (index == 1) {
let yesterday = new Date(currentDate);
yesterday.setDate(yesterday.getDate() - 1);
let yesterdayYear = yesterday.getFullYear();
let yesterdayMonth = yesterday.getMonth() + 1;
let yesterdayDay = yesterday.getDate();
this.selectMonthIndex = (20 - (currentYear - yesterdayYear)) * 12 + yesterdayMonth - 1;
this.selectMonth = yesterdayYear + "年" + yesterdayMonth + "月";
this.selectDateStr = yesterdayYear + "-" + (yesterdayMonth > 9 ? yesterdayMonth : "0" + yesterdayMonth) + "-" + (yesterdayDay > 9 ? yesterdayDay : "0" + yesterdayDay);
} else if (index == 2) {
let weekAgo = new Date(currentDate);
weekAgo.setDate(weekAgo.getDate() - 7);
let weekAgoYear = weekAgo.getFullYear();
let weekAgoMonth = weekAgo.getMonth() + 1;
let weekAgoDay = weekAgo.getDate();
this.selectMonthIndex = (20 - (currentYear - weekAgoYear)) * 12 + weekAgoMonth - 1;
this.selectMonth = weekAgoYear + "年" + weekAgoMonth + "月";
this.selectDateStr = weekAgoYear + "-" + (weekAgoMonth > 9 ? weekAgoMonth : "0" + weekAgoMonth) + "-" + (weekAgoDay > 9 ? weekAgoDay : "0" + weekAgoDay);
} else {
let monthAgo = new Date(currentDate);
monthAgo.setDate(monthAgo.getDate() - 30);
let monthAgoYear = monthAgo.getFullYear();
let monthAgoMonth = monthAgo.getMonth() + 1;
let monthAgoDay = monthAgo.getDate();
this.selectMonthIndex = (20 - (currentYear - monthAgoYear)) * 12 + monthAgoMonth - 1;
this.selectMonth = monthAgoYear + "年" + monthAgoMonth + "月";
this.selectDateStr = monthAgoYear + "-" + (monthAgoMonth > 9 ? monthAgoMonth : "0" + monthAgoMonth) + "-" + (monthAgoDay > 9 ? monthAgoDay : "0" + monthAgoDay);
}
},
/**
* 非vip点击
*/
clickNotVip() {
this.$refs["vipPopup"].open();
},
/**
* 点击稍后再说
*/
clickLater() {
this.$refs["vipPopup"].close();
},
/**
* 点击立即升级
*/
clickUpgradeAtOnce() {
this.clickLater();
},
/**
* 点击查看相关概念
*/
clickConceptItem(name) {
let md5 = common_vendor.CryptoJS.MD5(name).toString();
common_vendor.index.navigateTo({
url: "/pages/index/conceptDetails/conceptDetails?name=" + md5
});
},
/**
* 点击查看更多个股
*/
clickStockMore(item) {
common_vendor.index.navigateTo({
url: "/pages/concept/hotStock/hotStock?id=" + item.concept_id
});
},
/**
* 点击查看历史时间轴
*/
clickHistoricalTimeline(item) {
common_vendor.index.navigateTo({
url: "/pages/concept/historicalTimeline/historicalTimeline?id=" + item.concept_id
});
},
/**
* 获取概念中心数据
*/
getConceptCenterData() {
let dateStr = this.selectDateStr;
let selectDateTimestamp = new Date(this.selectDateStr).getTime();
let newestTimeStamp = new Date(this.newestPriceDate).getTime();
if (selectDateTimestamp > newestTimeStamp) {
dateStr = this.newestPriceDate;
}
let param = { query: this.keywords, size: 10, page: this.page, sort_by: this.sortType, isJson: 1, trade_date: dateStr };
request_api.eventRelatedConcept(param).then((res) => {
this.isRefreshing = false;
if (res.page == 1) {
this.conceptList = res.results;
} else {
this.conceptList = this.conceptList.concat(res.results);
}
if (res.page == res.total_pages) {
this.loadAll = true;
}
}).catch((error) => {
this.isRefreshing = false;
});
},
/**
* 获取最新价格数据
*/
getNewestPriceDateData() {
request_api.newestPriceDate().then((res) => {
this.newestPriceDate = res.latest_trade_date;
this.getConceptCenterData();
}).catch((error) => {
});
},
/**
* 获取会员状态
*/
getMemberStatusData() {
let token = common_vendor.index.getStorageSync("token");
if (!token) {
return;
}
request_api.membershipStatus().then((res) => {
if (res.code == 200) {
this.memberInfo = res.data;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 获取排行榜数据
*/
getRankListData() {
var params = {};
if (this.selectCycleIndex == 3) {
params.start_date = this.startDateStr;
params.end_date = this.endDateStr;
} else {
params.days = 3;
if (this.selectCycleIndex == 1) {
params.days = 7;
} else if (this.selectCycleIndex == 2) {
params.days = 14;
}
params.min_stock_count = 3;
}
request_api.conceptRankList(params).then((res) => {
if (this.selectTab == 0) {
this.rankList = res.data.hot_concepts;
} else if (this.selectTab == 1) {
this.rankList = res.data.cold_concepts;
} else if (this.selectTab == 2) {
this.rankList = res.data.active_concepts;
} else if (this.selectTab == 3) {
this.rankList = res.data.volatile_concepts;
} else {
this.rankList = res.data.momentum_concepts;
}
}).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_vendor.p({
leftText: "概念中心",
hideNavBg: true,
hideBack: true
}),
b: common_assets._imports_0,
c: common_assets._imports_1,
d: common_vendor.o(($event) => $options.clickSearch()),
e: $data.keywords,
f: common_vendor.o(($event) => $data.keywords = $event.detail.value),
g: common_vendor.o(($event) => $options.clickRank()),
h: common_vendor.t($data.newestPriceDate),
i: common_assets._imports_2$3,
j: common_vendor.t($data.sortTypeStr),
k: common_assets._imports_3,
l: common_vendor.o(($event) => $options.clickSortType()),
m: common_assets._imports_4$2,
n: common_assets._imports_3,
o: common_vendor.o(($event) => $options.clickTransactionDate()),
p: common_vendor.s("top: " + $data.navH + "px;"),
q: common_vendor.f($data.conceptList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.concept),
b: common_vendor.o(($event) => $options.clickConceptItem(item.concept), index),
c: item.price_info
}, item.price_info ? {
d: common_vendor.t($data.getChgRateStr(item.price_info.avg_change_pct)),
e: common_vendor.n("chg " + ($data.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
f: item.price_info
}, item.price_info ? {
g: common_vendor.t(item.stock_count),
h: common_vendor.n("stockNum " + ($data.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
i: common_vendor.t(item.description),
j: common_vendor.o(($event) => $options.clickConceptItem(item.concept), index),
k: common_vendor.f(item.stocks.slice(0, 3), (sitem, sindex, i1) => {
return {
a: common_vendor.t(sitem.name),
b: sindex
};
}),
l: common_vendor.t(item.stock_count - 3),
m: common_vendor.o(($event) => $options.clickStockMore(item), index),
n: common_vendor.t(item.price_info ? item.price_info.trade_date : ""),
o: common_vendor.o(($event) => $options.clickHistoricalTimeline(item), index),
p: index
});
}),
r: common_assets._imports_1$3,
s: common_vendor.s("top: " + $data.listTop + "px;"),
t: $data.isRefreshing,
v: common_vendor.o(($event) => $options.pullDownRefresh()),
w: common_vendor.o(($event) => $options.loadMoreData()),
x: common_assets._imports_9$1,
y: common_vendor.o(($event) => $options.clickRankClose()),
z: common_assets._imports_7$1,
A: common_vendor.t($data.startDateStr),
B: common_vendor.t($data.endDateStr),
C: common_vendor.f($data.cycleList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectCycleIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickRankCycleListItem(index), index)
};
}),
D: $data.selectCycleIndex == 3
}, $data.selectCycleIndex == 3 ? {
E: common_vendor.t($data.selectStartDateStr),
F: common_vendor.o(($event) => $options.clickCustomDateCycle(2)),
G: common_vendor.t($data.selectEndDateStr),
H: common_vendor.o(($event) => $options.clickCustomDateCycle(3)),
I: common_vendor.o(($event) => $options.clickApply())
} : {}, {
J: common_vendor.f($data.rankTabList, (item, index, i0) => {
return common_vendor.e({
a: $data.selectTab == index
}, $data.selectTab == index ? {
b: item.selectIcon
} : {
c: item.icon
}, {
d: common_vendor.t(item.title),
e: common_vendor.n("item flex1 flexCenter " + ($data.selectTab == index ? "select" : "")),
f: index,
g: common_vendor.o(($event) => $options.clickRankTabItem(index), index)
});
}),
K: common_vendor.f($data.rankList, (item, index, i0) => {
return common_vendor.e({
a: index == 0
}, index == 0 ? {
b: common_assets._imports_8
} : {}, {
c: index == 1
}, index == 1 ? {
d: common_assets._imports_9$2
} : {}, {
e: index == 2
}, index == 2 ? {
f: common_assets._imports_10$1
} : {}, {
g: index > 2
}, index > 2 ? {
h: common_vendor.t(index + 1)
} : {}, {
i: common_vendor.t(item.name),
j: common_vendor.o(($event) => $options.clickConceptItem(item.name), index)
}, $data.selectTab == 3 || $data.selectTab == 4 ? common_vendor.e({
k: $data.selectTab == 3
}, $data.selectTab == 3 ? {
l: common_vendor.t(item.avg_change)
} : {}, {
m: $data.selectTab == 4
}, $data.selectTab == 4 ? {
n: common_vendor.t(item.total_change)
} : {}) : common_vendor.e({
o: $data.selectTab == 0 || $data.selectTab == 1
}, $data.selectTab == 0 || $data.selectTab == 1 ? {
p: common_assets._imports_11$2,
q: common_vendor.t(item.news_count)
} : {}, {
r: common_assets._imports_12$2,
s: common_vendor.t(item.news_count),
t: $data.selectTab == 2
}, $data.selectTab == 2 ? {
v: common_assets._imports_13$1,
w: common_vendor.t(item.report_count)
} : {}), $data.selectTab == 0 ? {
x: common_vendor.t(item.change_pct)
} : {}, $data.selectTab == 1 ? {
y: common_vendor.t(item.change_pct)
} : {}, $data.selectTab == 2 ? {
z: common_vendor.t(item.total_mentions)
} : {}, $data.selectTab == 3 ? {
A: common_vendor.t(item.volatility)
} : {}, $data.selectTab == 4 ? {
B: common_vendor.t(item.consecutive_days)
} : {}, {
C: index
});
}),
L: $data.selectTab == 3 || $data.selectTab == 4,
M: common_vendor.n("icon " + ($data.selectTab == 4 ? "continuousRise" : "")),
N: $data.rankTabList[$data.selectTab].selectIcon,
O: $data.selectTab == 0,
P: $data.selectTab == 1,
Q: $data.selectTab == 2,
R: $data.selectTab == 3,
S: $data.selectTab == 4,
T: common_vendor.sr("rankPopup", "634c6a80-1"),
U: common_vendor.p({
type: "bottom",
safeArea: false
}),
V: common_assets._imports_12$1,
W: common_vendor.f($data.sortTypeList, (item, index, i0) => {
return {
a: item.icon,
b: common_vendor.t(item.name),
c: index,
d: common_vendor.o(($event) => $options.clickSortListItem(item), index)
};
}),
X: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
Y: common_vendor.sr("sortTypePopup", "634c6a80-2"),
Z: common_vendor.p({
type: "top",
["mask-background-color"]: "transparent",
animation: false
}),
aa: common_vendor.o(($event) => $options.clickCancel()),
ab: common_vendor.o(($event) => $options.clickConfirm()),
ac: common_assets._imports_0$1,
ad: common_vendor.o(($event) => $options.clickPreMonth()),
ae: common_vendor.t($data.selectMonth),
af: common_vendor.o(() => {
}),
ag: common_assets._imports_1$2,
ah: common_vendor.o(($event) => $options.clickNextMonth()),
ai: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
aj: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.date == $data.selectDateStr
}, item.date == $data.selectDateStr ? {
b: common_vendor.t(item.day)
} : common_vendor.e({
c: !item.isCurrentMonth
}, !item.isCurrentMonth ? {
d: common_vendor.t(item.day)
} : {
e: common_vendor.t(item.day)
}), {
f: index,
g: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
}),
ak: common_vendor.f($data.quickTimeList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index,
c: common_vendor.o(($event) => $options.clickQuickTimeItem(index), index)
};
}),
al: common_vendor.sr("transactionDatePopup", "634c6a80-3"),
am: common_vendor.p({
type: "bottom",
safeArea: false
}),
an: common_assets._imports_13,
ao: common_assets._imports_14,
ap: common_assets._imports_15,
aq: common_assets._imports_15,
ar: common_assets._imports_16,
as: common_assets._imports_16,
at: common_assets._imports_16,
av: common_vendor.o(($event) => $options.clickLater()),
aw: common_vendor.o(($event) => $options.clickUpgradeAtOnce()),
ax: common_vendor.sr("vipPopup", "634c6a80-4"),
ay: common_vendor.p({
type: "center"
})
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/concept/concept.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,611 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.topC {
margin-top: 20rpx;
left: 0;
right: 0;
}
.topC .searchRankC {
padding: 0 25rpx;
}
.topC .searchRankC .searchC {
background-color: #292929B3;
padding: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
border: solid 1rpx #363636;
}
.topC .searchRankC .searchC .icon {
margin-right: 12rpx;
width: 25rpx;
height: auto;
}
.topC .searchRankC .searchC input {
font-size: 22rpx;
font-weight: 500;
color: white;
}
.topC .searchRankC .rank {
padding: 0 14rpx;
font-size: 28rpx;
font-weight: 500;
color: #B5B6B6;
}
.topC .dateScreenC {
padding: 20rpx 0 20rpx 27rpx;
font-size: 24rpx;
font-weight: 500;
color: #CCCDD1;
}
.topC .dateScreenC .sortTypeC {
padding: 0 24rpx;
}
.topC .dateScreenC .sortTypeC .icon {
margin-right: 14rpx;
width: 30rpx;
height: auto;
}
.topC .dateScreenC .line {
background-color: #CCCDD1;
width: 1rpx;
height: 25rpx;
}
.topC .dateScreenC .transactionDateC {
padding: 0 17rpx;
}
.topC .dateScreenC .transactionDateC .icon {
margin-right: 10rpx;
width: 23rpx;
height: auto;
}
.topC .dateScreenC .arrow {
margin-left: 7rpx;
width: 11rpx;
height: auto;
}
.conceptList {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
}
.conceptList .list {
padding: 0 25rpx;
}
.conceptList .list .item {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 24rpx;
border-radius: 10rpx;
}
.conceptList .list .item .titleChgStockNumC {
padding: 24rpx 18rpx 0;
}
.conceptList .list .item .titleChgStockNumC .title {
margin-right: 20rpx;
font-size: 30rpx;
font-weight: bold;
color: #3D3D3D;
word-break: break-all;
}
.conceptList .list .item .titleChgStockNumC .chg {
margin-right: 20rpx;
padding: 0 13rpx;
line-height: 40rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.conceptList .list .item .titleChgStockNumC .chg.up {
background-color: #EC3440;
}
.conceptList .list .item .titleChgStockNumC .chg.down {
background-color: #355422;
}
.conceptList .list .item .titleChgStockNumC .stockNum {
flex-shrink: 0;
padding: 0 16rpx;
line-height: 36rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
}
.conceptList .list .item .titleChgStockNumC .stockNum.up {
color: #EC3440;
border: solid 2rpx #EC3440;
}
.conceptList .list .item .titleChgStockNumC .stockNum.down {
color: #355422;
border: solid 2rpx #355422;
}
.conceptList .list .item .content {
margin-top: 26rpx;
padding: 0 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.conceptList .list .item .hotStockC {
margin-top: 30rpx;
padding: 0 20rpx;
}
.conceptList .list .item .hotStockC .title {
margin-right: 10rpx;
font-size: 24rpx;
font-weight: bold;
color: #936E5C;
}
.conceptList .list .item .hotStockC .stockList {
font-size: 22rpx;
}
.conceptList .list .item .hotStockC .stockList .stockItem {
background-color: #3D3D3D;
margin-right: 10rpx;
padding: 0 8rpx;
line-height: 36rpx;
border-radius: 5rpx 20rpx 5rpx 20rpx;
color: #EFDDD1;
}
.conceptList .list .item .hotStockC .stockList .more {
color: #936E5C;
line-height: 36rpx;
}
.conceptList .list .item .hotStockC .notVipC {
background-color: #3D3D3D;
padding: 0 21rpx 0 16rpx;
line-height: 36rpx;
border-radius: 5rpx;
font-size: 22rpx;
color: #F3C368;
}
.conceptList .list .item .hotStockC .notVipC .icon {
margin-right: 9rpx;
width: 15rpx;
height: auto;
}
.conceptList .list .item .transactionDateHistoryTimeC {
padding: 20rpx 22rpx 30rpx;
}
.conceptList .list .item .transactionDateHistoryTimeC .transactionDate {
font-size: 20rpx;
font-weight: 500;
color: #666;
}
.conceptList .list .item .transactionDateHistoryTimeC .historyTimeC {
background-color: #F3C368;
padding: 0 10rpx 0 15rpx;
line-height: 36rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #101213;
}
.conceptList .list .item .transactionDateHistoryTimeC .historyTimeC .icon {
margin-right: 7rpx;
width: 20rpx;
height: auto;
}
.rankPopup {
background-color: white;
padding-bottom: env(safe-area-inset-bottom);
border-radius: 20rpx 20rpx 0 0;
}
.rankPopup .popTitle {
padding-top: 30rpx;
font-size: 36rpx;
font-weight: bold;
color: #333;
text-align: center;
}
.rankPopup .closeC {
padding: 26rpx;
top: 0;
right: 0;
}
.rankPopup .closeC .icon {
width: 20rpx;
height: auto;
}
.rankPopup .statisticsC {
background: linear-gradient(-30deg, #F3C368 0%, #FAD590 100%);
margin: 20rpx 25rpx 0;
padding: 24rpx 30rpx;
border-radius: 10rpx;
}
.rankPopup .statisticsC .titleRangeC .icon {
margin-right: 21rpx;
width: 80rpx;
height: auto;
}
.rankPopup .statisticsC .titleRangeC .title {
font-size: 30rpx;
font-weight: bold;
}
.rankPopup .statisticsC .titleRangeC .range {
font-size: 22rpx;
font-weight: 500;
color: #232323;
}
.rankPopup .statisticsC .cycleC {
margin-top: 20rpx;
}
.rankPopup .statisticsC .cycleC .title {
font-size: 24rpx;
font-weight: bold;
}
.rankPopup .statisticsC .cycleC .list .item {
background-color: #ffffff4D;
margin-right: 15rpx;
padding: 0 15rpx;
line-height: 50rpx;
border-radius: 5rpx;
font-size: 24rpx;
font-weight: 500;
}
.rankPopup .statisticsC .cycleC .list .item.select {
background-color: #ffffff99;
}
.rankPopup .statisticsC .rangeC {
margin-top: 10rpx;
font-size: 26rpx;
}
.rankPopup .statisticsC .rangeC .startDateC {
padding: 0 10rpx;
border: solid 2rpx white;
border-radius: 10rpx;
}
.rankPopup .statisticsC .rangeC .and {
margin: 0 10rpx;
}
.rankPopup .statisticsC .rangeC .endDateC {
padding: 0 10rpx;
border: solid 2rpx white;
border-radius: 10rpx;
}
.rankPopup .statisticsC .rangeC .apply {
padding: 0 10rpx;
}
.rankPopup .tabC {
background-color: #FFF3DD;
margin: 20rpx 25rpx 0;
border-radius: 10rpx 10rpx 0 0;
}
.rankPopup .tabC .item {
height: 60rpx;
font-size: 24rpx;
font-weight: bold;
color: #070707;
}
.rankPopup .tabC .item .icon {
margin-right: 7rpx;
width: 11rpx;
height: auto;
}
.rankPopup .tabC .item.select {
background-color: #FF7722;
color: white;
}
.rankPopup .tabC .item:last-child .icon {
width: 15rpx;
height: auto;
}
.rankPopup .rankList {
margin-top: 22rpx;
padding: 0 25rpx;
max-height: 500rpx;
overflow-y: scroll;
}
.rankPopup .rankList .item {
margin-bottom: 20rpx;
padding: 20rpx 22rpx;
border-radius: 10rpx;
border: solid 1rpx #FCE2B2;
}
.rankPopup .rankList .item .rankIcon {
margin-right: 34rpx;
width: 35rpx;
height: auto;
}
.rankPopup .rankList .item .rankIndex {
background-color: #898989;
margin-right: 34rpx;
width: 36rpx;
line-height: 41rpx;
-webkit-clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
font-size: 24rpx;
color: #F7FAFC;
text-align: center;
}
.rankPopup .rankList .item .title {
font-size: 26rpx;
font-weight: bold;
color: #3D3D3D;
}
.rankPopup .rankList .item .calendarBrowseC {
font-size: 24rpx;
font-weight: 500;
color: #936E5C;
}
.rankPopup .rankList .item .calendarBrowseC .chgC {
margin-right: 30rpx;
}
.rankPopup .rankList .item .calendarBrowseC .chgC .icon {
margin-right: 6rpx;
width: 15rpx;
height: auto;
}
.rankPopup .rankList .item .calendarBrowseC .calendarC {
margin-right: 30rpx;
}
.rankPopup .rankList .item .calendarBrowseC .calendarC .icon {
margin-right: 6rpx;
width: 16rpx;
height: auto;
}
.rankPopup .rankList .item .calendarBrowseC .browseC .icon {
margin-right: 6rpx;
width: 17rpx;
height: auto;
}
.rankPopup .rankList .item .valueC {
background-color: #FF7722;
padding: 0 24rpx;
height: 40rpx;
border-radius: 5rpx;
font-size: 24rpx;
font-weight: 500;
color: white;
}
.rankPopup .rankList .item .valueC .icon {
margin-right: 6rpx;
width: 11rpx;
height: auto;
}
.rankPopup .rankList .item .valueC .icon.continuousRise {
width: 15rpx;
height: auto;
}
.sortTypePopup {
background-color: white;
margin-left: calc(100% - (170rpx + 120rpx));
width: 170rpx;
box-shadow: 0 5rpx 10px 0 rgba(7, 7, 7, 0.15);
border-radius: 10rpx;
}
.sortTypePopup .arrow {
top: -13rpx;
left: 38rpx;
width: 26rpx;
height: auto;
}
.sortTypePopup .list .item {
padding: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #444;
}
.sortTypePopup .list .item .icon {
margin-right: 11rpx;
width: 20rpx;
height: 20rpx;
}
.transactionDatePopup {
background-color: white;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
border-radius: 20rpx 20rpx 0 0;
}
.transactionDatePopup .btnTitleC .btn {
padding: 20rpx 26rpx;
font-size: 28rpx;
font-weight: 500;
}
.transactionDatePopup .btnTitleC .btn.cancel {
color: #727A8E;
}
.transactionDatePopup .btnTitleC .btn.confirm {
color: #D79412;
}
.transactionDatePopup .btnTitleC .title {
font-size: 36rpx;
font-weight: bold;
text-align: center;
}
.transactionDatePopup .yearMonthC {
background-color: #F7F7F7;
margin: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
}
.transactionDatePopup .yearMonthC .btn {
padding: 0 52rpx;
}
.transactionDatePopup .yearMonthC .btn .icon {
width: 13rpx;
height: auto;
}
.transactionDatePopup .yearMonthC .yearMonth {
font-size: 32rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
.transactionDatePopup .weekList {
padding: 0 38rpx;
}
.transactionDatePopup .weekList .item {
margin-right: 13rpx;
line-height: 72rpx;
font-size: 26rpx;
font-weight: 500;
color: #A7A7A7;
text-align: center;
}
.transactionDatePopup .monthDateList {
padding: 0 38rpx;
}
.transactionDatePopup .monthDateList .item {
margin-bottom: 12rpx;
width: calc(100%/7);
}
.transactionDatePopup .monthDateList .item .date {
background-color: #f8f8f8;
width: calc(100% - 10rpx);
line-height: 64rpx;
border-radius: 15rpx;
font-size: 24rpx;
font-weight: bold;
color: #2A2A2A;
text-align: center;
}
.transactionDatePopup .monthDateList .item .date.select {
background-color: #F2C367;
color: white;
}
.transactionDatePopup .monthDateList .item .date.notCurrentMonth {
background-color: #FCFCFC;
color: #999;
}
.transactionDatePopup .quickTimeC {
margin-top: 16rpx;
}
.transactionDatePopup .quickTimeC .item {
margin-right: 25rpx;
width: 120rpx;
line-height: 56rpx;
border-radius: 30rpx;
border: solid 2rpx #4E4E4E;
font-size: 24rpx;
font-weight: 500;
color: #4E4E4E;
text-align: center;
}
.transactionDatePopup .quickTimeC .item:last-child {
margin-right: 0;
}
.vipPopup {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 95rpx;
padding-bottom: 34rpx;
width: 560rpx;
border-radius: 10rpx;
}
.vipPopup .topIcon {
margin: -60rpx 0 0 calc((100% - 143rpx)/2);
width: 143rpx;
height: auto;
}
.vipPopup .popTitle {
margin-top: 28rpx;
font-size: 40rpx;
font-weight: bold;
color: #101213;
text-align: center;
}
.vipPopup .popSubtitle {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #493F2B;
text-align: center;
}
.vipPopup .moduleC {
background-color: white;
margin: 0 30rpx 20rpx;
padding-top: 25rpx;
border-radius: 10rpx;
}
.vipPopup .moduleC .section {
padding: 0 25rpx;
font-size: 26rpx;
font-weight: bold;
color: #333;
}
.vipPopup .moduleC .section .version {
margin-left: 18rpx;
padding: 0 15rpx;
line-height: 32rpx;
border-radius: 10rpx;
font-size: 22rpx;
}
.vipPopup .moduleC .section .version.free {
background-color: #3D3D3D;
color: #FEFCFB;
}
.vipPopup .moduleC .section .version.pro {
background-color: #F2C367;
color: #3D3D3D;
}
.vipPopup .moduleC .visitC {
margin: 18rpx 24rpx 0;
height: 60rpx;
}
.vipPopup .moduleC .visitC .line {
background-color: #F2C367;
top: 0;
left: 0;
width: 44rpx;
height: 100%;
border-radius: 7rpx 0 0 7rpx;
}
.vipPopup .moduleC .visitC .contentC {
background-color: #F7F7F7;
margin-left: 6rpx;
padding: 0 15rpx;
height: 100%;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: 500;
color: #3D3D3D;
}
.vipPopup .moduleC .visitC .contentC .icon {
margin-right: 14rpx;
width: 25rpx;
height: auto;
}
.vipPopup .moduleC .list {
padding-bottom: 10rpx;
}
.vipPopup .moduleC .list .item {
padding: 10rpx 25rpx;
font-size: 24rpx;
font-weight: 500;
color: #333;
}
.vipPopup .moduleC .list .item .icon {
margin-right: 13rpx;
width: 27rpx;
height: auto;
}
.vipPopup .moduleC.visit {
margin-top: 20rpx;
padding-bottom: 25rpx;
}
.vipPopup .btnC {
margin: 28rpx 92rpx 0;
}
.vipPopup .btnC .btn {
line-height: 60rpx;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: bold;
text-align: center;
}
.vipPopup .btnC .btn.later {
background-color: #EDEDED;
margin-right: 56rpx;
}
.vipPopup .btnC .btn.upgrade {
background-color: #F2C367;
}

View File

@@ -0,0 +1,402 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
conceptId: "",
//概念id
conceptName: "",
weekList: ["一", "二", "三", "四", "五", "六", "日"],
monthDateList: [],
selectMonthIndex: 0,
//选中月份下标
selectMonth: "",
//选中年月
selectDateStr: "",
//选中日期
startDateStr: "",
//开始日期
endDateStr: "",
//结束日期
chgStockData: null,
//涨跌幅和股票数据
newsList: [],
//新闻数据
reportList: [],
//研报数据
selectNewsOrReport: 0,
//0新闻1研报
getRateUpOrDown: utils_util.getRateUpOrDown,
getChgRateStr: utils_util.getChgRateStr
};
},
onLoad(e) {
this.contentTop = this.navH + 64 / 750 * common_vendor.inject("windowWidth");
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "年" + currentMonth + "月";
this.startDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-01";
this.endDateStr = this.selectDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
this.generateMonthDateListData();
if (e.id) {
this.conceptId = e.id;
this.getTimelineData();
}
},
methods: {
getContent(item) {
if (utils_util.isValidJSON(item.content)) {
return JSON.parse(item.content).content;
} else {
return item.content;
}
},
/**
* 获取当前时间前一天的数据
*/
getYesterdayDateData() {
let currentDate = /* @__PURE__ */ new Date();
let selectDate = new Date(currentDate);
selectDate.setDate(selectDate.getDate() - 1);
let selectYear = selectDate.getFullYear();
let selectMonth = selectDate.getMonth() + 1;
let selectDay = selectDate.getDate();
this.selectDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-" + (selectDay > 9 ? selectDay : "0" + selectDay);
},
/**
* 生成日期数组
*/
generateMonthDateListData() {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let monthDateList = [];
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date = new Date(i, j + 1, 0);
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
let currentMonthDay = date.getDate();
let firstDayWeek = firstDayOfMonth.getDay() || 7;
let daysOfMonth = [];
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0);
newDate.setDate(k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date2, year: i, month: newMonth, day: newDay, isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false, isCurrentMonth: true, isLastDay: newDay == currentMonthDay ? true : false, timestamp: time });
}
for (var k = 0; k < firstDayWeek - 1; k++) {
let year = i;
let month = j;
if (j < 1) {
year = i - 1;
month = 12;
}
let lastMonthDay = new Date(year, month, 0).getDate();
let newDate = new Date(year, month - 1, lastMonthDay - k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.unshift({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, isLastDay: false, timestamp: time });
}
let nextMonthFirstDay = new Date(i, j + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
let lastDayWeek = lastDayOfMonth.getDay() || 7;
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i;
let month = j;
if (month > 11) {
month = 0;
year++;
}
let newDate = new Date(year, month + 1, k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, isLastDay: false, timestamp: time });
}
monthDateList.push(daysOfMonth);
}
}
this.monthDateList = monthDateList;
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
let lastDay = "";
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day;
break;
}
}
this.selectMonth = year + "年" + month + "月";
this.startDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-01";
this.endDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + lastDay;
this.getTimelineData();
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.monthDateList.length - 1) {
this.selectMonthIndex++;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
let lastDay = "";
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day;
break;
}
}
this.selectMonth = year + "年" + month + "月";
this.startDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-01";
this.endDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + lastDay;
this.getTimelineData();
}
},
monthChange(e) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let yearMonth = e.detail.value;
let selectYear = parseInt(yearMonth.split("-")[0]);
let selectMonth = parseInt(yearMonth.split("-")[1]);
this.selectMonthIndex = (selectYear - (currentYear - 20)) * 12 + selectMonth - 1;
this.selectMonth = selectYear + "年" + selectMonth + "月";
this.startDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-01";
let lastDayOfMonth = new Date(selectYear, selectMonth, 0);
this.endDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-" + lastDayOfMonth.getDate();
this.getTimelineData();
},
/**
* 点击选择开始日期和结束日期
* @param {Object} item
*/
clickSelectDate(item) {
if (this.selectDateStr != item.date) {
this.selectDateStr = item.date;
this.chgStockData = item;
this.getNewsData();
this.getReportData();
}
},
/**
* 点击切换新闻或研报
* @param {Object} index
*/
clickNewsOrReportItem(index) {
common_vendor.index.__f__("log", "at pages/concept/historicalTimeline/historicalTimeline.vue:332", this.selectNewsOrReport, index);
if (this.selectNewsOrReport != index) {
this.selectNewsOrReport = index;
}
},
/**
* 点击查看新闻详情
* @param {Object} item
*/
clickNewsItem(item) {
common_vendor.index.navigateTo({
url: "/pages/concept/newsDetails/newsDetails?info=" + encodeURIComponent(JSON.stringify(item))
});
},
/**
* 点击查看研报详情
* @param {Object} item
*/
clickReportItem(item) {
common_vendor.index.__f__("log", "at pages/concept/historicalTimeline/historicalTimeline.vue:351", item);
common_vendor.index.navigateTo({
url: "/pages/concept/reportDetails/reportDetails?info=" + encodeURIComponent(JSON.stringify(item))
});
},
/**
* 获取时间序列数据
*/
getTimelineData() {
let param = { start_date: this.startDateStr, end_date: this.endDateStr };
request_api.priceTimeline(this.conceptId, param).then((res) => {
if (res.timeseries) {
this.conceptName = res.concept_name;
let timeseries = res.timeseries;
let monthList = this.monthDateList[this.selectMonthIndex];
for (let item of monthList) {
for (let item1 of timeseries) {
if (item.date == item1.trade_date) {
item.avg_change_pct = item1.avg_change_pct;
item.stock_count = item1.stock_count;
if (item.date == this.selectDateStr) {
this.chgStockData = item;
}
}
}
}
this.getNewsData();
this.getReportData();
}
}).catch((error) => {
});
},
/**
* 获取新闻数据
*/
getNewsData() {
let param = { query: this.conceptName, end_date: this.selectDateStr, exact_match: 1, top_k: 100 };
request_api.conceptNews(param).then((res) => {
this.newsList = res;
}).catch((error) => {
});
},
/**
* 获取时间序列数据
*/
getReportData() {
let param = { query: this.conceptName, start_date: this.selectDateStr, mode: "text", exact_match: 1 };
request_api.conceptReport(param).then((res) => {
for (let item of res.data.results) {
item.content = item.content.replace(/'/g, '"');
}
this.reportList = res.data.results;
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "历史时间轴",
hideNavBg: true
}),
b: common_assets._imports_0,
c: common_vendor.t($data.conceptName),
d: common_vendor.s("top: " + $data.navH + "px;"),
e: common_assets._imports_0$1,
f: common_vendor.o(($event) => $options.clickPreMonth()),
g: common_vendor.t($data.selectMonth),
h: common_vendor.o((...args) => $options.monthChange && $options.monthChange(...args)),
i: common_assets._imports_1$2,
j: common_vendor.o(($event) => $options.clickNextMonth()),
k: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
l: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.date == $data.selectDateStr
}, item.date == $data.selectDateStr ? common_vendor.e({
b: common_vendor.t(item.day),
c: item.avg_change_pct
}, item.avg_change_pct ? {
d: common_vendor.t($data.getChgRateStr(item.avg_change_pct))
} : {}, {
e: common_vendor.n("date select " + (item.avg_change_pct ? $data.getRateUpOrDown(item.avg_change_pct) ? "down" : "up" : ""))
}) : common_vendor.e({
f: !item.isCurrentMonth
}, !item.isCurrentMonth ? {
g: common_vendor.t(item.day)
} : common_vendor.e({
h: common_vendor.t(item.day),
i: item.avg_change_pct
}, item.avg_change_pct ? {
j: common_vendor.t($data.getChgRateStr(item.avg_change_pct)),
k: common_vendor.n("chg " + ($data.getRateUpOrDown(item.avg_change_pct) ? "down" : "up"))
} : {}, {
l: common_vendor.n("date " + (item.avg_change_pct ? $data.getRateUpOrDown(item.avg_change_pct) ? "down" : "up" : ""))
})), {
m: index,
n: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
}),
m: common_vendor.t($data.selectDateStr),
n: $data.chgStockData && $data.chgStockData.avg_change_pct
}, $data.chgStockData && $data.chgStockData.avg_change_pct ? common_vendor.e({
o: $data.getRateUpOrDown($data.chgStockData.avg_change_pct)
}, $data.getRateUpOrDown($data.chgStockData.avg_change_pct) ? {
p: common_assets._imports_3$5
} : {
q: common_assets._imports_4$7
}, {
r: common_vendor.t($data.getChgRateStr($data.chgStockData.avg_change_pct)),
s: common_vendor.n("chg " + ($data.getRateUpOrDown($data.chgStockData.avg_change_pct) ? "down" : "up")),
t: common_vendor.t($data.chgStockData.stock_count)
}) : {}, {
v: common_assets._imports_5$2,
w: common_vendor.t($data.newsList.length),
x: common_vendor.n("num " + ($data.selectNewsOrReport == 0 ? "select" : "")),
y: common_vendor.o(($event) => $options.clickNewsOrReportItem(0)),
z: common_vendor.t($data.reportList.length),
A: common_vendor.n("num " + ($data.selectNewsOrReport == 1 ? "select" : "")),
B: common_vendor.o(($event) => $options.clickNewsOrReportItem(1)),
C: $data.selectNewsOrReport == 0
}, $data.selectNewsOrReport == 0 ? {
D: common_vendor.f($data.newsList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.t(item.detail),
c: index,
d: common_vendor.o(($event) => $options.clickNewsItem(item), index)
};
})
} : {
E: common_vendor.f($data.reportList, (item, index, i0) => {
return {
a: common_vendor.t(item.report_title),
b: common_vendor.t($options.getContent(item)),
c: index,
d: common_vendor.o(($event) => $options.clickReportItem(item), index)
};
})
}, {
F: common_vendor.s("top: " + $data.contentTop + "px;")
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/concept/historicalTimeline/historicalTimeline.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="adc20db2-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="timelineTitle fixed" style="{{d}}">{{c}}- 历史时间轴</view><view class="dateStatisticsC fixed" style="{{F}}"><view class="dateC"><view class="yearMonthC flex"><view class="btn" bindtap="{{f}}"><image class="icon" src="{{e}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{h}}">{{g}}</picker></view><view class="btn" bindtap="{{j}}"><image class="icon" src="{{i}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{k}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{l}}" wx:for-item="item" wx:key="m" class="item flexColumnCenter" bindtap="{{item.n}}"><block wx:if="{{item.a}}"><view class="{{item.e}}">{{item.b}} <view wx:if="{{item.c}}" class="chg">{{item.d}}%</view></view></block><block wx:else><block wx:if="{{item.f}}"><view class="date notCurrentMonth">{{item.g}}</view></block><block wx:else><view class="{{item.l}}">{{item.h}} <view wx:if="{{item.i}}" class="{{item.k}}">{{item.j}}%</view></view></block></block></view></view></view><view class="statisticsC"><view class="date">{{m}}统计</view><view wx:if="{{n}}" class="chgStockNumC flex"><view class="chgC flex flex1"><view class="title">涨跌幅</view><image wx:if="{{o}}" class="icon" src="{{p}}" mode="widthFix"></image><image wx:else class="icon" src="{{q}}" mode="widthFix"></image><view class="{{s}}">{{r}}%</view></view><view class="stockNumC flex flex1"><view class="title">统计股票</view><view class="stockNum">{{t}} 只股票</view></view></view><view class="newsReportC flex"><image class="icon" src="{{v}}" mode="widthFix"></image><text class="{{x}}" bindtap="{{y}}">{{w}} 条新闻 · </text><text class="{{A}}" decode bindtap="{{B}}"> {{z}} 份研报</text></view><view class="list"><block wx:if="{{C}}"><view wx:for="{{D}}" wx:for-item="item" wx:key="c" class="item" bindtap="{{item.d}}"><view class="flex"><view class="type news">新闻</view><view class="title flex1">{{item.a}}</view></view><view class="content">{{item.b}}</view></view></block><block wx:else><view wx:for="{{E}}" wx:for-item="item" wx:key="c" class="item" bindtap="{{item.d}}"><view class="flex"><view class="type report">研报</view><view class="title flex1">{{item.a}}</view></view><view class="content">{{item.b}}</view></view></block></view></view></view></view>

View File

@@ -0,0 +1,205 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.timelineTitle {
background-color: #FFF9F5;
left: 0;
right: 0;
margin: 0 25rpx;
padding: 30rpx 27rpx 0;
border-radius: 10rpx 10rpx 0 0;
font-size: 28rpx;
font-weight: bold;
color: #2B2B2B;
}
.dateStatisticsC {
background-color: #FFF9F5;
left: 0;
right: 0;
bottom: 86rpx;
margin: 0 25rpx;
padding: 24rpx 25rpx 0;
border-radius: 0 0 10rpx 10rpx;
overflow-y: scroll;
}
.dateStatisticsC .dateC {
background-color: white;
box-shadow: 0 5rpx 10rpx 0 rgba(127, 127, 127, 0.1);
border-radius: 10rpx;
padding: 30rpx 25rpx 0;
}
.dateStatisticsC .dateC .yearMonthC {
background-color: #F7F7F7;
height: 70rpx;
border-radius: 35rpx;
}
.dateStatisticsC .dateC .yearMonthC .btn {
padding: 0 52rpx;
}
.dateStatisticsC .dateC .yearMonthC .btn .icon {
width: 13rpx;
height: auto;
}
.dateStatisticsC .dateC .yearMonthC .yearMonth {
font-size: 32rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
.dateStatisticsC .dateC .weekList .item {
margin-right: 13rpx;
line-height: 72rpx;
font-size: 26rpx;
font-weight: 500;
color: #A7A7A7;
text-align: center;
}
.dateStatisticsC .dateC .monthDateList .item {
margin-bottom: 12rpx;
width: calc(100%/7);
}
.dateStatisticsC .dateC .monthDateList .item .date {
background-color: #f8f8f8;
padding: 4rpx 0;
width: calc(100% - 10rpx);
height: 72rpx;
border-radius: 10rpx;
font-size: 26rpx;
font-weight: bold;
color: #2A2A2A;
text-align: center;
}
.dateStatisticsC .dateC .monthDateList .item .date .chg {
font-size: 18rpx;
}
.dateStatisticsC .dateC .monthDateList .item .date .chg.up {
color: #EC3440;
}
.dateStatisticsC .dateC .monthDateList .item .date .chg.down {
color: #38A169;
}
.dateStatisticsC .dateC .monthDateList .item .date.up {
background-color: #FFD6D9;
}
.dateStatisticsC .dateC .monthDateList .item .date.down {
background-color: #CEF1DE;
}
.dateStatisticsC .dateC .monthDateList .item .date.select.up {
background-color: #EC3440;
color: white;
}
.dateStatisticsC .dateC .monthDateList .item .date.select.up .chg {
color: white;
}
.dateStatisticsC .dateC .monthDateList .item .date.select.down {
background-color: #38A169;
color: white;
}
.dateStatisticsC .dateC .monthDateList .item .date.select.down .chg {
color: white;
}
.dateStatisticsC .dateC .monthDateList .item .date.notCurrentMonth {
background-color: #FCFCFC;
color: #999;
}
.dateStatisticsC .statisticsC {
background-color: white;
margin-top: 20rpx;
padding: 28rpx 20rpx 0;
border-radius: 10rpx;
}
.dateStatisticsC .statisticsC .date {
font-size: 30rpx;
font-weight: 500;
text-align: center;
}
.dateStatisticsC .statisticsC .chgStockNumC {
margin-top: 36rpx;
padding: 0 13rpx 28rpx;
border-bottom: solid 1rpx #EDEDED;
font-size: 26rpx;
}
.dateStatisticsC .statisticsC .chgStockNumC .title {
margin-right: 18rpx;
font-weight: 500;
color: #94979C;
}
.dateStatisticsC .statisticsC .chgStockNumC .chgC .icon {
margin-right: 9rpx;
width: 17rpx;
height: auto;
}
.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg {
font-weight: bold;
}
.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.up {
color: #EC3440;
}
.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.down {
color: #38A169;
}
.dateStatisticsC .statisticsC .chgStockNumC .stockNum {
font-weight: bold;
color: #070707;
}
.dateStatisticsC .statisticsC .newsReportC {
padding-top: 20rpx;
font-size: 28rpx;
font-weight: bold;
}
.dateStatisticsC .statisticsC .newsReportC .icon {
margin-right: 20rpx;
width: 24rpx;
height: auto;
}
.dateStatisticsC .statisticsC .newsReportC .num {
color: #333;
}
.dateStatisticsC .statisticsC .newsReportC .num.select {
color: #FF7723;
}
.dateStatisticsC .statisticsC .list .item {
padding: 30rpx 0;
border-bottom: solid 1rpx #EDEDED;
}
.dateStatisticsC .statisticsC .list .item .type {
margin-right: 18rpx;
padding: 0 9rpx;
line-height: 40rpx;
border-radius: 5rpx;
font-size: 22rpx;
font-weight: 500;
}
.dateStatisticsC .statisticsC .list .item .type.news {
background-color: #F2C367;
color: #070707;
}
.dateStatisticsC .statisticsC .list .item .type.report {
background-color: #3D3F3C;
color: #F2C367;
}
.dateStatisticsC .statisticsC .list .item .title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 26rpx;
font-weight: bold;
color: #070707;
}
.dateStatisticsC .statisticsC .list .item .content {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #333;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}

View File

@@ -0,0 +1,380 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
listTop: "",
conceptId: "",
//概念id
conceptName: "",
//概念名称
weekList: ["一", "二", "三", "四", "五", "六", "日"],
monthDateList: [],
selectMonthIndex: 0,
//选中月份下标
selectMonth: "",
//选中年月
selectDateStr: "",
//交易日期选中日期
quickTimeList: ["今天", "昨天", "一周前", "一月前"],
stockList: []
//个股列表
};
},
onLoad(e) {
this.listTop = this.navH + (46 + 22) / 750 * common_vendor.inject("windowWidth");
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "年" + currentMonth + "月";
this.selectDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
this.generateMonthDateListData();
if (e.id) {
this.conceptId = e.id;
this.getConceptHotStockData();
}
},
methods: {
/**
* 生成日历数据
*/
generateMonthDateListData() {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let monthDateList = [];
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date = new Date(i, j + 1, 0);
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
let currentMonthDay = date.getDate();
let firstDayWeek = firstDayOfMonth.getDay() || 7;
let daysOfMonth = [];
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0);
newDate.setDate(k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({
date: date2,
year: i,
month: newMonth,
day: newDay,
isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false,
isCurrentMonth: true,
timestamp: time
});
}
for (var k = 0; k < firstDayWeek - 1; k++) {
let year = i;
let month = j;
if (j < 1) {
year = i - 1;
month = 12;
}
let lastMonthDay = new Date(year, month, 0).getDate();
let newDate = new Date(year, month - 1, lastMonthDay - k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.unshift({
date: date2,
year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
timestamp: time
});
}
let nextMonthFirstDay = new Date(i, j + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
let lastDayWeek = lastDayOfMonth.getDay() || 7;
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i;
let month = j;
if (month > 11) {
month = 0;
year++;
}
let newDate = new Date(year, month + 1, k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({
date: date2,
year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
timestamp: time
});
}
monthDateList.push(daysOfMonth);
}
}
this.monthDateList = monthDateList;
},
/**
* 点击时间筛选
*/
clickDateScreen() {
this.$refs["datePopup"].open();
},
/**
* 点击展开或收起
* @param {Object} index
*/
clickExpandOrRetract(index) {
this.stockList[index].isExpand = !this.stockList[index].isExpand;
},
/**
* 点击取消
*/
clickCancel() {
this.$refs["datePopup"].close();
},
/**
* 点击确认
*/
clickConfirm() {
this.clickCancel();
this.getConceptHotStockData();
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
this.selectMonth = year + "年" + month + "月";
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.monthDateList.length - 1) {
this.selectMonthIndex++;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
this.selectMonth = year + "年" + month + "月";
}
},
monthChange(e) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let yearMonth = e.detail.value;
let selectYear = parseInt(yearMonth.split("-")[0]);
let selectMonth = parseInt(yearMonth.split("-")[1]);
this.selectMonthIndex = (selectYear - (currentYear - 20)) * 12 + selectMonth - 1;
this.selectMonth = selectYear + "年" + selectMonth + "月";
},
/**
* 点击选择开始日期和结束日期
* @param {Object} item
*/
clickSelectDate(item) {
if (this.selectDateStr != item.date) {
this.selectDateStr = item.date;
}
},
/**
* 点击快捷时间选择
*/
clickQuickTimeItem(index) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
if (index == 0) {
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "年" + currentMonth + "月";
this.selectDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
} else if (index == 1) {
let yesterday = new Date(currentDate);
yesterday.setDate(yesterday.getDate() - 1);
let yesterdayYear = yesterday.getFullYear();
let yesterdayMonth = yesterday.getMonth() + 1;
let yesterdayDay = yesterday.getDate();
this.selectMonthIndex = (20 - (currentYear - yesterdayYear)) * 12 + yesterdayMonth - 1;
this.selectMonth = yesterdayYear + "年" + yesterdayMonth + "月";
this.selectDateStr = yesterdayYear + "-" + (yesterdayMonth > 9 ? yesterdayMonth : "0" + yesterdayMonth) + "-" + (yesterdayDay > 9 ? yesterdayDay : "0" + yesterdayDay);
} else if (index == 2) {
let weekAgo = new Date(currentDate);
weekAgo.setDate(weekAgo.getDate() - 7);
let weekAgoYear = weekAgo.getFullYear();
let weekAgoMonth = weekAgo.getMonth() + 1;
let weekAgoDay = weekAgo.getDate();
this.selectMonthIndex = (20 - (currentYear - weekAgoYear)) * 12 + weekAgoMonth - 1;
this.selectMonth = weekAgoYear + "年" + weekAgoMonth + "月";
this.selectDateStr = weekAgoYear + "-" + (weekAgoMonth > 9 ? weekAgoMonth : "0" + weekAgoMonth) + "-" + (weekAgoDay > 9 ? weekAgoDay : "0" + weekAgoDay);
} else {
let monthAgo = new Date(currentDate);
monthAgo.setDate(monthAgo.getDate() - 30);
let monthAgoYear = monthAgo.getFullYear();
let monthAgoMonth = monthAgo.getMonth() + 1;
let monthAgoDay = monthAgo.getDate();
this.selectMonthIndex = (20 - (currentYear - monthAgoYear)) * 12 + monthAgoMonth - 1;
this.selectMonth = monthAgoYear + "年" + monthAgoMonth + "月";
this.selectDateStr = monthAgoYear + "-" + (monthAgoMonth > 9 ? monthAgoMonth : "0" + monthAgoMonth) + "-" + (monthAgoDay > 9 ? monthAgoDay : "0" + monthAgoDay);
}
},
/**
* 获取概念相关个股数据
*/
getConceptHotStockData() {
let params = {
trade_date: this.selectDateStr
};
request_api.conceptDetails(this.conceptId, params).then((res) => {
this.conceptName = res.concept;
this.stockList = res.stocks;
let codes = this.stockList.map((item) => {
if (item.code != null)
return item.code;
return "";
});
common_vendor.index.__f__("log", "at pages/concept/hotStock/hotStock.vue:383", codes);
request_api.conceptOtherDetails(this.conceptId, {
days: 1,
codes,
isJson: 1
}).then((data) => {
this.stockList = this.stockList.map((item) => {
if (item.code != null) {
item.change_percent = data.data[item.code].stats.change_percent;
}
return item;
});
common_vendor.index.__f__("log", "at pages/concept/hotStock/hotStock.vue:397", "===============");
common_vendor.index.__f__("log", "at pages/concept/hotStock/hotStock.vue:398", this.stockList);
}).catch((error) => {
common_vendor.index.__f__("log", "at pages/concept/hotStock/hotStock.vue:400", "=-=-=-=-=-=-=-=-=");
});
}).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 {
a: common_vendor.p({
leftText: "热门个股",
hideNavBg: true
}),
b: common_assets._imports_0,
c: common_vendor.t($data.conceptName),
d: common_assets._imports_1$9,
e: common_vendor.o(($event) => $options.clickDateScreen()),
f: common_vendor.s("top:" + $data.navH + "px;"),
g: common_vendor.f($data.stockList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.name),
b: common_vendor.t(item.code),
c: item.change_percent
}, item.change_percent ? {
d: common_vendor.t(item.change_percent >= 0 ? "+" + item.change_percent : item.change_percent)
} : {}, {
e: item.isExpand
}, item.isExpand ? {
f: common_assets._imports_2$7
} : {
g: common_assets._imports_3$6
}, {
h: common_vendor.o(($event) => $options.clickExpandOrRetract(index), index),
i: item.isExpand
}, item.isExpand ? {
j: common_vendor.t(item.reason)
} : {}, {
k: index
});
}),
h: common_vendor.s("top:" + $data.listTop + "px;"),
i: common_vendor.o(($event) => $options.clickCancel()),
j: common_vendor.o(($event) => $options.clickConfirm()),
k: common_assets._imports_0$1,
l: common_vendor.o(($event) => $options.clickPreMonth()),
m: common_vendor.t($data.selectMonth),
n: common_vendor.o((...args) => $options.monthChange && $options.monthChange(...args)),
o: common_assets._imports_1$2,
p: common_vendor.o(($event) => $options.clickNextMonth()),
q: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
r: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.date == $data.selectDateStr
}, item.date == $data.selectDateStr ? {
b: common_vendor.t(item.day)
} : common_vendor.e({
c: !item.isCurrentMonth
}, !item.isCurrentMonth ? {
d: common_vendor.t(item.day)
} : {
e: common_vendor.t(item.day)
}), {
f: index,
g: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
}),
s: common_vendor.f($data.quickTimeList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index,
c: common_vendor.o(($event) => $options.clickQuickTimeItem(index), index)
};
}),
t: common_vendor.sr("datePopup", "0dffb7e7-1"),
v: common_vendor.p({
type: "bottom",
safeArea: false
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/concept/hotStock/hotStock.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar",
"uni-popup": "../../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="0dffb7e7-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="titleScreenC fixed flex" style="{{f}}"><view class="title flex1">{{c}} - 相关个股</view><view class="screenC flex" bindtap="{{e}}"><view>时间筛选</view><image class="arrow" src="{{d}}" mode="widthFix"></image></view></view><scroll-view scroll-y class="stockList fixed" style="{{h}}"><view class="list"><view wx:for="{{g}}" wx:for-item="item" wx:key="k" class="item"><view class="stockInfoC flex" bindtap="{{item.h}}"><view class="titleCodeC"><view class="title">{{item.a}}</view><view class="code">{{item.b}}</view></view><view wx:if="{{item.c}}" class="chg flex1">{{item.d}}%</view><view wx:else class="chg flex1">-</view><view class="reasonProjectC flex"><view>REASON/项目</view><image wx:if="{{item.e}}" class="arrow expand" src="{{item.f}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.g}}" mode="widthFix"></image></view></view><view wx:if="{{item.i}}" class="reasonProjectContentC"><view class="reasonC"><text class="title">REASON</text><text>{{item.j}}</text></view><view class="projectC"><text class="title">项目:</text><text>已进入芥末味夏威夷果仁/黑金蒜香茉莉翡翠豆两款产品</text></view></view></view></view></scroll-view><uni-popup wx:if="{{v}}" class="r" u-s="{{['d']}}" u-r="datePopup" u-i="0dffb7e7-1" bind:__l="__l" u-p="{{v}}"><view class="datePopup"><view class="btnTitleC flex"><view class="btn cancel" bindtap="{{i}}">取消</view><view class="title flex1">交易日期</view><view class="btn confirm" bindtap="{{j}}">确认</view></view><view class="yearMonthC flex"><view class="btn" bindtap="{{l}}"><image class="icon" src="{{k}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{n}}"><view>{{m}}</view></picker></view><view class="btn" bindtap="{{p}}"><image class="icon" src="{{o}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{q}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{r}}" wx:for-item="item" wx:key="f" class="item flexColumnCenter" bindtap="{{item.g}}"><block wx:if="{{item.a}}"><view class="date select">{{item.b}}</view></block><block wx:else><block wx:if="{{item.c}}"><view class="date notCurrentMonth">{{item.d}}</view></block><block wx:else><view class="date">{{item.e}}</view></block></block></view></view><view class="quickTimeC flexCenter"><view wx:for="{{s}}" wx:for-item="item" wx:key="b" class="item" bindtap="{{item.c}}">{{item.a}}</view></view></view></uni-popup></view>

View File

@@ -0,0 +1,205 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.titleScreenC {
background-color: #FFF9F5;
left: 0;
right: 0;
margin: 0 25rpx;
padding: 22rpx 25rpx 0;
border-radius: 10rpx 10rpx 0 0;
}
.titleScreenC .title {
font-size: 28rpx;
font-weight: bold;
color: #2B2B2B;
}
.titleScreenC .screenC {
padding: 0 20rpx;
line-height: 42rpx;
border-radius: 23rpx;
border: solid 2rpx #F3C368;
font-size: 22rpx;
color: #E3AA3D;
}
.titleScreenC .screenC .arrow {
margin-left: 7rpx;
width: 12rpx;
height: auto;
}
.stockList {
background-color: #FFF9F5;
left: 0;
width: calc(100% - 50rpx);
bottom: 62rpx;
margin: 0 25rpx;
border-radius: 0 0 10rpx 10rpx;
}
.stockList .list {
padding: 16rpx 25rpx;
}
.stockList .list .item {
background-color: white;
box-shadow: 0 5rpx 10rpx 0 rgba(127, 127, 127, 0.08);
margin-bottom: 20rpx;
padding: 0 20rpx;
border-radius: 10rpx;
}
.stockList .list .item .stockInfoC {
padding: 16rpx 0;
}
.stockList .list .item .stockInfoC .titleCodeC .title {
font-size: 26rpx;
font-weight: bold;
color: #222;
}
.stockList .list .item .stockInfoC .titleCodeC .code {
font-size: 20rpx;
font-weight: 500;
color: #888;
}
.stockList .list .item .stockInfoC .chg {
font-size: 24rpx;
font-weight: bold;
text-align: center;
}
.stockList .list .item .stockInfoC .chg.up {
color: #EC3440;
}
.stockList .list .item .stockInfoC .chg.down {
color: #38A169;
}
.stockList .list .item .stockInfoC .industry {
font-size: 24rpx;
font-weight: 500;
color: #333;
text-align: center;
}
.stockList .list .item .stockInfoC .reasonProjectC {
font-size: 24rpx;
font-weight: 500;
color: #DA9000;
}
.stockList .list .item .stockInfoC .reasonProjectC .arrow {
margin-left: 10rpx;
width: 10rpx;
height: auto;
}
.stockList .list .item .stockInfoC .reasonProjectC .arrow.expand {
margin-left: 6rpx;
width: 14rpx;
height: auto;
}
.stockList .list .item .reasonProjectContentC {
margin: 0 5rpx;
border-top: solid 1rpx #F0F0F0;
padding: 12rpx 9rpx 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.stockList .list .item .reasonProjectContentC .title {
color: #DA9000;
}
.stockList .list .item .reasonProjectContentC .projectC {
margin-top: 6rpx;
}
.datePopup {
background-color: white;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
border-radius: 20rpx 20rpx 0 0;
}
.datePopup .btnTitleC .btn {
padding: 20rpx 26rpx;
font-size: 28rpx;
font-weight: 500;
}
.datePopup .btnTitleC .btn.cancel {
color: #727A8E;
}
.datePopup .btnTitleC .btn.confirm {
color: #D79412;
}
.datePopup .btnTitleC .title {
font-size: 36rpx;
font-weight: bold;
text-align: center;
}
.datePopup .yearMonthC {
background-color: #F7F7F7;
margin: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
}
.datePopup .yearMonthC .btn {
padding: 0 52rpx;
}
.datePopup .yearMonthC .btn .icon {
width: 13rpx;
height: auto;
}
.datePopup .yearMonthC .yearMonth {
font-size: 32rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
.datePopup .weekList {
padding: 0 38rpx;
}
.datePopup .weekList .item {
margin-right: 13rpx;
line-height: 72rpx;
font-size: 26rpx;
font-weight: 500;
color: #A7A7A7;
text-align: center;
}
.datePopup .monthDateList {
padding: 0 38rpx;
}
.datePopup .monthDateList .item {
margin-bottom: 12rpx;
width: calc(100%/7);
}
.datePopup .monthDateList .item .date {
background-color: #f8f8f8;
width: calc(100% - 10rpx);
line-height: 64rpx;
border-radius: 15rpx;
font-size: 24rpx;
font-weight: bold;
color: #2A2A2A;
text-align: center;
}
.datePopup .monthDateList .item .date.select {
background-color: #F2C367;
color: white;
}
.datePopup .monthDateList .item .date.notCurrentMonth {
background-color: #FCFCFC;
color: #999;
}
.datePopup .quickTimeC {
margin-top: 16rpx;
}
.datePopup .quickTimeC .item {
margin-right: 25rpx;
width: 120rpx;
line-height: 56rpx;
border-radius: 30rpx;
border: solid 2rpx #4E4E4E;
font-size: 24rpx;
font-weight: 500;
color: #4E4E4E;
text-align: center;
}
.datePopup .quickTimeC .item:last-child {
margin-right: 0;
}

View File

@@ -0,0 +1,46 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const utils_util = require("../../../utils/util.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
newsInfo: null,
getLocalTime: utils_util.getLocaleTime
};
},
onLoad(e) {
this.newsInfo = JSON.parse(decodeURIComponent(e.info));
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_ua_markdown2 = common_vendor.resolveComponent("ua-markdown");
(_easycom_navBar2 + _easycom_ua_markdown2)();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
const _easycom_ua_markdown = () => "../../../components/ua-markdown/ua-markdown.js";
if (!Math) {
(_easycom_navBar + _easycom_ua_markdown)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "历史时间轴",
hideNavBg: true
}),
b: common_assets._imports_0,
c: $data.newsInfo
}, $data.newsInfo ? {
d: common_vendor.t($data.newsInfo.title),
e: common_vendor.t($data.getLocalTime($data.newsInfo.published_time)),
f: common_vendor.p({
source: $data.newsInfo.detail
}),
g: common_vendor.s("top: " + $data.navH + "px;")
} : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/concept/newsDetails/newsDetails.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar",
"ua-markdown": "../../../components/ua-markdown/ua-markdown"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="07f56b32-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="contentC fixed" style="{{g}}"><view class="title">{{d}}</view><view class="labelTimeC"><text class="time">{{e}}</text></view><view class="content"><ua-markdown wx:if="{{f}}" u-i="07f56b32-1" bind:__l="__l" u-p="{{f}}"/></view></view></view>

View File

@@ -0,0 +1,36 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.contentC {
background-color: #FFF9F5;
margin: 20rpx 25rpx 0;
padding: 28rpx 30rpx;
left: 0;
right: 0;
bottom: 100rpx;
border-radius: 10rpx;
overflow-y: scroll;
}
.contentC .title {
margin: 0 10rpx;
font-size: 30rpx;
font-weight: bold;
color: #2B2B2B;
}
.contentC .labelTimeC {
margin: 0 10rpx;
}
.contentC .labelTimeC .time {
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.contentC .content {
margin-top: 30rpx;
}

View File

@@ -0,0 +1,46 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const utils_util = require("../../../utils/util.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
reportInfo: null,
getLocalTime: utils_util.getLocaleTime,
content: ""
};
},
onLoad(e) {
this.reportInfo = JSON.parse(decodeURIComponent(e.info));
this.reportInfo.content = this.reportInfo.content.replace(/'/g, '"');
common_vendor.index.__f__("log", "at pages/concept/reportDetails/reportDetails.vue:34", JSON.parse(this.reportInfo.content));
this.content = JSON.parse(this.reportInfo.content).content;
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "历史时间轴",
hideNavBg: true
}),
b: common_assets._imports_0,
c: $data.reportInfo
}, $data.reportInfo ? {
d: common_vendor.t($data.reportInfo.report_title),
e: common_vendor.t($data.getLocalTime($data.reportInfo.declare_date)),
f: common_vendor.t($data.content ? $data.content : $data.reportInfo.content),
g: common_vendor.s("top: " + $data.navH + "px;")
} : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/concept/reportDetails/reportDetails.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="d1d5b3b6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="contentC fixed" style="{{g}}"><view class="title">{{d}}</view><view class="labelTimeC"><text class="time">{{e}}</text></view><view class="content"><text>{{f}}</text></view></view></view>

View File

@@ -0,0 +1,36 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.contentC {
background-color: #FFF9F5;
margin: 20rpx 25rpx 0;
padding: 28rpx 30rpx;
left: 0;
right: 0;
bottom: 100rpx;
border-radius: 10rpx;
overflow-y: scroll;
}
.contentC .title {
margin: 0 10rpx;
font-size: 30rpx;
font-weight: bold;
color: #2B2B2B;
}
.contentC .labelTimeC {
margin: 0 10rpx;
}
.contentC .labelTimeC .time {
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.contentC .content {
margin-top: 30rpx;
}

View File

@@ -0,0 +1,88 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
topLists: [
{
title: "超大盘股",
value: ">1000亿"
},
{
title: "大盘股",
value: "500-1000亿"
},
{
title: "中盘股",
value: "100-500亿"
}
],
list2Index: 0
};
},
onLoad(e) {
this.activeIndex = e.index;
this.contentTop = this.navH + (20 + 70 + 25) / 750 * common_vendor.inject("windowWidth");
},
methods: {}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "详情",
hideNavBg: true
}),
b: common_assets._imports_0,
c: common_assets._imports_1,
d: common_vendor.o(($event) => _ctx.clickSearch()),
e: _ctx.keywords,
f: common_vendor.o(($event) => _ctx.keywords = $event.detail.value),
g: common_vendor.s("top:" + $data.navH + "px;"),
h: common_vendor.f($data.topLists, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: $data.list2Index == index ? "#BB8520" : "#070707",
c: common_vendor.t(item.value),
d: $data.list2Index == index ? "#BB8520" : "#070707",
e: common_vendor.o(($event) => $data.list2Index = index, index),
f: index,
g: $data.list2Index == index ? "1rpx solid #F2C369" : "none"
};
}),
i: common_vendor.f(["股票名称", "涨跌幅", "市值", "成交额", "行业"], (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
j: common_vendor.f(10, (obj, j, i0) => {
return {
a: common_vendor.f(["云南白药", "+0.04%", "996.85 亿元", "4.44 亿元", "医药生物"], (item, index, i1) => {
return common_vendor.e({
a: common_vendor.t(item),
b: index == 0
}, index == 0 ? {} : {}, {
c: index,
d: index == 0 ? "#222222" : index == 1 ? "#EC3440" : "#666666"
});
}),
b: j % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
k: common_vendor.s("top:" + $data.contentTop + "px;")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/geGuCenter/detail.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="1d94e03e-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="searchC fixed flex" style="{{g}}"><image class="icon" src="{{c}}" mode="widthFix"></image><input class="flex1" type="text" placeholder="输入股票代码或名称" placeholder-style="color:#eeeeee" confirm-type="search" bindconfirm="{{d}}" value="{{e}}" bindinput="{{f}}"/></view><scroll-view scroll-y class="stockDetailsC fixed" style="{{k}}"><view><view style="display:grid;grid-template-columns:repeat(3, 1fr);gap:16rpx;margin:0 20rpx"><view wx:for="{{h}}" wx:for-item="item" wx:key="f" bindtap="{{item.e}}" style="{{'padding:12rpx' + ';' + ('border-bottom:' + item.g)}}"><view style="{{'font-size:24rpx;color:#070707;font-weight:bold;text-align:center' + ';' + ('color:' + item.b)}}">{{item.a}}</view><view style="{{'font-size:20rpx;font-weight:400;text-align:center' + ';' + ('color:' + item.d)}}">{{item.c}}</view></view></view><view style="height:1rpx;margin:0 20rpx;background-color:#E7E7E7"></view><view style="display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;background-color:#FAFAFC;line-height:60rpx;margin:0 20rpx;margin-top:20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="b" style="color:#666666;font-size:20rpx;font-weight:500;text-align:center">{{item.a}}</view></view><view wx:for="{{j}}" wx:for-item="obj" style="{{'display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;min-height:60rpx;margin:0 20rpx' + ';' + ('background-color:' + obj.b)}}"><view wx:for="{{obj.a}}" wx:for-item="item" wx:key="c" style="{{'padding:10rpx 0;color:#666666;font-size:20rpx;font-weight:500;text-align:center;display:flex;justify-content:center;align-items:center;flex-direction:column' + ';' + ('color:' + item.d)}}"><view>{{item.a}}</view><view wx:if="{{item.b}}" style="color:#666666;font-size:20rpx;font-weight:500">000768</view></view></view><view style="height:25rpx"></view></view></scroll-view></view>

View File

@@ -0,0 +1,36 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.searchC {
background-color: #292929B3;
left: 0;
right: 0;
margin: 20rpx 25rpx 0;
padding: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500;
}
.searchC .icon {
margin-right: 12rpx;
width: 25rpx;
height: auto;
}
.searchC input {
height: 100%;
color: white;
}
.stockDetailsC {
left: 25rpx;
width: calc(100vw - 50rpx);
bottom: env(safe-area-inset-bottom);
background-color: white;
border-radius: 10rpx;
}

View File

@@ -0,0 +1,268 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
topLists: [
{
title: "大盘涨跌幅",
value: "+0.31%",
color: "#EC3440",
backIcon: "/static/icon/gegu/gg-top-0.png"
},
{
title: "涨停/跌停",
value: "+0.31%",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-1.png"
},
{
title: "多空对比",
value: "3572/1855",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-2.png"
},
{
title: "今日成交额",
value: "1.5万亿",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-3.png"
},
{
title: "A股总市值",
value: "113.8万亿",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-4.png"
},
{
title: "连板龙头",
value: "10只",
color: "#F59B38",
backIcon: "/static/icon/gegu/gg-top-5.png"
}
],
topLists2: [
{
title: "超大盘股",
value: ">1000亿"
},
{
title: "大盘股",
value: "500-1000亿"
},
{
title: "中盘股",
value: "100-500亿"
}
],
list2Index: 0,
typeList: [
{
title: "缩量急涨",
backIcon: "/static/icon/gegu/cate-0.png"
},
{
title: "异动",
backIcon: "/static/icon/gegu/cate-1.png"
},
{
title: "急跌",
backIcon: "/static/icon/gegu/cate-2.png"
},
{
title: "急涨",
backIcon: "/static/icon/gegu/cate-3.png"
},
{
title: "放量震荡",
backIcon: "/static/icon/gegu/cate-4.png"
}
]
};
},
onLoad(e) {
this.activeIndex = e.index;
this.contentTop = this.navH + (20 + 70 + 25) / 750 * common_vendor.inject("windowWidth");
this.conceptsDailyTop();
this.marketHeatmap();
this.marketStatistics();
this.marketHotspotOverview();
},
methods: {
conceptsDailyTop() {
request_api.conceptsDailyTop().then((res) => {
}).catch((error) => {
});
},
marketHeatmap() {
request_api.marketHeatmap().then((res) => {
}).catch((error) => {
});
},
marketStatistics() {
request_api.marketStatistics().then((res) => {
}).catch((error) => {
});
},
marketHotspotOverview() {
request_api.marketHotspotOverview().then((res) => {
}).catch((error) => {
});
},
moreAction() {
common_vendor.index.navigateTo({
url: "/pages/geGuCenter/detail"
});
},
allAction(index) {
if (index == 1) {
this.$refs["typePopup"].open();
} else if (index == 2) {
this.$refs["datePopup"].open();
}
},
closeAction(index) {
if (index == 1) {
this.$refs["typePopup"].close();
} else if (index == 2) {
this.$refs["datePopup"].close();
} else if (index == 3) {
this.$refs["detailPopup"].close();
}
},
confirmAction(index) {
if (index == 1) {
this.$refs["typePopup"].close();
} else if (index == 2) {
this.$refs["datePopup"].close();
}
},
bkydAction(item) {
this.$refs["detailPopup"].open();
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
const _easycom_LCCalendar22 = common_vendor.resolveComponent("LCCalendar2");
(_easycom_navBar2 + _easycom_uni_popup2 + _easycom_LCCalendar22)();
}
const _easycom_navBar = () => "../../components/navBar/navBar.js";
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
const _easycom_LCCalendar2 = () => "../../components/LCCalendar2/LCCalendar2.js";
if (!Math) {
(_easycom_navBar + _easycom_uni_popup + _easycom_LCCalendar2)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "个股中心",
hideNavBg: true,
hideBack: true
}),
b: common_assets._imports_0,
c: common_assets._imports_1,
d: common_vendor.o(($event) => _ctx.clickSearch()),
e: _ctx.keywords,
f: common_vendor.o(($event) => _ctx.keywords = $event.detail.value),
g: common_vendor.s("top:" + $data.navH + "px;"),
h: common_vendor.f($data.topLists, (item, index, i0) => {
return {
a: item.backIcon,
b: common_vendor.t(item.title),
c: common_vendor.t(item.value),
d: item.color,
e: index
};
}),
i: common_vendor.f($data.topLists2, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: $data.list2Index == index ? "#BB8520" : "#070707",
c: $data.list2Index == index ? "#FFFAF1" : "#FFFFFF",
d: common_vendor.t(item.value),
e: $data.list2Index == index ? "#BB8520" : "#070707",
f: common_vendor.o(($event) => $data.list2Index = index, index),
g: index,
h: `1rpx solid ${$data.list2Index == index ? "#F2C369" : "#D2D2D2"}`
};
}),
j: common_vendor.f(["股票名称", "涨跌幅", "市值", "成交额", "行业"], (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
k: common_vendor.f(10, (obj, j, i0) => {
return {
a: common_vendor.f(["云南白药", "+0.04%", "996.85 亿元", "4.44 亿元", "医药生物"], (item, index, i1) => {
return common_vendor.e({
a: common_vendor.t(item),
b: index == 0
}, index == 0 ? {} : {}, {
c: index,
d: index == 0 ? "#222222" : index == 1 ? "#EC3440" : "#666666"
});
}),
b: j % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
l: common_assets._imports_1$2,
m: common_vendor.o((...args) => $options.moreAction && $options.moreAction(...args)),
n: common_assets._imports_3$7,
o: common_assets._imports_4$1,
p: common_vendor.o(($event) => $options.allAction(1)),
q: common_assets._imports_4$1,
r: common_vendor.o(($event) => $options.allAction(2)),
s: common_assets._imports_3$7,
t: common_vendor.f(10, (item, index, i0) => {
return {
a: index,
b: common_vendor.o(($event) => $options.bkydAction(item), index)
};
}),
v: common_assets._imports_5$3,
w: common_vendor.s("top:" + $data.contentTop + "px;"),
x: common_vendor.o(($event) => $options.closeAction(1)),
y: common_vendor.o(($event) => $options.confirmAction(1)),
z: common_vendor.f($data.typeList, (item, index, i0) => {
return {
a: item.backIcon,
b: common_vendor.t(item.title),
c: index
};
}),
A: common_vendor.sr("typePopup", "c7f5c964-1"),
B: common_vendor.p({
type: "bottom",
safeArea: false
}),
C: common_vendor.o(($event) => $options.closeAction(2)),
D: common_vendor.o(($event) => $options.confirmAction(2)),
E: common_vendor.sr("datePopup", "c7f5c964-2"),
F: common_vendor.p({
type: "bottom",
safeArea: false
}),
G: common_assets._imports_9$1,
H: common_vendor.o(($event) => $options.closeAction(3)),
I: common_vendor.f(10, (item, index, i0) => {
return {
a: index % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
J: common_vendor.sr("detailPopup", "c7f5c964-4"),
K: common_vendor.p({
type: "bottom",
safeArea: false
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/geGuCenter/geGuCenter.js.map

View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup",
"l-c-calendar2": "../../components/LCCalendar2/LCCalendar2"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,43 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.searchC {
background-color: #292929B3;
left: 0;
right: 0;
margin: 20rpx 25rpx 0;
padding: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500;
}
.searchC .icon {
margin-right: 12rpx;
width: 25rpx;
height: auto;
}
.searchC input {
height: 100%;
color: white;
}
.stockDetailsC {
left: 25rpx;
width: calc(100vw - 50rpx);
bottom: calc(55px + env(safe-area-inset-bottom));
background-color: white;
border-radius: 10rpx;
}
.detailPopup {
max-height: 70%;
background-color: white;
color: red;
border-radius: 20rpx 20rpx 0 0;
padding-bottom: env(safe-area-inset-bottom);
}

View File

@@ -0,0 +1,24 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
url: ""
};
},
onLoad(e) {
if (e.name) {
this.url = "https://valuefrontier.cn/htmls/concept/" + e.name + "/";
}
},
methods: {}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: $data.url
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/index/conceptDetails/conceptDetails.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view><web-view src="{{a}}"></web-view></view>

View File

@@ -0,0 +1,32 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.conceptDetailsC {
background-color: white;
margin-top: 10rpx;
padding: 20rpx 25rpx;
left: 0;
right: 0;
bottom: 0;
border-radius: 20rpx 20rpx 0 0;
}
.conceptDetailsC .title {
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.conceptDetailsC .time {
margin-top: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #AAA;
}
.conceptDetailsC .content {
margin-top: 30rpx;
font-size: 26rpx;
font-weight: 500;
color: #666;
}

View File

@@ -0,0 +1,646 @@
"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 {
navH: common_vendor.inject("navHeight"),
windowWidth: common_vendor.inject("windowWidth"),
eventId: "",
//事件id
memberInfo: null,
//会员信息
eventDetails: null,
//事件详情
categoryList: ["相关标的", "相关概念", "历史事件"],
targetList: [],
//相关标的
conceptList: [],
//相关概念
page: 1,
loadAll: false,
//是否加载完毕
historyEventList: [],
//历史事件
historyEventRelatedStockList: [],
//历史事件相关股票
selectCategory: 0,
headingList: ["名称代码", "分时图", "开盘价", "最新价", "涨跌幅"],
getLocaleHourMinute: utils_util.getLocaleHourMinute,
getLocaleTime: utils_util.getLocaleTime,
getRateUpOrDown: utils_util.getRateUpOrDown,
getRateStr: utils_util.getRateStr,
getChgRateStr: utils_util.getChgRateStr,
scoreTop: "",
expectScore: 0,
//预期得分
commentList: [],
//评价列表
eventComment: "",
//事件评论内容
replyId: "",
//回复评论id
replyPid: "",
//回复评论父级id
isFocus: false,
//是否获取焦点
replyComment: "",
//评论回复内容
option: {
tooltip: {
show: false,
trigger: "axis",
axisPointer: {
type: "shadow"
},
confine: true
},
grid: {
left: "10%",
right: "6%",
top: "5%",
bottom: "10%"
},
xAxis: {
type: "category",
scale: true,
data: [],
// axisTick:{ show:false },
axisLine: { show: false },
axisLabel: { show: false }
},
yAxis: [
{
type: "value",
axisTick: { show: false },
scale: true,
axisLabel: { show: false },
splitLine: { show: false }
}
],
series: {
name: "分时图",
type: "line",
label: {
show: true,
position: "top",
fontSize: 12
},
symbol: "none",
silent: true,
data: [],
itemStyle: {
color: ""
},
markLine: {
symbol: ["none", "none"],
lineStyle: {
color: "#AAAAAA",
type: "dashed"
},
data: []
}
}
}
};
},
onLoad(e) {
if (e.id) {
this.eventId = e.id;
this.getEventRelatedStockData();
this.getEventCommentListData();
}
},
methods: {
/**
* 复制标题
*/
copyEventTitle() {
common_vendor.index.setClipboardData({
data: this.eventDetails.event_title,
success() {
common_vendor.index.showToast({
title: "复制成功"
});
}
});
},
async init() {
let that = this;
setTimeout(function() {
that.targetList.map(function(item, index) {
const chartDom = that.$refs["chartRef" + index][0];
chartDom.init(echarts).then((res) => {
let option = { ...that.option };
let categoryData = [];
let valueData = [];
for (let item1 of item.minute_chart_data) {
categoryData.push(item1.time);
valueData.push(item1.close);
}
option.series.data = valueData;
option.xAxis.data = categoryData;
let time = that.eventDetails.event_start_time.split("T")[1];
time = time.substring(0, 5);
let firstOpen = item.minute_chart_data[0].open;
option.series.markLine.data = [
{
xAxis: time,
lineStyle: {
type: "solid",
width: 1,
color: "#ffd700"
}
},
{
yAxis: firstOpen
}
];
let lastClose = item.minute_chart_data.slice(-1)[0].close;
if (lastClose >= firstOpen) {
option.series.itemStyle.color = "#EF5350";
} else
option.series.itemStyle.color = "#26A69A";
res.setOption(option);
});
});
}, 300);
},
loadMoreData() {
if (this.selectCategory == 1) {
if (!this.loadAll) {
this.page++;
this.getEventRelatedConceptData();
}
}
},
/**
* 点击切换分类
*/
clickCategoryItem(index) {
if (this.selectCategory != index) {
this.selectCategory = index;
if (index == 0) {
this.getEventRelatedStockData();
} else if (index == 1) {
this.page = 1;
this.loadAll = false;
this.getEventRelatedConceptData();
} else if (index == 2) {
this.getEventHistoryEventData();
}
}
},
/**
* 点击查看股票详情
*/
clickStockItem(code) {
common_vendor.index.navigateTo({
url: "/pages/index/stockDetails/stockDetails?type=1&code=" + code + "&id=" + this.eventId
});
},
/**
* 点击查看相关概念
*/
clickConceptItem(name) {
let md5 = common_vendor.CryptoJS.MD5(name).toString();
common_vendor.index.navigateTo({
url: "/pages/index/conceptDetails/conceptDetails?name=" + md5
});
},
/**
* 非vip点击
*/
clickNotVip() {
this.$refs["vipPopup"].open();
},
/**
* 点击稍后再说
*/
clickLater() {
this.$refs["vipPopup"].close();
},
/**
* 点击立即升级
*/
clickUpgradeAtOnce() {
this.clickLater();
},
/**
* 点击查看更多个股
*/
clickStockMore(item) {
common_vendor.index.navigateTo({
url: "/pages/concept/hotStock/hotStock?id=" + item.concept_id
});
},
/**
* 点击查看历史时间轴
*/
clickHistoricalTimeline(item) {
common_vendor.index.navigateTo({
url: "/pages/concept/historicalTimeline/historicalTimeline?id=" + item.concept_id
});
},
/**
* 点击查看历史事件的相关股票
*/
clickLookHistoricalEventRelatedStock(item) {
this.historyEventRelatedStockList = item.related_stocks;
this.$refs["stockPopup"].open();
},
/**
* 点击关闭相关股票弹窗
*/
closeRelatedStockPopup() {
this.$refs["stockPopup"].close();
},
/**
* 点击查看超预期得分
*/
clickExpectScore(e) {
this.scoreTop = e.currentTarget.offsetTop + this.navH + (70 + 10) / 750 * this.windowWidth;
this.$refs["expectScorePopup"].open();
},
/**
* 点击发送事件评论
*/
sendEventComment() {
if (!this.eventComment) {
common_vendor.index.showToast({
title: "请输入评论内容",
icon: "none"
});
return;
}
let eventId = this.eventId;
let param = { content: this.eventComment };
request_api.commentEvent(eventId, param).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
let that = this;
setTimeout(function() {
that.getEventCommentListData();
}, 1e3);
}).catch((error) => {
});
},
/**
* 点击评论
*/
clickComment() {
this.$refs["popup"].open();
},
/**
* 点击关闭评论弹窗
*/
closeCommentPopup() {
this.$refs["popup"].close();
},
/**
* 点击关注
*/
clickFollow() {
let eventId = this.eventId;
request_api.followEvent(eventId).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
common_vendor.index.$emit("editSuccess");
this.getEventRelatedStockData();
}).catch((error) => {
});
},
/**
* 点击回复评论
*/
clickReplyComment(id, pid) {
this.replyId = id;
if (pid) {
this.replyPid = pid;
}
this.isFocus = true;
},
sendReplyComment() {
if (!this.replyComment) {
common_vendor.index.showToast({
title: "请输入评论内容",
icon: "none"
});
return;
}
let param = { content: this.replyComment };
if (this.replyPid) {
param.parent_id = this.replyPid;
}
request_api.replyComment(this.replyId, param).then((res) => {
}).catch((error) => {
});
},
/**
* 点赞评论
*/
clickLikeComment(id, index, cindex) {
request_api.likeEventComment(id).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
if (cindex == -1) {
this.commentList[index].likes_count = res.likes_count;
}
}).catch((error) => {
});
},
/**
* 获取事件相关标的数据
*/
getEventRelatedStockData() {
let eventId = this.eventId;
request_api.eventRelatedStock(eventId).then((res) => {
if (res.code == 200) {
this.eventDetails = res.data;
this.targetList = res.data.related_stocks;
this.init();
} else
common_vendor.index.showToast({
title: res.message,
icon: "none",
duration: 3e3
});
}).catch((error) => {
});
},
/**
* 获取事件相关概念数据
*/
getEventRelatedConceptData() {
let eventDetails = this.eventDetails;
let param = { query: eventDetails.event_title, size: 10, page: this.page, sort_by: "_score", isJson: 1 };
request_api.eventRelatedConcept(param).then((res) => {
if (res.page == 1) {
this.conceptList = res.results;
} else {
this.conceptList = this.conceptList.concat(res.results);
}
if (res.page == res.total_pages) {
this.loadAll = true;
}
}).catch((error) => {
});
},
/**
* 获取事件历史事件数据
*/
getEventHistoryEventData() {
let eventId = this.eventId;
request_api.eventHistoryEvent(eventId).then((res) => {
if (res.code == 200) {
this.expectScore = res.data.invest_score;
this.historyEventList = res.data.historical_events;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 获取事件评论列表
*/
getEventCommentListData() {
let eventId = this.eventId;
request_api.eventCommentList(eventId).then((res) => {
this.commentList = res.data.posts;
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_l_echart2 = common_vendor.resolveComponent("l-echart");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
(_easycom_navBar2 + _easycom_l_echart2 + _easycom_uni_popup2)();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
const _easycom_l_echart = () => "../../../uni_modules/lime-echart/components/l-echart/l-echart.js";
const _easycom_uni_popup = () => "../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
(_easycom_navBar + _easycom_l_echart + _easycom_uni_popup)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "事件详情",
hideNavBg: true
}),
b: common_assets._imports_0,
c: $data.eventDetails
}, $data.eventDetails ? common_vendor.e({
d: common_vendor.t($data.eventDetails.event_type),
e: common_vendor.t($data.eventDetails.event_title),
f: common_vendor.o(($event) => $options.copyEventTitle()),
g: common_vendor.t($data.eventDetails.event_created_at.substr(0, 16)),
h: common_vendor.t($data.eventDetails.event_desc),
i: common_vendor.f($data.categoryList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: $data.selectCategory == index
}, $data.selectCategory == index ? {} : {}, {
c: common_vendor.n("item relative " + ($data.selectCategory == index ? "select" : "")),
d: index,
e: common_vendor.o(($event) => $options.clickCategoryItem(index), index)
});
}),
j: $data.selectCategory == 0
}, $data.selectCategory == 0 ? {
k: common_vendor.f($data.headingList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
})
} : {}, {
l: $data.selectCategory == 0
}, $data.selectCategory == 0 ? {
m: common_vendor.f($data.targetList, (item, index, i0) => {
return {
a: common_vendor.t(item.stock_name),
b: common_vendor.t(item.stock_code),
c: common_vendor.sr("chartRef" + index, "6e1a61f1-1-" + i0, {
"f": 1
}),
d: "chartRef" + index,
e: "6e1a61f1-1-" + i0,
f: common_vendor.t(item.trade_data ? item.trade_data.open_price : ""),
g: common_vendor.t(item.trade_data ? item.trade_data.latest_price : ""),
h: common_vendor.t(item.trade_data ? item.trade_data.change_pct : ""),
i: common_vendor.n("chg flex1 " + ($data.getRateUpOrDown(item.trade_data ? item.trade_data.change_pct : "") ? "down" : "up")),
j: common_vendor.t(item.relation_desc),
k: index,
l: common_vendor.o(($event) => $options.clickStockItem(item.stock_code), index)
};
})
} : {}, {
n: $data.selectCategory == 1
}, $data.selectCategory == 1 ? {
o: common_vendor.f($data.conceptList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.concept),
b: item.price_info
}, item.price_info ? {
c: common_vendor.t($data.getChgRateStr(item.price_info.avg_change_pct)),
d: common_vendor.n("chg " + ($data.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
e: item.price_info
}, item.price_info ? {
f: common_vendor.t(item.stock_count),
g: common_vendor.n("stockNum " + ($data.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
h: common_vendor.t(item.description)
}, $data.memberInfo && $data.memberInfo.is_member && $data.memberInfo.subscription_type == "pro" ? {
i: common_vendor.f(item.stocks.slice(0, 3), (sitem, sindex, i1) => {
return {
a: common_vendor.t(sitem.name),
b: sindex
};
}),
j: common_vendor.t(item.stock_count - 3),
k: common_vendor.o(($event) => $options.clickStockMore(item), index)
} : {
l: common_assets._imports_1$6,
m: common_vendor.t(item.stock_count),
n: common_vendor.o(($event) => $options.clickNotVip(), index)
}, {
o: common_vendor.t(item.price_info ? item.price_info.trade_date : ""),
p: common_vendor.o(($event) => $options.clickHistoricalTimeline(item), index),
q: index,
r: common_vendor.o(($event) => $options.clickConceptItem(item.concept), index)
});
}),
p: $data.memberInfo && $data.memberInfo.is_member && $data.memberInfo.subscription_type == "pro",
q: common_assets._imports_1$3
} : {}, {
r: $data.selectCategory == 2
}, $data.selectCategory == 2 ? {
s: common_assets._imports_3$3,
t: common_vendor.t($data.expectScore),
v: common_assets._imports_4$4,
w: common_vendor.o(($event) => $options.clickExpectScore($event)),
x: common_vendor.f($data.historyEventList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.title),
b: common_vendor.t(item.relevance * 10),
c: common_vendor.t(item.content),
d: $data.getRateUpOrDown(item.related_avg_chg)
}, $data.getRateUpOrDown(item.related_avg_chg) ? {
e: common_assets._imports_1$1
} : {
f: common_assets._imports_2$1
}, {
g: common_vendor.t($data.getRateStr(item.related_avg_chg)),
h: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
i: $data.getRateUpOrDown(item.related_max_chg)
}, $data.getRateUpOrDown(item.related_max_chg) ? {
j: common_assets._imports_1$1
} : {
k: common_assets._imports_2$1
}, {
l: common_vendor.t($data.getRateStr(item.related_max_chg)),
m: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
n: common_vendor.o(($event) => $options.clickLookHistoricalEventRelatedStock(item), index),
o: common_vendor.t($data.getLocaleTime(item.event_date)),
p: index
});
}),
y: common_assets._imports_5$1,
z: common_assets._imports_3$3
} : {}, {
A: common_vendor.s("top:" + $data.navH + "px;"),
B: common_vendor.o(($event) => $options.loadMoreData())
}) : {}, {
C: $data.eventDetails
}, $data.eventDetails ? {
D: common_assets._imports_8$1,
E: common_vendor.t($data.eventDetails.view_count),
F: common_assets._imports_9$3,
G: common_vendor.t($data.eventDetails.follower_count),
H: common_vendor.o(($event) => $options.clickFollow())
} : {}, {
I: common_assets._imports_9$1,
J: common_vendor.o(($event) => $options.closeCommentPopup()),
K: common_vendor.f($data.commentList, (item, index, i0) => {
return {
a: item.user.avatar_url,
b: common_vendor.t(item.user.username),
c: common_vendor.t(item.content),
d: common_vendor.t($data.getLocaleHourMinute(item.created_at)),
e: common_vendor.o(($event) => $options.clickReplyComment(item.post_id), index),
f: common_vendor.t(item.likes_count),
g: common_vendor.o(($event) => $options.clickLikeComment(item.post_id, index, -1), index),
h: index
};
}),
L: common_assets._imports_11,
M: common_vendor.sr("popup", "6e1a61f1-2"),
N: common_vendor.p({
type: "bottom"
}),
O: common_assets._imports_12$1,
P: common_vendor.s("margin-top:" + $data.scoreTop + "px;"),
Q: common_vendor.sr("expectScorePopup", "6e1a61f1-3"),
R: common_vendor.p({
type: "top",
["mask-background-color"]: "transparent",
animation: false
}),
S: common_assets._imports_9$1,
T: common_vendor.o(($event) => $options.closeRelatedStockPopup()),
U: common_vendor.f($data.historyEventRelatedStockList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.stock_name + "(" + item.stock_code + ")"),
b: common_vendor.t(item.correlation * 100),
c: common_vendor.t(item.sector),
d: $data.getRateUpOrDown(item.daily_change)
}, $data.getRateUpOrDown(item.daily_change) ? {
e: common_assets._imports_1$1
} : {
f: common_assets._imports_2$1
}, {
g: common_vendor.t($data.getRateStr(item.daily_change)),
h: common_vendor.n("rateC " + ($data.getRateUpOrDown(item.daily_change) ? "down" : "up")),
i: common_vendor.t(item.relation_desc),
j: index,
k: common_vendor.o(($event) => $options.clickStockItem(item.stock_code), index)
});
}),
V: common_vendor.sr("stockPopup", "6e1a61f1-4"),
W: common_vendor.p({
type: "bottom"
}),
X: common_assets._imports_13,
Y: common_assets._imports_14,
Z: common_assets._imports_15,
aa: common_assets._imports_15,
ab: common_assets._imports_16,
ac: common_assets._imports_16,
ad: common_assets._imports_16,
ae: common_vendor.o(($event) => $options.clickLater()),
af: common_vendor.o(($event) => $options.clickUpgradeAtOnce()),
ag: common_vendor.sr("vipPopup", "6e1a61f1-5"),
ah: common_vendor.p({
type: "center"
})
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/index/eventDetails/eventDetails.js.map

View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar",
"l-echart": "../../../uni_modules/lime-echart/components/l-echart/l-echart",
"uni-popup": "../../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,775 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.eventDetailsC {
margin-top: 10rpx;
padding: 20rpx 25rpx 0;
left: 0;
right: 0;
bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom));
border-radius: 20rpx 20rpx 0 0;
overflow-y: scroll;
}
.eventDetailsC .eventIntroC {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
padding: 26rpx 0 34rpx;
border-radius: 10rpx;
}
.eventDetailsC .eventIntroC .categoryTitleC {
padding: 0 25rpx;
}
.eventDetailsC .eventIntroC .categoryTitleC .category {
background-color: #F3C368;
margin-right: 8rpx;
display: inline-block;
padding: 0 11rpx;
line-height: 40rpx;
border-radius: 8rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.eventDetailsC .eventIntroC .categoryTitleC .title {
font-size: 30rpx;
font-weight: bold;
color: #222;
line-height: 1.1rem;
}
.eventDetailsC .eventIntroC .eventTime {
margin: 20rpx 25rpx 0;
font-size: 22rpx;
font-weight: 500;
color: #666;
}
.eventDetailsC .eventIntroC .eventContent {
margin: 18rpx 27rpx 0;
word-break: break-all;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
line-height: 1.3rem;
}
.eventDetailsC .eventIntroC .eventContent .ai {
color: #EC3440;
}
.eventDetailsC .eventIntroC .riskTips {
margin: 24rpx 25rpx 0;
line-height: 1.2rem;
font-size: 22rpx;
font-weight: 500;
color: #A2A2A1;
}
.eventDetailsC .categoryList {
white-space: nowrap;
}
.eventDetailsC .categoryList .item {
display: inline-block;
line-height: 80rpx;
padding: 0 18rpx;
font-size: 27rpx;
font-weight: 500;
color: #939393;
}
.eventDetailsC .categoryList .item.select {
font-weight: bold;
color: #F3C368;
}
.eventDetailsC .headingList {
background-color: #FFF1E7;
padding: 0 10rpx;
border-radius: 10rpx 10rpx 0 0;
}
.eventDetailsC .headingList .item {
line-height: 70rpx;
font-size: 24rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
.eventDetailsC .targetList {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
padding: 0 25rpx;
}
.eventDetailsC .targetList .item {
padding-bottom: 20rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.eventDetailsC .targetList .item .nameCodePriceC {
padding: 20rpx 0;
font-size: 28rpx;
font-weight: bold;
color: #222;
}
.eventDetailsC .targetList .item .nameCodePriceC .code {
font-size: 20rpx;
font-weight: 500;
color: #888;
}
.eventDetailsC .targetList .item .nameCodePriceC .price {
text-align: center;
}
.eventDetailsC .targetList .item .nameCodePriceC .chg {
text-align: right;
}
.eventDetailsC .targetList .item .nameCodePriceC .chg.up {
color: #FF2929;
}
.eventDetailsC .targetList .item .nameCodePriceC .chg.down {
color: #355422;
}
.eventDetailsC .targetList .item .content {
font-size: 20rpx;
font-weight: 500;
color: #71675D;
line-height: 1.2rem;
}
.eventDetailsC .targetList .item .content .ai {
color: #CCCDD1;
}
.eventDetailsC .conceptList .conceptItem {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx;
border-radius: 10rpx;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC {
padding: 24rpx 18rpx 0;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .title {
margin-right: 20rpx;
font-size: 30rpx;
font-weight: bold;
color: #3D3D3D;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .chg {
margin-right: 20rpx;
padding: 0 13rpx;
line-height: 40rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .chg.up {
background-color: #EC3440;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .chg.down {
background-color: #355422;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .stockNum {
flex-shrink: 0;
padding: 0 16rpx;
line-height: 36rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .stockNum.up {
color: #EC3440;
border: solid 2rpx #EC3440;
}
.eventDetailsC .conceptList .conceptItem .titleChgStockNumC .stockNum.down {
color: #355422;
border: solid 2rpx #355422;
}
.eventDetailsC .conceptList .conceptItem .content {
margin-top: 26rpx;
padding: 0 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.eventDetailsC .conceptList .conceptItem .hotStockC {
margin-top: 30rpx;
padding: 0 20rpx;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .title {
margin-right: 10rpx;
font-size: 24rpx;
font-weight: bold;
color: #936E5C;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .stockList {
font-size: 22rpx;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .stockList .stockItem {
background-color: #3D3D3D;
margin-right: 10rpx;
padding: 0 8rpx;
line-height: 36rpx;
border-radius: 5rpx 20rpx 5rpx 20rpx;
color: #EFDDD1;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .stockList .more {
color: #936E5C;
line-height: 36rpx;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .notVipC {
background-color: #3D3D3D;
padding: 0 21rpx 0 16rpx;
line-height: 36rpx;
border-radius: 5rpx;
font-size: 22rpx;
color: #F3C368;
}
.eventDetailsC .conceptList .conceptItem .hotStockC .notVipC .icon {
margin-right: 9rpx;
width: 15rpx;
height: auto;
}
.eventDetailsC .conceptList .conceptItem .transactionDateHistoryTimeC {
padding: 20rpx 22rpx 30rpx;
}
.eventDetailsC .conceptList .conceptItem .transactionDateHistoryTimeC .transactionDate {
font-size: 20rpx;
font-weight: 500;
color: #666;
}
.eventDetailsC .conceptList .conceptItem .transactionDateHistoryTimeC .historyTimeC {
background-color: #F3C368;
padding: 0 10rpx 0 15rpx;
line-height: 36rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #101213;
}
.eventDetailsC .conceptList .conceptItem .transactionDateHistoryTimeC .historyTimeC .icon {
margin-right: 7rpx;
width: 20rpx;
height: auto;
}
.eventDetailsC .historyEventList {
padding: 20rpx 0;
}
.eventDetailsC .historyEventList .expectScoreC {
padding: 0 20rpx;
height: 70rpx;
}
.eventDetailsC .historyEventList .expectScoreC .icon {
margin-right: 14rpx;
width: 24rpx;
height: auto;
}
.eventDetailsC .historyEventList .expectScoreC .score {
font-size: 24rpx;
font-weight: 500;
color: #FFF6F0;
}
.eventDetailsC .historyEventList .expectScoreC .tips {
margin-left: 14rpx;
width: 24rpx;
height: auto;
}
.eventDetailsC .historyEventList .list .item .eventLineC {
padding: 30rpx 34rpx 0 25rpx;
}
.eventDetailsC .historyEventList .list .item .eventLineC .line {
width: 1rpx;
border-left: dashed 1rpx #F3C368;
height: calc(100% - 10rpx);
}
.eventDetailsC .historyEventList .list .item .eventLineC .point {
top: 0;
left: 14rpx;
width: 20rpx;
height: auto;
}
.eventDetailsC .historyEventList .list .item .eventInfoC {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx;
padding-top: 27rpx;
min-width: 0;
border-radius: 10rpx;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .titleCorrelationC {
padding: 0 24rpx 0 30rpx;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .titleCorrelationC .title {
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 28rpx;
font-weight: bold;
color: #222;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .titleCorrelationC .correlation {
background-color: #FFF8EB;
padding: 0 12rpx;
line-height: 40rpx;
border-radius: 5rpx;
font-size: 22rpx;
font-weight: 500;
color: #EFB342;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .content {
margin: 16rpx 30rpx 0;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .content .ai {
color: #C00000;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .increaseRateList {
white-space: nowrap;
padding: 0 30rpx;
margin-top: 24rpx;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .increaseRateList .rateItem {
display: inline-block;
margin-right: 15rpx;
line-height: 44rpx;
padding: 0 14rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .increaseRateList .rateItem .arrow {
width: 15rpx;
height: auto;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .increaseRateList .rateItem.up {
background-color: #EC3440;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .increaseRateList .rateItem.down {
background-color: #355422;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .relatedStockTimeC {
padding-right: 28rpx;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .relatedStockTimeC .relatedStockC {
padding: 16rpx 30rpx;
font-size: 24rpx;
font-weight: bold;
color: #070707;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .relatedStockTimeC .relatedStockC .icon {
margin-right: 13rpx;
width: 24rpx;
height: auto;
}
.eventDetailsC .historyEventList .list .item .eventInfoC .relatedStockTimeC .time {
font-size: 22rpx;
font-weight: 500;
color: #aaa;
text-align: right;
}
.bottomC {
background-color: #131313;
padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom));
left: 0;
right: 0;
bottom: 0;
}
.bottomC .inputC {
background-color: #424143;
margin-right: 20rpx;
padding: 0 33rpx;
height: 70rpx;
border-radius: 35rpx;
}
.bottomC .inputC input {
height: 100%;
font-size: 26rpx;
font-weight: 500;
}
.bottomC .item {
font-size: 30rpx;
font-weight: bold;
color: #bdbdbd;
text-align: center;
}
.bottomC .item .icon {
margin: 0 20rpx;
width: 40rpx;
height: auto;
}
.popup {
background-color: white;
}
.popup .titleCloseC {
padding-left: 25rpx;
font-size: 32rpx;
font-weight: bold;
color: #222;
}
.popup .titleCloseC .closeC {
padding: 28rpx;
}
.popup .titleCloseC .closeC .icon {
width: 28rpx;
height: auto;
}
.popup .list {
margin: 0 25rpx;
border-top: solid 1rpx #E4E4E4;
max-height: 1200rpx;
}
.popup .list .item {
padding-top: 30rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.popup .list .item .originComment {
display: flex;
}
.popup .list .item .originComment .avatar {
margin-right: 23rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.popup .list .item .originComment .nickname {
font-size: 28rpx;
font-weight: bold;
color: #111;
}
.popup .list .item .originComment .content {
margin-top: 10rpx;
line-height: 1.2rem;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.popup .list .item .originComment .timeReplyLikeC .time {
margin-right: 36rpx;
font-size: 26rpx;
font-weight: 500;
color: #aaa;
}
.popup .list .item .originComment .timeReplyLikeC .reply {
font-size: 26rpx;
font-weight: 500;
color: #F97316;
}
.popup .list .item .originComment .timeReplyLikeC .likeC {
padding: 14rpx 0;
font-size: 28rpx;
font-weight: bold;
color: #999;
}
.popup .list .item .originComment .timeReplyLikeC .likeC .icon {
margin-right: 12rpx;
width: 27rpx;
height: auto;
}
.popup .list .item .originComment .timeReplyLikeC .likeC.like {
color: #F97316;
}
.popup .list .item .originComment .totalCommentNumC {
padding: 14rpx 0 22rpx;
font-size: 26rpx;
font-weight: 500;
color: #999;
}
.popup .list .item .originComment .totalCommentNumC .line {
background-color: #aaa;
margin-right: 18rpx;
width: 30rpx;
height: 2rpx;
}
.popup .list .item .originComment .totalCommentNumC .arrow {
margin-left: 14rpx;
width: 13rpx;
height: auto;
}
.popup .list .item .replyList {
margin-left: 60rpx;
border-top: solid 1rpx #E4E4E4;
}
.popup .list .item .replyList .replyItem {
display: flex;
padding: 22rpx 0;
border-bottom: solid 1rpx #E4E4E4;
}
.popup .list .item .replyList .replyItem .avatar {
margin-right: 23rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.popup .list .item .replyList .replyItem .nickname {
font-size: 28rpx;
font-weight: bold;
color: #111;
}
.popup .list .item .replyList .replyItem .content {
margin-top: 10rpx;
line-height: 1.2rem;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.popup .list .item .replyList .replyItem .timeReplyLikeC .time {
margin-right: 36rpx;
font-size: 26rpx;
font-weight: 500;
color: #aaa;
}
.popup .list .item .replyList .replyItem .timeReplyLikeC .reply {
font-size: 26rpx;
font-weight: 500;
color: #F97316;
}
.popup .list .item .replyList .replyItem .timeReplyLikeC .likeC {
padding: 14rpx 0;
font-size: 28rpx;
font-weight: bold;
color: #999;
}
.popup .list .item .replyList .replyItem .timeReplyLikeC .likeC .icon {
margin-right: 12rpx;
width: 27rpx;
height: auto;
}
.popup .list .item .replyList .replyItem .timeReplyLikeC .likeC.like {
color: #F97316;
}
.popup .list .item .replyList .replyItem:last-child {
border: none;
}
.popup .popBottomC {
padding: 22rpx 25rpx calc(22rpx + env(safe-area-inset-bottom));
}
.popup .popBottomC .inputC {
background-color: #F0F0F0;
padding: 0 33rpx;
height: 70rpx;
border-radius: 35rpx;
}
.popup .popBottomC .inputC input {
height: 100%;
font-size: 26rpx;
font-weight: 500;
color: #333;
}
.expectScorePopup {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-left: calc(100% - 320rpx - 24rpx);
width: 320rpx;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 10rpx;
}
.expectScorePopup .arrow {
top: -13rpx;
right: 38rpx;
width: 26rpx;
height: auto;
}
.expectScorePopup .tips {
padding: 30rpx 22rpx 20rpx;
font-size: 22rpx;
font-weight: 500;
color: #444;
}
.stockPopup {
background-color: white;
border-radius: 20rpx 20rpx 0 0;
}
.stockPopup .titleCloseC {
padding-left: 25rpx;
font-size: 32rpx;
font-weight: bold;
color: #222;
}
.stockPopup .titleCloseC .closeC {
padding: 28rpx;
}
.stockPopup .titleCloseC .closeC .icon {
width: 28rpx;
height: auto;
}
.stockPopup .list {
border-top: solid 1rpx #E4E4E4;
margin: 0 25rpx;
max-height: 800rpx;
overflow-y: scroll;
}
.stockPopup .list .item {
padding: 36rpx 0 28rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.stockPopup .list .item .titleCorrelationC .title {
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.stockPopup .list .item .titleCorrelationC .correlation {
background-color: #F3C368;
padding: 0 12rpx;
line-height: 40rpx;
border-radius: 5rpx;
font-size: 24rpx;
font-weight: 500;
color: #101213;
}
.stockPopup .list .item .sectorRateC .sector {
display: inline-block;
margin-right: 20rpx;
padding: 0 11rpx;
line-height: 30rpx;
border-radius: 5rpx;
border: solid 0.5px #F6604A;
font-size: 20rpx;
font-weight: 500;
color: #F6604A;
}
.stockPopup .list .item .sectorRateC .rateC {
display: inline-block;
padding: 0 10rpx;
height: 30rpx;
border-radius: 5rpx;
font-size: 20rpx;
font-weight: 500;
color: white;
}
.stockPopup .list .item .sectorRateC .rateC .arrow {
width: 15rpx;
height: auto;
}
.stockPopup .list .item .sectorRateC .rateC.up {
background-color: #C00000;
}
.stockPopup .list .item .sectorRateC .rateC.down {
background-color: #355422;
}
.stockPopup .list .item .content {
margin-top: 16rpx;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.stockPopup .list .item .content .ai {
color: #C00000;
}
.vipPopup {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 95rpx;
padding-bottom: 34rpx;
width: 560rpx;
border-radius: 10rpx;
}
.vipPopup .topIcon {
margin: -60rpx 0 0 calc((100% - 143rpx)/2);
width: 143rpx;
height: auto;
}
.vipPopup .popTitle {
margin-top: 28rpx;
font-size: 40rpx;
font-weight: bold;
color: #101213;
text-align: center;
}
.vipPopup .popSubtitle {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #493F2B;
text-align: center;
}
.vipPopup .moduleC {
background-color: white;
margin: 0 30rpx 20rpx;
padding-top: 25rpx;
border-radius: 10rpx;
}
.vipPopup .moduleC .section {
padding: 0 25rpx;
font-size: 26rpx;
font-weight: bold;
color: #333;
}
.vipPopup .moduleC .section .version {
margin-left: 18rpx;
padding: 0 15rpx;
line-height: 32rpx;
border-radius: 10rpx;
font-size: 22rpx;
}
.vipPopup .moduleC .section .version.free {
background-color: #3D3D3D;
color: #FEFCFB;
}
.vipPopup .moduleC .section .version.pro {
background-color: #F2C367;
color: #3D3D3D;
}
.vipPopup .moduleC .visitC {
margin: 18rpx 24rpx 0;
height: 60rpx;
}
.vipPopup .moduleC .visitC .line {
background-color: #F2C367;
top: 0;
left: 0;
width: 44rpx;
height: 100%;
border-radius: 7rpx 0 0 7rpx;
}
.vipPopup .moduleC .visitC .contentC {
background-color: #F7F7F7;
margin-left: 6rpx;
padding: 0 15rpx;
height: 100%;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: 500;
color: #3D3D3D;
}
.vipPopup .moduleC .visitC .contentC .icon {
margin-right: 14rpx;
width: 25rpx;
height: auto;
}
.vipPopup .moduleC .list {
padding-bottom: 10rpx;
}
.vipPopup .moduleC .list .item {
padding: 10rpx 25rpx;
font-size: 24rpx;
font-weight: 500;
color: #333;
}
.vipPopup .moduleC .list .item .icon {
margin-right: 13rpx;
width: 27rpx;
height: auto;
}
.vipPopup .moduleC.visit {
margin-top: 20rpx;
padding-bottom: 25rpx;
}
.vipPopup .btnC {
margin: 28rpx 92rpx 0;
}
.vipPopup .btnC .btn {
line-height: 60rpx;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: bold;
text-align: center;
}
.vipPopup .btnC .btn.later {
background-color: #EDEDED;
margin-right: 56rpx;
}
.vipPopup .btnC .btn.upgrade {
background-color: #F2C367;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "uni-app",
"enablePullDownRefresh": false,
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,577 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.topC {
left: 0;
right: 0;
}
.topC .searchC {
background-color: #292929B3;
margin: 20rpx 25rpx 0;
padding: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500;
}
.topC .searchC .icon {
margin-right: 12rpx;
width: 25rpx;
height: auto;
}
.topC .searchC input {
height: 100%;
color: white;
}
.topC .screenC {
margin: 0 25rpx;
border-bottom: solid 1rpx #373737;
}
.topC .screenC .item {
padding: 0 8rpx;
height: 64rpx;
font-size: 24rpx;
color: #CCCDD1;
}
.topC .screenC .item .icon {
margin-right: 13rpx;
width: 17rpx;
height: auto;
}
.topC .screenC .item .arrow {
margin-left: 9rpx;
width: 11rpx;
height: auto;
}
.topC .screenC .item:first-child .icon {
margin-right: 12rpx;
width: 20rpx;
height: auto;
}
.topC .screenC .item.level .icon {
margin-right: 13rpx;
width: 16rpx;
height: auto;
}
.topC .timeCategoryC {
margin-top: 10rpx;
}
.topC .timeCategoryC .item {
line-height: 60rpx;
font-size: 32rpx;
color: #CCCDD1;
text-align: center;
}
.topC .timeCategoryC .item.select {
font-weight: bold;
color: #F3C368;
}
.topC .topCategoryC {
white-space: nowrap;
}
.topC .topCategoryC .item {
display: inline-block;
line-height: 72rpx;
padding: 0 28rpx;
font-size: 27rpx;
font-weight: 500;
color: #939393;
}
.topC .topCategoryC .item.select {
font-weight: bold;
color: #F3C368;
}
.topC .topCategoryC .item.select .line {
background-color: #F3C368;
left: calc((100% - 50rpx)/2);
width: 50rpx;
height: 2rpx;
bottom: 0;
}
.topC .secondCategoryC {
white-space: nowrap;
padding: 21rpx 20rpx;
}
.topC .secondCategoryC .item {
display: inline-block;
line-height: 44rpx;
padding: 0 11rpx;
font-size: 24rpx;
font-weight: 500;
color: #42485B;
}
.topC .secondCategoryC .item.select {
background-color: #FFF6F0;
color: #F97316;
border-radius: 5rpx;
}
.eventListC {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
overflow-y: scroll;
}
.eventListC .list {
padding: 0 25rpx;
}
.eventListC .list .item {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx;
padding: 30rpx 0;
border-radius: 10rpx;
}
.eventListC .list .item .levelTitleC {
padding: 0 18rpx 0 20rpx;
}
.eventListC .list .item .levelTitleC .level {
margin-right: 18rpx;
width: 50rpx;
line-height: 40rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: white;
text-align: center;
}
.eventListC .list .item .levelTitleC .level.S {
background-color: #CC4C02;
}
.eventListC .list .item .levelTitleC .level.A {
background-color: #EC7014;
}
.eventListC .list .item .levelTitleC .level.B {
background-color: #FB9A29;
}
.eventListC .list .item .levelTitleC .level.C {
background-color: #FEC44F;
}
.eventListC .list .item .levelTitleC .title {
font-size: 30rpx;
font-weight: bold;
color: #3D3D3D;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.eventListC .list .item .content {
margin: 20rpx 22rpx 0;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
word-break: break-all;
}
.eventListC .list .item .content.retract {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
text-overflow: ellipsis;
overflow: hidden;
}
.eventListC .list .item .increaseRateList {
white-space: nowrap;
margin: 20rpx 22rpx 0;
}
.eventListC .list .item .increaseRateList .rateItem {
display: inline-block;
margin-right: 15rpx;
line-height: 44rpx;
padding: 0 14rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.eventListC .list .item .increaseRateList .rateItem .arrow {
width: 15rpx;
height: auto;
}
.eventListC .list .item .increaseRateList .rateItem.up {
background-color: #EC3440;
}
.eventListC .list .item .increaseRateList .rateItem.down {
background-color: #355422;
}
.eventListC .list .item .stockList {
white-space: nowrap;
margin-top: 20rpx;
}
.eventListC .list .item .stockList .stockItem {
background-color: #F8F8F8;
margin-right: 21rpx;
display: inline-block;
padding: 0 20rpx;
line-height: 60rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.eventListC .list .item .stockList .stockItem .change.down {
color: #355422;
}
.eventListC .list .item .stockList .stockItem .change.up {
color: #F97316;
}
.eventListC .list .item .timeToolBarC {
margin-top: 20rpx;
}
.eventListC .list .item .timeToolBarC .time {
margin-left: 22rpx;
font-size: 22rpx;
font-weight: 500;
color: #666;
}
.eventListC .list .item .timeToolBarC .toolBarC .toolItem {
padding: 0 20rpx;
font-size: 26rpx;
font-weight: bold;
color: #666;
}
.eventListC .list .item .timeToolBarC .toolBarC .toolItem .icon {
margin-right: 13rpx;
width: 29rpx;
height: auto;
}
.eventListC .list .item .timeToolBarC .toolBarC .toolItem:first-child .icon {
margin-right: 15rpx;
width: 33rpx;
height: auto;
}
.screenPopup {
background-color: white;
border-radius: 0 0 20rpx 20rpx;
overflow: hidden;
}
.screenPopup .navC {
padding: 0 25rpx;
font-size: 36rpx;
font-weight: bold;
}
.screenPopup .navC .icon {
margin-right: 12rpx;
width: 32rpx;
height: auto;
}
.screenPopup .screenC {
margin: 20rpx 25rpx 0;
border-bottom: solid 1rpx #F0F0F0;
}
.screenPopup .screenC .item {
padding: 0 8rpx;
height: 64rpx;
font-size: 24rpx;
color: #3E3E3E;
}
.screenPopup .screenC .item .icon {
margin-right: 13rpx;
width: 17rpx;
height: auto;
}
.screenPopup .screenC .item .arrow {
margin-left: 9rpx;
width: 11rpx;
height: auto;
}
.screenPopup .screenC .item:first-child .icon {
margin-right: 12rpx;
width: 20rpx;
height: auto;
}
.screenPopup .screenC .item.level .icon {
margin-right: 13rpx;
width: 16rpx;
height: auto;
}
.screenPopup .quickTimeC {
padding: 30rpx 48rpx 20rpx;
}
.screenPopup .quickTimeC .item {
margin: 0 32rpx 30rpx 0;
width: calc((100% - 96rpx)/4);
line-height: 58rpx;
border-radius: 30rpx;
border: solid 1rpx #4E4E4E;
font-size: 24rpx;
font-weight: 500;
color: #4E4E4E;
text-align: center;
}
.screenPopup .quickTimeC .item:nth-child(4n) {
margin-right: 0;
}
.screenPopup .quickTimeC .item.select {
border: solid 1rpx #F3C368;
color: #F3C368;
}
.screenPopup .dateRangeC {
padding: 0 25rpx;
border-radius: 5rpx;
}
.screenPopup .dateRangeC .dateC {
background-color: #F7F7F7;
height: 76rpx;
border-radius: 38rpx;
font-size: 24rpx;
font-weight: 500;
color: #999;
}
.screenPopup .dateRangeC .dateC .icon {
margin-right: 17rpx;
width: 28rpx;
height: auto;
}
.screenPopup .dateRangeC .dateC.select {
border: solid 1rpx #F3C368;
color: #F3C368;
}
.screenPopup .dateRangeC .line {
background-color: #999;
margin: 0 12rpx;
width: 36rpx;
height: 2rpx;
}
.screenPopup .dateList {
width: 50%;
height: 430rpx;
}
.screenPopup .dateList .item {
line-height: 43px;
font-size: 32rpx;
font-weight: 500;
color: #778595;
text-align: center;
}
.screenPopup .industrySearchC {
background-color: #F6F6F6;
margin: 30rpx 25rpx 0;
padding: 0 22rpx;
height: 75rpx;
border: solid 1rpx #DBDBDB;
border-radius: 10rpx;
font-size: 26rpx;
font-weight: 500;
}
.screenPopup .industrySearchC .icon {
margin-right: 16rpx;
width: 30rpx;
height: auto;
}
.screenPopup .industryCategoryC {
margin-top: 38rpx;
display: flex;
}
.screenPopup .industryCategoryC .topCategoryList {
background-color: #F8F7FD;
height: 736rpx;
overflow-y: scroll;
}
.screenPopup .industryCategoryC .topCategoryList .item {
padding: 0 26rpx;
width: 175rpx;
line-height: 90rpx;
font-size: 28rpx;
font-weight: 500;
color: #333;
}
.screenPopup .industryCategoryC .topCategoryList .item.select {
background-color: white;
font-weight: bold;
color: #E7A933;
}
.screenPopup .industryCategoryC .topCategoryList .item.select .line {
background-color: #F3C368;
top: calc((100% - 25rpx)/2);
left: 0;
width: 8rpx;
height: 25rpx;
border-radius: 0 5rpx 5rpx 0;
}
.screenPopup .industryCategoryC .secondCategoryList {
width: 278rpx;
}
.screenPopup .industryCategoryC .secondCategoryList .item {
padding: 0 26rpx;
line-height: 90rpx;
font-size: 28rpx;
font-weight: 500;
color: #333;
}
.screenPopup .industryCategoryC .secondCategoryList .item.select {
font-weight: bold;
color: #E7A933;
}
.screenPopup .industryCategoryC .thirdCategoryList .item {
padding: 0 26rpx;
line-height: 90rpx;
font-size: 28rpx;
font-weight: 500;
color: #333;
}
.screenPopup .industryCategoryC .thirdCategoryList .item.select {
font-weight: bold;
color: #E7A933;
}
.screenPopup .industryCategoryC .thirdCategoryList .item.select .select {
width: 22rpx;
height: auto;
}
.screenPopup .searchResultList {
max-height: 500rpx;
overflow-y: scroll;
}
.screenPopup .searchResultList .item {
padding: 10rpx 44rpx;
font-size: 26rpx;
font-weight: 500;
color: #444;
}
.screenPopup .searchResultList .item .key {
color: #F97316;
}
.screenPopup .industryList {
margin-top: 24rpx;
max-height: 500rpx;
overflow-y: scroll;
}
.screenPopup .industryList .selectCategoryList {
padding: 0 22rpx;
}
.screenPopup .industryList .selectCategoryList .item {
background-color: #FFF1E7;
margin-right: 15rpx;
padding-left: 16rpx;
line-height: 38rpx;
border-radius: 10rpx;
border: solid 0.5px #F97316;
font-size: 22rpx;
font-weight: 500;
color: #F97316;
}
.screenPopup .industryList .selectCategoryList .item .deleteC {
padding: 0 11rpx;
}
.screenPopup .industryList .selectCategoryList .item .deleteC .icon {
width: 15rpx;
height: 15rpx;
}
.screenPopup .industryList .list {
margin-top: 20rpx;
}
.screenPopup .industryList .list .topCategory {
padding: 0 22rpx;
font-size: 28rpx;
font-weight: bold;
color: #F97316;
}
.screenPopup .industryList .list .secondItem {
padding: 0 22rpx;
}
.screenPopup .industryList .list .thirdItem {
padding-left: 36rpx;
}
.screenPopup .industryList .list .forthItem {
padding-left: 36rpx;
}
.screenPopup .industryList .list .forthItem .categoryC.select {
border-bottom: solid 0.5px #F97316;
}
.screenPopup .industryList .list .categoryC {
height: 50rpx;
}
.screenPopup .industryList .list .categoryC .spread {
margin-right: 12rpx;
width: 24rpx;
line-height: 22rpx;
border: solid 0.5px #8C8C8C;
font-size: 22rpx;
color: #8C8C8C;
text-align: center;
}
.screenPopup .industryList .list .categoryC .category {
font-size: 24rpx;
font-weight: 500;
color: #444;
}
.screenPopup .industryList .list .categoryC.select .spread {
color: #F97316;
border: solid 0.5px #F97316;
}
.screenPopup .industryList .list .categoryC.select .category {
color: #F97316;
}
.screenPopup .industryList .list .categoryC.select .selectC {
width: 24rpx;
height: 24rpx;
border: solid 0.5px #F97316;
}
.screenPopup .industryList .list .categoryC.select .selectC .icon {
display: block;
width: 20rpx;
height: auto;
}
.screenPopup .importanceList {
margin-top: 12rpx;
padding: 0 50rpx 25rpx;
}
.screenPopup .importanceList .item {
background-color: #F7F7F7;
margin-bottom: 20rpx;
padding: 0 50rpx;
height: 70rpx;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: 500;
color: #4E4E4E;
}
.screenPopup .importanceList .item.select {
border: solid 2rpx #F3C368;
}
.screenPopup .importanceList .item.select .icon {
width: 26rpx;
height: auto;
}
.screenPopup .sortTypeList {
padding: 0 25rpx 15rpx;
}
.screenPopup .sortTypeList .item {
height: 80rpx;
border-bottom: solid 1rpx #EAEAEA;
font-size: 24rpx;
font-weight: 500;
color: #778595;
}
.screenPopup .sortTypeList .item .icon {
margin-right: 12rpx;
width: 23rpx;
height: auto;
}
.screenPopup .sortTypeList .item.select {
color: #3D3D3D;
}
.screenPopup .sortTypeList .item:last-child {
border: none;
}
.screenPopup .btnC {
overflow: hidden;
}
.screenPopup .btnC .btn {
line-height: 100rpx;
font-size: 28rpx;
text-align: center;
}
.screenPopup .btnC .btn.cancel {
background-color: #F8F7FD;
font-weight: 500;
color: #999;
}
.screenPopup .btnC .btn.certain {
background-color: #F3C368;
font-weight: bold;
color: #101213;
}

View File

@@ -0,0 +1,407 @@
"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 {
navH: common_vendor.inject("navHeight"),
contentTop: "",
navTitle: "",
type: "",
//1事件详情2投资详情
eventId: "",
//事件id
stockCode: "",
//股票code
categoryList: ["分时图", "日K线"],
selectCategory: 0,
tradeData: null,
//成交数据
option: {
title: {
show: false
},
tooltip: {
position: function(pos, params, dom, rect, size) {
var obj = { top: "10%" };
obj[["left", "right"][+(pos[0] < size.viewSize[0] / 2)]] = 5;
return obj;
},
trigger: "axis",
axisPointer: {
type: "cross"
},
formatter: function(params) {
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:89", params);
let res = "日期:" + params[0].name + "\n开盘价" + params[0].data[1] + "\n收盘价" + params[0].data[2] + "\n最低价" + params[0].data[3] + "\n最高价" + params[0].data[4];
return res;
}
},
legend: {
show: false
},
grid: {
top: "10%",
left: "10%",
right: "10%",
bottom: "15%"
},
xAxis: {
type: "category",
data: [],
boundaryGap: false,
axisLine: { onZero: false },
splitLine: { show: false },
min: "dataMin",
max: ""
},
yAxis: {
scale: true,
splitArea: {
show: true
}
},
dataZoom: [
{
type: "inside",
start: 50,
end: 100
},
{
show: true,
type: "slider",
top: "90%",
start: 50,
end: 100
}
],
series: [
{
name: "日K",
type: "candlestick",
data: [],
itemStyle: {
color: "#ffffff",
color0: "#355422",
borderColor: "#c00000",
borderColor0: "#355422"
}
}
]
},
option1: {
title: {
show: false
},
tooltip: {
position: function(pos, params, dom, rect, size) {
var obj = { top: "3%" };
obj[["left", "right"][+(pos[0] < size.viewSize[0] / 2)]] = 5;
return obj;
},
trigger: "axis",
formatter: function(params) {
let res = "时间:" + params[0].name + "\n高" + params[0].data[2] + "\n开" + params[0].data[3] + "\n低" + params[0].data[4] + "\n收" + params[0].data[1] + "\n涨幅" + params[0].data[5] + "%";
return res;
}
},
grid: {
top: "10%",
left: "12%",
right: "14%",
bottom: "10%"
},
xAxis: {
type: "category",
scale: true,
axisLabel: {
customValues: ["09:30", "10:00", "10:30", "11:00", "11:30", "13:00", "13:30", "14:00", "14:30", "15:00"]
}
},
yAxis: {
show: false,
scale: true
},
dataZoom: [
{
type: "inside"
}
],
series: {
name: "分时图",
type: "line",
symbol: "none",
markLine: {
silent: true,
symbol: ["none", "none"],
lineStyle: {
type: "solid",
width: 1,
color: "#dedede"
},
z: 1
},
data: []
},
animation: false
},
relatedDesc: "",
//关联描述
sourceList: [],
//来源列表
getLocalDate: utils_util.getLocalDate
};
},
onLoad(e) {
if (e.code) {
this.type = e.type;
if (e.type == 1) {
this.contentTop = this.navH + 20 / 750 * common_vendor.inject("windowWidth");
this.eventId = e.id;
this.stockCode = e.code;
this.getStockDetailsData();
} else {
this.contentTop = this.navH;
this.navTitle = e.name + "(" + e.code + ")";
this.relatedDesc = e.des;
}
}
},
methods: {
async init() {
const chart = await this.$refs.chartRef.init(echarts);
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:238", chart);
if (this.selectCategory == 0) {
chart.setOption(this.option1);
} else
chart.setOption(this.option);
},
/**
* 点击切换分类
* @param {Object} index
*/
clickCategoryItem(index) {
if (this.selectCategory != index) {
this.selectCategory = index;
if (index == 1) {
this.getStockCandlestickChartData();
} else
this.init();
}
},
/**
* 获取股票详情数据
*/
getStockDetailsData() {
let stockCode = this.stockCode;
let eventId = this.eventId;
request_api.stockDetails(eventId, stockCode).then((res) => {
if (res.code == 200) {
this.navTitle = res.data.basic_info.stock_name + "(" + res.data.basic_info.stock_code + ")";
let data = res.data.minute_chart_data;
this.tradeData = res.data.latest_trade;
let categoryData = [];
let valueData = [];
let open = data[0].open;
for (let item of data) {
categoryData.push(item.time);
let rate = utils_util.accMul(utils_util.accDiv(utils_util.accSub(item.close, open), open).toFixed(4), 100);
let volume = item.volume;
if (volume > 1e4) {
volume = (volume / 1e4).toFixed(0) + "万";
}
let amount = item.amount;
if (amount > 1e4) {
amount = (amount / 1e4).toFixed(0) + "万";
}
valueData.push([item.time, item.close, item.high, item.open, item.low, rate, volume, amount]);
}
let min = open;
let max = 0;
for (let item of valueData) {
let value = item[1];
if (parseFloat(value) < min) {
min = parseFloat(value);
}
if (parseFloat(value) > max) {
max = parseFloat(value);
}
}
let minInterval = (open - min) / 3;
let maxInterval = (max - open) / 3;
let intervalList = [];
if (minInterval > maxInterval) {
for (var i = 3; i > 0; i--) {
intervalList.push(open - i * minInterval);
}
for (var i = 0; i < 4; i++) {
intervalList.push(open + i * minInterval);
}
} else {
for (var i = 3; i > 0; i--) {
intervalList.push(open - i * maxInterval);
}
for (var i = 0; i < 4; i++) {
intervalList.push(open + i * maxInterval);
}
}
this.option1.xAxis.data = categoryData;
this.option1.yAxis.min = intervalList[0].toFixed(2);
this.option1.yAxis.max = intervalList[intervalList.length - 1].toFixed(2);
this.option1.series.data = valueData;
let markData = [];
let time = res.data.event_info.event_start_time.split("T")[1];
time = time.substring(0, 5);
for (let item of intervalList) {
markData.push(
{
xAxis: time,
lineStyle: {
type: "solid",
width: 1,
color: "#ffd700"
},
label: {
position: "middle",
formatter: "事件发生",
color: "#ffd700"
}
},
{
yAxis: item,
label: {
show: true,
position: "start",
color: "#333"
}
},
{
yAxis: item,
label: {
show: true,
position: "end",
formatter: utils_util.accMul(utils_util.accDiv(utils_util.accSub(item, open), open).toFixed(4), 100) + "%",
color: "#333"
}
}
);
}
this.option1.series.markLine.data = markData;
let relatedDesc = res.data.related_desc;
if (relatedDesc) {
this.relatedDesc = relatedDesc.relation_desc;
if (relatedDesc.retrieved_sources) {
this.sourceList = relatedDesc.retrieved_sources;
}
}
this.init();
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 获取股票K线数据
*/
getStockCandlestickChartData() {
let stockCode = this.stockCode;
let param = { chart_type: "minute" };
if (this.selectCategory == 1) {
param.chart_type = "daily";
}
request_api.stockCandlestickChartData(stockCode, param).then((res) => {
let data = res.data;
let categoryData = [];
let valueData = [];
for (let item of data) {
categoryData.push(item.time);
valueData.push([item.open, item.close, item.low, item.high]);
}
this.option.xAxis.data = categoryData;
this.option.series[0].data = valueData;
this.init();
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_l_echart2 = common_vendor.resolveComponent("l-echart");
(_easycom_navBar2 + _easycom_l_echart2)();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
const _easycom_l_echart = () => "../../../uni_modules/lime-echart/components/l-echart/l-echart.js";
if (!Math) {
(_easycom_navBar + _easycom_l_echart)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: $data.navTitle,
hideNavBg: true
}),
b: common_assets._imports_0,
c: $data.type == 1
}, $data.type == 1 ? {
d: common_vendor.f($data.categoryList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: $data.selectCategory == index
}, $data.selectCategory == index ? {} : {}, {
c: common_vendor.n("item relative " + ($data.selectCategory == index ? "select" : "")),
d: index,
e: common_vendor.o(($event) => $options.clickCategoryItem(index), index)
});
})
} : {}, {
e: $data.type == 1 && $data.tradeData
}, $data.type == 1 && $data.tradeData ? common_vendor.e({
f: $data.tradeData.volume > 1e8
}, $data.tradeData.volume > 1e8 ? {
g: common_vendor.t(($data.tradeData.volume / 1e8).toFixed(2))
} : common_vendor.e({
h: $data.tradeData.volume > 1e4
}, $data.tradeData.volume > 1e4 ? {
i: common_vendor.t(($data.tradeData.volume / 1e4).toFixed(2))
} : {
j: common_vendor.t($data.tradeData.volume)
}), {
k: $data.tradeData.amount > 1e8
}, $data.tradeData.amount > 1e8 ? {
l: common_vendor.t(($data.tradeData.amount / 1e8).toFixed(2))
} : common_vendor.e({
m: $data.tradeData.amount > 1e4
}, $data.tradeData.amount > 1e4 ? {
n: common_vendor.t(($data.tradeData.amount / 1e4).toFixed(2))
} : {
o: common_vendor.t($data.tradeData.amount)
})) : {}, {
p: $data.type == 1
}, $data.type == 1 ? {
q: common_vendor.sr("chartRef", "42054871-1")
} : {}, {
r: common_vendor.t($data.relatedDesc),
s: common_vendor.s("margin-top:" + $data.contentTop + "px;"),
t: $data.type == 1 && $data.sourceList.length > 0
}, $data.type == 1 && $data.sourceList.length > 0 ? {
v: common_vendor.f($data.sourceList, (item, index, i0) => {
return {
a: common_vendor.t(item.sentences),
b: common_vendor.t(item.report_title),
c: common_vendor.t(item.author),
d: common_vendor.t($data.getLocalDate(item.declare_date)),
e: index
};
})
} : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/index/stockDetails/stockDetails.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar",
"l-echart": "../../../uni_modules/lime-echart/components/l-echart/l-echart"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="42054871-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="chartDesC relative" style="{{s}}"><view wx:if="{{c}}" class="tabC"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view wx:if="{{e}}" class="volumeAmountC flex"><block wx:if="{{f}}"><text class="volume">成交量:{{g}}亿</text></block><block wx:else><text wx:if="{{h}}" class="volume">成交量:{{i}}万</text><text wx:else class="volume">成交量:{{j}}</text></block><block wx:if="{{k}}"><text class="amount">成交金额:{{l}}亿元</text></block><block wx:else><text wx:if="{{m}}" class="amount">成交金额:{{n}}万元</text><text wx:else class="amount">成交金额:{{o}}元</text></block></view><view wx:if="{{p}}" style="width:700rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="42054871-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{r}}<text class="ai">AI合成</text></view><view class="riskTips"> 【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】 </view></view><view wx:if="{{t}}" class="infoSourceC"><view class="section">信息来源</view><view class="list"><view wx:for="{{v}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>

View File

@@ -0,0 +1,108 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.chartDesC {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 25rpx;
padding-top: 10rpx;
border-radius: 10rpx;
}
.chartDesC .tabC .item {
display: inline-block;
padding: 0 25rpx;
line-height: 60rpx;
font-size: 28rpx;
font-weight: 500;
color: #42485B;
}
.chartDesC .tabC .item.select {
font-weight: bold;
color: #F3C368;
}
.chartDesC .tabC .item.select .line {
background-color: #F3C368;
left: calc((100% - 50rpx)/2);
bottom: 0;
width: 50rpx;
height: 2rpx;
}
.chartDesC .volumeAmountC {
padding: 25rpx;
font-size: 28rpx;
font-weight: bold;
color: #666;
}
.chartDesC .volumeAmountC .volume {
margin-right: 30rpx;
}
.chartDesC .section {
padding: 0 25rpx;
line-height: 80rpx;
font-size: 32rpx;
font-weight: bold;
color: #222;
}
.chartDesC .des {
margin: 0 25rpx;
line-height: 1.4rem;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.chartDesC .des .ai {
color: #EC3440;
}
.chartDesC .riskTips {
margin: 20rpx 25rpx 0;
padding-bottom: 30rpx;
line-height: 1.2rem;
font-size: 22rpx;
color: #A2A2A1;
}
.infoSourceC .section {
padding: 0 25rpx;
line-height: 80rpx;
font-size: 27rpx;
font-weight: bold;
color: #F3C368;
}
.infoSourceC .list {
padding: 0 25rpx;
}
.infoSourceC .list .item {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx;
padding: 30rpx 26rpx;
border-radius: 10rpx;
}
.infoSourceC .list .item .content {
font-size: 24rpx;
font-weight: 500;
color: #222;
}
.infoSourceC .list .item .article {
margin-top: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #666;
text-align: right;
}
.infoSourceC .list .item .authorDateC {
margin-top: 30rpx;
font-size: 22rpx;
font-weight: 500;
color: #AAA;
}
.infoSourceC .list .item .authorDateC .author {
margin-right: 10rpx;
}
.contentC.radius {
margin-top: 10rpx;
border-radius: 20rpx 20rpx 0 0;
}

View File

@@ -0,0 +1,604 @@
"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 _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: "",
keywords: "",
//搜索关键字
isRefreshing: false,
todayDate: "",
//今日日期
calendarDateList: [],
//日历日期
selectMonth: "",
//选中月份
selectMonthIndex: 0,
//选中月份下标
weekList: ["一", "二", "三", "四", "五", "六", "日"],
weekDateList: [],
//当前周日期
monthDateList: [],
//当前月日期
isExpand: false,
//是否展开日期
tabList: ["事件", "数据"],
selectTab: 0,
stockCategoryList: [],
selectTopCategory: 0,
listTop: "",
todayDate: "",
//今日日期
selectDate: "",
//选择查看的日期
progress: 75,
eventList: [],
//事件列表
dataList: [],
//数据列表
page: 1,
loadAll: false,
getLocaleHourMinute: utils_util.getLocaleHourMinute,
replaceAnswerLabel: utils_util.replaceAnswerLabel,
accMul: utils_util.accMul,
isData: false
//是否请求过数据了
};
},
onLoad() {
let date = /* @__PURE__ */ new Date();
this.contentTop = this.navH + (75 + 20) / 750 * common_vendor.inject("windowWidth");
let currentYear = date.getFullYear();
let currentMonth = date.getMonth() + 1;
let currentDay = date.getDate();
this.todayDate = this.selectDate = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
let week = date.getDay() || 7;
let diff = week - 1;
let daysOfWeek = [];
for (var i = 0; i < 7; i++) {
let newDate = /* @__PURE__ */ new Date();
newDate.setDate(currentDay - diff + i);
let newDay = newDate.getDate();
let date2 = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfWeek.push({ date: date2, day: newDay, isToday: newDay == currentDay ? true : false });
}
this.weekDateList = daysOfWeek;
let calendarDateList = [];
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth);
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date2 = new Date(i, j + 1, 0);
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
let currentMonthDay = date2.getDate();
let firstDayWeek = firstDayOfMonth.getDay() || 7;
let daysOfMonth = [];
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0);
newDate.setDate(k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date3 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date3, year: i, month: newMonth, day: newDay, isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false, isCurrentMonth: true, timestamp: time });
}
for (var k = 0; k < firstDayWeek - 1; k++) {
let year = i;
let month = j;
if (j < 1) {
year = i - 1;
month = 12;
}
let lastMonthDay = new Date(year, month, 0).getDate();
let newDate = new Date(year, month - 1, lastMonthDay - k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date3 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.unshift({ date: date3, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
}
let nextMonthFirstDay = new Date(i, j + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
let lastDayWeek = lastDayOfMonth.getDay() || 7;
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i;
let month = j;
if (month > 11) {
month = 0;
year++;
}
let newDate = new Date(year, month + 1, k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date3 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({ date: date3, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
}
calendarDateList.push(daysOfMonth);
}
}
this.calendarDateList = calendarDateList;
this.monthDateList = calendarDateList[this.selectMonthIndex];
this.listTop = this.contentTop + (68 + 40 + 96 + 74 + 70 + 22) / 750 * common_vendor.inject("windowWidth");
Promise.all([this.getStockCategoryListData(), this.getCurrentMonthEventCountData()]).then((res) => {
this.getEventListData();
}).catch((error) => {
});
},
computed: {
circumference() {
return Math.PI * 100;
}
},
methods: {
reloadData() {
this.page = 1;
this.loadAll = false;
if (this.selectTab == 0) {
this.getEventListData();
} else
this.getDataListData();
},
pullDownRefresh() {
this.isRefreshing = true;
this.reloadData();
},
loadMoreData() {
if (!this.loadAll) {
this.page++;
if (this.selectTab == 0) {
this.getEventListData();
} else
this.getDataListData();
}
},
/**
* 点击搜索
*/
clickSearch() {
this.reloadData();
},
/**
* 点击选择月份
*/
clickSelectMonth() {
this.$refs["popup"].open();
},
/**
* 点击今日日期
*/
clickTodayDate() {
if (this.selectDate != this.todayDate) {
this.selectDate = this.todayDate;
let date = /* @__PURE__ */ new Date();
let currentMonth = date.getMonth() + 1;
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.reloadData();
}
},
/**
* 点击展开或收起
*/
clickExpandOrRetract() {
this.isExpand = !this.isExpand;
if (this.isExpand) {
this.listTop = this.contentTop + (68 + 40 + 96 * 6 + 74 + 70 + 74 + 22) / 750 * this.windowWidth;
} else
this.listTop = this.contentTop + (68 + 40 + 96 + 74 + 70 + 74 + 22) / 750 * this.windowWidth;
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--;
let monthList = this.calendarDateList[this.selectMonthIndex];
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
month = item.month;
break;
}
}
this.selectMonth = this.calendarDateList[this.selectMonthIndex][0].year + "-" + (month > 9 ? month : "0" + month);
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.calendarDateList.length - 1) {
this.selectMonthIndex++;
let monthList = this.calendarDateList[this.selectMonthIndex];
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
month = item.month;
break;
}
}
this.selectMonth = this.calendarDateList[this.selectMonthIndex][0].year + "-" + (month > 9 ? month : "0" + month);
}
},
/**
* 选中日期
* @param {Object} item
*/
clickSelectDate(item) {
if (this.selectDate != item.date) {
this.selectDate = item.date;
this.reloadData();
}
},
/**
* 点击切换事件或者数据
*/
clickTabItem(index) {
if (this.selectTab != index) {
this.selectTab = index;
this.reloadData();
}
},
/**
* 选择一级分类
*/
clickTopCategoryItem(index) {
if (this.selectTopCategory != index) {
this.selectTopCategory = index;
this.reloadData();
}
},
/**
* 点击查看事件详情
*/
clickEventItem(id) {
common_vendor.index.navigateTo({
url: "/pages/invest/investDetails/investDetails?id=" + id
});
},
/**
* 获取股票分类
*/
getStockCategoryListData() {
return new Promise((resolve, reject) => {
request_api.stockCategoryList().then((res) => {
if (res.code == 200) {
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 = { start: this.selectDate, q: this.keywords, page: this.page };
if (this.selectTopCategory > 0) {
param.category = this.stockCategoryList[this.selectTopCategory].primary_sector;
}
request_api.calendarEventList(param).then((res) => {
this.isData = true;
this.isRefreshing = false;
if (res.code == 200) {
if (res.data.page == 1) {
this.eventList = res.data.events;
} else
this.eventList = this.eventList.concat(res.data.events);
if (res.data.page == res.data.total_pages) {
this.loadAll = true;
}
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
this.isRefreshing = false;
this.isData = true;
});
},
/**
* 获取事件列表数据
*/
getDataListData() {
let param = { start: this.selectDate, q: this.keywords, page: this.page };
if (this.selectTopCategory > 0) {
param.category = this.stockCategoryList[this.selectTopCategory].primary_sector;
}
request_api.calendarDataList(param).then((res) => {
this.isRefreshing = false;
if (res.code == 200) {
this.dataList = res.data.data_list;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
this.isRefreshing = false;
});
},
/**
* 获取当前月份每一天的事件数量
*/
getCurrentMonthEventCountData() {
return new Promise((resolve, reject) => {
request_api.calendarEventCount().then((res) => {
for (let item of res) {
let date = item.start;
for (let s of this.weekDateList) {
if (s.date == date) {
s.eventCount = item.title;
s.className = item.className;
}
}
for (let s of this.monthDateList) {
if (s.date == date) {
s.eventCount = item.title;
s.className = item.className;
}
}
}
resolve(1);
}).catch((error) => {
reject(1);
});
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_ua_markdown2 = common_vendor.resolveComponent("ua-markdown");
const _easycom_zui_progress_circle2 = common_vendor.resolveComponent("zui-progress-circle");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
(_easycom_navBar2 + _easycom_ua_markdown2 + _easycom_zui_progress_circle2 + _easycom_uni_popup2)();
}
const _easycom_navBar = () => "../../components/navBar/navBar.js";
const _easycom_ua_markdown = () => "../../components/ua-markdown/ua-markdown.js";
const _easycom_zui_progress_circle = () => "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle.js";
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
(_easycom_navBar + _easycom_ua_markdown + _easycom_zui_progress_circle + _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: common_vendor.o(($event) => $options.clickSearch()),
e: $data.keywords,
f: common_vendor.o(($event) => $data.keywords = $event.detail.value),
g: common_vendor.s("top:" + $data.navH + "px;"),
h: common_vendor.t($data.selectDate),
i: common_vendor.o(($event) => $options.clickSelectMonth()),
j: common_vendor.o(($event) => $options.clickTodayDate()),
k: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
l: $data.isExpand
}, $data.isExpand ? {
m: common_vendor.f($data.monthDateList, (item, index, i0) => {
return common_vendor.e({
a: item.className
}, item.className ? common_vendor.e({
b: item.className == "bg-gradient-danger"
}, item.className == "bg-gradient-danger" ? {
c: common_vendor.t(item.day),
d: common_vendor.t(item.eventCount),
e: common_vendor.n("item flexColumnCenter danger " + ($data.selectDate == item.date ? "select" : "")),
f: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
g: item.className == "bg-gradient-warning"
}, item.className == "bg-gradient-warning" ? {
h: common_vendor.t(item.day),
i: common_vendor.t(item.eventCount),
j: common_vendor.n("item flexColumnCenter warning " + ($data.selectDate == item.date ? "select" : "")),
k: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
l: item.className == "bg-gradient-info"
}, item.className == "bg-gradient-info" ? {
m: common_vendor.t(item.day),
n: common_vendor.t(item.eventCount),
o: common_vendor.n("item flexColumnCenter info " + ($data.selectDate == item.date ? "select" : "")),
p: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
q: item.className == "bg-gradient-success"
}, item.className == "bg-gradient-success" ? {
r: common_vendor.t(item.day),
s: common_vendor.t(item.eventCount),
t: common_vendor.n("item flexColumnCenter success " + ($data.selectDate == item.date ? "select" : "")),
v: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}) : {
w: common_vendor.t(item.day),
x: common_vendor.n("date " + (item.isCurrentMonth ? "" : " notCurrentMonth"))
}, {
y: index
});
})
} : {
n: common_vendor.f($data.weekDateList, (item, index, i0) => {
return common_vendor.e({
a: item.className
}, item.className ? common_vendor.e({
b: item.className == "bg-gradient-danger"
}, item.className == "bg-gradient-danger" ? {
c: common_vendor.t(item.day),
d: common_vendor.t(item.eventCount),
e: common_vendor.n("item flex1 flexColumnCenter danger " + ($data.selectDate == item.date ? "select" : "")),
f: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
g: item.className == "bg-gradient-warning"
}, item.className == "bg-gradient-warning" ? {
h: common_vendor.t(item.day),
i: common_vendor.t(item.eventCount),
j: common_vendor.n("item flex1 flexColumnCenter warning " + ($data.selectDate == item.date ? "select" : "")),
k: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
l: item.className == "bg-gradient-info"
}, item.className == "bg-gradient-info" ? {
m: common_vendor.t(item.day),
n: common_vendor.t(item.eventCount),
o: common_vendor.n("item flex1 flexColumnCenter info " + ($data.selectDate == item.date ? "select" : "")),
p: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}, {
q: item.className == "bg-gradient-success"
}, item.className == "bg-gradient-success" ? {
r: common_vendor.t(item.day),
s: common_vendor.t(item.eventCount),
t: common_vendor.n("item flex1 flexColumnCenter success " + ($data.selectDate == item.date ? "select" : "")),
v: common_vendor.o(($event) => $options.clickSelectDate(item), index)
} : {}) : {
w: common_vendor.t(item.day),
x: common_vendor.t(item.className ? item.eventCount : ""),
y: common_vendor.o(($event) => $options.clickSelectDate(item), index)
}, {
z: index
});
})
}, {
o: common_vendor.t($data.isExpand ? "收起" : "展开"),
p: $data.isExpand
}, $data.isExpand ? {
q: common_assets._imports_2$2
} : {
r: common_assets._imports_4$1
}, {
s: common_vendor.o(($event) => $options.clickExpandOrRetract()),
t: common_vendor.f($data.tabList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectTab == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickTabItem(index), index)
};
}),
v: $data.selectTab == 0
}, $data.selectTab == 0 ? {
w: common_vendor.f($data.eventList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t($data.getLocaleHourMinute(item.start_time)),
b: common_vendor.f(5, (sitem, sindex, i1) => {
return {
a: sindex < item.category.star_rating ? "/static/icon/invest/star_s.png" : "/static/icon/invest/star.png"
};
}),
c: index,
d: common_vendor.t(item.category.event_type),
e: common_vendor.t(item.title),
f: "2cf1ca64-1-" + i0,
g: common_vendor.p({
source: $data.replaceAnswerLabel(item.description)
}),
h: item.related_concepts
}, item.related_concepts ? {
i: common_vendor.f(item.related_concepts, (citem, cindex, i1) => {
return {
a: common_vendor.t(citem.name),
b: common_vendor.t($data.accMul(citem.score, 100)),
c: "2cf1ca64-2-" + i0 + "-" + i1,
d: common_vendor.p({
position: citem.score,
range: [270, 630],
size: 26,
["ring-width"]: 2,
texture: ["#F3C368", "#E3E3E3"]
}),
e: cindex
};
})
} : {}, {
j: index,
k: common_vendor.o(($event) => $options.clickEventItem(item.id), index)
});
})
} : {}, {
x: $data.selectTab == 1
}, $data.selectTab == 1 ? {
y: common_vendor.f($data.dataList, (item, index, i0) => {
return {
a: common_vendor.t($data.getLocaleHourMinute(item.created_at)),
b: common_vendor.f(5, (sitem, sindex, i1) => {
return {
a: sindex < item.star ? "/static/icon/invest/star_s.png" : "/static/icon/invest/star.png"
};
}),
c: index,
d: common_vendor.t(item.title),
e: common_vendor.t(item.former),
f: common_vendor.t(item.forecast ? item.forecast : "--"),
g: common_vendor.t(item.fact ? item.fact : "--"),
h: index
};
})
} : {}, {
z: $data.isData && ($data.selectTab == 0 && $data.eventList.length == 0 || $data.selectTab == 1 && $data.dataList.length == 0)
}, $data.isData && ($data.selectTab == 0 && $data.eventList.length == 0 || $data.selectTab == 1 && $data.dataList.length == 0) ? {
A: common_assets._imports_4
} : {}, {
B: common_vendor.s("top:" + $data.contentTop + "px;"),
C: $data.isRefreshing,
D: common_vendor.o(($event) => $options.pullDownRefresh()),
E: common_vendor.o(($event) => $options.loadMoreData()),
F: common_assets._imports_5,
G: common_vendor.o(($event) => $options.clickPreMonth()),
H: common_vendor.t($data.selectMonth),
I: common_assets._imports_6,
J: common_vendor.o(($event) => $options.clickNextMonth()),
K: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
L: common_vendor.f($data.calendarDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.isToday || item.date == $data.selectDate
}, item.isToday || item.date == $data.selectDate ? {
b: common_vendor.t(item.day)
} : common_vendor.e({
c: !item.isCurrentMonth
}, !item.isCurrentMonth ? {
d: common_vendor.t(item.day)
} : {
e: common_vendor.t(item.day)
}), {
f: index,
g: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
}),
M: common_vendor.s("margin-top:" + $data.navH + "px;"),
N: common_vendor.sr("popup", "2cf1ca64-3"),
O: 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/invest/invest.js.map

View File

@@ -0,0 +1,10 @@
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"ua-markdown": "../../components/ua-markdown/ua-markdown",
"zui-progress-circle": "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,491 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.searchC {
background-color: #292929B3;
left: 0;
right: 0;
margin: 20rpx 25rpx 0;
padding: 0 25rpx;
height: 70rpx;
border: solid 1rpx #363636;
border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500;
}
.searchC .icon {
margin-right: 16rpx;
width: 30rpx;
height: auto;
}
.searchC input {
height: 100%;
color: white;
}
.searchC .line {
background-color: #E1E1E1;
width: 1rpx;
height: 40rpx;
}
.searchC .search {
padding: 0 25rpx;
color: #F97316;
}
.contentC {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
margin-top: 20rpx;
overflow-y: scroll;
}
.contentC .calendarC {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 25rpx;
border-radius: 20rpx;
}
.contentC .calendarC .todayC {
padding: 12rpx 26rpx;
}
.contentC .calendarC .todayC .todayDateC {
font-size: 32rpx;
font-weight: bold;
color: #3D3D3D;
}
.contentC .calendarC .todayC .todayDateC .icon {
margin-left: 16rpx;
width: 30rpx;
height: auto;
}
.contentC .calendarC .todayC .today {
background-color: #F3C368;
width: 40rpx;
line-height: 40rpx;
border-radius: 50%;
font-size: 26rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
.contentC .calendarC .weekList .item {
line-height: 40rpx;
font-size: 24rpx;
font-weight: 500;
color: #292621;
text-align: center;
}
.contentC .calendarC .weekDateList {
margin-top: 6rpx;
padding: 0 20rpx;
}
.contentC .calendarC .weekDateList .item {
margin-right: 16rpx;
padding: 10rpx 0 6rpx;
border-radius: 5rpx;
}
.contentC .calendarC .weekDateList .item .date {
font-size: 24rpx;
font-weight: bold;
color: #2A2A2A;
}
.contentC .calendarC .weekDateList .item .eventNum {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-top: 2rpx;
font-size: 18rpx;
font-weight: bold;
}
.contentC .calendarC .weekDateList .item:nth-child(7n) {
margin-right: 0;
}
.contentC .calendarC .weekDateList .item.select .date {
color: white;
}
.contentC .calendarC .weekDateList .item.danger {
background-color: #EB4A461A;
color: #EB4A46;
}
.contentC .calendarC .weekDateList .item.select.danger {
background-color: #EB4A46;
color: white;
}
.contentC .calendarC .weekDateList .item.warning {
background-color: #FD9A141A;
color: #FD9A14;
}
.contentC .calendarC .weekDateList .item.select.warning {
background-color: #FD9A14;
color: white;
}
.contentC .calendarC .weekDateList .item.info {
background-color: #16BBCF1A;
color: #16BBCF;
}
.contentC .calendarC .weekDateList .item.select.info {
background-color: #16BBCF;
color: white;
}
.contentC .calendarC .weekDateList .item.success {
background-color: #55AE591A;
color: #55AE59;
}
.contentC .calendarC .weekDateList .item.select.success {
background-color: #55AE59;
color: white;
}
.contentC .calendarC .monthDateList {
margin-top: 6rpx;
padding: 0 20rpx;
}
.contentC .calendarC .monthDateList .item {
margin: 0 16rpx 20rpx 0;
padding: 10rpx 0 6rpx;
width: calc((100% - 96rpx)/7);
border-radius: 5rpx;
}
.contentC .calendarC .monthDateList .item .date {
font-size: 26rpx;
font-weight: bold;
color: #2A2A2A;
}
.contentC .calendarC .monthDateList .item .date.notCurrentMonth {
color: #999;
}
.contentC .calendarC .monthDateList .item .eventNum {
margin-top: 2rpx;
font-size: 18rpx;
font-weight: bold;
}
.contentC .calendarC .monthDateList .item:nth-child(7n) {
margin-right: 0;
}
.contentC .calendarC .monthDateList .item.select .date {
color: white;
}
.contentC .calendarC .monthDateList .item.danger {
background-color: #EB4A461A;
color: #EB4A46;
}
.contentC .calendarC .monthDateList .item.select.danger {
background-color: #EB4A46;
color: white;
}
.contentC .calendarC .monthDateList .item.warning {
background-color: #FD9A141A;
color: #FD9A14;
}
.contentC .calendarC .monthDateList .item.select.warning {
background-color: #FD9A14;
color: white;
}
.contentC .calendarC .monthDateList .item.info {
background-color: #16BBCF1A;
color: #16BBCF;
}
.contentC .calendarC .monthDateList .item.select.info {
background-color: #16BBCF;
color: white;
}
.contentC .calendarC .monthDateList .item.success {
background-color: #55AE591A;
color: #55AE59;
}
.contentC .calendarC .monthDateList .item.select.success {
background-color: #55AE59;
color: white;
}
.contentC .calendarC .expandBgC {
margin: 0 25rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.contentC .calendarC .expandBgC .expandC {
padding: 20rpx 0;
font-size: 22rpx;
font-weight: 500;
color: #8A857C;
}
.contentC .calendarC .expandBgC .expandC .arrow {
margin-left: 7rpx;
width: 15rpx;
height: auto;
}
.contentC .tabC {
margin-top: 10rpx;
}
.contentC .tabC .item {
display: inline-block;
padding: 0 27rpx;
line-height: 70rpx;
font-size: 32rpx;
color: #CCCDD1;
}
.contentC .tabC .item.select {
color: #F3C368;
}
.contentC .topCategoryC {
white-space: nowrap;
}
.contentC .topCategoryC .item {
display: inline-block;
line-height: 72rpx;
padding: 0 28rpx;
font-size: 27rpx;
font-weight: 500;
color: #939393;
}
.contentC .topCategoryC .item.select {
font-weight: bold;
color: #F3C368;
}
.contentC .topCategoryC .item.select .line {
background-color: #F3C368;
left: calc((100% - 50rpx)/2);
width: 50rpx;
height: 2rpx;
bottom: 0;
}
.eventList {
padding: 18rpx 25rpx;
}
.eventList .item {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx;
padding: 30rpx 20rpx;
border-radius: 10rpx;
}
.eventList .item .timeStarFollowC .time {
margin-right: 22rpx;
font-size: 24rpx;
font-weight: bold;
color: #767676;
}
.eventList .item .timeStarFollowC .starC .starList {
top: 0;
left: 0;
}
.eventList .item .timeStarFollowC .starC .icon {
margin-right: 9rpx;
width: 27rpx;
height: auto;
}
.eventList .item .timeStarFollowC .follow {
background-color: #3D3D3D;
width: 90rpx;
line-height: 40rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: 500;
color: #F2C367;
text-align: center;
}
.eventList .item .timeStarFollowC .follow.select {
background-color: #F3C368;
color: #3D3D3D;
}
.eventList .item .categoryTitleC {
margin-top: 18rpx;
}
.eventList .item .categoryTitleC .category {
background-color: #F3C368;
margin-right: 12rpx;
padding: 0 12rpx;
line-height: 40rpx;
border-radius: 8rpx;
font-size: 24rpx;
font-weight: bold;
color: #070707;
}
.eventList .item .categoryTitleC .title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 28rpx;
font-weight: bold;
color: #3D3D3D;
}
.eventList .item .labelC {
margin-top: 12rpx;
}
.eventList .item .labelC .label {
display: inline-block;
margin-right: 10rpx;
padding: 0 10rpx;
line-height: 30rpx;
font-size: 20rpx;
font-weight: 500;
border-radius: 5rpx;
border: solid 1rpx #333;
}
.eventList .item .content {
margin-top: 20rpx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
text-overflow: ellipsis;
overflow: hidden;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
}
.eventList .item .percentList {
white-space: nowrap;
margin-top: 26rpx;
}
.eventList .item .percentList .percentItem {
display: inline-flex;
align-items: center;
background-color: white;
box-shadow: 0 7rpx 18rpx 0 rgba(217, 217, 217, 0.28);
margin-right: 20rpx;
padding: 0 20rpx;
height: 70rpx;
border-radius: 10rpx;
font-size: 26rpx;
font-weight: bold;
color: #222;
}
.eventList .item .percentList .percentItem zui-progress-circle {
margin-left: 20rpx;
}
.eventList .item .percentList .percentItem .num {
width: 23px;
line-height: 23px;
font-size: 17rpx;
font-weight: bold;
color: #999;
text-align: center;
}
.eventList .item .percentList .percentItem:last-child {
margin-right: 0;
}
.dataList {
padding: 0 25rpx;
}
.dataList .item {
padding: 30rpx 0;
border-bottom: solid 1rpx #E4E4E4;
}
.dataList .item .time {
font-size: 24rpx;
font-weight: bold;
color: #767676;
}
.dataList .item .starC .starList {
top: 0;
left: 0;
}
.dataList .item .starC .icon {
margin-right: 9rpx;
width: 27rpx;
height: auto;
}
.dataList .item .title {
margin-top: 16rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.dataList .item .valueList {
margin-top: 20rpx;
font-size: 26rpx;
font-weight: 500;
color: #666;
}
.noDataC {
margin-top: 200rpx;
font-weight: 500;
}
.noDataC .icon {
width: 412rpx;
height: auto;
}
.noDataC .title {
margin-top: 8rpx;
font-size: 32rpx;
color: #939393;
}
.noDataC .subtitle {
margin-top: 16rpx;
font-size: 26rpx;
color: #646464;
}
.popup {
background-color: white;
padding: 30rpx 0;
}
.popup .yearMonthC {
padding: 0 30rpx;
}
.popup .yearMonthC .yearMonth {
text-align: center;
font-size: 24rpx;
}
.popup .yearMonthC .btn {
background-color: #f8f8f8;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
}
.popup .yearMonthC .btn .icon {
display: block;
width: 24rpx;
height: auto;
}
.popup .weekList {
margin-top: 20rpx;
padding: 0 30rpx;
}
.popup .weekList .item {
line-height: 40rpx;
font-size: 24rpx;
color: #a1a1a1;
text-align: center;
}
.popup .monthDateList {
padding: 0 30rpx;
}
.popup .monthDateList .item {
margin-bottom: 10rpx;
width: calc(100%/7);
}
.popup .monthDateList .item .date {
background-color: #f8f8f8;
width: calc(100% - 10rpx);
line-height: 64rpx;
border-radius: 15rpx;
font-size: 24rpx;
font-weight: bold;
color: #333;
text-align: center;
}
.popup .monthDateList .item .date.today {
background-color: #FF7E1A;
color: white;
}
.popup .monthDateList .item .date.inRange {
background-color: #FFF2EB;
}
.popup .monthDateList .item .date.notCurrentMonth {
background-color: #fdfdfd;
color: #c3c3c3;
}
.popup .monthDateList .item .eventNum {
margin-top: 12rpx;
width: 80rpx;
height: 30rpx;
line-height: 30rpx;
border-radius: 5rpx;
font-size: 16rpx;
font-weight: 500;
color: white;
text-align: center;
}

View File

@@ -0,0 +1,203 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
eventId: "",
//事件id
contentTop: "",
investDetails: null,
former: "",
//背景
categoryList: ["背景", "推演", "相关股票"],
selectCategory: 0,
stockCategoryList: [
{
title: "全部股票",
num: 0,
bgColor: "#D82A2A",
color: "white"
},
{
title: "大周期",
num: 0,
bgColor: "#3A5D9C",
color: "white"
},
{
title: "TMT板块",
num: 0,
bgColor: "#FFBF00",
color: "white"
},
{
title: "大金融地产",
num: 0,
bgColor: "#FFF4D3"
},
{
title: "大消费",
num: 0,
bgColor: "#CDEEEE"
},
{
title: "公共产业板块",
num: 0,
bgColor: "#DEEBF7"
}
],
accMul: utils_util.accMul
};
},
onLoad(e) {
this.contentTop = this.navH + (30 + 72) / 750 * common_vendor.inject("windowWidth");
if (e.id) {
this.eventId = e.id;
this.getEventDetailsData();
}
},
methods: {
/**
* 点击切换栏目
*/
clickCategoryItem(index) {
if (this.selectCategory != index) {
this.selectCategory = index;
}
},
/**
* 点击相关股票
* @param {Object} item 股票数据
*/
clickLookRelatedStockItem(item) {
common_vendor.index.navigateTo({
url: "/pages/index/stockDetails/stockDetails?type=2&code=" + item.code + "&des=" + item.description + "&name=" + item.name
});
},
/**
* 获取事件详情数据
*/
getEventDetailsData() {
request_api.investEventDetails(this.eventId).then((res) => {
if (res.code == 200) {
let detail = res.data.detail;
for (let item of this.stockCategoryList) {
item.num = detail.sector_stats[item.title];
}
this.investDetails = detail;
this.former = detail.former.replace("<answer>", "").replace("</answer>", "");
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_ua_markdown2 = common_vendor.resolveComponent("ua-markdown");
(_easycom_navBar2 + _easycom_ua_markdown2)();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
const _easycom_ua_markdown = () => "../../../components/ua-markdown/ua-markdown.js";
if (!Math) {
(_easycom_navBar + _easycom_ua_markdown)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "事件详情",
hideNavBg: true
}),
b: common_assets._imports_0,
c: common_vendor.f($data.categoryList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item relative " + ($data.selectCategory == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickCategoryItem(index), index)
};
}),
d: common_vendor.s("top:" + $data.navH + "px;"),
e: $data.investDetails
}, $data.investDetails ? common_vendor.e({
f: $data.selectCategory == 0
}, $data.selectCategory == 0 ? {
g: common_vendor.p({
source: $data.former
})
} : {}, {
h: $data.selectCategory == 1
}, $data.selectCategory == 1 ? {
i: common_vendor.p({
source: $data.investDetails.forecast
})
} : {}, {
j: $data.selectCategory == 2
}, $data.selectCategory == 2 ? {
k: common_vendor.f($data.stockCategoryList, (item, index, i0) => {
return {
a: common_vendor.t(item.num),
b: common_vendor.t(item.title),
c: common_vendor.s("background-color:" + item.bgColor + ";color:" + item.color + ";"),
d: index
};
}),
l: common_vendor.f($data.investDetails.related_stocks, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.code + " " + item.name),
b: common_vendor.t(item.score),
c: item.sw_primary_sector
}, item.sw_primary_sector ? {
d: common_vendor.t(item.sw_primary_sector)
} : {}, {
e: common_vendor.t(item.description),
f: index,
g: common_vendor.o(($event) => $options.clickLookRelatedStockItem(item), index)
});
})
} : {}, {
m: $data.selectCategory == 3
}, $data.selectCategory == 3 ? {
n: common_vendor.f(_ctx.conceptList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.concept),
b: item.price_info
}, item.price_info ? {
c: common_vendor.t(_ctx.getChgRateStr(item.price_info.avg_change_pct)),
d: common_vendor.n("chg " + (_ctx.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
e: item.price_info
}, item.price_info ? {
f: common_vendor.t(item.stock_count),
g: common_vendor.n("stockNum " + (_ctx.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up"))
} : {}, {
h: common_vendor.t(item.description),
i: common_vendor.f(item.stocks.slice(0, 3), (sitem, sindex, i1) => {
return {
a: common_vendor.t(sitem.stock_name),
b: sindex
};
}),
j: common_vendor.t(item.stock_count - 3),
k: common_vendor.o(($event) => _ctx.clickStockMore(item), index),
l: common_vendor.t(item.price_info ? item.price_info.trade_date : ""),
m: common_vendor.o(($event) => _ctx.clickHistoricalTimeline(item), index),
n: index
});
}),
o: common_assets._imports_1$3
} : {}, {
p: common_vendor.s("top:" + $data.contentTop + "px;")
}) : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/invest/investDetails/investDetails.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar",
"ua-markdown": "../../../components/ua-markdown/ua-markdown"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="b7e6c0fc-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="categoryC fixed" style="{{d}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view wx:if="{{e}}" class="contentC fixed" style="{{p}}"><view wx:if="{{f}}" class="former"><ua-markdown wx:if="{{g}}" u-i="b7e6c0fc-1" bind:__l="__l" u-p="{{g}}"/><text class="ai">AI合成</text></view><view wx:if="{{h}}" class="former"><ua-markdown wx:if="{{i}}" u-i="b7e6c0fc-2" bind:__l="__l" u-p="{{i}}"/></view><view wx:if="{{j}}" class="stockC"><view class="stockCategoryList flexWrap"><view wx:for="{{k}}" wx:for-item="item" wx:key="d" class="item flexColumnCenter" style="{{item.c}}"><view class="num">{{item.a}}</view><view class="title">{{item.b}}</view></view></view><view class="stockList"><view wx:for="{{l}}" wx:for-item="item" wx:key="f" class="item" bindtap="{{item.g}}"><view class="titleCorrelationC flex"><view class="title flex1">{{item.a}}</view><view class="correlation">相关度: {{item.b}}%</view></view><view wx:if="{{item.c}}" class="category">{{item.d}}</view><view class="content">{{item.e}}</view></view></view></view><view wx:if="{{m}}"><view class="conceptList"><view wx:for="{{n}}" wx:for-item="item" wx:key="n" class="item"><view class="titleChgStockNumC flex"><view class="title">{{item.a}}</view><view wx:if="{{item.b}}" class="{{item.d}}">{{item.c}}%</view><view wx:if="{{item.e}}" class="{{item.g}}">{{item.f}} 只股票</view></view><view class="content">{{item.h}}</view><view class="hotStockC flex"><view class="title">热门个股</view><view class="stockList flex"><view wx:for="{{item.i}}" wx:for-item="sitem" wx:key="b" class="stockItem">{{sitem.a}}</view><view class="more" bindtap="{{item.k}}">+{{item.j}}更多</view></view></view><view class="transactionDateHistoryTimeC flex"><view class="transactionDate flex1">交易时间:{{item.l}}</view><view class="historyTimeC flex" bindtap="{{item.m}}"><image class="icon" src="{{o}}" mode="widthFix"></image><view>历史时间轴</view></view></view></view></view></view></view></view>

View File

@@ -0,0 +1,222 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.categoryC {
margin-top: 10rpx;
padding: 20rpx 10rpx 0;
left: 0;
right: 0;
border-radius: 20rpx 20rpx 0 0;
}
.categoryC .item {
display: inline-block;
padding: 0 30rpx;
line-height: 76rpx;
font-size: 27rpx;
font-weight: 500;
color: #939393;
}
.categoryC .item.select {
font-weight: bold;
color: #F3C368;
}
.contentC {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
left: 0;
right: 0;
bottom: env(safe-area-inset-bottom);
margin: 0 25rpx;
border-radius: 10rpx;
overflow-y: scroll;
}
.contentC .former {
padding: 40rpx 25rpx;
}
.contentC .former .ai {
font-size: 28rpx;
color: #C00000;
}
.contentC .stockCategoryList {
margin-top: 30rpx;
padding: 0 20rpx;
}
.contentC .stockCategoryList .item {
margin: 0 30rpx 20rpx 0;
width: calc((100% - 60rpx)/3);
height: 100rpx;
border-radius: 10rpx;
}
.contentC .stockCategoryList .item .num {
font-size: 36rpx;
font-weight: bold;
}
.contentC .stockCategoryList .item .title {
font-size: 24rpx;
font-weight: 500;
}
.contentC .stockCategoryList .item:nth-child(3n) {
margin-right: 0;
}
.contentC .stockList {
padding: 22rpx 25rpx 30rpx;
}
.contentC .stockList .item {
padding: 22rpx 0 30rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.contentC .stockList .item .title {
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.contentC .stockList .item .correlation {
background-color: #F973161A;
padding: 0 13rpx;
line-height: 40rpx;
border-radius: 5rpx;
font-size: 24rpx;
font-weight: 500;
color: #F97316;
}
.contentC .stockList .item .category {
display: inline-block;
padding: 0 10rpx;
line-height: 28rpx;
border: solid 1rpx #F6604A;
font-size: 20rpx;
font-weight: 500;
color: #F6604A;
border-radius: 5rpx;
}
.contentC .stockList .item .content {
margin-top: 18rpx;
font-size: 24rpx;
font-weight: 500;
color: #666;
line-height: 1.2rem;
}
.contentC .conceptList {
padding: 30rpx 25rpx;
}
.contentC .conceptList .item {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 24rpx;
border-radius: 10rpx;
}
.contentC .conceptList .item .titleChgStockNumC {
padding: 24rpx 18rpx 0;
}
.contentC .conceptList .item .titleChgStockNumC .title {
margin-right: 20rpx;
font-size: 30rpx;
font-weight: bold;
color: #3D3D3D;
}
.contentC .conceptList .item .titleChgStockNumC .chg {
margin-right: 20rpx;
padding: 0 13rpx;
line-height: 40rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.contentC .conceptList .item .titleChgStockNumC .chg.up {
background-color: #EC3440;
}
.contentC .conceptList .item .titleChgStockNumC .chg.down {
background-color: #355422;
}
.contentC .conceptList .item .titleChgStockNumC .stockNum {
padding: 0 16rpx;
line-height: 36rpx;
border-radius: 20rpx;
font-size: 22rpx;
font-weight: bold;
}
.contentC .conceptList .item .titleChgStockNumC .stockNum.up {
color: #EC3440;
border: solid 2rpx #EC3440;
}
.contentC .conceptList .item .titleChgStockNumC .stockNum.down {
color: #355422;
border: solid 2rpx #355422;
}
.contentC .conceptList .item .content {
margin-top: 26rpx;
padding: 0 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.contentC .conceptList .item .hotStockC {
margin-top: 30rpx;
padding: 0 20rpx;
}
.contentC .conceptList .item .hotStockC .title {
margin-right: 10rpx;
font-size: 24rpx;
font-weight: bold;
color: #936E5C;
}
.contentC .conceptList .item .hotStockC .stockList {
font-size: 22rpx;
}
.contentC .conceptList .item .hotStockC .stockList .stockItem {
background-color: #3D3D3D;
margin-right: 10rpx;
padding: 0 8rpx;
line-height: 36rpx;
border-radius: 5rpx 20rpx 5rpx 20rpx;
color: #EFDDD1;
}
.contentC .conceptList .item .hotStockC .stockList .more {
color: #936E5C;
line-height: 36rpx;
}
.contentC .conceptList .item .hotStockC .notVipC {
background-color: #3D3D3D;
padding: 0 21rpx 0 16rpx;
line-height: 36rpx;
border-radius: 5rpx;
font-size: 22rpx;
color: #F3C368;
}
.contentC .conceptList .item .hotStockC .notVipC .icon {
margin-right: 9rpx;
width: 15rpx;
height: auto;
}
.contentC .conceptList .item .transactionDateHistoryTimeC {
padding: 20rpx 22rpx 30rpx;
}
.contentC .conceptList .item .transactionDateHistoryTimeC .transactionDate {
font-size: 20rpx;
font-weight: 500;
color: #666;
}
.contentC .conceptList .item .transactionDateHistoryTimeC .historyTimeC {
background-color: #F3C368;
padding: 0 10rpx 0 15rpx;
line-height: 36rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #101213;
}
.contentC .conceptList .item .transactionDateHistoryTimeC .historyTimeC .icon {
margin-right: 7rpx;
width: 20rpx;
height: auto;
}

View File

@@ -0,0 +1,179 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
const common_assets = require("../../../common/assets.js");
const app = getApp();
const _sfc_main = {
data() {
return {
contentTop: "",
mobile: "",
//手机号
code: "",
//验证码
isAgree: false,
countdown: 0,
//验证码倒计时
getCode: false,
//是否已经获取过验证码
timer: null
//定时器
};
},
onLoad() {
this.contentTop = common_vendor.inject("navHeight") + 230 / 750 * common_vendor.inject("windowWidth");
},
methods: {
/**
* 点击获取验证码
*/
clickGetCode() {
let mobile = this.mobile;
if (!mobile) {
common_vendor.index.showToast({
title: "请输入手机号",
icon: "none"
});
return;
}
if (!app.globalData.mobileReg.test(mobile)) {
common_vendor.index.showToast({
title: "请输入正确格式的手机号",
icon: "none"
});
return;
}
if (this.isSubmiting) {
return;
}
if (this.countdown > 0) {
return;
}
this.isSubmiting = true;
let param = { phone: this.mobile, isJson: 1 };
let that = this;
request_api.sendSMS(param).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
let time = 60;
this.timer = setInterval(() => {
that.isSubmiting = false;
time--;
if (time == 0) {
clearInterval(that.timer);
}
that.getCode = true;
that.countdown = time;
}, 1e3);
}).catch((error) => {
this.isSubmiting = false;
});
},
/**
* 点击立即登录
*/
clickLoginAtOnce() {
if (!this.mobile) {
common_vendor.index.showToast({
title: "请输入手机号",
icon: "none"
});
return;
}
if (!this.code) {
common_vendor.index.showToast({
title: "请输入验证码",
icon: "none"
});
return;
}
if (!this.isAgree) {
common_vendor.index.showToast({
title: "请阅读并同意我们的《用户服务协议》和《隐私政策》",
icon: "none"
});
return;
}
let param = { phone: this.mobile, code: this.code, isJson: 1 };
request_api.loginByPhone(param).then((res) => {
if (res.code == 0) {
common_vendor.index.showToast({
title: res.message
});
common_vendor.index.setStorageSync("token", res.token);
setTimeout(function() {
common_vendor.index.switchTab({
url: "/pages/index/index"
});
}, 1e3);
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 点击一键登录
*/
clickOneClickLogin() {
common_vendor.index.navigateBack();
},
/**
* 点击同意
*/
clickAgree() {
this.isAgree = !this.isAgree;
},
/**
* 点击查看协议
*/
clickProtocol(type) {
common_vendor.index.navigateTo({
url: "/pages/mine/web/web?type=" + type
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "登录",
hideNavBg: true,
backBlack: true
}),
b: common_vendor.s("margin-top:" + $data.contentTop + "px;"),
c: common_assets._imports_0$2,
d: common_assets._imports_1$8,
e: $data.mobile,
f: common_vendor.o(($event) => $data.mobile = $event.detail.value),
g: common_assets._imports_2$6,
h: $data.code,
i: common_vendor.o(($event) => $data.code = $event.detail.value),
j: common_vendor.t($data.getCode ? $data.countdown > 0 ? $data.countdown + "s" : "重新获取验证码" : "获取验证码"),
k: common_vendor.o(($event) => $options.clickGetCode()),
l: common_vendor.o(($event) => $options.clickLoginAtOnce()),
m: common_vendor.o(($event) => $options.clickOneClickLogin()),
n: $data.isAgree
}, $data.isAgree ? {
o: common_assets._imports_3$4
} : {
p: common_assets._imports_4$6
}, {
q: common_vendor.o(($event) => $options.clickAgree())
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/login/codeLogin/codeLogin.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="426e5c02-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="logo" style="{{b}}" src="{{c}}" mode="widthFix"></image><view class="loginTitle">欢迎登录价值前沿平台</view><view class="inputC mobile flex"><image class="icon" src="{{d}}" mode="widthFix"></image><input class="flex1" type="number" placeholder="请输入手机号" placeholder-style="color: #aaa" maxlength="11" value="{{e}}" bindinput="{{f}}"/></view><view class="inputC code flex"><image class="icon" src="{{g}}" mode="widthFix"></image><input class="flex1" type="number" placeholder="请输入验证码" placeholder-style="color: #aaa" value="{{h}}" bindinput="{{i}}"/><view class="getCode" bindtap="{{k}}">{{j}}</view></view><view class="btn loginAtOnce" bindtap="{{l}}">立即登录</view><view class="btn oneClickLogin" bindtap="{{m}}">授权手机号一键登录</view><view class="agreeProtocolC fixed flexCenter"><view class="agreeC" bindtap="{{q}}"><image wx:if="{{n}}" class="icon" src="{{o}}" mode="widthFix"></image><image wx:else class="icon" src="{{p}}" mode="widthFix"></image></view> 阅读并同意我们的<text class="protocol">《用户服务协议》</text>和<text class="protocol">《隐私政策》</text></view></view>

View File

@@ -0,0 +1,81 @@
.logo {
margin-left: calc((100% - 144rpx)/2);
width: 144rpx;
height: auto;
}
.loginTitle {
margin: 40rpx 80rpx 0;
font-size: 40rpx;
font-weight: bold;
text-align: center;
}
.inputC {
background-color: #f8f8f8;
margin: 0 75rpx;
height: 80rpx;
border-radius: 10rpx;
}
.inputC input {
font-size: 26rpx;
font-weight: 500;
}
.inputC.mobile {
margin-top: 40rpx;
padding-left: 29rpx;
}
.inputC.mobile .icon {
margin-right: 13rpx;
width: 26rpx;
height: auto;
}
.inputC.code {
margin-top: 36rpx;
padding-left: 27rpx;
}
.inputC.code .icon {
margin-right: 10rpx;
width: 26rpx;
height: auto;
}
.inputC.code .getCode {
padding: 0 30rpx;
font-size: 26rpx;
font-weight: 500;
color: #F97316;
}
.btn {
margin: 0 75rpx;
line-height: 80rpx;
border-radius: 20rpx;
font-size: 26rpx;
font-weight: 500;
text-align: center;
}
.btn.loginAtOnce {
background-color: #F97316;
margin-top: 60rpx;
color: white;
}
.btn.oneClickLogin {
background-color: #FFF1E8;
margin-top: 28rpx;
color: #F97316;
}
.agreeProtocolC {
left: 0;
right: 0;
bottom: calc(120rpx + env(safe-area-inset-bottom));
font-size: 26rpx;
font-weight: 500;
}
.agreeProtocolC .agreeC {
padding: 14rpx;
}
.agreeProtocolC .agreeC .icon {
display: block;
width: 28rpx;
height: auto;
}
.agreeProtocolC .protocol {
color: #F97316;
}

View File

@@ -0,0 +1,188 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
data() {
return {
contentTop: "",
isAgree: false,
isBindPhone: true
//是否绑定过手机号
};
},
onLoad() {
this.contentTop = common_vendor.inject("navHeight") + 230 / 750 * common_vendor.inject("windowWidth");
this.getIsBindPhoneData();
},
methods: {
/**
* 获取手机号
* @param {Object} e
*/
getPhoneNumData(e) {
common_vendor.index.__f__("log", "at pages/login/login.vue:44", e);
if (e.detail.errMsg == "getPhoneNumber:ok") {
common_vendor.index.login({
provider: "weixin",
success(res) {
common_vendor.index.__f__("log", "at pages/login/login.vue:49", res.code);
let param = { code: res.code, isJson: 1 };
request_api.loginByWx(param).then((res2) => {
if (res2.code == 200) {
let token = res2.data.token;
common_vendor.index.setStorageSync("token", token);
let param2 = { code: e.detail.code };
request_api.wxBindPhone(param2).then((res3) => {
if (res3.code == 200) {
common_vendor.index.showToast({
title: res3.message
});
setTimeout(function() {
common_vendor.index.switchTab({
url: "/pages/index/index"
});
}, 1e3);
} else
common_vendor.index.showToast({
title: res3.message,
icon: "none"
});
}).catch((error) => {
});
} else
common_vendor.index.showToast({
title: res2.message,
icon: "none"
});
}).catch((error) => {
});
},
fail() {
}
});
}
},
/**
* 点击一键登录
*/
clickOneClickLogin() {
if (!this.isAgree) {
common_vendor.index.showToast({
title: "请阅读并同意我们的《用户服务协议》和《隐私政策》",
icon: "none"
});
return;
}
common_vendor.index.login({
provider: "weixin",
success(res) {
common_vendor.index.__f__("log", "at pages/login/login.vue:106", res.code);
let param = { code: res.code, isJson: 1 };
request_api.loginByWx(param).then((res2) => {
if (res2.code == 200) {
let token = res2.data.token;
common_vendor.index.setStorageSync("token", token);
setTimeout(function() {
common_vendor.index.switchTab({
url: "/pages/index/index"
});
}, 1e3);
} else
common_vendor.index.showToast({
title: res2.message,
icon: "none"
});
}).catch((error) => {
});
},
fail() {
}
});
},
/**
* 点击验证码登录
*/
clickCodeLogin() {
common_vendor.index.navigateTo({
url: "/pages/login/codeLogin/codeLogin"
});
},
/**
* 点击同意
*/
clickAgree() {
this.isAgree = !this.isAgree;
},
/**
* 点击查看协议
*/
clickProtocol(type) {
common_vendor.index.navigateTo({
url: "/pages/mine/web/web?type=" + type
});
},
/**
* 获取是否绑定过手机号
*/
getIsBindPhoneData() {
let that = this;
common_vendor.index.login({
provider: "weixin",
success(res) {
common_vendor.index.__f__("log", "at pages/login/login.vue:166", res.code);
let param = { code: res.code, isJson: 1 };
request_api.loginByWx(param).then((res2) => {
if (res2.code == 200) {
that.isBindPhone = res2.data.user.phone ? true : false;
} else
common_vendor.index.showToast({
title: res2.message,
icon: "none"
});
}).catch((error) => {
});
},
fail() {
}
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "登录",
hideNavBg: true,
backBlack: true
}),
b: common_vendor.s("margin-top:" + $data.contentTop + "px;"),
c: common_assets._imports_0$2,
d: !$data.isBindPhone
}, !$data.isBindPhone ? {
e: common_vendor.o((...args) => $options.getPhoneNumData && $options.getPhoneNumData(...args))
} : {}, {
f: common_vendor.o(($event) => $data.isBindPhone ? $options.clickOneClickLogin() : ""),
g: common_vendor.o(($event) => $options.clickCodeLogin()),
h: $data.isAgree
}, $data.isAgree ? {
i: common_assets._imports_3$4
} : {
j: common_assets._imports_4$6
}, {
k: common_vendor.o(($event) => $options.clickAgree()),
l: common_vendor.o(($event) => $options.clickProtocol(2)),
m: common_vendor.o(($event) => $options.clickProtocol(3))
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/login/login.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="f90ca6fc-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="logo" style="{{b}}" src="{{c}}" mode="widthFix"></image><view class="loginTitle">欢迎登录价值前沿平台</view><view class="btn oneClickLogin relative" bindtap="{{f}}"> 授权手机号一键登录 <button wx:if="{{d}}" class="absolute" open-type="getPhoneNumber" bindgetphonenumber="{{e}}"></button></view><view class="btn codeLogin" bindtap="{{g}}">使用短信验证登录</view><view class="agreeProtocolC fixed flexCenter"><view class="agreeC" bindtap="{{k}}"><image wx:if="{{h}}" class="icon" src="{{i}}" mode="widthFix"></image><image wx:else class="icon" src="{{j}}" mode="widthFix"></image></view> 阅读并同意我们的<text class="protocol" bindtap="{{l}}">《用户服务协议》</text>和<text class="protocol" bindtap="{{m}}">《隐私政策》</text></view></view>

View File

@@ -0,0 +1,53 @@
.logo {
margin-left: calc((100% - 144rpx)/2);
width: 144rpx;
height: auto;
}
.loginTitle {
margin: 40rpx 80rpx 0;
font-size: 40rpx;
font-weight: bold;
text-align: center;
}
.btn {
margin: 0 75rpx;
line-height: 80rpx;
border-radius: 20rpx;
font-size: 26rpx;
font-weight: 500;
text-align: center;
}
.btn.oneClickLogin {
background-color: #F97316;
margin-top: 60rpx;
color: white;
}
.btn.oneClickLogin button {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.btn.codeLogin {
background-color: #FFF1E8;
margin-top: 28rpx;
color: #F97316;
}
.agreeProtocolC {
left: 0;
right: 0;
bottom: calc(120rpx + env(safe-area-inset-bottom));
font-size: 26rpx;
font-weight: 500;
}
.agreeProtocolC .agreeC {
padding: 14rpx;
}
.agreeProtocolC .agreeC .icon {
display: block;
width: 28rpx;
height: auto;
}
.agreeProtocolC .protocol {
color: #F97316;
}

View File

@@ -0,0 +1,186 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
require("../../../request/http.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
avatarTop: "",
contentTop: "",
avatar: "",
//选择头像临时地址
avatarUrl: "",
//已上传的链接
nickname: "",
//昵称
mobile: "",
//手机号
sexList: ["男", "女"],
sex: "",
profile: ""
//个人简介
};
},
onLoad() {
this.avatarTop = common_vendor.inject("navHeight") + 60 / 750 * common_vendor.inject("windowWidth");
this.contentTop = this.avatarTop + 75 / 750 * common_vendor.inject("windowWidth");
this.getUserInfoData();
},
methods: {
/**
* 点击选择头像
* @param {Object} e
*/
chooseAvatar(e) {
common_vendor.index.__f__("log", "at pages/mine/basicInfo/basicInfo.vue:71", e);
this.avatar = e.detail.avatarUrl;
},
/**
* 点击选择性别
* @param {Object} e
*/
sexChange(e) {
common_vendor.index.__f__("log", "at pages/mine/basicInfo/basicInfo.vue:80", e);
let value = e.detail.value;
this.sex = this.sexList[value];
},
/**
* 获取手机号
* @param {Object} e
*/
getPhoneNumData(e) {
common_vendor.index.__f__("log", "at pages/mine/basicInfo/basicInfo.vue:90", e);
if (e.detail.errMsg == "getPhoneNumber:ok") {
let param = { code: e.detail.code };
request_api.wxBindPhone(param).then((res) => {
if (res.code == 200) {
common_vendor.index.showToast({
title: res.message
});
this.mobile = res.data.phone;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
},
/**
* 点击完成或下一步
*/
clickFinishOrNext(type) {
if (!this.avatar && !this.avatarUrl) {
common_vendor.index.showToast({
title: "请选择头像",
icon: "none"
});
return;
}
if (!this.nickname) {
common_vendor.index.showToast({
title: "请输入昵称",
icon: "none"
});
return;
}
if (!this.sex) {
common_vendor.index.showToast({
title: "请选择性别",
icon: "none"
});
return;
}
if (this.avatar) {
let param = {
avatar: this.avatar,
nickname: this.nickname,
gender: this.sex == "男" ? "male" : "female",
phone: this.mobile,
bio: this.profile,
isFile: 1
};
request_api.updateBasicInfo(param).then((res) => {
if (type == 1) {
common_vendor.index.navigateTo({
url: "/pages/mine/investPreference/investPreference"
});
} else
common_vendor.index.navigateBack();
}).catch((error) => {
});
} else {
let param = {
nickname: this.nickname,
gender: this.sex == "男" ? "male" : "female",
phone: this.mobile,
bio: this.profile
};
request_api.updateBasicInfo(param).then((res) => {
if (type == 1) {
common_vendor.index.navigateTo({
url: "/pages/mine/investPreference/investPreference"
});
} else
common_vendor.index.navigateBack();
}).catch((error) => {
});
}
},
/**
* 获取用户信息数据
*/
getUserInfoData() {
request_api.userInfo().then((res) => {
if (res.code == 200) {
this.avatarUrl = res.data.basic_info.avatar_url;
this.nickname = res.data.basic_info.nickname;
this.mobile = res.data.basic_info.phone;
this.sex = res.data.basic_info.gender == "male" ? "男" : "女";
this.profile = res.data.basic_info.bio;
} else
common_vendor.wx$1.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "信息完善"
}),
b: common_assets._imports_0,
c: $data.avatar ? $data.avatar : $data.avatarUrl,
d: common_assets._imports_1$5,
e: common_vendor.o((...args) => $options.chooseAvatar && $options.chooseAvatar(...args)),
f: common_vendor.s("top:" + $data.avatarTop + "px;"),
g: $data.nickname,
h: common_vendor.o(($event) => $data.nickname = $event.detail.value),
i: common_vendor.t($data.mobile),
j: common_vendor.o((...args) => $options.getPhoneNumData && $options.getPhoneNumData(...args)),
k: common_vendor.t($data.sex),
l: common_assets._imports_2$5,
m: $data.sexList,
n: common_vendor.o((...args) => $options.sexChange && $options.sexChange(...args)),
o: common_vendor.s("top:" + $data.contentTop + "px;"),
p: common_vendor.o(($event) => $options.clickFinishOrNext(0)),
q: common_vendor.o(($event) => $options.clickFinishOrNext(1))
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/basicInfo/basicInfo.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="8b6eb184-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="avatarC fixed" style="{{f}}"><image class="avatar" src="{{c}}" mode="aspectFill"></image><image class="icon absolute" src="{{d}}" mode="widthFix"></image><button class="absolute" open-type="chooseAvatar" bindchooseavatar="{{e}}"></button></view><view class="basicInfoC fixed" style="{{o}}"><view class="title">基本信息</view><view class="section">昵称</view><view class="inputC"><input type="nickname" value="{{g}}" bindinput="{{h}}"/></view><view class="section">手机号</view><view class="selectC flex relative">{{i}} <button class="absolute" open-type="getPhoneNumber" bindgetphonenumber="{{j}}"></button></view><view class="section">性别</view><picker mode="selector" range="{{m}}" bindchange="{{n}}"><view class="selectC flex"><view class="flex1">{{k}}</view><image class="arrow" src="{{l}}" mode="widthFix"></image></view></picker></view><view class="bottomC fixed flex"><view class="finish btn" bindtap="{{p}}">完成</view><view class="next btn flex1" bindtap="{{q}}">下一步</view></view></view>

View File

@@ -0,0 +1,119 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.avatarC {
left: 0;
margin-left: calc((100% - 150rpx)/2);
width: 150rpx;
z-index: 10;
}
.avatarC .avatar {
width: 100%;
height: 150rpx;
border-radius: 50%;
border: solid 2rpx white;
}
.avatarC .icon {
right: 20rpx;
bottom: 0;
width: 40rpx;
height: auto;
}
.avatarC button {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.basicInfoC {
background-color: white;
left: 0;
right: 0;
bottom: calc(73rpx + 17rpx + 80rpx);
border-radius: 20rpx 20rpx 0 0;
overflow-y: scroll;
}
.basicInfoC .title {
margin: 150rpx 0 0 60rpx;
font-size: 36rpx;
font-weight: bold;
}
.basicInfoC .section {
margin: 0 60rpx;
line-height: 66rpx;
font-size: 26rpx;
font-weight: bold;
}
.basicInfoC .inputC {
background-color: #FBFBFD;
margin: 0 60rpx;
padding: 0 28rpx;
height: 78rpx;
border: solid 2rpx #EFEFF2;
border-radius: 10rpx;
}
.basicInfoC .inputC input {
height: 100%;
font-size: 24rpx;
font-weight: 500;
color: #555;
}
.basicInfoC .selectC {
background-color: #FBFBFD;
margin: 0 60rpx;
padding: 0 25rpx 0 28rpx;
height: 78rpx;
border: solid 2rpx #EFEFF2;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: 500;
color: #555;
}
.basicInfoC .selectC .arrow {
width: 16rpx;
height: auto;
}
.basicInfoC .selectC button {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.basicInfoC .textareaC {
background-color: #FBFBFD;
margin: 0 60rpx;
padding: 20rpx 0 0 28rpx;
border: solid 2rpx #EFEFF2;
border-radius: 2rpx;
}
.basicInfoC .textareaC textarea {
height: 200rpx;
font-size: 24rpx;
font-weight: 500;
color: #555;
}
.bottomC {
left: 0;
right: 0;
bottom: 73rpx;
margin: 0 25rpx;
}
.bottomC .btn {
line-height: 80rpx;
border-radius: 20rpx;
font-size: 26rpx;
text-align: center;
}
.bottomC .finish {
background-color: #FFE9D9;
width: 226rpx;
color: #F97316;
}
.bottomC .next {
background-color: #F97316;
margin-left: 20rpx;
color: white;
}

View File

@@ -0,0 +1,131 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
listTop: "",
tabList: ["评论我的", "我评论的"],
selectTab: 0,
commentList: [],
page: 1,
loadAll: false,
getLocaleMonthDayHourMinte: utils_util.getLocaleMonthDayHourMinte
};
},
onLoad() {
this.listTop = this.navH + (75 + 10) / 750 * common_vendor.inject("windowWidth");
this.getCommentListData();
},
onPullDownRefresh() {
this.page = 1;
this.getCommentListData();
},
onReachBottom() {
if (!this.loadAll) {
this.page++;
this.getCommentListData();
}
},
methods: {
/**
* 点击选择对应分类
* @param {Object} index
*/
clickTabItem(index) {
if (this.selectTab != index) {
this.selectTab = index;
this.getCommentListData();
}
},
/**
* 点击查看事件详情
* @param {Object} id
*/
clickEventItem(id) {
common_vendor.index.navigateTo({
url: "/pages/index/eventDetails/eventDetails?id=" + id
});
},
/**
* 获取评论列表数据
*/
getCommentListData() {
let param = { page: this.page, type: this.selectTab == 0 ? "commented" : "comments" };
request_api.userActivityList(param).then((res) => {
if (res.code == 200) {
if (res.data.current_page == 1) {
this.commentList = res.data.activities;
} else
this.commentList = this.followList.concat(res.data.activities);
if (res.data.current_page == res.data.pages) {
this.loadAll = true;
}
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.p({
leftText: "评论回复"
}),
b: common_assets._imports_0,
c: common_vendor.f($data.tabList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: $data.selectTab == index
}, $data.selectTab == index ? {} : {}, {
c: common_vendor.n("item flex1 relative " + ($data.selectTab == index ? "select" : "")),
d: index,
e: common_vendor.o(($event) => $options.clickTabItem(index), index)
});
}),
d: common_vendor.s("top:" + $data.navH + "px;"),
e: $data.selectTab == 0
}, $data.selectTab == 0 ? {
f: common_vendor.f($data.commentList, (item, index, i0) => {
return {
a: common_vendor.t(item.event.importance),
b: common_vendor.t(item.event.title),
c: index
};
})
} : {
g: common_vendor.f($data.commentList, (item, index, i0) => {
return {
a: item.commenter.avatar_url,
b: common_vendor.t(item.commenter.nickname),
c: common_vendor.t($data.getLocaleMonthDayHourMinte(item.created_at)),
d: common_vendor.t(item.content),
e: common_vendor.t(item.event.importance),
f: common_vendor.t(item.event.title),
g: common_vendor.t(item.event.description),
h: common_vendor.o(($event) => $options.clickEventItem(item.event.id), index),
i: index
};
})
}, {
h: common_vendor.s("top:" + $data.listTop + "px;")
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/commentReply/commentReply.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="dc49bf38-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="tabC fixed flex" style="{{d}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="list fixed" style="{{h}}"><block wx:if="{{e}}"><view wx:for="{{f}}" wx:for-item="item" wx:key="c" class="commentMeItem"><view class="replyContentC"><view class="flex"><view class="flex1 flex"><image class="avatar" src="{{''}}" mode="aspectFill"></image><view class="flex1"><view class="replyNickname">逸尘破晓</view><view class="time">2-15 15:37</view></view></view><view class="reply">回复</view></view><view class="content"> 回复<text class="originNickname">永不落的梦想</text><text>:四部门联合启动的人力资源服务业与制造业融合发展点。</text></view></view><view class="originalTextC"><view class="originReply"><text class="originNickname">永不落的梦想</text><text>:四部门联合启动的人力资源服务业与制造业融合发展点。</text></view><view class="originEventC"><view class="levelTitleC flex"><view class="level">{{item.a}}</view><view class="title">{{item.b}}</view></view><view class="eventContent">人社部、工信部等四部门印发通知明确在30个城市开展3年期试点培育人力资源服务与制造业协同机构...</view></view></view></view></block><block wx:else><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="myCommentItem"><view class="replyContentC"><view class="flex"><image class="avatar" src="{{item.a}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{item.b}}</view><view class="time">{{item.c}}</view></view></view><view class="content">{{item.d}}</view></view><view class="originEventC" catchtap="{{item.h}}"><view class="levelTitleC flex"><view class="level">{{item.e}}</view><view class="title">{{item.f}}</view></view><view class="eventContent">{{item.g}}</view></view></view></block></view></view>

View File

@@ -0,0 +1,172 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.tabC {
background-color: white;
left: 0;
right: 0;
margin-top: 10rpx;
border-bottom: solid 1rpx #E4E4E4;
border-radius: 20rpx 20rpx 0 0;
}
.tabC .item {
line-height: 74rpx;
font-size: 28rpx;
font-weight: 500;
color: #42485B;
text-align: center;
}
.tabC .item.select {
font-weight: bold;
color: #F97316;
}
.tabC .item.select .line {
background-color: #F97316;
left: calc((100% - 50rpx)/2);
width: 50rpx;
height: 2rpx;
bottom: 0;
}
.list {
background-color: white;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
}
.list .commentMeItem .replyContentC {
padding: 40rpx 25rpx 0;
}
.list .commentMeItem .replyContentC .avatar {
margin-right: 22rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.list .commentMeItem .replyContentC .replyNickname {
font-size: 28rpx;
font-weight: bold;
color: #111;
}
.list .commentMeItem .replyContentC .time {
font-size: 26rpx;
font-weight: 500;
color: #aaa;
}
.list .commentMeItem .replyContentC .reply {
width: 90rpx;
height: 52rpx;
line-height: 50rpx;
border-radius: 26rpx;
border: solid 1rpx #DDD;
font-size: 24rpx;
text-align: center;
}
.list .commentMeItem .replyContentC .content {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #444;
}
.list .commentMeItem .replyContentC .content .originNickname {
color: #F97316;
}
.list .commentMeItem .originalTextC {
background-color: #F7F7F7;
margin-top: 20rpx;
padding: 20rpx 25rpx 25rpx;
}
.list .commentMeItem .originalTextC .originReply {
font-size: 24rpx;
font-weight: 500;
color: #444;
}
.list .commentMeItem .originalTextC .originReply .originNickname {
color: #F97316;
}
.list .commentMeItem .originalTextC .originEventC {
background-color: white;
margin-top: 20rpx;
padding: 34rpx 16rpx;
}
.list .commentMeItem .originalTextC .originEventC .levelTitleC {
font-size: 30rpx;
font-weight: bold;
}
.list .commentMeItem .originalTextC .originEventC .levelTitleC .level {
background-color: #FEC44F;
margin-right: 17rpx;
width: 50rpx;
height: 40rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: white;
text-align: center;
}
.list .commentMeItem .originalTextC .originEventC .levelTitleC .title {
color: #222;
}
.list .commentMeItem .originalTextC .originEventC .eventContent {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.list .myCommentItem .replyContentC {
padding: 40rpx 25rpx 0;
}
.list .myCommentItem .replyContentC .avatar {
margin-right: 22rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.list .myCommentItem .replyContentC .nickname {
font-size: 28rpx;
font-weight: bold;
color: #111;
}
.list .myCommentItem .replyContentC .time {
font-size: 26rpx;
font-weight: 500;
color: #aaa;
}
.list .myCommentItem .replyContentC .content {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #444;
}
.list .myCommentItem .originEventC {
background-color: #F7F7F7;
margin-top: 20rpx;
padding: 20rpx 40rpx;
}
.list .myCommentItem .originEventC .levelTitleC {
font-size: 30rpx;
font-weight: bold;
}
.list .myCommentItem .originEventC .levelTitleC .level {
background-color: #FEC44F;
margin-right: 17rpx;
width: 50rpx;
height: 40rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: white;
text-align: center;
}
.list .myCommentItem .originEventC .levelTitleC .title {
color: #222;
}
.list .myCommentItem .originEventC .eventContent {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 500;
color: #666;
}

View File

@@ -0,0 +1,65 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
content: ""
};
},
onLoad() {
},
methods: {
clickSubmit() {
if (!this.content) {
common_vendor.index.showToast({
title: "请输入您要反馈的问题",
icon: "none"
});
return;
}
let param = { content: this.content, isJson: 1 };
request_api.feedback(param).then((res) => {
if (res.code == 200) {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
setTimeout(function() {
common_vendor.index.navigateBack();
}, 1e3);
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "意见反馈"
}),
b: common_assets._imports_0,
c: $data.content,
d: common_vendor.o(($event) => $data.content = $event.detail.value),
e: common_vendor.s("top:" + $data.navH + "px;"),
f: common_vendor.o(($event) => $options.clickSubmit())
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/feedback/feedback.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="315da0a4-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="feedbackC fixed" style="{{e}}"><view class="textareaC"><block wx:if="{{r0}}"><textarea placeholder="请输入您要反馈的问题200 字以内)" placeholder-style="color:#C5C5C5" maxlength="200" value="{{c}}" bindinput="{{d}}"></textarea></block></view></view><view class="submit fixed" bindtap="{{f}}">提交</view></view>

View File

@@ -0,0 +1,39 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.feedbackC {
background-color: white;
margin-top: 10rpx;
left: 0;
right: 0;
bottom: 0;
padding: 43rpx 25rpx 0;
border-radius: 20rpx 20rpx 0 0;
}
.feedbackC .textareaC {
background-color: #F3F6F9;
border-radius: 20rpx;
padding: 20rpx 27rpx;
}
.feedbackC .textareaC textarea {
width: 100%;
height: 400rpx;
font-size: 24rpx;
font-weight: 500;
}
.submit {
background-color: #F97316;
left: 0;
right: 0;
bottom: 73rpx;
margin: 0 25rpx;
line-height: 80rpx;
border-radius: 20rpx;
font-size: 26rpx;
font-weight: 500;
color: white;
text-align: center;
}

View File

@@ -0,0 +1,154 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
followList: [],
page: 1,
loadAll: false,
getRateStr: utils_util.getRateStr,
getRateUpOrDown: utils_util.getRateUpOrDown,
getLocaleTime: utils_util.getLocaleTime
};
},
onLoad() {
this.getFollowCollectListData();
},
onPullDownRefresh() {
this.page = 1;
this.getFollowCollectListData();
},
onReachBottom() {
if (!this.loadAll) {
this.page++;
this.getFollowCollectListData();
}
},
methods: {
/**
* 点击相关股票
* @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, index) {
request_api.followEvent(id).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
this.followList.splice(index, 1);
}).catch((error) => {
});
},
/**
* 查看事件详情
*/
clickEventItem(id) {
common_vendor.index.navigateTo({
url: "/pages/index/eventDetails/eventDetails?id=" + id
});
},
/**
* 获取关注收藏列表数据
*/
getFollowCollectListData() {
let param = { page: this.page, type: "follows" };
request_api.userActivityList(param).then((res) => {
if (res.code == 200) {
if (res.data.current_page == 1) {
this.followList = res.data.activities;
} else
this.followList = this.followList.concat(res.data.activities);
if (res.data.current_page == res.data.pages) {
this.loadAll = true;
}
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "关注收藏"
}),
b: common_assets._imports_0,
c: common_vendor.f($data.followList, (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.event_title),
d: common_vendor.t(item.event_description),
e: $data.getRateUpOrDown(item.related_avg_chg)
}, $data.getRateUpOrDown(item.related_avg_chg) ? {
f: common_assets._imports_1$1
} : {
g: common_assets._imports_2$1
}, {
h: common_vendor.t($data.getRateStr(item.related_avg_chg)),
i: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
j: $data.getRateUpOrDown(item.related_max_chg)
}, $data.getRateUpOrDown(item.related_max_chg) ? {
k: common_assets._imports_1$1
} : {
l: common_assets._imports_2$1
}, {
m: common_vendor.t($data.getRateStr(item.related_max_chg)),
n: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
o: $data.getRateUpOrDown(item.related_week_chg)
}, $data.getRateUpOrDown(item.related_week_chg) ? {
p: common_assets._imports_1$1
} : {
q: common_assets._imports_2$1
}, {
r: common_vendor.t($data.getRateStr(item.related_week_chg)),
s: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_week_chg) ? "down" : "up")),
t: common_vendor.f(item.related_stocks, (sitem, sindex, i1) => {
return {
a: common_vendor.t(sitem.stock_name),
b: common_vendor.t(($data.getRateUpOrDown(sitem.daily_change) ? "" : "+") + sitem.daily_change),
c: sindex,
d: common_vendor.o(($event) => $options.clickLookRelatedStockItem(item.event_id, sitem.stock_code), sindex)
};
}),
v: common_vendor.t($data.getLocaleTime(item.created_at)),
w: common_vendor.t(item.view_count),
x: common_vendor.t(item.follower_count),
y: common_vendor.o(($event) => $options.clickFollowEvent(item.event_id, index), index),
z: common_vendor.o(($event) => $options.clickEventItem(item.event_id), index),
A: index
});
}),
d: common_assets._imports_3$1,
e: common_assets._imports_4$5,
f: common_vendor.s("top:" + $data.navH + "px;")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/followCollect/followCollect.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="340e4710-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="list fixed" style="{{f}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="A" class="item" bindtap="{{item.z}}"><view class="flex"><view class="{{item.b}}">{{item.a}}</view><view class="title">{{item.c}}</view></view><view class="content">{{item.d}}</view><scroll-view scroll-x class="increaseRateList"><view class="{{item.i}}"> 平均涨幅: <image wx:if="{{item.e}}" class="arrow" src="{{item.f}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.g}}" mode="widthFix"></image> {{item.h}}% </view><view class="{{item.n}}"> 最大涨幅: <image wx:if="{{item.j}}" class="arrow" src="{{item.k}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.l}}" mode="widthFix"></image> {{item.m}}% </view><view class="{{item.s}}"> 周涨幅: <image wx:if="{{item.o}}" class="arrow" src="{{item.p}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.q}}" mode="widthFix"></image> {{item.r}}% </view></scroll-view><scroll-view scroll-x class="stockList"><view wx:for="{{item.t}}" wx:for-item="sitem" wx:key="c" class="stockItem" catchtap="{{sitem.d}}">{{sitem.a}} <text class="change">{{sitem.b}}%</text></view></scroll-view><view class="timeToolBarC flex"><view class="time flex1">{{item.v}}</view><view class="toolBarC flex"><view class="toolItem flex"><image class="icon" src="{{d}}" mode="widthFix"></image><text>{{item.w}}</text></view><view class="toolItem flex" catchtap="{{item.y}}"><image class="icon" src="{{e}}" mode="widthFix"></image><text>{{item.x}}</text></view></view></view></view></view></view>

View File

@@ -0,0 +1,122 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.list {
background-color: white;
left: 0;
right: 0;
bottom: 0;
padding: 0 25rpx;
overflow-y: scroll;
}
.list .item {
padding: 30rpx 0;
border-bottom: solid 1rpx #E4E4E4;
}
.list .item .level {
margin-right: 16rpx;
width: 50rpx;
line-height: 40rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: white;
text-align: center;
}
.list .item .level.S {
background-color: #CC4C02;
}
.list .item .level.A {
background-color: #EC7014;
}
.list .item .level.B {
background-color: #FB9A29;
}
.list .item .level.C {
background-color: #FEC44F;
}
.list .item .title {
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.list .item .content {
margin-top: 20rpx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
text-overflow: ellipsis;
overflow: hidden;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.list .item .increaseRateList {
white-space: nowrap;
margin-top: 24rpx;
}
.list .item .increaseRateList .rateItem {
display: inline-block;
margin-right: 15rpx;
line-height: 44rpx;
padding: 0 14rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: bold;
color: white;
}
.list .item .increaseRateList .rateItem .arrow {
width: 15rpx;
height: auto;
}
.list .item .increaseRateList .rateItem.up {
background-color: #C00000;
}
.list .item .increaseRateList .rateItem.down {
background-color: #355422;
}
.list .item .stockList {
white-space: nowrap;
margin-top: 20rpx;
}
.list .item .stockList .stockItem {
background-color: #F8F8F8;
margin-right: 21rpx;
display: inline-block;
padding: 0 20rpx;
line-height: 60rpx;
border-radius: 10rpx;
font-size: 30rpx;
font-weight: bold;
color: #222;
}
.list .item .stockList .stockItem .change {
color: #F97316;
}
.list .item .timeToolBarC {
margin-top: 20rpx;
}
.list .item .timeToolBarC .time {
font-size: 22rpx;
font-weight: 500;
color: #aaa;
}
.list .item .timeToolBarC .toolBarC .toolItem {
padding: 0 20rpx;
font-size: 26rpx;
font-weight: bold;
color: #666;
}
.list .item .timeToolBarC .toolBarC .toolItem .icon {
margin-right: 13rpx;
width: 29rpx;
height: auto;
}
.list .item .timeToolBarC .toolBarC .toolItem:first-child .icon {
margin-right: 15rpx;
width: 33rpx;
height: auto;
}

View File

@@ -0,0 +1,278 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
avatarTop: "",
contentTop: "",
avatar: "",
//选择头像临时地址
avatarUrl: "",
//已上传的链接
investPreferenceList: ["长期投资", "中短期投资", "风险控制型"],
selectInvestIndex: -1,
stockYearList: ["新手入门", "1年以内", "1-3年", "3-5年", "5-10年", "10年以上"],
selectYearIndex: -1,
riskPreferenceList: ["保守型", "稳健型", "积极型"],
selectRiskIndex: -1,
investmentScaleList: ["50万以下", "50-100万", "100万以上"],
selectScaleIndex: -1,
preferredMarketList: [{ title: "A股" }, { title: "港股" }, { title: "美股" }, { title: "期货" }, { title: "虚拟货币" }, { title: "新兴市场" }]
};
},
onLoad() {
this.avatarTop = common_vendor.inject("navHeight") + 60 / 750 * common_vendor.inject("windowWidth");
this.contentTop = this.avatarTop + 75 / 750 * common_vendor.inject("windowWidth");
this.getUserInfoData();
},
methods: {
/**
* 点击选择头像
* @param {Object} e
*/
chooseAvatar(e) {
this.avatar = e.detail.avatarUrl;
},
/**
* 点击选择投资偏好
* @param {Object} index
*/
clickInvestItem(index) {
if (this.selectInvestIndex != index) {
this.selectInvestIndex = index;
}
},
/**
* 点击选择风险偏好
* @param {Object} index
*/
clickYearItem(index) {
if (this.selectYearIndex != index) {
this.selectYearIndex = index;
}
},
/**
* 点击选择风险偏好
* @param {Object} index
*/
clickRiskItem(index) {
if (this.selectRiskIndex != index) {
this.selectRiskIndex = index;
}
},
/**
* 点击选择投资规模
* @param {Object} index
*/
clickScaleItem(index) {
if (this.selectScaleIndex != index) {
this.selectScaleIndex = index;
}
},
/**
* 点击选择市场偏好
* @param {Object} index
*/
clickMarketItem(index) {
this.preferredMarketList[index].select = !this.preferredMarketList[index].select;
},
/**
* 点击上一步
*/
clickPre() {
common_vendor.index.navigateBack();
},
/**
* 点击完成
*/
clickFinish() {
if (this.selectInvestIndex < 0) {
common_vendor.index.showToast({
title: "请选择投资偏好",
icon: "none"
});
return;
}
if (this.selectYearIndex < 0) {
common_vendor.index.showToast({
title: "请选择炒股年限",
icon: "none"
});
return;
}
if (this.selectRiskIndex < 0) {
common_vendor.index.showToast({
title: "请选择风险偏好",
icon: "none"
});
return;
}
if (this.selectScaleIndex < 0) {
common_vendor.index.showToast({
title: "请选择投资规模",
icon: "none"
});
return;
}
let arr = [];
for (let item of this.preferredMarketList) {
if (item.select) {
arr.push(item.title);
}
}
if (arr.length == 0) {
common_vendor.index.showToast({
title: "请选择偏好市场",
icon: "none"
});
return;
}
if (this.avatar) {
let param = { avatar: this.avatar, isFile: 1 };
updateBasicInfo(param).then((res) => {
this.uploadInvestPreferenceData();
}).catch((error) => {
});
} else
this.uploadInvestPreferenceData();
},
/**
* 更新投资偏好设置
*/
uploadInvestPreferenceData() {
let arr = [];
for (let item of this.preferredMarketList) {
if (item.select) {
arr.push(item.title);
}
}
let param = {
trading_experience: this.selectYearIndex,
investment_style: this.investPreferenceList[this.selectInvestIndex],
risk_preference: this.riskPreferenceList[this.selectRiskIndex],
investment_amount: this.investmentScaleList[this.selectScaleIndex],
preferred_markets: arr
};
request_api.updateInvestPreference(param).then((res) => {
common_vendor.index.navigateBack({
delta: 2
});
}).catch((error) => {
});
},
/**
* 获取用户偏好设置数据
*/
getUserInfoData() {
request_api.userInfo().then((res) => {
if (res.code == 200) {
this.avatarUrl = res.data.basic_info.avatar_url;
let data = res.data.investment_preferences;
for (var i = 0; i < this.investPreferenceList.length; i++) {
let item = this.investPreferenceList[i];
if (item == data.investment_style) {
this.selectInvestIndex = i;
break;
}
}
this.selectYearIndex = data.trading_experience;
for (var i = 0; i < this.riskPreferenceList.length; i++) {
let item = this.riskPreferenceList[i];
if (item == data.risk_preference) {
this.selectRiskIndex = i;
break;
}
}
for (var i = 0; i < this.investmentScaleList.length; i++) {
let item = this.investmentScaleList[i];
if (item == data.investment_amount) {
this.selectScaleIndex = i;
break;
}
}
for (let item of this.preferredMarketList) {
let arr = JSON.parse(data.preferred_markets);
let arr1 = arr[0].split(",");
if (arr1.indexOf(item.title) > -1) {
item.select = true;
} else {
item.select = false;
}
}
} else
common_vendor.wx$1.showToast({
title: res.message
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "信息完善"
}),
b: common_assets._imports_0,
c: $data.avatar ? $data.avatar : $data.avatarUrl,
d: common_assets._imports_1$5,
e: common_vendor.o((...args) => $options.chooseAvatar && $options.chooseAvatar(...args)),
f: common_vendor.s("top:" + $data.avatarTop + "px;"),
g: common_vendor.f($data.investPreferenceList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectInvestIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickInvestItem(index), index)
};
}),
h: common_vendor.f($data.stockYearList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectYearIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickYearItem(index), index)
};
}),
i: common_vendor.f($data.riskPreferenceList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectRiskIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickRiskItem(index), index)
};
}),
j: common_vendor.f($data.investmentScaleList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectScaleIndex == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickScaleItem(index), index)
};
}),
k: common_vendor.f($data.preferredMarketList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.n("item " + (item.select ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickMarketItem(index), index)
};
}),
l: common_vendor.s("top:" + $data.contentTop + "px;"),
m: common_vendor.o(($event) => $options.clickPre()),
n: common_vendor.o(($event) => $options.clickFinish())
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/investPreference/investPreference.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="ea3a6ff8-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="avatarC fixed" style="{{f}}"><image class="avatar" src="{{c}}" mode="aspectFill"></image><image class="icon absolute" src="{{d}}" mode="widthFix"></image><button class="absolute" open-type="chooseAvatar" bindchooseavatar="{{e}}"></button></view><view class="preferenceC fixed" style="{{l}}"><view class="title">投资偏好设置</view><view class="section first">投资偏好</view><view class="list flexWrap"><view wx:for="{{g}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view class="section">炒股年限</view><view class="list flexWrap"><view wx:for="{{h}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view class="section">风险偏好</view><view class="list flexWrap"><view wx:for="{{i}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view class="section">投资规模</view><view class="list flexWrap"><view wx:for="{{j}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view class="section">偏好市场(可多选)</view><view class="list flexWrap"><view wx:for="{{k}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view></view><view class="bottomC fixed flex"><view class="pre btn" bindtap="{{m}}">上一步</view><view class="finish btn flex1" bindtap="{{n}}">完成</view></view></view>

View File

@@ -0,0 +1,96 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.avatarC {
left: 0;
margin-left: calc((100% - 150rpx)/2);
width: 150rpx;
z-index: 10;
}
.avatarC .avatar {
width: 100%;
height: 150rpx;
border-radius: 50%;
border: solid 2rpx white;
}
.avatarC .icon {
right: 20rpx;
bottom: 0;
width: 40rpx;
height: auto;
}
.avatarC button {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.preferenceC {
background-color: white;
left: 0;
right: 0;
bottom: calc(73rpx + 17rpx + 80rpx);
border-radius: 20rpx 20rpx 0 0;
overflow-y: scroll;
}
.preferenceC .title {
margin: 150rpx 0 0 60rpx;
font-size: 36rpx;
font-weight: bold;
}
.preferenceC .section {
margin: 10rpx 60rpx 0;
line-height: 66rpx;
font-size: 26rpx;
font-weight: bold;
}
.preferenceC .section.first {
margin-top: 20rpx;
}
.preferenceC .list {
padding: 0 60rpx;
}
.preferenceC .list .item {
background-color: #FBFBFD;
margin: 0 14rpx 12rpx 0;
width: calc((100% - 28rpx)/3);
line-height: 76rpx;
border: solid 2rpx #EFEFF2;
border-radius: 10rpx;
font-size: 24rpx;
font-weight: 500;
color: #555;
text-align: center;
}
.preferenceC .list .item.select {
background-color: #FFE9D9;
border: solid 2rpx #F97316;
}
.preferenceC .list .item:nth-child(3n) {
margin-right: 0;
}
.bottomC {
left: 0;
right: 0;
bottom: 73rpx;
margin: 0 25rpx;
}
.bottomC .btn {
line-height: 80rpx;
border-radius: 20rpx;
font-size: 26rpx;
text-align: center;
}
.bottomC .pre {
background-color: #FFE9D9;
width: 226rpx;
color: #F97316;
}
.bottomC .finish {
background-color: #F97316;
margin-left: 20rpx;
color: white;
}

View File

@@ -0,0 +1,204 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
data() {
return {
menuTop: common_vendor.inject("menuTop"),
menuH: common_vendor.inject("menuHeight"),
infoTop: "",
userInfo: null,
//用户信息
memberInfo: null,
//会员信息
menuList: [
{
icon: "/static/icon/mine/aboutUs.png",
title: "关于我们",
url: "/pages/mine/web/web?type=1"
},
{
icon: "/static/icon/mine/serviceTerm.png",
title: "服务条款",
url: "/pages/mine/web/web?type=2"
},
{
icon: "/static/icon/mine/privacyProtocol.png",
title: "隐私协议",
url: "/pages/mine/web/web?type=3"
},
{
icon: "/static/icon/mine/feedback.png",
title: "意见反馈",
url: "/pages/mine/feedback/feedback"
},
{
icon: "/static/icon/mine/customerService.png",
title: "联系客服"
},
{
icon: "/static/icon/mine/logout.png",
title: "退出登录"
}
]
};
},
onLoad() {
this.infoTop = common_vendor.inject("navHeight") + 32 / 750 * common_vendor.inject("windowWidth");
},
onShow() {
this.getUserInfoData();
this.getMemberStatus();
},
methods: {
/**
* 点击查看个人信息
*/
clickPersonalInfo() {
common_vendor.index.navigateTo({
url: "/pages/mine/basicInfo/basicInfo"
});
},
/**
* 点击vip
*/
clickVip() {
common_vendor.index.navigateTo({
url: "/pagesMine/vip/vip"
});
},
/**
* 查看评论收藏点赞
* @param {Object} index
*/
clickNumItem(index) {
if (index == 0) {
common_vendor.index.navigateTo({
url: "/pages/mine/commentReply/commentReply"
});
} else if (index == 1) {
common_vendor.index.navigateTo({
url: "/pages/mine/followCollect/followCollect"
});
} else
common_vendor.index.navigateTo({
url: "/pages/mine/myLike/myLike"
});
},
/**
* 点击菜单
* @param {Object} url
* @param {Object} index
*/
clickMenuItem(url, index) {
if (url) {
common_vendor.index.navigateTo({
url
});
} else if (index == this.menuList.length - 2) {
this.$refs["popup"].open();
} else if (index == this.menuList.length - 1) {
common_vendor.index.showModal({
title: "您确定要退出登录么",
success(res) {
if (res.confirm) {
common_vendor.index.removeStorageSync("token");
common_vendor.index.switchTab({
url: "/pages/index/index"
});
}
}
});
}
},
/**
* 获取用户信息数据
*/
getUserInfoData() {
request_api.userInfo().then((res) => {
if (res.code == 200) {
this.userInfo = res.data;
} else
common_vendor.wx$1.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 获取会员状态
*/
getMemberStatus() {
request_api.membershipStatus().then((res) => {
if (res.code == 200) {
this.memberInfo = res.data;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
_easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
_easycom_uni_popup();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_assets._imports_0,
b: common_vendor.s("top:" + $data.menuTop + "px;line-height:" + $data.menuH + "px;"),
c: $data.userInfo
}, $data.userInfo ? common_vendor.e({
d: $data.userInfo.basic_info.avatar_url,
e: common_vendor.t($data.userInfo.basic_info.nickname),
f: common_vendor.t($data.userInfo.basic_info.phone),
g: $data.memberInfo && $data.memberInfo.is_member
}, $data.memberInfo && $data.memberInfo.is_member ? {
h: common_vendor.t($data.memberInfo.subscription_type)
} : {}, {
i: common_assets._imports_1$4,
j: common_vendor.s("margin-top:" + $data.infoTop + "px;"),
k: common_vendor.o(($event) => $options.clickPersonalInfo())
}) : {}, {
l: $data.userInfo
}, $data.userInfo ? {
m: common_vendor.t($data.userInfo.statistics.total_comments),
n: common_vendor.o(($event) => $options.clickNumItem(0)),
o: common_vendor.t($data.userInfo.statistics.follows_count),
p: common_vendor.o(($event) => $options.clickNumItem(1)),
q: common_vendor.t($data.userInfo.statistics.likes_count),
r: common_vendor.o(($event) => $options.clickNumItem(2))
} : {}, {
s: $data.memberInfo && !$data.memberInfo.is_member
}, $data.memberInfo && !$data.memberInfo.is_member ? {
t: common_assets._imports_2$4,
v: common_vendor.o(($event) => $options.clickVip())
} : {}, {
w: common_vendor.f($data.menuList, (item, index, i0) => {
return {
a: item.icon,
b: common_vendor.t(item.title),
c: index,
d: common_vendor.o(($event) => $options.clickMenuItem(item.url, index), index)
};
}),
x: common_assets._imports_3$2,
y: common_assets._imports_4$3,
z: common_vendor.sr("popup", "dd5840e4-0"),
A: common_vendor.p({
type: "center"
})
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mine/mine.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

View File

@@ -0,0 +1 @@
<view><image class="topBg absolute" src="{{a}}" mode="widthFix"></image><view class="navTitle fixed" style="{{b}}">个人中心</view><view wx:if="{{c}}" class="personalInfoC relative flex" style="{{j}}" bindtap="{{k}}"><image class="avatar" src="{{d}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{e}}</view><view class="mobile">手机号:{{f}}</view><view wx:if="{{g}}" class="mobile">{{h}}会员</view></view><image class="arrow" src="{{i}}" mode="widthFix"></image></view><view wx:if="{{l}}" class="numList relative flex"><view class="item flex1 flexColumnCenter" bindtap="{{n}}"><view class="num">{{m}}</view><view class="title">评论回复</view></view><view class="item flex1 flexColumnCenter" bindtap="{{p}}"><view class="num">{{o}}</view><view class="title">关注收藏</view></view><view class="item flex1 flexColumnCenter" bindtap="{{r}}"><view class="num">{{q}}</view><view class="title">我的点赞</view></view></view><view wx:if="{{s}}" class="vipC relative" bindtap="{{v}}"><image class="icon" src="{{t}}" mode="widthFix"></image></view><view class="menuList relative"><view class="list"><view wx:for="{{w}}" wx:for-item="item" wx:key="c" class="item relative flex" bindtap="{{item.d}}"><image class="icon" src="{{item.a}}" mode="aspectFit"></image><view class="title flex1">{{item.b}}</view><image class="arrow" src="{{x}}" mode="widthFix"></image></view></view></view><uni-popup wx:if="{{A}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="dd5840e4-0" bind:__l="__l" u-p="{{A}}"><view class="popup"><image class="icon" src="{{y}}" mode="widthFix" show-menu-by-longpress></image><view class="title">企业二维码</view></view></uni-popup></view>

View File

@@ -0,0 +1,102 @@
page {
background-color: black;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.navTitle {
left: 0;
margin: 0 23rpx;
font-size: 36rpx;
font-weight: bold;
color: white;
}
.personalInfoC {
padding: 0 25rpx 0 30rpx;
}
.personalInfoC .avatar {
margin-right: 11rpx;
width: 130rpx;
height: 130rpx;
border-radius: 50%;
border: solid 3rpx white;
}
.personalInfoC .nickname {
font-size: 32rpx;
font-weight: bold;
color: white;
}
.personalInfoC .mobile {
margin-top: 6rpx;
font-size: 24rpx;
font-weight: 500;
color: #F3C368;
}
.personalInfoC .arrow {
width: 15rpx;
height: auto;
}
.numList .item {
padding: 25rpx 0;
}
.numList .item .num {
font-size: 48rpx;
font-weight: 800;
color: white;
}
.numList .item .title {
font-size: 24rpx;
font-weight: 500;
color: #FFECD3;
}
.vipC {
margin: 0 45rpx;
}
.vipC .icon {
display: block;
width: 100%;
height: auto;
}
.menuList {
background-color: white;
margin: 0 25rpx;
padding: 0 20rpx 220rpx;
border-radius: 20rpx;
}
.menuList .item {
height: 100rpx;
padding: 0 18rpx 0 20rpx;
border-bottom: solid 1rpx #F7F7F7;
font-size: 28rpx;
color: #222;
}
.menuList .item .icon {
margin-right: 16rpx;
width: 44rpx;
height: 44rpx;
}
.menuList .item .arrow {
width: 11rpx;
height: auto;
}
.menuList .item button {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.popup {
background-color: white;
}
.popup .icon {
width: 560rpx;
height: auto;
}
.popup .title {
margin-top: 10rpx;
border-radius: 10rpx;
text-align: center;
}

View File

@@ -0,0 +1,96 @@
"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 _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
myLikeList: [],
page: 1,
loadAll: false,
getLocaleHourMinute: utils_util.getLocaleHourMinute
};
},
onLoad() {
this.getMyLikeListData();
},
onPullDownRefresh() {
this.page = 1;
this.getMyLikeListData();
},
onReachBottom() {
if (!this.loadAll) {
this.page++;
this.getMyLikeListData();
}
},
methods: {
/**
* 点赞评论
*/
clickLikeComment(id, index) {
request_api.likeEventComment(id).then((res) => {
common_vendor.index.showToast({
title: res.message
});
this.myLikeList.splice(index, 1);
}).catch((error) => {
});
},
/**
* 获取我的点赞列表数据
*/
getMyLikeListData() {
let param = { page: this.page, type: "likes" };
request_api.userActivityList(param).then((res) => {
if (res.code == 200) {
if (res.data.current_page == 1) {
this.myLikeList = res.data.activities;
} else
this.myLikeList = this.myLikeList.concat(res.data.activities);
if (res.data.current_page == res.data.pages) {
this.loadAll = true;
}
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "我的点赞"
}),
b: common_assets._imports_0,
c: common_vendor.f($data.myLikeList, (item, index, i0) => {
return {
a: item.author.avatar_url,
b: common_vendor.t(item.author.nickname),
c: item.post_content,
d: common_vendor.t($data.getLocaleHourMinute(item.like_time)),
e: common_vendor.o(($event) => $options.clickLikeComment(item.like_id, index), index),
f: index
};
}),
d: common_assets._imports_1$7,
e: common_vendor.s("top:" + $data.navH + "px;")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/myLike/myLike.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="005f0838-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="list fixed" style="{{e}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="f" class="item"><image class="avatar" src="{{item.a}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{item.b}}</view><rich-text class="content" nodes="{{item.c}}"></rich-text><view class="timeReplyLikeC flex between"><view class="timeReplyC flex"><view class="time">{{item.d}}</view></view><view class="likeC flex" bindtap="{{item.e}}"><image class="icon" src="{{d}}" mode="widthFix"></image></view></view></view></view></view></view>

View File

@@ -0,0 +1,79 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.list {
background-color: white;
margin-top: 10rpx;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
}
.list .item {
display: flex;
padding: 30rpx 25rpx;
border-bottom: solid 1rpx #E4E4E4;
}
.list .item .avatar {
margin-right: 23rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.list .item .nickname {
font-size: 28rpx;
font-weight: bold;
color: #111;
}
.list .item .content {
margin-top: 10rpx;
line-height: 1.2rem;
font-size: 24rpx;
font-weight: 500;
color: #666;
}
.list .item .timeReplyLikeC .time {
margin-right: 36rpx;
font-size: 26rpx;
font-weight: 500;
color: #aaa;
}
.list .item .timeReplyLikeC .reply {
font-size: 26rpx;
font-weight: 500;
color: #F97316;
}
.list .item .timeReplyLikeC .likeC {
padding: 14rpx 0;
font-size: 28rpx;
font-weight: bold;
color: #999;
}
.list .item .timeReplyLikeC .likeC .icon {
margin-right: 12rpx;
width: 27rpx;
height: auto;
}
.list .item .timeReplyLikeC .likeC.like {
color: #F97316;
}
.list .item .totalCommentNumC {
padding: 14rpx 0 22rpx;
font-size: 26rpx;
font-weight: 500;
color: #999;
}
.list .item .totalCommentNumC .line {
background-color: #aaa;
margin-right: 18rpx;
width: 30rpx;
height: 2rpx;
}
.list .item .totalCommentNumC .arrow {
margin-left: 14rpx;
width: 13rpx;
height: auto;
}

View File

@@ -0,0 +1,71 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const request_api = require("../../../request/api.js");
const common_assets = require("../../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
navTitle: "",
type: "",
//1.关于我们2.服务条款3.隐私协议
webContent: ""
};
},
onLoad(e) {
if (e.type) {
this.type = e.type;
this.getUserInfoData();
if (e.type == 1) {
this.navTitle = "关于我们";
} else if (e.type == 2) {
this.navTitle = "服务条款";
} else if (e.type == 3) {
this.navTitle = "隐私协议";
}
}
},
methods: {
/**
* 获取用户信息数据
*/
getUserInfoData() {
request_api.agreements().then((res) => {
if (res.code == 200) {
if (this.type == 1) {
this.webContent = res.data.agreements.about_us.content;
} else if (this.type == 2) {
this.webContent = res.data.agreements.service_terms.content;
} else if (this.type == 3) {
this.webContent = res.data.agreements.privacy_policy.content;
}
} else
common_vendor.wx$1.showToast({
title: res.message
});
}).catch((error) => {
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
_easycom_navBar2();
}
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
if (!Math) {
_easycom_navBar();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: $data.navTitle
}),
b: common_assets._imports_0,
c: common_vendor.t($data.webContent),
d: common_vendor.s("top:" + $data.navH + "px;")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/web/web.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../../components/navBar/navBar"
}
}

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="0a02672e-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="contentC fixed" style="{{d}}"><text>{{c}}</text></view></view>

View File

@@ -0,0 +1,15 @@
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.contentC {
background-color: white;
left: 0;
right: 0;
bottom: 0;
margin-top: 10rpx;
padding: 50rpx 25rpx;
overflow-y: scroll;
}

View File

@@ -0,0 +1,285 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const common_assets = require("../../common/assets.js");
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
selectedYearMonth: "",
// 年-月(去掉日)
selectedFullDate: "",
// 年-月-日
selectedItem: null,
// 选中的item完整数据
tabTypes: [
{
data: "",
change: 0,
title: "当前日期"
},
{
data: "",
change: 3,
title: "涨停家数"
},
{
data: "22%",
change: 0,
title: "炸板率"
}
],
bkList: [
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
},
{
title: "存储芯片",
count: 8
}
],
bkTypes: [
"板块关联图",
"板块分布",
"热门概念词云"
],
option2: {
title: {
show: false
},
legend: {
show: false
},
tooltip: {
show: true,
triggerOn: "mousemove"
},
radar: {
indicator: [
{ name: "市场地位", max: 100 },
{ name: "技术实力", max: 100 },
{ name: "品牌价值", max: 100 },
{ name: "运营效率", max: 100 },
{ name: "财务健康", max: 100 },
{ name: "创新能力", max: 100 },
{ name: "风险控制", max: 100 },
{ name: "成长潜力", max: 100 }
],
shape: "polygon",
splitNumber: 5,
axisName: {
color: "#54555A"
},
splitLine: {
lineStyle: {
color: ["#CFD2D7"]
}
},
splitArea: {
areaStyle: {
color: ["#F4F6FA", "white"]
}
},
axisLine: {
lineStyle: {
color: "#CFD2D7"
}
}
},
series: [
{
name: "Beijing",
type: "radar",
lineStyle: {
width: 1
},
data: [],
symbol: "circle",
symbolSize: 4,
label: {
show: true
},
itemStyle: {
color: "#5070DD"
},
areaStyle: {
opacity: 0.1
}
}
]
}
};
},
onLoad(e) {
this.activeIndex = e.index;
this.contentTop = this.navH + 20 / 750 * common_vendor.inject("windowWidth");
this.analyseHighStocks();
},
// mounted() {
// // 初始化当天日期格式(防止日历组件事件未及时触发)
// const today = new Date();
// const month = today.getMonth() + 1;
// const day = today.getDate();
// this.tabTypes[0].data = `${month}月${day}日`;
// this.tabTypes[1].data = '0'; // 默认涨停家数为0后续会被日历数据覆盖
// },
methods: {
handleDateChange(data) {
var _a, _b;
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:345", "从日历组件接收的参数:", (_a = data.item) == null ? void 0 : _a.zt_count);
this.selectedYearMonth = data.yearMonth;
this.selectedFullDate = data.fullDate;
this.selectedItem = data.item;
if (data.fullDate) {
const [year, month, day] = data.fullDate.split("-").map(Number);
this.tabTypes[0].data = `${month}${day}`;
}
const ztCount = ((_b = data.item) == null ? void 0 : _b.zt_count) ?? 0;
this.tabTypes[1].data = ztCount.toString();
},
analyseHighStocks() {
const formatDate = this.selectedFullDate.replace(/-/g, "");
let param = {
date: formatDate
};
request_api.analyseHighStocks(param).then((res) => {
}).catch((error) => {
});
},
async init() {
const chart = await this.$refs.chartRef.init(echarts);
chart.setOption(this.option2);
},
bkydAction(index) {
common_vendor.index.navigateTo({
url: `/pagesStock/stockCenterDetails/bkydmx?index=${index}`
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
const _easycom_LCCalendar2 = common_vendor.resolveComponent("LCCalendar");
const _easycom_l_echart2 = common_vendor.resolveComponent("l-echart");
(_easycom_navBar2 + _easycom_LCCalendar2 + _easycom_l_echart2)();
}
const _easycom_navBar = () => "../../components/navBar/navBar.js";
const _easycom_LCCalendar = () => "../../components/LCCalendar/LCCalendar.js";
const _easycom_l_echart = () => "../../uni_modules/lime-echart/components/l-echart/l-echart.js";
if (!Math) {
(_easycom_navBar + _easycom_LCCalendar + _easycom_l_echart)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
leftText: "涨停分析",
hideNavBg: true,
hideBack: true
}),
b: common_assets._imports_0,
c: common_assets._imports_1$10,
d: common_assets._imports_2$8,
e: common_vendor.f($data.tabTypes, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.data),
b: item.change > 0
}, item.change > 0 ? {
c: common_vendor.t(item.change)
} : {}, {
d: common_vendor.t(item.title),
e: index
});
}),
f: common_vendor.o($options.handleDateChange),
g: common_assets._imports_3$8,
h: common_vendor.f($data.bkList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.t(item.count),
c: index,
d: common_vendor.o(($event) => $options.bkydAction(index), index)
};
}),
i: common_vendor.f($data.bkTypes, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index == 0 ? "#BB8520" : "#999999",
c: `1rpx solid ${index == 0 ? "#F2C369" : "#D2D2D2"}`,
d: index == 0 ? "#FFFAF1" : "#FFF"
};
}),
j: common_vendor.sr("chartRef", "06b829a4-2"),
k: common_assets._imports_3$8,
l: common_vendor.f(10, (item, index, i0) => {
return {
a: index
};
}),
m: common_assets._imports_1$11,
n: common_assets._imports_5$4,
o: common_assets._imports_5$4,
p: common_vendor.s("top:" + $data.contentTop + "px;")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/ztfx/ztfx.js.map

View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "涨停分析",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"l-c-calendar": "../../components/LCCalendar/LCCalendar",
"l-echart": "../../uni_modules/lime-echart/components/l-echart/l-echart"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.stockDetailsC {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
}