"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 eventDetails: null, //事件详情 categoryList: ["相关标的", "相关概念", "历史事件"], targetList: [], //相关标的 conceptList: [], //相关概念 historyEventList: [], //历史事件 historyEventRelatedStockList: [], //历史事件相关股票 selectCategory: 0, headingList: ["名称代码", "分时图", "开盘价", "最新价", "涨跌幅"], getLocaleHourMinute: utils_util.getLocaleHourMinute, getLocaleTime: utils_util.getLocaleTime, getRateUpOrDown: utils_util.getRateUpOrDown, getRateStr: utils_util.getRateStr, scoreTop: "", expectScore: 0, //预期得分 commentList: [], //评价列表 eventComment: "", //事件评论内容 replyId: "", //回复评论id replyPid: "", //回复评论父级id isFocus: false, //是否获取焦点 replyComment: "", //评论回复内容 option: { tooltip: { trigger: "axis", axisPointer: { type: "shadow" }, confine: true }, grid: { left: "10%", right: "6%", top: "0%", bottom: "20%" }, 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 }, 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: { 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]; 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); }, /** * 点击切换分类 */ clickCategoryItem(index) { if (this.selectCategory != index) { this.selectCategory = index; if (index == 0) { this.getEventRelatedStockData(); } else if (index == 1) { 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) { common_vendor.index.navigateTo({ url: "/pages/index/conceptDetails/conceptDetails?name=" + name }); }, /** * 点击查看历史事件的相关股票 */ 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 + 20) / 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" }); }).catch((error) => { }); }, /** * 获取事件相关概念数据 */ getEventRelatedConceptData() { let eventDetails = this.eventDetails; let param = { query: eventDetails.event_title, size: 4, page: 1, sort_by: "_score", isJson: 1 }; request_api.eventRelatedConcept(param).then((res) => { this.conceptList = res.results; }).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: "事件详情" }), 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.t($data.eventDetails.event_created_at.substr(0, 16)), g: common_vendor.t($data.eventDetails.event_desc), h: 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) }); }), i: $data.selectCategory == 0 }, $data.selectCategory == 0 ? { j: common_vendor.f($data.headingList, (item, index, i0) => { return { a: common_vendor.t(item), b: index }; }) } : {}, { k: $data.selectCategory == 0 }, $data.selectCategory == 0 ? { l: 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, "52d9c4e6-1-" + i0, { "f": 1 }), d: "chartRef" + index, e: "52d9c4e6-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) }; }) } : {}, { m: $data.selectCategory == 1 }, $data.selectCategory == 1 ? { n: common_vendor.f($data.conceptList, (item, index, i0) => { return common_vendor.e({ a: $data.getRateUpOrDown(item.price_info.avg_change_pct) }, $data.getRateUpOrDown(item.price_info.avg_change_pct) ? { b: common_assets._imports_1$4 } : { c: common_assets._imports_2$6 }, { d: common_vendor.t($data.getRateStr(item.price_info.avg_change_pct)), e: common_vendor.n("rateC absolute " + ($data.getRateUpOrDown(item.price_info.avg_change_pct) ? "down" : "up")), f: common_vendor.t(item.stock_count), g: common_vendor.t(item.concept), h: common_vendor.t(item.description), i: common_vendor.t(item.price_info.trade_date), j: common_vendor.f(item.stocks, (item2, index2, i1) => { return { a: common_vendor.t(item2.stock_name), b: index2 }; }), k: common_vendor.t(item.happened_times[0] + (item.happened_times.length > 1 ? "(共" + item.happened_times.length + "次)" : "")), l: index, m: common_vendor.o(($event) => $options.clickConceptItem(item.concept), index) }); }), o: common_assets._imports_3$4 } : {}, { p: $data.selectCategory == 2 }, $data.selectCategory == 2 ? { q: common_assets._imports_4$2, r: common_vendor.t($data.expectScore), s: common_assets._imports_5$1, t: common_vendor.o(($event) => $options.clickExpectScore($event)), v: 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$2 }, { 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$2 }, { 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 }); }), w: common_assets._imports_4$2 } : {}, { x: common_vendor.s("top:" + $data.navH + "px;") }) : {}, { y: $data.eventDetails }, $data.eventDetails ? { z: common_vendor.o(($event) => $options.sendEventComment()), A: $data.eventComment, B: common_vendor.o(($event) => $data.eventComment = $event.detail.value), C: common_assets._imports_3, D: common_vendor.t($data.eventDetails.view_count), E: common_assets._imports_4, F: common_vendor.t($data.eventDetails.post_count), G: common_vendor.o(($event) => $options.clickComment()), H: common_assets._imports_10, I: common_vendor.t($data.eventDetails.follower_count), J: common_vendor.o(($event) => $options.clickFollow()) } : {}, { K: common_assets._imports_11, L: common_vendor.o(($event) => $options.closeCommentPopup()), M: 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 }; }), N: common_assets._imports_12, O: $data.isFocus, P: common_vendor.o(($event) => $options.sendReplyComment()), Q: $data.replyComment, R: common_vendor.o(($event) => $data.replyComment = $event.detail.value), S: common_vendor.sr("popup", "52d9c4e6-2"), T: common_vendor.p({ type: "bottom" }), U: common_assets._imports_13$1, V: common_vendor.s("margin-top:" + $data.scoreTop + "px;"), W: common_vendor.sr("expectScorePopup", "52d9c4e6-3"), X: common_vendor.p({ type: "top", ["mask-background-color"]: "transparent" }), Y: common_assets._imports_11, Z: common_vendor.o(($event) => $options.closeRelatedStockPopup()), aa: 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$2 }, { 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) }); }), ab: common_vendor.sr("stockPopup", "52d9c4e6-4"), ac: common_vendor.p({ type: "bottom" }) }); } 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