样式修改,新增菜单工具栏

This commit is contained in:
spark 2024-12-25 13:13:23 +08:00
parent cf7e8415e6
commit 0c04272153
6 changed files with 76 additions and 13 deletions

Binary file not shown.

View File

@ -8,6 +8,7 @@
"name": "go-stock",
"version": "1.0.0",
"dependencies": {
"@vicons/ionicons5": "^0.13.0",
"vue": "^3.2.25"
},
"devDependencies": {
@ -736,6 +737,11 @@
"@types/lodash": "*"
}
},
"node_modules/@vicons/ionicons5": {
"version": "0.13.0",
"resolved": "https://registry.npmmirror.com/@vicons/ionicons5/-/ionicons5-0.13.0.tgz",
"integrity": "sha512-zvZKBPjEXKN7AXNo2Na2uy+nvuv6SP4KAMQxpKL2vfHMj0fSvuw7JZcOPCjQC3e7ayssKnaoFVAhbYcW6v41qQ=="
},
"node_modules/@vitejs/plugin-vue": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",

View File

@ -9,6 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
"@vicons/ionicons5": "^0.13.0",
"vue": "^3.2.25"
},
"devDependencies": {

View File

@ -1 +1 @@
9ce62efac1fed08499bbf20c8a5fd1b2
bd20b6837e5729f2325cbbbaa79cbf1e

View File

@ -2,8 +2,8 @@
import {onBeforeMount, onBeforeUnmount, onMounted, reactive, ref} from 'vue'
import {Greet, Follow, UnFollow, GetFollowList, GetStockList, SetCostPriceAndVolume} from '../../wailsjs/go/main/App'
import {NButton, NFlex, NForm, NFormItem, NInputNumber, NText, useMessage, useModal} from 'naive-ui'
import { WindowFullscreen,WindowUnfullscreen } from '../../wailsjs/runtime'
import { WindowFullscreen,WindowUnfullscreen,EventsOn } from '../../wailsjs/runtime'
import {Add, StarOutline} from '@vicons/ionicons5'
const message = useMessage()
const modal = useModal()
@ -17,6 +17,7 @@ const options=ref([])
const modalShow = ref(false)
const modalShow2 = ref(false)
const modalShow3 = ref(false)
const addBTN = ref(true)
const formModel = ref({
name: "",
code: "",
@ -73,6 +74,28 @@ onBeforeUnmount(() => {
clearInterval(ticker.value)
})
EventsOn("refresh",(data)=>{
message.success(data)
})
EventsOn("showSearch",(data)=>{
addBTN.value = data === 1;
})
EventsOn("refreshFollowList",(data)=>{
message.loading("refresh...")
GetFollowList().then(result => {
followList.value = result
for (const followedStock of result) {
if (!stocks.value.includes(followedStock.StockCode)) {
stocks.value.push(followedStock.StockCode)
}
}
monitor()
message.destroyAll
})
})
//A
function isTradingTime() {
@ -272,21 +295,25 @@ function fullscreen(){
</n-card >
</n-gi>
</n-grid>
<n-affix :trigger-bottom="60" v-if="addBTN">
<!-- <n-card :bordered="false">-->
<n-input-group>
<n-card :bordered="false" :closable="false">
<n-button-group>
<n-auto-complete v-model:value="data.name" type="text"
<n-button type="info" @click="addBTN=false" >隐藏</n-button>
<n-auto-complete v-model:value="data.name"
:input-props="{
autocomplete: 'disabled',
}"
:options="options"
placeholder="输入股票名称或者代码"
clearable class="input" @input="getStockList" :on-select="onSelect"/>
<n-button type="info" @click="AddStock">添加 </n-button>&nbsp;&nbsp;
<n-button type="warning" @click="fullscreen"> {{data.fullscreen?'退出全屏':'全屏'}} </n-button>
</n-button-group>
</n-card>
placeholder="请输入股票名称或者代码"
clearable @input="getStockList" :on-select="onSelect"/>
<n-button type="primary" @click="AddStock">
<n-icon :component="Add"/> &nbsp;关注该股票
</n-button>
</n-input-group>
<!-- </n-card>-->
</n-affix>
<n-modal transform-origin="center" size="small" v-model:show="modalShow" :title="formModel.name" style="width: 400px" :preset="'card'">
<n-form :model="formModel" :rules="{ costPrice: { required: true, message: '请输入成本'}, volume: { required: true, message: '请输入数量'} }" label-placement="left" label-width="80px">
<n-form-item label="成本(元)" path="costPrice">

31
main.go
View File

@ -6,13 +6,17 @@ import (
"github.com/duke-git/lancet/v2/convertor"
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/logger"
"github.com/wailsapp/wails/v2/pkg/menu"
"github.com/wailsapp/wails/v2/pkg/menu/keys"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/mac"
"github.com/wailsapp/wails/v2/pkg/options/windows"
"github.com/wailsapp/wails/v2/pkg/runtime"
"go-stock/backend/data"
"go-stock/backend/db"
"log"
"os"
"time"
)
//go:embed frontend/dist
@ -40,6 +44,31 @@ func main() {
// Create an instance of the app structure
app := NewApp()
// Create application with options
AppMenu := menu.NewMenu()
FileMenu := AppMenu.AddSubmenu("设置")
FileMenu.AddText("显示搜索框", keys.CmdOrCtrl("s"), func(callbackData *menu.CallbackData) {
runtime.EventsEmit(app.ctx, "showSearch", 1)
})
FileMenu.AddText("隐藏搜索框", keys.CmdOrCtrl("d"), func(callbackData *menu.CallbackData) {
runtime.EventsEmit(app.ctx, "showSearch", 0)
})
FileMenu.AddText("刷新数据", keys.CmdOrCtrl("r"), func(callbackData *menu.CallbackData) {
//runtime.EventsEmit(app.ctx, "refresh", "setting-"+time.Now().Format("2006-01-02 15:04:05"))
runtime.EventsEmit(app.ctx, "refreshFollowList", "refresh-"+time.Now().Format("2006-01-02 15:04:05"))
})
FileMenu.AddSeparator()
FileMenu.AddText("窗口全屏", keys.CmdOrCtrl("f"), func(callback *menu.CallbackData) {
runtime.WindowFullscreen(app.ctx)
callback.MenuItem.Hide()
})
FileMenu.AddText("窗口还原", keys.Key("Esc"), func(callback *menu.CallbackData) {
runtime.WindowUnfullscreen(app.ctx)
})
FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
runtime.Quit(app.ctx)
})
err := wails.Run(&options.App{
Title: "go-stock",
Width: 1366,
@ -55,7 +84,7 @@ func main() {
HideWindowOnClose: false,
BackgroundColour: &options.RGBA{R: 255, G: 255, B: 255, A: 255},
Assets: assets,
Menu: nil,
Menu: AppMenu,
Logger: nil,
LogLevel: logger.DEBUG,
OnStartup: app.startup,