Merge remote-tracking branch 'origin/master-dev' into feature-Beta-dev-renpy

This commit is contained in:
orgin 2024-02-29 17:59:27 +08:00
commit 38e2111e0e
3 changed files with 276 additions and 176 deletions

View File

@ -1,5 +1,5 @@
<template> <template>
<custom-modal v-model="visible" :width="1280" title="Nuclide Review" :footer="null" @close="handleCancel"> <custom-modal v-model="visible" :width="1280" title="Nuclide Review" :footer="null">
<a-spin :spinning="isLoading"> <a-spin :spinning="isLoading">
<div class="nuclide-review-search"> <div class="nuclide-review-search">
<span @click="handleNuclideChange('prev')">&lt;</span> <span @click="handleNuclideChange('prev')">&lt;</span>

View File

@ -1,6 +1,14 @@
<template> <template>
<custom-modal v-model="visible" :width="1280" title="Interactive Analyse Tools" :footer="null" destroy-on-close> <custom-modal
<a-spin :spinning="isLoading"> v-model="visible"
:width="1280"
class="interactive-analysis-tools-dialog"
:enableFullScreen="true"
title="Interactive Analyse Tools"
:footer="null"
destroy-on-close
@fullscreen="handleFullScreenChange"
>
<div class="interactive-analysis-tools"> <div class="interactive-analysis-tools">
<div class="interactive-analysis-tools-left"> <div class="interactive-analysis-tools-left">
<div class="chart"> <div class="chart">
@ -24,7 +32,7 @@
</div> </div>
<!-- 缩略图 --> <!-- 缩略图 -->
<div class="thumbnail"> <div class="thumbnail">
<CustomChart :option="thumbnailOption" /> <CustomChart ref="thumbnailRef" :option="thumbnailOption" />
</div> </div>
<!-- 缩略图结束 --> <!-- 缩略图结束 -->
@ -55,11 +63,13 @@
</div> </div>
</div> </div>
<!-- 表格结束 --> <!-- 表格结束 -->
<resize-observer @notify="handleResize" />
</div> </div>
<!-- 右侧 --> <!-- 右侧 -->
<div class="interactive-analysis-tools-right"> <div class="interactive-analysis-tools-right">
<title-over-border :title="btnGroupType == 1 ? 'Peak' : 'Baseline Control Points'"> <title-over-border class="peak-box-container" :title="btnGroupType == 1 ? 'Peak' : 'Baseline Control Points'">
<div class="peak-box"> <div class="peak-box">
<!-- 按钮组1 --> <!-- 按钮组1 -->
<template v-if="btnGroupType == 1"> <template v-if="btnGroupType == 1">
@ -91,11 +101,7 @@
<a-button type="primary" @click="handleRemoveCP">(R)emove CP</a-button> <a-button type="primary" @click="handleRemoveCP">(R)emove CP</a-button>
</div> </div>
<div class="peak-box-item"> <div class="peak-box-item">
<a-button <a-button type="primary" key="modify-btn" :class="{ 'is-modify': isModifying }" @click="handleModifyCP"
type="primary"
key="modify-btn"
:class="{ 'is-modify': isModifying }"
@click="handleModifyCP"
>(M)odify CP</a-button >(M)odify CP</a-button
> >
</div> </div>
@ -176,7 +182,6 @@
</div> </div>
<!-- 右侧结束 --> <!-- 右侧结束 -->
</div> </div>
</a-spin>
<!-- Peak Comment弹窗 开始 --> <!-- Peak Comment弹窗 开始 -->
<peak-comment-modal v-model="peakCommentModalVisible" :curRow="curRow" /> <peak-comment-modal v-model="peakCommentModalVisible" :curRow="curRow" />
<!-- Peak Comment弹窗 结束 --> <!-- Peak Comment弹窗 结束 -->
@ -450,8 +455,8 @@ export default {
}, },
}, },
data() { data() {
this.columns = columns
return { return {
columns,
searchParam: { searchParam: {
energy: '', energy: '',
tolerance: '', tolerance: '',
@ -459,9 +464,6 @@ export default {
option: cloneDeep(initialOption), option: cloneDeep(initialOption),
opts: { notMerge: false }, opts: { notMerge: false },
thumbnailOption: cloneDeep(thumbnailOption), thumbnailOption: cloneDeep(thumbnailOption),
isLoading: false,
channelBaseCPChart: [], channelBaseCPChart: [],
channelBaseLineChart: [], channelBaseLineChart: [],
channelCountChart: [], channelCountChart: [],
@ -1703,6 +1705,15 @@ export default {
clearOperationStack() { clearOperationStack() {
this.operationStack = [] this.operationStack = []
}, },
handleResize() {
this.$refs.chartRef.resize()
this.$refs.thumbnailRef.resize()
},
handleFullScreenChange(isFullScreen) {
this.columns[7].width = isFullScreen ? 180 : 120
},
}, },
computed: { computed: {
curRow() { curRow() {
@ -1721,11 +1732,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.interactive-analysis-tools { .interactive-analysis-tools {
display: flex; display: flex;
margin-top: 5px; padding-top: 5px;
gap: 20px;
&-left { &-left {
width: 75%; flex: 1;
margin-right: 20px; overflow: hidden;
.chart { .chart {
height: 331px; height: 331px;
@ -1785,6 +1797,9 @@ export default {
} }
&-right { &-right {
width: 290px;
flex-shrink: 0;
.peak-box { .peak-box {
height: 326px; height: 326px;
@ -1836,6 +1851,8 @@ export default {
} }
.identify-item { .identify-item {
margin-bottom: 10px;
.title { .title {
background-color: #497e9d; background-color: #497e9d;
height: 30px; height: 30px;
@ -1847,7 +1864,7 @@ export default {
.content { .content {
height: 80px; height: 80px;
background-color: #275466; background-color: #275466;
margin: 10px 0; margin-top: 10px;
padding: 5px; padding: 5px;
overflow: auto; overflow: auto;
@ -1897,3 +1914,78 @@ export default {
color: #f00; color: #f00;
} }
</style> </style>
<style lang="less">
.interactive-analysis-tools-dialog.fullscreen {
.interactive-analysis-tools {
height: calc(100vh - 90px);
&-left {
display: flex;
flex-direction: column;
.chart {
flex: 1;
}
.thumbnail {
height: 60px;
}
.table {
height: 397px;
.custom-table {
height: calc(100% - 82px);
.ant-spin-nested-loading,
.ant-spin-container,
.ant-table,
.ant-table-content,
.ant-table-scroll {
height: 100%;
}
.ant-table-body {
height: calc(100% - 25px) !important;
max-height: calc(100% - 25px) !important;
}
}
}
}
&-right {
display: flex;
flex-direction: column;
.identify-box {
flex: 1;
padding-top: 5px;
overflow: hidden;
.title-over-border {
height: 100%;
&-content {
display: flex;
flex-direction: column;
.identify-item {
flex: 1;
overflow: auto;
.ant-spin-nested-loading,
.content {
height: calc(100% - 40px);
.ant-spin-container,
.content {
height: 100%;
}
}
}
}
}
}
}
}
}
</style>

View File

@ -29,8 +29,10 @@
import CustomChart from '@/components/CustomChart/index.vue' import CustomChart from '@/components/CustomChart/index.vue'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import utc from 'dayjs/plugin/utc'
import { cloneDeep } from 'lodash' import { cloneDeep } from 'lodash'
dayjs.extend(utc)
const typeList = ['MET', 'SOH', 'QC', 'PHD'] // const typeList = ['MET', 'SOH', 'QC', 'PHD'] //
// //
@ -71,10 +73,15 @@ const legendList = [
const initialOption = { const initialOption = {
tooltip: { tooltip: {
formatter: (params) => { formatter: (params) => {
// return `
// <div>${params.marker}${params.name}</div>
// <div>START${dayjs(new Date(params.value[4])).format('YYYY-MM-DD HH:mm:ss')}</div>
// <div style="white-space: pre"> END${dayjs(new Date(params.value[2])).format('YYYY-MM-DD HH:mm:ss')}</div>
// `
return ` return `
<div>${params.marker}${params.name}</div> <div>${params.marker}${params.name}</div>
<div>START${dayjs(new Date(params.value[4])).format('YYYY-MM-DD HH:mm:ss')}</div> <div>START${dayjs.utc(params.value[4]).format('YYYY-MM-DD HH:mm:ss')}</div>
<div style="white-space: pre"> END${dayjs(new Date(params.value[2])).format('YYYY-MM-DD HH:mm:ss')}</div> <div style="white-space: pre"> END${dayjs.utc(params.value[2]).format('YYYY-MM-DD HH:mm:ss')}</div>
` `
}, },
}, },
@ -203,8 +210,9 @@ export default {
axisLabel: { axisLabel: {
show: true, show: true,
formatter: (val) => { formatter: (val) => {
let dateTime = new Date(val) // let dateTime = new Date(val)
return dayjs(dateTime).format('HH:mm\nMM/DD') // return dayjs.utc(dateTime).format('HH:mm\nMM/DD')
return dayjs.utc(val).format('HH:mm\nMM/DD')
}, },
color: '#ade6ee', color: '#ade6ee',
}, },