RLR弹窗内容接口联调,渲染数据

This commit is contained in:
renpy 2023-08-30 18:05:10 +08:00
parent cfe0b7f134
commit 8e4b721414
16 changed files with 508 additions and 127 deletions

View File

@ -2,20 +2,50 @@
<div>
<a-form-model :labelCol="{ style: { width: '240px' } }" :wrapperCol="{style:{ width: '300px' }}">
<a-form-model-item label="Collection Start Time">
<custom-date-picker show-time></custom-date-picker>
<custom-date-picker v-model="model.collectStart" show-time></custom-date-picker>
</a-form-model-item>
<a-form-model-item label="Collection Stop Time">
<custom-date-picker show-time></custom-date-picker>
<custom-date-picker v-model="model.collectStop" show-time></custom-date-picker>
</a-form-model-item>
<a-form-model-item label="Total Air Volume Sampled[m3]">
<a-input></a-input>
<a-input v-model="model.collectAirVolume"></a-input>
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
collectStart:"",
collectStop:"",
collectAirVolume:"",
}
}
},
mounted () {
this.model.collectStart = this.allData.collect_start;
this.model.collectStop = this.allData.collect_stop;
this.model.collectAirVolume = this.allData.collect_airVolume;
},
}
</script>
<style lang="less" scoped>

View File

@ -1,16 +1,36 @@
<template>
<div>
<a-textarea :rows="25"></a-textarea>
<a-textarea v-model="model.comment" :rows="25"></a-textarea>
</div>
</template>
<script>
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
content: ''
model: {
comment:"",
}
}
}
},
mounted () {
this.model.comment = this.allData.Comment;
},
}
</script>

View File

@ -2,23 +2,55 @@
<div>
<a-form-model layout="vertical">
<a-form-model-item label="Person Responsible for the Test">
<a-input></a-input>
<a-input v-model="model.conclusionPerson"></a-input>
</a-form-model-item>
<a-form-model-item label="~IDCSummary">
<a-textarea :rows="5" />
<a-textarea v-model="model.conclusionIDC" :rows="5" />
</a-form-model-item>
<a-form-model-item label="~labsummary">
<a-textarea :rows="5" />
<a-textarea v-model="model.conclusionLab" :rows="5" />
</a-form-model-item>
<a-form-model-item label="~ResultComparison">
<a-textarea :rows="5" />
<a-textarea v-model="model.conclusionRes" :rows="5" />
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
conclusionPerson:"",
conclusionIDC:"",
conclusionLab:"",
conclusionRes:"",
}
}
},
mounted () {
this.model.conclusionPerson = this.allData.conclusion_person;
this.model.conclusionIDC = this.allData.Conclusion_IDC;
this.model.conclusionLab = this.allData.Conclusion_Lab;
this.model.conclusionRes = this.allData.Conclusion_Res;
},
}
</script>
<style lang="less" scoped>

View File

@ -6,37 +6,37 @@
:wrapperCol="{ style: { width: '200px' } }"
>
<a-form-model-item label="MSG_ID">
<a-input />
<a-input v-model="model.msgId" />
</a-form-model-item>
<a-form-model-item label="Data_Type">
<a-input />
<a-input v-model="model.dataType" />
</a-form-model-item>
<a-form-model-item label="Priority Level">
<custom-select style="width: 150px" :options="priorityLevbelOptions"> </custom-select>
<custom-select v-model="model.priorityLevel" style="width: 150px" :options="priorityLevbelOptions"> </custom-select>
</a-form-model-item>
<a-form-model-item label="Station Code">
<a-input />
<a-input v-model="model.stationCode"/>
</a-form-model-item>
<a-form-model-item label="SRID">
<a-input />
<a-input v-model="model.srid"/>
</a-form-model-item>
<a-form-model-item label="Laboratory Code">
<a-input />
<a-input v-model="model.labCode"/>
</a-form-model-item>
<a-form-model-item label="Laboratory Detector Code">
<a-input />
<a-input v-model="model.labDetector"/>
</a-form-model-item>
<a-form-model-item label="Report Type">
<custom-select style="width: 150px" :options="reportTypeOptions"> </custom-select>
<custom-select v-model="model.reportType" style="width: 150px" :options="reportTypeOptions"> </custom-select>
</a-form-model-item>
<a-form-model-item label="Report Number">
<a-input-number style="width: 100%;" />
<a-input-number v-model="model.reportnumber" style="width: 100%;" />
</a-form-model-item>
<a-form-model-item label="Sample Category">
<custom-select style="width: 150px" :options="sampleCategoryOptions"> </custom-select>
<custom-select v-model="model.sampleCategory" style="width: 150px" :options="sampleCategoryOptions"> </custom-select>
</a-form-model-item>
<a-form-model-item label="Message Transmission Time">
<custom-date-picker show-time v-model="model.time" />
<custom-date-picker v-model="model.transmission" show-time />
</a-form-model-item>
</a-form-model>
</div>
@ -46,29 +46,69 @@
const priorityLevbelOptions = [
{
label: 'Routine',
value: 1
value: 'Routine'
}
]
const reportTypeOptions = [
{
label: 'FIN',
value: 1
value: 'FIN'
}
]
const sampleCategoryOptions = [
{ label: 'Category A', value: 1 },
{ label: 'Category B', value: 2 },
{ label: 'Category C', value: 3 }
{ label: 'Category A', value: 'Category A' },
{ label: 'Category B', value: 'Category B' },
{ label: 'Category C', value: 'Category C' }
]
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
mounted () {
this.model.msgId = this.allData.header_msg_id;
this.model.dataType = this.allData.header_data_type;
this.model.priorityLevel = this.allData.header_priority_level;
this.model.stationCode = this.allData.header_station_code;
this.model.srid = this.allData.header_srid;
this.model.labCode = this.allData.header_lab_code;
this.model.labDetector = this.allData.header_lab_detector;
this.model.reportType = this.allData.header_report_type;
this.model.reportnumber = this.allData.header_report_number;
this.model.sampleCategory = this.allData.header_sample_category;
this.model.transmission = this.allData.header_transmission;
},
data() {
this.priorityLevbelOptions = priorityLevbelOptions
this.reportTypeOptions = reportTypeOptions
this.sampleCategoryOptions = sampleCategoryOptions
return {
model: {}
model: {
msgId: "",
dataType: "",
priorityLevel: "",
stationCode: "",
srid: "",
labCode: "",
labDetector: "",
reportType: "",
reportnumber: "",
sampleCategory: "",
transmission: "",
}
}
}
}

View File

@ -2,20 +2,50 @@
<div>
<a-form-model layout="vertical">
<a-form-model-item label="~AnalysisPurpose">
<a-textarea :rows="9" />
<a-textarea v-model="model.objPurpose" :rows="9" />
</a-form-model-item>
<a-form-model-item label="~TestsAuthorized">
<a-textarea :rows="5" />
<a-textarea v-model="model.objAuthorized" :rows="5" />
</a-form-model-item>
<a-form-model-item label="SpecialInstructions">
<a-textarea :rows="5" />
<a-textarea v-model="model.objInstruction" :rows="5" />
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
objPurpose:"",
objAuthorized:"",
objInstruction:"",
}
}
},
mounted () {
this.model.objPurpose = this.allData.Obj_purpose;
this.model.objAuthorized = this.allData.Obj_authorized;
this.model.objInstruction = this.allData.Obj_instruction;
},
}
</script>
<style lang="less" scoped>

View File

@ -9,17 +9,18 @@ import TableWithOperators from './TableWithOperators.vue'
const columns = [
{
title: 'Index',
dataIndex: 'index',
align: 'center'
dataIndex: 'key',
align: 'center',
customRender: (text,record,index) => `${index+1}`,//
},
{
title: 'Explanation Level(%)',
dataIndex: 'explanationLevel',
dataIndex: 'exLevel',
align: 'center'
},
{
title: 'Identified Nuclides',
dataIndex: 'identifiedNuclides',
dataIndex: 'identified',
align: 'center',
width: '60%'
}
@ -29,17 +30,29 @@ export default {
components: {
TableWithOperators
},
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
this.columns = columns
return {
list: [
{
index: 'index',
explanationLevel: 'explanationLevel',
identifiedNuclides: 'identifiedNuclides'
}
]
list: []
}
}
},
mounted () {
this.list = this.allData.Association
},
}
</script>

View File

@ -9,8 +9,9 @@ import TableWithOperators from './TableWithOperators.vue'
const columns = [
{
title: 'Index',
dataIndex: 'index',
align: 'center'
dataIndex: 'key',
align: 'center',
customRender: (text,record,index) => `${index+1}`,//
},
{
title: 'Energy(keV)',
@ -58,23 +59,29 @@ export default {
components: {
TableWithOperators
},
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
this.columns = columns
return {
list: [
{
index: 'index',
energy: 'energy',
energyErr: 'energyErr',
netArea: 'netArea',
areaErr: 'areaErr',
netCountRate: 'netCountRate',
ncRateErr: 'ncRateErr',
lc: 'lc',
significance: 'significance'
}
]
list: []
}
}
},
mounted () {
this.list = this.allData.peakFit
},
}
</script>

View File

@ -1,16 +1,44 @@
<template>
<a-form-model layout="vertical">
<a-form-model-item label="Software Used">
<a-input />
<a-input v-model="model.peakMethodSoftware" />
</a-form-model-item>
<a-form-model-item label="Peak Location Algorithm">
<a-input />
<a-input v-model="model.peakMethodLocation" />
</a-form-model-item>
</a-form-model>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
peakMethodSoftware:"",
peakMethodLocation:"",
}
}
},
mounted () {
this.model.peakMethodSoftware = this.allData.PeakMethod_software;
this.model.peakMethodLocation = this.allData.PeakMethod_location;
},
}
</script>
<style lang="less" scoped>

View File

@ -2,20 +2,50 @@
<div>
<a-form-model layout="vertical">
<a-form-model-item label="~SAMPLEPHD">
<a-textarea :rows="6" />
<a-textarea v-model="model.referenceSamplePHD" :rows="6" />
</a-form-model-item>
<a-form-model-item label="~CALIBPHD">
<a-textarea :rows="6" />
<a-textarea v-model="model.referenceCalibPHD" :rows="6" />
</a-form-model-item>
<a-form-model-item label="~PhysicalConstants">
<a-textarea :rows="6" />
<a-textarea v-model="model.referencePhysical" :rows="6" />
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
referenceSamplePHD:"",
referenceCalibPHD:"",
referencePhysical:"",
}
}
},
mounted () {
this.model.referenceSamplePHD = this.allData.Reference_samplePHD;
this.model.referenceCalibPHD = this.allData.Reference_CalibPHD;
this.model.referencePhysical = this.allData.Reference_physical;
},
}
</script>
<style lang="less" scoped>

View File

@ -27,38 +27,68 @@
<script>
const columns = [
{
title: 'Nuclide1',
dataIndex: 'nuclide1',
title: 'Nuclide',
dataIndex: 'nuclide',
align: 'center'
},
{
title: 'Nuclide2',
dataIndex: 'nuclide2',
title: 'Activity(Bq)',
dataIndex: 'activity',
align: 'center'
},
{
title: 'Ratio',
dataIndex: 'ratio',
title: 'Act_err(%)',
dataIndex: 'actErr',
align: 'center'
},
{
title: 'Ratio_err(%)',
dataIndex: 'ratioErr',
title: 'Factor',
dataIndex: 'factor1',
align: 'center'
},
{
title: 'Reference Time',
dataIndex: 'referenceTime',
title: 'Confidence(%)',
dataIndex: 'confidence1',
align: 'center'
},
{
title: 'Zero Time',
dataIndex: 'zeroTime',
title: 'Conc.(Bq/m3)',
dataIndex: 'conc',
align: 'center'
},
{
title: 'Conc_err',
dataIndex: 'concErr',
align: 'center'
},
{
title: 'Factor',
dataIndex: 'factor2',
align: 'center'
},
{
title: 'Confidence(%)',
dataIndex: 'confidence2',
align: 'center'
}
]
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
this.columns = columns
return {
@ -66,18 +96,14 @@ export default {
activityReferenceTime: undefined,
Concentration: undefined
},
list: [
{
nuclide1: '',
nuclide2: '',
ratio: '',
ratioErr: '',
referenceTime: '',
zeroTime: ''
}
]
list: []
}
}
},
mounted () {
this.model.activityReferenceTime = this.allData.Result_act_ref;
this.model.Concentration = this.allData.Result_conc_ref;
this.list = this.allData.Result
},
}
</script>

View File

@ -6,32 +6,68 @@
:wrapperCol="{ style: { width: '300px' } }"
>
<a-form-model-item label="Sample Reference Identification">
<a-input></a-input>
<a-input v-model="model.receiptSrid"></a-input>
</a-form-model-item>
<a-form-model-item label="Seal Number">
<a-input></a-input>
<a-input v-model="model.receiptSealNum"></a-input>
</a-form-model-item>
<a-form-model-item label="Sample Receipt Time">
<custom-date-picker show-time></custom-date-picker>
<custom-date-picker v-model="model.receiptDateTime" show-time></custom-date-picker>
</a-form-model-item>
</a-form-model>
<a-form-model layout="vertical">
<a-form-model-item label="~PackageCondition">
<a-textarea :rows="4" />
<a-textarea v-model="model.receiptPackage" :rows="4" />
</a-form-model-item>
<a-form-model-item label="~SealCondition">
<a-textarea :rows="4" />
<a-textarea v-model="model.receiptSeal" :rows="4" />
</a-form-model-item>
<a-form-model-item label="~SampleCondition">
<a-textarea :rows="4" />
<a-textarea v-model="model.receiptSample" :rows="4" />
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
receiptSrid:"",
receiptSealNum:"",
receiptDateTime:"",
receiptPackage:"",
receiptSeal:"",
receiptSample:"",
}
}
},
mounted () {
this.model.receiptSrid = this.allData.Receipt_srid;
this.model.receiptSealNum = this.allData.Receipt_sealNum;
this.model.receiptDateTime = this.allData.Receipt_sample_dateTime;
this.model.receiptPackage = this.allData.Receipt_package;
this.model.receiptSeal = this.allData.Receipt_seal;
this.model.receiptSample = this.allData.Receipt_sample;
},
}
</script>
<style lang="less" scoped>

View File

@ -13,7 +13,7 @@
:pagination="false"
:scroll="{ y: 470 }"
>
</a-table>
</a-table>
</div>
</template>

View File

@ -2,23 +2,55 @@
<div>
<a-form-model layout="vertical">
<a-form-model-item label="Type of Test Performed">
<a-textarea :rows="5" />
<a-textarea v-model="model.testType" :rows="5" />
</a-form-model-item>
<a-form-model-item label="Test Completion Date">
<custom-date-picker />
<custom-date-picker v-model="model.testCompletion" />
</a-form-model-item>
<a-form-model-item label="Person Responsible for the Test">
<a-input />
<a-input v-model="model.testPerson" />
</a-form-model-item>
<a-form-model-item label="Purpose of Test Performed">
<a-textarea :rows="5" />
<a-textarea v-model="model.testPurpose" :rows="5" />
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
testType:"",
testCompletion:"",
testPerson:"",
testPurpose:"",
}
}
},
mounted () {
this.model.testType = this.allData.Test_type;
this.model.testCompletion = this.allData.Test_completion;
this.model.testPerson = this.allData.Test_person;
this.model.testPurpose = this.allData.Test_purpose;
},
}
</script>
<style lang="less" scoped>

View File

@ -2,26 +2,60 @@
<div>
<a-form-model layout="vertical">
<a-form-model-item label="Software Used">
<a-input></a-input>
<a-input v-model="model.analyMethodSoftware"></a-input>
</a-form-model-item>
<a-form-model-item label="~NuclidesMethod">
<a-input></a-input>
<a-input v-model="model.analyMethodNuclide"></a-input>
</a-form-model-item>
<a-form-model-item label="~BaselineMethod">
<a-input></a-input>
<a-input v-model="model.analyMethodBaseline"></a-input>
</a-form-model-item>
<a-form-model-item label="~LCMethod">
<a-input></a-input>
<a-input v-model="model.analyMethodLc"></a-input>
</a-form-model-item>
<a-form-model-item label="CalibrationMethod">
<a-input></a-input>
<a-input v-model="model.analyMethodCalib"></a-input>
</a-form-model-item>
</a-form-model>
</div>
</template>
<script>
export default {}
export default {
props: {
allData: {
type: Object,
default: ()=>{}
},
},
watch: {
allData: {
handler(val) {
console.log(val);
},
deep: true,
immediate:true
}
},
data() {
return {
model: {
analyMethodSoftware:"",
analyMethodNuclide:"",
analyMethodBaseline:"",
analyMethodLc:"",
analyMethodCalib:"",
}
}
},
mounted () {
this.model.analyMethodSoftware = this.allData.AnalyMethod_software;
this.model.analyMethodNuclide = this.allData.AnalyMethod_nuclide;
this.model.analyMethodBaseline = this.allData.AnalyMethod_baseline;
this.model.analyMethodLc = this.allData.AnalyMethod_lc;
this.model.analyMethodCalib = this.allData.AnalyMethod_calib;
},
}
</script>
<style lang="less" scoped>

View File

@ -16,40 +16,40 @@
<h4>{{ tabs[activeKey] }}</h4>
<div class="rlr-content-detail">
<template v-if="activeKey == 0">
<c-header />
<c-header :allData="allInfo" />
</template>
<template v-if="activeKey == 1">
<Objective />
<Objective :allData="allInfo" />
</template>
<template v-if="activeKey == 2">
<collection />
<collection :allData="allInfo" />
</template>
<template v-if="activeKey == 3">
<sample-receipt />
<sample-receipt :allData="allInfo" />
</template>
<template v-if="activeKey == 4">
<test />
<test :allData="allInfo" />
</template>
<template v-if="activeKey == 5">
<peaks-method />
<peaks-method :allData="allInfo" />
</template>
<template v-if="activeKey == 6">
<peak-fit />
<peak-fit :allData="allInfo" />
</template>
<template v-if="activeKey == 7">
<g-analysis-methods />
<g-analysis-methods :allData="allInfo" />
</template>
<template v-if="activeKey == 8">
<peak-association />
<peak-association :allData="allInfo" />
</template>
<template v-if="activeKey == 9">
<references />
<references :allData="allInfo" />
</template>
<template v-if="activeKey == 10">
<results />
<results :allData="allInfo" />
</template>
<template v-if="activeKey == 11">
<nuclide-ratios />
<nuclide-ratios :allData="allInfo" />
</template>
<template v-if="activeKey == 12">
<g-coincidence-correction />
@ -58,10 +58,10 @@
<mda />
</template>
<template v-if="activeKey == 14">
<conclusions />
<conclusions :allData="allInfo" />
</template>
<template v-if="activeKey == 15">
<comment />
<comment :allData="allInfo" />
</template>
</div>
</div>
@ -87,6 +87,7 @@ import GCoincidenceCorrection from './components/g_CoincidenceCorrection.vue'
import Mda from './components/MDA.vue'
import Conclusions from './components/Conclusions.vue'
import Comment from './components/Comment.vue'
import { getAction } from '@/api/manage'
const tabs = [
'Header',
@ -127,16 +128,38 @@ export default {
Conclusions,
Comment
},
props: {
sampleId: {
type: Number
}
},
data() {
this.tabs = tabs
return {
activeKey: 0
activeKey: 0,
allInfo: {}
}
},
mounted () {
this.getGammaViewRLR();
},
methods: {
beforeModalOpen() {
this.activeKey = 0
}
},
getGammaViewRLR() {
let params = {
sampleId: this.sampleId
}
getAction("/gamma/viewRLR", params).then(res => {
console.log(res);
if (res.success) {
this.allInfo = res.result
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
}
}
</script>

View File

@ -149,7 +149,7 @@
<!-- Qc Results 弹窗结束 -->
<!-- RLR 弹窗开始 -->
<rlr-modal v-model="rlrModalVisible" />
<rlr-modal v-model="rlrModalVisible" :sampleId="sampleData.sampleId" />
<!-- RLR 弹窗结束 -->
<automatic-analysis-log-modal v-model="autoAnalysisMogModalVisible" />