研发图纸文件管理系统-前端项目
he wei
2023-11-02 7054a99936e8137b0069651cca138cdd7758f7ad
U 邮件发送接口变化
1个文件已修改
72 ■■■■■ 已修改文件
src/pages/components/emailCard/emailCard.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/components/emailCard/emailCard.vue
@@ -1,5 +1,11 @@
<template>
  <a-form-model ref="formRef" :model="form" :rules="rules" :label-col="labelCol" :wrapper-col="wrapperCol">
  <a-form-model
    ref="formRef"
    :model="form"
    :rules="rules"
    :label-col="labelCol"
    :wrapper-col="wrapperCol"
  >
    <a-form-model-item label="收件人:" prop="mailList">
      <a-select
          mode="multiple"
@@ -7,8 +13,14 @@
          :value="selectedItems"
          style="width: 100%"
          allow-clear
          @change="handleChange">
        <a-select-option v-for="item in filteredOptions" :key="item.name" :value="item.name" :disabled="!item.isHasMail">
        @change="handleChange"
      >
        <a-select-option
          v-for="item in filteredOptions"
          :key="item.name"
          :value="item.name"
          :disabled="!item.isHasMail"
        >
          {{ item.name }}
        </a-select-option>
      </a-select>
@@ -17,7 +29,11 @@
      <a-input v-model="form.title" allow-clear></a-input>
    </a-form-model-item>
    <a-form-model-item label="邮件内容:" prop="content">
      <a-textarea v-model="form.content"  allow-clear :autosize="{'minRows': 6, 'maxRows': 24}"></a-textarea>
      <a-textarea
        v-model="form.content"
        allow-clear
        :autosize="{ minRows: 6, maxRows: 24 }"
      ></a-textarea>
    </a-form-model-item>
    <div class="email-footer">
      <a-button type="primary" @click="checkForm">确认发送</a-button>
@@ -32,26 +48,26 @@
  props: {
    visible: {
      type: Boolean,
      default: false
      default: false,
    },
    users: {
      type: Array,
      default() {
        return [];
      }
      },
    },
    title: {
      type: [String, Number],
      default: ""
      default: "",
    },
    content: {
      type: [String, Number],
      default: ""
      default: "",
    },
        type: {
            type: [String, Number],
            default: 1  // 1-软件;2-sop文件
        }
      default: 1, // 1-软件;2-sop文件
    },
  },
  data() {
    return {
@@ -92,7 +108,9 @@
  computed: {
    filteredOptions() {
      let users = this.users;
      return users.filter(o => !this.selectedItems.includes(o.name)).map(o=> {
      return users
        .filter((o) => !this.selectedItems.includes(o.name))
        .map((o) => {
        o.isHasMail = o.mail?true:false;
        return o;
      });
@@ -104,7 +122,9 @@
      let list = this.defaultMailUsers;
      let users = this.users;
      // 确定用户在默认用户表且用户存在邮件地址
      this.selectedItems = users.filter(o => list.includes(o.name) && o.mail?true:false).map(item=>{
      this.selectedItems = users
        .filter((o) => (list.includes(o.name) && o.mail ? true : false))
        .map((item) => {
        return item.name;
      });
      this.handleChange(this.selectedItems);
@@ -112,7 +132,9 @@
    handleChange(selectedItems) {
      this.selectedItems = selectedItems;
      let users = this.users;
      let mailList = users.filter(o => this.selectedItems.includes(o.name)).map(item=>{
      let mailList = users
        .filter((o) => this.selectedItems.includes(o.name))
        .map((item) => {
        return item.mail;
      });
      this.form.mailList = mailList;
@@ -131,16 +153,18 @@
      let {mailList, title, content} = this.form;
      let params = {mailList, title, content};
      let loading = this.$layer.loading();
      sendMail(params).then(res=>{
      sendMail(params)
        .then((res) => {
        this.$layer.close(loading);
        let rs = res.data;
        if(rs.code == 1) {
          this.$emit('update:visible', false);
          let { code, data, msg } = res.data;
          if (code && data) {
          this.$message.success("邮件发送成功!");
        }else {
          this.$message.error(rs.msg);
            this.$message.error(msg);
        }
      }).catch(error=>{
          this.$emit("update:visible", false);
        })
        .catch((error) => {
        this.$layer.close(loading);
        console.log(error);
        this.$message.error("邮件发送失败,请检查网络!");
@@ -148,25 +172,25 @@
    },
        searchDefaultMailUser() {
            let type = this.type;
            searchDefaultMailUser(type).then(res=>{
      searchDefaultMailUser(type).then((res) => {
                let rs = res.data;
                let data = [];
                if(rs.code === 1) {
                    data = rs.data.map(item=>{
          data = rs.data.map((item) => {
                        return item.user;
                    });
                }
                this.defaultMailUsers = data;
                this.setSelectedItems();
            });
        }
    },
  },
  mounted() {
    this.form.title = this.title;
    this.form.content = this.content;
        this.searchDefaultMailUser();
  }
}
  },
};
</script>
<style scoped>