analysis 模块,重新分析弹窗,状态更新实时更新
This commit is contained in:
parent
4a17c09ddd
commit
5d632a2954
|
@ -201,6 +201,7 @@ export default {
|
|||
const { success, message } = await postAction('/gamma/configureSave', param)
|
||||
if (success) {
|
||||
this.$message.success('Save Success')
|
||||
this.$emit('senInfo', checkBox_updateCal ? '1' : '0')
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
<template>
|
||||
<custom-modal v-model="visible" :width="400" title="Processing Monitor" :footer="null">
|
||||
<div class="processing">
|
||||
<div>
|
||||
<div v-if="calibrationUpdatesFlag" style="margin-bottom: 20px">
|
||||
<!-- 标题 -->
|
||||
<div class="processing-title">Calibration Updates</div>
|
||||
<!-- 列表 -->
|
||||
<div class="processing-list">
|
||||
<div class="processing-list-item">
|
||||
<status :status="0" />
|
||||
<status :status="status_ener1" />
|
||||
<div class="description">Energy - Mariscotti Centroids</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="0" />
|
||||
<status :status="status_reso" />
|
||||
<div class="description">Resolution</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="0" />
|
||||
<status :status="status_ener2" />
|
||||
<div class="description">Energy - Fitted Centroids</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 20px;">
|
||||
<div>
|
||||
<!-- 标题 -->
|
||||
<div class="processing-title">Spectrum Analysis</div>
|
||||
<!-- 列表 -->
|
||||
<div class="processing-list">
|
||||
<div class="processing-list-item">
|
||||
<status :status="0" />
|
||||
<status :status="status_peak" />
|
||||
<div class="description">Peak Search</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="0" />
|
||||
<status :status="status_base" />
|
||||
<div class="description">Baseline Fitting</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="1" />
|
||||
<status :status="status_net" />
|
||||
<div class="description">Net Area Fitting</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="2" />
|
||||
<status :status="status_nucl" />
|
||||
<div class="description">Nuclide Identification</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="2" />
|
||||
<status :status="status_acti" />
|
||||
<div class="description">Activity and MDA</div>
|
||||
</div>
|
||||
<div class="processing-list-item">
|
||||
<status :status="2" />
|
||||
<status :status="status_qc" />
|
||||
<div class="description">QC Test</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -59,12 +59,24 @@
|
|||
import Status from './components/status.vue'
|
||||
export default {
|
||||
components: {
|
||||
Status
|
||||
Status,
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
type: Boolean
|
||||
}
|
||||
type: Boolean,
|
||||
},
|
||||
bAnalyed: {
|
||||
type: Boolean,
|
||||
},
|
||||
checkBoxFlag: {
|
||||
type: Boolean,
|
||||
},
|
||||
newCheckBoxFlag: {
|
||||
type: String,
|
||||
},
|
||||
currStep: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
visible: {
|
||||
|
@ -73,9 +85,125 @@ export default {
|
|||
},
|
||||
set(val) {
|
||||
this.$emit('input', val)
|
||||
},
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
newCheckBoxFlag: {
|
||||
handler(val) {
|
||||
console.log('flag', val)
|
||||
if (val === '0') {
|
||||
this.calibrationUpdatesFlag = false
|
||||
this.status_peak = 1
|
||||
this.status_base = 2
|
||||
this.status_net = 2
|
||||
this.status_nucl = 2
|
||||
this.status_acti = 2
|
||||
this.status_qc = 2
|
||||
} else if (val === '1') {
|
||||
this.calibrationUpdatesFlag = true
|
||||
this.status_ener1 = 1
|
||||
this.status_reso = 1
|
||||
this.status_ener2 = 1
|
||||
this.status_peak = 2
|
||||
this.status_base = 2
|
||||
this.status_net = 2
|
||||
this.status_nucl = 2
|
||||
this.status_acti = 2
|
||||
this.status_qc = 2
|
||||
} else {
|
||||
this.calibrationUpdatesFlag = this.checkBoxFlag
|
||||
this.status_peak = this.checkBoxFlag ? 2 : 1
|
||||
this.status_ener1 = 1
|
||||
this.status_reso = 1
|
||||
this.status_ener2 = 1
|
||||
this.status_base = 2
|
||||
this.status_net = 2
|
||||
this.status_nucl = 2
|
||||
this.status_acti = 2
|
||||
this.status_qc = 2
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
currStep: {
|
||||
handler(val) {
|
||||
if (val === '0' && this.calibrationUpdatesFlag) {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 1
|
||||
} else if (val === '1') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 1
|
||||
} else if (val === '2') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 0
|
||||
this.status_net = 1
|
||||
} else if (val === '3') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 0
|
||||
this.status_net = 0
|
||||
this.status_nucl = 1
|
||||
} else if (val === '4') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 0
|
||||
this.status_net = 0
|
||||
this.status_nucl = 0
|
||||
this.status_acti = 1
|
||||
} else if (val === '5') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 0
|
||||
this.status_net = 0
|
||||
this.status_nucl = 0
|
||||
this.status_acti = 0
|
||||
this.status_qc = 1
|
||||
} else if (val === '6') {
|
||||
this.status_ener1 = 0
|
||||
this.status_reso = 0
|
||||
this.status_ener2 = 0
|
||||
this.status_peak = 0
|
||||
this.status_base = 0
|
||||
this.status_net = 0
|
||||
this.status_nucl = 0
|
||||
this.status_acti = 0
|
||||
this.status_qc = 0
|
||||
setTimeout(() => {
|
||||
this.$emit('closeModal')
|
||||
}, 500)
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
calibrationUpdatesFlag: true,
|
||||
status_ener1: 1,
|
||||
status_reso: 1,
|
||||
status_ener2: 1,
|
||||
status_peak: 2,
|
||||
status_base: 2,
|
||||
status_net: 2,
|
||||
status_nucl: 2,
|
||||
status_acti: 2,
|
||||
status_qc: 2,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -91,7 +91,15 @@
|
|||
|
||||
<compare-file-list-modal v-model="compareFileListModalVisible" @compareWithFile="handleCompareWithFile" />
|
||||
<!-- ReProcessing 弹窗开始 -->
|
||||
<re-processing-modal v-model="reprocessingModalVisible" />
|
||||
<re-processing-modal
|
||||
v-if="abc"
|
||||
v-model="reprocessingModalVisible"
|
||||
:bAnalyed="bAnalyed"
|
||||
:currStep="currStep"
|
||||
:checkBoxFlag="checkBox_updateCal"
|
||||
:newCheckBoxFlag="newCheckBox_updateCal"
|
||||
@closeModal="haCndleCloseModal"
|
||||
/>
|
||||
<!-- ReProcessing 弹窗结束 -->
|
||||
</div>
|
||||
</template>
|
||||
|
@ -121,11 +129,18 @@ import ReProcessingModal from './components/Modals/ReProcessingModal/index.vue'
|
|||
|
||||
import { GammaOptions, graphAssistance } from './settings'
|
||||
|
||||
import store from '@/store/'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
sample: {
|
||||
type: Object,
|
||||
},
|
||||
updateFlag: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
CustomChart,
|
||||
|
@ -141,6 +156,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
abc: false,
|
||||
isLoading: false,
|
||||
isLoadingNuclide: false,
|
||||
option: cloneDeep(GammaOptions.option),
|
||||
|
@ -191,6 +207,12 @@ export default {
|
|||
compareFileListModalVisible: false, // Compare 弹窗
|
||||
reprocessingModalVisible: false, // 重新分析弹窗
|
||||
isProcessing: false, // 正在处理
|
||||
websock: null,
|
||||
lockReconnect: false,
|
||||
bAnalyed: false, //是否重新分析
|
||||
checkBox_updateCal: false, //update复选框状态
|
||||
newCheckBox_updateCal: false, //update复选框状态
|
||||
currStep: '',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -210,8 +232,55 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.option.brush = { toolbox: [] }
|
||||
this.initWebSocket()
|
||||
},
|
||||
methods: {
|
||||
initWebSocket: function () {
|
||||
console.log('qweqwerq')
|
||||
// WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
|
||||
var userId = store.getters.userInfo.id
|
||||
var url =
|
||||
window._CONFIG['domianURL'].replace('https://', 'wss://').replace('http://', 'ws://') + '/websocket/' + userId
|
||||
//console.log(url);
|
||||
//update-begin-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278
|
||||
let token = Vue.ls.get(ACCESS_TOKEN)
|
||||
this.websock = new WebSocket(url, [token])
|
||||
//update-end-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278
|
||||
this.websock.onopen = this.websocketOnopen
|
||||
this.websock.onerror = this.websocketOnerror
|
||||
this.websock.onmessage = this.websocketOnmessage
|
||||
this.websock.onclose = this.websocketOnclose
|
||||
},
|
||||
websocketOnopen: function () {
|
||||
// console.log('WebSocket连接成功1231')
|
||||
//心跳检测重置
|
||||
//this.heartCheck.reset().start();
|
||||
},
|
||||
websocketOnerror: function (e) {
|
||||
this.reconnect()
|
||||
},
|
||||
websocketOnmessage: function (e) {
|
||||
// console.log('-----接收消息1231-------', e.data)
|
||||
var data = eval('(' + e.data + ')') //解析对象
|
||||
// console.log(data)
|
||||
if (data.cmd === 'analysis-process') {
|
||||
this.currStep = data.msgTxt
|
||||
}
|
||||
},
|
||||
websocketOnclose: function (e) {
|
||||
this.reconnect()
|
||||
},
|
||||
reconnect() {
|
||||
var that = this
|
||||
if (that.lockReconnect) return
|
||||
that.lockReconnect = true
|
||||
//没连接上会一直重连,设置延迟避免请求过多
|
||||
setTimeout(function () {
|
||||
console.info('尝试重连...')
|
||||
that.initWebSocket()
|
||||
that.lockReconnect = false
|
||||
}, 20000)
|
||||
},
|
||||
// 获取样品详情
|
||||
async getSampleDetail() {
|
||||
const { dbName, sampleId } = this.sample
|
||||
|
@ -234,7 +303,7 @@ export default {
|
|||
)
|
||||
console.log('%c [ result ]-243', 'font-size:13px; background:pink; color:#bf2c9f;', result)
|
||||
if (success) {
|
||||
this.dataProsess(result)
|
||||
this.dataProsess(result, 'db')
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
|
@ -262,7 +331,7 @@ export default {
|
|||
)
|
||||
console.log('%c [ result ]-243', 'font-size:13px; background:pink; color:#bf2c9f;', result)
|
||||
if (success) {
|
||||
this.dataProsess(result)
|
||||
this.dataProsess(result, 'file')
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
|
@ -284,7 +353,7 @@ export default {
|
|||
return cancelToken
|
||||
},
|
||||
|
||||
dataProsess(result) {
|
||||
dataProsess(result, flag) {
|
||||
this.isLoading = false
|
||||
|
||||
const {
|
||||
|
@ -304,7 +373,12 @@ export default {
|
|||
shapeChannelData,
|
||||
shapeEnergyData,
|
||||
} = result
|
||||
|
||||
if (flag && (flag == 'dab' || flag == 'file')) {
|
||||
this.bAnalyed = result.bAnalyed
|
||||
this.checkBox_updateCal = result.checkBox_updateCal
|
||||
this.newCheckBox_updateCal = '2'
|
||||
console.log(this.checkBox_updateCal)
|
||||
}
|
||||
this.detailedInfomation = DetailedInformation
|
||||
this.qcFlags = QCFlag
|
||||
|
||||
|
@ -458,7 +532,7 @@ export default {
|
|||
}
|
||||
|
||||
return `<div class="channel">Channel: ${channel}</div>
|
||||
<div class="energy">${energy? `Energy: ${energy}`: ''}</div>`
|
||||
<div class="energy">${energy ? `Energy: ${energy}` : ''}</div>`
|
||||
},
|
||||
|
||||
// Graph Assistance 操作
|
||||
|
@ -670,7 +744,7 @@ export default {
|
|||
return {
|
||||
channel,
|
||||
energy,
|
||||
counts: counts.y
|
||||
counts: counts.y,
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1127,6 +1201,8 @@ export default {
|
|||
|
||||
// 重新分析
|
||||
async reProcessing() {
|
||||
this.abc = true
|
||||
this.reprocessingModalVisible = true
|
||||
if (this.isProcessing) {
|
||||
return
|
||||
}
|
||||
|
@ -1158,7 +1234,10 @@ export default {
|
|||
} finally {
|
||||
this.isLoading = false
|
||||
}
|
||||
// this.reprocessingModalVisible = true
|
||||
},
|
||||
haCndleCloseModal() {
|
||||
this.reprocessingModalVisible = false
|
||||
this.abc = false
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -1374,6 +1453,13 @@ export default {
|
|||
},
|
||||
immediate: true,
|
||||
},
|
||||
updateFlag: {
|
||||
handler(val) {
|
||||
console.log('dfad', val)
|
||||
this.newCheckBox_updateCal = val
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<!-- 频谱分析部分 -->
|
||||
<div class="spectrum-analysis-main">
|
||||
<!-- Gamma 分析 -->
|
||||
<gamma-analysis v-if="isGamma" ref="gammaAnalysisRef" :sample="sampleData" />
|
||||
<gamma-analysis v-if="isGamma" ref="gammaAnalysisRef" :sample="sampleData" :updateFlag="updateFlag" />
|
||||
<!-- Gamma 分析 -->
|
||||
|
||||
<!-- Beta-Gamma 分析 -->
|
||||
|
@ -78,7 +78,11 @@
|
|||
<!-- Save Setting 弹窗结束 -->
|
||||
|
||||
<!-- 分析-设置弹窗开始 -->
|
||||
<analyze-setting-modal v-model="analyzeConfigureModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<analyze-setting-modal
|
||||
v-model="analyzeConfigureModalVisible"
|
||||
:sampleId="sampleData.sampleId"
|
||||
@senInfo="getUpdateFlag"
|
||||
/>
|
||||
<!-- 分析-设置弹窗结束 -->
|
||||
|
||||
<!-- 分析工具弹窗开始 -->
|
||||
|
@ -374,6 +378,7 @@ export default {
|
|||
xe133mFlag: null,
|
||||
xe135Flag: null,
|
||||
},
|
||||
updateFlag: '2',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -391,6 +396,10 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
getUpdateFlag(val) {
|
||||
console.log('qerq', val)
|
||||
this.updateFlag = val
|
||||
},
|
||||
getcommentsInfo(val) {
|
||||
this.params_toDB.comment = val.spectrumAnalysisCommentInfo
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue
Block a user