|
@@ -59,13 +59,34 @@
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="邮件通知:">
|
|
|
- <el-switch
|
|
|
- v-model="form.ifSendEmail"
|
|
|
- active-color="#13ce66"
|
|
|
- inactive-color="#ff4949"
|
|
|
- :active-value="true"
|
|
|
- :inactive-value="false">
|
|
|
- </el-switch>
|
|
|
+ <div style="display:flex;align-items:center;flex-wrap: wrap;">
|
|
|
+ <el-switch
|
|
|
+ v-model="form.ifSendEmail"
|
|
|
+ active-color="#13ce66"
|
|
|
+ inactive-color="#ff4949"
|
|
|
+ :active-value="true"
|
|
|
+ :inactive-value="false">
|
|
|
+ </el-switch>
|
|
|
+ <template v-if="form.ifSendEmail">
|
|
|
+ <div class="margin-left_10" v-for="item in sendEmailPerson" :key="item.email">{{ item.name +'<' + item.email + '>'}}</div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="临时通知人员:">
|
|
|
+ <div style="display:flex;align-items:center;flex-wrap: wrap;">
|
|
|
+ <div v-for="(item,index) in otherPerson" :key="index" class="otherPerson">
|
|
|
+ <div v-if="item.name">{{ item.name +'<' + item.email + '>'}}</div>
|
|
|
+ <div v-else>{{ item.email }}</div>
|
|
|
+ <div class="delOtherPerson">
|
|
|
+ <i class="el-icon-close" style="color:red" @click="delOtherPerson(item,index)"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="margin-left_10">
|
|
|
+ <el-button size="small" @click="addNewEmail" icon="el-icon-plus">添加</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注内容:">
|
|
|
<el-input type='textarea' v-model="form.description" autocomplete="off" placeholder="请输入备注"></el-input>
|
|
@@ -77,15 +98,21 @@
|
|
|
<el-button type="primary" :loading="loading" @click="finish" >确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <addEmailVue ref="addEmailVue" @newEmail="newEmail"></addEmailVue>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import addEmailVue from '../IPREmail/components/dialog/addEmail.vue'
|
|
|
const defaultSendEmail = ['0','1','3','4','5','7','8']
|
|
|
export default {
|
|
|
+ components:{
|
|
|
+ addEmailVue
|
|
|
+ },
|
|
|
props:{
|
|
|
projectId:{
|
|
|
- default:0
|
|
|
+ default:0
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
@@ -155,7 +182,9 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
|
|
|
},
|
|
|
rules: {
|
|
|
fileName:[{required : false , message:'请输入文献名称',trigger:'blur'}]
|
|
|
- }
|
|
|
+ },
|
|
|
+ sendEmailPerson:[],
|
|
|
+ otherPerson:[],
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -172,8 +201,75 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
|
|
|
}else{
|
|
|
this.$set(this.form,'ifSendEmail',false)
|
|
|
}
|
|
|
+ this.otherPerson = []
|
|
|
+ this.getSendEmailPerson()
|
|
|
this.showDialog=true
|
|
|
},
|
|
|
+ //添加临时发送邮箱
|
|
|
+ addNewEmail(){
|
|
|
+ this.$refs.addEmailVue.open()
|
|
|
+ },
|
|
|
+ newEmail(data){
|
|
|
+ if(!data.email){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ data.email = data.email.trim()
|
|
|
+ var index = this.otherPerson.findIndex(item=>{
|
|
|
+ return item.email == data.email
|
|
|
+ })
|
|
|
+ if(index == -1){
|
|
|
+ this.otherPerson.push(data)
|
|
|
+ }else{
|
|
|
+ this.$message.warning('该邮箱已存在')
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ //删除临时发送邮箱
|
|
|
+ delOtherPerson(item,index){
|
|
|
+ this.otherPerson.splice(index,1)
|
|
|
+ },
|
|
|
+ //获取需要发送邮件的人员
|
|
|
+ async getSendEmailPerson(){
|
|
|
+ var [defaultPerson,handlePerson] = await Promise.allSettled([this.getDefaultPersons(),this.getHandlePerson()])
|
|
|
+ defaultPerson = defaultPerson.status =='fulfilled'?defaultPerson.value:{}
|
|
|
+ handlePerson = handlePerson.status =='fulfilled'?handlePerson.value:{}
|
|
|
+ var data = []
|
|
|
+ if(defaultPerson.data && defaultPerson.data.length>0){
|
|
|
+ data = defaultPerson.data
|
|
|
+ }
|
|
|
+ if(handlePerson && handlePerson.id){
|
|
|
+ var index = data.findIndex(item=>{
|
|
|
+ return item.id == handlePerson.iprPersonId
|
|
|
+ })
|
|
|
+ if(index == -1){
|
|
|
+ data.push(
|
|
|
+ {
|
|
|
+ id:handlePerson.iprPersonId,
|
|
|
+ name:handlePerson.name,
|
|
|
+ email:handlePerson.email
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ this.sendEmailPerson = data
|
|
|
+ },
|
|
|
+ //获取默认发送邮件人员
|
|
|
+ getDefaultPersons(){
|
|
|
+ var params = {
|
|
|
+ current:1,
|
|
|
+ size:100,
|
|
|
+ ifDefault:true
|
|
|
+ }
|
|
|
+ return this.$api.iprPersonQuery(params).then(response=> response.data)
|
|
|
+ },
|
|
|
+ //获取配案人员
|
|
|
+ getHandlePerson(){
|
|
|
+ var params = {
|
|
|
+ reportId:this.projectId
|
|
|
+ }
|
|
|
+ return this.$api.matchCasePersonQuery(params).then(response=> response.data)
|
|
|
+ },
|
|
|
// 弹窗确定
|
|
|
finish() {
|
|
|
this.$refs.form.validate((valid) => {
|
|
@@ -183,6 +279,7 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
|
|
|
return false
|
|
|
}
|
|
|
this.form.projectId = this.projectId
|
|
|
+ this.form.extraEmailDTOS = this.otherPerson
|
|
|
this.form.fileGuids = guids
|
|
|
if(!this.projectId){
|
|
|
this.$emit('save',this.form)
|
|
@@ -430,4 +527,20 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
|
|
|
padding-bottom: 0px;
|
|
|
}
|
|
|
}
|
|
|
+ </style>
|
|
|
+ <style lang="scss" scoped>
|
|
|
+ .otherPerson{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ cursor: pointer;
|
|
|
+ .delOtherPerson{
|
|
|
+ opacity: 0;
|
|
|
+ margin-left:10px
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .otherPerson:hover{
|
|
|
+ .delOtherPerson{
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|