作者 平凡

重写表格工具栏右侧添加刷新&显隐查询栏

@@ -66,14 +66,7 @@ @@ -66,14 +66,7 @@
66 v-hasPermi="['${moduleName}:${businessName}:add']" 66 v-hasPermi="['${moduleName}:${businessName}:add']"
67 >新增</el-button> 67 >新增</el-button>
68 </el-col> 68 </el-col>
69 - <div class="top-right-btn">  
70 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
71 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
72 - </el-tooltip>  
73 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
74 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
75 - </el-tooltip>  
76 - </div> 69 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
77 </el-row> 70 </el-row>
78 71
79 <el-table 72 <el-table
@@ -95,14 +95,7 @@ @@ -95,14 +95,7 @@
95 v-hasPermi="['${moduleName}:${businessName}:export']" 95 v-hasPermi="['${moduleName}:${businessName}:export']"
96 >导出</el-button> 96 >导出</el-button>
97 </el-col> 97 </el-col>
98 - <div class="top-right-btn">  
99 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
100 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
101 - </el-tooltip>  
102 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
103 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
104 - </el-tooltip>  
105 - </div> 98 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
106 </el-row> 99 </el-row>
107 100
108 <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange"> 101 <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
@@ -222,5 +222,6 @@ @@ -222,5 +222,6 @@
222 } 222 }
223 223
224 .top-right-btn { 224 .top-right-btn {
  225 + position: relative;
225 float: right; 226 float: right;
226 } 227 }
  1 +<!-- @author Shiyn/ huangmx 20200807优化-->
  2 +<template>
  3 + <div class="top-right-btn">
  4 + <el-row>
  5 + <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">
  6 + <el-button size="mini" circle icon="el-icon-search" @click="clickSearch()" />
  7 + </el-tooltip>
  8 + <el-tooltip class="item" effect="dark" content="刷新" placement="top">
  9 + <el-button size="mini" circle icon="el-icon-refresh" @click="clickFresh()" />
  10 + </el-tooltip>
  11 + </el-row>
  12 + </div>
  13 +</template>
  14 +<script>
  15 +export default {
  16 + name: "TableToolsExt",
  17 + data() {
  18 + return {};
  19 + },
  20 + props: {
  21 + showSearch: {
  22 + type: Boolean,
  23 + default: true,
  24 + },
  25 + },
  26 +
  27 + methods: {
  28 + //搜索
  29 + clickSearch() {
  30 + this.$emit("update:showSearch", !this.showSearch);
  31 + },
  32 + //刷新
  33 + clickFresh() {
  34 + this.$emit("queryTable");
  35 + },
  36 + },
  37 +};
  38 +</script>
@@ -20,6 +20,8 @@ import { getDicts } from "@/api/system/dict/data"; @@ -20,6 +20,8 @@ import { getDicts } from "@/api/system/dict/data";
20 import { getConfigKey } from "@/api/system/config"; 20 import { getConfigKey } from "@/api/system/config";
21 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi"; 21 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
22 import Pagination from "@/components/Pagination"; 22 import Pagination from "@/components/Pagination";
  23 +//自定义表格工具扩展
  24 +import TableToolsExt from "@/components/TableToolsExt"
23 25
24 // 全局方法挂载 26 // 全局方法挂载
25 Vue.prototype.getDicts = getDicts 27 Vue.prototype.getDicts = getDicts
@@ -46,6 +48,7 @@ Vue.prototype.msgInfo = function (msg) { @@ -46,6 +48,7 @@ Vue.prototype.msgInfo = function (msg) {
46 48
47 // 全局组件挂载 49 // 全局组件挂载
48 Vue.component('Pagination', Pagination) 50 Vue.component('Pagination', Pagination)
  51 +Vue.component('TableToolsExt', TableToolsExt)
49 52
50 Vue.use(permission) 53 Vue.use(permission)
51 54
@@ -84,14 +84,7 @@ @@ -84,14 +84,7 @@
84 v-hasPermi="['monitor:job:query']" 84 v-hasPermi="['monitor:job:query']"
85 >日志</el-button> 85 >日志</el-button>
86 </el-col> 86 </el-col>
87 - <div class="top-right-btn">  
88 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
89 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
90 - </el-tooltip>  
91 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
92 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
93 - </el-tooltip>  
94 - </div> 87 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
95 </el-row> 88 </el-row>
96 89
97 <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange"> 90 <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange">
@@ -90,14 +90,7 @@ @@ -90,14 +90,7 @@
90 v-hasPermi="['monitor:job:export']" 90 v-hasPermi="['monitor:job:export']"
91 >导出</el-button> 91 >导出</el-button>
92 </el-col> 92 </el-col>
93 - <div class="top-right-btn">  
94 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
95 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
96 - </el-tooltip>  
97 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
98 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
99 - </el-tooltip>  
100 - </div> 93 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
101 </el-row> 94 </el-row>
102 95
103 <el-table v-loading="loading" :data="jobLogList" @selection-change="handleSelectionChange"> 96 <el-table v-loading="loading" :data="jobLogList" @selection-change="handleSelectionChange">
@@ -84,14 +84,7 @@ @@ -84,14 +84,7 @@
84 v-hasPermi="['system:logininfor:export']" 84 v-hasPermi="['system:logininfor:export']"
85 >导出</el-button> 85 >导出</el-button>
86 </el-col> 86 </el-col>
87 - <div class="top-right-btn">  
88 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
89 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
90 - </el-tooltip>  
91 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
92 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
93 - </el-tooltip>  
94 - </div> 87 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
95 </el-row> 88 </el-row>
96 89
97 <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> 90 <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
3 - <el-form :model="queryParams" ref="queryForm" :inline="true"> 3 + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
4 <el-form-item label="登录地址" prop="ipaddr"> 4 <el-form-item label="登录地址" prop="ipaddr">
5 <el-input 5 <el-input
6 v-model="queryParams.ipaddr" 6 v-model="queryParams.ipaddr"
@@ -23,8 +23,8 @@ @@ -23,8 +23,8 @@
23 <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> 23 <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
24 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> 24 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
25 </el-form-item> 25 </el-form-item>
26 - </el-form>  
27 26
  27 + </el-form>
28 <el-table 28 <el-table
29 v-loading="loading" 29 v-loading="loading"
30 :data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)" 30 :data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)"
@@ -100,14 +100,7 @@ @@ -100,14 +100,7 @@
100 v-hasPermi="['system:config:export']" 100 v-hasPermi="['system:config:export']"
101 >导出</el-button> 101 >导出</el-button>
102 </el-col> 102 </el-col>
103 - <div class="top-right-btn">  
104 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
105 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
106 - </el-tooltip>  
107 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
108 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
109 - </el-tooltip>  
110 - </div> 103 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
111 </el-row> 104 </el-row>
112 105
113 <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> 106 <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
@@ -97,14 +97,7 @@ @@ -97,14 +97,7 @@
97 v-hasPermi="['system:config:remove']" 97 v-hasPermi="['system:config:remove']"
98 >清理缓存</el-button> 98 >清理缓存</el-button>
99 </el-col> 99 </el-col>
100 - <div class="top-right-btn">  
101 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
102 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
103 - </el-tooltip>  
104 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
105 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
106 - </el-tooltip>  
107 - </div> 100 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
108 </el-row> 101 </el-row>
109 102
110 <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange"> 103 <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
@@ -36,14 +36,7 @@ @@ -36,14 +36,7 @@
36 v-hasPermi="['system:dept:add']" 36 v-hasPermi="['system:dept:add']"
37 >新增</el-button> 37 >新增</el-button>
38 </el-col> 38 </el-col>
39 - <div class="top-right-btn">  
40 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
41 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
42 - </el-tooltip>  
43 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
44 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
45 - </el-tooltip>  
46 - </div> 39 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
47 </el-row> 40 </el-row>
48 41
49 <el-table 42 <el-table
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
3 - <el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true"> 3 + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
4 <el-form-item label="字典名称" prop="dictType"> 4 <el-form-item label="字典名称" prop="dictType">
5 <el-select v-model="queryParams.dictType" size="small"> 5 <el-select v-model="queryParams.dictType" size="small">
6 <el-option 6 <el-option
@@ -75,14 +75,7 @@ @@ -75,14 +75,7 @@
75 v-hasPermi="['system:dict:export']" 75 v-hasPermi="['system:dict:export']"
76 >导出</el-button> 76 >导出</el-button>
77 </el-col> 77 </el-col>
78 - <div class="top-right-btn">  
79 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
80 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
81 - </el-tooltip>  
82 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
83 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
84 - </el-tooltip>  
85 - </div> 78 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
86 </el-row> 79 </el-row>
87 80
88 <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> 81 <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
@@ -103,14 +103,7 @@ @@ -103,14 +103,7 @@
103 v-hasPermi="['system:dict:remove']" 103 v-hasPermi="['system:dict:remove']"
104 >清理缓存</el-button> 104 >清理缓存</el-button>
105 </el-col> 105 </el-col>
106 - <div class="top-right-btn">  
107 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
108 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
109 - </el-tooltip>  
110 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
111 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
112 - </el-tooltip>  
113 - </div> 106 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
114 </el-row> 107 </el-row>
115 108
116 <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange"> 109 <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
@@ -36,14 +36,7 @@ @@ -36,14 +36,7 @@
36 v-hasPermi="['system:menu:add']" 36 v-hasPermi="['system:menu:add']"
37 >新增</el-button> 37 >新增</el-button>
38 </el-col> 38 </el-col>
39 - <div class="top-right-btn">  
40 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
41 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
42 - </el-tooltip>  
43 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
44 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
45 - </el-tooltip>  
46 - </div> 39 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
47 </el-row> 40 </el-row>
48 41
49 <el-table 42 <el-table
@@ -65,14 +65,7 @@ @@ -65,14 +65,7 @@
65 v-hasPermi="['system:notice:remove']" 65 v-hasPermi="['system:notice:remove']"
66 >删除</el-button> 66 >删除</el-button>
67 </el-col> 67 </el-col>
68 - <div class="top-right-btn">  
69 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
70 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
71 - </el-tooltip>  
72 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
73 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
74 - </el-tooltip>  
75 - </div> 68 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
76 </el-row> 69 </el-row>
77 70
78 <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange"> 71 <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
@@ -74,14 +74,7 @@ @@ -74,14 +74,7 @@
74 v-hasPermi="['system:post:export']" 74 v-hasPermi="['system:post:export']"
75 >导出</el-button> 75 >导出</el-button>
76 </el-col> 76 </el-col>
77 - <div class="top-right-btn">  
78 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
79 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
80 - </el-tooltip>  
81 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
82 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
83 - </el-tooltip>  
84 - </div> 77 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
85 </el-row> 78 </el-row>
86 79
87 <el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange"> 80 <el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange">
@@ -94,14 +94,7 @@ @@ -94,14 +94,7 @@
94 v-hasPermi="['system:role:export']" 94 v-hasPermi="['system:role:export']"
95 >导出</el-button> 95 >导出</el-button>
96 </el-col> 96 </el-col>
97 - <div class="top-right-btn">  
98 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
99 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
100 - </el-tooltip>  
101 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
102 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
103 - </el-tooltip>  
104 - </div> 97 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
105 </el-row> 98 </el-row>
106 99
107 <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange"> 100 <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
@@ -4,77 +4,28 @@ @@ -4,77 +4,28 @@
4 <!--部门数据--> 4 <!--部门数据-->
5 <el-col :span="4" :xs="24"> 5 <el-col :span="4" :xs="24">
6 <div class="head-container"> 6 <div class="head-container">
7 - <el-input  
8 - v-model="deptName"  
9 - placeholder="请输入部门名称"  
10 - clearable  
11 - size="small"  
12 - prefix-icon="el-icon-search"  
13 - style="margin-bottom: 20px"  
14 - /> 7 + <el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search" style="margin-bottom: 20px" />
15 </div> 8 </div>
16 <div class="head-container"> 9 <div class="head-container">
17 - <el-tree  
18 - :data="deptOptions"  
19 - :props="defaultProps"  
20 - :expand-on-click-node="false"  
21 - :filter-node-method="filterNode"  
22 - ref="tree"  
23 - default-expand-all  
24 - @node-click="handleNodeClick"  
25 - /> 10 + <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" :filter-node-method="filterNode" ref="tree" default-expand-all @node-click="handleNodeClick" />
26 </div> 11 </div>
27 </el-col> 12 </el-col>
28 <!--用户数据--> 13 <!--用户数据-->
29 <el-col :span="20" :xs="24"> 14 <el-col :span="20" :xs="24">
30 <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> 15 <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
31 <el-form-item label="用户名称" prop="userName"> 16 <el-form-item label="用户名称" prop="userName">
32 - <el-input  
33 - v-model="queryParams.userName"  
34 - placeholder="请输入用户名称"  
35 - clearable  
36 - size="small"  
37 - style="width: 240px"  
38 - @keyup.enter.native="handleQuery"  
39 - /> 17 + <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
40 </el-form-item> 18 </el-form-item>
41 <el-form-item label="手机号码" prop="phonenumber"> 19 <el-form-item label="手机号码" prop="phonenumber">
42 - <el-input  
43 - v-model="queryParams.phonenumber"  
44 - placeholder="请输入手机号码"  
45 - clearable  
46 - size="small"  
47 - style="width: 240px"  
48 - @keyup.enter.native="handleQuery"  
49 - /> 20 + <el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
50 </el-form-item> 21 </el-form-item>
51 <el-form-item label="状态" prop="status"> 22 <el-form-item label="状态" prop="status">
52 - <el-select  
53 - v-model="queryParams.status"  
54 - placeholder="用户状态"  
55 - clearable  
56 - size="small"  
57 - style="width: 240px"  
58 - >  
59 - <el-option  
60 - v-for="dict in statusOptions"  
61 - :key="dict.dictValue"  
62 - :label="dict.dictLabel"  
63 - :value="dict.dictValue"  
64 - /> 23 + <el-select v-model="queryParams.status" placeholder="用户状态" clearable size="small" style="width: 240px">
  24 + <el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
65 </el-select> 25 </el-select>
66 </el-form-item> 26 </el-form-item>
67 <el-form-item label="创建时间"> 27 <el-form-item label="创建时间">
68 - <el-date-picker  
69 - v-model="dateRange"  
70 - size="small"  
71 - style="width: 240px"  
72 - value-format="yyyy-MM-dd"  
73 - type="daterange"  
74 - range-separator="-"  
75 - start-placeholder="开始日期"  
76 - end-placeholder="结束日期"  
77 - ></el-date-picker> 28 + <el-date-picker v-model="dateRange" size="small" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
78 </el-form-item> 29 </el-form-item>
79 <el-form-item> 30 <el-form-item>
80 <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> 31 <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -84,60 +35,21 @@ @@ -84,60 +35,21 @@
84 35
85 <el-row :gutter="10" class="mb8"> 36 <el-row :gutter="10" class="mb8">
86 <el-col :span="1.5"> 37 <el-col :span="1.5">
87 - <el-button  
88 - type="primary"  
89 - icon="el-icon-plus"  
90 - size="mini"  
91 - @click="handleAdd"  
92 - v-hasPermi="['system:user:add']"  
93 - >新增</el-button> 38 + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
94 </el-col> 39 </el-col>
95 <el-col :span="1.5"> 40 <el-col :span="1.5">
96 - <el-button  
97 - type="success"  
98 - icon="el-icon-edit"  
99 - size="mini"  
100 - :disabled="single"  
101 - @click="handleUpdate"  
102 - v-hasPermi="['system:user:edit']"  
103 - >修改</el-button> 41 + <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</el-button>
104 </el-col> 42 </el-col>
105 <el-col :span="1.5"> 43 <el-col :span="1.5">
106 - <el-button  
107 - type="danger"  
108 - icon="el-icon-delete"  
109 - size="mini"  
110 - :disabled="multiple"  
111 - @click="handleDelete"  
112 - v-hasPermi="['system:user:remove']"  
113 - >删除</el-button> 44 + <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:user:remove']">删除</el-button>
114 </el-col> 45 </el-col>
115 <el-col :span="1.5"> 46 <el-col :span="1.5">
116 - <el-button  
117 - type="info"  
118 - icon="el-icon-upload2"  
119 - size="mini"  
120 - @click="handleImport"  
121 - v-hasPermi="['system:user:import']"  
122 - >导入</el-button> 47 + <el-button type="info" icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['system:user:import']">导入</el-button>
123 </el-col> 48 </el-col>
124 <el-col :span="1.5"> 49 <el-col :span="1.5">
125 - <el-button  
126 - type="warning"  
127 - icon="el-icon-download"  
128 - size="mini"  
129 - @click="handleExport"  
130 - v-hasPermi="['system:user:export']"  
131 - >导出</el-button> 50 + <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:user:export']">导出</el-button>
132 </el-col> 51 </el-col>
133 - <div class="top-right-btn">  
134 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
135 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
136 - </el-tooltip>  
137 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
138 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
139 - </el-tooltip>  
140 - </div> 52 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
141 </el-row> 53 </el-row>
142 54
143 <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> 55 <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
@@ -149,12 +61,7 @@ @@ -149,12 +61,7 @@
149 <el-table-column label="手机号码" align="center" prop="phonenumber" width="120" /> 61 <el-table-column label="手机号码" align="center" prop="phonenumber" width="120" />
150 <el-table-column label="状态" align="center"> 62 <el-table-column label="状态" align="center">
151 <template slot-scope="scope"> 63 <template slot-scope="scope">
152 - <el-switch  
153 - v-model="scope.row.status"  
154 - active-value="0"  
155 - inactive-value="1"  
156 - @change="handleStatusChange(scope.row)"  
157 - ></el-switch> 64 + <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
158 </template> 65 </template>
159 </el-table-column> 66 </el-table-column>
160 <el-table-column label="创建时间" align="center" prop="createTime" width="160"> 67 <el-table-column label="创建时间" align="center" prop="createTime" width="160">
@@ -162,46 +69,16 @@ @@ -162,46 +69,16 @@
162 <span>{{ parseTime(scope.row.createTime) }}</span> 69 <span>{{ parseTime(scope.row.createTime) }}</span>
163 </template> 70 </template>
164 </el-table-column> 71 </el-table-column>
165 - <el-table-column  
166 - label="操作"  
167 - align="center"  
168 - width="180"  
169 - class-name="small-padding fixed-width"  
170 - > 72 + <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
171 <template slot-scope="scope"> 73 <template slot-scope="scope">
172 - <el-button  
173 - size="mini"  
174 - type="text"  
175 - icon="el-icon-edit"  
176 - @click="handleUpdate(scope.row)"  
177 - v-hasPermi="['system:user:edit']"  
178 - >修改</el-button>  
179 - <el-button  
180 - v-if="scope.row.userId !== 1"  
181 - size="mini"  
182 - type="text"  
183 - icon="el-icon-delete"  
184 - @click="handleDelete(scope.row)"  
185 - v-hasPermi="['system:user:remove']"  
186 - >删除</el-button>  
187 - <el-button  
188 - size="mini"  
189 - type="text"  
190 - icon="el-icon-key"  
191 - @click="handleResetPwd(scope.row)"  
192 - v-hasPermi="['system:user:resetPwd']"  
193 - >重置</el-button> 74 + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
  75 + <el-button v-if="scope.row.userId !== 1" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
  76 + <el-button size="mini" type="text" icon="el-icon-key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']">重置</el-button>
194 </template> 77 </template>
195 </el-table-column> 78 </el-table-column>
196 </el-table> 79 </el-table>
197 80
198 - <pagination  
199 - v-show="total>0"  
200 - :total="total"  
201 - :page.sync="queryParams.pageNum"  
202 - :limit.sync="queryParams.pageSize"  
203 - @pagination="getList"  
204 - /> 81 + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
205 </el-col> 82 </el-col>
206 </el-row> 83 </el-row>
207 84
@@ -248,23 +125,14 @@ @@ -248,23 +125,14 @@
248 <el-col :span="12"> 125 <el-col :span="12">
249 <el-form-item label="用户性别"> 126 <el-form-item label="用户性别">
250 <el-select v-model="form.sex" placeholder="请选择"> 127 <el-select v-model="form.sex" placeholder="请选择">
251 - <el-option  
252 - v-for="dict in sexOptions"  
253 - :key="dict.dictValue"  
254 - :label="dict.dictLabel"  
255 - :value="dict.dictValue"  
256 - ></el-option> 128 + <el-option v-for="dict in sexOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
257 </el-select> 129 </el-select>
258 </el-form-item> 130 </el-form-item>
259 </el-col> 131 </el-col>
260 <el-col :span="12"> 132 <el-col :span="12">
261 <el-form-item label="状态"> 133 <el-form-item label="状态">
262 <el-radio-group v-model="form.status"> 134 <el-radio-group v-model="form.status">
263 - <el-radio  
264 - v-for="dict in statusOptions"  
265 - :key="dict.dictValue"  
266 - :label="dict.dictValue"  
267 - >{{dict.dictLabel}}</el-radio> 135 + <el-radio v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictValue">{{dict.dictLabel}}</el-radio>
268 </el-radio-group> 136 </el-radio-group>
269 </el-form-item> 137 </el-form-item>
270 </el-col> 138 </el-col>
@@ -273,26 +141,14 @@ @@ -273,26 +141,14 @@
273 <el-col :span="12"> 141 <el-col :span="12">
274 <el-form-item label="岗位"> 142 <el-form-item label="岗位">
275 <el-select v-model="form.postIds" multiple placeholder="请选择"> 143 <el-select v-model="form.postIds" multiple placeholder="请选择">
276 - <el-option  
277 - v-for="item in postOptions"  
278 - :key="item.postId"  
279 - :label="item.postName"  
280 - :value="item.postId"  
281 - :disabled="item.status == 1"  
282 - ></el-option> 144 + <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1"></el-option>
283 </el-select> 145 </el-select>
284 </el-form-item> 146 </el-form-item>
285 </el-col> 147 </el-col>
286 <el-col :span="12"> 148 <el-col :span="12">
287 <el-form-item label="角色"> 149 <el-form-item label="角色">
288 <el-select v-model="form.roleIds" multiple placeholder="请选择"> 150 <el-select v-model="form.roleIds" multiple placeholder="请选择">
289 - <el-option  
290 - v-for="item in roleOptions"  
291 - :key="item.roleId"  
292 - :label="item.roleName"  
293 - :value="item.roleId"  
294 - :disabled="item.status == 1"  
295 - ></el-option> 151 + <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
296 </el-select> 152 </el-select>
297 </el-form-item> 153 </el-form-item>
298 </el-col> 154 </el-col>
@@ -313,18 +169,7 @@ @@ -313,18 +169,7 @@
313 169
314 <!-- 用户导入对话框 --> 170 <!-- 用户导入对话框 -->
315 <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> 171 <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
316 - <el-upload  
317 - ref="upload"  
318 - :limit="1"  
319 - accept=".xlsx, .xls"  
320 - :headers="upload.headers"  
321 - :action="upload.url + '?updateSupport=' + upload.updateSupport"  
322 - :disabled="upload.isUploading"  
323 - :on-progress="handleFileUploadProgress"  
324 - :on-success="handleFileSuccess"  
325 - :auto-upload="false"  
326 - drag  
327 - > 172 + <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>
328 <i class="el-icon-upload"></i> 173 <i class="el-icon-upload"></i>
329 <div class="el-upload__text"> 174 <div class="el-upload__text">
330 将文件拖到此处,或 175 将文件拖到此处,或
@@ -345,7 +190,17 @@ @@ -345,7 +190,17 @@
345 </template> 190 </template>
346 191
347 <script> 192 <script>
348 -import { listUser, getUser, delUser, addUser, updateUser, exportUser, resetUserPwd, changeUserStatus, importTemplate } from "@/api/system/user"; 193 +import {
  194 + listUser,
  195 + getUser,
  196 + delUser,
  197 + addUser,
  198 + updateUser,
  199 + exportUser,
  200 + resetUserPwd,
  201 + changeUserStatus,
  202 + importTemplate,
  203 +} from "@/api/system/user";
349 import { getToken } from "@/utils/auth"; 204 import { getToken } from "@/utils/auth";
350 import { treeselect } from "@/api/system/dept"; 205 import { treeselect } from "@/api/system/dept";
351 import Treeselect from "@riophae/vue-treeselect"; 206 import Treeselect from "@riophae/vue-treeselect";
@@ -394,7 +249,7 @@ export default { @@ -394,7 +249,7 @@ export default {
394 form: {}, 249 form: {},
395 defaultProps: { 250 defaultProps: {
396 children: "children", 251 children: "children",
397 - label: "label" 252 + label: "label",
398 }, 253 },
399 // 用户导入参数 254 // 用户导入参数
400 upload: { 255 upload: {
@@ -409,7 +264,7 @@ export default { @@ -409,7 +264,7 @@ export default {
409 // 设置上传的请求头部 264 // 设置上传的请求头部
410 headers: { Authorization: "Bearer " + getToken() }, 265 headers: { Authorization: "Bearer " + getToken() },
411 // 上传的地址 266 // 上传的地址
412 - url: process.env.VUE_APP_BASE_API + "/system/user/importData" 267 + url: process.env.VUE_APP_BASE_API + "/system/user/importData",
413 }, 268 },
414 // 查询参数 269 // 查询参数
415 queryParams: { 270 queryParams: {
@@ -418,57 +273,57 @@ export default { @@ -418,57 +273,57 @@ export default {
418 userName: undefined, 273 userName: undefined,
419 phonenumber: undefined, 274 phonenumber: undefined,
420 status: undefined, 275 status: undefined,
421 - deptId: undefined 276 + deptId: undefined,
422 }, 277 },
423 // 表单校验 278 // 表单校验
424 rules: { 279 rules: {
425 userName: [ 280 userName: [
426 - { required: true, message: "用户名称不能为空", trigger: "blur" } 281 + { required: true, message: "用户名称不能为空", trigger: "blur" },
427 ], 282 ],
428 nickName: [ 283 nickName: [
429 - { required: true, message: "用户昵称不能为空", trigger: "blur" } 284 + { required: true, message: "用户昵称不能为空", trigger: "blur" },
430 ], 285 ],
431 deptId: [ 286 deptId: [
432 - { required: true, message: "归属部门不能为空", trigger: "blur" } 287 + { required: true, message: "归属部门不能为空", trigger: "blur" },
433 ], 288 ],
434 password: [ 289 password: [
435 - { required: true, message: "用户密码不能为空", trigger: "blur" } 290 + { required: true, message: "用户密码不能为空", trigger: "blur" },
436 ], 291 ],
437 email: [ 292 email: [
438 { required: true, message: "邮箱地址不能为空", trigger: "blur" }, 293 { required: true, message: "邮箱地址不能为空", trigger: "blur" },
439 { 294 {
440 type: "email", 295 type: "email",
441 message: "'请输入正确的邮箱地址", 296 message: "'请输入正确的邮箱地址",
442 - trigger: ["blur", "change"]  
443 - } 297 + trigger: ["blur", "change"],
  298 + },
444 ], 299 ],
445 phonenumber: [ 300 phonenumber: [
446 { required: true, message: "手机号码不能为空", trigger: "blur" }, 301 { required: true, message: "手机号码不能为空", trigger: "blur" },
447 { 302 {
448 pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 303 pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
449 message: "请输入正确的手机号码", 304 message: "请输入正确的手机号码",
450 - trigger: "blur"  
451 - }  
452 - ]  
453 - } 305 + trigger: "blur",
  306 + },
  307 + ],
  308 + },
454 }; 309 };
455 }, 310 },
456 watch: { 311 watch: {
457 // 根据名称筛选部门树 312 // 根据名称筛选部门树
458 deptName(val) { 313 deptName(val) {
459 this.$refs.tree.filter(val); 314 this.$refs.tree.filter(val);
460 - } 315 + },
461 }, 316 },
462 created() { 317 created() {
463 this.getList(); 318 this.getList();
464 this.getTreeselect(); 319 this.getTreeselect();
465 - this.getDicts("sys_normal_disable").then(response => { 320 + this.getDicts("sys_normal_disable").then((response) => {
466 this.statusOptions = response.data; 321 this.statusOptions = response.data;
467 }); 322 });
468 - this.getDicts("sys_user_sex").then(response => { 323 + this.getDicts("sys_user_sex").then((response) => {
469 this.sexOptions = response.data; 324 this.sexOptions = response.data;
470 }); 325 });
471 - this.getConfigKey("sys.user.initPassword").then(response => { 326 + this.getConfigKey("sys.user.initPassword").then((response) => {
472 this.initPassword = response.msg; 327 this.initPassword = response.msg;
473 }); 328 });
474 }, 329 },
@@ -476,7 +331,8 @@ export default { @@ -476,7 +331,8 @@ export default {
476 /** 查询用户列表 */ 331 /** 查询用户列表 */
477 getList() { 332 getList() {
478 this.loading = true; 333 this.loading = true;
479 - listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { 334 + listUser(this.addDateRange(this.queryParams, this.dateRange)).then(
  335 + (response) => {
480 this.userList = response.rows; 336 this.userList = response.rows;
481 this.total = response.total; 337 this.total = response.total;
482 this.loading = false; 338 this.loading = false;
@@ -485,7 +341,7 @@ export default { @@ -485,7 +341,7 @@ export default {
485 }, 341 },
486 /** 查询部门下拉树结构 */ 342 /** 查询部门下拉树结构 */
487 getTreeselect() { 343 getTreeselect() {
488 - treeselect().then(response => { 344 + treeselect().then((response) => {
489 this.deptOptions = response.data; 345 this.deptOptions = response.data;
490 }); 346 });
491 }, 347 },
@@ -502,15 +358,22 @@ export default { @@ -502,15 +358,22 @@ export default {
502 // 用户状态修改 358 // 用户状态修改
503 handleStatusChange(row) { 359 handleStatusChange(row) {
504 let text = row.status === "0" ? "启用" : "停用"; 360 let text = row.status === "0" ? "启用" : "停用";
505 - this.$confirm('确认要"' + text + '""' + row.userName + '"用户吗?', "警告", { 361 + this.$confirm(
  362 + '确认要"' + text + '""' + row.userName + '"用户吗?',
  363 + "警告",
  364 + {
506 confirmButtonText: "确定", 365 confirmButtonText: "确定",
507 cancelButtonText: "取消", 366 cancelButtonText: "取消",
508 - type: "warning"  
509 - }).then(function() { 367 + type: "warning",
  368 + }
  369 + )
  370 + .then(function () {
510 return changeUserStatus(row.userId, row.status); 371 return changeUserStatus(row.userId, row.status);
511 - }).then(() => { 372 + })
  373 + .then(() => {
512 this.msgSuccess(text + "成功"); 374 this.msgSuccess(text + "成功");
513 - }).catch(function() { 375 + })
  376 + .catch(function () {
514 row.status = row.status === "0" ? "1" : "0"; 377 row.status = row.status === "0" ? "1" : "0";
515 }); 378 });
516 }, 379 },
@@ -533,7 +396,7 @@ export default { @@ -533,7 +396,7 @@ export default {
533 status: "0", 396 status: "0",
534 remark: undefined, 397 remark: undefined,
535 postIds: [], 398 postIds: [],
536 - roleIds: [] 399 + roleIds: [],
537 }; 400 };
538 this.resetForm("form"); 401 this.resetForm("form");
539 }, 402 },
@@ -550,7 +413,7 @@ export default { @@ -550,7 +413,7 @@ export default {
550 }, 413 },
551 // 多选框选中数据 414 // 多选框选中数据
552 handleSelectionChange(selection) { 415 handleSelectionChange(selection) {
553 - this.ids = selection.map(item => item.userId); 416 + this.ids = selection.map((item) => item.userId);
554 this.single = selection.length != 1; 417 this.single = selection.length != 1;
555 this.multiple = !selection.length; 418 this.multiple = !selection.length;
556 }, 419 },
@@ -558,7 +421,7 @@ export default { @@ -558,7 +421,7 @@ export default {
558 handleAdd() { 421 handleAdd() {
559 this.reset(); 422 this.reset();
560 this.getTreeselect(); 423 this.getTreeselect();
561 - getUser().then(response => { 424 + getUser().then((response) => {
562 this.postOptions = response.posts; 425 this.postOptions = response.posts;
563 this.roleOptions = response.roles; 426 this.roleOptions = response.roles;
564 this.open = true; 427 this.open = true;
@@ -571,7 +434,7 @@ export default { @@ -571,7 +434,7 @@ export default {
571 this.reset(); 434 this.reset();
572 this.getTreeselect(); 435 this.getTreeselect();
573 const userId = row.userId || this.ids; 436 const userId = row.userId || this.ids;
574 - getUser(userId).then(response => { 437 + getUser(userId).then((response) => {
575 this.form = response.data; 438 this.form = response.data;
576 this.postOptions = response.posts; 439 this.postOptions = response.posts;
577 this.roleOptions = response.roles; 440 this.roleOptions = response.roles;
@@ -586,21 +449,23 @@ export default { @@ -586,21 +449,23 @@ export default {
586 handleResetPwd(row) { 449 handleResetPwd(row) {
587 this.$prompt('请输入"' + row.userName + '"的新密码', "提示", { 450 this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
588 confirmButtonText: "确定", 451 confirmButtonText: "确定",
589 - cancelButtonText: "取消"  
590 - }).then(({ value }) => {  
591 - resetUserPwd(row.userId, value).then(response => { 452 + cancelButtonText: "取消",
  453 + })
  454 + .then(({ value }) => {
  455 + resetUserPwd(row.userId, value).then((response) => {
592 if (response.code === 200) { 456 if (response.code === 200) {
593 this.msgSuccess("修改成功,新密码是:" + value); 457 this.msgSuccess("修改成功,新密码是:" + value);
594 } 458 }
595 }); 459 });
596 - }).catch(() => {}); 460 + })
  461 + .catch(() => {});
597 }, 462 },
598 /** 提交按钮 */ 463 /** 提交按钮 */
599 - submitForm: function() {  
600 - this.$refs["form"].validate(valid => { 464 + submitForm: function () {
  465 + this.$refs["form"].validate((valid) => {
601 if (valid) { 466 if (valid) {
602 if (this.form.userId != undefined) { 467 if (this.form.userId != undefined) {
603 - updateUser(this.form).then(response => { 468 + updateUser(this.form).then((response) => {
604 if (response.code === 200) { 469 if (response.code === 200) {
605 this.msgSuccess("修改成功"); 470 this.msgSuccess("修改成功");
606 this.open = false; 471 this.open = false;
@@ -608,7 +473,7 @@ export default { @@ -608,7 +473,7 @@ export default {
608 } 473 }
609 }); 474 });
610 } else { 475 } else {
611 - addUser(this.form).then(response => { 476 + addUser(this.form).then((response) => {
612 if (response.code === 200) { 477 if (response.code === 200) {
613 this.msgSuccess("新增成功"); 478 this.msgSuccess("新增成功");
614 this.open = false; 479 this.open = false;
@@ -622,29 +487,39 @@ export default { @@ -622,29 +487,39 @@ export default {
622 /** 删除按钮操作 */ 487 /** 删除按钮操作 */
623 handleDelete(row) { 488 handleDelete(row) {
624 const userIds = row.userId || this.ids; 489 const userIds = row.userId || this.ids;
625 - this.$confirm('是否确认删除用户编号为"' + userIds + '"的数据项?', "警告", { 490 + this.$confirm(
  491 + '是否确认删除用户编号为"' + userIds + '"的数据项?',
  492 + "警告",
  493 + {
626 confirmButtonText: "确定", 494 confirmButtonText: "确定",
627 cancelButtonText: "取消", 495 cancelButtonText: "取消",
628 - type: "warning"  
629 - }).then(function() { 496 + type: "warning",
  497 + }
  498 + )
  499 + .then(function () {
630 return delUser(userIds); 500 return delUser(userIds);
631 - }).then(() => { 501 + })
  502 + .then(() => {
632 this.getList(); 503 this.getList();
633 this.msgSuccess("删除成功"); 504 this.msgSuccess("删除成功");
634 - }).catch(function() {}); 505 + })
  506 + .catch(function () {});
635 }, 507 },
636 /** 导出按钮操作 */ 508 /** 导出按钮操作 */
637 handleExport() { 509 handleExport() {
638 const queryParams = this.queryParams; 510 const queryParams = this.queryParams;
639 - this.$confirm('是否确认导出所有用户数据项?', "警告", { 511 + this.$confirm("是否确认导出所有用户数据项?", "警告", {
640 confirmButtonText: "确定", 512 confirmButtonText: "确定",
641 cancelButtonText: "取消", 513 cancelButtonText: "取消",
642 - type: "warning"  
643 - }).then(function() { 514 + type: "warning",
  515 + })
  516 + .then(function () {
644 return exportUser(queryParams); 517 return exportUser(queryParams);
645 - }).then(response => { 518 + })
  519 + .then((response) => {
646 this.download(response.msg); 520 this.download(response.msg);
647 - }).catch(function() {}); 521 + })
  522 + .catch(function () {});
648 }, 523 },
649 /** 导入按钮操作 */ 524 /** 导入按钮操作 */
650 handleImport() { 525 handleImport() {
@@ -653,7 +528,7 @@ export default { @@ -653,7 +528,7 @@ export default {
653 }, 528 },
654 /** 下载模板操作 */ 529 /** 下载模板操作 */
655 importTemplate() { 530 importTemplate() {
656 - importTemplate().then(response => { 531 + importTemplate().then((response) => {
657 this.download(response.msg); 532 this.download(response.msg);
658 }); 533 });
659 }, 534 },
@@ -672,7 +547,7 @@ export default { @@ -672,7 +547,7 @@ export default {
672 // 提交上传文件 547 // 提交上传文件
673 submitFileForm() { 548 submitFileForm() {
674 this.$refs.upload.submit(); 549 this.$refs.upload.submit();
675 - }  
676 - } 550 + },
  551 + },
677 }; 552 };
678 </script> 553 </script>
@@ -76,14 +76,7 @@ @@ -76,14 +76,7 @@
76 v-hasPermi="['tool:gen:remove']" 76 v-hasPermi="['tool:gen:remove']"
77 >删除</el-button> 77 >删除</el-button>
78 </el-col> 78 </el-col>
79 - <div class="top-right-btn">  
80 - <el-tooltip class="item" effect="dark" content="刷新" placement="top">  
81 - <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />  
82 - </el-tooltip>  
83 - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">  
84 - <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />  
85 - </el-tooltip>  
86 - </div> 79 + <table-tools-ext :showSearch.sync="showSearch" @queryTable="getList"></table-tools-ext>
87 </el-row> 80 </el-row>
88 81
89 <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange"> 82 <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">