Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-10-30 10:43:41 +08:00
commit a19d756879
6 changed files with 381 additions and 83 deletions

View File

@ -230,3 +230,12 @@ export function getCommonJudgeRatioList_Export(data) {
data data
}) })
} }
// 导出国际化列表
export function GetInternationalizationList_Export(data) {
return requestDownload({
url: `/ExcelExport/GetInternationalizationList_Export`,
responseType: 'blob',
method: 'post',
data
})
}

View File

@ -138,13 +138,11 @@ export function addOrUpdateResearchPublication(param) {
}) })
} }
export function getTrialExperience(doctorId) { export function getTrialExperience(data) {
return request({ return request({
url: `/trialExperience/getTrialExperience`, url: `/trialExperience/getTrialExperience`,
method: 'post', method: 'post',
data: { data
DoctorId: doctorId
}
}) })
} }

View File

@ -72,7 +72,16 @@
prop="EvaluationContent" prop="EvaluationContent"
:label="$t('system:TrialExperience:Indication')" :label="$t('system:TrialExperience:Indication')"
min-width="70" min-width="70"
/> >
<template slot-scope="scope">
<span v-if="scope.row.EvaluationContent">
{{ scope.row.EvaluationContent }}
</span>
<span v-else>
{{ $fd('Indication', scope.row.IndicationEnum) }}
</span>
</template>
</el-table-column>
<el-table-column <el-table-column
:label="$t('system:TrialExperience:Operation')" :label="$t('system:TrialExperience:Operation')"
min-width="200" min-width="200"
@ -84,15 +93,16 @@
:disabled="$route.query.ReviewStatus === '1'" :disabled="$route.query.ReviewStatus === '1'"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
{{ $t('common:button:edit') }}</el-button {{ $t('common:button:edit') }}
> </el-button>
<el-button <el-button
type="text" type="text"
size="small" size="small"
:disabled="$route.query.ReviewStatus === '1'" :disabled="$route.query.ReviewStatus === '1'"
@click="handleDel(scope.row)" @click="handleDel(scope.row)"
>{{ $t('common:button:delete') }}</el-button
> >
{{ $t('common:button:delete') }}
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -189,9 +199,9 @@
v-model="clinicalTrialForm.EvaluationCriteriaIdList" v-model="clinicalTrialForm.EvaluationCriteriaIdList"
multiple multiple
> >
<!-- <el-option v-for="(key,value) of dictionaryList.ReadingStandard" :key="value" :label="key" :value="value" /> --> <!-- <el-option v-for="(key,value) of dictionaryList.CriterionType" :key="value" :label="key" :value="value" /> -->
<el-option <el-option
v-for="item in ReadingStandard" v-for="item in CriterionType"
:key="item.Id" :key="item.Id"
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
@ -241,11 +251,44 @@
:min="0" :min="0"
/> />
</el-form-item> </el-form-item>
<!-- 适应症类型 IndicationType -->
<el-form-item
:label="$t('system:TrialExperience:indicationType')"
prop="IndicationTypeId"
>
<el-select
v-model="clinicalTrialForm.IndicationTypeId"
@change="handleIndicationTypeChange"
>
<el-option
v-for="item of $d.IndicationType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item <el-form-item
:label="$t('system:TrialExperience:Indication')" :label="$t('system:TrialExperience:Indication')"
prop="EvaluationContent" prop="IndicationEnum"
> >
<el-input v-model="clinicalTrialForm.EvaluationContent" /> <el-select
v-model="clinicalTrialForm.IndicationEnum"
:disabled="!clinicalTrialForm.IndicationTypeId"
>
<el-option
v-for="item of IndicationOptions"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item prop="EvaluationContent" v-if="IndicationEnum_isOther">
<el-input
v-model="clinicalTrialForm.EvaluationContent"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -281,6 +324,8 @@ const getClinicalTrialDefault = () => {
EndTime: null, EndTime: null,
OtherStages: '', OtherStages: '',
OtherCriterion: '', OtherCriterion: '',
IndicationEnum: null,
IndicationTypeId: null,
} }
} }
export default { export default {
@ -320,6 +365,9 @@ export default {
{ required: true, message: 'Please specify', trigger: 'blur' }, { required: true, message: 'Please specify', trigger: 'blur' },
{ max: 300, message: 'The maximum length is 300' }, { max: 300, message: 'The maximum length is 300' },
], ],
IndicationEnum: [
{ required: true, message: 'Please select', trigger: 'blur' },
],
StartTime: [ StartTime: [
{ required: true, message: 'Please specify', trigger: 'blur' }, { required: true, message: 'Please specify', trigger: 'blur' },
], ],
@ -351,6 +399,24 @@ export default {
} }
}, },
computed: { computed: {
IndicationOptions() {
if (!this.clinicalTrialForm.IndicationTypeId) return []
let indicationGrouping = this.$d.IndicationType.filter(
(item) => item.id === this.clinicalTrialForm.IndicationTypeId
)[0].raw.ChildGroup
let arr =
this.$d.Indication.filter(
(item) => indicationGrouping === item.raw.ChildGroup
) || []
return arr
},
IndicationEnum_isOther() {
if (!this.clinicalTrialForm.IndicationEnum) return false
let value = this.$d.Indication.find(
(item) => item.value === this.clinicalTrialForm.IndicationEnum
).label
return value === '其它' || value === 'Other'
},
Trial_Phase_isOther() { Trial_Phase_isOther() {
if (!this.clinicalTrialForm.PhaseId) return false if (!this.clinicalTrialForm.PhaseId) return false
let value = this.dictionaryList.Trial_Phase.find( let value = this.dictionaryList.Trial_Phase.find(
@ -368,10 +434,10 @@ export default {
this.otherId this.otherId
) )
}, },
ReadingStandard() { CriterionType() {
if (!this.dictionaryList.ReadingStandard) return [] if (!this.dictionaryList.CriterionType) return []
return [ return [
...this.dictionaryList.ReadingStandard, ...this.dictionaryList.CriterionType,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: 'Other',
@ -396,6 +462,11 @@ export default {
this.clinicalTrialForm.OtherCriterion = null this.clinicalTrialForm.OtherCriterion = null
} }
}, },
IndicationEnum_isOther() {
if (!this.IndicationEnum_isOther) {
this.clinicalTrialForm.EvaluationContent = null
}
},
}, },
created() { created() {
this.initForm() this.initForm()
@ -406,7 +477,13 @@ export default {
const id = this.$route.query.Id || this.reviewerId const id = this.$route.query.Id || this.reviewerId
if (id) { if (id) {
this.loading = true this.loading = true
getTrialExperience(id) let data = {
DoctorId: id,
}
if (this.$route.query.trialId) {
data.TrialId = this.$route.query.trialId
}
getTrialExperience(data)
.then((res) => { .then((res) => {
this.clinicalTrialList = res.Result.ClinicalTrialExperienceList this.clinicalTrialList = res.Result.ClinicalTrialExperienceList
this.GCP = res.Result.GCP this.GCP = res.Result.GCP
@ -422,7 +499,7 @@ export default {
} }
}, },
getDicData() { getDicData() {
getBasicDataSelects(['Trial_Phase', 'ReadingStandard']).then((res) => { getBasicDataSelects(['Trial_Phase', 'CriterionType']).then((res) => {
this.dictionaryList = { ...res.Result } this.dictionaryList = { ...res.Result }
}) })
}, },
@ -443,6 +520,8 @@ export default {
VisitReadingCount, VisitReadingCount,
OtherStages, OtherStages,
OtherCriterion, OtherCriterion,
IndicationEnum,
IndicationTypeId,
} = row } = row
this.clinicalTrialForm = Object.assign({}, getClinicalTrialDefault()) this.clinicalTrialForm = Object.assign({}, getClinicalTrialDefault())
this.clinicalTrialDialogTitle = 'Edit' this.clinicalTrialDialogTitle = 'Edit'
@ -456,6 +535,8 @@ export default {
this.clinicalTrialForm.EvaluationContent = EvaluationContent this.clinicalTrialForm.EvaluationContent = EvaluationContent
this.clinicalTrialForm.OtherStages = OtherStages this.clinicalTrialForm.OtherStages = OtherStages
this.clinicalTrialForm.OtherCriterion = OtherCriterion this.clinicalTrialForm.OtherCriterion = OtherCriterion
this.clinicalTrialForm.IndicationEnum = IndicationEnum
this.clinicalTrialForm.IndicationTypeId = IndicationTypeId
}, },
handleSave() { handleSave() {
this.$refs.clinicalTrialForm.validate((valid) => { this.$refs.clinicalTrialForm.validate((valid) => {
@ -478,6 +559,9 @@ export default {
'YYYY' 'YYYY'
) + '-01' ) + '-01'
} }
if (this.$route.query.trialId) {
this.clinicalTrialForm.TrialId = this.$route.query.trialId
}
addOrUpdateTrialExperience(this.clinicalTrialForm) addOrUpdateTrialExperience(this.clinicalTrialForm)
.then((res) => { .then((res) => {
this.isDisabled = false this.isDisabled = false
@ -536,6 +620,10 @@ export default {
} }
}) })
}, },
handleIndicationTypeChange(val) {
this.clinicalTrialForm.EvaluationContent = null
this.clinicalTrialForm.IndicationEnum = null
},
}, },
} }
</script> </script>

View File

@ -48,6 +48,14 @@
prop="EvaluationContent" prop="EvaluationContent"
:label="$t('curriculumVitae:clinicalTrials:table:indication')" :label="$t('curriculumVitae:clinicalTrials:table:indication')"
> >
<template slot-scope="scope">
<span v-if="scope.row.EvaluationContent">
{{ scope.row.EvaluationContent }}
</span>
<span v-else>
{{ $fd('Indication', scope.row.IndicationEnum) }}
</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="VisitReadingCount" prop="VisitReadingCount"
@ -67,7 +75,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="date" :label="$t('common:action:action')"> <el-table-column prop="date" :label="$t('common:action:action')">
<template slot-scope="scope"> <template
slot-scope="scope"
v-if="
scope.row.ExperienceDataType != 2 &&
scope.row.ExperienceDataType != 3
"
>
<el-button <el-button
type="text" type="text"
class="editBtn" class="editBtn"
@ -158,7 +172,7 @@
v-loading="loading" v-loading="loading"
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="80px" label-width="120px"
size="small" size="small"
> >
<el-form-item <el-form-item
@ -194,7 +208,7 @@
placeholder="" placeholder=""
> >
<el-option <el-option
v-for="item in ReadingStandard" v-for="item in CriterionType"
:key="item.Id" :key="item.Id"
:label="item.Value" :label="item.Value"
:value="item.Id" :value="item.Id"
@ -239,20 +253,42 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<!-- 适应症类型 IndicationType -->
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:indicationType')"
prop="IndicationTypeId"
>
<el-select
v-model="form.IndicationTypeId"
@change="handleIndicationTypeChange"
>
<el-option
v-for="item of $d.IndicationType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item <el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:indication')" :label="$t('curriculumVitae:clinicalTrials:form:indication')"
prop="EvaluationContent" prop="IndicationEnum"
> >
<!-- <el-input v-model="form.EvaluationContent" clearable></el-input> --> <el-select
<el-select v-model="form.EvaluationContent"> v-model="form.IndicationEnum"
:disabled="!form.IndicationTypeId"
>
<el-option <el-option
v-for="item of $d.Indication" v-for="item of IndicationOptions"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="EvaluationContent" v-if="IndicationEnum_isOther">
<el-input v-model="form.EvaluationContent" clearable></el-input>
</el-form-item>
</el-form> </el-form>
</template> </template>
<template slot="dialog-footer"> <template slot="dialog-footer">
@ -436,7 +472,6 @@
import BaseModel from '@/components/BaseModel' import BaseModel from '@/components/BaseModel'
import { getBasicDataSelects } from '@/api/dictionary/dictionary' import { getBasicDataSelects } from '@/api/dictionary/dictionary'
import { import {
getTrialExperience,
addOrUpdateTrialExperience, addOrUpdateTrialExperience,
deleteTrialExperience, deleteTrialExperience,
updateOtherExperience, updateOtherExperience,
@ -457,6 +492,8 @@ const defaultForm = () => {
EndTime: null, EndTime: null,
OtherStages: '', OtherStages: '',
OtherCriterion: '', OtherCriterion: '',
IndicationEnum: null,
IndicationTypeId: null,
} }
} }
const defaultCertificateForm = () => { const defaultCertificateForm = () => {
@ -528,6 +565,9 @@ export default {
{ required: true, message: 'Please specify', trigger: 'blur' }, { required: true, message: 'Please specify', trigger: 'blur' },
{ max: 300, message: 'The maximum length is 300' }, { max: 300, message: 'The maximum length is 300' },
], ],
IndicationEnum: [
{ required: true, message: 'Please select', trigger: 'blur' },
],
StartTime: [ StartTime: [
{ required: true, message: 'Please specify', trigger: 'blur' }, { required: true, message: 'Please specify', trigger: 'blur' },
], ],
@ -600,8 +640,24 @@ export default {
this.form.OtherCriterion = null this.form.OtherCriterion = null
} }
}, },
IndicationEnum_isOther() {
if (!this.IndicationEnum_isOther) {
this.form.EvaluationContent = null
}
},
}, },
computed: { computed: {
IndicationOptions() {
if (!this.form.IndicationTypeId) return []
let indicationGrouping = this.$d.IndicationType.filter(
(item) => item.id === this.form.IndicationTypeId
)[0].raw.ChildGroup
let arr =
this.$d.Indication.filter(
(item) => indicationGrouping === item.raw.ChildGroup
) || []
return arr
},
GCPData() { GCPData() {
if (!this.DATA) return [] if (!this.DATA) return []
return [ return [
@ -618,6 +674,13 @@ export default {
}, },
] ]
}, },
IndicationEnum_isOther() {
if (!this.form.IndicationEnum) return false
let value = this.$d.Indication.find(
(item) => item.value === this.form.IndicationEnum
).label
return value === '其它' || value === 'Other'
},
Trial_Phase_isOther() { Trial_Phase_isOther() {
if (!this.form.PhaseId) return false if (!this.form.PhaseId) return false
let value = this.dictionaryList.Trial_Phase.find( let value = this.dictionaryList.Trial_Phase.find(
@ -633,10 +696,10 @@ export default {
return false return false
return this.form.EvaluationCriteriaIdList.includes(this.otherId) return this.form.EvaluationCriteriaIdList.includes(this.otherId)
}, },
ReadingStandard() { CriterionType() {
if (!this.dictionaryList.ReadingStandard) return [] if (!this.dictionaryList.CriterionType) return []
return [ return [
...this.dictionaryList.ReadingStandard, ...this.dictionaryList.CriterionType,
{ {
Id: this.otherId, Id: this.otherId,
Value: 'Other', Value: 'Other',
@ -880,7 +943,7 @@ export default {
return arr return arr
}, },
getDicData() { getDicData() {
getBasicDataSelects(['Trial_Phase', 'ReadingStandard']).then((res) => { getBasicDataSelects(['Trial_Phase', 'CriterionType']).then((res) => {
this.dictionaryList = { ...res.Result } this.dictionaryList = { ...res.Result }
}) })
}, },
@ -898,6 +961,10 @@ export default {
this.certificateForm = defaultCertificateForm() this.certificateForm = defaultCertificateForm()
} }
}, },
handleIndicationTypeChange(val) {
this.form.EvaluationContent = null
this.form.IndicationEnum = null
},
}, },
} }
</script> </script>

View File

@ -87,6 +87,30 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('system:l18n:form:createTime')">
<el-date-picker
v-model="datetimerange_createTime"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
:start-placeholder="$t('system:l18n:search:beginTime')"
:end-placeholder="$t('system:l18n:search:endTime')"
value-format="yyyy-MM-dd HH:mm:ss"
@change="(val) => handleDatetimeChange(val, 'createTime')"
style="width: 250px"
/>
</el-form-item>
<el-form-item :label="$t('system:l18n:form:uploadTime')">
<el-date-picker
v-model="datetimerange_updateTime"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
:start-placeholder="$t('system:l18n:search:beginTime')"
:end-placeholder="$t('system:l18n:search:endTime')"
value-format="yyyy-MM-dd HH:mm:ss"
@change="(val) => handleDatetimeChange(val, 'updateTime')"
style="width: 250px"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
@ -96,6 +120,15 @@
> >
查询 查询
</el-button> </el-button>
<!-- 重置 -->
<el-button
size="mini"
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }}
</el-button>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@ -121,6 +154,14 @@
> >
批量更新 批量更新
</el-button> </el-button>
<el-button
size="mini"
type="primary"
icon="el-icon-download"
@click="exportTable"
>
{{ $t('common:button:export') }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
@ -296,6 +337,7 @@ import {
getPublishVersionSelect, getPublishVersionSelect,
batchUpdateInternationalInfo, batchUpdateInternationalInfo,
} from '@/api/admin' } from '@/api/admin'
import { GetInternationalizationList_Export } from '@/api/export'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import I18nForm from './components/I18nForm.vue' import I18nForm from './components/I18nForm.vue'
import BatchAddForm from './components/BatchAddForm.vue' import BatchAddForm from './components/BatchAddForm.vue'
@ -313,6 +355,10 @@ const searchDataDefault = () => {
SortField: '', SortField: '',
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,
BeginCreateTime: null,
EndCreatTime: null,
BeginUpdateTime: null,
EndUpdateTime: null,
} }
} }
export default { export default {
@ -327,6 +373,8 @@ export default {
loading: false, loading: false,
PublishVersionList: [], PublishVersionList: [],
selectTableList: [], selectTableList: [],
datetimerange_createTime: [],
datetimerange_updateTime: [],
} }
}, },
mounted() { mounted() {
@ -420,6 +468,8 @@ export default {
// //
handleReset() { handleReset() {
this.searchData = searchDataDefault() this.searchData = searchDataDefault()
this.datetimerange_createTime = []
this.datetimerange_updateTime = []
this.getList() this.getList()
}, },
// //
@ -459,6 +509,30 @@ export default {
handleSelectionChange(val) { handleSelectionChange(val) {
this.selectTableList = val this.selectTableList = val
}, },
handleDatetimeChange(val, key) {
if (val) {
if (key === 'createTime') {
this.searchData.BeginCreateTime = val[0]
this.searchData.EndCreatTime = val[1]
}
if (key === 'updateTime') {
this.searchData.BeginUpdateTime = val[0]
this.searchData.EndUpdateTime = val[1]
}
} else {
if (key === 'createTime') {
this.searchData.BeginCreateTime = ''
this.searchData.EndCreatTime = ''
}
if (key === 'updateTime') {
this.searchData.BeginUpdateTime = ''
this.searchData.EndUpdateTime = ''
}
}
},
exportTable() {
return GetInternationalizationList_Export(this.searchData)
},
}, },
} }
</script> </script>

View File

@ -3,16 +3,14 @@
<box-content v-loading="loading"> <box-content v-loading="loading">
<!-- 搜索框 --> <!-- 搜索框 -->
<div class="search"> <div class="search">
<el-form <el-form :inline="true" size="mini" class="base-search-form">
:inline="true"
size="mini"
class="base-search-form"
>
<!-- 审核问题 --> <!-- 审核问题 -->
<el-form-item :label="$t('trials:emailManageCfg:title:businessScenario')"> <el-form-item
:label="$t('trials:emailManageCfg:title:businessScenario')"
>
<el-select <el-select
v-model="searchData.BusinessScenarioEnum" v-model="searchData.BusinessScenarioEnum"
style="width:150px;" style="width: 150px"
> >
<el-option <el-option
v-for="item of $d.Email_BusinessScenario" v-for="item of $d.Email_BusinessScenario"
@ -20,11 +18,34 @@
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:criterionName')"> <el-form-item
<el-select v-model="searchData.CriterionTypeEnum" clearable style="width:120px;"> style="margin-bottom: 10px"
:label="$t('trials:emailManageCfg:table:BusinessModuleEnum')"
>
<el-select
v-model="searchData.BusinessModuleEnum"
clearable
style="width: 120px"
>
<el-option
v-for="item of $d.BusinessModule"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
style="margin-bottom: 10px"
:label="$t('trials:reviewTrack:table:criterionName')"
>
<el-select
v-model="searchData.CriterionTypeEnum"
clearable
style="width: 120px"
>
<el-option <el-option
v-for="item of $d.CriterionType" v-for="item of $d.CriterionType"
:key="item.id" :key="item.id"
@ -34,21 +55,19 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" @click="handleSearch">{{
type="primary" $t('common:button:search')
@click="handleSearch" }}</el-button>
>{{ $t('common:button:search') }}</el-button> <el-button type="primary" @click="handleReset">{{
<el-button $t('common:button:reset')
type="primary" }}</el-button>
@click="handleReset"
>{{ $t('common:button:reset') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left:auto"> <span style="margin-left: auto">
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
:disabled="selectArr.length<=0" :disabled="selectArr.length <= 0"
@click="handleSubmit" @click="handleSubmit"
> >
{{ $t('common:button:submit') }} {{ $t('common:button:submit') }}
@ -113,7 +132,7 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('BusinessModule',scope.row.BusinessModuleEnum) }} {{ $fd('BusinessModule', scope.row.BusinessModuleEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -124,7 +143,7 @@
width="130" width="130"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('Email_BusinessScenario',scope.row.BusinessScenarioEnum) }} {{ $fd('Email_BusinessScenario', scope.row.BusinessScenarioEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 收件人 --> <!-- 收件人 -->
@ -135,7 +154,13 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.ToUserTypeList.length > 0?scope.row.ToUserTypeList.map(v => $fd('UserType', v)).join('、'):'' }} {{
scope.row.ToUserTypeList.length > 0
? scope.row.ToUserTypeList.map((v) => $fd('UserType', v)).join(
'、'
)
: ''
}}
</template> </template>
</el-table-column> </el-table-column>
<!-- 抄送人 --> <!-- 抄送人 -->
@ -146,7 +171,13 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.CopyUserTypeList.length > 0?scope.row.CopyUserTypeList.map(v => $fd('UserType', v)).join('、'):'' }} {{
scope.row.CopyUserTypeList.length > 0
? scope.row.CopyUserTypeList.map((v) => $fd('UserType', v)).join(
'、'
)
: ''
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -156,7 +187,7 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('EmailUrgent',scope.row.EmailUrgentEnum) }} {{ $fd('EmailUrgent', scope.row.EmailUrgentEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -175,7 +206,11 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.AttachCNPath" type="text" @click="handlePreview(scope.row.AttachCNPath)"> <el-button
v-if="scope.row.AttachCNPath"
type="text"
@click="handlePreview(scope.row.AttachCNPath)"
>
{{ scope.row.AttachNameCN }} {{ scope.row.AttachNameCN }}
</el-button> </el-button>
</template> </template>
@ -189,7 +224,11 @@
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.AttachPath" type="text" @click="handlePreview(scope.row.AttachPath)"> <el-button
v-if="scope.row.AttachPath"
type="text"
@click="handlePreview(scope.row.AttachPath)"
>
{{ scope.row.AttachName }} {{ scope.row.AttachName }}
</el-button> </el-button>
</template> </template>
@ -206,7 +245,9 @@
<el-tag v-if="scope.row.IsReturnRequired" type="danger"> <el-tag v-if="scope.row.IsReturnRequired" type="danger">
{{ $fd('YesOrNo', scope.row.IsReturnRequired) }} {{ $fd('YesOrNo', scope.row.IsReturnRequired) }}
</el-tag> </el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsReturnRequired) }}</el-tag> <el-tag v-else type="primary">{{
$fd('YesOrNo', scope.row.IsReturnRequired)
}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否自动发送 --> <!-- 是否自动发送 -->
@ -221,7 +262,9 @@
<el-tag v-if="scope.row.IsAutoSend" type="danger"> <el-tag v-if="scope.row.IsAutoSend" type="danger">
{{ $fd('YesOrNo', scope.row.IsAutoSend) }} {{ $fd('YesOrNo', scope.row.IsAutoSend) }}
</el-tag> </el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsAutoSend) }}</el-tag> <el-tag v-else type="primary">{{
$fd('YesOrNo', scope.row.IsAutoSend)
}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -235,7 +278,9 @@
<el-tag v-if="scope.row.IsEnable" type="danger"> <el-tag v-if="scope.row.IsEnable" type="danger">
{{ $fd('YesOrNo', scope.row.IsEnable) }} {{ $fd('YesOrNo', scope.row.IsEnable) }}
</el-tag> </el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsEnable) }}</el-tag> <el-tag v-else type="primary">{{
$fd('YesOrNo', scope.row.IsEnable)
}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 更新时间 --> <!-- 更新时间 -->
@ -255,11 +300,20 @@
width="160" width="160"
/> />
</el-table> </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"
/>
</box-content> </box-content>
</template> </template>
<script> <script>
import { getSysEmailNoticeConfigList, batchAddSysEmailConfig } from '@/api/dictionary' import {
getSysEmailNoticeConfigList,
batchAddSysEmailConfig,
} from '@/api/dictionary'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
// import { addTrialDataFromSystem } from '@/api/trials' // import { addTrialDataFromSystem } from '@/api/trials'
import BoxContent from '@/components/BoxContent' import BoxContent from '@/components/BoxContent'
@ -268,7 +322,7 @@ const searchDataDefault = () => {
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,
BusinessScenarioEnum: null, BusinessScenarioEnum: null,
CriterionTypeEnum: null CriterionTypeEnum: null,
} }
} }
export default { export default {
@ -279,20 +333,20 @@ export default {
type: String, type: String,
default() { default() {
return '' return ''
} },
}, },
currentCriterionType: { currentCriterionType: {
type: Number, type: Number,
default() { default() {
return 0 return 0
} },
}, },
isDistinguishCriteria: { isDistinguishCriteria: {
type: Boolean, type: Boolean,
default() { default() {
return false return false
} },
} },
}, },
data() { data() {
return { return {
@ -301,7 +355,7 @@ export default {
list: [], list: [],
loading: false, loading: false,
selectArr: [], selectArr: [],
total: 0 total: 0,
} }
}, },
mounted() { mounted() {
@ -314,11 +368,15 @@ export default {
this.searchData.TrialId = this.trialId this.searchData.TrialId = this.trialId
this.searchData.CurrentCriterionType = this.CurrentCriterionType this.searchData.CurrentCriterionType = this.CurrentCriterionType
this.searchData.IsDistinguishCriteria = this.isDistinguishCriteria this.searchData.IsDistinguishCriteria = this.isDistinguishCriteria
getSysEmailNoticeConfigList(this.searchData).then(res => { getSysEmailNoticeConfigList(this.searchData)
this.loading = false .then((res) => {
this.list = res.Result.CurrentPageData this.loading = false
this.total = res.Result.TotalCount this.list = res.Result.CurrentPageData
}).catch(() => { this.loading = false }) this.total = res.Result.TotalCount
})
.catch(() => {
this.loading = false
})
}, },
handleSelectChange(val) { handleSelectChange(val) {
// console.log(val) // console.log(val)
@ -331,18 +389,22 @@ export default {
}, },
handleSubmit() { handleSubmit() {
this.loading = true this.loading = true
this.selectArr.map(v => { this.selectArr.map((v) => {
v.TrialId = this.trialId v.TrialId = this.trialId
return v return v
}) })
batchAddSysEmailConfig(this.selectArr).then(res => { batchAddSysEmailConfig(this.selectArr)
this.loading = false .then((res) => {
if (res.IsSuccess) { this.loading = false
this.$message.success(this.$t('common:message:savedSuccessfully')) if (res.IsSuccess) {
this.$emit('getList') this.$message.success(this.$t('common:message:savedSuccessfully'))
this.$emit('close') this.$emit('getList')
} this.$emit('close')
}).catch(() => { this.loading = false }) }
})
.catch(() => {
this.loading = false
})
}, },
// //
handleSearch() { handleSearch() {
@ -360,7 +422,7 @@ export default {
handleReset() { handleReset() {
this.searchData = searchDataDefault() this.searchData = searchDataDefault()
this.getList() this.getList()
} },
} },
} }
</script> </script>