Files
SpectralPlot/src/apphymain.js
2024-07-03 09:12:31 +08:00

173 lines
4.6 KiB
JavaScript

import {invoke} from "@tauri-apps/api/tauri";
import {ref} from "vue";
import {appWindow, LogicalSize, WebviewWindow} from "@tauri-apps/api/window";
import setWavelenth from "./components/menubox/SetWavelenth.vue";
import SetName from "./components/menubox/SetName.vue";
import SetWorkmode from "./components/menubox/SetWorkmode.vue";
import setCalibrate from "./components/menubox/SetCalibrate.vue";
import Greet from "./components/Greet.vue";
import {$ref} from "vue3-json-editor/dist/vue3-json-editor.cjs.js";
//引入
export default {
async onmenuclicked(command){
console.log("menuclicked main "+command.name)
if (command.type=="Set")
{
if (!this.isDevOpen())
{
return;
}
}
if (command.type=="File"){
if (command.name=="Advance"){
this.modaltitle="高级测试模式";
this.modalcomponent=Greet;
this.showModal();
}
}
// if (command.name=="setting"){
//
// this.modaltitle="设置波长";
// this.modalcomponent=setWavelenth
// this.showModal();
// }
if (command.name=="DevInfo"){
let iscommenopen=this.$refs.SiderComponend.SerialInfo.isopen;
if (!iscommenopen)
{
alert("请先打开设备");
return
}
this.modaltitle="设置设备信息";
this.modalcomponent=SetName
await this.$nextTick();
this.$refs.Commancompent.name=this.$refs.SiderComponend.Devinfo.name;
this.$refs.Commancompent.version=this.$refs.SiderComponend.Devinfo.Version;
this.$refs.Commancompent.upother=this.$refs.SiderComponend.GetSenSorInfo
this.showModal();
}
if (command.name=="Workmode"){
this.modaltitle="设置工作模式";
this.modalcomponent=SetWorkmode
await this.$nextTick();
this.$refs.Commancompent.GetSenSorInfo();
this.showModal();
}
if(command.name=="Weavelenth")
{
if (!this.isinAdvanceMode()) return;
this.modaltitle="设置波长";
this.modalcomponent=setWavelenth
await this.$nextTick();
// this.$refs.Commancompent.GetSenSorInfo();
this.showModal();
}
if (command.name=="Calibrate")
{
if (!this.isinAdvanceMode()) return;
this.modaltitle="能量定标";
this.modalcomponent=setCalibrate
await this.$nextTick();
// this.$refs.Commancompent.GetSenSorInfo();
this.showModal();
}
},
async newwindow() {
const webview = new WebviewWindow("element", {
url: "/element",
// 可自行添加属性配置 窗口配置
width: 2000,
height: 900,
//center:true,
//decorations:false
});
await webview.once("tauri://created", function () {
// webview window successfully created
// 窗口创建成功 打印1
console.log(1);
});
await webview.once("tauri://error", function (e) {
// an error happened creating the webview window
// 窗口创建失败 打印2
console.log(2);
});
// testWindow.open();
},
showModal() {
this.modal=!this.modal;
// alert("showModal")
},
isDevOpen(){
let iscommenopen=this.$refs.SiderComponend.SerialInfo.isopen;
if (!iscommenopen)
{
alert("请先打开设备");
return false;
}
return true;
},
isinAdvanceMode(){
let isadvance=this.$refs.SiderComponend.Devinfo.work_mode;
if(isadvance!="advanced_mode")
{
alert("请先切换到高级模式");
return false;
}
return true;
},
inittour(){
var steps=[
{
title: 'Save',
description: 'Save your changes.',
target:()=>this.$refs.SiderComponend.value&& this.$refs.SiderComponend.value.$el,
}
]
this.tourdata.steps=steps;
},
siderresize(){
this.$refs.HyperSpectralMainView.echartresize();
},
async testinmpt(){
let x=[0.0,0.5, 0.569, 1.138, 1.707, 2.276, 2.845];
let y=[0.0, 0.4,0.5, 1.0, 0.5, 0.0, -0.5];
let cc=await invoke("interpolate_spline",{x:x,y,step:0.1});
console.log(cc);
}
}