<!-- 资产管理 -- 电子邮件 --> <template> <div class="L-main" id="L-size-main"> <div class="content-search" id="L-header"> <div class="search-title">查询条件</div> <el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline"> <el-row> <!-- <el-col :span="7"> <el-form-item label="所属单位:" prop="dwmc"> <el-input v-model="formInline.dwmc" placeholder="请输入所属单位"></el-input> </el-form-item> </el-col> --> <el-col :span="7"> <el-form-item label="电子邮箱后缀:" prop="dzyxhz"> <el-input v-model="formInline.dzyxhz" placeholder="请输入电子邮箱后缀"></el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="邮件系统状态:" prop="xtzt"> <el-select v-model="formInline.xtzt" placeholder="请选择邮件系统状态"> <el-option v-for="dict in dict.type.email_state" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="3" style="text-align: right;"> <el-form-item class="unit-form"> <el-button size="mini" @click="resetQuery('queryFrom')">重置</el-button> <el-button size="mini" type="primary" @click="handleQuery('queryFrom')">查询</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> <main> <div class="search-title"> <span class="search-title-span">资产列表</span> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" >导出</el-button> </el-col> </el-row> </div> <section> <el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader"> <el-table-column type="index" width="50" label="序号" align="center"/> <el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" /> <el-table-column label="电子邮箱后缀" key="dzyxhz" prop="dzyxhz" align="center" /> <el-table-column label="邮件系统供应商" key="yjxtgys" prop="yjxtgys" align="center"> <!-- <template slot-scope="scope"> <dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/> </template> --> </el-table-column> <el-table-column label="新增时间" key="createTime" prop="createTime" align="center" /> <el-table-column label="邮件系统状态" key="status" prop="status" class-name="table-status" align="center"> <template slot-scope="scope"> <span v-if="scope.row.yjxtzc == 1" style="color: #16B771;"> 正常 </span> <span v-if="scope.row.yjxtzc == 2" style="color: #F58A0C;"> 停用 </span> </template> </el-table-column> <el-table-column label="操作" prop="userId" class-name="table-operation" align="center"> <template slot-scope="scope"> <div style="display: flex;align-items: center;justify-content: center;"> <div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)"> <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;margin-right: 15px;">查看</span> </div> <div v-if="!scope.row.auditState || scope.row.auditState == 2" style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,2)"> <img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span> </div> </div> </template> </el-table-column> </el-table> </section> <my-pagination id="L-pagination" :total="total" :page="formInline.current" :limit="formInline.size" @pagination="getPagination" :current-page.sync="formInline.current" ></my-pagination> </main> </div> </template> <script> import myPagination from "@/views/components/Pagination/index.vue" // import myDialog from "@/views/components/myDialog/index.vue" import { assetEmailList, deleteAssetEmail } from "@/api/auditPagesApi/index"; export default { dicts: ['zc_xtzt','zc_xtlx', 'email_state'], components:{myPagination}, data() { return { formInline:{ dzyxhz:"", xtzt:"", // startTime:"", // endTime:"", current:1, size:10, }, // time:[], total:0, tableData:[], loading:false, tabHeader: undefined, } }, mounted(){ this.getList(); this.cancalDebounce(); window.addEventListener('resize', this.cancalDebounce); }, destroyed() { window.removeEventListener('resize', this.cancalDebounce); }, methods:{ // 获取列表 getList(){ this.loading = true; assetEmailList(this.formInline).then(res=>{ this.loading = false; this.total = res.data.total; this.tableData = res.data.records; }) }, // 重置 resetQuery(){ this.resetForm("queryForm"); // this.time = []; this.handleQuery(); }, // 查询 handleQuery(){ this.formInline.current = 1; // if(this.time) { // this.formInline.startTime = this.time[0] // this.formInline.endTime = this.time[1] // } this.getList(); }, // 页码获取 getPagination(pages){ this.formInline.current = pages.page; this.formInline.size = pages.limit; this.getList(); }, // 导入 handleImport(){ this.upload.open = true; }, // 导出 handleExport(){ this.download('/tc/assetEmail/export', { ...this.formInline }, `电子邮件资产${new Date().getTime()}.xlsx`) }, // 查看详情 goInfo(row,id){ this.$router.push({name: 'myAssetsAuth',query: { pageType: id == 1 ? "look" : "change", type:3, id:row.id }}) }, // 修改table背景色 tableRowClassName({row, rowIndex}){ if (rowIndex % 2 !== 0) { return 'evenNumber-row'; } return ''; }, // 屏幕尺寸变化 cancalDebounce(){ const element = document.getElementById('L-size-main'); // 通过元素的 ID 获取元素 const header = document.getElementById('L-header'); // 通过元素的 ID 获取元素 const pagination = document.getElementById('L-pagination'); // 通过元素的 ID 获取元素 const elementHeight = element.offsetHeight; const headerHeight = header.offsetHeight; const paginationtHeight = pagination.offsetHeight; this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110; } }, } </script>