22import {onBeforeMount , onBeforeUnmount , onMounted , reactive , ref } from ' vue'
33import {Greet , Follow , UnFollow , GetFollowList , GetStockList , SetCostPriceAndVolume } from ' ../../wailsjs/go/main/App'
44import {NButton , NFlex , NForm , NFormItem , NInputNumber , NText , useMessage , useModal } from ' naive-ui'
5- import { WindowFullscreen ,WindowUnfullscreen } from ' ../../wailsjs/runtime'
6-
5+ import { WindowFullscreen ,WindowUnfullscreen , EventsOn } from ' ../../wailsjs/runtime'
6+ import { Add , StarOutline } from ' @vicons/ionicons5 '
77
88const message = useMessage ()
99const modal = useModal ()
@@ -17,6 +17,7 @@ const options=ref([])
1717const modalShow = ref (false )
1818const modalShow2 = ref (false )
1919const modalShow3 = ref (false )
20+ const addBTN = ref (true )
2021const formModel = ref ({
2122 name: " " ,
2223 code: " " ,
@@ -73,6 +74,28 @@ onBeforeUnmount(() => {
7374 clearInterval (ticker .value )
7475})
7576
77+ EventsOn (" refresh" ,(data )=> {
78+ message .success (data)
79+ })
80+
81+ EventsOn (" showSearch" ,(data )=> {
82+ addBTN .value = data === 1 ;
83+ })
84+
85+
86+ EventsOn (" refreshFollowList" ,(data )=> {
87+ message .loading (" refresh..." )
88+ GetFollowList ().then (result => {
89+ followList .value = result
90+ for (const followedStock of result) {
91+ if (! stocks .value .includes (followedStock .StockCode )) {
92+ stocks .value .push (followedStock .StockCode )
93+ }
94+ }
95+ monitor ()
96+ message .destroyAll
97+ })
98+ })
7699
77100// 判断是否是A股交易时间
78101function isTradingTime () {
@@ -272,21 +295,25 @@ function fullscreen(){
272295 </n-card >
273296 </n-gi >
274297 </n-grid >
298+ <n-affix :trigger-bottom =" 60" v-if =" addBTN" >
299+ <!-- <n-card :bordered="false">-->
300+ <n-input-group >
275301
276- <n-card :bordered =" false" :closable =" false" >
277- <n-button-group >
278- <n-auto-complete v-model:value =" data.name" type =" text"
302+ <n-button type =" info" @click =" addBTN=false" >隐藏</n-button >
303+ <n-auto-complete v-model:value =" data.name"
279304 :input-props =" {
280305 autocomplete: 'disabled',
281306 }"
282307 :options =" options"
283- placeholder =" 输入股票名称或者代码"
284- clearable class =" input" @input =" getStockList" :on-select =" onSelect" />
285- <n-button type =" info" @click =" AddStock" >添加 </n-button >  ;  ;
286- <n-button type =" warning" @click =" fullscreen" > {{data.fullscreen?'退出全屏':'全屏'}} </n-button >
287- </n-button-group >
288- </n-card >
289-
308+ placeholder =" 请输入股票名称或者代码"
309+ clearable @input =" getStockList" :on-select =" onSelect" />
310+ <n-button type =" primary" @click =" AddStock" >
311+ <n-icon :component =" Add" />   ; 关注该股票
312+ </n-button >
313+ </n-input-group >
314+ <!-- </n-card>-->
315+
316+ </n-affix >
290317 <n-modal transform-origin =" center" size =" small" v-model:show =" modalShow" :title =" formModel.name" style =" width : 400px " :preset =" 'card'" >
291318 <n-form :model =" formModel" :rules =" { costPrice: { required: true, message: '请输入成本'}, volume: { required: true, message: '请输入数量'} }" label-placement =" left" label-width =" 80px" >
292319 <n-form-item label =" 成本(元)" path =" costPrice" >
0 commit comments