10.13 修改时间筛选逻辑,去掉分时图线上圆圈展示,修改K线图颜色

This commit is contained in:
尚政杰
2025-10-13 16:48:21 +08:00
parent bf2388c3ec
commit b53bb9715e
93 changed files with 736 additions and 352 deletions

View File

@@ -35,7 +35,6 @@ const _sfc_main = {
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;
}
},
@@ -43,6 +42,7 @@ const _sfc_main = {
show: false
},
grid: {
top: "10%",
left: "10%",
right: "10%",
bottom: "15%"
@@ -83,9 +83,9 @@ const _sfc_main = {
data: [],
itemStyle: {
color: "#ec0000",
color0: "#8A0000",
borderColor: "#00da3c",
borderColor0: "#008F28"
color0: "#00da3c"
// borderColor: '#8A0000',
// borderColor0: '#008F28'
}
}
]
@@ -95,17 +95,30 @@ const _sfc_main = {
show: false
},
tooltip: {
trigger: "axis"
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",
formatter: function(params) {
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:137", 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: {
left: "10%",
right: "12%",
top: "10%",
left: "12%",
right: "14%",
bottom: "10%"
},
xAxis: {
type: "category"
type: "category",
scale: true
},
yAxis: {
show: false,
scale: true
},
dataZoom: [
@@ -116,16 +129,20 @@ const _sfc_main = {
series: {
name: "分时图",
type: "line",
symbol: "none",
markLine: {
silent: true,
symbol: ["none", "none"],
lineStyle: {
width: 2,
color: "#AAA"
type: "solid",
width: 1,
color: "#dedede"
},
data: []
}
}
z: 1
},
data: []
},
animation: false
},
relatedDesc: "",
//关联描述
@@ -182,32 +199,82 @@ const _sfc_main = {
let data = res.data.minute_chart_data;
let categoryData = [];
let valueData = [];
let open = data[0].open;
for (let item of data) {
categoryData.push(item.time);
valueData.push(item.close);
let rate = utils_util.accMul(utils_util.accDiv(utils_util.accSub(item.close, open), open).toFixed(4), 100);
valueData.push([item.time, item.close, item.high, item.open, item.low, rate]);
}
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;
this.option1.series.markLine.data = [
{
yAxis: data[0].open,
label: {
show: true,
position: "start",
// formatter:'111',
color: "#333"
let markData = [];
let time = res.data.event_info;
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"
}
}
},
{
yAxis: data[0].open,
label: {
show: true,
position: "end",
formatter: "0.00%",
color: "#333"
}
}
];
);
}
this.option1.series.markLine.data = markData;
let relatedDesc = res.data.related_desc;
if (relatedDesc) {
this.relatedDesc = relatedDesc.relation_desc;
@@ -281,7 +348,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
} : {}, {
f: $data.type == 1
}, $data.type == 1 ? {
g: common_vendor.sr("chartRef", "42054871-1")
g: common_vendor.sr("chartRef", "ab03f7e6-1")
} : {}, {
h: common_vendor.t($data.relatedDesc),
i: $data.type == 1 && $data.sourceList.length > 0

View File

@@ -1 +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 wx:if="{{c}}" class="tabC fixed" style="{{e}}"><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 class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;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">{{h}}</view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" 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><nav-bar wx:if="{{a}}" u-i="ab03f7e6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><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 class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="ab03f7e6-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{h}}<text class="ai">AI合成</text></view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" 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

@@ -53,6 +53,9 @@
font-weight: 500;
color: #666;
}
.contentC .des .ai {
color: #C00000;
}
.contentC .list {
padding: 0 25rpx;
}