部分问题修复

main
wangxiaoshuang 2024-04-09 17:28:08 +08:00
parent 7be972dd94
commit 4c4e0be8d9
13 changed files with 1645 additions and 706 deletions

View File

@ -34,10 +34,17 @@ export function testConnect(id) {
})
}
// 获取DicomAE下拉框数据
// 获取calledAE下拉框数据
export function getDicomCalledAEList() {
return request({
url: `/Patient/getDicomCalledAEList`,
method: 'get'
})
}
// 获取callingAE下拉框数据
export function getDicomCallingAEList() {
return request({
url: `/Patient/getDicomCallingAEList`,
method: 'get'
})
}

View File

@ -213,7 +213,7 @@ export default {
if (trialsPanelList.find(c => { return c.path === v.name }) && trialsPanelList.find(c => { return c.path === v.name }).tabHiddn) {
return
}
isHasChild = isHasChild.filter(i => this.isShow(i.path))
isHasChild =isHasChild ? isHasChild.filter(i => this.isShow(i.path)) : []
if (isHasChild && isHasChild.length > 0) {
this.trialsTabChild = isHasChild[0].path
this.$router.push({ path: `${this.trialsTabChild}${query ? '?' : ''}${query}` })

View File

@ -51,11 +51,10 @@ export default {
add() {
this.$emit("add");
},
selectChange() {
this.$emit("selectChange");
selectChange(flag) {
this.$emit("selectChange", flag);
},
handleChange() {
console.log(this.visit);
this.$emit("update:modelData", this.visit);
},
},

View File

@ -65,6 +65,7 @@
:data="list"
stripe
height="100"
highlight-current-row
@selection-change="handleSelectChange"
@sort-change="handleSortByColumn"
:default-sort="{ prop: 'StudyTime', order: 'descending' }"
@ -344,6 +345,10 @@ export default {
this.$refs.confirmVisitList.clearSort();
if (flag) this.list = [];
},
//
setCurrent(val) {
this.$refs.confirmVisitList.setCurrentRow(val);
},
//
handleSelectChange(selection) {
// console.log(selection);
@ -405,10 +410,10 @@ export default {
if (!fd) return;
let data = {
TrialId: this.submitMessage.TrialId,
SubjectVisitId: [],
SubjectVisitList: [],
};
this.tableSelectData.forEach((item) => {
data.SubjectVisitId.push(item.SubjectVisitId);
data.SubjectVisitList.push(item.SubjectVisitId);
});
try {
this.btnLoading2 = true;
@ -446,6 +451,14 @@ export default {
return true;
},
},
// 访
// verifyData() {
// let arr = [...this.tableSelectData];
// arr.sort((a, b) => {
// new Date(a.StudyTime).getTime() - new Date(b.StudyTime).getTime();
// });
// },
};
</script>
<style lang="scss" scoped>

View File

@ -18,11 +18,8 @@
clearable
/>
</el-form-item>
<!-- DICOM AE -->
<el-form-item
class="my_multiple"
:label="$t('trials:inspection:table:DICOMAE')"
>
<!-- Called AE -->
<el-form-item class="my_multiple" label="Called AE">
<el-select
v-model="searchData.CalledAEList"
clearable
@ -30,7 +27,23 @@
style="width: 140px"
>
<el-option
v-for="(item, index) of dicomAeList"
v-for="(item, index) of calledAeList"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-form-item>
<!-- Calling AE -->
<el-form-item class="my_multiple" label="Calling AE">
<el-select
v-model="searchData.callingAE"
clearable
style="width: 140px"
>
<el-option
v-for="(item, index) of callingAeList"
:key="index"
:label="item"
:value="item"
@ -249,13 +262,14 @@ import researchTrialsList from "./components/research-trials-list";
import addTrialsList from "./components/add-trials-list";
import viewStudyList from "./components/view-study-list";
import { getPatientList } from "@/api/inspection.js";
import { getDicomCalledAEList } from "@/api/dicomAE.js";
import { getDicomCalledAEList, getDicomCallingAEList } from "@/api/dicomAE.js";
const defaultSearchData = () => {
return {
PatientIdStr: null,
PatientName: null,
CalledAEList: [],
callingAE: null,
ExperimentName: null,
Asc: false,
SortField: "LatestPushTime",
@ -276,7 +290,8 @@ export default {
return {
//
searchData: defaultSearchData(),
dicomAeList: [],
calledAeList: [],
callingAeList: [],
//
total: 0,
loading: false,
@ -293,15 +308,27 @@ export default {
},
created() {
this.getDicomCalledAEList();
this.getDicomCallingAEList();
this.getList();
},
methods: {
// dicomAE
// calledAE
async getDicomCalledAEList() {
try {
let res = await getDicomCalledAEList();
if (res.IsSuccess) {
this.dicomAeList = res.Result;
this.calledAeList = res.Result;
}
} catch (err) {
console.log(err);
}
},
// callingAE
async getDicomCallingAEList() {
try {
let res = await getDicomCallingAEList();
if (res.IsSuccess) {
this.callingAeList = res.Result;
}
} catch (err) {
console.log(err);

View File

@ -13,7 +13,7 @@
<el-row>
<!-- 项目码 v-if="trialForm.Id !== ''"-->
<el-form-item
:label="$t('trials:trials-list:form:trialCode')"
:label="$t('trials:trials-list:table:trialId')"
prop="TrialCode"
>
<!-- <el-input v-model="trialForm.TrialCode" disabled /> -->

View File

@ -0,0 +1,205 @@
<template>
<div class="study-info">
<div class="functions" style="text-align: right">
<!-- 预览 -->
<el-button
type="primary"
size="small"
:disabled="studyList.length === 0"
icon="el-icon-view"
@click="handlePreviewAllFiles"
>
{{ $t("trials:uploadedDicoms:action:preview") }}
</el-button>
</div>
<el-table
v-loading="studyLoading"
:data="studyList"
style="width: 100%"
height="300"
>
<!-- 检查编号 -->
<el-table-column
prop="StudyCode"
:label="$t('trials:uploadedDicoms:table:studyId')"
min-width="80"
show-overflow-tooltip
/>
<!-- 检查类型 -->
<el-table-column
prop="ModalityForEdit"
:label="$t('trials:audit:table:modality')"
/>
<!-- 检查类型 -->
<el-table-column
prop="Modalities"
:label="$t('trials:audit:table:modality1')"
/>
<!-- 检查部位 -->
<el-table-column
prop="BodyPartForEdit"
:label="$t('trials:uploadedDicoms:table:bodyPart')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ getBodyPart(scope.row.BodyPartForEdit) }}
</template>
</el-table-column>
<!-- 序列数量 -->
<el-table-column
prop="SeriesCount"
:label="$t('trials:uploadedDicoms:table:seriesCount')"
min-width="100"
show-overflow-tooltip
/>
<!-- 图像数量 -->
<el-table-column
prop="InstanceCount"
:label="$t('trials:uploadedDicoms:table:instanceCount')"
min-width="100"
show-overflow-tooltip
/>
<!-- 检查日期 -->
<el-table-column
prop="StudyTime"
:label="$t('trials:uploadedDicoms:table:studyDate')"
min-width="120"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ moment(scope.row.StudyTime).format("YYYY-MM-DD") }}
</template>
</el-table-column>
<!-- 上传时间 -->
<el-table-column
prop="UploadedTime"
:label="$t('trials:uploadedDicoms:table:uploadedTime')"
min-width="80"
show-overflow-tooltip
/>
<el-table-column
:label="$t('common:action:action')"
min-width="100"
fixed="right"
>
<template slot-scope="scope">
<!-- 预览 -->
<el-button
icon="el-icon-view"
:disabled="scope.row.SeriesCount === 0 || scope.row.IsDeleted"
:title="$t('trials:uploadedDicoms:action:preview')"
circle
@click="handleViewStudy(scope.row)"
/>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import {
getSubjectVisitUploadedStudyList,
deleteStudyList,
updateModality,
} from "@/api/trials";
import moment from "moment";
import { getToken } from "@/utils/auth";
export default {
name: "StudyInfo",
props: {
data: {
type: Object,
default() {
return {};
},
},
},
data() {
return {
studyForm: {
StudyCode: "",
IsDicomData: true,
Modalities: "",
BodyPartForEdit: [],
SeriesCount: null,
StudyTime: "",
},
deleteArr: [],
studyLoading: false,
studyList: [],
trialId: this.$route.query.trialId,
moment,
relationInfo: null,
trialBodyPartTypes: [],
trialModalitys: [],
btnLoading: false,
};
},
mounted() {
this.getStudyInfo();
},
methods: {
getStudyInfo() {
this.studyLoading = true;
getSubjectVisitUploadedStudyList(this.data.SubjectVisitId)
.then((res) => {
this.studyList = res.Result;
this.studyLoading = false;
this.relationInfo = res.OtherInfo;
this.trialBodyPartTypes = this.relationInfo.BodyPartTypes
? this.relationInfo.BodyPartTypes.split("|")
: [];
this.trialModalitys = this.relationInfo.Modalitys
? this.relationInfo.Modalitys.split("|")
: [];
})
.catch(() => {
this.studyLoading = false;
});
},
//
handlePreviewAllFiles() {
var tokenKey = getToken();
const routeData = this.$router.resolve({
path: `/showvisitdicoms?trialId=${this.data.TrialId}&visitInfo=${this.data.VisitName}(${this.data.VisitNum})&subjectVisitId=${this.data.Id}&TokenKey=${tokenKey}`,
});
var newWindow = window.open(routeData.href, "_blank");
this.$emit("setOpenWindow", newWindow);
},
//
handleViewStudy(row) {
var token = getToken();
const routeData = this.$router.resolve({
path: `/showdicom?studyId=${row.StudyId}&TokenKey=${token}&type=Study`,
});
var newWindow = window.open(routeData.href, "_blank");
this.$emit("setOpenWindow", newWindow);
},
getBodyPart(bodyPart) {
if (!bodyPart) return "";
var separator = ",";
if (bodyPart.indexOf("|") > -1) {
separator = "|";
} else if (bodyPart.indexOf(",") > -1) {
separator = ",";
} else if (bodyPart.indexOf("") > -1) {
separator = "";
}
var arr = bodyPart.split(separator);
var newArr = arr.map((i) => {
return this.$fd("Bodypart", i.trim());
});
return newArr.join(" | ");
},
},
};
</script>
<style lang="scss">
.study-info {
.delete-row {
text-decoration-line: line-through;
color: #c0c4cc;
}
}
</style>

View File

@ -0,0 +1,79 @@
<template>
<el-dialog
:visible.sync="visible"
:close-on-click-modal="false"
:fullscreen="true"
custom-class="upload-dialog"
:before-close="beforeCloseStudyDig"
>
<span slot="title">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item v-show="rowData.SubjectCode">{{
rowData.SubjectCode
}}</el-breadcrumb-item>
<el-breadcrumb-item v-show="rowData.VisitName">{{
`${rowData.VisitName} (${rowData.VisitNum})`
}}</el-breadcrumb-item>
</el-breadcrumb>
</span>
<div class="base-modal-body">
<!-- DICOM影像 -->
<h4 class="box-title">{{ $t("trials:crcUpload:label:dicom") }}</h4>
<el-card class="box-card">
<StudyInfo
v-if="rowData.SubjectId"
:data="rowData"
@getList="getList"
@setOpenWindow="setOpenWindow"
/>
</el-card>
<!-- 检查列表 -->
<h4 class="box-title">{{ $t("trials:dicom-show:nowStudy") }}</h4>
<el-card class="box-card">
<StudyInfo
v-if="rowData.SubjectId"
:data="rowData"
@getList="getList"
@setOpenWindow="setOpenWindow"
/>
</el-card>
</div>
</el-dialog>
</template>
<script>
import StudyInfo from "./studyInfo.vue";
export default {
name: "visitInfo",
components: { StudyInfo },
props: {
visible: {
required: true,
default: false,
},
rowData: {
required: true,
default: () => {
return {};
},
},
},
data() {
return {
openWindow: null,
};
},
methods: {
getList() {},
setOpenWindow() {},
beforeCloseStudyDig() {
this.$emit("update:visible", false);
},
setOpenWindow(window) {
if (this.openWindow) {
this.openWindow.close();
}
this.openWindow = window;
},
},
};
</script>

View File

@ -151,7 +151,13 @@
prop="VisitName"
:label="$t('trials:uploadMonitor:table:visitName')"
show-overflow-tooltip
/>
>
<template slot-scope="scope">
<el-button type="text" @click="handleOpenStudyDialog(scope.row)">
<span>{{ scope.row.VisitName }}</span>
</el-button>
</template>
</el-table-column>
<!-- 数据收集 -->
<!-- <el-table-column
prop="StudyCode"
@ -277,12 +283,19 @@
v-if="editStudyVisible"
@getList="getList"
/>
<!--访视详情-->
<visitInfo
v-if="visitVisible"
:visible.sync="visitVisible"
:rowData="rowData"
/>
</BaseContainer>
</template>
<script>
import BaseContainer from "@/components/BaseContainer";
import Pagination from "@/components/Pagination";
import editStudyList from "./components/edit-study-list.vue";
import visitInfo from "./components/visit-info.vue";
import {
getPatientSubejctVisitList,
getSubjectImageZipInfo,
@ -304,7 +317,7 @@ const defaultSearchData = () => {
};
export default {
name: "hirVisit",
components: { BaseContainer, Pagination, editStudyList },
components: { BaseContainer, Pagination, editStudyList, visitInfo },
data() {
return {
//
@ -317,6 +330,9 @@ export default {
//
editStudyVisible: false,
editStudyData: {},
// 访
visitVisible: false,
rowData: {},
};
},
created() {
@ -360,6 +376,11 @@ export default {
console.log(err);
}
},
// 访
handleOpenStudyDialog(row) {
this.visitVisible = true;
this.rowData = { ...row };
},
//
editStudy(item) {
this.editStudyData = item;
@ -379,7 +400,7 @@ export default {
if (confirm !== "confirm") return;
let data = {
TrialId: this.$route.query.trialId,
SubjectVisitId: [item.SubjectVisitId],
SubjectVisitList: [item.SubjectVisitId],
};
try {
this.loading = true;

View File

@ -26,6 +26,7 @@
<el-form-item
:label="$t('trials:crcQuestion:table:subjectId')"
prop="SubjectId"
class="SubjectId"
>
<el-select
v-model="submitMessage.SubjectId"
@ -43,10 +44,6 @@
>
</el-option>
</el-select>
<p>
{{ this.$t("trials:subject:messge:patient") }}
<span></span>
</p>
</el-form-item>
<el-button
type="primary"
@ -57,6 +54,11 @@
{{ $t("trials:addRP:button:confirmAddPR") }}
</el-button>
</div>
<div>
<el-form-item :label="$t('trials:study:tabpane:bindPatient')">
<span v-if="bindPatientTip">{{ bindPatientTip }}</span>
</el-form-item>
</div>
<!--患者-->
<el-form-item :label="$t('trials:subject:messge:patient')">
<el-input
@ -159,12 +161,14 @@ export default {
computed: {
bindPatientTip() {
if (!this.submitMessage.SubjectId) return false;
let PatientList = this.subjectIdList.map((item) => {
if (item.SubjectId === this.submitMessage.SubjectId) {
return item.PatientList;
let PatientList = [];
this.subjectIdList.some((item) => {
if (item.SubejctId === this.submitMessage.SubjectId) {
PatientList.push(...item.PatientList);
}
})[0];
});
if (PatientList.length <= 0) return false;
return PatientList.map((item) => item.PatientIdStr).join(", ");
},
},
created() {

View File

@ -17,8 +17,8 @@
class="mr"
clearable
/>
<!-- DICOM AE -->
<span>{{ $t("trials:inspection:table:DICOMAE") }}:</span>
<!-- Called AE -->
<span>Called AE:</span>
<el-select
v-model="searchData.CalledAEList"
clearable
@ -26,7 +26,18 @@
class="mr"
>
<el-option
v-for="(item, index) of dicomAeList"
v-for="(item, index) of calledAeList"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
<!-- Calling AE -->
<span>Calling AE:</span>
<el-select v-model="searchData.callingAE" clearable class="mr">
<el-option
v-for="(item, index) of callingAeList"
:key="index"
:label="item"
:value="item"
@ -171,12 +182,13 @@
<script>
import Pagination from "@/components/Pagination";
import { getPatientInitList } from "@/api/trials/subject.js";
import { getDicomCalledAEList } from "@/api/dicomAE.js";
import { getDicomCalledAEList, getDicomCallingAEList } from "@/api/dicomAE.js";
const defaultSearchData = () => {
return {
PatientIdStr: null,
PatientName: null,
CalledAEList: [],
callingAE: null,
ExperimentName: null,
Asc: false,
SortField: "LatestPushTime",
@ -203,7 +215,8 @@ export default {
return {
//
searchData: defaultSearchData(),
dicomAeList: [],
calledAeList: [],
callingAeList: [],
//
list: [],
total: 0,
@ -216,6 +229,7 @@ export default {
created() {
this.getList();
this.getDicomCalledAEList();
this.getDicomCallingAEList();
},
methods: {
//
@ -230,7 +244,9 @@ export default {
data[key] = this.searchData[key];
});
data.TrialId = this.$route.query.trialId;
data.SubjectId = this.submitMessage.SubjectId;
if (this.submitMessage.SubjectId.length === 36) {
data.SubjectId = this.submitMessage.SubjectId;
}
try {
this.loading = true;
let res = await getPatientInitList(data);
@ -272,12 +288,23 @@ export default {
this.$refs.subjectPatientList.clearSort();
this.getList();
},
// dicomAE
// calledAE
async getDicomCalledAEList() {
try {
let res = await getDicomCalledAEList();
if (res.IsSuccess) {
this.dicomAeList = res.Result;
this.calledAeList = res.Result;
}
} catch (err) {
console.log(err);
}
},
// callingAE
async getDicomCallingAEList() {
try {
let res = await getDicomCallingAEList();
if (res.IsSuccess) {
this.callingAeList = res.Result;
}
} catch (err) {
console.log(err);

View File

@ -1,136 +1,154 @@
<template>
<div class="trial-information">
<el-descriptions :column="2" border style="width:1000px;">
<el-descriptions :column="2" border style="width: 1000px">
<!--项目编号-->
<el-descriptions-item :label="$t('trials:trials-list:form:trialId')">
{{trialInfo.TrialCode}}
<el-tag v-show="trialInfo.TrialStatusStr" size="small" style="margin-left:10px;">
( {{ $fd('TrialStatusEnum',trialInfo.TrialStatusStr) }} )
{{ trialInfo.TrialCode }}
<el-tag
v-show="trialInfo.TrialStatusStr"
size="small"
style="margin-left: 10px"
>
( {{ $fd("TrialStatusEnum", trialInfo.TrialStatusStr) }} )
</el-tag>
</el-descriptions-item>
<!--项目类型-->
<el-descriptions-item :label="$t('trials:trials-list:form:trialType')">
{{ $fd('TrialType', trialInfo.TrialType) }}
{{ $fd("TrialType", trialInfo.TrialType) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:experimentName')">
{{trialInfo.ExperimentName}}
<!--试验名称-->
<el-descriptions-item
:label="$t('trials:trials-list:form:experimentName')"
>
{{ trialInfo.ExperimentName }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:researchNumber')">
<!--研究方案号-->
<el-descriptions-item
:label="$t('trials:trials-list:form:researchNumber')"
>
{{ trialInfo.ResearchProgramNo }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:researchUnit')">
{{trialInfo.MainResearchUnit}}
</el-descriptions-item>
<!--主要研究者-->
<el-descriptions-item :label="$t('trials:trials-list:form:pi')">
{{ trialInfo.HeadPI }}
</el-descriptions-item>
<!--申办方-->
<el-descriptions-item :label="$t('trials:trials-list:form:sponsor')">
{{trialInfo.Sponsor}}
{{ trialInfo.Sponsor }}
</el-descriptions-item>
<!--CRO-->
<el-descriptions-item :label="$t('trials:trials-list:form:cro')">
{{ trialInfo.CRO }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:declarationType')">
{{trialInfo.DeclarationTypeEnumList.map(v => $fd('DeclarationType', v)).toString()}}
<!--药物/器械名称-->
<el-descriptions-item :label="$t('trials:trials-list:message:D/Dname')">
{{ trialInfo.MedicineName }}
</el-descriptions-item>
<!--临床分期-->
<el-descriptions-item :label="$t('trials:trials-list:form:phase')">
{{ trialInfo.Phase }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:indicationType')">
{{$fd('IndicationType', trialInfo.IndicationTypeId, 'id')}}
{{ $fd("Trial_Phase", trialInfo.PhaseId, "id") }}
</el-descriptions-item>
<!--适应症-->
<el-descriptions-item :label="$t('trials:trials-list:form:indication')">
{{$fd('Indication', trialInfo.IndicationEnum)}}{{trialInfo.Indication}}
{{ trialInfo.Indication }}
</el-descriptions-item>
<!--检查技术-->
<el-descriptions-item :label="$t('trials:trials-list:form:modality')">
{{trialInfo.ModalityList}}
{{
trialInfo.ModalityIds
? trialInfo.ModalityIds.map((item) =>
$fd("Modality", item, "id")
).join(", ")
: ""
}}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:siteCount')">
{{ trialInfo.PlanSiteCount }}
<!--阅片标准-->
<el-descriptions-item
:span="2"
:label="$t('trials:trials-list:form:criterion')"
>
{{
trialInfo.CriterionTypeList
? trialInfo.CriterionTypeList.map((item) =>
$fd("CriterionType", item)
).join(", ")
: ""
}}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:patientsNum')">
{{trialInfo.ExpectedPatients}}
<!--联系人-->
<el-descriptions-item
:label="$t('trials:researchRecord:table:contactor')"
>
{{ trialInfo.ContactUser }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:timePointsPerPatient')">
{{ trialInfo.TimePointsPerPatient }}
<!--电话-->
<el-descriptions-item :label="$t('trials:trials-myinfo:form:phone')">
{{ trialInfo.ContactPhone }}
</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('trials:trials-list:form:visitCount')">
{{trialInfo.PlanVisitCount}}
<!--授权时长-->
<el-descriptions-item
:label="$t('trials:trials-list:table:durationAuthorized')"
>
{{ trialInfo.AuthorizationYear }}
</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('trials:trials-list:form:criterion')">
{{ trialInfo.Criterion }}
<!--授权日期-->
<el-descriptions-item
:label="$t('trials:trials-list:table:dateAuthorized')"
>
{{ trialInfo.AuthorizationDate }}
</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('trials:trials-list:form:reviewMode')">-->
<!-- <span>{{$fd('ReadingType', trialInfo.ReadingType)}}</span>-->
<!-- </el-descriptions-item>-->
<el-descriptions-item :label="$t('trials:trials-list:form:expedited')">
{{$fd('YesOrNoForInt', trialInfo.Expedited)}}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:projectCycle')">
{{ trialInfo.ProjectCycle }}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:totalReviewers')">
{{trialInfo.TotalReviewers}}
</el-descriptions-item>
<el-descriptions-item :label="$t('trials:trials-list:form:typeofReviewers')">
{{trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).toString()}}
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import { getTrialInfoHir } from '@/api/trials'
import { getTrialInfoHir } from "@/api/trials";
export default {
data() {
return {
trialInfo: {},
trialId: '',
trialStatus: '',
formLoading: false
}
trialId: "",
trialStatus: "",
formLoading: false,
};
},
mounted() {
this.trialId = this.$route.query.trialId
this.initForm()
this.trialId = this.$route.query.trialId;
this.initForm();
},
methods: {
initForm() {
this.formLoading = true
getTrialInfoHir(this.trialId).then(res => {
this.formLoading = false
this.trialInfo = res.Result
this.trialInfo.ReviewTypeList = this.trialInfo.ReviewTypeList.length > 0 ? this.trialInfo.ReviewTypeList.join(', ') : ''
var modalityArr = []
res.Result.ModalityIds.map(i=>{
modalityArr.push(this.$fd('Modality',i,'id'))
this.formLoading = true;
getTrialInfoHir(this.trialId)
.then((res) => {
this.formLoading = false;
this.trialInfo = res.Result;
this.trialInfo.ReviewTypeList =
this.trialInfo.ReviewTypeList.length > 0
? this.trialInfo.ReviewTypeList.join(", ")
: "";
var modalityArr = [];
res.Result.ModalityIds.map((i) => {
modalityArr.push(this.$fd("Modality", i, "id"));
});
this.trialInfo.ModalityList = modalityArr.join(", ");
this.trialInfo.Criterion =
res.Result.CriterionList && res.Result.CriterionList.length > 0
? res.Result.CriterionList.join(", ")
: "";
// this.trialInfo.Expedited = this.$fd('Trial_BasicInfo', res.Result.Expedited)
// this.trialInfo.AttendedReviewerType = this.$fd('Trial_BasicInfo', res.Result.AttendedReviewerType)
})
this.trialInfo.ModalityList = modalityArr.join(', ')
this.trialInfo.Criterion = res.Result.CriterionList && res.Result.CriterionList.length > 0
? res.Result.CriterionList.join(', ')
: ''
// this.trialInfo.Expedited = this.$fd('Trial_BasicInfo', res.Result.Expedited)
// this.trialInfo.AttendedReviewerType = this.$fd('Trial_BasicInfo', res.Result.AttendedReviewerType)
}).catch(() => { this.formLoading = false })
}
}
}
.catch(() => {
this.formLoading = false;
});
},
},
};
</script>
<style lang="scss">
.trial-information{
height: 100%;
padding: 10px 0 0 10px;
background: #fff;
}
.trial-information {
height: 100%;
padding: 10px 0 0 10px;
background: #fff;
}
</style>