mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
feat(market):添加公司公告功能
feat(market):添加公司公告功能 - 在市场页面添加公司公告选项卡 - 实现公司公告数据接口和组件 - 优化市场页面布局和功能
This commit is contained in:
commit
0cafcb9cd4
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@ -4,9 +4,9 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
tags:
|
# tags:
|
||||||
# Match any new tag
|
# # Match any new tag
|
||||||
- '*-release'
|
# - '*-release'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Necessary for most environments as build failure can occur due to OOM issues
|
# Necessary for most environments as build failure can occur due to OOM issues
|
||||||
|
@ -17,3 +17,6 @@ func (a *App) LongTigerRank(date string) *[]models.LongTigerRankData {
|
|||||||
func (a *App) StockResearchReport(stockCode string) []any {
|
func (a *App) StockResearchReport(stockCode string) []any {
|
||||||
return data.NewMarketNewsApi().StockResearchReport(stockCode, 7)
|
return data.NewMarketNewsApi().StockResearchReport(stockCode, 7)
|
||||||
}
|
}
|
||||||
|
func (a *App) StockNotice(stockCode string) []any {
|
||||||
|
return data.NewMarketNewsApi().StockNotice(stockCode)
|
||||||
|
}
|
||||||
|
@ -433,3 +433,28 @@ func (m MarketNewsApi) StockResearchReport(stockCode string, days int) []any {
|
|||||||
//logger.SugaredLogger.Infof("resp:%+v", respMap["data"])
|
//logger.SugaredLogger.Infof("resp:%+v", respMap["data"])
|
||||||
return respMap["data"].([]any)
|
return respMap["data"].([]any)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m MarketNewsApi) StockNotice(stock_list string) []any {
|
||||||
|
var stockCodes []string
|
||||||
|
for _, stockCode := range strings.Split(stock_list, ",") {
|
||||||
|
if strutil.ContainsAny(stockCode, []string{"."}) {
|
||||||
|
stockCode = strings.Split(stockCode, ".")[0]
|
||||||
|
stockCodes = append(stockCodes, stockCode)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
url := "https://np-anotice-stock.eastmoney.com/api/security/ann?page_size=50&page_index=1&ann_type=SHA%2CCYB%2CSZA%2CBJA%2CINV&client_source=web&f_node=0&stock_list=" + strings.Join(stockCodes, ",")
|
||||||
|
resp, err := resty.New().SetTimeout(time.Duration(15)*time.Second).R().
|
||||||
|
SetHeader("Host", "np-anotice-stock.eastmoney.com").
|
||||||
|
SetHeader("Referer", "https://data.eastmoney.com/notices/hsa/5.html").
|
||||||
|
SetHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0").
|
||||||
|
Get(url)
|
||||||
|
respMap := map[string]any{}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return []any{}
|
||||||
|
}
|
||||||
|
json.Unmarshal(resp.Body(), &respMap)
|
||||||
|
//logger.SugaredLogger.Infof("resp:%+v", respMap["data"])
|
||||||
|
return (respMap["data"].(map[string]any))["list"].([]any)
|
||||||
|
}
|
||||||
|
@ -72,3 +72,12 @@ func TestStockResearchReport(t *testing.T) {
|
|||||||
logger.SugaredLogger.Debugf("value: %+v", a)
|
logger.SugaredLogger.Debugf("value: %+v", a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestStockNotice(t *testing.T) {
|
||||||
|
db.Init("../../data/stock.db")
|
||||||
|
resp := NewMarketNewsApi().StockNotice("600584,600900")
|
||||||
|
for _, a := range resp {
|
||||||
|
logger.SugaredLogger.Debugf("value: %+v", a)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -261,6 +261,27 @@ const menuOptions = ref([
|
|||||||
key: 'market7',
|
key: 'market7',
|
||||||
icon: renderIcon(NewspaperSharp),
|
icon: renderIcon(NewspaperSharp),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: () =>
|
||||||
|
h(
|
||||||
|
RouterLink,
|
||||||
|
{
|
||||||
|
href: '#',
|
||||||
|
to: {
|
||||||
|
name: 'market',
|
||||||
|
query: {
|
||||||
|
name: "公司公告",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onClick: () => {
|
||||||
|
EventsEmit("changeMarketTab", {ID: 0, name: '公司公告'})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{default: () => '公司公告',}
|
||||||
|
),
|
||||||
|
key: 'market8',
|
||||||
|
icon: renderIcon(NewspaperSharp),
|
||||||
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -356,7 +356,7 @@ function handleKLine(code,name){
|
|||||||
chart.setOption(option);
|
chart.setOption(option);
|
||||||
|
|
||||||
chart.on('click',{seriesName:'日K'}, function(params) {
|
chart.on('click',{seriesName:'日K'}, function(params) {
|
||||||
console.log("click:",params);
|
//console.log("click:",params);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
114
frontend/src/components/StockNoticeList.vue
Normal file
114
frontend/src/components/StockNoticeList.vue
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import {onBeforeMount, ref} from 'vue'
|
||||||
|
import {GetStockList, StockNotice} from "../../wailsjs/go/main/App";
|
||||||
|
import {BrowserOpenURL} from "../../wailsjs/runtime";
|
||||||
|
import {RefreshCircleSharp} from "@vicons/ionicons5";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
|
|
||||||
|
const list = ref([])
|
||||||
|
const options = ref([])
|
||||||
|
|
||||||
|
function getNotice(stockCodes) {
|
||||||
|
StockNotice(stockCodes).then(result => {
|
||||||
|
console.log(result)
|
||||||
|
list.value = result
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onBeforeMount (()=>{
|
||||||
|
getNotice('');
|
||||||
|
})
|
||||||
|
|
||||||
|
function findStockList(query){
|
||||||
|
if (query){
|
||||||
|
GetStockList(query).then(result => {
|
||||||
|
options.value=result.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.name+" - "+item.ts_code,
|
||||||
|
value: item.ts_code
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
getNotice("")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function handleSearch(value) {
|
||||||
|
getNotice(value)
|
||||||
|
}
|
||||||
|
function openWin(code) {
|
||||||
|
BrowserOpenURL("https://pdf.dfcfw.com/pdf/H2_"+code+"_1.pdf?1750092081000.pdf")
|
||||||
|
}
|
||||||
|
function getTypeColor(name){
|
||||||
|
if(name.includes("质押")||name.includes("冻结")||name.includes("解冻")||name.includes("解押")||name.includes("解禁")){
|
||||||
|
return "error"
|
||||||
|
}
|
||||||
|
if(name.includes("异常")||name.includes("减持")||name.includes("增发")||name.includes("重大")){
|
||||||
|
return "error"
|
||||||
|
}
|
||||||
|
if(name.includes("季度报告")||name.includes("年度报告")||name.includes("澄清公告")||name.includes("风险")){
|
||||||
|
return "error"
|
||||||
|
}
|
||||||
|
if(name.includes("终止")||name.includes("复牌")||name.includes("停牌")||name.includes("退市")){
|
||||||
|
return "error"
|
||||||
|
}
|
||||||
|
if(name.includes("破产")||name.includes("清算")){
|
||||||
|
return "error"
|
||||||
|
}
|
||||||
|
if(name.includes("回购")||name.includes("重组")||name.includes("诉讼")||name.includes("仲裁")||name.includes("转让")||name.includes("收购")){
|
||||||
|
return "warning"
|
||||||
|
}
|
||||||
|
if(name.includes("调研")||name.includes("募集")){
|
||||||
|
return "warning"
|
||||||
|
}
|
||||||
|
|
||||||
|
return "info"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-card>
|
||||||
|
<n-auto-complete :options="options" placeholder="请输入A股名称或者代码" clearable filterable :on-select="handleSearch" :on-update:value="findStockList" />
|
||||||
|
</n-card>
|
||||||
|
<n-table striped size="small">
|
||||||
|
<n-thead>
|
||||||
|
<n-tr>
|
||||||
|
<n-th>股票代码</n-th>
|
||||||
|
<n-th>股票名称</n-th>
|
||||||
|
<n-th>公告标题</n-th>
|
||||||
|
<n-th>公告类型</n-th>
|
||||||
|
<n-th>公告日期</n-th>
|
||||||
|
<n-th><n-flex>数据更新时间<n-icon @click="getNotice('')" color="#409EFF" :size="20" :component="RefreshCircleSharp"/></n-flex></n-th>
|
||||||
|
</n-tr>
|
||||||
|
</n-thead>
|
||||||
|
<n-tbody>
|
||||||
|
<n-tr v-for="item in list" :key="item.art_code">
|
||||||
|
<n-td>
|
||||||
|
<n-tag type="info">{{item.codes[0].stock_code }}</n-tag>
|
||||||
|
</n-td>
|
||||||
|
<n-td>
|
||||||
|
<n-tag type="info">{{item.codes[0].short_name }}</n-tag>
|
||||||
|
</n-td>
|
||||||
|
<n-td>
|
||||||
|
<n-a type="info" @click="openWin(item.art_code)"><n-text :type="getTypeColor(item.columns[0].column_name)"> {{item.title}}</n-text></n-a>
|
||||||
|
</n-td>
|
||||||
|
<n-td>
|
||||||
|
<n-text :type="getTypeColor(item.columns[0].column_name)">{{item.columns[0].column_name }}</n-text>
|
||||||
|
</n-td>
|
||||||
|
<n-td>
|
||||||
|
<n-tag type="info">{{item.notice_date.substring(0,10) }}</n-tag>
|
||||||
|
</n-td>
|
||||||
|
<n-td>
|
||||||
|
<n-tag type="info">{{item.display_time.substring(0,19)}}</n-tag>
|
||||||
|
</n-td>
|
||||||
|
</n-tr>
|
||||||
|
</n-tbody>
|
||||||
|
</n-table>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -15,7 +15,7 @@ const options = ref([])
|
|||||||
|
|
||||||
function getStockResearchReport(value) {
|
function getStockResearchReport(value) {
|
||||||
StockResearchReport(value).then(result => {
|
StockResearchReport(value).then(result => {
|
||||||
console.log(result)
|
//console.log(result)
|
||||||
list.value = result
|
list.value = result
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -97,7 +97,7 @@ function handleSearch(value) {
|
|||||||
<n-tbody>
|
<n-tbody>
|
||||||
<n-tr v-for="item in list" :key="item.infoCode">
|
<n-tr v-for="item in list" :key="item.infoCode">
|
||||||
<!-- <n-td>{{item.stockCode}}</n-td>-->
|
<!-- <n-td>{{item.stockCode}}</n-td>-->
|
||||||
<n-td>
|
<n-td :title="item.stockCode">
|
||||||
<n-popover trigger="hover" placement="right">
|
<n-popover trigger="hover" placement="right">
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<n-tag type="info" :bordered="false">{{item.stockName}}</n-tag>
|
<n-tag type="info" :bordered="false">{{item.stockName}}</n-tag>
|
||||||
|
@ -44,8 +44,8 @@ EventsOn("updateVersion",async (msg) => {
|
|||||||
|
|
||||||
const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||||
|
|
||||||
console.log("GitHub UTC 时间:", utcDate);
|
//console.log("GitHub UTC 时间:", utcDate);
|
||||||
console.log("转换后的本地时间:", formattedDate);
|
//console.log("转换后的本地时间:", formattedDate);
|
||||||
notify.info({
|
notify.info({
|
||||||
avatar: () =>
|
avatar: () =>
|
||||||
h(NAvatar, {
|
h(NAvatar, {
|
||||||
|
@ -47,7 +47,7 @@ onBeforeMount(()=>{
|
|||||||
})
|
})
|
||||||
GetFollowedFund().then(result => {
|
GetFollowedFund().then(result => {
|
||||||
followList.value = result
|
followList.value = result
|
||||||
console.log("followList",followList.value)
|
//console.log("followList",followList.value)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ onMounted(() => {
|
|||||||
//ws.value = new WebSocket('ws://localhost:16688/ws'); // 替换为你的 WebSocket 服务器地址
|
//ws.value = new WebSocket('ws://localhost:16688/ws'); // 替换为你的 WebSocket 服务器地址
|
||||||
|
|
||||||
ws.value.onopen = () => {
|
ws.value.onopen = () => {
|
||||||
console.log('WebSocket 连接已打开');
|
//console.log('WebSocket 连接已打开');
|
||||||
};
|
};
|
||||||
|
|
||||||
ws.value.onmessage = (event) => {
|
ws.value.onmessage = (event) => {
|
||||||
@ -74,13 +74,13 @@ onMounted(() => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ws.value.onclose = () => {
|
ws.value.onclose = () => {
|
||||||
console.log('WebSocket 连接已关闭');
|
//console.log('WebSocket 连接已关闭');
|
||||||
};
|
};
|
||||||
|
|
||||||
ticker.value=setInterval(() => {
|
ticker.value=setInterval(() => {
|
||||||
GetFollowedFund().then(result => {
|
GetFollowedFund().then(result => {
|
||||||
followList.value = result
|
followList.value = result
|
||||||
console.log("followList",followList.value)
|
//console.log("followList",followList.value)
|
||||||
})
|
})
|
||||||
}, 1000*60)
|
}, 1000*60)
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ function AddFund(){
|
|||||||
message.success("关注成功")
|
message.success("关注成功")
|
||||||
GetFollowedFund().then(result => {
|
GetFollowedFund().then(result => {
|
||||||
followList.value = result
|
followList.value = result
|
||||||
console.log("followList",followList.value)
|
//console.log("followList",followList.value)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -114,7 +114,7 @@ function unFollow(code){
|
|||||||
message.success("取消关注成功")
|
message.success("取消关注成功")
|
||||||
GetFollowedFund().then(result => {
|
GetFollowedFund().then(result => {
|
||||||
followList.value = result
|
followList.value = result
|
||||||
console.log("followList",followList.value)
|
//console.log("followList",followList.value)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -42,7 +42,7 @@ function GetRankData(){
|
|||||||
GetIndustryMoneyRankSina(fenlei.value,sort.value).then(result => {
|
GetIndustryMoneyRankSina(fenlei.value,sort.value).then(result => {
|
||||||
if(result.length>0){
|
if(result.length>0){
|
||||||
dataList.value = result
|
dataList.value = result
|
||||||
console.log(result)
|
//console.log(result)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ import RankTable from "./rankTable.vue";
|
|||||||
import IndustryMoneyRank from "./industryMoneyRank.vue";
|
import IndustryMoneyRank from "./industryMoneyRank.vue";
|
||||||
import MoneyTrend from "./moneyTrend.vue";
|
import MoneyTrend from "./moneyTrend.vue";
|
||||||
import StockResearchReportList from "./StockResearchReportList.vue";
|
import StockResearchReportList from "./StockResearchReportList.vue";
|
||||||
|
import StockNoticeList from "./StockNoticeList.vue";
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const icon = ref('https://raw.githubusercontent.com/ArvinLovegood/go-stock/master/build/appicon.png');
|
const icon = ref('https://raw.githubusercontent.com/ArvinLovegood/go-stock/master/build/appicon.png');
|
||||||
@ -129,7 +130,7 @@ function handleEXPLANATION(value, option){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function sortLongTigerRank(e){
|
function sortLongTigerRank(e){
|
||||||
console.log(e.target.dataset)
|
//console.log(e.target.dataset)
|
||||||
// let field= e.target.dataset.field;
|
// let field= e.target.dataset.field;
|
||||||
// lhbList.value= _.sortBy(lhbList.value, function(o) { return o[field]; });
|
// lhbList.value= _.sortBy(lhbList.value, function(o) { return o[field]; });
|
||||||
}
|
}
|
||||||
@ -224,7 +225,7 @@ function industryRank() {
|
|||||||
|
|
||||||
GetIndustryRank(sort.value, 150).then(result => {
|
GetIndustryRank(sort.value, 150).then(result => {
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
console.log(result)
|
//console.log(result)
|
||||||
industryRanks.value = result
|
industryRanks.value = result
|
||||||
} else {
|
} else {
|
||||||
message.info("暂无数据")
|
message.info("暂无数据")
|
||||||
@ -341,7 +342,7 @@ function share() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function ReFlesh(source) {
|
function ReFlesh(source) {
|
||||||
console.log("ReFlesh:", source)
|
//console.log("ReFlesh:", source)
|
||||||
ReFleshTelegraphList(source).then(res => {
|
ReFleshTelegraphList(source).then(res => {
|
||||||
if (source === "财联社电报") {
|
if (source === "财联社电报") {
|
||||||
telegraphList.value = res
|
telegraphList.value = res
|
||||||
@ -612,6 +613,9 @@ function ReFlesh(source) {
|
|||||||
<n-form-item-gi :span="8" label="上榜原因" path="EXPLANATION" label-placement="left">
|
<n-form-item-gi :span="8" label="上榜原因" path="EXPLANATION" label-placement="left">
|
||||||
<n-select clearable placeholder="上榜原因过滤" v-model:value="SearchForm.EXPLANATION" :options="EXPLANATIONs" :on-update:value="handleEXPLANATION"/>
|
<n-select clearable placeholder="上榜原因过滤" v-model:value="SearchForm.EXPLANATION" :options="EXPLANATIONs" :on-update:value="handleEXPLANATION"/>
|
||||||
</n-form-item-gi>
|
</n-form-item-gi>
|
||||||
|
<n-form-item-gi :span="10" label="" label-placement="left">
|
||||||
|
<n-text type="error">*当天的龙虎榜数据通常在收盘结束后一小时左右更新</n-text>
|
||||||
|
</n-form-item-gi>
|
||||||
</n-grid>
|
</n-grid>
|
||||||
</n-form>
|
</n-form>
|
||||||
<n-table :single-line="false" striped>
|
<n-table :single-line="false" striped>
|
||||||
@ -707,6 +711,9 @@ function ReFlesh(source) {
|
|||||||
<n-tab-pane name="个股研报" tab="个股研报">
|
<n-tab-pane name="个股研报" tab="个股研报">
|
||||||
<StockResearchReportList/>
|
<StockResearchReportList/>
|
||||||
</n-tab-pane>
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="公司公告" tab="公司公告 ">
|
||||||
|
<StockNoticeList/>
|
||||||
|
</n-tab-pane>
|
||||||
|
|
||||||
</n-tabs>
|
</n-tabs>
|
||||||
</n-card>
|
</n-card>
|
||||||
|
@ -68,7 +68,7 @@ const handleLine = (code, days) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
console.log("volume", volume)
|
//console.log("volume", volume)
|
||||||
const upColor = '#ec0000';
|
const upColor = '#ec0000';
|
||||||
const downColor = '#00da3c';
|
const downColor = '#00da3c';
|
||||||
let option = {
|
let option = {
|
||||||
|
@ -79,12 +79,12 @@ onMounted(()=>{
|
|||||||
formValue.value.darkTheme = res.darkTheme
|
formValue.value.darkTheme = res.darkTheme
|
||||||
formValue.value.enableFund = res.enableFund
|
formValue.value.enableFund = res.enableFund
|
||||||
|
|
||||||
console.log(res)
|
//console.log(res)
|
||||||
})
|
})
|
||||||
//message.info("加载完成")
|
//message.info("加载完成")
|
||||||
|
|
||||||
GetPromptTemplates("","").then(res=>{
|
GetPromptTemplates("","").then(res=>{
|
||||||
console.log(res)
|
//console.log(res)
|
||||||
promptTemplates.value=res
|
promptTemplates.value=res
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -165,7 +165,7 @@ function importConfig(){
|
|||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
reader.onload = (e) => {
|
reader.onload = (e) => {
|
||||||
let config = JSON.parse(e.target.result);
|
let config = JSON.parse(e.target.result);
|
||||||
console.log(config)
|
//console.log(config)
|
||||||
formValue.value.ID = config.ID
|
formValue.value.ID = config.ID
|
||||||
formValue.value.tushareToken = config.tushareToken
|
formValue.value.tushareToken = config.tushareToken
|
||||||
formValue.value.dingPush = {
|
formValue.value.dingPush = {
|
||||||
@ -204,7 +204,7 @@ function importConfig(){
|
|||||||
|
|
||||||
|
|
||||||
window.onerror = function (event, source, lineno, colno, error) {
|
window.onerror = function (event, source, lineno, colno, error) {
|
||||||
console.log(event, source, lineno, colno, error)
|
//console.log(event, source, lineno, colno, error)
|
||||||
// 将错误信息发送给后端
|
// 将错误信息发送给后端
|
||||||
EventsEmit("frontendError", {
|
EventsEmit("frontendError", {
|
||||||
page: "settings.vue",
|
page: "settings.vue",
|
||||||
@ -237,14 +237,14 @@ function savePrompt(){
|
|||||||
AddPrompt(formPrompt.value).then(res=>{
|
AddPrompt(formPrompt.value).then(res=>{
|
||||||
message.success(res)
|
message.success(res)
|
||||||
GetPromptTemplates("","").then(res=>{
|
GetPromptTemplates("","").then(res=>{
|
||||||
console.log(res)
|
//console.log(res)
|
||||||
promptTemplates.value=res
|
promptTemplates.value=res
|
||||||
})
|
})
|
||||||
showManagePromptsModal.value=false
|
showManagePromptsModal.value=false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function editPrompt(prompt){
|
function editPrompt(prompt){
|
||||||
console.log(prompt)
|
//console.log(prompt)
|
||||||
formPrompt.value.ID=prompt.ID
|
formPrompt.value.ID=prompt.ID
|
||||||
formPrompt.value.Name=prompt.name
|
formPrompt.value.Name=prompt.name
|
||||||
formPrompt.value.Content=prompt.content
|
formPrompt.value.Content=prompt.content
|
||||||
@ -255,7 +255,7 @@ function deletePrompt(ID){
|
|||||||
DelPrompt(ID).then(res=>{
|
DelPrompt(ID).then(res=>{
|
||||||
message.success(res)
|
message.success(res)
|
||||||
GetPromptTemplates("","").then(res=>{
|
GetPromptTemplates("","").then(res=>{
|
||||||
console.log(res)
|
//console.log(res)
|
||||||
promptTemplates.value=res
|
promptTemplates.value=res
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -178,7 +178,7 @@ onBeforeMount(()=>{
|
|||||||
if(route.query.groupId){
|
if(route.query.groupId){
|
||||||
message.success("切换分组:"+route.query.groupName)
|
message.success("切换分组:"+route.query.groupName)
|
||||||
currentGroupId.value=Number(route.query.groupId)
|
currentGroupId.value=Number(route.query.groupId)
|
||||||
console.log("route.params",route.query)
|
//console.log("route.params",route.query)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
GetStockList("").then(result => {
|
GetStockList("").then(result => {
|
||||||
@ -531,7 +531,7 @@ function getStockList(value){
|
|||||||
function blinkBorder(findId){
|
function blinkBorder(findId){
|
||||||
// 获取要滚动到的元素
|
// 获取要滚动到的元素
|
||||||
let element = document.getElementById(findId);
|
let element = document.getElementById(findId);
|
||||||
console.log("blinkBorder",findId,element)
|
//console.log("blinkBorder",findId,element)
|
||||||
if (element) {
|
if (element) {
|
||||||
// 滚动到该元素
|
// 滚动到该元素
|
||||||
element.scrollIntoView({ behavior: 'smooth'});
|
element.scrollIntoView({ behavior: 'smooth'});
|
||||||
@ -652,7 +652,7 @@ function setStock(code,name){
|
|||||||
modalShow.value=true
|
modalShow.value=true
|
||||||
}
|
}
|
||||||
function clearFeishi(){
|
function clearFeishi(){
|
||||||
console.log("clearFeishi")
|
//console.log("clearFeishi")
|
||||||
clearInterval(feishiInterval.value)
|
clearInterval(feishiInterval.value)
|
||||||
}
|
}
|
||||||
function showFsChart(code, name) {
|
function showFsChart(code, name) {
|
||||||
@ -1242,7 +1242,7 @@ function handleKLine(){
|
|||||||
};
|
};
|
||||||
chart.setOption(option);
|
chart.setOption(option);
|
||||||
chart.on('click',{seriesName:'日K'}, function(params) {
|
chart.on('click',{seriesName:'日K'}, function(params) {
|
||||||
console.log("click:",params);
|
//console.log("click:",params);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
2
frontend/wailsjs/go/main/App.d.ts
vendored
2
frontend/wailsjs/go/main/App.d.ts
vendored
@ -89,6 +89,8 @@ export function SetStockSort(arg1:number,arg2:string):Promise<void>;
|
|||||||
|
|
||||||
export function ShareAnalysis(arg1:string,arg2:string):Promise<string>;
|
export function ShareAnalysis(arg1:string,arg2:string):Promise<string>;
|
||||||
|
|
||||||
|
export function StockNotice(arg1:string):Promise<Array<any>>;
|
||||||
|
|
||||||
export function StockResearchReport(arg1:string):Promise<Array<any>>;
|
export function StockResearchReport(arg1:string):Promise<Array<any>>;
|
||||||
|
|
||||||
export function SummaryStockNews(arg1:string,arg2:any):Promise<void>;
|
export function SummaryStockNews(arg1:string,arg2:any):Promise<void>;
|
||||||
|
@ -174,6 +174,10 @@ export function ShareAnalysis(arg1, arg2) {
|
|||||||
return window['go']['main']['App']['ShareAnalysis'](arg1, arg2);
|
return window['go']['main']['App']['ShareAnalysis'](arg1, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function StockNotice(arg1) {
|
||||||
|
return window['go']['main']['App']['StockNotice'](arg1);
|
||||||
|
}
|
||||||
|
|
||||||
export function StockResearchReport(arg1) {
|
export function StockResearchReport(arg1) {
|
||||||
return window['go']['main']['App']['StockResearchReport'](arg1);
|
return window['go']['main']['App']['StockResearchReport'](arg1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user