diff --git a/src/api/dictionary.js b/src/api/dictionary.js index 99be1f16..f17918bd 100644 --- a/src/api/dictionary.js +++ b/src/api/dictionary.js @@ -1061,4 +1061,12 @@ export function getSystemCalculateTableQuestions(params) { method: 'post', data: params }) +} +// 添加pd/入组默认邮件 +export function batchAddEnrollOrPdEmailConfig(params) { + return request({ + url: `/TrialEmailNoticeConfig/batchAddEnrollOrPdEmailConfig`, + method: 'post', + data: params + }) } \ No newline at end of file diff --git a/src/views/trials/trials-panel/setting/email-manage/components/DefaultQS.vue b/src/views/trials/trials-panel/setting/email-manage/components/DefaultQS.vue index bc4ce091..d2bafe59 100644 --- a/src/views/trials/trials-panel/setting/email-manage/components/DefaultQS.vue +++ b/src/views/trials/trials-panel/setting/email-manage/components/DefaultQS.vue @@ -93,7 +93,7 @@ type="primary" @click="handleAdd" class="el-icon-plus" - v-if="!isDistinguishCriteria" + v-if="!isDistinguishCriteria && isShow" >{{ $t('trials:reviewTrack:button:addDefault') }} @@ -353,6 +353,7 @@ import { getSysEmailNoticeConfigList, batchAddSysEmailConfig, + batchAddEnrollOrPdEmailConfig, } from '@/api/dictionary' import Pagination from '@/components/Pagination' // import { addTrialDataFromSystem } from '@/api/trials' @@ -389,6 +390,12 @@ export default { return false }, }, + isShow: { + type: Boolean, + default() { + return false + }, + }, }, data() { return { @@ -427,7 +434,21 @@ export default { } return '' }, - handleAdd() {}, + async handleAdd() { + try { + let data = { + TrialId: this.$route.query.trialId, + } + let res = await batchAddEnrollOrPdEmailConfig(data) + if (res.IsSuccess) { + this.$message.success(this.$t('common:message:addedSuccessfully')) + this.getList() + this.$emit('getList') + } + } catch (err) { + console.log(err) + } + }, handleSelectChange(val) { // console.log(val) // const arr = [] diff --git a/src/views/trials/trials-panel/setting/email-manage/components/EmailList.vue b/src/views/trials/trials-panel/setting/email-manage/components/EmailList.vue index 623b2611..79b78872 100644 --- a/src/views/trials/trials-panel/setting/email-manage/components/EmailList.vue +++ b/src/views/trials/trials-panel/setting/email-manage/components/EmailList.vue @@ -40,11 +40,7 @@ :label="$t('trials:emailManageCfg:title:toUserTypeList')" prop="ToUserTypeList" > - + - + @@ -419,6 +412,7 @@ export default { trialCriterionList: [], criterionType: null, addVisible: false, + isBtnShow: false, } }, watch: { @@ -476,6 +470,11 @@ export default { item.CopyUserTypeList ) }) + if (res.OtherInfo) { + this.isBtnShow = + res.OtherInfo.IsEnrollementQualificationConfirm || + res.OtherInfo.IsPDProgressView + } this.list = res.Result }) .catch(() => {