瀏覽代碼

Merge branch 'fengrui' of yinet2020/YinetOASystemWeb into master

冯瑞 4 年之前
父節點
當前提交
4efbed8398

+ 53 - 0
src/api/system/email/caogao.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listInfo(query) {
+  return request({
+    url: '/system/email/caogao/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getInfo(mailGuid) {
+  return request({
+    url: '/system/email/caogao/' + mailGuid,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addInfo(data) {
+  return request({
+    url: '/system/email/caogao',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateInfo(data) {
+  return request({
+    url: '/system/email/caogao',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delInfo(mailGuid) {
+  return request({
+    url: '/system/email/caogao/' + mailGuid,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportInfo(query) {
+  return request({
+    url: '/system/email/caogao/export',
+    method: 'get',
+    params: query
+  })
+}

+ 61 - 0
src/api/system/email/detail.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listDetail(query) {
+  return request({
+    url: '/system/email/detail/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function list1(query) {
+  return request({
+    url: '/system/email/detail/list1',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getDetail(mailDetailGuid) {
+  return request({
+    url: '/system/email/detail/' + mailDetailGuid,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addDetail(data) {
+  return request({
+    url: '/system/email/detail',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateDetail(data) {
+  return request({
+    url: '/system/email/detail' + flg,
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delDetail(mailDetailGuid) {
+  return request({
+    url: '/system/email/detail/' + mailDetailGuid,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportDetail(query) {
+  return request({
+    url: '/system/email/detail/export',
+    method: 'get',
+    params: query
+  })
+}

+ 78 - 0
src/api/system/email/huishouzhan.js

@@ -0,0 +1,78 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listInfo(query) {
+  return request({
+    // url: '/system/email/huishouzhan/list',
+    url: '/system/email/huishouzhan/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getInfo(mailGuid) {
+  return request({
+    url: '/system/email/huishouzhan/' + mailGuid,
+    method: 'get'
+  })
+}
+
+// /system/email/huishouzhan/listquery
+
+
+// 查询【请填写功能名称】详细
+export function qwe(query) {
+  return request({
+    url: '/system/email/huishouzhan/listquery',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增【请填写功能名称】
+export function addInfo(data) {
+  return request({
+    url: '/system/email/huishouzhan',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateInfo(data) {
+  return request({
+    url: '/system/email/huishouzhan',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delInfo(mailGuid,flg) {
+  return request({
+    url: '/system/email/huishouzhan/' + mailGuid + '/' + flg,
+    method: 'delete'
+
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportInfo(query) {
+  return request({
+    url: '/system/email/huishouzhan/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 撤销【请填写功能名称】
+// export function revokeInfo(mailGuid) {
+//   return request({
+//     url: '/system/email/huishouzhan/',
+//     method: 'put',
+//     data: data
+//
+//   })
+// }
+

+ 53 - 0
src/api/system/email/info.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listInfo(query) {
+  return request({
+    url: '/system/email/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getInfo(mailGuid) {
+  return request({
+    url: '/system/email/info/' + mailGuid,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addInfo(data) {
+  return request({
+    url: '/system/email/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateInfo(data) {
+  return request({
+    url: '/system/email/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delInfo(mailGuid) {
+  return request({
+    url: '/system/email/info/' + mailGuid,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportInfo(query) {
+  return request({
+    url: '/system/email/info/export',
+    method: 'get',
+    params: query
+  })
+}

+ 79 - 0
src/api/system/email/send.js

@@ -0,0 +1,79 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listInfo(query) {
+  return request({
+    url: '/system/email/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getInfo(mailGuid) {
+  return request({
+    url: '/system/info/' + mailGuid,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addInfo(data) {
+  return request({
+    url: '/system/email/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateInfo(data) {
+  return request({
+    url: '/system/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delInfo(mailGuid) {
+  return request({
+    url: '/system/info/' + mailGuid,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportInfo(query) {
+  return request({
+    url: '/system/info/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 人员选择【请填写功能名称】
+export function selectRen(query) {
+  return request({
+    url: '/system/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询部门下拉树结构
+export function treeselect() {
+  return request({
+    url: '/system/dept/treeselect',
+    method: 'get'
+  })
+}
+
+// 用户头像上传
+export function uploadFujian(data) {
+  return request({
+    url: '/system/email/info/uploadfile',
+    method: 'post',
+    data: data
+  })
+}

+ 27 - 0
src/router/index.js

@@ -117,7 +117,34 @@ export const constantRoutes = [
         meta: { title: '修改生成配置' }
       }
     ]
+  },
+  {
+    path: '/email',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: 'receiveList/replyinfo',
+        component: (resolve) => require(['@/views/system/email/replyinfo'], resolve),
+        name: 'ReplyInfo',
+        meta: { title: '回复详情' }
+      },
+      {
+        path: 'receiveList/receiptdetails',
+        component: (resolve) => require(['@/views/system/email/receiptdetails'], resolve),
+        name: 'receiptdetails',
+        meta: { title: '邮件详情' }
+      },
+      {
+        path: 'sendList/senddetails',
+        component: (resolve) => require(['@/views/system/email/senddetails'], resolve),
+        name: 'senddetails',
+        meta: { title: '邮件详情' }
+      }
+
+    ]
   }
+
 ]
 
 export default new Router({

+ 331 - 0
src/views/system/email/caogao.vue

@@ -0,0 +1,331 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="10" class="mb8">
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['system:info:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="small"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:info:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="small"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:info:remove']"
+        >删除</el-button>
+      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          icon="el-icon-download"-->
+<!--          size="small"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['system:info:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+          <el-form-item label="邮件主题" prop="mailTheme">
+            <el-input
+              v-model="queryParams.mailTheme"
+              placeholder="请输入邮件主题"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <!--      <el-form-item label="邮件状态" prop="status">-->
+          <!--        <el-select v-model="queryParams.status" placeholder="请选择邮件状态" clearable size="small">-->
+          <!--          <el-option label="请选择字典生成" value="" />-->
+          <!--        </el-select>-->
+          <!--      </el-form-item>-->
+          <el-form-item label="创建时间" prop="creataTime">
+            <el-date-picker clearable size="small" style="width: 200px"
+                            v-model="queryParams.creataTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择创建时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+
+    </el-row>
+
+    <el-table border v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="邮件状态" width="130" align="center" prop="status">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.status === 0">草稿</el-tag>
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="发件人-中文" align="center" prop="senderName" />-->
+<!--      <el-table-column label="发件人-账号" align="center" prop="senderAccount" />-->
+      <el-table-column label="收件人" width="180" align="center" prop="receiverName" />
+<!--      <el-table-column label="收件人-账号" align="center" prop="receiverAccount" />-->
+      <el-table-column label="邮件主题" align="center" prop="mailTheme" />
+<!--      <el-table-column label="邮件详细内容" align="center" prop="mailContent" />-->
+      <el-table-column label="创建时间" width="180" align="center" prop="createTime" >
+        <template slot-scope="scope">
+          <span>{{scope.row.createTime | format('yyyy-MM-dd hh:mm:ss')}}</span>
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="删除时间" align="center" prop="deleteTime" width="180">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.deleteTime, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+      <el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="small"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:info:edit']"
+          >详情</el-button>
+          <el-button
+            size="small"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:info:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改【请填写功能名称】对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="发件人" prop="senderName">
+          <el-input v-model="form.senderName" placeholder="请输入发件人-中文" />
+        </el-form-item>
+        <el-form-item label="发件人-账号" prop="senderAccount">
+          <el-input v-model="form.senderAccount" placeholder="请输入发件人-账号" />
+        </el-form-item>
+        <el-form-item label="收件人" prop="receiverName">
+          <el-input v-model="form.receiverName" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="收件人-账号" prop="receiverAccount">
+          <el-input v-model="form.receiverAccount" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="邮件主题" prop="mailTheme">
+          <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" />
+        </el-form-item>
+        <el-form-item label="邮件详细内容" prop="mailContent">
+          <el-input v-model="form.mailContent" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <!--<el-form-item label="邮件状态">-->
+          <!--<el-radio-group v-model="form.status">-->
+            <!--<el-radio label="1">请选择字典生成</el-radio>-->
+          <!--</el-radio-group>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="删除时间" prop="deleteTime">-->
+          <!--<el-date-picker clearable size="small" style="width: 200px"-->
+                          <!--v-model="form.deleteTime"-->
+                          <!--type="date"-->
+                          <!--value-format="yyyy-MM-dd"-->
+                          <!--placeholder="选择删除时间">-->
+          <!--</el-date-picker>-->
+        <!--</el-form-item>-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/system/email/caogao";
+
+  export default {
+    name: "Caogao",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        infoList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: undefined,
+          deleteTime: undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        }
+      };
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        listInfo(this.queryParams).then(response => {
+          this.infoList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          createTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailGuid)
+        this.single = selection.length!=1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const mailGuid = row.mailGuid || this.ids
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改";
+        });
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailGuids = row.mailGuid || this.ids;
+        this.$confirm('是否确认删除这一封邮件?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(mailGuids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  };
+</script>

+ 461 - 0
src/views/system/email/detail.vue

@@ -0,0 +1,461 @@
+<template>
+  <div class="app-container">
+
+    <el-row :gutter="10" class="mb8">
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="primary"-->
+          <!--icon="el-icon-plus"-->
+          <!--size="mini"-->
+          <!--@click="handleAdd"-->
+          <!--v-hasPermi="['system:detail:add']"-->
+        <!--&gt;新增</el-button>-->
+      <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="success"-->
+          <!--icon="el-icon-edit"-->
+          <!--size="mini"-->
+          <!--:disabled="single"-->
+          <!--@click="handleUpdate"-->
+          <!--v-hasPermi="['system:detail:edit']"-->
+        <!--&gt;修改</el-button>-->
+      <!--</el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-edit-outline"
+          size="small"
+          :disabled="multiple1"
+          @click="replyinfo"
+        >回复</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="small"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:detail:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+          <!--<el-form-item label="mail_info中的mail_guid" prop="mailGuid">-->
+          <!--<el-input-->
+          <!--v-model="queryParams.mailGuid"-->
+          <!--placeholder="请输入mail_info中的mail_guid"-->
+          <!--clearable-->
+          <!--size="small"-->
+          <!--@keyup.enter.native="handleQuery"-->
+          <!--/>-->
+          <!--</el-form-item>-->
+          <!--<el-form-item label="收件人-中文" prop="receiverName">-->
+          <!--<el-input-->
+          <!--v-model="queryParams.receiverName"-->
+          <!--placeholder="请输入收件人-中文"-->
+          <!--clearable-->
+          <!--size="small"-->
+          <!--@keyup.enter.native="handleQuery"-->
+          <!--/>-->
+          <!--</el-form-item>-->
+          <!--<el-form-item label="收件人-账号" prop="receiverAccount">-->
+          <!--<el-input-->
+          <!--v-model="queryParams.receiverAccount"-->
+          <!--placeholder="请输入收件人-账号"-->
+          <!--clearable-->
+          <!--size="small"-->
+          <!--@keyup.enter.native="handleQuery"-->
+          <!--/>-->
+          <!--</el-form-item>-->
+          <el-form-item label="邮件主题" prop="mailTheme">
+            <el-input
+              v-model="queryParams.mailTheme"
+              placeholder="请输入邮件主题"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="阅读状态" prop="readFlag">
+            <el-select v-model="queryParams.readFlag" placeholder="阅读状态">
+              <el-option label="已读" value="1"></el-option>
+              <el-option label="未读" value="0"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="状态" prop="status" v-show="false">
+            <el-input
+              value="1"
+              v-model="queryParams.status"
+              clearable
+              size="small"
+            />
+          </el-form-item>
+          <!--<el-form-item label="阅读时间" prop="readTime">-->
+          <!--<el-date-picker clearable size="small" style="width: 200px"-->
+          <!--v-model="queryParams.readTime"-->
+          <!--type="date"-->
+          <!--value-format="yyyy-MM-dd"-->
+          <!--placeholder="选择阅读时间">-->
+          <!--</el-date-picker>-->
+          <!--</el-form-item>-->
+          <!--<el-form-item label="阅读时间" prop="status">-->
+          <!--<el-select v-model="queryParams.status" placeholder="请选择阅读时间" clearable size="small">-->
+          <!--<el-option label="请选择字典生成" value="" />-->
+          <!--</el-select>-->
+          <!--</el-form-item>-->
+          <!--<el-form-item label="删除时间" prop="deleteTime">-->
+          <!--<el-date-picker clearable size="small" style="width: 200px"-->
+          <!--v-model="queryParams.deleteTime"-->
+          <!--type="date"-->
+          <!--value-format="yyyy-MM-dd"-->
+          <!--placeholder="选择删除时间">-->
+          <!--</el-date-picker>-->
+          <!--</el-form-item>-->
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+
+      </el-col>
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="warning"-->
+          <!--icon="el-icon-download"-->
+          <!--size="mini"-->
+          <!--@click="handleExport"-->
+          <!--v-hasPermi="['system:detail:export']"-->
+        <!--&gt;导出</el-button>-->
+      <!--</el-col>-->
+    </el-row>
+
+    <el-table border v-loading="loading" :data="detailList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="阅读状态" width="130" align="center" prop="readFlag">
+        <template slot-scope="scope">
+          <!--{{scope.row.readFlag}}-->
+          <el-tag type="danger" v-if="scope.row.readFlag === '0'">未读</el-tag>
+          <el-tag type="success" v-if="scope.row.readFlag === '1'">已读</el-tag>
+          <!--{{scope.row}}-->
+
+        </template>
+      </el-table-column>
+      <!--<el-table-column label="收件guid" align="center" prop="mailDetailGuid" />-->
+      <!--<el-table-column label="mail_info中的mail_guid" align="center" prop="mailGuid" />-->
+      <!--<el-table-column label="收件人-中文" align="center" prop="receiverName" />-->
+      <el-table-column label="发件人" width="180" align="center" prop="senderName">
+        <template slot-scope="scope">
+          <el-tooltip class="item" effect="dark"  placement="top">
+            <div slot="content">{{scope.row.senderAccount}}</div>
+            <span>{{scope.row.senderName}}</span>
+          </el-tooltip>
+        </template>
+
+      </el-table-column>
+      <el-table-column label="邮件主题" align="center" prop="mailTheme" />
+      <!--<el-table-column label="收件人-账号" align="center" prop="receiverAccount" />-->
+      <el-table-column label="接收时间" width="180" align="center" prop="readTime" />
+      <!--<el-table-column label="阅读时间" align="center" prop="readTime" width="180">-->
+        <!--<template slot-scope="scope">-->
+          <!--<span>{{ parseTime(scope.row.readTime, '{y}-{m}-{d}') }}</span>-->
+        <!--</template>-->
+      <!--</el-table-column>-->
+      <!--<el-table-column label="阅读时间" align="center" prop="status" />-->
+      <!--<el-table-column label="删除时间" align="center" prop="deleteTime" width="180">-->
+        <!--<template slot-scope="scope">-->
+          <!--<span>{{ parseTime(scope.row.deleteTime, '{y}-{m}-{d}') }}</span>-->
+        <!--</template>-->
+      <!--</el-table-column>-->
+      <el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="small"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:detail:edit']"
+          >详情</el-button>
+          <el-button
+            size="small"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:detail:remove']"
+          >删除</el-button>
+          <!--<reply></reply>-->
+          <!--<router-link to="/replyinfo">User</router-link>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改【请填写功能名称】对话框 -->
+    <el-dialog title="邮件详情" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <!--<el-form-item label="mail_info中的mail_guid" prop="mailGuid">-->
+          <!--<el-input v-model="form.mailGuid" placeholder="请输入mail_info中的mail_guid" />-->
+        <!--</el-form-item>-->
+        <el-form-item label="发件人" prop="senderName">
+        <el-input v-model="form.senderName" placeholder="请输入发件人" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="发件人-账号" prop="senderAccount">
+        <el-input v-model="form.senderAccount" placeholder="请输入发件人-账号" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="邮件主题" prop="mailTheme">
+          <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="邮件详细内容" prop="mailContent">
+          <el-input v-model="form.mailContent" type="textarea" placeholder="请输入内容" :disabled="true" />
+        </el-form-item>
+        <!--<el-form-item label="收件人-账号" prop="receiverAccount">-->
+          <!--<el-input v-model="form.receiverAccount" placeholder="请输入收件人-账号" />-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="阅读状态" prop="readFlag">-->
+          <!--<el-input v-model="form.readFlag" placeholder="请输入阅读状态" />-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="阅读时间" prop="readTime">-->
+          <!--<el-date-picker clearable size="small" style="width: 200px"-->
+                          <!--v-model="form.readTime"-->
+                          <!--type="date"-->
+                          <!--value-format="yyyy-MM-dd"-->
+                          <!--placeholder="选择阅读时间">-->
+          <!--</el-date-picker>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="阅读时间">-->
+          <!--<el-radio-group v-model="form.status">-->
+            <!--<el-radio label="1">请选择字典生成</el-radio>-->
+          <!--</el-radio-group>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="删除时间" prop="deleteTime">-->
+          <!--<el-date-picker clearable size="small" style="width: 200px"-->
+                          <!--v-model="form.deleteTime"-->
+                          <!--type="date"-->
+                          <!--value-format="yyyy-MM-dd"-->
+                          <!--placeholder="选择删除时间">-->
+          <!--</el-date-picker>-->
+        <!--</el-form-item>-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="cancel">关 闭</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {list1, listDetail, getDetail, delDetail, addDetail, updateDetail, exportDetail } from "@/api/system/email/detail";
+
+
+  export default {
+    name: "Detail",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        names:[],
+        // 非单个禁用
+        single: true,
+        single1: true,
+        // 非多个禁用
+        multiple: true,
+        multiple1: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        detailList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          readFlag: undefined,
+          readTime: undefined,
+          // status: undefined,
+          status: 1,
+          deleteTime: undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        }
+      };
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+
+      // 回复跳转
+      replyinfo(row){
+
+        const mailDetailGuid = row.mailDetailGuid || this.ids
+        const senderName = row.senderName || this.names
+        //   console.log(row);
+        // console.log(mailDetailGuid);
+        // console.log(mailDetailGuid[0]);
+
+        // const replyname = row.senderName || this.ids
+          // console.log(replyname);
+
+        // this.$router.push({path:"/Emile/receiveList/replyinfo",query:{alert:"页面跳转成功"}})
+
+        this.$router.push({path:'/Emile/receiveList/replyinfo',query: {id:senderName[0] }})
+      },
+
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        listDetail(this.queryParams).then(response => {
+          this.detailList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      getList1() {
+        this.loading = true;
+        list1(this.queryParams).then(response => {
+          this.detailList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+        this.getList();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailDetailGuid: undefined,
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          readFlag: undefined,
+          readTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList1();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        // this.handleQuery();
+        this.getList();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailDetailGuid)
+        this.names = selection.map(item => item.senderName)
+        this.single = selection.length!=1
+        this.single1 = selection.length!=1
+        this.multiple = !selection.length
+        this.multiple1 = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+
+        this.reset();
+        const mailDetailGuid = row.mailDetailGuid || this.ids
+          console.log(mailDetailGuid);
+
+          this.$router.push({path:'/Emile/receiveList/receiptdetails',query: {id:mailDetailGuid }})
+
+
+        getDetail(mailDetailGuid).then(response => {
+          // this.form = response.data;
+          this.form = response.data[0];
+          console.log(response.data);
+          // this.open = true;
+          this.title = "修改【请填写功能名称】";
+        });
+        this.getList1();
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailDetailGuid != undefined) {
+              updateDetail(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addDetail(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailDetailGuids = row.mailDetailGuid || this.ids;
+        console.log(mailDetailGuids);
+        this.$confirm('是否确认删除【请填写功能名称】编号为"' + mailDetailGuids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delDetail(mailDetailGuids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportDetail(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  };
+</script>

+ 361 - 0
src/views/system/email/huishouzhan.vue

@@ -0,0 +1,361 @@
+<template>
+  <div class="app-container">
+
+
+    <el-row :gutter="10" class="mb8">
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['system:info:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="success"-->
+<!--          icon="el-icon-edit"-->
+<!--          size="mini"-->
+<!--          :disabled="single"-->
+<!--          @click="handleUpdate"-->
+<!--          v-hasPermi="['system:info:edit']"-->
+<!--        >修改</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-refresh-right"
+          size="small"
+          :disabled="multiple"
+          @click="handleUpdate"
+        >撤销</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="small"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:info:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+
+          <el-form-item label="邮件主题" prop="mailTheme">
+            <el-input
+              v-model="queryParams.mailTheme"
+              placeholder="请输入邮件主题"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+<!--          <el-form-item label="邮件状态" prop="status">-->
+<!--            &lt;!&ndash;        <el-select v-model="queryParams.status" placeholder="请选择邮件状态" clearable size="small">&ndash;&gt;-->
+<!--            &lt;!&ndash;          <el-option label="请选择字典生成" value="" />&ndash;&gt;-->
+<!--            &lt;!&ndash;        </el-select>&ndash;&gt;-->
+<!--            <el-select v-model="queryParams.status" placeholder="类型">-->
+<!--              <el-option label="发件" value="fajian"></el-option>-->
+<!--              <el-option label="收件" value="shoujian"></el-option>-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="删除时间" prop="deleteTime">
+            <el-date-picker clearable size="small" style="width: 200px"
+                            v-model="queryParams.deleteTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择删除时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          icon="el-icon-download"-->
+<!--          size="mini"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['system:info:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+    </el-row>
+
+    <el-table border v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="邮件状态" width="130" align="center" prop="flg">
+        <template slot-scope="scope">
+          <!--{{scope.row}}-->
+          <el-tag v-if="scope.row.flg === '0'">发件</el-tag>
+          <el-tag v-else-if="scope.row.flg === '1'" type="success">收件</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="发件人" width="180" align="center" prop="senderName" />
+<!--      <el-table-column label="收件人" align="center" prop="receiverName" />-->
+<!--      <el-table-column label="收件人-账号" align="center" prop="receiverAccount" />-->
+      <el-table-column label="邮件主题" align="center" prop="mailTheme" />
+<!--      <el-table-column label="邮件详细内容" align="center" prop="mailContent" />-->
+      <el-table-column label="删除时间" sortable  align="center" prop="deleteTime" width="180">
+        <template slot-scope="scope">
+          <span>{{scope.row.deleteTime | format('yyyy-MM-dd hh:mm:ss')}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" width="100" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+<!--          <el-button-->
+<!--            size="small"-->
+<!--            type="text"-->
+<!--            icon="el-icon-edit"-->
+<!--            @click="handleUpdate(scope.row)"-->
+<!--            v-hasPermi="['system:info:edit']"-->
+<!--          >修改</el-button>-->
+          <el-button
+            size="small"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:info:remove']"
+          >彻底删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改【请填写功能名称】对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body center>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-show="false">
+        <el-form-item label="发件人" prop="senderName">
+          <el-input v-model="form.senderName" placeholder="请输入发件人-中文" />
+        </el-form-item>
+        <el-form-item label="发件人账号" prop="senderAccount">
+          <el-input v-model="form.senderAccount" placeholder="请输入发件人-账号" />
+        </el-form-item>
+        <el-form-item label="收件人" prop="receiverName">
+          <el-input v-model="form.receiverName" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="收件人-账号" prop="receiverAccount">
+          <el-input v-model="form.receiverAccount" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="邮件主题" prop="mailTheme">
+          <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" />
+        </el-form-item>
+        <el-form-item label="邮件详细内容" prop="mailContent">
+          <el-input v-model="form.mailContent" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <!--<el-form-item label="邮件状态">-->
+          <!--<el-radio-group v-model="form.status">-->
+            <!--<el-radio label="1">请选择字典生成</el-radio>-->
+          <!--</el-radio-group>-->
+        <!--</el-form-item>-->
+        <el-form-item label="删除时间" prop="deleteTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.deleteTime"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择删除时间">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <span>是否确认要恢复这条邮件</span>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {qwe, listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/system/email/huishouzhan";
+
+  export default {
+    name: "Huishouzhan",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        infoList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: undefined,
+          deleteTime: undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        }
+      };
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+      //撤销
+      revoke(row){
+
+        updateInfo(this.form).then(response => {
+          if (response.code === 200) {
+            this.msgSuccess("撤销成功");
+            // this.open = false;
+            this.getList();
+          }
+        });
+
+      },
+
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        // listInfo(this.queryParams).then(response => {
+        qwe(this.queryParams).then(response => {
+          this.infoList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          createTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailGuid)
+        this.single = selection.length!=1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const mailGuid = row.mailGuid || this.ids
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "撤销";
+        });
+
+
+
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailGuids = row.mailGuid || this.ids;
+        const flg = row.flg || this.ids;
+        this.$confirm('是否确认删除这一份邮件?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(mailGuids,flg);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  };
+</script>

+ 297 - 0
src/views/system/email/receiptdetails.vue

@@ -0,0 +1,297 @@
+<template>
+    <div class="box">
+      <el-card class="box-card">
+        <el-row class="title">
+          编号为1的邮件
+        </el-row>
+        <el-row :gutter="80">
+          <el-col :span="1">
+            <el-tag>发件人</el-tag>
+          </el-col >
+          <el-col :span="22"><span class="hg">{{form.senderName}}</span></el-col>
+        </el-row>
+        <el-row :gutter="80">
+          <el-col :span="1">
+            <el-tag>时 间</el-tag>
+          </el-col >
+          <el-col :span="22"><span class="hg">{{form.readTime}}</span></el-col>
+        </el-row>
+        <el-row :gutter="80">
+          <el-col :span="1">
+            <el-tag>收件人</el-tag>
+          </el-col >
+          <el-col :span="22"><span class="hg">{{form.receiverName}}</span></el-col>
+        </el-row>
+        <el-row :gutter="80">
+          <el-col :span="1">
+            <el-tag>邮件主题</el-tag>
+          </el-col >
+          <el-col :span="22"><span class="hg">{{form.mailTheme}}</span></el-col>
+        </el-row>
+        <!--<el-row :gutter="80">-->
+          <!--<el-col :span="1">-->
+            <!--<el-tag>附件</el-tag>-->
+          <!--</el-col >-->
+          <!--<el-col :span="22">-->
+            <!--<span class="hg" v-for="site in fujianpath">-->
+            <!--<img  :src="devapi + site" alt="">-->
+          <!--</span></el-col>-->
+        <!--</el-row>-->
+      </el-card>
+      <el-row>
+        <p class="text">
+          <el-row>
+            <span class="hg" v-for="site in fujianpath">
+            <img  :src="devapi + site" alt="">
+          </span>
+          </el-row>
+          <el-row>
+            {{form.mailContent}}
+          </el-row>
+
+
+        </p>
+      </el-row>
+
+    </div>
+</template>
+
+<script>
+  import { listDetail, getDetail, delDetail, addDetail, updateDetail, exportDetail } from "@/api/system/email/detail";
+
+  export default {
+    name: 'receiptdetails',
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        names:[],
+        // 非单个禁用
+        single: true,
+        single1: true,
+        // 非多个禁用
+        multiple: true,
+        multiple1: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        detailList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          readFlag: undefined,
+          readTime: undefined,
+          status: undefined,
+          deleteTime: undefined,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        },
+        fujianpath:'',
+        devapi:'',
+      };
+    },
+    created() {
+      this.info()
+      this.getList();
+      this.asd();
+
+
+    },
+    methods: {
+      info(row){
+        // console.log(this.$route.params)
+        // console.log(senderName);
+        // this.$route.params
+        // console.log(this.$route.query.senderName[0])
+        // this.username = this.$route.params;
+        // this.receiverName = this.$route.params
+        console.log(this.$route.query.id);
+        // console.log(this.$route.params);
+        const mailDetailGuid = this.$route.query.id
+        getDetail(mailDetailGuid).then(response => {
+          // this.form = response.data;
+          this.form = response.data[0];
+          this.fujianpath = this.form.filePath;
+          // console.log(response.data);
+          this.fujianpath =this.fujianpath.split(',')
+          this.devapi = process.env.VUE_APP_BASE_API
+          // this.open = true;
+          // this.title = "修改【请填写功能名称】";
+        });
+      },
+      asd(){
+        var str = this.path;
+        var res = str.split(',')
+        console.log(res);
+      },
+
+
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        listDetail(this.queryParams).then(response => {
+          this.detailList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+        this.getList();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailDetailGuid: undefined,
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          readFlag: undefined,
+          readTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailDetailGuid)
+        this.names = selection.map(item => item.senderName)
+        this.single = selection.length!=1
+        this.single1 = selection.length!=1
+        this.multiple = !selection.length
+        this.multiple1 = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+
+
+
+        // this.reset();
+        const mailDetailGuid = row.mailDetailGuid || this.ids
+        console.log(mailDetailGuid);
+        this.$router.push({path:'/Emile/receiveList/xiangqing',query: {id:mailDetailGuid[0] }})
+
+        getDetail(mailDetailGuid).then(response => {
+          // this.form = response.data;
+          this.form = response.data[0];
+          console.log(response.data);
+          // this.open = true;
+          this.title = "修改【请填写功能名称】";
+        });
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailDetailGuid != undefined) {
+              updateDetail(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addDetail(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailDetailGuids = row.mailDetailGuid || this.ids;
+        console.log(mailDetailGuids);
+        this.$confirm('是否确认删除【请填写功能名称】编号为"' + mailDetailGuids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delDetail(mailDetailGuids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportDetail(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+  .box{
+    margin: 10px;
+    background: #eff2f7;
+  }
+  .box-card{
+    background: #eff2f7;
+  }
+  .el-row{
+    margin-bottom: 8px;
+  }
+  .el-tag{
+    margin-right: 10px;
+  }
+  .title{
+    font-size: 20px;
+  }
+  .hg{
+    line-height: 30px;
+  }
+  .text{
+    span{
+      margin: 20px;
+    }
+    padding: 0 20px;
+  }
+
+</style>

+ 268 - 0
src/views/system/email/replyinfo.vue

@@ -0,0 +1,268 @@
+<template>
+<div>
+  <div class="app-container">
+    <el-form  ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form-item label="收件人" prop="receiverName">
+        <el-input v-model="receiverName" placeholder="请选择收件人" clearable="true">
+          <template slot="append">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleSelect"
+            >选择人员</el-button>
+          </template>
+        </el-input>
+        <el-input v-model="receiverAccount" v-show="false"/>
+      </el-form-item>
+      <el-form-item label="主题" prop="mailTheme">
+        <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" />
+      </el-form-item>
+      <el-form-item label="附件">
+        <el-upload
+          class="upload-file"
+          :before-upload="handleBefore"
+          :on-preview="handlePreview"
+          :on-success="handleSuccess"
+          :on-remove="handleRemove"
+          :show-file-list="true"
+          :file-list="mail.oldFileList"
+          :action=actionUp
+          multiple
+        >
+          <el-button
+            class="filter-item"
+            type="primary"
+            icon="el-icon-upload"
+            size="mini"
+          >上传</el-button>
+        </el-upload>
+        <ul v-show="!!mail.oldFileList.length" class="old-file-list"></ul>
+      </el-form-item>
+      <el-form-item label="邮件内容" prop="mailContent" style="height: 250px;">
+        <Editor v-model="form.mailContent" />
+      </el-form-item>
+      <el-input v-model="status" v-show="false"/>
+      <el-form-item style="text-align:center;">
+        <el-button type="primary" @click="submitForm(1)">发 送</el-button>
+        <el-button @click="submitForm(0)">保存草稿</el-button>
+      </el-form-item>
+    </el-form>
+    <!-- 选择人员对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="ryform" :model="ryform" label-width="80px">
+        <el-input v-model="filterText" placeholder="请输入姓名或账号按回车进行搜索" suffix-icon="el-icon-search"/>
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          default-expand-all
+          @node-click="handleNodeClick"
+          show-checkbox
+        />
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">取 消</el-button>
+        <el-button type="primary" @click="submitRen">选 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</div>
+</template>
+
+<script>
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo,selectRen,treeselect as deptTreeselect } from "@/api/system/email/send";
+  import Editor from '@/components/Editor';
+  import Treeselect from "@riophae/vue-treeselect";
+  export default {
+    name: 'replyinfo',
+    components: {
+      Editor,
+      Treeselect
+    },
+    data() {
+      return {
+
+        // 遮罩层
+        loading: true,
+        // 【请填写功能名称】表格数据
+        infoList: [],
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          mailTheme: [
+            { required: true, message: "主题不能为空", trigger: "blur" }
+          ]
+        },
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        options1: "",
+        deptOptions: undefined,
+        receiverName: "", // 收件人的昵称
+        receiverAccount: "", // 收件人的账号
+        filterText: '',  //人员选择器中的 筛选
+        mail: {
+          oldFileList: [],
+          oldAudioList: [],
+          content: '',
+          target: [],
+          copy: [],
+          fileList: [],
+          audioList: []
+        },
+        actionUp:process.env.VUE_APP_BASE_API +'/system/email/info/uploadfile',//接口地址
+      };
+    },
+    created() {
+      //this.getList();
+      this.getDeptTreeselect();
+      this.info();
+    },
+    methods: {
+
+      info(){
+        // console.log(this.$route.params)
+        // console.log(senderName);
+        // this.$route.params
+        // console.log(this.$route.query.senderName[0])
+        // this.username = this.$route.params;
+        // this.receiverName = this.$route.params
+        console.log(this.$route.query.id);
+          // console.log(this.$route.params);
+          this.receiverName = this.$route.query.id
+      },
+
+
+      // 人员选择器----取消按钮
+      cancel() {
+        this.open = false;
+        this.filterText='';
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: "0",
+        };
+        this.receiverName='';
+        this.receiverAccount='';
+        this.resetForm("form");
+      },
+      /** 写信==发送status=1、保存草稿status=0按钮 */
+      submitForm: function(status) {
+        this.form.status = status;
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            this.form.receiverAccount = this.receiverAccount;
+            this.form.receiverName = this.receiverName;
+            if(status==1){
+              if (this.form.receiverName.length < 1 || this.form.receiverAccount.length < 1) {
+                this.$message({
+                  showClose: true,
+                  message: '收件人不能为空',
+                  type: 'warning',
+                  duration: 1200
+                });
+                return;
+              }
+            }
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  //this.getList();
+                }
+              });
+            } else {
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.reset();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 加载修改树结构json */
+      findZNodes: function () {
+        selectRen(this.queryParams).then(response => {
+          this.options1 = response.data;
+        });
+      },
+      /** 查询部门树结构 */
+      getDeptTreeselect() {
+        deptTreeselect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** 写信中的 选择人员 按钮弹窗操作 */
+      handleSelect() {
+        this.open = true;
+        this.title = "选择收件人";
+      },
+      /** 人员选择器中的 选定按钮操作 */
+      submitRen(){
+        this.receiverName ='冯瑞';
+        this.receiverAccount='fengrui';
+        this.open = false;
+      },
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.label.indexOf(value) !== -1;
+      },
+      handleBefore(file) {
+        // 上传前可以对要上传文件进行控制
+        if (file.type.indexOf("image/") == -1) {
+          this.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。");
+        }
+      },
+      handleSuccess(file, fileInfo) {
+        this.mail.fileList.push({
+          name: fileInfo.name,
+          uuid: fileInfo.uid,
+          url: fileInfo.url
+        });
+      },
+      handlePreview(file) {
+        // 预览,一些文件因为格式问题无法预览。推荐使用a标签,src为文件的下载地址,点击即可下载,参照录音
+        window.open(file.url);
+      },
+      handleRemove(file) {
+        // 移除
+        this.mail.fileList.forEach((item, index) => {
+          if (item.uuid === file.uid) {
+            this.mail.fileList.splice(index, 1);
+          }
+        });
+      }
+    },
+    watch: {
+      /** 人员选择器中的 筛选 */
+      filterText(val) {
+        this.$refs.tree.filter(val);
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+
+  .el-input-group__append, .el-input-group__prepend{
+    background: #188efd !important;
+    color: #fff !important;
+  }
+
+
+</style>

+ 277 - 0
src/views/system/email/send.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="app-container">
+    <el-form  ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form-item label="收件人" prop="receiverName">
+        <el-input v-model="receiverName" placeholder="请选择收件人" clearable="true">
+          <template slot="append">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleSelect"
+            >选择人员</el-button>
+          </template>
+        </el-input>
+        <el-input v-model="receiverAccount" v-show="false"/>
+      </el-form-item>
+      <el-form-item label="主题" prop="mailTheme">
+        <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" />
+      </el-form-item>
+<!--      :on-success="handleSuccess"-->
+      <el-form-item label="附件">
+        <el-upload
+          class="upload-file"
+          :before-upload="handleBefore"
+          :before-remove="beforeRemove"
+          :on-preview="handlePreview"
+          :on-remove="handleRemove"
+          :show-file-list="true"
+          :file-list="mail.oldFileList"
+          :action=actionUp
+          multiple
+          :http-request="fileRequest"
+        >
+          <div slot="tip" class="el-upload__tip"></div>
+          <el-button
+            class="filter-item"
+            type="primary"
+            icon="el-icon-upload"
+            size="mini"
+          >上传</el-button>
+        </el-upload>
+
+        <ul v-show="!!mail.oldFileList.length" class="old-file-list"></ul>
+      </el-form-item>
+      <el-form-item label="邮件内容" prop="mailContent" style="height: 250px;">
+        <Editor v-model="form.mailContent" />
+      </el-form-item>
+      <el-input v-model="status" v-show="false"/>
+      <el-input v-model="fileName" v-show="false"/>
+      <el-input v-model="filePath" v-show="false"/>
+      <el-form-item style="text-align:center;">
+        <el-button type="primary" @click="submitForm(1)">发 送</el-button>
+        <el-button @click="submitForm(0)">保存草稿</el-button>
+      </el-form-item>
+    </el-form>
+
+    <!-- 选择人员对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <SelectRen ref="renlist"/>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">取 消</el-button>
+        <el-button type="primary" @click="submitRen">选 定</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo,selectRen,treeselect as deptTreeselect ,uploadFujian} from "@/api/system/email/send";
+  import Editor from '@/components/Editor';
+  import Treeselect from "@riophae/vue-treeselect";
+  import SelectRen from '@/components/SelectRen';
+
+  export default {
+    name: "Info",
+    components: {
+      Editor,
+      Treeselect,
+      SelectRen
+    },
+    data() {
+      return {
+        // 选中数组
+        ids: [],
+        // 遮罩层
+        loading: true,
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          mailTheme: [
+            { required: true, message: "主题不能为空", trigger: "blur" }
+          ]
+        },
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        options1: "",
+        deptOptions: undefined,
+        receiverName: "", // 收件人的昵称
+        receiverAccount: "", // 收件人的账号
+        filterText: '',  //人员选择器中的 筛选
+        mail: {
+          oldFileList: [],
+          fileList: []
+        },
+        actionUp:'aaaa',//接口地址
+        fujianName:'',
+        fujianPath:''
+      };
+    },
+    created() {
+      //this.getList();
+      this.getDeptTreeselect();
+      },
+    methods: {
+      // 人员选择器----取消按钮
+      cancel() {
+        this.open = false;
+        this.filterText='';
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: "0",
+        };
+        this.receiverName='';
+        this.receiverAccount='';
+        this.fujianName='';
+        this.fujianPath='';
+        this.mail.oldFileList=[];
+        this.mail.fileList=[];
+        this.resetForm("form");
+      },
+      /** 写信==发送status=1、保存草稿status=0按钮 */
+      submitForm: function(status) {
+        this.form.status = status;
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            this.form.receiverAccount = this.receiverAccount;
+            this.form.receiverName = this.receiverName;
+            if(this.fujianName!='' && this.fujianPath!=''){
+              this.form.fileName = this.fujianName.substring(0, this.fujianName.length - 1);
+              this.form.filePath = this.fujianPath.substring(0, this.fujianPath.length - 1);
+            }
+
+            if(status==1){
+              if (this.form.receiverName.length < 1 || this.form.receiverAccount.length < 1) {
+                this.$message({
+                  showClose: true,
+                  message: '收件人不能为空',
+                  type: 'warning',
+                  duration: 1200
+                });
+                return;
+              }
+            }
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  //this.getList();
+                }
+              });
+            } else {
+              // let reg=new RegExp('"','g')//g代表全部
+              // this.form.mailContent=this.form.mailContent.replace(reg,"'");
+              //console.log(JSON.stringify(this.form))
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.reset();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 加载修改树结构json */
+      findZNodes: function () {
+        selectRen(this.queryParams).then(response => {
+            this.options1 = response.data;
+        });
+      },
+      /** 查询部门树结构 */
+      getDeptTreeselect() {
+        deptTreeselect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** 写信中的 选择人员 按钮弹窗操作 */
+      handleSelect() {
+        this.open = true;
+        this.title = "选择收件人";
+      },
+      /** 人员选择器中的 选定按钮操作 */
+      submitRen(){
+        this.receiverName =this.$refs.renlist.names.join(',');
+        this.receiverAccount=this.$refs.renlist.accounts.join(',');
+        this.open = false;
+      },
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.label.indexOf(value) !== -1;
+      },
+      handleBefore(file) {
+        // 上传前可以对要上传文件进行控制
+        // if (file.type.indexOf("image/") == -1) {
+        //   this.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。");
+        // }
+      },
+      handleSuccess(file, fileInfo) {
+        console.log(fileInfo);
+        this.mail.fileList.push({
+          name: fileInfo.name,
+          uuid: fileInfo.uid,
+          url: fileInfo.url
+        });
+      },
+      handlePreview(file) {
+        // 预览,一些文件因为格式问题无法预览。推荐使用a标签,src为文件的下载地址,点击即可下载,参照录音
+
+        window.open(file.url);
+      },
+      handleRemove(file) {
+        // 移除
+        this.mail.fileList.forEach((item, index) => {
+          console.log(item);
+          if (item.uuid === file.uid) {
+            this.mail.fileList.splice(index, 1);
+            //删除
+          }
+        });
+      },
+      beforeRemove(file, fileList) {
+        return this.$confirm(`确定移除 ${ file.name }?`);
+      },
+      fileRequest(item) {
+        let uploadData = new FormData()
+        uploadData.append('file',item.file)
+        uploadFujian(uploadData).then(response => {
+          if (response.code === 200) {
+            this.fujianName += response.fileName+',';
+            this.fujianPath += response.url+',';
+            this.mail.oldFileList.push({
+              name: response.fileName,
+              url: process.env.VUE_APP_BASE_API+response.url
+            });
+            this.msgSuccess("上传成功");
+          }
+        });
+      }
+    },
+    watch: {
+      /** 人员选择器中的 筛选 */
+      filterText(val) {
+        this.$refs.tree.filter(val);
+      }
+    }
+  };
+</script>
+
+<style>
+  .el-input-group__append, .el-input-group__prepend{
+    background: #188efd !important;
+    color: #fff !important;
+  }
+</style>

+ 299 - 0
src/views/system/email/senddetails.vue

@@ -0,0 +1,299 @@
+<template>
+  <div class="box">
+    <el-card class="box-card">
+      <el-row class="title">
+        编号为1的邮件
+      </el-row>
+      <el-row :gutter="80">
+        <el-col :span="1">
+          <el-tag>发件人</el-tag>
+        </el-col >
+        <el-col :span="22"><span class="hg">{{form.senderName}}</span></el-col>
+      </el-row>
+      <el-row :gutter="80">
+        <el-col :span="1">
+          <el-tag>时 间</el-tag>
+        </el-col >
+        <el-col :span="22"><span class="hg">{{form.readTime}}</span></el-col>
+      </el-row>
+      <el-row :gutter="80">
+        <el-col :span="1">
+          <el-tag>收件人</el-tag>
+        </el-col >
+        <el-col :span="22"><span class="hg">{{form.receiverName}}</span></el-col>
+      </el-row>
+      <el-row :gutter="80">
+        <el-col :span="1">
+          <el-tag>邮件主题</el-tag>
+        </el-col >
+        <el-col :span="22"><span class="hg">{{form.mailTheme}}</span></el-col>
+      </el-row>
+      <!--<el-row :gutter="80">-->
+      <!--<el-col :span="1">-->
+      <!--<el-tag>附件</el-tag>-->
+      <!--</el-col >-->
+      <!--<el-col :span="22">-->
+      <!--<span class="hg" v-for="site in fujianpath">-->
+      <!--<img  :src="devapi + site" alt="">-->
+      <!--</span></el-col>-->
+      <!--</el-row>-->
+    </el-card>
+    <el-row>
+      <p class="text">
+        <el-row>
+            <span class="hg" v-for="site in fujianpath">
+            <img  :src="devapi + site" alt="">
+          </span>
+        </el-row>
+        <el-row>
+          {{form}}
+          {{form.mailContent}}
+        </el-row>
+
+
+      </p>
+    </el-row>
+
+  </div>
+</template>
+
+<script>
+  // import { listDetail, getDetail, delDetail, addDetail, updateDetail, exportDetail } from "@/api/system/email/detail";
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/system/email/info";
+
+  export default {
+    name: 'senddetails',
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        infoList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        open1: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: undefined,
+          deleteTime: undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        },
+        // fujianpath:'',
+        // devapi:'',
+      };
+    },
+    created() {
+      this.info()
+      this.getList();
+      this.asd();
+    },
+    methods: {
+
+      info(row){
+        // console.log(this.$route.params)
+        // console.log(senderName);
+        // this.$route.params
+        // console.log(this.$route.query.senderName[0])
+        // this.username = this.$route.params;
+        // this.receiverName = this.$route.params
+        console.log(this.$route.query.id);
+        // console.log(this.$route.params);
+        const mailGuid = this.$route.query.id
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          // this.form = response.data[0];
+          console.log(this.form);
+          this.fujianpath = this.form.filePath;
+          console.log(response.data);
+          this.fujianpath =this.fujianpath.split(',')
+          this.devapi = process.env.VUE_APP_BASE_API
+          // this.open = true;
+          // this.title = "修改【请填写功能名称】";
+        });
+      },
+      asd(){
+        var str = this.path;
+        var res = str.split(',')
+        console.log(res);
+      },
+
+      openda(){
+        this.open1 = false;
+      },
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        listInfo(this.queryParams).then(response => {
+          this.infoList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          createTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailGuid)
+        this.single = selection.length!=1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const mailGuid = row.mailGuid || this.ids
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "邮件详情";
+        });
+      },
+      handleUpdate1(row) {
+        this.reset();
+        const mailGuid = row.mailGuid || this.ids
+        // this.$router.push({path:'/Emile/receiveList/senddetails',query: {id:mailGuid }})
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          // this.open1 = true;
+          this.title = "修改【请填写功能名称】";
+        });
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailGuids = row.mailGuid || this.ids;
+        this.$confirm('是否确认删除这一封邮件?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(mailGuids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+  .box{
+    margin: 10px;
+    background: #eff2f7;
+  }
+  .box-card{
+    background: #eff2f7;
+  }
+  .el-row{
+    margin-bottom: 8px;
+  }
+  .el-tag{
+    margin-right: 10px;
+  }
+  .title{
+    font-size: 20px;
+  }
+  .hg{
+    line-height: 30px;
+  }
+  .text{
+    span{
+      margin: 20px;
+    }
+    padding: 0 20px;
+  }
+
+</style>

+ 487 - 0
src/views/system/email/sendeList.vue

@@ -0,0 +1,487 @@
+<template>
+  <div class="app-container">
+<!--    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">-->
+<!--      <el-form-item label="收件人" prop="receiverName">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.receiverName"-->
+<!--          placeholder="请输入收件人"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--&lt;!&ndash;      <el-form-item label="发件人-账号" prop="senderAccount">&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-input&ndash;&gt;-->
+<!--&lt;!&ndash;          v-model="queryParams.senderAccount"&ndash;&gt;-->
+<!--&lt;!&ndash;          placeholder="请输入发件人-账号"&ndash;&gt;-->
+<!--&lt;!&ndash;          clearable&ndash;&gt;-->
+<!--&lt;!&ndash;          size="small"&ndash;&gt;-->
+<!--&lt;!&ndash;          @keyup.enter.native="handleQuery"&ndash;&gt;-->
+<!--&lt;!&ndash;        />&ndash;&gt;-->
+<!--&lt;!&ndash;      </el-form-item>&ndash;&gt;-->
+<!--      <el-form-item label="邮件主题" prop="mailTheme">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.mailTheme"-->
+<!--          placeholder="请输入邮件主题"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="收件邮箱" prop="status">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.receiverAccount"-->
+<!--          placeholder="请输入收件邮箱"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--&lt;!&ndash;      <el-form-item label="邮件状态" prop="status">&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-select v-model="queryParams.status" placeholder="请选择邮件状态" clearable size="small">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-option label="请选择字典生成" value="" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-select>&ndash;&gt;-->
+<!--&lt;!&ndash;      </el-form-item>&ndash;&gt;-->
+<!--&lt;!&ndash;      <el-form-item label="删除时间" prop="deleteTime">&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-date-picker clearable size="small" style="width: 200px"&ndash;&gt;-->
+<!--&lt;!&ndash;                        v-model="queryParams.deleteTime"&ndash;&gt;-->
+<!--&lt;!&ndash;                        type="date"&ndash;&gt;-->
+<!--&lt;!&ndash;                        value-format="yyyy-MM-dd"&ndash;&gt;-->
+<!--&lt;!&ndash;                        placeholder="选择删除时间">&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-date-picker>&ndash;&gt;-->
+<!--&lt;!&ndash;      </el-form-item>&ndash;&gt;-->
+<!--      <el-form-item>-->
+<!--        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
+<!--        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
+<!--      </el-form-item>-->
+<!--    </el-form>-->
+
+    <el-row :gutter="10" class="mb8">
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-plus"-->
+<!--          size="small"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['system:info:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="success"-->
+<!--          icon="el-icon-edit"-->
+<!--          size="small"-->
+<!--          :disabled="single"-->
+<!--          @click="handleUpdate"-->
+<!--          v-hasPermi="['system:info:edit']"-->
+<!--        >修改</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="small"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:info:remove']"
+        >删除</el-button>
+      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          icon="el-icon-download"-->
+<!--          size="small"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['system:info:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+          <el-form-item label="收件人" prop="receiverName">
+            <el-input
+              v-model="queryParams.receiverName"
+              placeholder="请输入收件人"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <!--      <el-form-item label="发件人-账号" prop="senderAccount">-->
+          <!--        <el-input-->
+          <!--          v-model="queryParams.senderAccount"-->
+          <!--          placeholder="请输入发件人-账号"-->
+          <!--          clearable-->
+          <!--          size="small"-->
+          <!--          @keyup.enter.native="handleQuery"-->
+          <!--        />-->
+          <!--      </el-form-item>-->
+          <el-form-item label="邮件主题" prop="mailTheme">
+            <el-input
+              v-model="queryParams.mailTheme"
+              placeholder="请输入邮件主题"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="收件账号" prop="receiverAccount">
+            <el-input
+              v-model="queryParams.receiverAccount"
+              placeholder="请输入收件邮箱"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <!--      <el-form-item label="邮件状态" prop="status">-->
+          <!--        <el-select v-model="queryParams.status" placeholder="请选择邮件状态" clearable size="small">-->
+          <!--          <el-option label="请选择字典生成" value="" />-->
+          <!--        </el-select>-->
+          <!--      </el-form-item>-->
+          <!--      <el-form-item label="删除时间" prop="deleteTime">-->
+          <!--        <el-date-picker clearable size="small" style="width: 200px"-->
+          <!--                        v-model="queryParams.deleteTime"-->
+          <!--                        type="date"-->
+          <!--                        value-format="yyyy-MM-dd"-->
+          <!--                        placeholder="选择删除时间">-->
+          <!--        </el-date-picker>-->
+          <!--      </el-form-item>-->
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+
+    <el-table border v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+        <el-table-column label="邮件状态" width="130" align="center" prop="status">
+          <template slot-scope="scope">
+            <!--{{scope.row}}-->
+            <el-tag v-if="scope.row.status === 0">草稿</el-tag>
+            <el-tag v-else-if="scope.row.status === 1" type="success">发送</el-tag>
+            <el-tag  v-else="scope.row.status === -1" type="info">删除</el-tag>
+          </template>
+        </el-table-column>
+<!--      <el-table-column label="邮件guid" align="center" prop="mailGuid" />-->
+<!--      <el-table-column label="发件人-中文" align="center" prop="senderName" />-->
+<!--      <el-table-column label="发件人-账号" align="center" prop="senderAccount" />-->
+      <el-table-column class="apple" label="收件人" width="180" align="center" prop="receiverName" >
+        <template slot-scope="scope">
+          <el-tooltip class="item" effect="dark"  placement="top">
+            <div slot="content">{{scope.row.receiverAccount}}</div>
+            <span>{{scope.row.receiverName}}</span>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="收件人-账号" align="center" prop="receiverAccount" />-->
+      <el-table-column sortable label="邮件主题" align="center" prop="mailTheme" />
+<!--      <el-table-column label="邮件详细内容" align="center" prop="mailContent" />-->
+
+      <el-table-column sortable label="发送时间" align="center" prop="creataTime" width="180" value-format="yyyy-MM-dd">
+        <template slot-scope="scope">
+          <span>{{scope.row.createTime | format('yyyy-MM-dd hh:mm:ss')}}</span>
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="删除时间" align="center" prop="deleteTime" width="180">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.deleteTime, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--    </el-table>-->
+      <el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="small" type="text"
+            icon="el-icon-document"
+            @click="handleUpdate1(scope.row)"
+          >详情</el-button>
+          <el-button
+            size="small" type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改【请填写功能名称】对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="发件人-中文" prop="senderName">
+          <el-input v-model="form.senderName" placeholder="请输入发件人-中文" />
+        </el-form-item>
+        <el-form-item label="发件人-账号" prop="senderAccount">
+          <el-input v-model="form.senderAccount" placeholder="请输入发件人-账号" />
+        </el-form-item>
+        <el-form-item label="收件人-中文" prop="receiverName">
+          <el-input v-model="form.receiverName" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="收件人-账号" prop="receiverAccount">
+          <el-input v-model="form.receiverAccount" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="邮件主题" prop="mailTheme">
+          <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" />
+        </el-form-item>
+        <el-form-item label="邮件详细内容" prop="mailContent">
+          <el-input v-model="form.mailContent" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="邮件状态">
+          <el-radio-group v-model="form.status">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="删除时间" prop="deleteTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.deleteTime"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择删除时间">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 详情对话框 -->
+    <el-dialog title="邮件详情" :visible.sync="open1" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <!--<el-form-item label="发件人" prop="senderName">-->
+          <!--<el-input v-model="form.senderName" placeholder="请输入发件人" :disabled="true" />-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="发件人-账号" prop="senderAccount">-->
+          <!--<el-input v-model="form.senderAccount" placeholder="请输入发件人-账号" :disabled="true" />-->
+        <!--</el-form-item>-->
+        <el-form-item label="收件人" prop="receiverName">
+          <el-input v-model="form.receiverName" type="textarea" placeholder="请输入内容" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="收件人-账号" prop="receiverAccount">
+          <el-input v-model="form.receiverAccount" type="textarea" placeholder="请输入内容" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="邮件主题" prop="mailTheme">
+          <el-input v-model="form.mailTheme" placeholder="请输入邮件主题" :disabled="true" />
+        </el-form-item>
+        <el-form-item label="邮件详细内容" prop="mailContent">
+          <el-input v-model="form.mailContent" type="textarea" placeholder="请输入内容" :disabled="true" />
+        </el-form-item>
+<!--        <el-form-item label="邮件状态">-->
+<!--          <el-radio-group v-model="form.status">-->
+<!--            <el-radio label="1">请选择字典生成</el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="删除时间" prop="deleteTime">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.deleteTime"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择删除时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="openda">关 闭</el-button>
+        <el-button @click="openda">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/system/email/info";
+  export default {
+    name: "Info",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        infoList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+          open1: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          status: undefined,
+          deleteTime: undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        }
+      };
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+
+        openda(){
+            this.open1 = false;
+        },
+      /** 查询【请填写功能名称】列表 */
+      getList() {
+        this.loading = true;
+        listInfo(this.queryParams).then(response => {
+          this.infoList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          mailGuid: undefined,
+          senderName: undefined,
+          senderAccount: undefined,
+          receiverName: undefined,
+          receiverAccount: undefined,
+          mailTheme: undefined,
+          mailContent: undefined,
+          createTime: undefined,
+          status: "0",
+          deleteTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.mailGuid)
+        this.single = selection.length!=1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加【请填写功能名称】";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const mailGuid = row.mailGuid || this.ids
+        getInfo(mailGuid).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "邮件详情";
+        });
+      },
+        handleUpdate1(row) {
+            this.reset();
+            const mailGuid = row.mailGuid || this.ids
+          this.$router.push({path:'/Emile/sendList/senddetails',query: {id:mailGuid }})
+            getInfo(mailGuid).then(response => {
+                this.form = response.data;
+                // this.open1 = true;
+                this.title = "修改【请填写功能名称】";
+            });
+        },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.mailGuid != undefined) {
+              updateInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addInfo(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const mailGuids = row.mailGuid || this.ids;
+        this.$confirm('是否确认删除这一封邮件?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(mailGuids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    }
+  };
+</script>
+
+<style lang="less" scoped>
+  .apple{
+    width: 150px;
+    overflow :hidden;
+    white-space :nowrap;
+    text-overflow: ellipsis;
+  }
+
+</style>