Compare commits

..

No commits in common. "8802e565494589d90ac6e56e068a64e04717decd" and "eccf51cea9b6c0fc98d58b571b826000381117bf" have entirely different histories.

3 changed files with 254 additions and 288 deletions

View File

@ -239,12 +239,3 @@ export function GetInternationalizationList_Export(data) {
data data
}) })
} }
// 导出一致性分析
export function GetAnalysisTaskList_Export(data) {
return requestDownload({
url: `/ExcelExport/GetAnalysisTaskList_Export`,
responseType: 'blob',
method: 'post',
data
})
}

View File

@ -1,37 +1,18 @@
<template> <template>
<div style="text-align: left"> <div style="text-align: left">
<el-tabs <el-tabs type="border-card" v-model="TrialReadingCriterionId" style="height:300px">
type="border-card" <el-tab-pane :label="i.TrialReadingCriterionName" :name="i.TrialReadingCriterionId" v-for="i of trialCriterionList" :key="i.TrialReadingCriterionId">
v-model="TrialReadingCriterionId"
style="height: 300px"
>
<el-tab-pane
:label="i.TrialReadingCriterionName"
:name="i.TrialReadingCriterionId"
v-for="i of trialCriterionList"
:key="i.TrialReadingCriterionId"
>
<div class="message"> <div class="message">
<span>{{ $t('trials:consistencyAnalysis:button:exportSelf') }}</span> <span>{{$t('trials:consistencyAnalysis:button:exportSelf')}}</span>
<el-button <el-button type="primary" icon="el-icon-download" @click="handleExport(1)" size="mini">
type="primary" {{$t('common:button:export')}}
icon="el-icon-download" </el-button>
@click="handleExport(9)"
size="mini"
>
{{ $t('common:button:export') }}
</el-button>
</div> </div>
<div class="message"> <div class="message">
<span>{{ $t('trials:consistencyAnalysis:button:exportGroup') }}</span> <span>{{$t('trials:consistencyAnalysis:button:exportGroup')}}</span>
<el-button <el-button type="primary" icon="el-icon-download" @click="handleExport(2)" size="mini">
type="primary" {{$t('common:button:export')}}
icon="el-icon-download" </el-button>
@click="handleExport(10)"
size="mini"
>
{{ $t('common:button:export') }}
</el-button>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -42,7 +23,7 @@
import { getTrialCriterionList } from '@/api/trials/reading' import { getTrialCriterionList } from '@/api/trials/reading'
export default { export default {
name: 'exportList', name: "exportList",
data() { data() {
return { return {
TrialReadingCriterionId: null, TrialReadingCriterionId: null,
@ -50,33 +31,30 @@ export default {
} }
}, },
mounted() { mounted() {
this.trialId = this.$route.query.trialId this.trialId =this.$route.query.trialId
this.getTrialCriterionList() this.getTrialCriterionList()
}, },
methods: { methods: {
handleExport(type) { handleExport(type) {
this.$emit('handleExport', type, this.TrialReadingCriterionId) this.$emit("handleExport",type,this.TrialReadingCriterionId)
}, },
getTrialCriterionList() { getTrialCriterionList() {
getTrialCriterionList(this.trialId) getTrialCriterionList(this.trialId).then(res => {
.then((res) => { this.trialCriterionList = res.Result
this.trialCriterionList = res.Result this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
this.TrialReadingCriterionId = }).catch(() => {})
this.trialCriterionList[0].TrialReadingCriterionId }
}) }
.catch(() => {})
},
},
} }
</script> </script>
<style scoped> <style scoped>
.message { .message{
display: flex; display:flex;
align-items: center; align-items:center;
line-height: 60px; line-height:60px;
} }
.message span { .message span{
margin-right: 20px; margin-right:20px;
} }
</style> </style>

View File

@ -214,14 +214,14 @@
</el-form-item> </el-form-item>
<el-form-item style="margin-bottom: 10px"> <el-form-item style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-search" @click="handleSearch"> <el-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }} {{ $t("common:button:search") }}
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-refresh-left" icon="el-icon-refresh-left"
@click="handleReset" @click="handleReset"
> >
{{ $t('common:button:reset') }} {{ $t("common:button:reset") }}
</el-button> </el-button>
<!-- <el-button type="primary" icon="el-icon-download" @click="handleExport(1)"> <!-- <el-button type="primary" icon="el-icon-download" @click="handleExport(1)">
{{$t('trials:consistencyAnalysis:button:exportSelf')}} {{$t('trials:consistencyAnalysis:button:exportSelf')}}
@ -239,7 +239,7 @@
" "
@click="openTaskConsistentRule(true)" @click="openTaskConsistentRule(true)"
> >
{{ $t('trials:consistencyAnalysis:button:self') }} {{ $t("trials:consistencyAnalysis:button:self") }}
</el-button> </el-button>
<!-- 组间一致性分析 --> <!-- 组间一致性分析 -->
<el-button <el-button
@ -252,7 +252,7 @@
" "
@click="openTaskConsistentRule(false)" @click="openTaskConsistentRule(false)"
> >
{{ $t('trials:consistencyAnalysis:button:group') }} {{ $t("trials:consistencyAnalysis:button:group") }}
</el-button> </el-button>
<!-- 虚拟中心编号 --> <!-- 虚拟中心编号 -->
<el-button <el-button
@ -264,7 +264,7 @@
" "
@click="openSite()" @click="openSite()"
> >
{{ $t('trials:consistencyAnalysis:button:site') }} {{ $t("trials:consistencyAnalysis:button:site") }}
</el-button> </el-button>
<!--导出--> <!--导出-->
<el-button <el-button
@ -272,7 +272,7 @@
icon="el-icon-download" icon="el-icon-download"
@click="openExport()" @click="openExport()"
> >
{{ $t('common:button:export') }} {{ $t("common:button:export") }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -296,10 +296,10 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsUrgent" type="danger">{{ <el-tag v-if="scope.row.IsUrgent" type="danger">{{
$fd('YesOrNo', scope.row.IsUrgent) $fd("YesOrNo", scope.row.IsUrgent)
}}</el-tag> }}</el-tag>
<el-tag v-else type="primary">{{ <el-tag v-else type="primary">{{
$fd('YesOrNo', scope.row.IsUrgent) $fd("YesOrNo", scope.row.IsUrgent)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -334,7 +334,7 @@
class="status-primary-circle" class="status-primary-circle"
> >
<!-- --> <!-- -->
{{ $t('trials:consistencyAnalysis:table:impact') }} {{ $t("trials:consistencyAnalysis:table:impact") }}
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
@ -384,16 +384,16 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{ <el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{
$fd('ReadingCategory', scope.row.ReadingCategory) $fd("ReadingCategory", scope.row.ReadingCategory)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{ <el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{
$fd('ReadingCategory', scope.row.ReadingCategory) $fd("ReadingCategory", scope.row.ReadingCategory)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{ <el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{
$fd('ReadingCategory', scope.row.ReadingCategory) $fd("ReadingCategory", scope.row.ReadingCategory)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ <el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{
$fd('ReadingCategory', scope.row.ReadingCategory) $fd("ReadingCategory", scope.row.ReadingCategory)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -419,24 +419,24 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.ArmEnum === 1" type="primary">{{ <el-tag v-if="scope.row.ArmEnum === 1" type="primary">{{
$fd('ArmEnum', scope.row.ArmEnum) $fd("ArmEnum", scope.row.ArmEnum)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 2" type="success">{{ <el-tag v-if="scope.row.ArmEnum === 2" type="success">{{
$fd('ArmEnum', scope.row.ArmEnum) $fd("ArmEnum", scope.row.ArmEnum)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 3" type="info">{{ <el-tag v-if="scope.row.ArmEnum === 3" type="info">{{
$fd('ArmEnum', scope.row.ArmEnum) $fd("ArmEnum", scope.row.ArmEnum)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{ <el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{
$fd('ArmEnum', scope.row.ArmEnum) $fd("ArmEnum", scope.row.ArmEnum)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ <el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{
$fd('ArmEnum', scope.row.ArmEnum) $fd("ArmEnum", scope.row.ArmEnum)
}}</el-tag> }}</el-tag>
<el-tag <el-tag
v-if="scope.row.ArmEnum === 8" v-if="scope.row.ArmEnum === 8"
style="border-color: #4c2791; color: #4c2791" style="border-color: #4c2791; color: #4c2791"
>{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag >{{ $fd("ArmEnum", scope.row.ArmEnum) }}</el-tag
> >
</template> </template>
</el-table-column> </el-table-column>
@ -458,10 +458,10 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{ <el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{
$fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) $fd("IsSelfAnalysis", scope.row.IsSelfAnalysis)
}}</el-tag> }}</el-tag>
<el-tag v-else type="warning">{{ <el-tag v-else type="warning">{{
$fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) $fd("IsSelfAnalysis", scope.row.IsSelfAnalysis)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -475,10 +475,10 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{ <el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{
$fd('ReadingTaskState', scope.row.ReadingTaskState) $fd("ReadingTaskState", scope.row.ReadingTaskState)
}}</el-tag> }}</el-tag>
<el-tag v-else type="danger">{{ <el-tag v-else type="danger">{{
$fd('ReadingTaskState', scope.row.ReadingTaskState) $fd("ReadingTaskState", scope.row.ReadingTaskState)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -519,19 +519,19 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ <el-tag v-if="scope.row.TaskState === 0" type="primary">{{
$fd('TaskState', scope.row.TaskState) $fd("TaskState", scope.row.TaskState)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.TaskState === 1" type="info">{{ <el-tag v-if="scope.row.TaskState === 1" type="info">{{
$fd('TaskState', scope.row.TaskState) $fd("TaskState", scope.row.TaskState)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{ <el-tag v-if="scope.row.TaskState === 3" type="danger">{{
$fd('TaskState', scope.row.TaskState) $fd("TaskState", scope.row.TaskState)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{ <el-tag v-if="scope.row.TaskState === 4" type="warning">{{
$fd('TaskState', scope.row.TaskState) $fd("TaskState", scope.row.TaskState)
}}</el-tag> }}</el-tag>
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ <el-tag v-if="scope.row.TaskState === 5" type="danger">{{
$fd('TaskState', scope.row.TaskState) $fd("TaskState", scope.row.TaskState)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -648,11 +648,11 @@
<!-- 已设置访视基准日期末次访视失访PDPD进展入组确认 --> <!-- 已设置访视基准日期末次访视失访PDPD进展入组确认 -->
<span class="status-primary-circle"> <span class="status-primary-circle">
<!-- --> <!-- -->
{{ $t('trials:consistencyAnalysis:table:impact') }} {{ $t("trials:consistencyAnalysis:table:impact") }}
</span> </span>
<!-- 受到退回影响 --> <!-- 受到退回影响 -->
<span <span
>: {{ $t('trials:consistencyAnalysis:title:impactInfluence') }}</span >: {{ $t("trials:consistencyAnalysis:title:impactInfluence") }}</span
> >
</div> </div>
<!-- 自身一致性分析 --> <!-- 自身一致性分析 -->
@ -684,7 +684,7 @@
:loading="btnLoading" :loading="btnLoading"
@click="addReaderRulesForm()" @click="addReaderRulesForm()"
> >
{{ $t('trials:selftConsistencyAnalysis:button:config') }} {{ $t("trials:selftConsistencyAnalysis:button:config") }}
</el-button> </el-button>
<div <div
class="base-dialog-body" class="base-dialog-body"
@ -745,11 +745,11 @@
v-if="scope.row.IsHaveReadingPeriod" v-if="scope.row.IsHaveReadingPeriod"
size="success" size="success"
>{{ >{{
$fd('YesOrNo', scope.row.IsHaveReadingPeriod) $fd("YesOrNo", scope.row.IsHaveReadingPeriod)
}}</el-tag }}</el-tag
> >
<el-tag v-else size="danger">{{ <el-tag v-else size="danger">{{
$fd('YesOrNo', scope.row.IsHaveReadingPeriod) $fd("YesOrNo", scope.row.IsHaveReadingPeriod)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -769,11 +769,11 @@
v-if="scope.row.IsGenerateGlobalTask" v-if="scope.row.IsGenerateGlobalTask"
size="success" size="success"
>{{ >{{
$fd('YesOrNo', scope.row.IsGenerateGlobalTask) $fd("YesOrNo", scope.row.IsGenerateGlobalTask)
}}</el-tag }}</el-tag
> >
<el-tag v-else size="danger">{{ <el-tag v-else size="danger">{{
$fd('YesOrNo', scope.row.IsGenerateGlobalTask) $fd("YesOrNo", scope.row.IsGenerateGlobalTask)
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -864,7 +864,7 @@
type="primary" type="primary"
@click="ReaderRulesVisible = false" @click="ReaderRulesVisible = false"
> >
{{ $t('common:button:cancel') }} {{ $t("common:button:cancel") }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->
</div> </div>
@ -894,13 +894,13 @@
@click="addReaderRulesForm('g')" @click="addReaderRulesForm('g')"
> >
<!-- 配置组间一致性分析规则 --> <!-- 配置组间一致性分析规则 -->
{{ $t('trials:grouptConsistencyAnalysis:button:config') }} {{ $t("trials:grouptConsistencyAnalysis:button:config") }}
</el-button> </el-button>
<GroupConsistentRuleSubjectTable <GroupConsistentRuleSubjectTable
@setReaderRulesFormVisible=" @setReaderRulesFormVisible="
(v) => { (v) => {
ReaderRulesFormVisible = v ReaderRulesFormVisible = v;
isDisable = false isDisable = false;
} }
" "
v-if="TrialReadingCriterionId === item.TrialReadingCriterionId" v-if="TrialReadingCriterionId === item.TrialReadingCriterionId"
@ -912,8 +912,8 @@
:other-info="RuleOtherInfo" :other-info="RuleOtherInfo"
@close=" @close="
() => { () => {
ReaderRulesVisible2 = false ReaderRulesVisible2 = false;
rowData = {} rowData = {};
} }
" "
@getList="getList()" @getList="getList()"
@ -940,8 +940,8 @@
:is-self-analysis="IsSelfAnalysis" :is-self-analysis="IsSelfAnalysis"
@close=" @close="
() => { () => {
ReaderRulesFormVisible = false ReaderRulesFormVisible = false;
rowData = {} rowData = {};
} }
" "
@getList="openTaskConsistentRule(IsSelfAnalysis)" @getList="openTaskConsistentRule(IsSelfAnalysis)"
@ -964,8 +964,8 @@
:other-info="RuleOtherInfo" :other-info="RuleOtherInfo"
@close=" @close="
() => { () => {
DoctorConsistentRuleSubjectTableVisible = false DoctorConsistentRuleSubjectTableVisible = false;
rowData = {} rowData = {};
} }
" "
@getList="openTaskConsistentRule(IsSelfAnalysis)" @getList="openTaskConsistentRule(IsSelfAnalysis)"
@ -1024,11 +1024,11 @@
<el-radio-group v-model="ApplyforReasonForm.Type"> <el-radio-group v-model="ApplyforReasonForm.Type">
<!-- 图像重传 --> <!-- 图像重传 -->
<el-radio :label="1">{{ <el-radio :label="1">{{
$t('trials:consistencyAnalysis:applyReread:imageReload') $t("trials:consistencyAnalysis:applyReread:imageReload")
}}</el-radio> }}</el-radio>
<!-- 其他 --> <!-- 其他 -->
<el-radio :label="2">{{ <el-radio :label="2">{{
$t('trials:consistencyAnalysis:applyReread:other') $t("trials:consistencyAnalysis:applyReread:other")
}}</el-radio> }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
@ -1056,11 +1056,11 @@
size="small" size="small"
type="primary" type="primary"
@click=" @click="
ApplyforReasonVisible = false ApplyforReasonVisible = false;
ApplyforReasonForm = { Type: null, RequestReReadingReason: null } ApplyforReasonForm = { Type: null, RequestReReadingReason: null };
" "
> >
{{ $t('common:button:cancel') }} {{ $t("common:button:cancel") }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->
<el-button <el-button
@ -1069,7 +1069,7 @@
type="primary" type="primary"
@click="applyReReading" @click="applyReReading"
> >
{{ $t('common:button:save') }} {{ $t("common:button:save") }}
</el-button> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -1116,28 +1116,27 @@ import {
getDoctorUserSelectList, getDoctorUserSelectList,
getAnalysisTaskList, getAnalysisTaskList,
applyReReading, applyReReading,
} from '@/api/trials/reading' } from "@/api/trials/reading";
import { setTaskValid } from '@/api/trials' import { setTaskValid } from "@/api/trials";
import ClinicalData from '@/views/trials/trials-panel/subject/reading-period/components/ClinicalData' import ClinicalData from "@/views/trials/trials-panel/subject/reading-period/components/ClinicalData";
import { import {
getSelfAnalysisTaskList_Export, getSelfAnalysisTaskList_Export,
getGroupAnalysisTaskList_Export, getGroupAnalysisTaskList_Export,
GetAnalysisTaskList_Export, } from "@/api/export";
} from '@/api/export' import ReaderRulesForm from "./components/ReaderRulesForm";
import ReaderRulesForm from './components/ReaderRulesForm' import DoctorConsistentRuleSubjectTable from "./components/DoctorConsistentRuleSubjectTable";
import DoctorConsistentRuleSubjectTable from './components/DoctorConsistentRuleSubjectTable' import GroupConsistentRuleSubjectTable from "./components/GroupConsistentRuleSubjectTable";
import GroupConsistentRuleSubjectTable from './components/GroupConsistentRuleSubjectTable' import VirtualCenter from "./components/VirtualCenter";
import VirtualCenter from './components/VirtualCenter' import BaseContainer from "@/components/BaseContainer";
import BaseContainer from '@/components/BaseContainer' import Pagination from "@/components/Pagination";
import Pagination from '@/components/Pagination' import { getToken } from "@/utils/auth";
import { getToken } from '@/utils/auth' import exportList from "./components/exportList.vue";
import exportList from './components/exportList.vue'
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,
Asc: true, Asc: true,
SortField: '', SortField: "",
TrialId: null, TrialId: null,
TrialSiteId: null, TrialSiteId: null,
SubjectId: null, SubjectId: null,
@ -1154,10 +1153,10 @@ const searchDataDefault = () => {
TrialReadingCriterionId: null, TrialReadingCriterionId: null,
BeginSignTime: null, BeginSignTime: null,
EndSignTime: null, EndSignTime: null,
} };
} };
export default { export default {
name: 'TrialsNotice', name: "TrialsNotice",
components: { components: {
exportList, exportList,
BaseContainer, BaseContainer,
@ -1206,15 +1205,15 @@ export default {
Type: [ Type: [
{ {
required: true, required: true,
message: this.$t('common:ruleMessage:specify'), message: this.$t("common:ruleMessage:specify"),
trigger: 'blur', trigger: "blur",
}, },
], ],
RequestReReadingReason: [ RequestReReadingReason: [
{ {
required: true, required: true,
message: this.$t('common:ruleMessage:specify'), message: this.$t("common:ruleMessage:specify"),
trigger: 'blur', trigger: "blur",
}, },
], ],
}, },
@ -1225,17 +1224,17 @@ export default {
exportVisible: false, exportVisible: false,
clinicalDataVisible: false, clinicalDataVisible: false,
} };
}, },
mounted() { mounted() {
this.getList() this.getList();
this.getSite() this.getSite();
this.getDoctorUserSelectList() this.getDoctorUserSelectList();
this.getTrialCriterionList() this.getTrialCriterionList();
}, },
beforeDestroy() { beforeDestroy() {
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close() this.openWindow.close();
} }
}, },
methods: { methods: {
@ -1243,35 +1242,35 @@ export default {
async handleSetState(row) { async handleSetState(row) {
try { try {
let confirm = await this.$confirm( let confirm = await this.$confirm(
this.$t('trials:reading:consistencyAnalysis:message:setState'), this.$t("trials:reading:consistencyAnalysis:message:setState"),
{ {
type: 'warning', type: "warning",
distinguishCancelAndClose: true, distinguishCancelAndClose: true,
} }
) );
if (!confirm) return if (!confirm) return;
let data = { let data = {
visitTaskId: row.Id, visitTaskId: row.Id,
} };
let res = await setTaskValid(data) let res = await setTaskValid(data);
if (res.IsSuccess) { if (res.IsSuccess) {
this.$message.success( this.$message.success(
this.$t('trials:reading:consistencyAnalysis:setStateSuccess') this.$t("trials:reading:consistencyAnalysis:setStateSuccess")
) );
this.getList() this.getList();
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err);
} }
}, },
// //
handleView(row) { handleView(row) {
this.currentData = row this.currentData = row;
this.currentData.TrialId = this.$route.query.trialId this.currentData.TrialId = this.$route.query.trialId;
this.clinicalDataVisible = true this.clinicalDataVisible = true;
}, },
openSite() { openSite() {
this.isOpenSite = true this.isOpenSite = true;
}, },
handleExport(type, TrialReadingCriterionId) { handleExport(type, TrialReadingCriterionId) {
// if (!this.searchData.TrialReadingCriterionId) { // if (!this.searchData.TrialReadingCriterionId) {
@ -1280,91 +1279,89 @@ export default {
// } // }
if (!TrialReadingCriterionId) { if (!TrialReadingCriterionId) {
this.$alert( this.$alert(
this.$t('trials:consistencyAnalysis:message:selectCriterion') this.$t("trials:consistencyAnalysis:message:selectCriterion")
) //'' ); //''
return return;
} }
let obj = JSON.parse(JSON.stringify(this.searchData)) let obj = JSON.parse(JSON.stringify(this.searchData));
obj.TrialReadingCriterionId = TrialReadingCriterionId obj.TrialReadingCriterionId = TrialReadingCriterionId;
obj.ReadingExportType = type
return GetAnalysisTaskList_Export(obj)
if (type === 1) { if (type === 1) {
getSelfAnalysisTaskList_Export(obj) getSelfAnalysisTaskList_Export(obj)
.then((res) => {}) .then((res) => {})
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
} else { } else {
getGroupAnalysisTaskList_Export(obj) getGroupAnalysisTaskList_Export(obj)
.then((res) => {}) .then((res) => {})
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
} }
}, },
getTrialCriterionList() { getTrialCriterionList() {
this.loading = true this.loading = true;
getTrialCriterionList(this.trialId) getTrialCriterionList(this.trialId)
.then((res) => { .then((res) => {
this.trialCriterionList = res.Result this.trialCriterionList = res.Result;
this.TrialReadingCriterionId = this.TrialReadingCriterionId =
this.trialCriterionList[0].TrialReadingCriterionId this.trialCriterionList[0].TrialReadingCriterionId;
this.loading = false this.loading = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
}, },
setAnalysisTaskInvalid(row) { setAnalysisTaskInvalid(row) {
// '' // ''
this.$confirm( this.$confirm(
this.$t('trials:consistencyAnalysis:applyReread:msg1') this.$t("trials:consistencyAnalysis:applyReread:msg1")
).then(() => { ).then(() => {
this.loading = true this.loading = true;
setAnalysisTaskInvalid([row.Id]) setAnalysisTaskInvalid([row.Id])
.then((res) => { .then((res) => {
// //
this.$message.success( this.$message.success(
this.$t('trials:consistencyAnalysis:applyReread:msg2') this.$t("trials:consistencyAnalysis:applyReread:msg2")
) );
this.getList() this.getList();
this.loading = false this.loading = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
}) });
}, },
changeTimeList() { changeTimeList() {
if (this.timeList) { if (this.timeList) {
this.searchData.BeginAllocateDate = this.timeList[0] this.searchData.BeginAllocateDate = this.timeList[0];
this.searchData.EndAllocateDate = this.timeList[1] this.searchData.EndAllocateDate = this.timeList[1];
} else { } else {
this.searchData.BeginAllocateDate = null this.searchData.BeginAllocateDate = null;
this.searchData.EndAllocateDate = null this.searchData.EndAllocateDate = null;
} }
}, },
changeTimeList2() { changeTimeList2() {
if (this.timeList2) { if (this.timeList2) {
this.searchData.BeginSignTime = this.timeList2[0] this.searchData.BeginSignTime = this.timeList2[0];
this.searchData.EndSignTime = this.timeList2[1] this.searchData.EndSignTime = this.timeList2[1];
} else { } else {
this.searchData.BeginSignTime = null this.searchData.BeginSignTime = null;
this.searchData.EndSignTime = null this.searchData.EndSignTime = null;
} }
}, },
// //
reReadingHistory(row) { reReadingHistory(row) {
this.$router.push({ this.$router.push({
path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&TrialSiteId=${row.TrialSiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}`, path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&TrialSiteId=${row.TrialSiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}`,
}) });
}, },
// //
applyReReading() { applyReReading() {
this.$refs.reasonForm.validate((valid) => { this.$refs.reasonForm.validate((valid) => {
if (!valid) return if (!valid) return;
this.loading = true this.loading = true;
this.btnLoading = true this.btnLoading = true;
var params = { var params = {
TaskIdList: [this.rowData.Id], TaskIdList: [this.rowData.Id],
TrialId: this.$route.query.trialId, TrialId: this.$route.query.trialId,
@ -1372,28 +1369,28 @@ export default {
RequestReReadingReason: RequestReReadingReason:
this.ApplyforReasonForm.Type === 2 this.ApplyforReasonForm.Type === 2
? this.ApplyforReasonForm.RequestReReadingReason ? this.ApplyforReasonForm.RequestReReadingReason
: this.$t('trials:consistencyAnalysis:applyReread:imageReload'), //'' : this.$t("trials:consistencyAnalysis:applyReread:imageReload"), //''
} };
applyReReading(params) applyReReading(params)
.then((res) => { .then((res) => {
this.loading = false this.loading = false;
this.btnLoading = false this.btnLoading = false;
// //
this.$message.success( this.$message.success(
this.$t('trials:consistencyAnalysis:applyReread:msg3') this.$t("trials:consistencyAnalysis:applyReread:msg3")
) );
this.getList() this.getList();
this.ApplyforReasonVisible = false this.ApplyforReasonVisible = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
this.btnLoading = false this.btnLoading = false;
}) });
}) });
}, },
lookReadingResults(row) { lookReadingResults(row) {
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close() this.openWindow.close();
} }
// var token = getToken() // var token = getToken()
// const routeData = this.$router.resolve({ // const routeData = this.$router.resolve({
@ -1401,38 +1398,38 @@ export default {
// }) // })
// window.open(routeData.href, '_blank') // window.open(routeData.href, '_blank')
window.localStorage.setItem( window.localStorage.setItem(
'TrialReadingCriterionId', "TrialReadingCriterionId",
this.TrialReadingCriterionId this.TrialReadingCriterionId
) );
var token = getToken() var token = getToken();
var path = '' var path = "";
if (row.ReadingTool === 0) { if (row.ReadingTool === 0) {
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`;
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${row.TrialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`;
} }
var routeData = this.$router.resolve({ path }) var routeData = this.$router.resolve({ path });
this.openWindow = window.open(routeData.href, '_blank') this.openWindow = window.open(routeData.href, "_blank");
}, },
openApplyReReading(row) { openApplyReReading(row) {
this.rowData = { ...row } this.rowData = { ...row };
this.ApplyforReasonVisible = true this.ApplyforReasonVisible = true;
this.ApplyforReasonForm = { this.ApplyforReasonForm = {
Type: null, Type: null,
Remake: null, Remake: null,
} };
}, },
editReaderRulesForm(row) { editReaderRulesForm(row) {
this.rowData = { ...row } this.rowData = { ...row };
this.ReaderRulesFormVisible = true this.ReaderRulesFormVisible = true;
}, },
openDoctorConsistentRuleSubjectTable(row, IsAutoAllocateGenerateTask) { openDoctorConsistentRuleSubjectTable(row, IsAutoAllocateGenerateTask) {
this.rowData = { ...row } this.rowData = { ...row };
this.DoctorConsistentRuleSubjectTableVisible = true this.DoctorConsistentRuleSubjectTableVisible = true;
this.rowData.IsAutoAllocateGenerateTask = IsAutoAllocateGenerateTask this.rowData.IsAutoAllocateGenerateTask = IsAutoAllocateGenerateTask;
}, },
addReaderRulesForm(isg) { addReaderRulesForm(isg) {
this.isDisable = false this.isDisable = false;
if (isg) { if (isg) {
if ( if (
this.$refs[ this.$refs[
@ -1443,115 +1440,115 @@ export default {
`GroupConsistentRuleSubjectTable${this.TrialReadingCriterionId}` `GroupConsistentRuleSubjectTable${this.TrialReadingCriterionId}`
][0].list.forEach((v) => { ][0].list.forEach((v) => {
if (v.IsHaveGeneratedTask) { if (v.IsHaveGeneratedTask) {
this.isDisable = true this.isDisable = true;
} }
}) });
} }
} else { } else {
if (this.TaskConsistentRuleList.length > 0) { if (this.TaskConsistentRuleList.length > 0) {
this.rowData = { ...this.TaskConsistentRuleList[0] } this.rowData = { ...this.TaskConsistentRuleList[0] };
this.TaskConsistentRuleList.forEach((v) => { this.TaskConsistentRuleList.forEach((v) => {
if (v.GeneratedSubjectCount) { if (v.GeneratedSubjectCount) {
this.isDisable = true this.isDisable = true;
} }
}) });
} else { } else {
this.rowData = {} this.rowData = {};
} }
} }
this.ReaderRulesFormVisible = true this.ReaderRulesFormVisible = true;
}, },
clickTab(tab, event) { clickTab(tab, event) {
this.loading = true this.loading = true;
this.title = `${this.$t( this.title = `${this.$t(
'trials:selftConsistencyAnalysis:button:config' "trials:selftConsistencyAnalysis:button:config"
)}(${ )}(${
this.trialCriterionList.find( this.trialCriterionList.find(
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId (v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
).TrialReadingCriterionName ).TrialReadingCriterionName
})` })`;
getSelfConsistentDoctorStatList({ getSelfConsistentDoctorStatList({
TrialId: this.trialId, TrialId: this.trialId,
TrialReadingCriterionId: tab.name, TrialReadingCriterionId: tab.name,
}) })
.then((res) => { .then((res) => {
if (res.OtherInfo) { if (res.OtherInfo) {
this.ReaderRulesFormVisible = false this.ReaderRulesFormVisible = false;
this.RuleOtherInfo = res.OtherInfo this.RuleOtherInfo = res.OtherInfo;
} else { } else {
this.ReaderRulesFormVisible = true this.ReaderRulesFormVisible = true;
} }
// this.ReaderRulesFormVisible = false // this.ReaderRulesFormVisible = false
// this.DoctorConsistentRuleSubjectTableVisible = false // this.DoctorConsistentRuleSubjectTableVisible = false
this.TaskConsistentRuleList = res.Result this.TaskConsistentRuleList = res.Result;
// this.IsSelfAnalysis = true // this.IsSelfAnalysis = true
// this.ReaderRulesVisible = true // this.ReaderRulesVisible = true
// this.getList() // this.getList()
this.loading = false this.loading = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
}, },
openExport() { openExport() {
if (this.trialCriterionList.length === 0) { if (this.trialCriterionList.length === 0) {
this.$alert( this.$alert(
this.$t( this.$t(
'trials:trials-panel:consistency-analysis:trialCriterionListLength' "trials:trials-panel:consistency-analysis:trialCriterionListLength"
) )
) );
return return;
} }
this.exportVisible = true this.exportVisible = true;
}, },
openTaskConsistentRule(IsSelfAnalysis) { openTaskConsistentRule(IsSelfAnalysis) {
if (this.trialCriterionList.length === 0) { if (this.trialCriterionList.length === 0) {
this.$alert( this.$alert(
this.$t( this.$t(
'trials:trials-panel:consistency-analysis:trialCriterionListLength' "trials:trials-panel:consistency-analysis:trialCriterionListLength"
) )
) );
return return;
} }
this.loading = true this.loading = true;
if (IsSelfAnalysis) { if (IsSelfAnalysis) {
// '' // ''
this.title = `${this.$t( this.title = `${this.$t(
'trials:selftConsistencyAnalysis:button:config' "trials:selftConsistencyAnalysis:button:config"
)}(${ )}(${
this.trialCriterionList.find( this.trialCriterionList.find(
(v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId (v) => v.TrialReadingCriterionId === this.TrialReadingCriterionId
).TrialReadingCriterionName ).TrialReadingCriterionName
})` })`;
getSelfConsistentDoctorStatList({ getSelfConsistentDoctorStatList({
TrialId: this.trialId, TrialId: this.trialId,
TrialReadingCriterionId: this.TrialReadingCriterionId, TrialReadingCriterionId: this.TrialReadingCriterionId,
}) })
.then((res) => { .then((res) => {
if (res.OtherInfo) { if (res.OtherInfo) {
this.ReaderRulesFormVisible = false this.ReaderRulesFormVisible = false;
this.RuleOtherInfo = res.OtherInfo this.RuleOtherInfo = res.OtherInfo;
} else { } else {
this.ReaderRulesFormVisible = true this.ReaderRulesFormVisible = true;
} }
this.DoctorConsistentRuleSubjectTableVisible = false this.DoctorConsistentRuleSubjectTableVisible = false;
this.TaskConsistentRuleList = res.Result this.TaskConsistentRuleList = res.Result;
this.IsSelfAnalysis = IsSelfAnalysis this.IsSelfAnalysis = IsSelfAnalysis;
this.ReaderRulesVisible = true this.ReaderRulesVisible = true;
this.getList() this.getList();
this.loading = false this.loading = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
} else { } else {
this.changeNum++ this.changeNum++;
this.ReaderRulesFormVisible = false this.ReaderRulesFormVisible = false;
// '' // ''
this.title = this.$t('trials:grouptConsistencyAnalysis:button:config') this.title = this.$t("trials:grouptConsistencyAnalysis:button:config");
this.IsSelfAnalysis = IsSelfAnalysis this.IsSelfAnalysis = IsSelfAnalysis;
this.ReaderRulesVisible2 = true this.ReaderRulesVisible2 = true;
this.loading = false this.loading = false;
} }
// getTaskConsistentRuleList({ // getTaskConsistentRuleList({
// IsSelfAnalysis: IsSelfAnalysis, // IsSelfAnalysis: IsSelfAnalysis,
@ -1566,57 +1563,57 @@ export default {
}, },
getDoctorUserSelectList() { getDoctorUserSelectList() {
getDoctorUserSelectList(this.$route.query.trialId).then((res) => { getDoctorUserSelectList(this.$route.query.trialId).then((res) => {
this.DoctorUserList = res.Result this.DoctorUserList = res.Result;
if (this.DoctorUserList.length > 0) { if (this.DoctorUserList.length > 0) {
this.ReadingType = this.DoctorUserList[0].ReadingType this.ReadingType = this.DoctorUserList[0].ReadingType;
} else { } else {
} }
}) });
}, },
getList() { getList() {
this.searchData.TrialId = this.$route.query.trialId this.searchData.TrialId = this.$route.query.trialId;
this.loading = true this.loading = true;
getAnalysisTaskList(this.searchData) getAnalysisTaskList(this.searchData)
.then((res) => { .then((res) => {
this.loading = false this.loading = false;
this.OtherInfo = res.OtherInfo this.OtherInfo = res.OtherInfo;
this.list = res.Result.CurrentPageData this.list = res.Result.CurrentPageData;
this.total = res.Result.TotalCount this.total = res.Result.TotalCount;
this.ReaderRulesVisible2 = false this.ReaderRulesVisible2 = false;
this.AssignMedicalReviewTaskVisible = false this.AssignMedicalReviewTaskVisible = false;
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false;
}) });
}, },
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1;
this.getList() this.getList();
}, },
handleReset() { handleReset() {
this.timeList = null this.timeList = null;
this.timeList2 = null this.timeList2 = null;
this.searchData = searchDataDefault() this.searchData = searchDataDefault();
this.getList() this.getList();
}, },
getSite() { getSite() {
getTrialSiteCodeSelect(this.trialId).then((res) => { getTrialSiteCodeSelect(this.trialId).then((res) => {
this.siteOptions = res.Result this.siteOptions = res.Result;
}) });
}, },
// //
handleSortChange(column) { handleSortChange(column) {
if (column.order === 'ascending') { if (column.order === "ascending") {
this.searchData.Asc = true this.searchData.Asc = true;
} else { } else {
this.searchData.Asc = false this.searchData.Asc = false;
} }
this.searchData.SortField = column.prop this.searchData.SortField = column.prop;
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1;
this.getList() this.getList();
}, },
}, },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.consistency-analysis-wrapper { .consistency-analysis-wrapper {