This commit is contained in:
2024-07-03 09:12:31 +08:00
commit d761f91771
70 changed files with 17366 additions and 0 deletions

View File

@ -0,0 +1,224 @@
import { fs, dialog } from '@tauri-apps/api';
import * as echarts from 'echarts';
import { invoke } from "@tauri-apps/api/tauri";
import { exit } from '@tauri-apps/api/process';
export default {
async handlekeydown(event) {
if (event.code == "Space") {
//datatosave 保存
console.log(this.datatosave)
var data = this.datatosave;
var xValues = []
var yValues = []
var lenthofdata = data.length
for (var i = 0; i < lenthofdata; i++) {
xValues.push(data[i][0]);
yValues.push(data[i][1]);
}
var lenth = xValues.length;
var strcsv = ""
for (var i = 0; i < lenth; i++) {
strcsv += xValues[i] + "," + yValues[i] + "\r\n";
}
await fs.writeFile(this.Pathtosave, strcsv);
// fs.writeFileSync(this.Pathtosave, strcsv);
this.nowNumber++;
this.Pathtosave = this.pathofdir + "/" + this.Filename + this.nowNumber + ".csv";
alert("保存" + this.Pathtosave + "成功")
}
},
setwavelength(data) {
this.option.xAxis.max = data.max;
this.option.xAxis.min = data.min;
const chartDom = this.$refs.chart;
let chart = echarts.getInstanceByDom(chartDom);
chart.setOption(this.option);
},
plotGraph(data, index) {
this.option.series[index].data = data;
const chartDom = this.$refs.chart;
let chart = echarts.getInstanceByDom(chartDom);
chart.setOption(this.option);
},
setprogressbar(message) {
if (typeof message === 'undefined') return;
if (typeof message === 'object') {
if (typeof message.percent === 'undefined') message.percent = this.percent;
if (typeof message.info === 'undefined') message.info = this.progressinfo;
this.percent = message.percent;
this.progressinfo = message.info;
}
let percent = this.percent;
//如果percent >0 且小于100
if (percent > 0 && percent < 100) {
this.progressstate = true;
} else {
this.progressstate = false;
}
},
initChart() {
const chartDom = this.$refs.chart;
// chartDom.style.width = '100%';
// chartDom.style.height = '100%';
let chart = echarts.init(chartDom,null,{renderer: 'svg'});
this.option = {
legend: {
data: ['UP', 'DOWN'], // 图例名称
show: true,// 显示图例
selectedMode: 'multiple', // 图例的选择模式。默认开启图例开关,可选single,multiple
},
// ECharts 配置选项
xAxis: {
type: 'value',
boundaryGap: false,// 显示连续的刻度
min: 0,
max: 1100,
dataZoom: [
{
type: 'inside', // 内置数据区域缩放
start: 0, // 初始缩放范围的起始位置(0%)
end: 100 // 初始缩放范围的结束位置(100%)
}
],
triggerEvent: true
},
animation: false,
yAxis: {
type: 'value',
//min:0,
},
tooltip:{
trigger:'axis',
},
axisPointer: {
link: { xAxisIndex: 'all' },
label: {
backgroundColor: '#777'
}
},
grid: {
left: '5%',
right: '5%',
bottom: '5%',
top: '5%'
},
// visualMap: [
// {
// type: 'continuous',
// }
// ],
dataZoom: [
{
type: 'slider', // 内置数据区域缩放,包括滚轮缩放
xAxisIndex: [0], // 对应 x 轴
filterMode: 'none' // 不过滤数据
},
{
type: 'slider', // 内置数据区域缩放,包括滚轮缩放
yAxisIndex: [0], // 对应 y 轴
filterMode: 'none', // 不过滤数据
//width :15
}
],
// legend: {
// data: ['曲线'], // 图例名称
// show: true ,// 显示图例
// //selectedMode: 'multiple', // 图例的选择模式。默认开启图例开关,可选single,multiple
// },
series: [
{
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
type: 'line',
name: 'UP',
symbol: 'none', // 不显示数据点
smooth: false, // 不使用平滑处理
// step: 'start' // 设置 step 类型的起始位置
},
{
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
type: 'line',
name: 'DOWN',
symbol: 'none', // 不显示数据点
smooth: false, // 不使用平滑处理
//step: 'start' // 设置 step 类型的起始位置
}
]
};
window.onresize=function () {
chart.resize()
}
chart.setOption(this.option);
chart.on('click', function (params) {
console.log(params);
});
chart.on('legendselectchanged', function (params) {
console.log(params);
});
chart.on('click', 'series.line', function (params) {
console.log(params);
});
chart.on('mouseover', {seriesIndex: 1, name: 'xx'}, function (params) {
console.log(params);
});
//this.echartresize()
},
echartresize(){
console.log("resize")
const chartDom = this.$refs.chart;
let chart = echarts.getInstanceByDom(chartDom);
chart.resize()
},
GetSenSorInfo() {
var Command = { command: "get_sensor_info" };
let data = {
data: Command.toString(),
datatype: "json"
}
SerilPort.SendtoPort(data)
console.log(SerilPort.ReadData(0x01));
}
}