Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/hir-web into main
commit
5fe8fdedbf
|
@ -170,3 +170,12 @@ export function downLoadReadReport(data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
// 预览阅片报告
|
||||
export function showReadReport(data) {
|
||||
return request({
|
||||
url: `/ReadingImageTask/downLoadReadReport`,
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
|
|
@ -3558,24 +3558,42 @@ export function getSystemConfirmedCreiterionList() {
|
|||
})
|
||||
}
|
||||
|
||||
// 获取项目授权码
|
||||
export function getTrialAuthorizationCode(params) {
|
||||
// 获取项目授权信息
|
||||
export function getTrialAuthorizationInfo(params) {
|
||||
return request({
|
||||
url: `/Patient/getTrialAuthorizationCode`,
|
||||
url: `/Patient/getTrialAuthorizationInfo`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目激活码
|
||||
export function getTrialActivationCode(params) {
|
||||
// 获取激活码信息
|
||||
export function getActivationCodeInfo(params) {
|
||||
return request({
|
||||
url: `/Patient/getTrialActivationCode`,
|
||||
url: `/Patient/getActivationCodeInfo`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目授权码
|
||||
export function getTrialAuthorizationCode(data) {
|
||||
return request({
|
||||
url: `/Patient/getTrialAuthorizationCode`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目激活码
|
||||
export function getTrialActivationCode(data) {
|
||||
return request({
|
||||
url: `/Patient/getTrialActivationCode`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 设置项目授权信息
|
||||
export function activateTrial(params) {
|
||||
return request({
|
||||
|
@ -3583,4 +3601,13 @@ export function activateTrial(params) {
|
|||
method: 'put',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目授权码信息
|
||||
export function getAuthorizationCodeInfo(params) {
|
||||
return request({
|
||||
url: `/Patient/getAuthorizationCodeInfo`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
/>
|
||||
<!-- <embed v-else-if="fileType.indexOf('pdf') !== -1" :src="filePath+'#toolbar=0'" style="width: 100%; height: 100%"> -->
|
||||
<!-- <iframe v-else-if="fileType.indexOf('pdf') !== -1" :src="filePath+'#toolbar=0'" width="100%" height="100%" frameborder="0" /> -->
|
||||
<iframe v-else-if="fileType.indexOf('pdf') !== -1" :src="`/static/pdfjs/web/viewer.html?file=${OSSclientConfig.basePath}${filePath}?userName=${currentUser}`" width="100%" height="100%" frameborder="0" />
|
||||
<iframe v-else-if="fileType.indexOf('pdf') !== -1" :src="isLocal?`/static/pdfjs/web/viewer.html?file=${filePath}`:`/static/pdfjs/web/viewer.html?file=${OSSclientConfig.basePath}${filePath}?userName=${currentUser}`" width="100%" height="100%" frameborder="0" />
|
||||
<!-- <pdf-->
|
||||
<!-- v-else-if="fileType.indexOf('pdf') !== -1"-->
|
||||
<!-- :src="`/static/pdfjs/web/viewer.html?file=${filePath}`">-->
|
||||
|
@ -36,6 +36,10 @@ export default {
|
|||
fileType: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
isLocal:{
|
||||
type: Boolean,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
:visible.sync="visible"
|
||||
:title="fileData.name"
|
||||
:fullscreen="true"
|
||||
append-to-body
|
||||
custom-class="base-dialog-wrapper"
|
||||
:before-close="close"
|
||||
>
|
||||
<div class="base-modal-body" style="border: 2px solid #ccc; padding: 10px">
|
||||
<PreviewFile
|
||||
v-if="visible"
|
||||
:file-path="fileData.path"
|
||||
:file-type="fileData.name"
|
||||
:isLocal="true"
|
||||
/>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import PreviewFile from "@/components/PreviewFile/index";
|
||||
export default {
|
||||
name: "PreviewFileDialog",
|
||||
components: { PreviewFile },
|
||||
props: {
|
||||
fileData: {
|
||||
required: true,
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {};
|
||||
},
|
||||
},
|
||||
visible: {
|
||||
required: true,
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
close() {
|
||||
this.$emit("update:visible", false);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -10,7 +10,7 @@ import { OSSclient } from './utils/oss'
|
|||
|
||||
NProgress.configure({ showSpinner: false })
|
||||
|
||||
const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
|
||||
const whiteList = ['/activate','/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
|
||||
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
NProgress.start()
|
||||
|
|
|
@ -221,6 +221,11 @@ export const constantRoutes = [
|
|||
hidden: true,
|
||||
component: () => import('@/views/trials/trials-panel/setting/reading-unit/preview')
|
||||
},
|
||||
{
|
||||
path: '/activate',
|
||||
component: () => import('@/views/trials/trials-list/components/activate-page.vue'),
|
||||
hidden: true
|
||||
},
|
||||
// {
|
||||
// path: '/audit',
|
||||
// name: 'audit',
|
||||
|
|
|
@ -5,7 +5,10 @@ import Vue from 'vue';
|
|||
import {
|
||||
getSubjectImageZipInfo,
|
||||
} from "@/api/trials/visit.js";
|
||||
let flag = false;
|
||||
export const downloadImage = async (id, id2) => {
|
||||
if (flag) return
|
||||
flag = true
|
||||
try {
|
||||
let res = await getSubjectImageZipInfo(id, id2);
|
||||
if (res.IsSuccess) {
|
||||
|
@ -74,6 +77,7 @@ const setfolder = async (item) => {
|
|||
})
|
||||
.then((res) => {
|
||||
saveAs(res, zipName + ".zip"); // 使用FileSaver.saveAs保存文件,文件名可自定义
|
||||
flag = false;
|
||||
zipObj = null;
|
||||
});
|
||||
})
|
||||
|
@ -103,4 +107,14 @@ const getFileData = (fileUrl) => {
|
|||
reject(error);
|
||||
});
|
||||
});
|
||||
};
|
||||
export const fileDownload = (content, filename) => {
|
||||
const eleLink = document.createElement("a");
|
||||
eleLink.download = filename;
|
||||
eleLink.style.display = "none";
|
||||
const blob = new Blob([content]);
|
||||
eleLink.href = URL.createObjectURL(blob);
|
||||
document.body.appendChild(eleLink);
|
||||
eleLink.click();
|
||||
document.body.removeChild(eleLink);
|
||||
};
|
|
@ -25,8 +25,8 @@
|
|||
>
|
||||
<el-select v-model="searchData.NoticeTypeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of $d.NoteType"
|
||||
:key="item.value"
|
||||
v-for="item of $d.TrialType"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
|
@ -60,10 +60,10 @@
|
|||
size="small"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of roleList"
|
||||
v-for="item of $d.UserType"
|
||||
:key="item.Id"
|
||||
:label="item.UserTypeShortName"
|
||||
:value="item.Id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
|
|
@ -197,7 +197,7 @@ export default {
|
|||
UserName: "",
|
||||
LastName: "",
|
||||
FirstName: "",
|
||||
Sex: "",
|
||||
Sex: "9",
|
||||
EMail: "",
|
||||
Phone: "",
|
||||
UserTypeId: "",
|
||||
|
|
|
@ -39,6 +39,13 @@
|
|||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 研究方案号 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:form:researchNumber')"
|
||||
prop="ResearchProgramNo"
|
||||
>
|
||||
<el-input v-model="trialForm.ResearchProgramNo" clearable />
|
||||
</el-form-item>
|
||||
<!-- 研究名称 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:table:researchName')"
|
||||
|
@ -51,21 +58,11 @@
|
|||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- 研究方案号 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:form:researchNumber')"
|
||||
prop="ResearchProgramNo"
|
||||
>
|
||||
<el-input v-model="trialForm.ResearchProgramNo" clearable />
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 研究者 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:form:investigator')"
|
||||
prop="HeadPI"
|
||||
>
|
||||
<el-input v-model="trialForm.HeadPI" clearable />
|
||||
<!-- 药物/器械名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:message:D/Dname')">
|
||||
<el-input v-model="trialForm.MedicineName" clearable />
|
||||
</el-form-item>
|
||||
<!-- 申办方 -->
|
||||
<el-form-item
|
||||
|
@ -76,16 +73,13 @@
|
|||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- CRO -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:cro')" prop="Cro">
|
||||
<el-input v-model="trialForm.CRO" maxlength="200" clearable />
|
||||
<!-- 研究者 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:form:investigator')"
|
||||
prop="HeadPI"
|
||||
>
|
||||
<el-input v-model="trialForm.HeadPI" clearable />
|
||||
</el-form-item>
|
||||
<!-- 药物/器械名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:message:D/Dname')">
|
||||
<el-input v-model="trialForm.MedicineName" clearable />
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 临床分期 -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:phase')" prop="PhaseId">
|
||||
<el-select
|
||||
|
@ -101,29 +95,23 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 适应症 -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:indication')">
|
||||
<el-input v-model="trialForm.Indication" clearable />
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 检查技术 -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:modality')">
|
||||
<el-select v-model="trialForm.ModalityIds" multiple clearable>
|
||||
<el-option
|
||||
v-for="item of $d.Modality"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 阅片标准 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:form:criterion')"
|
||||
prop="CriterionTypeList"
|
||||
>
|
||||
<el-select v-model="trialForm.CriterionTypeList" multiple clearable>
|
||||
<el-select
|
||||
v-model="trialForm.CriterionTypeList"
|
||||
multiple
|
||||
clearable
|
||||
:disabled="trialForm.Id !== ''"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of CriterionTypeList"
|
||||
:key="item.Id"
|
||||
|
@ -134,19 +122,25 @@
|
|||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- CRO -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:cro')" prop="Cro">
|
||||
<el-input v-model="trialForm.CRO" maxlength="200" clearable />
|
||||
</el-form-item>
|
||||
<!-- 联系人 -->
|
||||
<el-form-item :label="$t('trials:researchForm:form:contactor')">
|
||||
<el-input v-model="trialForm.ContactUser" clearable />
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 电话 -->
|
||||
<el-form-item :label="$t('trials:trials-myinfo:form:phone')">
|
||||
<el-input v-model="trialForm.ContactPhone" type="number" clearable />
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- 授权时长 -->
|
||||
<!-- 项目周期 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:table:durationAuthorized')"
|
||||
:label="$t('trials:trials-list:form:projectCycle')"
|
||||
prop="AuthorizationDuration"
|
||||
>
|
||||
<div style="position: relative">
|
||||
|
@ -154,11 +148,12 @@
|
|||
v-model="trialForm.AuthorizationDuration"
|
||||
type="number"
|
||||
clearable
|
||||
:max="200"
|
||||
:min="0"
|
||||
/>
|
||||
<span style="position: absolute; right: -20px; top: 0">月</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- 授权时间 -->
|
||||
<!-- 到期日 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:table:dateAuthorized')"
|
||||
prop="visitNumberAuthorized"
|
||||
|
@ -167,41 +162,12 @@
|
|||
v-model="trialForm.AuthorizationDate"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
placeholder=""
|
||||
disabled
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<!-- 授权访视量 -->
|
||||
<!-- <el-form-item
|
||||
:label="$t('trials:trials-list:table:visitNumberAuthorized')"
|
||||
prop="visitNumberAuthorized"
|
||||
>
|
||||
<el-input
|
||||
v-model="trialForm.visitNumberAuthorized"
|
||||
type="number"
|
||||
disabled
|
||||
/>
|
||||
</el-form-item> -->
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!--项目授权码-->
|
||||
<!-- <el-form-item :label="$t('trials:trials-list:form:authorizationCode')">
|
||||
<el-input v-model="trialForm.authorizationCode" />
|
||||
</el-form-item> -->
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- Timepoints Per Patient -->
|
||||
<!-- <el-form-item :label="$t('trials:trials-list:form:timePointsPerPatient')">
|
||||
<el-input-number
|
||||
v-model="trialForm.TimePointsPerPatient"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
@change="handleTpPerPatientChange"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
</el-row>
|
||||
<el-row> </el-row>
|
||||
<el-row> </el-row>
|
||||
<el-row style="margin-left: 190px">
|
||||
<el-form-item label="">
|
||||
<el-button type="primary" :disabled="btnLoading" @click="handleCancel">
|
||||
|
|
|
@ -0,0 +1,224 @@
|
|||
<template>
|
||||
<el-form
|
||||
ref="activateProjectForm"
|
||||
:model="form"
|
||||
size="small"
|
||||
label-width="120px"
|
||||
style="width: 500px; padding: 30px 0 0 30px"
|
||||
>
|
||||
<div class="base-dialog-body">
|
||||
<p>授权申请信息</p>
|
||||
<!-- 购买时长 -->
|
||||
<el-form-item label="项目码">
|
||||
<el-input v-model="data.AuthorizationCode" />
|
||||
<input
|
||||
type="file"
|
||||
id="uploadFile"
|
||||
ref="uploadFile"
|
||||
@change="fileChange"
|
||||
style="display: none"
|
||||
/>
|
||||
<label for="uploadFile" class="copy">上传</label>
|
||||
</el-form-item>
|
||||
<!-- 单位名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:activate:organizationName')">
|
||||
<span>{{ data.HospitalName }}</span>
|
||||
</el-form-item>
|
||||
<!-- 项目编号 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:trialId')">
|
||||
<span>{{ data.TrialCode }}</span>
|
||||
</el-form-item>
|
||||
<!-- 评估标准 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:evaluationCriteria')"
|
||||
>
|
||||
<span
|
||||
>{{
|
||||
data.CriterionTypeList.map((item) =>
|
||||
$fd("CriterionType", Number(item))
|
||||
).join(",")
|
||||
}}
|
||||
</span>
|
||||
</el-form-item>
|
||||
<!-- 购买时长 -->
|
||||
<el-form-item :label="$t('trials:trials-list:activate:purchaseDuration')">
|
||||
<span>{{ data.PurchaseDuration }}</span>
|
||||
</el-form-item>
|
||||
<p>生成激活码信息</p>
|
||||
<!-- 单位名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:activate:organizationName')">
|
||||
<span>{{ data.HospitalName }}</span>
|
||||
</el-form-item>
|
||||
<!-- 项目编号 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:trialId')">
|
||||
<span>{{ data.TrialCode }}</span>
|
||||
</el-form-item>
|
||||
<!-- 评估标准 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:evaluationCriteria')"
|
||||
>
|
||||
<span
|
||||
>{{
|
||||
data.CriterionTypeList.map((item) =>
|
||||
$fd("CriterionType", Number(item))
|
||||
).join(",")
|
||||
}}
|
||||
</span>
|
||||
</el-form-item>
|
||||
<!-- 授权时长 -->
|
||||
<el-form-item label="授权时长" prop="Activate">
|
||||
<el-input-number
|
||||
v-model="form.PurchaseDuration"
|
||||
:min="0"
|
||||
:max="100"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<!-- 激活码 -->
|
||||
<el-form-item label="激活码">
|
||||
<span>{{ form.code }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
|
||||
<el-form-item>
|
||||
<!-- 取消 -->
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
@click.stop="getTrialActivationCode"
|
||||
>
|
||||
生成
|
||||
</el-button>
|
||||
<!-- 保存 -->
|
||||
<el-button size="small" type="primary" @click.stop="copy">
|
||||
复制
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click.stop="downloadXmlFile">
|
||||
下载
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
import { fileDownload } from "@/utils/uploadZip.js";
|
||||
import {
|
||||
getAuthorizationCodeInfo,
|
||||
getTrialActivationCode,
|
||||
} from "@/api/trials.js";
|
||||
export default {
|
||||
name: "activatePage",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
code: null,
|
||||
PurchaseDuration: 0,
|
||||
},
|
||||
data: {
|
||||
AuthorizationCode: null,
|
||||
AuthorizationDeadLineDate: null,
|
||||
CreateUserId: null,
|
||||
CriterionTypeList: [],
|
||||
HospitalName: null,
|
||||
PurchaseDuration: null,
|
||||
TrialCode: null,
|
||||
TrialId: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"data.AuthorizationCode": {
|
||||
handler() {
|
||||
if (!this.data.AuthorizationCode) return;
|
||||
this.getAuthorizationCodeInfo();
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 复制
|
||||
copy() {
|
||||
this.$copyText(this.form.code)
|
||||
.then((res) => {
|
||||
// 复制成功
|
||||
this.$message.success(
|
||||
this.$t("trials:researchRecord:message:copySuccessfully")
|
||||
);
|
||||
})
|
||||
.catch(() => {
|
||||
// 复制失败
|
||||
this.$alert(this.$t("trials:researchRecord:message:copyFailed"));
|
||||
});
|
||||
},
|
||||
// 生成激活码
|
||||
async getTrialActivationCode() {
|
||||
try {
|
||||
let params = {
|
||||
TrialId: this.data.TrialId,
|
||||
TrialCode: this.data.TrialCode,
|
||||
PurchaseDuration: this.form.PurchaseDuration,
|
||||
HospitalName: this.data.HospitalName,
|
||||
CriterionTypeList: this.data.CriterionTypeList,
|
||||
CreateUserId: this.data.CreateUserId,
|
||||
AuthorizationDeadLineDate: null,
|
||||
};
|
||||
let res = await getTrialActivationCode(params);
|
||||
if (res.IsSuccess) {
|
||||
this.form.code = res.Result;
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
// 获取项目码信息
|
||||
async getAuthorizationCodeInfo() {
|
||||
try {
|
||||
let params = {
|
||||
AuthorizationCode: this.data.AuthorizationCode,
|
||||
};
|
||||
let res = await getAuthorizationCodeInfo(params);
|
||||
if (res.IsSuccess) {
|
||||
Object.keys(res.Result).forEach((key) => {
|
||||
this.data[key] = res.Result[key];
|
||||
});
|
||||
this.form.PurchaseDuration = this.data.PurchaseDuration;
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
fileChange(data) {
|
||||
let input = data.target;
|
||||
const reader = new FileReader();
|
||||
reader.readAsText(input.files[0], "utf8"); // input.files[0]为第一个文件
|
||||
reader.onload = () => {
|
||||
this.data.AuthorizationCode = reader.result; // reader.result为获取结果
|
||||
input.value = null;
|
||||
};
|
||||
},
|
||||
funDownload(content, filename) {
|
||||
const eleLink = document.createElement("a");
|
||||
eleLink.download = filename;
|
||||
eleLink.style.display = "none";
|
||||
const blob = new Blob([content]);
|
||||
eleLink.href = URL.createObjectURL(blob);
|
||||
document.body.appendChild(eleLink);
|
||||
eleLink.click();
|
||||
document.body.removeChild(eleLink);
|
||||
},
|
||||
downloadXmlFile() {
|
||||
fileDownload(this.form.code, "激活码");
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.copy {
|
||||
cursor: pointer;
|
||||
color: #409eff;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.el-form-item__content {
|
||||
.el-input {
|
||||
width: 60%;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -12,24 +12,56 @@
|
|||
:model="form"
|
||||
:rules="rules"
|
||||
size="small"
|
||||
label-width="100px"
|
||||
label-width="120px"
|
||||
>
|
||||
<div class="base-dialog-body">
|
||||
<p>授权申请信息</p>
|
||||
<!-- 单位名称 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:organizationName')"
|
||||
>
|
||||
<span>{{ form.HospitalName }}</span>
|
||||
</el-form-item>
|
||||
<!-- 项目编号 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:trialId')">
|
||||
<span>{{ data.TrialCode }}</span>
|
||||
<span>{{ form.TrialCode }}</span>
|
||||
</el-form-item>
|
||||
<!-- 评估标准 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:evaluationCriteria')"
|
||||
>
|
||||
<span>{{
|
||||
form.CriterionTypeList.map((item) =>
|
||||
$fd("CriterionType", Number(item))
|
||||
).join(",")
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
<!-- 购买时长 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:purchaseDuration')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="form.PurchaseDuration"
|
||||
@change="handleChange"
|
||||
:min="0"
|
||||
:max="100"
|
||||
step-strictly
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<!-- 授权码 -->
|
||||
<el-form-item :label="$t('trials:trials-list:form:authorizationCode')">
|
||||
<p v-if="data.Authorization" class="AuthorizationBox">
|
||||
<span class="Authorization" :title="data.Authorization">{{
|
||||
data.Authorization
|
||||
<p v-if="form.Authorization" class="AuthorizationBox">
|
||||
<span class="Authorization" :title="form.Authorization">{{
|
||||
form.Authorization
|
||||
}}</span>
|
||||
<span class="copy" @click.stop="copy">{{
|
||||
$t("trials:trials-list:action:copy")
|
||||
}}</span>
|
||||
<span class="copy" style="margin-left: 10px" @click.stop="getCode"
|
||||
>获取</span
|
||||
<span
|
||||
class="copy"
|
||||
style="margin-left: 10px"
|
||||
@click.stop="getCode"
|
||||
>{{ $t("trials:reading:button:download") }}</span
|
||||
>
|
||||
</p>
|
||||
</el-form-item>
|
||||
|
@ -38,8 +70,57 @@
|
|||
:label="$t('trials:trials-list:form:activateCode')"
|
||||
prop="Activate"
|
||||
>
|
||||
<el-input v-model="form.Activate" />
|
||||
<el-input v-model="form.Activate" :disabled="isActivate" />
|
||||
<span
|
||||
v-if="form.Activate"
|
||||
class="copy"
|
||||
@click.stop="getActivationCodeInfo"
|
||||
style="margin-left: 10px"
|
||||
>{{ $t("trials:reviewTrack:impactList:save") }}</span
|
||||
>
|
||||
<input
|
||||
type="file"
|
||||
id="uploadFileInp"
|
||||
@change="uploadFile"
|
||||
style="display: none"
|
||||
/>
|
||||
<label
|
||||
class="copy"
|
||||
style="margin-left: 10px"
|
||||
for="uploadFileInp"
|
||||
v-if="!isActivate"
|
||||
>{{ $t("trials:activate:button:upload") }}</label
|
||||
>
|
||||
</el-form-item>
|
||||
<div v-if="isActivate">
|
||||
<p>授权信息</p>
|
||||
<!-- 单位名称 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:organizationName')"
|
||||
>
|
||||
<span>{{ ActivateData.HospitalName }}</span>
|
||||
</el-form-item>
|
||||
<!-- 项目编号 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:trialId')">
|
||||
<span>{{ ActivateData.TrialCode }}</span>
|
||||
</el-form-item>
|
||||
<!-- 评估标准 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:evaluationCriteria')"
|
||||
>
|
||||
<span>{{
|
||||
ActivateData.CriterionTypeList.map((item) =>
|
||||
$fd("CriterionType", Number(item))
|
||||
).join(",")
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
<!-- 授权时长 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:trials-list:activate:durationAuthorized')"
|
||||
>
|
||||
<span>{{ ActivateData.PurchaseDuration }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="base-dialog-footer"
|
||||
|
@ -59,6 +140,7 @@
|
|||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
:disabled="!isActivate"
|
||||
:loading="btnLoading"
|
||||
@click="handleSave"
|
||||
>
|
||||
|
@ -70,7 +152,13 @@
|
|||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { activateTrial, getTrialActivationCode } from "@/api/trials.js";
|
||||
import {
|
||||
activateTrial,
|
||||
getTrialAuthorizationCode,
|
||||
getTrialAuthorizationInfo,
|
||||
getActivationCodeInfo,
|
||||
} from "@/api/trials.js";
|
||||
import { fileDownload } from "@/utils/uploadZip.js";
|
||||
export default {
|
||||
name: "activateProject",
|
||||
props: {
|
||||
|
@ -90,6 +178,22 @@ export default {
|
|||
form: {
|
||||
Authorization: null, // 授权码
|
||||
Activate: null, // 激活码
|
||||
TrialId: null,
|
||||
TrialCode: null,
|
||||
PurchaseDuration: null,
|
||||
HospitalName: null,
|
||||
CriterionTypeList: [],
|
||||
CreateUserId: null,
|
||||
AuthorizationDeadLineDate: null,
|
||||
},
|
||||
ActivateData: {
|
||||
TrialId: null,
|
||||
TrialCode: null,
|
||||
PurchaseDuration: null,
|
||||
HospitalName: null,
|
||||
CriterionTypeList: [],
|
||||
CreateUserId: null,
|
||||
AuthorizationDeadLineDate: null,
|
||||
},
|
||||
btnLoading: false,
|
||||
rules: {
|
||||
|
@ -101,17 +205,77 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
isActivate: false,
|
||||
timer: null,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getTrialAuthorizationCode();
|
||||
this.getTrialAuthorizationInfo();
|
||||
},
|
||||
destroyed() {
|
||||
if (this.timer) {
|
||||
clearTimeout(this.timer);
|
||||
this.timer = null;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleCancel() {
|
||||
this.$emit("update:visible", false);
|
||||
},
|
||||
// 购买时长变更
|
||||
async handleChange() {
|
||||
if (this.timer) {
|
||||
clearTimeout(this.timer);
|
||||
this.timer = null;
|
||||
}
|
||||
this.timer = setTimeout(() => {
|
||||
this.getTrialAuthorizationCode();
|
||||
clearTimeout(this.timer);
|
||||
this.timer = null;
|
||||
}, 500);
|
||||
},
|
||||
// 获取授权信息
|
||||
async getTrialAuthorizationInfo() {
|
||||
try {
|
||||
let params = {
|
||||
TrialId: this.data.TrialId,
|
||||
};
|
||||
let res = await getTrialAuthorizationInfo(params);
|
||||
if (res.IsSuccess) {
|
||||
Object.keys(this.form).forEach((key) => {
|
||||
this.form[key] = res.Result[key];
|
||||
});
|
||||
this.getTrialAuthorizationCode();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
// 获取授权码
|
||||
async getTrialAuthorizationCode() {
|
||||
let params = {
|
||||
TrialId: this.form.TrialId,
|
||||
TrialCode: this.form.TrialCode,
|
||||
PurchaseDuration: this.form.PurchaseDuration,
|
||||
HospitalName: this.form.HospitalName,
|
||||
CriterionTypeList: this.form.CriterionTypeList,
|
||||
CreateUserId: this.form.CreateUserId,
|
||||
};
|
||||
try {
|
||||
let res = await getTrialAuthorizationCode(params);
|
||||
if (res.IsSuccess) {
|
||||
this.form.Authorization = res.Result;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
// 激活
|
||||
async handleSave() {
|
||||
if (!this.isActivate) return;
|
||||
try {
|
||||
let validate = this.$refs.activateProjectForm.validate();
|
||||
if (!validate) return;
|
||||
|
@ -136,7 +300,7 @@ export default {
|
|||
},
|
||||
// 复制
|
||||
copy() {
|
||||
this.$copyText(this.data.Authorization)
|
||||
this.$copyText(this.form.Authorization)
|
||||
.then((res) => {
|
||||
// 复制成功
|
||||
this.$message.success(
|
||||
|
@ -148,16 +312,34 @@ export default {
|
|||
this.$alert(this.$t("trials:researchRecord:message:copyFailed"));
|
||||
});
|
||||
},
|
||||
// 获取激活码
|
||||
// 下载
|
||||
async getCode() {
|
||||
let params = {
|
||||
TrialId: this.data.TrialId,
|
||||
AuthorizationCode: this.data.Authorization,
|
||||
fileDownload(this.form.Authorization, "项目码");
|
||||
},
|
||||
// 上传并读取文件
|
||||
uploadFile(file) {
|
||||
let input = file.target;
|
||||
const reader = new FileReader();
|
||||
reader.readAsText(input.files[0], "utf8"); // input.files[0]为第一个文件
|
||||
reader.onload = () => {
|
||||
this.form.Activate = reader.result; // reader.result为获取结果
|
||||
input.value = null;
|
||||
};
|
||||
},
|
||||
// 获取激活码信息
|
||||
async getActivationCodeInfo() {
|
||||
try {
|
||||
let res = await getTrialActivationCode(params);
|
||||
let params = {
|
||||
ActivationCode: this.form.Activate,
|
||||
};
|
||||
let res = await getActivationCodeInfo(params);
|
||||
if (res.IsSuccess) {
|
||||
this.form.Activate = res.Result;
|
||||
if (res.IsSuccess) {
|
||||
Object.keys(this.ActivateData).forEach((key) => {
|
||||
this.ActivateData[key] = res.Result[key];
|
||||
});
|
||||
}
|
||||
this.isActivate = true;
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
|
@ -169,6 +351,7 @@ export default {
|
|||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 0;
|
||||
}
|
||||
.Authorization {
|
||||
width: 70%;
|
||||
|
@ -177,6 +360,11 @@ export default {
|
|||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.el-form-item__content {
|
||||
.el-input {
|
||||
width: 60%;
|
||||
}
|
||||
}
|
||||
.copy {
|
||||
cursor: pointer;
|
||||
color: #409eff;
|
||||
|
|
|
@ -225,7 +225,7 @@
|
|||
<!--授权时长-->
|
||||
<el-table-column
|
||||
prop="AuthorizationDuration"
|
||||
:label="$t('trials:trials-list:table:durationAuthorized')"
|
||||
:label="$t('trials:trials-list:form:projectCycle')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
/>
|
||||
|
@ -272,20 +272,13 @@
|
|||
/>
|
||||
<!-- 激活 -->
|
||||
<el-button
|
||||
v-if="!scope.row.AuthorizationEncrypt"
|
||||
v-hasPermi="['trials:trials-list:activate']"
|
||||
circle
|
||||
icon="el-icon-key"
|
||||
:title="$t('trials:trials-list:action:activate')"
|
||||
@click="handleActivate(scope.row)"
|
||||
/>
|
||||
<!-- 代办详情 -->
|
||||
<!-- <el-button
|
||||
v-hasPermi="['trials:trials-list:abolish']"
|
||||
circle
|
||||
icon="el-icon-receiving"
|
||||
:disabled="scope.row.TrialStatusStr === 'Initializing'"
|
||||
:title="$t('trials:trials-list:action:commission')"
|
||||
@click="handleCommission(scope.row)"
|
||||
/> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -357,11 +350,7 @@
|
|||
</BaseContainer>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
abandonTrial,
|
||||
getTrialListHir,
|
||||
getTrialAuthorizationCode,
|
||||
} from "@/api/trials";
|
||||
import { abandonTrial, getTrialListHir } from "@/api/trials";
|
||||
import { mapGetters } from "vuex";
|
||||
import Excel from "exceljs";
|
||||
import BaseContainer from "@/components/BaseContainer";
|
||||
|
@ -477,30 +466,10 @@ export default {
|
|||
}
|
||||
return true;
|
||||
},
|
||||
// 获取授权码
|
||||
async getTrialAuthorizationCode(item) {
|
||||
let params = {
|
||||
TrialId: item.TrialId,
|
||||
};
|
||||
try {
|
||||
let res = await getTrialAuthorizationCode(params);
|
||||
if (res.IsSuccess) {
|
||||
this.currentRow.Authorization = res.Result;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
// 打开激活弹框
|
||||
async handleActivate(item) {
|
||||
this.currentRow = item;
|
||||
let res = await this.getTrialAuthorizationCode(item);
|
||||
if (res) {
|
||||
this.activateVisible = true;
|
||||
}
|
||||
this.activateVisible = true;
|
||||
},
|
||||
initPage() {
|
||||
this.getList();
|
||||
|
|
|
@ -201,6 +201,7 @@ export default {
|
|||
this.$t("trials:trials-myinfo:message:updateSuccessfully")
|
||||
);
|
||||
this.$emit("getUserInfo");
|
||||
this.logout();
|
||||
});
|
||||
},
|
||||
setNewPhone() {
|
||||
|
@ -250,6 +251,19 @@ export default {
|
|||
}, 1000);
|
||||
}
|
||||
},
|
||||
async logout() {
|
||||
/* eslint-disable */
|
||||
var loginType = zzSessionStorage.getItem("loginType");
|
||||
await this.$store.dispatch("user/logout");
|
||||
if (loginType) {
|
||||
this.$router.push(`/login?loginType=${loginType}`);
|
||||
} else {
|
||||
this.$router.push(`/login`);
|
||||
}
|
||||
this.$i18n.locale = "zh";
|
||||
this.setLanguage("zh");
|
||||
this.$updateDictionary();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
|
@ -60,7 +60,7 @@ export default {
|
|||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userId", "name"]),
|
||||
...mapGetters(["userId", "userName"]),
|
||||
},
|
||||
mounted() {
|
||||
this.getUserInfo();
|
||||
|
@ -170,7 +170,7 @@ export default {
|
|||
.trial-info-btn {
|
||||
position: absolute;
|
||||
bottom: -60px;
|
||||
left: calc(100% + 10px);
|
||||
left: 10px;
|
||||
min-width: 97px;
|
||||
}
|
||||
.trial-myinfo-left-bottom {
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
style="margin-right:5px;"
|
||||
@change="handleShowDetail"
|
||||
/>
|
||||
<!--评估报告-->
|
||||
<el-button v-if="readingTaskState>=2" type="primary" size="small" @click="showReport">{{$t('trials:dicoms:button:evaluationReport')}}</el-button>
|
||||
<el-button
|
||||
v-if="readingTaskState<2"
|
||||
type="primary"
|
||||
|
@ -256,6 +258,11 @@
|
|||
</div>
|
||||
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
|
||||
</el-dialog>
|
||||
<!--评估报告-->
|
||||
<PreviewFileDialog
|
||||
:visible.sync="previewFileVisible"
|
||||
:fileData="fileData"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -269,9 +276,11 @@ import store from '@/store'
|
|||
import { mapGetters } from 'vuex'
|
||||
import { changeURLStatic } from '@/utils/history.js'
|
||||
import AdditionalAssessment from './AdditionalAssessment'
|
||||
import { showReadReport } from "@/api/export";
|
||||
import PreviewFileDialog from "@/components/PreviewFileDialog/PreviewFileDialog.vue";
|
||||
export default {
|
||||
name: 'ReportPage',
|
||||
components: { SignForm, AdditionalAssessment },
|
||||
components: { SignForm, AdditionalAssessment,PreviewFileDialog },
|
||||
props: {
|
||||
visitTaskId: {
|
||||
type: String,
|
||||
|
@ -308,7 +317,11 @@ export default {
|
|||
assessmentQuestions: [],
|
||||
tLesionCount: null,
|
||||
ntLesionCount: null,
|
||||
openWindow: null
|
||||
openWindow: null,
|
||||
|
||||
// 评估报告
|
||||
previewFileVisible: false,
|
||||
fileData: {},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -349,6 +362,24 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
// 评估报告
|
||||
async showReport(){
|
||||
let data = {
|
||||
VisitTaskId: this.visitTaskId,
|
||||
};
|
||||
try {
|
||||
let res = await showReadReport(data);
|
||||
let urlPdf = window.URL.createObjectURL(new Blob([res]))
|
||||
this.viewVisible = true
|
||||
this.fileData = {
|
||||
path: encodeURIComponent(urlPdf),
|
||||
name:'评估报告.pdf'
|
||||
};
|
||||
this.previewFileVisible = true;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
},
|
||||
myConfirm(msg) {
|
||||
return new Promise(resolve => {
|
||||
this.$confirm(msg, {
|
||||
|
|
|
@ -85,11 +85,9 @@
|
|||
<el-descriptions-item :label="$t('trials:trials-myinfo:form:phone')">
|
||||
{{ trialInfo.ContactPhone }}
|
||||
</el-descriptions-item>
|
||||
<!--授权时长-->
|
||||
<el-descriptions-item
|
||||
:label="$t('trials:trials-list:table:durationAuthorized')"
|
||||
>
|
||||
{{ trialInfo.AuthorizationDuration }}年
|
||||
<!--项目周期-->
|
||||
<el-descriptions-item :label="$t('trials:trials-list:form:projectCycle')">
|
||||
{{ trialInfo.AuthorizationDuration }}
|
||||
</el-descriptions-item>
|
||||
<!--授权日期-->
|
||||
<el-descriptions-item
|
||||
|
@ -98,17 +96,68 @@
|
|||
{{ trialInfo.AuthorizationDate }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<div
|
||||
v-if="otherInfo && otherInfo.TrialId"
|
||||
v-hasPermi="['trials:trials-list:activate']"
|
||||
>
|
||||
<p>项目授权信息</p>
|
||||
<el-descriptions :column="2" border style="width: 1000px">
|
||||
<!--单位名称-->
|
||||
<el-descriptions-item
|
||||
:label="$t('trials:trials-list:activate:organizationName')"
|
||||
>
|
||||
{{ otherInfo.HospitalName }}
|
||||
</el-descriptions-item>
|
||||
<!--项目编号-->
|
||||
<el-descriptions-item :label="$t('trials:trials-list:table:trialId')">
|
||||
{{ otherInfo.TrialCode }}
|
||||
</el-descriptions-item>
|
||||
<!--评估标准-->
|
||||
<el-descriptions-item
|
||||
:label="$t('trials:trials-list:activate:evaluationCriteria')"
|
||||
>
|
||||
{{
|
||||
otherInfo.CriterionTypeList.map((item) =>
|
||||
$fd("CriterionType", Number(item))
|
||||
).join(",")
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<!--授权时长-->
|
||||
<el-descriptions-item
|
||||
:label="$t('trials:trials-list:activate:durationAuthorized')"
|
||||
>
|
||||
{{ otherInfo.PurchaseDuration }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
style="margin-top: 10px"
|
||||
@click.stop="putActivate"
|
||||
>{{ $t("trials:activate:renewalAuthorization") }}</el-button
|
||||
>
|
||||
</div>
|
||||
<activate-project
|
||||
v-if="activateVisible"
|
||||
:visible.sync="activateVisible"
|
||||
:data="otherInfo"
|
||||
@getList="initForm"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getTrialInfoHir } from "@/api/trials";
|
||||
import activateProject from "@/views/trials/trials-list/components/activate-project.vue";
|
||||
export default {
|
||||
components: { "activate-project": activateProject },
|
||||
data() {
|
||||
return {
|
||||
trialInfo: {},
|
||||
trialId: "",
|
||||
trialStatus: "",
|
||||
formLoading: false,
|
||||
otherInfo: {},
|
||||
activateVisible: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
@ -116,11 +165,16 @@ export default {
|
|||
this.initForm();
|
||||
},
|
||||
methods: {
|
||||
// 更新授权
|
||||
putActivate() {
|
||||
this.activateVisible = true;
|
||||
},
|
||||
initForm() {
|
||||
this.formLoading = true;
|
||||
getTrialInfoHir(this.trialId)
|
||||
.then((res) => {
|
||||
this.formLoading = false;
|
||||
this.otherInfo = res.OtherInfo;
|
||||
this.trialInfo = res.Result;
|
||||
this.trialInfo.ReviewTypeList =
|
||||
this.trialInfo.ReviewTypeList.length > 0
|
||||
|
|
Loading…
Reference in New Issue