"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, 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:66", 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]; common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:68", res); return res; } }, legend: { show: false }, grid: { left: "10%", right: "10%", bottom: "15%" }, xAxis: { type: "category", data: [], boundaryGap: false, axisLine: { onZero: false }, splitLine: { show: false }, min: "dataMin", max: "dataMax" }, 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: "#ec0000", color0: "#8A0000", borderColor: "#00da3c", borderColor0: "#008F28" } } ] }, option1: { title: { show: false }, tooltip: { trigger: "axis" }, grid: { left: "10%", right: "12%", bottom: "10%" }, xAxis: { type: "category" }, yAxis: { scale: true }, dataZoom: [ { type: "inside" } ], series: { name: "分时图", type: "line", markLine: { silent: true, symbol: ["none", "none"], lineStyle: { width: 2, color: "#AAA" }, data: [] } } }, relatedDesc: "", //关联描述 sourceList: [], //来源列表 getLocalDate: utils_util.getLocalDate }; }, onLoad(e) { if (e.code) { this.type = e.type; if (e.type == 1) { this.contentTop = this.navH + (60 + 8) / 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); 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; let categoryData = []; let valueData = []; for (let item of data) { categoryData.push(item.time); valueData.push(item.close); } this.option1.xAxis.data = categoryData; this.option1.series.data = valueData; this.option1.series.markLine.data = [ { yAxis: data[0].open, label: { show: true, position: "start", // formatter:'111', color: "#333" } }, { yAxis: data[0].open, label: { show: true, position: "end", formatter: "0.00%", color: "#333" } } ]; 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 }), 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: common_vendor.s("top:" + $data.navH + "px;") } : {}, { f: $data.type == 1 }, $data.type == 1 ? { g: common_vendor.sr("chartRef", "42054871-1") } : {}, { h: common_vendor.t($data.relatedDesc), i: $data.type == 1 && $data.sourceList.length > 0 }, $data.type == 1 && $data.sourceList.length > 0 ? {} : {}, { j: 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 }; }), k: common_vendor.n("contentC fixed " + ($data.type == 2 ? "radius" : "")), l: 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/index/stockDetails/stockDetails.js.map