|
@@ -1,92 +1,14 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
- <el-form-item label="类型 1-发送 2-抄送" prop="type">
|
|
|
+ <el-form-item label="发送类型" prop="type">
|
|
|
<el-select v-model="queryParams.type" placeholder="请选择类型 1-发送 2-抄送" clearable size="small">
|
|
|
- <el-option label="请选择字典生成" value="" />
|
|
|
+ <el-option label="发送" value="1" />
|
|
|
+ <el-option label="抄送" value="2" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="装置" prop="plantCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.plantCode"
|
|
|
- placeholder="请输入装置"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="负责人姓名" prop="userName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.userName"
|
|
|
- placeholder="请输入负责人姓名"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="???
|
|
|
-" prop="createrCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.createrCode"
|
|
|
- placeholder="请输入???
|
|
|
-"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建日期" prop="createdate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="queryParams.createdate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择创建日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新人" prop="updaterCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.updaterCode"
|
|
|
- placeholder="请输入更新人"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新日期" prop="updatedate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="queryParams.updatedate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择更新日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="部门编号" prop="deptId">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.deptId"
|
|
|
- placeholder="请输入部门编号"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注" prop="remarks">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.remarks"
|
|
|
- placeholder="请输入备注"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="员工号,userId" prop="staffid">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.staffid"
|
|
|
- placeholder="请输入员工号,userId"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+
|
|
|
+
|
|
|
<el-form-item>
|
|
|
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
@@ -123,49 +45,19 @@
|
|
|
v-hasPermi="['plant:email:remove']"
|
|
|
>删除</el-button>
|
|
|
</el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="info"
|
|
|
- icon="el-icon-upload2"
|
|
|
- size="mini"
|
|
|
- @click="handleImport"
|
|
|
- v-hasPermi="['plant:email:edit']"
|
|
|
- >导入</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="warning"
|
|
|
- icon="el-icon-download"
|
|
|
- size="mini"
|
|
|
- @click="handleExport"
|
|
|
- v-hasPermi="['plant:email:export']"
|
|
|
- >导出</el-button>
|
|
|
- </el-col>
|
|
|
+
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="emailList" @selection-change="handleSelectionChange" :height="clientHeight" border>
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="唯一标识id" align="center" prop="id" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="类型 1-发送 2-抄送" align="center" prop="type" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="装置" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="负责人姓名" align="center" prop="userName" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="???
|
|
|
-" align="center" prop="createrCode" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="创建日期" align="center" prop="createdate" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="更新人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="更新日期" align="center" prop="updatedate" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="发送类型" align="center" prop="type" :formatter="statusFormat" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="发送人姓名" align="center" prop="userName" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="发送人部门" align="center" prop="userDept" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="发送人邮箱" align="center" prop="userEmail" :show-overflow-tooltip="true"/>
|
|
|
+
|
|
|
<el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="员工号,userId" align="center" prop="staffid" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="数据归属" align="center" prop="deptName" :show-overflow-tooltip="true"/>
|
|
|
<el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
@@ -197,53 +89,33 @@
|
|
|
<!-- 添加或修改会议邮件配置对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="类型 1-发送 2-抄送" prop="type">
|
|
|
- <el-select v-model="form.type" placeholder="请选择类型 1-发送 2-抄送">
|
|
|
- <el-option label="请选择字典生成" value="" />
|
|
|
+ <el-form-item label="类型" prop="type">
|
|
|
+ <el-select v-model="form.type" placeholder="请选择类型 ">
|
|
|
+ <el-option label="发送" value="1" />
|
|
|
+ <el-option label="抄送" value="2" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="装置" prop="plantCode">
|
|
|
- <el-input v-model="form.plantCode" placeholder="请输入装置" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="负责人姓名" prop="userName">
|
|
|
- <el-input v-model="form.userName" placeholder="请输入负责人姓名" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="删除标识" prop="delFlag">
|
|
|
- <el-input v-model="form.delFlag" placeholder="请输入删除标识" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="???
|
|
|
-" prop="createrCode">
|
|
|
- <el-input v-model="form.createrCode" placeholder="请输入???
|
|
|
-" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建日期" prop="createdate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="form.createdate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择创建日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新人" prop="updaterCode">
|
|
|
- <el-input v-model="form.updaterCode" placeholder="请输入更新人" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新日期" prop="updatedate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="form.updatedate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择更新日期">
|
|
|
- </el-date-picker>
|
|
|
+
|
|
|
+ <el-form-item label="发送人姓名" prop="staffid">
|
|
|
+ <el-select v-model="form.staffid" filterable :placeholder="$t('请选择') + $t('负责人姓名')" filterable @change="pricipalChange($event)">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in stffmgrOptions"
|
|
|
+ :key="dict.userId"
|
|
|
+ :label="dict.nickName"
|
|
|
+ :value="dict.staffId">
|
|
|
+ <span style="float: left">{{ dict.nickName }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.staffid }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="部门编号" prop="deptId">
|
|
|
- <el-input v-model="form.deptId" placeholder="请输入部门编号" />
|
|
|
+ <el-form-item label="发送人邮箱" prop="principalEmail">
|
|
|
+ <el-input v-model="stffmgrEmail" placeholder="发送人邮箱" disabled/>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
<el-input v-model="form.remarks" placeholder="请输入备注" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="员工号,userId" prop="staffid">
|
|
|
- <el-input v-model="form.staffid" placeholder="请输入员工号,userId" />
|
|
|
- </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="归属部门" prop="deptId">
|
|
|
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
|
|
|
</el-form-item>
|
|
@@ -254,35 +126,6 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 用户导入对话框 -->
|
|
|
- <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
|
|
- <el-upload
|
|
|
- ref="upload"
|
|
|
- :limit="1"
|
|
|
- accept=".xlsx, .xls"
|
|
|
- :headers="upload.headers"
|
|
|
- :action="upload.url + '?updateSupport=' + upload.updateSupport"
|
|
|
- :disabled="upload.isUploading"
|
|
|
- :on-progress="handleFileUploadProgress"
|
|
|
- :on-success="handleFileSuccess"
|
|
|
- :auto-upload="false"
|
|
|
- drag
|
|
|
- >
|
|
|
- <i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">
|
|
|
- 将文件拖到此处,或
|
|
|
- <em>点击上传</em>
|
|
|
- </div>
|
|
|
- <div class="el-upload__tip" slot="tip">
|
|
|
- <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
|
|
|
- <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
|
|
|
- </div>
|
|
|
- <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
|
|
|
- </el-upload>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitFileForm">确 定</el-button>
|
|
|
- <el-button @click="upload.open = false">取 消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -292,6 +135,7 @@ import { treeselect } from "@/api/system/dept";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
+import {listPostUser} from "@/api/system/user";
|
|
|
|
|
|
export default {
|
|
|
name: "Email",
|
|
@@ -306,12 +150,15 @@ export default {
|
|
|
single: true,
|
|
|
// 非多个禁用
|
|
|
multiple: true,
|
|
|
+ //负责人邮箱变化值
|
|
|
+ stffmgrEmail: null,
|
|
|
// 显示搜索条件
|
|
|
showSearch: false,
|
|
|
// 总条数
|
|
|
total: 0,
|
|
|
// 会议邮件配置表格数据
|
|
|
emailList: [],
|
|
|
+ stffmgrOptions: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 部门树选项
|
|
@@ -334,6 +181,11 @@ export default {
|
|
|
// 上传的地址
|
|
|
url: process.env.VUE_APP_BASE_API + "/plant/email/importData"
|
|
|
},
|
|
|
+ //人员表查询参数
|
|
|
+ staffmgrQueryParams: {
|
|
|
+ staffid: null,
|
|
|
+ haveEmail: 1
|
|
|
+ },
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -352,7 +204,17 @@ export default {
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
+ // 表单校验
|
|
|
rules: {
|
|
|
+ deptId: [
|
|
|
+ { required: true, message: this.$t('不能为空'), trigger: "change" }
|
|
|
+ ],
|
|
|
+ staffid: [
|
|
|
+ { required: true, message: this.$t('不能为空'), trigger: "blur" }
|
|
|
+ ],
|
|
|
+ type: [
|
|
|
+ { required: true, message: this.$t('不能为空'), trigger: "blur" }
|
|
|
+ ],
|
|
|
}
|
|
|
};
|
|
|
},
|
|
@@ -367,6 +229,7 @@ export default {
|
|
|
this.$nextTick(() => {
|
|
|
this.clientHeight = document.body.clientHeight -250
|
|
|
})
|
|
|
+ this.getStaffmar()
|
|
|
this.getList();
|
|
|
this.getTreeselect();
|
|
|
},
|
|
@@ -379,6 +242,37 @@ export default {
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
|
});
|
|
|
+ },
|
|
|
+ //获取人员表
|
|
|
+ getStaffmar() {
|
|
|
+ listPostUser(this.queryParams).then(response => {
|
|
|
+ this.stffmgrOptions = response;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 负责人变换操作 */
|
|
|
+ pricipalChange(val) {
|
|
|
+ let _this = this
|
|
|
+ this.staffmgrQueryParams.staffid = val
|
|
|
+ console.log(val)
|
|
|
+ this.stffmgrOptions.forEach(function (item, index) {
|
|
|
+ if (item.staffId == val) {
|
|
|
+ _this.stffmgrEmail = item.email
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 字典翻译
|
|
|
+ statusFormat(row, column) {
|
|
|
+ let type = 'success';
|
|
|
+ if (row.type == 1) {
|
|
|
+ let s = '发送'
|
|
|
+ return <el-tag type={type}>{s}</el-tag>;
|
|
|
+ }
|
|
|
+ if (row.type == 2) {
|
|
|
+ let s = '抄送'
|
|
|
+ type = 'info';
|
|
|
+ return <el-tag type={type}>{s}</el-tag>;
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
/** 查询部门下拉树结构 */
|
|
|
getTreeselect() {
|
|
@@ -428,6 +322,7 @@ export default {
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
this.reset();
|
|
|
+ this.stffmgrEmail = null;
|
|
|
this.open = true;
|
|
|
this.title = "添加会议邮件配置";
|
|
|
},
|
|
@@ -437,6 +332,7 @@ export default {
|
|
|
const id = row.id || this.ids
|
|
|
getEmail(id).then(response => {
|
|
|
this.form = response.data;
|
|
|
+ this.stffmgrEmail = response.data.userEmail;
|
|
|
this.open = true;
|
|
|
this.title = "修改会议邮件配置";
|
|
|
});
|