阅片单元自定义标准新增影像上传下载配置
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-05-17 10:52:19 +08:00
parent c129d79273
commit b2700df68a
3 changed files with 902 additions and 541 deletions

View File

@ -53,6 +53,50 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!--支持影像下载-->
<el-form-item
:label="$t('trials:processCfg:form:ReadingImageDownload')"
prop="ReadingImageDownload"
v-if="CriterionType === 0"
>
<el-radio-group
v-model="form.ReadingImageDownload"
:disabled="
isConfirm ||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
"
>
<el-radio
v-for="item of $d.ReadingImageDownload"
:key="item.id"
:label="item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<!--支持上传DICOM影像-->
<el-form-item
:label="$t('trials:processCfg:form:ReadingImageUpload')"
prop="ReadingImageUpload"
v-if="CriterionType === 0"
>
<el-radio-group
v-model="form.ReadingImageUpload"
:disabled="
isConfirm ||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
"
>
<el-radio
v-for="item of $d.ReadingImageUpload"
:key="item.id"
:label="item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- 影像模态 --> <!-- 影像模态 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:readingRules:title:CriterionModalitys')" :label="$t('trials:readingUnit:readingRules:title:CriterionModalitys')"
@ -495,12 +539,7 @@
</div> </div>
</template> </template>
<script> <script>
import { import { getCriterionReadingInfo, setCriterionReadingInfo } from "@/api/trials";
getCriterionReadingInfo,
setCriterionReadingInfo,
getTrialCriterionAdditionalAssessmentOptionList,
} from "@/api/trials";
import { isArray } from "ali-oss/lib/common/utils/isArray";
export default { export default {
name: "ReadingRules", name: "ReadingRules",
props: { props: {
@ -510,6 +549,10 @@ export default {
return ""; return "";
}, },
}, },
CriterionType: {
type: Number,
default: 0,
},
}, },
data() { data() {
return { return {
@ -542,6 +585,8 @@ export default {
IsUrgent: false, IsUrgent: false,
TrialCriterionAdditionalAssessmentTypeList: [], TrialCriterionAdditionalAssessmentTypeList: [],
CriterionModalitys: null, CriterionModalitys: null,
ReadingImageDownload: null,
ReadingImageUpload: null,
}, },
rules: { rules: {
IsAutoCreate: [ IsAutoCreate: [
@ -572,6 +617,20 @@ export default {
trigger: ["blur", "change"], trigger: ["blur", "change"],
}, },
], ],
ReadingImageDownload: [
{
required: true,
message: this.$t("common:ruleMessage:select"),
trigger: ["blur", "change"],
},
],
ReadingImageUpload: [
{
required: true,
message: this.$t("common:ruleMessage:select"),
trigger: ["blur", "change"],
},
],
ReadingTaskViewEnum: [ ReadingTaskViewEnum: [
{ {
required: true, required: true,
@ -729,7 +788,7 @@ export default {
this.form[k] = res.Result[k]; this.form[k] = res.Result[k];
} }
} }
console.log(this.form.TrialCriterionAdditionalAssessmentTypeList); this.CriterionModalitys = this.form.CriterionModalitys.split("|");
this.form.TrialCriterionAdditionalAssessmentTypeList.forEach((v) => { this.form.TrialCriterionAdditionalAssessmentTypeList.forEach((v) => {
this.$set(v, "IsSelected", v.IsSelected || false); this.$set(v, "IsSelected", v.IsSelected || false);
this.$set( this.$set(

View File

@ -3,8 +3,12 @@
<div v-if="isShow" class="content"> <div v-if="isShow" class="content">
<el-tabs v-model="TrialReadingCriterionId" type="border-card"> <el-tabs v-model="TrialReadingCriterionId" type="border-card">
<template v-for="item of trialCriterionList"> <template v-for="item of trialCriterionList">
<el-tab-pane :key="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" :name="item.TrialReadingCriterionId"> <el-tab-pane
<div style="text-align: right;padding-bottom: 10px"> :key="item.TrialReadingCriterionId"
:label="item.TrialReadingCriterionName"
:name="item.TrialReadingCriterionId"
>
<div style="text-align: right; padding-bottom: 10px">
<!-- 同步当前标准 --> <!-- 同步当前标准 -->
<el-button <el-button
type="primary" type="primary"
@ -14,15 +18,26 @@
v-if="!hasPermi(['role:admin'])" v-if="!hasPermi(['role:admin'])"
@click="syncSign" @click="syncSign"
> >
{{ $t('trials:readingUnit:button:sync') }} {{ $t("trials:readingUnit:button:sync") }}
</el-button> </el-button>
</div> </div>
<el-collapse v-model="activeCollapse" class="setting-config" v-if="item.isPaneShow && item.TrialReadingCriterionId === TrialReadingCriterionId" > <el-collapse
v-model="activeCollapse"
class="setting-config"
v-if="
item.isPaneShow &&
item.TrialReadingCriterionId === TrialReadingCriterionId
"
>
<!-- 阅片规则 --> <!-- 阅片规则 -->
<el-collapse-item :title="$t('trials:readingUnit:readingRules')" name="1"> <el-collapse-item
:title="$t('trials:readingUnit:readingRules')"
name="1"
>
<ReadingRules <ReadingRules
:ref="`readingRules${item.TrialReadingCriterionId}`" :ref="`readingRules${item.TrialReadingCriterionId}`"
:trial-reading-criterion-id="TrialReadingCriterionId" :trial-reading-criterion-id="TrialReadingCriterionId"
:CriterionType="item.CriterionType"
@setConfirm="setConfirm" @setConfirm="setConfirm"
@reloadArbitrationRules="reloadArbitrationRules" @reloadArbitrationRules="reloadArbitrationRules"
@setArbitrationReading="setArbitrationReading" @setArbitrationReading="setArbitrationReading"
@ -34,7 +49,10 @@
/> />
</el-collapse-item> </el-collapse-item>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-collapse-item :title="$t('trials:readingUnit:readingCriterion')" name="2"> <el-collapse-item
:title="$t('trials:readingUnit:readingCriterion')"
name="2"
>
<ReadingCriterions <ReadingCriterions
:ref="`readingCriterions${item.TrialReadingCriterionId}`" :ref="`readingCriterions${item.TrialReadingCriterionId}`"
:trial-reading-criterion-id="TrialReadingCriterionId" :trial-reading-criterion-id="TrialReadingCriterionId"
@ -44,17 +62,38 @@
/> />
</el-collapse-item> </el-collapse-item>
<!-- 全局阅片 --> <!-- 全局阅片 -->
<el-collapse-item v-if="isGlobalReading && CriterionType !== 10" :title="$t('trials:readingUnit:GlobalReading')" name="5"> <el-collapse-item
<GlobalReading :ref="`globalReading${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" /> v-if="isGlobalReading && CriterionType !== 10"
:title="$t('trials:readingUnit:GlobalReading')"
name="5"
>
<GlobalReading
:ref="`globalReading${item.TrialReadingCriterionId}`"
:trial-reading-criterion-id="TrialReadingCriterionId"
/>
</el-collapse-item> </el-collapse-item>
<!-- 仲裁规则 --> <!-- 仲裁规则 -->
<el-collapse-item v-if="isArbitrationReading" :title="$t('trials:readingUnit:adRules')" name="3"> <el-collapse-item
<ArbitrationRules :ref="`arbitrationRules${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" /> v-if="isArbitrationReading"
:title="$t('trials:readingUnit:adRules')"
name="3"
>
<ArbitrationRules
:ref="`arbitrationRules${item.TrialReadingCriterionId}`"
:trial-reading-criterion-id="TrialReadingCriterionId"
/>
</el-collapse-item> </el-collapse-item>
<!-- 肿瘤学阅片配置 --> <!-- 肿瘤学阅片配置 -->
<!-- v-if="isClinicalReading" --> <!-- v-if="isClinicalReading" -->
<el-collapse-item v-if="isOncologyReading" :title="$t('trials:readingUnit:oncologyReading')" name="4"> <el-collapse-item
<OncologyForm :ref="`oncologyForm${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" /> v-if="isOncologyReading"
:title="$t('trials:readingUnit:oncologyReading')"
name="4"
>
<OncologyForm
:ref="`oncologyForm${item.TrialReadingCriterionId}`"
:trial-reading-criterion-id="TrialReadingCriterionId"
/>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
</el-tab-pane> </el-tab-pane>
@ -62,13 +101,16 @@
</el-tabs> </el-tabs>
</div> </div>
<div v-if="!isConfirm && hasPermi(['trials:trials-panel:setting:reading-unit:edit'])" class="bottom"> <div
<!-- 确认 --> v-if="
<el-button !isConfirm &&
type="danger" hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
@click="handleConfirm" "
class="bottom"
> >
{{ $t('trials:readingUnit:button:confirm') }} <!-- 确认 -->
<el-button type="danger" @click="handleConfirm">
{{ $t("trials:readingUnit:button:confirm") }}
</el-button> </el-button>
</div> </div>
@ -81,10 +123,16 @@
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<div slot="title"> <div slot="title">
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span> <span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span>
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span> <span style="font-size: 12px; margin-left: 5px">{{
`(${$t("common:label:sign")}${currentUser})`
}}</span>
</div> </div>
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" /> <SignForm
ref="signForm"
:sign-code-enum="signCode"
@closeDialog="closeSignDialog"
/>
</el-dialog> </el-dialog>
<!--签名框 --> <!--签名框 -->
<el-dialog <el-dialog
@ -95,41 +143,63 @@
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<div slot="title"> <div slot="title">
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span> <span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span>
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span> <span style="font-size: 12px; margin-left: 5px">{{
`(${$t("common:label:sign")}${currentUser})`
}}</span>
</div> </div>
<SignForm ref="signForm2" :sign-code-enum="signCode2" @closeDialog="closeSignDialog2" /> <SignForm
ref="signForm2"
:sign-code-enum="signCode2"
@closeDialog="closeSignDialog2"
/>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { resetAndAsyncCriterion, resetTrialCriterionAsyncState, asyncTrialCriterionDictionary, getTrialCriterionList, trialReadingInfoSign, trialReadingInfoSignVerify, verifyeCriterionNeedSynchronize, synchronizeCriterion } from '@/api/trials' import {
import ReadingRules from './components/ReadingRules' resetAndAsyncCriterion,
import ReadingCriterions from './components/ReadingCriterions' resetTrialCriterionAsyncState,
import ArbitrationRules from './components/ArbitrationRules' asyncTrialCriterionDictionary,
import GlobalReading from './components/GlobalReading' getTrialCriterionList,
import OncologyForm from './components/OncologyForm' trialReadingInfoSign,
import SignForm from '@/views/trials/components/newSignForm' trialReadingInfoSignVerify,
import const_ from '@/const/sign-code' verifyeCriterionNeedSynchronize,
synchronizeCriterion,
} from "@/api/trials";
import ReadingRules from "./components/ReadingRules";
import ReadingCriterions from "./components/ReadingCriterions";
import ArbitrationRules from "./components/ArbitrationRules";
import GlobalReading from "./components/GlobalReading";
import OncologyForm from "./components/OncologyForm";
import SignForm from "@/views/trials/components/newSignForm";
import const_ from "@/const/sign-code";
export default { export default {
name: 'ReadingUnit', name: "ReadingUnit",
components: { GlobalReading, ReadingRules, ReadingCriterions, ArbitrationRules, OncologyForm, SignForm }, components: {
GlobalReading,
ReadingRules,
ReadingCriterions,
ArbitrationRules,
OncologyForm,
SignForm,
},
data() { data() {
return { return {
NODE_ENV: process.env.NODE_ENV, NODE_ENV: process.env.NODE_ENV,
activeCollapse: ['1', '2', '3', '4', '5'], activeCollapse: ["1", "2", "3", "4", "5"],
signCode: null, signCode: null,
signCode2: null, signCode2: null,
signVisible: false, signVisible: false,
signVisible2: false, signVisible2: false,
currentUser: zzSessionStorage.getItem('userName'), currentUser: zzSessionStorage.getItem("userName"),
isConfirm: true, isConfirm: true,
loading: false, loading: false,
isArbitrationReading: false, isArbitrationReading: false,
isClinicalReading: false, isClinicalReading: false,
trialCriterionList: [], trialCriterionList: [],
TrialReadingCriterionId: '0', TrialReadingCriterionId: "0",
CriterionType: 0, CriterionType: 0,
trialId: this.$route.query.trialId, trialId: this.$route.query.trialId,
isPaneShow: true, isPaneShow: true,
@ -137,8 +207,8 @@ export default {
isOncologyReading: false, isOncologyReading: false,
isGlobalReading: false, isGlobalReading: false,
digitPlaces: 0, digitPlaces: 0,
isAdditionalAssessment: false isAdditionalAssessment: false,
} };
}, },
watch: { watch: {
async TrialReadingCriterionId(v) { async TrialReadingCriterionId(v) {
@ -150,254 +220,317 @@ export default {
// this.$nextTick(() => { // this.$nextTick(() => {
// this.trialCriterionList[i].isPaneShow = true // this.trialCriterionList[i].isPaneShow = true
// }) // })
} },
}, },
mounted() { mounted() {
this.getTrialCriterionList() this.getTrialCriterionList();
}, },
methods: { methods: {
closeSignDialog2(isSign, signInfo) { closeSignDialog2(isSign, signInfo) {
if (isSign) { if (isSign) {
this.handleSync(signInfo) this.handleSync(signInfo);
} else { } else {
this.signVisible2 = false this.signVisible2 = false;
} }
}, },
syncSign() { syncSign() {
const { ResetAndAsyncCriterion } = const_.processSignature const { ResetAndAsyncCriterion } = const_.processSignature;
this.signCode2 = ResetAndAsyncCriterion this.signCode2 = ResetAndAsyncCriterion;
this.signVisible2 = true this.signVisible2 = true;
}, },
handleSync(signInfo) { handleSync(signInfo) {
// '' // ''
this.loading = true this.loading = true;
const params = { const params = {
data: { data: {
TrialReadingCriterionId: this.TrialReadingCriterionId TrialReadingCriterionId: this.TrialReadingCriterionId,
}, },
signInfo: signInfo signInfo: signInfo,
} };
resetAndAsyncCriterion(params).then(res => { resetAndAsyncCriterion(params)
this.loading = false .then((res) => {
let i = this.trialCriterionList.findIndex(i => i.TrialReadingCriterionId === this.TrialReadingCriterionId) this.loading = false;
if(i === -1) return let i = this.trialCriterionList.findIndex(
this.trialCriterionList[i].isPaneShow = false (i) => i.TrialReadingCriterionId === this.TrialReadingCriterionId
);
if (i === -1) return;
this.trialCriterionList[i].isPaneShow = false;
this.$nextTick(() => { this.$nextTick(() => {
this.signVisible2 = false this.signVisible2 = false;
this.trialCriterionList[i].isPaneShow = true this.trialCriterionList[i].isPaneShow = true;
});
})
}).catch(() => {
this.$refs['signForm2'].btnLoading = false
this.loading = false
}) })
.catch(() => {
this.$refs["signForm2"].btnLoading = false;
this.loading = false;
});
}, },
asyncTrialCriterionDictionary(TrialReadingCriterionId) { asyncTrialCriterionDictionary(TrialReadingCriterionId) {
return new Promise(resolve => { return new Promise((resolve) => {
asyncTrialCriterionDictionary({ TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => { asyncTrialCriterionDictionary({
resolve() TrialReadingCriterionId: this.TrialReadingCriterionId,
}) }).then((res) => {
}) resolve();
});
});
}, },
getTrialCriterionList() { getTrialCriterionList() {
getTrialCriterionList(this.trialId, false).then(async res => { getTrialCriterionList(this.trialId, false)
this.trialCriterionList = res.Result.map(item=>{ .then(async (res) => {
this.trialCriterionList = res.Result.map((item) => {
return { return {
...item, ...item,
isPaneShow: true, isPaneShow: true,
} };
}) });
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId this.TrialReadingCriterionId =
this.isShow = true this.trialCriterionList[0].TrialReadingCriterionId;
}).catch(() => { this.isShow = true;
}) })
.catch(() => {});
}, },
setConfirm(isConfirm) { setConfirm(isConfirm) {
this.isConfirm = isConfirm this.isConfirm = isConfirm;
}, },
setDigitPlaces(digitPlaces) { setDigitPlaces(digitPlaces) {
this.digitPlaces = digitPlaces this.digitPlaces = digitPlaces;
}, },
setIsClinicalReading(isClinicalReading) { setIsClinicalReading(isClinicalReading) {
this.isClinicalReading = isClinicalReading this.isClinicalReading = isClinicalReading;
}, },
setAdditionalAssessment(isAdditionalAssessment) { setAdditionalAssessment(isAdditionalAssessment) {
this.isAdditionalAssessment = isAdditionalAssessment this.isAdditionalAssessment = isAdditionalAssessment;
}, },
setArbitrationReading(isArbitrationReading) { setArbitrationReading(isArbitrationReading) {
this.isArbitrationReading = isArbitrationReading this.isArbitrationReading = isArbitrationReading;
}, },
setGlobalReading(isGlobalReading) { setGlobalReading(isGlobalReading) {
this.isGlobalReading = isGlobalReading this.isGlobalReading = isGlobalReading;
}, },
setOncologyReading(isOncologyReading) { setOncologyReading(isOncologyReading) {
this.isOncologyReading = isOncologyReading this.isOncologyReading = isOncologyReading;
}, },
updateCriterions() { updateCriterions() {
this.loading = true this.loading = true;
synchronizeCriterion({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => { synchronizeCriterion({
this.$router.push({ path: `/trials/trials-panel/setting/reading-unit?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&t=${new Date().getTime()}` }) trialId: this.$route.query.trialId,
this.loading = false TrialReadingCriterionId: this.TrialReadingCriterionId,
}).catch(() => { this.loading = false }) })
.then((res) => {
this.$router.push({
path: `/trials/trials-panel/setting/reading-unit?trialId=${
this.$route.query.trialId
}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${
this.$route.query.researchProgramNo
}&t=${new Date().getTime()}`,
});
this.loading = false;
})
.catch(() => {
this.loading = false;
});
}, },
handleConfirm() { handleConfirm() {
this.loading = true this.loading = true;
verifyeCriterionNeedSynchronize({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(async res => { verifyeCriterionNeedSynchronize({
this.loading = false trialId: this.$route.query.trialId,
TrialReadingCriterionId: this.TrialReadingCriterionId,
})
.then(async (res) => {
this.loading = false;
if (res.Result !== 1) { if (res.Result !== 1) {
// //
this.$confirm(this.$t('trials:readingUnit:message:msg1'), { this.$confirm(this.$t("trials:readingUnit:message:msg1"), {
type: 'warning' type: "warning",
}) })
.then(() => { .then(() => {
this.updateCriterions() this.updateCriterions();
})
.catch(action => {
}) })
.catch((action) => {});
} else { } else {
try { try {
var isCheckList = [] var isCheckList = [];
if (this.$refs['arbitrationRules' + this.TrialReadingCriterionId] && this.$refs['arbitrationRules' + this.TrialReadingCriterionId].length) { if (
var arbitrationRules = await this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].saveAllSync() this.$refs["arbitrationRules" + this.TrialReadingCriterionId] &&
this.$refs["arbitrationRules" + this.TrialReadingCriterionId]
.length
) {
var arbitrationRules = await this.$refs[
"arbitrationRules" + this.TrialReadingCriterionId
][0].saveAllSync();
isCheckList.push({ isCheckList.push({
isCheck: arbitrationRules, isCheck: arbitrationRules,
msg: this.$t('trials:readingUnit:adRules')// '' msg: this.$t("trials:readingUnit:adRules"), // ''
}) });
} }
var readingRules = await this.$refs['readingRules' + this.TrialReadingCriterionId][0].handleSave(false) var readingRules = await this.$refs[
"readingRules" + this.TrialReadingCriterionId
][0].handleSave(false);
isCheckList.push({ isCheckList.push({
isCheck: readingRules, isCheck: readingRules,
msg: this.$t('trials:readingUnit:readingRules')// '' msg: this.$t("trials:readingUnit:readingRules"), // ''
}) });
// var readingCriterions = await this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].handleSave(false) // var readingCriterions = await this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].handleSave(false)
// isCheckList.push({ // isCheckList.push({
// isCheck: readingCriterions, // isCheck: readingCriterions,
// msg: '' // msg: ''
// }) // })
if (this.$refs['globalReading' + this.TrialReadingCriterionId] && this.$refs['globalReading' + this.TrialReadingCriterionId].length) { if (
var globalReading = await this.$refs['globalReading' + this.TrialReadingCriterionId][0].handleSave(false) this.$refs["globalReading" + this.TrialReadingCriterionId] &&
this.$refs["globalReading" + this.TrialReadingCriterionId]
.length
) {
var globalReading = await this.$refs[
"globalReading" + this.TrialReadingCriterionId
][0].handleSave(false);
isCheckList.push({ isCheckList.push({
isCheck: globalReading, isCheck: globalReading,
msg: this.$t('trials:readingUnit:GlobalReading')// '' msg: this.$t("trials:readingUnit:GlobalReading"), // ''
}) });
} }
if (this.$refs['oncologyForm' + this.TrialReadingCriterionId] && this.$refs['oncologyForm' + this.TrialReadingCriterionId].length) { if (
var oncologyForm = await this.$refs['oncologyForm' + this.TrialReadingCriterionId][0].handleSave(false) this.$refs["oncologyForm" + this.TrialReadingCriterionId] &&
this.$refs["oncologyForm" + this.TrialReadingCriterionId].length
) {
var oncologyForm = await this.$refs[
"oncologyForm" + this.TrialReadingCriterionId
][0].handleSave(false);
isCheckList.push({ isCheckList.push({
isCheck: oncologyForm, isCheck: oncologyForm,
msg: this.$t('trials:readingUnit:oncologyReading')// '' msg: this.$t("trials:readingUnit:oncologyReading"), // ''
}) });
} }
if (isCheckList.every(v => v.isCheck === true)) { if (isCheckList.every((v) => v.isCheck === true)) {
trialReadingInfoSignVerify({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => { trialReadingInfoSignVerify({
trialId: this.$route.query.trialId,
TrialReadingCriterionId: this.TrialReadingCriterionId,
}).then((res) => {
if (res.IsSuccess) { if (res.IsSuccess) {
const { ReadingUnitConfirmation } = const_.processSignature const { ReadingUnitConfirmation } = const_.processSignature;
this.signCode = ReadingUnitConfirmation this.signCode = ReadingUnitConfirmation;
this.signVisible = true this.signVisible = true;
} }
}) });
} else { } else {
var notCheckList = isCheckList.filter(v => v.isCheck === false) var notCheckList = isCheckList.filter(
var msg = notCheckList.map(v => v.msg) (v) => v.isCheck === false
msg = this.$t('trials:readingUnit:message:msg2').replace('xxx', msg) );
this.$alert(msg) // ${msg} var msg = notCheckList.map((v) => v.msg);
msg = this.$t("trials:readingUnit:message:msg2").replace(
"xxx",
msg
);
this.$alert(msg); // ${msg}
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e);
} }
} }
}).catch(() => {
console.log(222)
this.loading = false
}) })
.catch(() => {
console.log(222);
this.loading = false;
});
}, },
// //
closeSignDialog(isSign, signInfo) { closeSignDialog(isSign, signInfo) {
if (isSign) { if (isSign) {
this.signConfirm(signInfo) this.signConfirm(signInfo);
} else { } else {
this.signVisible = false this.signVisible = false;
} }
}, },
// //
signConfirm(signInfo) { signConfirm(signInfo) {
this.loading = true this.loading = true;
const params = { const params = {
data: { data: {
trialId: this.$route.query.trialId, trialId: this.$route.query.trialId,
TrialReadingCriterionId: this.TrialReadingCriterionId TrialReadingCriterionId: this.TrialReadingCriterionId,
}, },
signInfo: signInfo signInfo: signInfo,
} };
trialReadingInfoSign(params).then(res => { trialReadingInfoSign(params)
.then((res) => {
if (res.IsSuccess) { if (res.IsSuccess) {
try { try {
this.$message.success(this.$t('common:message:savedSuccessfully')) this.$message.success(
this.isConfirm = true this.$t("common:message:savedSuccessfully")
);
this.isConfirm = true;
try { try {
this.$refs['readingRules' + this.TrialReadingCriterionId][0].initPage() this.$refs[
} catch (e) { "readingRules" + this.TrialReadingCriterionId
} ][0].initPage();
} catch (e) {}
try { try {
this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].initPage() this.$refs[
} catch (e) { "readingCriterions" + this.TrialReadingCriterionId
} ][0].initPage();
} catch (e) {}
try { try {
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getList() this.$refs[
} catch (e) { "arbitrationRules" + this.TrialReadingCriterionId
} ][0].getList();
} catch (e) {}
try { try {
this.$refs['globalReading' + this.TrialReadingCriterionId][0].initForm() this.$refs[
} catch (e) { "globalReading" + this.TrialReadingCriterionId
} ][0].initForm();
} catch (e) {}
try { try {
this.$refs['oncologyForm' + this.TrialReadingCriterionId][0].initForm() this.$refs[
"oncologyForm" + this.TrialReadingCriterionId
][0].initForm();
} catch (e) {}
this.$refs["signForm"].btnLoading = false;
this.signVisible = false;
} catch (e) { } catch (e) {
} console.log(e);
this.$refs['signForm'].btnLoading = false
this.signVisible = false
} catch (e) {
console.log(e)
} }
} }
this.loading = false this.loading = false;
}).catch(_ => {
this.loading = false
this.$refs['signForm'].btnLoading = false
}) })
.catch((_) => {
this.loading = false;
this.$refs["signForm"].btnLoading = false;
});
}, },
reloadArbitrationRules() { reloadArbitrationRules() {
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getList() this.$refs[
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getTrialJudgyInfo() "arbitrationRules" + this.TrialReadingCriterionId
} ][0].getList();
} this.$refs[
} "arbitrationRules" + this.TrialReadingCriterionId
][0].getTrialJudgyInfo();
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.reading-unit-wrapper{ .reading-unit-wrapper {
height: 100%; height: 100%;
background-color: #fff; background-color: #fff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.content{ .content {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
} }
/deep/ .el-collapse-item__header{ /deep/ .el-collapse-item__header {
background:#e5ecef; background: #e5ecef;
padding-left:10px; padding-left: 10px;
} }
/deep/ .el-collapse-item__content{ /deep/ .el-collapse-item__content {
padding: 10px; padding: 10px;
} }
.bottom{ .bottom {
height: 50px; height: 50px;
display:flex; display: flex;
align-items:center; align-items: center;
justify-content:center; justify-content: center;
text-align: center; text-align: center;
border-top: 1px solid #e1e1e1; border-top: 1px solid #e1e1e1;
} }
} }
</style> </style>