项目切换时,需要根据项目状态过滤项目
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
236a565250
commit
1d6ebe6388
|
@ -9,64 +9,28 @@
|
|||
</el-form-item>
|
||||
<!-- 研究方案号 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:researchNumber')">
|
||||
<el-input
|
||||
v-model="searchData.ResearchProgramNo"
|
||||
style="width: 100px"
|
||||
clearable
|
||||
/>
|
||||
<el-input v-model="searchData.ResearchProgramNo" style="width: 100px" clearable />
|
||||
</el-form-item>
|
||||
<!-- 试验名称 -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:experimentName')">
|
||||
<el-input
|
||||
v-model="searchData.ExperimentName"
|
||||
style="width: 100px"
|
||||
clearable
|
||||
/>
|
||||
<el-input v-model="searchData.ExperimentName" style="width: 100px" clearable />
|
||||
</el-form-item>
|
||||
|
||||
<!-- Sponsor -->
|
||||
<el-form-item :label="$t('trials:trials-list:table:sponsor')">
|
||||
<el-select
|
||||
v-model="searchData.SponsorId"
|
||||
style="width: 150px"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in sponsorList"
|
||||
:key="item.Id"
|
||||
:label="item.SponsorName"
|
||||
:value="item.Id"
|
||||
/>
|
||||
<el-select v-model="searchData.SponsorId" style="width: 150px" clearable>
|
||||
<el-option v-for="item in sponsorList" :key="item.Id" :label="item.SponsorName" :value="item.Id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 阅片标准 -->
|
||||
<el-form-item
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
:label="$t('trials:trials-list:table:IR_ReadingCriterionList')"
|
||||
>
|
||||
<el-select
|
||||
v-model="searchData.CriterionType"
|
||||
style="width: 150px"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in $d.CriterionType"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-form-item v-if="hasPermi(['role:ir'])" :label="$t('trials:trials-list:table:IR_ReadingCriterionList')">
|
||||
<el-select v-model="searchData.CriterionType" style="width: 150px" clearable>
|
||||
<el-option v-for="item in $d.CriterionType" :key="item.id" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 联系人 -->
|
||||
<el-form-item
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
:label="$t('trials:trials-list:table:IR_PMEmailList')"
|
||||
>
|
||||
<el-input
|
||||
v-model="searchData.PM_EMail"
|
||||
style="width: 100px"
|
||||
clearable
|
||||
/>
|
||||
<el-form-item v-if="hasPermi(['role:ir'])" :label="$t('trials:trials-list:table:IR_PMEmailList')">
|
||||
<el-input v-model="searchData.PM_EMail" style="width: 100px" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<!-- <el-button type="text" @click="isShow = !isShow">More</el-button> -->
|
||||
|
@ -75,33 +39,19 @@
|
|||
{{ $t('common:button:search') }}
|
||||
</el-button>
|
||||
<!-- Reset -->
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="handleReset"
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
||||
{{ $t('common:button:reset') }}
|
||||
</el-button>
|
||||
<!-- Export -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:export']"
|
||||
type="primary"
|
||||
icon="el-icon-download"
|
||||
:loading="exportLoading"
|
||||
@click="handleExportTrial"
|
||||
>
|
||||
<el-button v-hasPermi="['trials:trials-list:export']" type="primary" icon="el-icon-download"
|
||||
:loading="exportLoading" @click="handleExportTrial">
|
||||
{{ $t('common:button:export') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="margin-left: auto">
|
||||
<!-- New -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:new']"
|
||||
icon="el-icon-plus"
|
||||
type="primary"
|
||||
@click="handleNew"
|
||||
>
|
||||
<el-button v-hasPermi="['trials:trials-list:new']" icon="el-icon-plus" type="primary" @click="handleNew">
|
||||
{{ $t('common:button:new') }}
|
||||
</el-button>
|
||||
</span>
|
||||
|
@ -112,190 +62,88 @@
|
|||
<div style="padding: 10px">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="Trial ID">
|
||||
<el-input
|
||||
v-model="searchData.Code"
|
||||
placeholder="Trial ID"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
<el-input v-model="searchData.Code" placeholder="Trial ID" style="width: 100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="Indication">
|
||||
<el-input
|
||||
v-model="searchData.Indication"
|
||||
placeholder="Indication"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
<el-input v-model="searchData.Indication" placeholder="Indication" style="width: 100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="Assessment Criteria">
|
||||
<el-select
|
||||
v-model="searchData.CriterionIds"
|
||||
placeholder="Assessment Criteria"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
multiple
|
||||
>
|
||||
<el-select v-model="searchData.CriterionIds" placeholder="Assessment Criteria" style="width: 100%" clearable
|
||||
multiple>
|
||||
<!-- <el-option
|
||||
v-for="(key,value) of dictionaryList.ReadingStandard"
|
||||
:key="key"
|
||||
:label="key"
|
||||
:value="value"
|
||||
/> -->
|
||||
<el-option
|
||||
v-for="item of dict.type.ReadingStandard"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-option v-for="item of dict.type.ReadingStandard" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Sponsor">
|
||||
<el-select
|
||||
v-model="searchData.SponsorId"
|
||||
placeholder="Sponsor"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in sponsorList"
|
||||
:key="item.Id"
|
||||
:label="item.SponsorName"
|
||||
:value="item.Id"
|
||||
/>
|
||||
<el-select v-model="searchData.SponsorId" placeholder="Sponsor" style="width: 100%" clearable>
|
||||
<el-option v-for="item in sponsorList" :key="item.Id" :label="item.SponsorName" :value="item.Id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="CRO">
|
||||
<el-select
|
||||
v-model="searchData.CROId"
|
||||
placeholder="CRO"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item of croList"
|
||||
:key="item.Id"
|
||||
:label="item.CROName"
|
||||
:value="item.Id"
|
||||
/>
|
||||
<el-select v-model="searchData.CROId" placeholder="CRO" style="width: 100%" clearable>
|
||||
<el-option v-for="item of croList" :key="item.Id" :label="item.CROName" :value="item.Id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Phase">
|
||||
<el-select
|
||||
v-model="searchData.Phase"
|
||||
placeholder="Phase"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in phaseOptions"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-select v-model="searchData.Phase" placeholder="Phase" style="width: 100%" clearable>
|
||||
<el-option v-for="item in phaseOptions" :key="item.value" :label="item.value" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="ReviewType">
|
||||
<el-select
|
||||
v-model="searchData.ReviewTypeIds"
|
||||
placeholder="ReviewType"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
multiple
|
||||
>
|
||||
<el-select v-model="searchData.ReviewTypeIds" placeholder="ReviewType" style="width: 100%" clearable
|
||||
multiple>
|
||||
<!-- <el-option
|
||||
v-for="(key,value) of dictionaryList.ReviewType"
|
||||
:key="key"
|
||||
:label="key"
|
||||
:value="value"
|
||||
/> -->
|
||||
<el-option
|
||||
v-for="item of dict.type.ReviewType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-option v-for="item of dict.type.ReviewType" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Modality">
|
||||
<el-select
|
||||
v-model="searchData.ModalityIds"
|
||||
multiple
|
||||
placeholder="Modality"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
>
|
||||
<el-select v-model="searchData.ModalityIds" multiple placeholder="Modality" style="width: 100%" clearable>
|
||||
<!-- <el-option
|
||||
v-for="(key,value) of dictionaryList.ReadingType"
|
||||
:key="key"
|
||||
:label="key"
|
||||
:value="value"
|
||||
/> -->
|
||||
<el-option
|
||||
v-for="item of dict.type.ReadingType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-option v-for="item of dict.type.ReadingType" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Expedited: ">
|
||||
<el-select
|
||||
v-model="searchData.Expedited"
|
||||
value-key="value"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in expeditedOption"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-select v-model="searchData.Expedited" value-key="value" clearable style="width: 100%">
|
||||
<el-option v-for="item in expeditedOption" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="BeginDate: ">
|
||||
<el-date-picker
|
||||
v-model="searchData.BeginDate"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
:picker-options="beginPickerOption"
|
||||
:clearable="false"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="searchData.BeginDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
|
||||
:picker-options="beginPickerOption" :clearable="false" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="EndDate: ">
|
||||
<el-date-picker
|
||||
v-model="searchData.EndDate"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
:picker-options="endpickerOption"
|
||||
:clearable="false"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="searchData.EndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
|
||||
:picker-options="endpickerOption" :clearable="false" style="width: 100%" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Attended Reviewer Type:">
|
||||
<el-select
|
||||
v-model="searchData.AttendedReviewerType"
|
||||
placeholder="Attended Reviewer Type"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item of $d.AttendedReviewerType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-select v-model="searchData.AttendedReviewerType" placeholder="Attended Reviewer Type"
|
||||
style="width: 100%" clearable>
|
||||
<el-option v-for="item of $d.AttendedReviewerType" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleSelectSearch"
|
||||
>Search</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handleSelectSearch">Search</el-button>
|
||||
<el-button type="primary" @click="handleReset">Reset</el-button>
|
||||
<el-button type="primary" @click="isShow = false">Back</el-button>
|
||||
</el-form-item>
|
||||
|
@ -305,219 +153,89 @@
|
|||
|
||||
<!-- 项目列表 -->
|
||||
<template slot="main-container">
|
||||
<el-table
|
||||
v-adaptive="{ bottomOffset: 60 }"
|
||||
v-loading="listLoading"
|
||||
:data="list"
|
||||
stripe
|
||||
height="100"
|
||||
@selection-change="handleSelectChange"
|
||||
@sort-change="handleSortChange"
|
||||
@row-click="rowClick"
|
||||
>
|
||||
<el-table v-adaptive="{ bottomOffset: 60 }" v-loading="listLoading" :data="list" stripe height="100"
|
||||
@selection-change="handleSelectChange" @sort-change="handleSortChange" @row-click="rowClick">
|
||||
<el-table-column type="selection" align="left" width="45" />
|
||||
<el-table-column type="index" width="40" align="left" />
|
||||
<el-table-column
|
||||
prop="TrialCode"
|
||||
:label="$t('trials:trials-list:table:trialId')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="ResearchProgramNo"
|
||||
:label="$t('trials:trials-list:table:researchNumber')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column prop="TrialCode" :label="$t('trials:trials-list:table:trialId')" show-overflow-tooltip
|
||||
sortable="custom" width="120" />
|
||||
<el-table-column prop="ResearchProgramNo" :label="$t('trials:trials-list:table:researchNumber')"
|
||||
show-overflow-tooltip sortable="custom" min-width="160" />
|
||||
|
||||
<el-table-column
|
||||
prop="ExperimentName"
|
||||
:label="$t('trials:trials-list:table:experimentName')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="240"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="Sponsor"
|
||||
:label="$t('trials:trials-list:table:sponsor')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="TrialStatusStr"
|
||||
:label="$t('trials:trials-list:table:status')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
>
|
||||
<el-table-column prop="ExperimentName" :label="$t('trials:trials-list:table:experimentName')"
|
||||
show-overflow-tooltip sortable="custom" min-width="240" />
|
||||
<el-table-column prop="Sponsor" :label="$t('trials:trials-list:table:sponsor')" show-overflow-tooltip
|
||||
sortable="custom" min-width="120" />
|
||||
<el-table-column prop="TrialStatusStr" :label="$t('trials:trials-list:table:status')" show-overflow-tooltip
|
||||
sortable="custom" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
v-if="scope.row.TrialStatusStr === 'Initializing'"
|
||||
type="info"
|
||||
>{{ $fd('TrialStatusEnum', scope.row.TrialStatusStr) }}</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-if="scope.row.TrialStatusStr === 'Ongoing'"
|
||||
type="primary"
|
||||
>{{ $fd('TrialStatusEnum', scope.row.TrialStatusStr) }}</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-if="scope.row.TrialStatusStr === 'Completed'"
|
||||
type="warning"
|
||||
>{{ $fd('TrialStatusEnum', scope.row.TrialStatusStr) }}</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-if="scope.row.TrialStatusStr === 'Stopped'"
|
||||
type="danger"
|
||||
>{{ $fd('TrialStatusEnum', scope.row.TrialStatusStr) }}</el-tag
|
||||
>
|
||||
<el-tag v-if="scope.row.TrialStatusStr === 'Initializing'" type="info">{{ $fd('TrialStatusEnum',
|
||||
scope.row.TrialStatusStr) }}</el-tag>
|
||||
<el-tag v-if="scope.row.TrialStatusStr === 'Ongoing'" type="primary">{{ $fd('TrialStatusEnum',
|
||||
scope.row.TrialStatusStr) }}</el-tag>
|
||||
<el-tag v-if="scope.row.TrialStatusStr === 'Completed'" type="warning">{{ $fd('TrialStatusEnum',
|
||||
scope.row.TrialStatusStr) }}</el-tag>
|
||||
<el-tag v-if="scope.row.TrialStatusStr === 'Stopped'" type="danger">{{ $fd('TrialStatusEnum',
|
||||
scope.row.TrialStatusStr) }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:pm', 'role:apm'])"
|
||||
prop="ExpetiedTaskCount"
|
||||
:label="$t('trials:trials-list:table:ExpetiedTaskCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:pm', 'role:apm'])"
|
||||
prop="ReReadingApprovalCount"
|
||||
:label="$t('trials:trials-list:table:ReReadingApprovalCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="180"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:pm', 'role:apm'])"
|
||||
prop="PendingReconciliationCount"
|
||||
:label="$t('trials:trials-list:table:PendingReconciliationCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="140"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:pm', 'role:apm'])"
|
||||
prop="PendingResponseCount"
|
||||
:label="$t('trials:trials-list:table:PendingResponseCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="140"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:crc', 'role:cra'])"
|
||||
prop="CRC_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:CRC_UrgentCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:crc', 'role:cra'])"
|
||||
prop="CRC_QCQuestionCount"
|
||||
:label="$t('trials:trials-list:table:CRC_QCQuestionCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:crc', 'role:cra'])"
|
||||
prop="CRC_CheckQuestionCount"
|
||||
:label="$t('trials:trials-list:table:CRC_CheckQuestionCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
prop="IR_ReadingCriterionList"
|
||||
:label="$t('trials:trials-list:table:IR_ReadingCriterionList')"
|
||||
show-overflow-tooltip
|
||||
min-width="160"
|
||||
>
|
||||
<el-table-column v-if="hasPermi(['role:pm', 'role:apm'])" prop="ExpetiedTaskCount"
|
||||
:label="$t('trials:trials-list:table:ExpetiedTaskCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="120" />
|
||||
<el-table-column v-if="hasPermi(['role:pm', 'role:apm'])" prop="ReReadingApprovalCount"
|
||||
:label="$t('trials:trials-list:table:ReReadingApprovalCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="180" />
|
||||
<el-table-column v-if="hasPermi(['role:pm', 'role:apm'])" prop="PendingReconciliationCount"
|
||||
:label="$t('trials:trials-list:table:PendingReconciliationCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="140" />
|
||||
<el-table-column v-if="hasPermi(['role:pm', 'role:apm'])" prop="PendingResponseCount"
|
||||
:label="$t('trials:trials-list:table:PendingResponseCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="140" />
|
||||
<el-table-column v-if="hasPermi(['role:crc', 'role:cra'])" prop="CRC_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:CRC_UrgentCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:crc', 'role:cra'])" prop="CRC_QCQuestionCount"
|
||||
:label="$t('trials:trials-list:table:CRC_QCQuestionCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:crc', 'role:cra'])" prop="CRC_CheckQuestionCount"
|
||||
:label="$t('trials:trials-list:table:CRC_CheckQuestionCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:ir'])" prop="IR_ReadingCriterionList"
|
||||
:label="$t('trials:trials-list:table:IR_ReadingCriterionList')" show-overflow-tooltip min-width="160">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.IR_ReadingCriterionList.join(', ') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
prop="IR_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:IR_UrgentCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
prop="IR_UnReadCount"
|
||||
:label="$t('trials:trials-list:table:IR_UnReadCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
prop="IR_TotalReadCount"
|
||||
:label="$t('trials:trials-list:table:IR_TotalReadCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="170"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:ir'])"
|
||||
prop="IR_PMEmailList"
|
||||
:label="$t('trials:trials-list:table:IR_PMEmailList')"
|
||||
show-overflow-tooltip
|
||||
min-width="170"
|
||||
>
|
||||
<el-table-column v-if="hasPermi(['role:ir'])" prop="IR_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:IR_UrgentCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:ir'])" prop="IR_UnReadCount"
|
||||
:label="$t('trials:trials-list:table:IR_UnReadCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:ir'])" prop="IR_TotalReadCount"
|
||||
:label="$t('trials:trials-list:table:IR_TotalReadCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="170" />
|
||||
<el-table-column v-if="hasPermi(['role:ir'])" prop="IR_PMEmailList"
|
||||
:label="$t('trials:trials-list:table:IR_PMEmailList')" show-overflow-tooltip min-width="170">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.IR_PMEmailList.join(', ') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:iqc'])"
|
||||
prop="IQC_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:IQC_UrgentCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="140"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:iqc'])"
|
||||
prop="IQC_ToBeClaimedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_ToBeClaimedCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="140"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:iqc'])"
|
||||
prop="IQC_AuditToBeDealedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_AuditToBeDealedCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="140"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:iqc'])"
|
||||
prop="IQC_QuestionToBeDealedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_QuestionToBeDealedCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:mim'])"
|
||||
prop="MIM_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:MIM_UrgentCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column v-if="hasPermi(['role:iqc'])" prop="IQC_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:IQC_UrgentCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="140" />
|
||||
<el-table-column v-if="hasPermi(['role:iqc'])" prop="IQC_ToBeClaimedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_ToBeClaimedCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="140" />
|
||||
<el-table-column v-if="hasPermi(['role:iqc'])" prop="IQC_AuditToBeDealedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_AuditToBeDealedCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="140" />
|
||||
<el-table-column v-if="hasPermi(['role:iqc'])" prop="IQC_QuestionToBeDealedCount"
|
||||
:label="$t('trials:trials-list:table:IQC_QuestionToBeDealedCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:mim'])" prop="MIM_UrgentCount"
|
||||
:label="$t('trials:trials-list:table:MIM_UrgentCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<!-- <el-table-column
|
||||
v-if="hasPermi(['role:mim'])"
|
||||
prop="MIM_UrgentCount"
|
||||
|
@ -526,61 +244,23 @@
|
|||
sortable="custom"
|
||||
min-width="160"
|
||||
/> -->
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:mim'])"
|
||||
prop="MIM_PendingReviewCount"
|
||||
:label="$t('trials:trials-list:table:MIM_PendingReviewCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:mim'])"
|
||||
prop="MIM_PendingResponseCount"
|
||||
:label="$t('trials:trials-list:table:MIM_PendingResponseCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:spm', 'role:cpm'])"
|
||||
prop="SPM_ReReadingApprovalCount"
|
||||
:label="$t('trials:trials-list:table:SPM_ReReadingApprovalCount')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="hasPermi(['role:spm', 'role:cpm'])"
|
||||
prop="SPM_ReviewerSelectApprovalCount"
|
||||
:label="
|
||||
$t('trials:trials-list:table:SPM_ReviewerSelectApprovalCount')
|
||||
"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="160"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="CreateTime"
|
||||
:label="$t('trials:trials-list:table:createDate')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
width="180"
|
||||
/>
|
||||
<el-table-column
|
||||
:label="$t('common:action:action')"
|
||||
width="260"
|
||||
align="left"
|
||||
fixed="right"
|
||||
>
|
||||
<el-table-column v-if="hasPermi(['role:mim'])" prop="MIM_PendingReviewCount"
|
||||
:label="$t('trials:trials-list:table:MIM_PendingReviewCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:mim'])" prop="MIM_PendingResponseCount"
|
||||
:label="$t('trials:trials-list:table:MIM_PendingResponseCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:spm', 'role:cpm'])" prop="SPM_ReReadingApprovalCount"
|
||||
:label="$t('trials:trials-list:table:SPM_ReReadingApprovalCount')" show-overflow-tooltip sortable="custom"
|
||||
min-width="160" />
|
||||
<el-table-column v-if="hasPermi(['role:spm', 'role:cpm'])" prop="SPM_ReviewerSelectApprovalCount" :label="$t('trials:trials-list:table:SPM_ReviewerSelectApprovalCount')
|
||||
" show-overflow-tooltip sortable="custom" min-width="160" />
|
||||
<el-table-column prop="CreateTime" :label="$t('trials:trials-list:table:createDate')" show-overflow-tooltip
|
||||
sortable="custom" width="180" />
|
||||
<el-table-column :label="$t('common:action:action')" width="260" align="left" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<!-- 详情 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:panel']"
|
||||
circle
|
||||
icon="el-icon-info"
|
||||
:disabled="
|
||||
(scope.row.TrialStatusStr === 'Initializing' &&
|
||||
<el-button v-hasPermi="['trials:trials-list:panel']" circle icon="el-icon-info" :disabled="(scope.row.TrialStatusStr === 'Initializing' &&
|
||||
!hasPermi(['role:pm'])) ||
|
||||
scope.row.IsDeleted ||
|
||||
((scope.row.TrialStatusStr === 'Completed' ||
|
||||
|
@ -588,40 +268,25 @@
|
|||
!(
|
||||
hasPermi(['role:qa']) ||
|
||||
hasPermi(['role:ea']) ||
|
||||
hasPermi(['role:pm'])
|
||||
hasPermi(['role:pm']) ||
|
||||
hasPermi(['role:op']) ||
|
||||
hasPermi(['role:dev']) ||
|
||||
hasPermi(['role:admin'])
|
||||
))
|
||||
"
|
||||
:title="$t('trials:trials-list:action:panel')"
|
||||
@click.stop="handleDetail(scope.row)"
|
||||
/>
|
||||
" :title="$t('trials:trials-list:action:panel')" @click.stop="handleDetail(scope.row)" />
|
||||
<!-- 编辑项目基本信息 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:edit']"
|
||||
circle
|
||||
icon="el-icon-edit-outline"
|
||||
:disabled="scope.row.IsDeleted"
|
||||
:title="$t('trials:trials-list:action:edit')"
|
||||
@click.stop="handleEdit(scope.row)"
|
||||
/>
|
||||
<el-button v-hasPermi="['trials:trials-list:edit']" circle icon="el-icon-edit-outline"
|
||||
:disabled="scope.row.IsDeleted" :title="$t('trials:trials-list:action:edit')"
|
||||
@click.stop="handleEdit(scope.row)" />
|
||||
<!-- 修改项目状态 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:status']"
|
||||
circle
|
||||
icon="el-icon-edit"
|
||||
:disabled="scope.row.IsDeleted"
|
||||
:title="$t('trials:trials-list:action:status')"
|
||||
@click.stop="handleStatus(scope.row)"
|
||||
/>
|
||||
<el-button v-hasPermi="['trials:trials-list:status']" circle icon="el-icon-edit"
|
||||
:disabled="scope.row.IsDeleted" :title="$t('trials:trials-list:action:status')"
|
||||
@click.stop="handleStatus(scope.row)" />
|
||||
<!--项目文档-->
|
||||
<el-button
|
||||
v-hasPermi="[
|
||||
<el-button v-hasPermi="[
|
||||
'trials:trials-panel:trial-summary:trial-document:inspect',
|
||||
'trials:trials-panel:trial-summary:trial-document:manage',
|
||||
]"
|
||||
circle
|
||||
icon="el-icon-folder-opened"
|
||||
:disabled="
|
||||
(scope.row.TrialStatusStr === 'Initializing' &&
|
||||
]" circle icon="el-icon-folder-opened" :disabled="(scope.row.TrialStatusStr === 'Initializing' &&
|
||||
!hasPermi(['role:pm'])) ||
|
||||
scope.row.IsDeleted ||
|
||||
((scope.row.TrialStatusStr === 'Completed' ||
|
||||
|
@ -631,22 +296,11 @@
|
|||
hasPermi(['role:ea']) ||
|
||||
hasPermi(['role:pm'])
|
||||
))
|
||||
"
|
||||
:title="$t('trials:trials-list:action:trialDocument')"
|
||||
@click.stop="toTrialDocument(scope.row)"
|
||||
/>
|
||||
" :title="$t('trials:trials-list:action:trialDocument')" @click.stop="toTrialDocument(scope.row)" />
|
||||
<!-- 废除项目 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-list:abolish']"
|
||||
circle
|
||||
icon="el-icon-delete"
|
||||
:disabled="
|
||||
scope.row.IsDeleted ||
|
||||
<el-button v-hasPermi="['trials:trials-list:abolish']" circle icon="el-icon-delete" :disabled="scope.row.IsDeleted ||
|
||||
scope.row.TrialStatusStr !== 'Initializing'
|
||||
"
|
||||
:title="$t('trials:trials-list:action:abolition')"
|
||||
@click.stop="handleAbandon(scope.row)"
|
||||
/>
|
||||
" :title="$t('trials:trials-list:action:abolition')" @click.stop="handleAbandon(scope.row)" />
|
||||
<!-- 代办详情-->
|
||||
<!-- <el-button-->
|
||||
<!-- v-hasPermi="['trials:trials-list:abolish']"-->
|
||||
|
@ -661,61 +315,26 @@
|
|||
</el-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
class="page"
|
||||
:total="total"
|
||||
:page.sync="searchData.PageIndex"
|
||||
:limit.sync="searchData.PageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
|
||||
@pagination="getList" />
|
||||
</template>
|
||||
|
||||
<!-- 新增/编辑项目 -->
|
||||
<el-dialog
|
||||
v-if="dialogVisible"
|
||||
:visible.sync="dialogVisible"
|
||||
:title="title"
|
||||
:fullscreen="true"
|
||||
append-to-body
|
||||
custom-class="base-dialog-wrapper"
|
||||
>
|
||||
<TrialForm
|
||||
:trial-id="currentId"
|
||||
@getList="getList"
|
||||
@closeDialog="closeDialog"
|
||||
/>
|
||||
<el-dialog v-if="dialogVisible" :visible.sync="dialogVisible" :title="title" :fullscreen="true" append-to-body
|
||||
custom-class="base-dialog-wrapper">
|
||||
<TrialForm :trial-id="currentId" @getList="getList" @closeDialog="closeDialog" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 修改项目状态 -->
|
||||
<el-dialog
|
||||
v-if="statusVisible"
|
||||
:visible.sync="statusVisible"
|
||||
:close-on-click-modal="false"
|
||||
:title="$t('trials:trials-list:dialogTitle:changeStatus')"
|
||||
width="700px"
|
||||
custom-class="base-dialog-wrapper"
|
||||
append-to-body
|
||||
>
|
||||
<TrialStatusForm
|
||||
:data="currentRow"
|
||||
@closeDialog="closeStatusDialog"
|
||||
@getList="getList"
|
||||
/>
|
||||
<el-dialog v-if="statusVisible" :visible.sync="statusVisible" :close-on-click-modal="false"
|
||||
:title="$t('trials:trials-list:dialogTitle:changeStatus')" width="700px" custom-class="base-dialog-wrapper"
|
||||
append-to-body>
|
||||
<TrialStatusForm :data="currentRow" @closeDialog="closeStatusDialog" @getList="getList" />
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
v-if="doneDialogVisible"
|
||||
:visible.sync="doneDialogVisible"
|
||||
:title="doneTitle"
|
||||
:fullscreen="true"
|
||||
append-to-body
|
||||
custom-class="base-dialog-wrapper"
|
||||
>
|
||||
<DoneList
|
||||
:trial-id="currentId"
|
||||
@getList="getList"
|
||||
@closeDialog="doneDialogVisible = false"
|
||||
/>
|
||||
<el-dialog v-if="doneDialogVisible" :visible.sync="doneDialogVisible" :title="doneTitle" :fullscreen="true"
|
||||
append-to-body custom-class="base-dialog-wrapper">
|
||||
<DoneList :trial-id="currentId" @getList="getList" @closeDialog="doneDialogVisible = false" />
|
||||
</el-dialog>
|
||||
</BaseContainer>
|
||||
</template>
|
||||
|
@ -954,7 +573,10 @@ export default {
|
|||
!(
|
||||
this.hasPermi(['role:qa']) ||
|
||||
this.hasPermi(['role:ea']) ||
|
||||
this.hasPermi(['role:pm'])
|
||||
this.hasPermi(['role:pm']) ||
|
||||
hasPermi(['role:op']) ||
|
||||
hasPermi(['role:dev']) ||
|
||||
hasPermi(['role:admin'])
|
||||
)
|
||||
) {
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue