项目邮件阅片标准修改
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-06-20 15:27:39 +08:00
parent 2a1dc4d2dd
commit 06167d4ff5
3 changed files with 185 additions and 645 deletions

View File

@ -5,81 +5,34 @@
<div class="search">
<el-form :inline="true" size="mini" class="base-search-form">
<!-- 审核问题 -->
<el-form-item
:label="$t('trials:emailManageCfg:title:businessScenario')"
>
<el-select
v-model="searchData.BusinessScenarioEnum"
style="width: 150px"
>
<el-option
v-for="item of $d.Email_BusinessScenario"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:title:businessScenario')">
<el-select v-model="searchData.BusinessScenarioEnum" style="width: 150px">
<el-option v-for="item of $d.Email_BusinessScenario" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item
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-form-item 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
v-if="isDistinguishCriteria"
style="margin-bottom: 10px"
:label="$t('trials:reviewTrack:table:criterionName')"
>
<el-select
v-model="searchData.CriterionTypeEnum"
clearable
style="width: 120px"
>
<el-option
v-for="item of $d.CriterionType"
:key="item.id"
:label="item.label"
:value="item.value"
/>
<el-form-item v-if="isDistinguishCriteria" style="margin-bottom: 10px"
:label="$t('trials:reviewTrack:table:criterionName')">
<el-select v-model="searchData.CriterionTypeEnum" clearable style="width: 120px">
<el-option v-for="item of $d.CriterionType" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item
:label="$t('trials:emailManageCfg:title:toUserTypeList')"
prop="ToUserTypeList"
>
<el-form-item :label="$t('trials:emailManageCfg:title:toUserTypeList')" prop="ToUserTypeList">
<el-select v-model="searchData.ToUserType" clearable class="mr">
<el-option
v-for="item of UserTypeList"
:key="`ToUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item of UserTypeList" :key="`ToUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item
:label="$t('trials:emailManageCfg:table:EmailUrgentEnum')"
prop="EmailUrgentEnum"
v-if="!isDistinguishCriteria"
>
<el-form-item :label="$t('trials:emailManageCfg:table:EmailUrgentEnum')" prop="EmailUrgentEnum"
v-if="!isDistinguishCriteria">
<el-select v-model="searchData.EmailUrgentEnum" clearable class="mr">
<el-option
v-for="item of $d.EmailUrgent"
:key="`ToUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item of $d.EmailUrgent" :key="`ToUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
@ -89,40 +42,19 @@
<el-button type="primary" @click="handleReset">{{
$t('common:button:reset')
}}</el-button>
<el-button
type="primary"
@click="handleAdd"
class="el-icon-plus"
v-if="!isDistinguishCriteria && isShow"
>{{ $t('trials:reviewTrack:button:addDefault') }}</el-button
>
<el-button type="primary" @click="handleAdd" class="el-icon-plus" v-if="!isDistinguishCriteria && isShow">{{
$t('trials:reviewTrack:button:addDefault') }}</el-button>
</el-form-item>
</el-form>
<span style="margin-left: auto">
<el-button
type="primary"
size="mini"
:disabled="selectArr.length <= 0"
@click="handleSubmit"
>
<el-button type="primary" size="mini" :disabled="selectArr.length <= 0" @click="handleSubmit">
{{ $t('common:button:submit') }}
</el-button>
</span>
</div>
<el-table
:data="list"
stripe
size="small"
height="400"
@selection-change="handleSelectChange"
>
<el-table-column
type="selection"
align="left"
:selectable="selectable"
width="45"
/>
<el-table :data="list" stripe size="small" height="400" @selection-change="handleSelectChange">
<el-table-column type="selection" align="left" :selectable="selectable" width="45" />
<el-table-column type="index" width="40" />
<!-- Code -->
<!-- <el-table-column
@ -132,155 +64,89 @@
show-overflow-tooltip
width="100"
/> -->
<el-table-column
v-if="isDistinguishCriteria"
prop="TrialReadingCriterionId"
:label="$t('trials:reviewTrack:table:criterionName')"
show-overflow-tooltip
sortable="custom"
width="120"
>
<el-table-column v-if="isDistinguishCriteria" prop="CriterionTypeList"
:label="$t('trials:reviewTrack:table:criterionName')" show-overflow-tooltip sortable="custom" width="120">
<template slot-scope="scope">
{{ $fd('CriterionType', scope.row.CriterionTypeEnum) }}
{{scope.row.CriterionTypeList && scope.row.CriterionTypeList.length > 0 ?
scope.row.CriterionTypeList.map(item => { return $fd('CriterionType', item) }
).join(', ') : ''}}
</template>
</el-table-column>
<el-table-column
v-if="$i18n.locale === 'zh'"
prop="EmailTopicCN"
:label="$t('trials:emailManageCfg:table:EmailTopicCN')"
sortable="custom"
show-overflow-tooltip
width="160"
/>
<el-table-column
v-else
prop="EmailTopic"
:label="$t('trials:emailManageCfg:table:EmailTopic')"
sortable="custom"
show-overflow-tooltip
width="160"
/>
<el-table-column
prop="BusinessModuleEnum"
:label="$t('trials:emailManageCfg:table:BusinessModuleEnum')"
sortable="custom"
show-overflow-tooltip
width="100"
>
<el-table-column v-if="$i18n.locale === 'zh'" prop="EmailTopicCN"
:label="$t('trials:emailManageCfg:table:EmailTopicCN')" sortable="custom" show-overflow-tooltip width="160" />
<el-table-column v-else prop="EmailTopic" :label="$t('trials:emailManageCfg:table:EmailTopic')" sortable="custom"
show-overflow-tooltip width="160" />
<el-table-column prop="BusinessModuleEnum" :label="$t('trials:emailManageCfg:table:BusinessModuleEnum')"
sortable="custom" show-overflow-tooltip width="100">
<template slot-scope="scope">
{{ $fd('BusinessModule', scope.row.BusinessModuleEnum) }}
</template>
</el-table-column>
<el-table-column
prop="BusinessScenarioEnum"
:label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
sortable="custom"
show-overflow-tooltip
width="130"
>
<el-table-column prop="BusinessScenarioEnum" :label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
sortable="custom" show-overflow-tooltip width="130">
<template slot-scope="scope">
{{ $fd('Email_BusinessScenario', scope.row.BusinessScenarioEnum) }}
</template>
</el-table-column>
<!-- 收件人 -->
<el-table-column
prop="ToUserTypeList"
:label="$t('trials:emailManageCfg:title:toUserTypeList')"
show-overflow-tooltip
width="100"
>
<el-table-column prop="ToUserTypeList" :label="$t('trials:emailManageCfg:title:toUserTypeList')"
show-overflow-tooltip width="100">
<template slot-scope="scope">
{{
scope.row.ToUserTypeList.length > 0
? scope.row.ToUserTypeList.map((v) => $fd('UserType', v)).join(
'、'
)
'、'
)
: ''
}}
</template>
</el-table-column>
<!-- 抄送人 -->
<el-table-column
prop="CopyUserTypeList"
:label="$t('trials:emailManageCfg:title:copyUserTypeList')"
show-overflow-tooltip
width="100"
>
<el-table-column prop="CopyUserTypeList" :label="$t('trials:emailManageCfg:title:copyUserTypeList')"
show-overflow-tooltip width="100">
<template slot-scope="scope">
{{
scope.row.CopyUserTypeList.length > 0
? scope.row.CopyUserTypeList.map((v) => $fd('UserType', v)).join(
'、'
)
'、'
)
: ''
}}
</template>
</el-table-column>
<el-table-column
:label="$t('trials:emailManageCfg:table:EmailUrgentEnum')"
sortable="custom"
show-overflow-tooltip
width="100"
>
<el-table-column :label="$t('trials:emailManageCfg:table:EmailUrgentEnum')" sortable="custom"
show-overflow-tooltip width="100">
<template slot-scope="scope">
{{ $fd('EmailUrgent', scope.row.EmailUrgentEnum) }}
</template>
</el-table-column>
<el-table-column
prop="EmailCron"
:label="$t('trials:emailManageCfg:table:EmailCron')"
sortable="custom"
show-overflow-tooltip
width="160"
>
<el-table-column prop="EmailCron" :label="$t('trials:emailManageCfg:table:EmailCron')" sortable="custom"
show-overflow-tooltip width="160">
<template slot-scope="scope">
<span>{{ getEmailCron(scope.row.EmailCron) }}</span>
</template>
</el-table-column>
<!-- 附件 -->
<el-table-column
v-if="$i18n.locale === 'zh'"
prop="AttachNameCN"
:label="$t('trials:emailManageCfg:title:fileName')"
show-overflow-tooltip
width="100"
>
<el-table-column v-if="$i18n.locale === 'zh'" prop="AttachNameCN"
:label="$t('trials:emailManageCfg:title:fileName')" show-overflow-tooltip width="100">
<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 }}
</el-button>
</template>
</el-table-column>
<!-- 附件 -->
<el-table-column
v-else
prop="AttachName"
:label="$t('trials:emailManageCfg:title:fileName')"
show-overflow-tooltip
width="100"
>
<el-table-column v-else prop="AttachName" :label="$t('trials:emailManageCfg:title:fileName')"
show-overflow-tooltip width="100">
<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 }}
</el-button>
</template>
</el-table-column>
<!-- 是否需要回执 -->
<el-table-column
prop="IsReturnRequired"
:label="$t('trials:emailManageCfg:title:isReturnRequired')"
show-overflow-tooltip
sortable="custom"
width="140"
>
<el-table-column prop="IsReturnRequired" :label="$t('trials:emailManageCfg:title:isReturnRequired')"
show-overflow-tooltip sortable="custom" width="140">
<template slot-scope="scope">
<el-tag v-if="scope.row.IsReturnRequired" type="danger">
{{ $fd('YesOrNo', scope.row.IsReturnRequired) }}
@ -291,13 +157,8 @@
</template>
</el-table-column>
<!-- 是否自动发送 -->
<el-table-column
prop="IsAutoSend"
:label="$t('trials:emailManageCfg:title:isAutoSend')"
show-overflow-tooltip
sortable="custom"
width="160"
>
<el-table-column prop="IsAutoSend" :label="$t('trials:emailManageCfg:title:isAutoSend')" show-overflow-tooltip
sortable="custom" width="160">
<template slot-scope="scope">
<el-tag v-if="scope.row.IsAutoSend" type="danger">
{{ $fd('YesOrNo', scope.row.IsAutoSend) }}
@ -307,13 +168,8 @@
}}</el-tag>
</template>
</el-table-column>
<el-table-column
prop="IsEnable"
:label="$t('trials:emailManageCfg:table:IsEnable')"
show-overflow-tooltip
sortable="custom"
width="160"
>
<el-table-column prop="IsEnable" :label="$t('trials:emailManageCfg:table:IsEnable')" show-overflow-tooltip
sortable="custom" width="160">
<template slot-scope="scope">
<el-tag v-if="scope.row.IsEnable" type="danger">
{{ $fd('YesOrNo', scope.row.IsEnable) }}
@ -324,29 +180,14 @@
</template>
</el-table-column>
<!-- 更新时间 -->
<el-table-column
prop="UpdateTime"
:label="$t('trials:emailManageCfg:title:updateTime')"
show-overflow-tooltip
sortable="custom"
width="160"
/>
<el-table-column prop="UpdateTime" :label="$t('trials:emailManageCfg:title:updateTime')" show-overflow-tooltip
sortable="custom" width="160" />
<!-- 创建时间 -->
<el-table-column
prop="CreateTime"
:label="$t('trials:emailManageCfg:title:createTime')"
show-overflow-tooltip
sortable="custom"
width="160"
/>
<el-table-column prop="CreateTime" :label="$t('trials:emailManageCfg:title:createTime')" show-overflow-tooltip
sortable="custom" width="160" />
</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>
</template>
<script>

View File

@ -1,12 +1,5 @@
<template>
<el-form
ref="emailForm"
v-loading="loading"
:model="form"
label-width="180px"
size="small"
:rules="rules"
>
<el-form ref="emailForm" v-loading="loading" :model="form" label-width="180px" size="small" :rules="rules">
<el-row>
<el-col :span="24">
<el-form-item label="Code" prop="Code">
@ -14,242 +7,111 @@
</el-form-item>
</el-col>
<el-col :span="12" v-if="$i18n.locale === 'zh'">
<el-form-item
:label="$t('trials:emailManageCfg:table:EmailTopicCN')"
prop="EmailTopicCN"
>
<el-form-item :label="$t('trials:emailManageCfg:table:EmailTopicCN')" prop="EmailTopicCN">
<el-input style="width: 300px" disabled v-model="form.EmailTopicCN" />
</el-form-item>
</el-col>
<el-col :span="12" v-else>
<el-form-item
:label="$t('trials:emailManageCfg:table:EmailTopic')"
prop="EmailTopic"
>
<el-form-item :label="$t('trials:emailManageCfg:table:EmailTopic')" prop="EmailTopic">
<el-input style="width: 300px" disabled v-model="form.EmailTopic" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
:label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
prop="BusinessScenarioEnum"
>
<el-select
v-model="form.BusinessScenarioEnum"
disabled
clearable
class="mr"
>
<el-option
v-for="item of $d.Email_BusinessScenario"
:key="`BusinessScenarioEnum${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')" prop="BusinessScenarioEnum">
<el-select v-model="form.BusinessScenarioEnum" disabled clearable class="mr">
<el-option v-for="item of $d.Email_BusinessScenario" :key="`BusinessScenarioEnum${item.label}`"
:label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:ToUserTypeList')"
prop="ToUserTypeList"
>
<el-select
v-model="form.ToUserTypeList"
clearable
multiple
class="mr"
>
<el-option
v-for="item of UserTypeList"
:key="`ToUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:ToUserTypeList')" prop="ToUserTypeList">
<el-select v-model="form.ToUserTypeList" clearable multiple class="mr">
<el-option v-for="item of UserTypeList" :key="`ToUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:CopyUserTypeList')"
prop="CopyUserTypeList"
>
<el-select
v-model="form.CopyUserTypeList"
clearable
multiple
class="mr"
>
<el-option
v-for="item of UserTypeList"
:key="`CopyUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:CopyUserTypeList')" prop="CopyUserTypeList">
<el-select v-model="form.CopyUserTypeList" clearable multiple class="mr">
<el-option v-for="item of UserTypeList" :key="`CopyUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:blackUserIdList')"
prop="blackUserIdList"
>
<el-select
v-model="form.blackUserIdList"
clearable
multiple
class="mr"
>
<el-option
v-for="item of UserList"
:key="`blackUserIdList${item.UserName}`"
:label="`${item.UserName}(${item.RealName})`"
:value="item.UserId"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:blackUserIdList')" prop="blackUserIdList">
<el-select v-model="form.blackUserIdList" clearable multiple class="mr">
<el-option v-for="item of UserList" :key="`blackUserIdList${item.UserName}`"
:label="`${item.UserName}(${item.RealName})`" :value="item.UserId" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:EmailUrgentEnum')"
prop="EmailUrgentEnum"
>
<el-select
v-model="form.EmailUrgentEnum"
disabled
clearable
class="mr"
>
<el-option
v-for="item of $d.EmailUrgent"
:key="`EmailUrgent${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:EmailUrgentEnum')" prop="EmailUrgentEnum">
<el-select v-model="form.EmailUrgentEnum" disabled clearable class="mr">
<el-option v-for="item of $d.EmailUrgent" :key="`EmailUrgent${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:EmailCron')"
v-if="form.EmailUrgentEnum !== 1 && IntervalShow"
prop="EmailCron"
>
<el-input-number
v-model="Interval"
@change="handleIntervalChange"
:min="1"
:max="365"
></el-input-number>
<el-form-item :label="$t('trials:emailManageCfg:table:EmailCron')"
v-if="form.EmailUrgentEnum !== 1 && IntervalShow" prop="EmailCron">
<el-input-number v-model="Interval" @change="handleIntervalChange" :min="1" :max="365"></el-input-number>
<!-- <el-input style="width: 300px" readonly v-model="form.EmailCron" />-->
<!-- <el-button type="primary" @click="showDialog"> cron</el-button>-->
</el-form-item>
</el-col>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:title:isReturnRequired')"
prop="IsReturnRequired"
>
<el-form-item :label="$t('trials:emailManageCfg:title:isReturnRequired')" prop="IsReturnRequired">
<el-radio-group v-model="form.IsReturnRequired">
<el-radio
v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsReturnRequired${item.value}`"
>{{ item.label }}</el-radio
>
<el-radio v-for="item of $d.YesOrNo" :label="item.value" :key="`IsReturnRequired${item.value}`">{{
item.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:IsAutoSend')"
prop="IsAutoSend"
>
<el-form-item :label="$t('trials:emailManageCfg:table:IsAutoSend')" prop="IsAutoSend">
<el-radio-group v-model="form.IsAutoSend">
<el-radio
v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsAutoSend${item.value}`"
>{{ item.label }}</el-radio
>
<el-radio v-for="item of $d.YesOrNo" :label="item.value" :key="`IsAutoSend${item.value}`">{{ item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('trials:emailManageCfg:table:IsEnable')"
prop="IsEnable"
>
<el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" prop="IsEnable">
<el-radio-group v-model="form.IsEnable">
<el-radio
v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsEnable${item.value}`"
>{{ item.label }}</el-radio
>
<el-radio v-for="item of $d.YesOrNo" :label="item.value" :key="`IsEnable${item.value}`">{{ item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
:label="$t('trials:emailManageCfg:table:CriterionTypeEnum')"
v-if="form.CriterionTypeEnum && form.CriterionTypeEnum.length > 0"
prop="CriterionTypeEnum"
>
<el-select
disabled
v-model="form.CriterionTypeEnum"
clearable
class="mr"
>
<el-option
v-for="item of $d.CriterionType"
:key="`CriterionType${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:table:CriterionTypeEnum')"
v-if="form.CriterionTypeList && form.CriterionTypeList.length > 0" prop="CriterionTypeList">
<el-select disabled v-model="form.CriterionTypeList" clearable class="mr" multiple>
<el-option v-for="item of $d.CriterionType" :key="`CriterionType${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="$i18n.locale === 'zh'">
<el-form-item
:label="$t('trials:emailManageCfg:table:fileListCN')"
prop="IsEnable"
>
<el-upload
class="upload-demo"
action
:before-upload="beforeUploadCN"
:http-request="handleUploadFileCN"
:on-preview="handlePreviewCN"
:on-remove="handleRemoveFileCN"
:show-file-list="true"
:disabled="true"
:limit="1"
:file-list="fileListCN"
>
<el-form-item :label="$t('trials:emailManageCfg:table:fileListCN')" prop="IsEnable">
<el-upload class="upload-demo" action :before-upload="beforeUploadCN" :http-request="handleUploadFileCN"
:on-preview="handlePreviewCN" :on-remove="handleRemoveFileCN" :show-file-list="true" :disabled="true"
:limit="1" :file-list="fileListCN">
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12" v-else>
<el-form-item
:label="$t('trials:emailManageCfg:table:fileListEN')"
prop="IsEnable"
>
<el-upload
class="upload-demo"
action
:before-upload="beforeUploadEN"
:http-request="handleUploadFileEN"
:on-preview="handlePreviewEN"
:on-remove="handleRemoveFileEN"
:show-file-list="true"
:disabled="true"
:limit="1"
:file-list="fileListEN"
>
<el-form-item :label="$t('trials:emailManageCfg:table:fileListEN')" prop="IsEnable">
<el-upload class="upload-demo" action :before-upload="beforeUploadEN" :http-request="handleUploadFileEN"
:on-preview="handlePreviewEN" :on-remove="handleRemoveFileEN" :show-file-list="true" :disabled="true"
:limit="1" :file-list="fileListEN">
</el-upload>
</el-form-item>
</el-col>
@ -270,26 +132,14 @@
<!-- :autosize="{ minRows: 8, maxRows: 8}"-->
<!-- />-->
<!-- </el-form-item>-->
<div
class="base-dialog-footer"
style="text-align: right; margin-top: 10px; padding-bottom: 10px"
>
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px; padding-bottom: 10px">
<el-form-item style="text-align: right">
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}</el-button
>
{{ $t('common:button:save') }}</el-button>
</el-form-item>
</div>
<el-dialog
append-to-body
:title="$t('trials:emailManageCfg:button:generate')"
:visible.sync="showCron"
>
<vcrontab
@hide="showCron = false"
@fill="crontabFill"
:expression="expression"
></vcrontab>
<el-dialog append-to-body :title="$t('trials:emailManageCfg:button:generate')" :visible.sync="showCron">
<vcrontab @hide="showCron = false" @fill="crontabFill" :expression="expression"></vcrontab>
</el-dialog>
</el-form>
</template>
@ -345,6 +195,7 @@ export default {
IsEnable: true,
IsAutoSend: true,
CriterionTypeEnum: null,
CriterionTypeList: [],
FromEmail: '',
FromName: '',
AuthorizationCode: '',

View File

@ -3,63 +3,30 @@
<template slot="search-container">
<el-form :inline="true" size="small">
<!-- 业务场景 -->
<el-form-item
:label="$t('trials:emailManageCfg:title:businessScenario')"
>
<el-select
v-model="searchData.BusinessScenarioEnum"
style="width: 150px"
>
<el-option
v-for="item of $d.Email_BusinessScenario"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-form-item :label="$t('trials:emailManageCfg:title:businessScenario')">
<el-select v-model="searchData.BusinessScenarioEnum" style="width: 150px">
<el-option v-for="item of $d.Email_BusinessScenario" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item
v-if="isDistinguishCriteria"
style="margin-bottom: 10px"
:label="$t('trials:reviewTrack:table:criterionName')"
>
<el-select
v-model="searchData.TrialReadingCriterionId"
clearable
style="width: 120px"
>
<el-option
v-for="item of trialCriterionList"
:key="'TrialReadingCriterionId' + item.TrialReadingCriterionId"
:value="item.TrialReadingCriterionId"
:label="item.TrialReadingCriterionName"
/>
<el-form-item v-if="isDistinguishCriteria" style="margin-bottom: 10px"
:label="$t('trials:reviewTrack:table:criterionName')">
<el-select v-model="searchData.TrialReadingCriterionId" clearable style="width: 120px">
<el-option v-for="item of trialCriterionList"
:key="'TrialReadingCriterionId' + item.TrialReadingCriterionId" :value="item.TrialReadingCriterionId"
:label="item.TrialReadingCriterionName" />
</el-select>
</el-form-item>
<el-form-item
:label="$t('trials:emailManageCfg:title:toUserTypeList')"
prop="ToUserTypeList"
>
<el-form-item :label="$t('trials:emailManageCfg:title:toUserTypeList')" prop="ToUserTypeList">
<el-select v-model="searchData.ToUserType" clearable class="mr">
<el-option
v-for="item of UserTypeList"
:key="`ToUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item of UserTypeList" :key="`ToUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item
:label="$t('trials:emailManageCfg:table:IsEnable')"
prop="IsEnable"
>
<el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" prop="IsEnable">
<el-select v-model="searchData.IsEnable" clearable class="mr">
<el-option
v-for="item of $d.YesOrNo"
:key="`ToUserTypeList${item.label}`"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item of $d.YesOrNo" :key="`ToUserTypeList${item.label}`" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
@ -68,21 +35,11 @@
{{ $t('common:button:search') }}
</el-button>
<!-- 重置 -->
<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>
<el-button
v-if="hasPermi(['trials:trials-panel:setting:email-manage:edit'])"
type="primary"
icon="el-icon-plus"
size="small"
:disabled="isEdit"
@click="handleAddDefault"
>
<el-button v-if="hasPermi(['trials:trials-panel:setting:email-manage:edit'])" type="primary"
icon="el-icon-plus" size="small" :disabled="isEdit" @click="handleAddDefault">
{{ $t('trials:emailManageCfg:button:Default') }}
</el-button>
</el-form-item>
@ -90,13 +47,7 @@
<!-- 自定义标准允许添加 -->
</template>
<template slot="main-container">
<el-table
ref="emailList"
v-loading="loading"
:data="list"
stripe
@sort-change="handleSortChange"
>
<el-table ref="emailList" v-loading="loading" :data="list" stripe @sort-change="handleSortChange">
<el-table-column type="index" width="40" />
<!-- Code -->
<!-- <el-table-column
@ -106,63 +57,34 @@
show-overflow-tooltip
width="100"
/> -->
<el-table-column
v-if="isDistinguishCriteria"
prop="TrialReadingCriterionId"
:label="$t('trials:reviewTrack:table:criterionName')"
show-overflow-tooltip
sortable="custom"
width="120"
>
<el-table-column v-if="isDistinguishCriteria" prop="CriterionTypeList"
:label="$t('trials:reviewTrack:table:criterionName')" show-overflow-tooltip sortable="custom" width="120">
<template slot-scope="scope">
{{ scope.row.TrialCriterionName }}
{{scope.row.CriterionTypeList && scope.row.CriterionTypeList.length > 0 ?
scope.row.CriterionTypeList.map(item => { return $fd('CriterionType', item) }
).join(', ') : ''}}
</template>
</el-table-column>
<el-table-column
v-if="$i18n.locale === 'zh'"
prop="EmailTopicCN"
:label="$t('trials:emailManageCfg:table:EmailTopicCN')"
sortable="custom"
show-overflow-tooltip
min-width="140"
/>
<el-table-column
v-else
prop="EmailTopic"
:label="$t('trials:emailManageCfg:table:EmailTopic')"
sortable="custom"
show-overflow-tooltip
min-width="140"
/>
<el-table-column
prop="BusinessModuleEnum"
:label="$t('trials:emailManageCfg:table:BusinessModuleEnum')"
sortable="custom"
show-overflow-tooltip
min-width="100"
>
<el-table-column v-if="$i18n.locale === 'zh'" prop="EmailTopicCN"
:label="$t('trials:emailManageCfg:table:EmailTopicCN')" sortable="custom" show-overflow-tooltip
min-width="140" />
<el-table-column v-else prop="EmailTopic" :label="$t('trials:emailManageCfg:table:EmailTopic')"
sortable="custom" show-overflow-tooltip min-width="140" />
<el-table-column prop="BusinessModuleEnum" :label="$t('trials:emailManageCfg:table:BusinessModuleEnum')"
sortable="custom" show-overflow-tooltip min-width="100">
<template slot-scope="scope">
{{ $fd('BusinessModule', scope.row.BusinessModuleEnum) }}
</template>
</el-table-column>
<el-table-column
prop="BusinessScenarioEnum"
:label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
sortable="custom"
show-overflow-tooltip
min-width="100"
>
<el-table-column prop="BusinessScenarioEnum" :label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
sortable="custom" show-overflow-tooltip min-width="100">
<template slot-scope="scope">
{{ $fd('Email_BusinessScenario', scope.row.BusinessScenarioEnum) }}
</template>
</el-table-column>
<!-- 收件人 -->
<el-table-column
prop="ToUserTypeList"
:label="$t('trials:emailManageCfg:title:toUserTypeList')"
show-overflow-tooltip
min-width="100"
>
<el-table-column prop="ToUserTypeList" :label="$t('trials:emailManageCfg:title:toUserTypeList')"
show-overflow-tooltip min-width="100">
<template slot-scope="scope">
{{
scope.row.ToUserTypeNameList.length > 0
@ -172,12 +94,8 @@
</template>
</el-table-column>
<!-- 抄送人 -->
<el-table-column
prop="CopyUserTypeList"
:label="$t('trials:emailManageCfg:title:copyUserTypeList')"
show-overflow-tooltip
min-width="100"
>
<el-table-column prop="CopyUserTypeList" :label="$t('trials:emailManageCfg:title:copyUserTypeList')"
show-overflow-tooltip min-width="100">
<template slot-scope="scope">
{{
scope.row.CopyUserTypeNameList.length > 0
@ -204,36 +122,18 @@
<!-- width="160"-->
<!-- />-->
<!-- 附件 -->
<el-table-column
v-if="$i18n.locale === 'zh' && isDistinguishCriteria"
prop="AttachNameCN"
:label="$t('trials:emailManageCfg:title:fileName')"
show-overflow-tooltip
min-width="140"
>
<el-table-column v-if="$i18n.locale === 'zh' && isDistinguishCriteria" prop="AttachNameCN"
:label="$t('trials:emailManageCfg:title:fileName')" show-overflow-tooltip min-width="140">
<template slot-scope="scope">
<span
v-if="scope.row.AttachCNPath"
@click="handlePreview(scope.row.AttachCNPath)"
style="cursor: pointer; color: #428bca"
>{{ scope.row.AttachNameCN }}</span
>
<span v-if="scope.row.AttachCNPath" @click="handlePreview(scope.row.AttachCNPath)"
style="cursor: pointer; color: #428bca">{{ scope.row.AttachNameCN }}</span>
</template>
</el-table-column>
<el-table-column
v-if="$i18n.locale === 'en' && isDistinguishCriteria"
prop="AttachName"
:label="$t('trials:emailManageCfg:title:fileName')"
show-overflow-tooltip
min-width="140"
>
<el-table-column v-if="$i18n.locale === 'en' && isDistinguishCriteria" prop="AttachName"
:label="$t('trials:emailManageCfg:title:fileName')" show-overflow-tooltip min-width="140">
<template slot-scope="scope">
<span
v-if="scope.row.AttachPath"
@click="handlePreview(scope.row.AttachPath)"
style="cursor: pointer; color: #428bca"
>{{ scope.row.AttachName }}</span
>
<span v-if="scope.row.AttachPath" @click="handlePreview(scope.row.AttachPath)"
style="cursor: pointer; color: #428bca">{{ scope.row.AttachName }}</span>
</template>
</el-table-column>
<!-- 是否需要回执 -->
@ -267,13 +167,8 @@
</template>
</el-table-column> -->
<!-- 是否启用 -->
<el-table-column
prop="IsEnable"
:label="$t('trials:emailManageCfg:table:IsEnable')"
show-overflow-tooltip
sortable="custom"
min-width="90"
>
<el-table-column prop="IsEnable" :label="$t('trials:emailManageCfg:table:IsEnable')" show-overflow-tooltip
sortable="custom" min-width="90">
<template slot-scope="scope">
<el-tag v-if="scope.row.IsEnable" type="danger">
{{ $fd('YesOrNo', scope.row.IsEnable) }}
@ -284,84 +179,37 @@
</template>
</el-table-column>
<!-- 更新时间 -->
<el-table-column
prop="UpdateTime"
:label="$t('trials:emailManageCfg:title:updateTime')"
show-overflow-tooltip
sortable="custom"
min-width="100"
/>
<el-table-column prop="UpdateTime" :label="$t('trials:emailManageCfg:title:updateTime')" show-overflow-tooltip
sortable="custom" min-width="100" />
<!-- 创建时间 -->
<el-table-column
prop="CreateTime"
:label="$t('trials:emailManageCfg:title:createTime')"
show-overflow-tooltip
sortable="custom"
min-width="100"
/>
<el-table-column prop="CreateTime" :label="$t('trials:emailManageCfg:title:createTime')" show-overflow-tooltip
sortable="custom" min-width="100" />
<el-table-column
v-if="hasPermi(['trials:trials-panel:setting:email-manage:edit'])"
width="120"
:label="$t('common:action:action')"
fixed="right"
>
<el-table-column v-if="hasPermi(['trials:trials-panel:setting:email-manage:edit'])" width="120"
:label="$t('common:action:action')" fixed="right">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
icon="el-icon-edit-outline"
circle
:disabled="isEdit"
:title="$t('common:button:edit')"
@click="handleEdit(scope.row)"
/>
<el-button icon="el-icon-edit-outline" circle :disabled="isEdit" :title="$t('common:button:edit')"
@click="handleEdit(scope.row)" />
<!-- 编辑 -->
<el-button
icon="el-icon-delete"
circle
:disabled="isEdit"
:title="$t('common:button:delete')"
@click="deleteTrialEmailNoticeConfig(scope.row)"
/>
<el-button icon="el-icon-delete" circle :disabled="isEdit" :title="$t('common:button:delete')"
@click="deleteTrialEmailNoticeConfig(scope.row)" />
</template>
</el-table-column>
</el-table>
<!-- 新增/编辑 -->
<el-dialog
v-if="editDialog.visible"
:visible.sync="editDialog.visible"
:close-on-click-modal="false"
:title="editDialog.title"
fullscreen
custom-class="base-dialog-wrapper"
>
<EmailForm
:data="currentRow"
:criterion-type="criterionType"
:is-distinguish-criteria="isDistinguishCriteria"
:UserTypeList="UserTypeList"
@closeDialog="closeDialog"
@getList="getList"
/>
<el-dialog v-if="editDialog.visible" :visible.sync="editDialog.visible" :close-on-click-modal="false"
:title="editDialog.title" fullscreen custom-class="base-dialog-wrapper">
<EmailForm :data="currentRow" :criterion-type="criterionType" :is-distinguish-criteria="isDistinguishCriteria"
:UserTypeList="UserTypeList" @closeDialog="closeDialog" @getList="getList" />
</el-dialog>
<!-- 新增默认问题 -->
<el-dialog
v-if="addVisible"
:visible.sync="addVisible"
width="1300px"
:close-on-click-modal="false"
custom-class="base-dialog-wrapper"
:title="$t('trials:emailManageCfg:button:Default')"
>
<el-dialog v-if="addVisible" :visible.sync="addVisible" width="1300px" :close-on-click-modal="false"
custom-class="base-dialog-wrapper" :title="$t('trials:emailManageCfg:button:Default')">
<div class="base-dialog-body">
<DefaultQS
@getList="getList"
:is-distinguish-criteria="isDistinguishCriteria"
:isShow="isBtnShow"
:UserTypeList="UserTypeList"
@close="addVisible = false"
/>
<DefaultQS @getList="getList" :is-distinguish-criteria="isDistinguishCriteria" :isShow="isBtnShow"
:UserTypeList="UserTypeList" @close="addVisible = false" />
</div>
</el-dialog>
</template>