jtoms 4 лет назад
Родитель
Сommit
0fd2c212b9
3 измененных файлов с 80 добавлено и 25 удалено
  1. 3 5
      src/views/user/info/index.vue
  2. 46 6
      src/views/user/loginLog/index.vue
  3. 31 14
      src/views/user/role/index.vue

+ 3 - 5
src/views/user/info/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :inline="true" :model="queryForm" class="demo-form-inline" size="small">
+    <el-form :model="queryForm" inline size="small">
       <el-form-item label="编号">
         <el-input v-model="queryForm.id" placeholder="编号" />
       </el-form-item>
@@ -132,7 +132,7 @@
       layout="prev, pager, next"
       :total="pageData.total"
       :page-size="pageData.pageSize"
-      @current-change="handleCurrentChange"
+      @current-change="paginationChange"
     />
     <dialog-form ref="dialogForm" @ok="fetchData" />
   </div>
@@ -158,15 +158,13 @@ export default {
   },
   methods: {
     selectionChange(val) {
-      console.log(val)
       const temp = []
       val.forEach(o => {
         temp.push(o.id)
       })
       this.multipleSelection = temp
     },
-    handleCurrentChange(val) {
-      console.log(`当前页: ${val}`)
+    paginationChange(val) {
       this.currentPage = val
       this.fetchData()
     },

+ 46 - 6
src/views/user/loginLog/index.vue

@@ -1,7 +1,46 @@
 <template>
   <div class="app-container">
+    <el-form :model="queryForm" inline size="small">
+      <el-form-item label="登录账号">
+        <el-input v-model="queryForm.loginAccount" placeholder="登录账号" />
+      </el-form-item>
+      <el-form-item label="账号类型">
+        <el-select v-model="queryForm.accountType" clearable placeholder="账号类型">
+          <el-option label="手机号" value="mp" />
+          <el-option label="邮箱" value="email" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="IP地址">
+        <el-input v-model="queryForm.loginIp" placeholder="IP地址" />
+      </el-form-item>
+      <el-form-item label="登录地">
+        <el-input v-model="queryForm.loginLocal" placeholder="登录地" />
+      </el-form-item>
+      <el-form-item label="登录来源">
+        <el-input v-model="queryForm.fromSource" placeholder="登录来源" />
+      </el-form-item>
+      <el-form-item label="登录时间">
+        <el-date-picker
+          v-model="queryForm.loginTime"
+          type="daterange"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          value-format="yyyy-MM-dd"
+        />
+      </el-form-item>
+      <el-form-item label="登录结果">
+        <el-select v-model="queryForm.state" clearable placeholder="登录结果">
+          <el-option label="成功" value="SUCCESS" />
+          <el-option label="登录异常" value="LOGIN_EXCEPTION" />
+          <el-option label="验证码错误" value="CAPTCHA_ERROR" />
+          <el-option label="账号不存在" value="ACCOUNT_NOT_EXIST" />
+          <el-option label="密码错误" value="PASSWORD_ERROR" />
+        </el-select>
+      </el-form-item>
+    </el-form>
     <el-row class="action-bar-container" type="flex" justify="end">
-      <el-button type="primary" size="small">查询</el-button>
+      <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
     </el-row>
     <el-table
       v-loading="isLoading"
@@ -26,17 +65,17 @@
           {{ scope.row.accountType.text || '' }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="IP">
+      <el-table-column align="center" label="IP地址">
         <template slot-scope="scope">
           {{ scope.row.loginIp }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="所在地">
+      <el-table-column align="center" label="登录地">
         <template slot-scope="scope">
           {{ scope.row.loginLocal }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="登录平台">
+      <el-table-column align="center" label="登录来源">
         <template slot-scope="scope">
           {{ scope.row.fromSource }}
         </template>
@@ -46,7 +85,7 @@
           {{ scope.row.loginTime }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="状态">
+      <el-table-column align="center" label="登录结果">
         <template slot-scope="scope">
           {{ scope.row.state.text }}
         </template>
@@ -69,6 +108,7 @@ import { findLoginLogPage } from '@/api/userInfo'
 export default {
   data() {
     return {
+      queryForm: {},
       isLoading: true,
       pageData: {},
       currentPage: 1
@@ -85,7 +125,7 @@ export default {
     },
     fetchData() {
       this.isLoading = true
-      findLoginLogPage({ current: this.currentPage })
+      findLoginLogPage({ ...this.queryForm, current: this.currentPage })
         .then((response) => {
           this.pageData = response
         })

+ 31 - 14
src/views/user/role/index.vue

@@ -1,14 +1,20 @@
 <template>
   <div class="app-container">
+    <el-form :model="queryForm" inline size="small">
+      <el-form-item label="名称">
+        <el-input v-model="queryForm.name" placeholder="角色名称"/>
+      </el-form-item>
+    </el-form>
     <el-row class="action-bar-container" type="flex" justify="end">
-      <el-button
-        v-permission="['oauth.role.add']"
-        type="primary"
-        size="small"
-        @click.native="$refs.dialogForm.open({})"
-      >
-        新建
-      </el-button>
+      <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
+      <el-button-group>
+        <el-button v-permission="['oauth.role.add']" size="small" @click.native="$refs.dialogForm.open({})">
+          新建
+        </el-button>
+        <el-button v-permission="['oauth.role.delete']" size="small" @click.native="deleteByIds(multipleSelection)">
+          删除
+        </el-button>
+      </el-button-group>
     </el-row>
     <el-table
       v-loading="isLoading"
@@ -17,7 +23,9 @@
       border
       fit
       highlight-current-row
+      @selection-change="selectionChange"
     >
+      <el-table-column type="selection" width="55" />
       <el-table-column align="center" label="ID" width="95">
         <template slot-scope="scope">
           {{ scope.row.id }}
@@ -45,7 +53,7 @@
         <template slot-scope="scope">
           <el-dropdown>
             <el-button type="text">
-              操作<i class="el-icon-arrow-down el-icon--right" />
+              操作<i class="el-icon-arrow-down el-icon--right"/>
             </el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item v-permission="['oauth.role.edit']" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-dropdown-item>
@@ -62,9 +70,9 @@
       layout="prev, pager, next"
       :total="pageData.total"
       :page-size="pageData.pageSize"
-      @current-change="handleCurrentChange"
+      @current-change="paginationChange"
     />
-    <dialog-form ref="dialogForm" @ok="fetchData" />
+    <dialog-form ref="dialogForm" @ok="fetchData"/>
   </div>
 </template>
 
@@ -76,15 +84,24 @@ export default {
   components: { DialogForm },
   data() {
     return {
+      queryForm: {},
       isLoading: true,
       pageData: {},
-      currentPage: 1
+      currentPage: 1,
+      multipleSelection: []
     }
   },
   created() {
     this.fetchData()
   },
   methods: {
+    selectionChange(val) {
+      const temp = []
+      val.forEach(o => {
+        temp.push(o.id)
+      })
+      this.multipleSelection = temp
+    },
     deleteByIds(ids) {
       console.log(`当前页: ${ids}`)
       this.$confirm('此操作将永久删除, 是否继续?', '提示', {
@@ -97,13 +114,13 @@ export default {
         })
       })
     },
-    handleCurrentChange(val) {
+    paginationChange(val) {
       this.currentPage = val
       this.fetchData()
     },
     fetchData() {
       this.isLoading = true
-      findPage({ current: this.currentPage })
+      findPage({ ...this.queryForm, current: this.currentPage })
         .then((response) => {
           this.pageData = response
         })