askin 2 年之前
父節點
當前提交
94b00e6c10

+ 140 - 130
sources/client/vrv-platform/src/views/device/list.vue

@@ -3,36 +3,41 @@
     <el-container>
 
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">设备列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium" icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">
+              查询
+            </el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="设备名称">
-            <el-input placeholder="设备名称" size="small" v-model="searchFormData.name"></el-input>
+            <el-input placeholder="设备名称" size="mini" v-model="searchFormData.name"></el-input>
           </el-form-item>
           <el-form-item label="设备ip">
-            <el-input placeholder="设备ip" size="small" v-model="searchFormData.ip"></el-input>
+            <el-input placeholder="设备ip" size="mini" v-model="searchFormData.ip"></el-input>
           </el-form-item>
           <el-form-item label="设备SN">
-            <el-input placeholder="设备SN" size="small" v-model="searchFormData.sn"></el-input>
+            <el-input placeholder="设备SN" size="mini" v-model="searchFormData.sn"></el-input>
           </el-form-item>
           <el-form-item label="设备类型">
-            <el-input placeholder="设备类型" size="small" v-model="searchFormData.type"></el-input>
+            <el-input placeholder="设备类型" size="mini" v-model="searchFormData.type"></el-input>
           </el-form-item>
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
           </el-form-item>
           <el-form-item label="项目编号">
-            <el-input placeholder="项目编号" size="small" v-model="searchFormData.projectNumber"></el-input>
+            <el-input placeholder="项目编号" size="mini" v-model="searchFormData.projectNumber"></el-input>
           </el-form-item>
           <el-form-item label="网关编号">
-            <el-input placeholder="网关编号" size="small" v-model="searchFormData.gatewayNumber"></el-input>
-          </el-form-item>
-
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="网关编号" size="mini" v-model="searchFormData.gatewayNumber"></el-input>
           </el-form-item>
 
 
@@ -74,7 +79,7 @@
 
 
         <el-table :data="tableData">
-
+          <el-table-column type="selection"></el-table-column>
           <el-table-column prop="name" label="设备名称"></el-table-column>
           <el-table-column prop="ip" label="设备ip"></el-table-column>
           <el-table-column prop="sn" label="设备sn"></el-table-column>
@@ -89,19 +94,20 @@
 
           <el-table-column label="操作">
             <template slot-scope="scope">
-              <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
+              <el-button type="text" size="medium" @click="showEdit(scope.row)">编辑</el-button>
+              <el-button type="text" size="medium" @click="manage(scope.row)">管理</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
 
               <el-button
-                type="primary"
-                size="small"
-                class="delBut non"
-                @click="statusHandle(scope.row)"
+                  style="color: #c01920"
+                  type="text"
+                  size="medium"
+                  class="delBut non"
+                  @click="statusHandle(scope.row)"
               >
                 {{ scope.row.deviceStatus == '1' ? '禁用' : '启用' }}
               </el-button>
 
-              <el-button type="primary" size="small" @click="manage(scope.row)">管理</el-button>
 
             </template>
           </el-table-column>
@@ -109,12 +115,13 @@
         </el-table>
 
         <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="pager.pageSize"
-          :current-page="pager.pageIndex"
-          :total="pager.itemCount"
-          @current-change="handleCurrentChange"
+            style="margin-top: 15px;text-align: center"
+            background
+            layout="prev, pager, next"
+            :page-size="pager.pageSize"
+            :current-page="pager.pageIndex"
+            :total="pager.itemCount"
+            @current-change="handleCurrentChange"
         >
         </el-pagination>
       </el-main>
@@ -150,13 +157,13 @@ export default {
       },
 
       tableData:
-        [{
-          name: '',
-          ip: '',
-          sn: '',
-          type: '',
-          deviceStatus: '1'
-        }],
+          [{
+            name: '',
+            ip: '',
+            sn: '',
+            type: '',
+            deviceStatus: '1'
+          }],
       formData: {
         name: '',
         ip: '',
@@ -168,16 +175,16 @@ export default {
         gatewayNumber: ''
       },
       searchFormData:
-        {
-          name: '',
-          ip: '',
-          sn: '',
-          type: '',
-          deviceStatus: '1',
-          operatorNumber: '',
-          projectNumber: '',
-          gatewayNumber: ''
-        }
+          {
+            name: '',
+            ip: '',
+            sn: '',
+            type: '',
+            deviceStatus: '1',
+            operatorNumber: '',
+            projectNumber: '',
+            gatewayNumber: ''
+          }
     }
   },
 
@@ -193,7 +200,7 @@ export default {
 
     loadData(index) {
       const vm = this;
-      vm.$http.get(vm.api.list,  {
+      vm.$http.get(vm.api.list, {
         params: {
           pageSize: 5,
           pageIndex: index ? index : 1,
@@ -208,14 +215,14 @@ export default {
           gatewayNumber: this.searchFormData.gatewayNumber,
         }
       })
-        .then((response) => {
-          // vm.paper = response.data.data.paper;
-          console.log(response.data.data);
+          .then((response) => {
+            // vm.paper = response.data.data.paper;
+            console.log(response.data.data);
 
-          vm.pager = response.data.data.pager
+            vm.pager = response.data.data.pager
 
-          vm.tableData = response.data.data.devices;
-        })
+            vm.tableData = response.data.data.devices;
+          })
     },
     search() {
       //console.log(this.searchFormData)
@@ -225,13 +232,13 @@ export default {
       this.dialogFormVisible = true;
 
       this.formData.name = '',
-        this.formData.ip = '',
-        this.formData.sn = '',
-        this.formData.type = '',
+          this.formData.ip = '',
+          this.formData.sn = '',
+          this.formData.type = '',
 
-        this.formData.operatorNumber = '',
-        this.formData.projectNumber = '',
-        this.formData.gatewayNumber = ''
+          this.formData.operatorNumber = '',
+          this.formData.projectNumber = '',
+          this.formData.gatewayNumber = ''
     },
 
     showEdit(row) {
@@ -249,7 +256,7 @@ export default {
     addOrEditMehtond() {
       const vm = this;
       if (this.addOrEdit == 2) {
-        vm.$http.get(vm.api.update,  {
+        vm.$http.get(vm.api.update, {
           params: {
             name: this.formData.name,
             ip: this.formData.ip,
@@ -264,29 +271,29 @@ export default {
             gatewayCode: this.formData.gatewayCode,
           }
         })
-          .then((response) => {
-            console.log(response)
+            .then((response) => {
+              console.log(response)
 
-            if (response.data.status == 200) {
+              if (response.data.status == 200) {
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-            }
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+              }
 
-            this.dialogFormVisible = false;
+              this.dialogFormVisible = false;
 
-            this.loadData();
+              this.loadData();
 
-          })
-          .catch(() => {
-          });
+            })
+            .catch(() => {
+            });
       }
 
       if (this.addOrEdit == 1) {
-        vm.$http.get(vm.api.add,  {
+        vm.$http.get(vm.api.add, {
           params: {
             name: this.formData.name,
             ip: this.formData.ip,
@@ -301,20 +308,20 @@ export default {
             gatewayCode: this.formData.gatewayCode,
           }
         })
-          .then((response) => {
-            if (response.data.status == 200) {
+            .then((response) => {
+              if (response.data.status == 200) {
 
-              this.dialogFormVisible = false;
+                this.dialogFormVisible = false;
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
 
-              this.loadData();
-            }
-          })
+                this.loadData();
+              }
+            })
       }
     },
 
@@ -328,26 +335,26 @@ export default {
             code: row.code,
           }
         })
-          .then((response) => {
-            console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-            }
-
-            this.loadData();
-          })
+            .then((response) => {
+              console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+              }
+
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '取消删除'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '取消删除'
+            })
+          });
     },
     cancel() {
       this.$message({
@@ -365,7 +372,7 @@ export default {
       this.$confirm('是否进行此操作', '提示', {
         type: 'warning'
       }).then(() => {
-        vm.$http.get(vm.api.update,  {
+        vm.$http.get(vm.api.update, {
           params: {
             name: row.name,
             sn: row.sn,
@@ -384,31 +391,31 @@ export default {
             deviceStatus: row.deviceStatus == 1 ? 0 : 1,
           }
         })
-          .then((response) => {
-            console.log(row)
-            // console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-              value:false
-            }
-            this.loadData();
-          })
+            .then((response) => {
+              console.log(row)
+              // console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+                value:false
+              }
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '操作取消'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '操作取消'
+            })
+          });
 
     },
 
-    manage(){
+    manage() {
       let vm = this;
       vm.$router.push('/runningState')
     }
@@ -418,5 +425,8 @@ export default {
 </script>
 
 <style scoped>
-
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
+}
 </style>

+ 143 - 135
sources/client/vrv-platform/src/views/deviceAlarmRecord/list.vue

@@ -3,42 +3,47 @@
     <el-container>
 
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">报警记录列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium" icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">
+              查询
+            </el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="报警名称">
-            <el-input placeholder="报警名称" size="small" v-model="searchFormData.alarmName"></el-input>
+            <el-input placeholder="报警名称" size="mini" v-model="searchFormData.alarmName"></el-input>
           </el-form-item>
           <el-form-item label="报警类型">
-            <el-input placeholder="设备类型" size="small" v-model="searchFormData.alarmType"></el-input>
+            <el-input placeholder="设备类型" size="mini" v-model="searchFormData.alarmType"></el-input>
           </el-form-item>
           <el-form-item label="设备SN">
-            <el-input placeholder="设备SN" size="small" v-model="searchFormData.sn"></el-input>
+            <el-input placeholder="设备SN" size="mini" v-model="searchFormData.sn"></el-input>
           </el-form-item>
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
           </el-form-item>
           <el-form-item label="项目编号">
-            <el-input placeholder="项目编号" size="small" v-model="searchFormData.projectNumber"></el-input>
+            <el-input placeholder="项目编号" size="mini" v-model="searchFormData.projectNumber"></el-input>
           </el-form-item>
           <el-form-item label="网关编号">
-            <el-input placeholder="网关编号" size="small" v-model="searchFormData.gatewayNumber"></el-input>
+            <el-input placeholder="网关编号" size="mini" v-model="searchFormData.gatewayNumber"></el-input>
           </el-form-item>
           <el-form-item label="变量id">
-            <el-input placeholder="变量id" size="small" v-model="searchFormData.variableId"></el-input>
+            <el-input placeholder="变量id" size="mini" v-model="searchFormData.variableId"></el-input>
           </el-form-item>
           <el-form-item label="开始时间">
-            <el-input placeholder="开始时间" size="small" v-model="searchFormData.startTime"></el-input>
+            <el-input placeholder="开始时间" size="mini" v-model="searchFormData.startTime"></el-input>
           </el-form-item>
           <el-form-item label="结束时间">
-            <el-input placeholder="结束时间" size="small" v-model="searchFormData.endTime"></el-input>
-          </el-form-item>
-
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="结束时间" size="mini" v-model="searchFormData.endTime"></el-input>
           </el-form-item>
 
 
@@ -89,7 +94,7 @@
 
 
         <el-table :data="tableData">
-
+          <el-table-column type="selection"></el-table-column>
           <el-table-column prop="alarmName" label="报警名称"></el-table-column>
           <el-table-column prop="alarmType" label="报警类型"></el-table-column>
           <el-table-column prop="content" label="告警内容"></el-table-column>
@@ -99,10 +104,10 @@
           <el-table-column label="状态">
             <template slot-scope="scope">
               <el-button
-                type="primary"
-                size="small"
-                class="delBut non"
-                @click="statusHandle(scope.row)"
+                  type="primary"
+                  size="small"
+                  class="delBut non"
+                  @click="statusHandle(scope.row)"
               >
                 {{ scope.row.status == '未处理' ? '已处理' : '未处理' }}
               </el-button>
@@ -112,22 +117,22 @@
 
           <el-table-column label="操作">
             <template slot-scope="scope">
-              <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
-
-              <el-button type="primary" size="small" @click="manage(scope.row)">查看</el-button>
+              <el-button type="text" size="medium" @click="showEdit(scope.row)">编辑</el-button>
+              <el-button type="text" size="medium" @click="manage(scope.row)">查看</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
             </template>
           </el-table-column>
 
         </el-table>
 
         <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="pager.pageSize"
-          :current-page="pager.pageIndex"
-          :total="pager.itemCount"
-          @current-change="handleCurrentChange"
+            style="margin-top: 15px;text-align: center"
+            background
+            layout="prev, pager, next"
+            :page-size="pager.pageSize"
+            :current-page="pager.pageIndex"
+            :total="pager.itemCount"
+            @current-change="handleCurrentChange"
         >
         </el-pagination>
       </el-main>
@@ -163,13 +168,13 @@ export default {
       },
 
       tableData:
-        [{
-          alarmName: '',
-          alarmType: '',
-          content: '',
-          startTime: '',
-          endTime: '',
-        }],
+          [{
+            alarmName: '',
+            alarmType: '',
+            content: '',
+            startTime: '',
+            endTime: '',
+          }],
       formData: {
         alarmName: '',
         alarmType: '',
@@ -184,19 +189,19 @@ export default {
         gatewayNumber: ''
       },
       searchFormData:
-        {
-          alarmName: '',
-          alarmType: '',
-          content: '',
-          startTime: '',
-          endTime: '',
-
-          sn: '',
-          variableId: '',
-          operatorNumber: '',
-          projectNumber: '',
-          gatewayNumber: ''
-        }
+          {
+            alarmName: '',
+            alarmType: '',
+            content: '',
+            startTime: '',
+            endTime: '',
+
+            sn: '',
+            variableId: '',
+            operatorNumber: '',
+            projectNumber: '',
+            gatewayNumber: ''
+          }
     }
   },
 
@@ -212,7 +217,7 @@ export default {
 
     loadData(index) {
       const vm = this;
-      vm.$http.get(vm.api.list,  {
+      vm.$http.get(vm.api.list, {
         params: {
           pageSize: 5,
           pageIndex: index ? index : 1,
@@ -229,14 +234,14 @@ export default {
           variableId: this.searchFormData.variableId,
         }
       })
-        .then((response) => {
-          // vm.paper = response.data.data.paper;
-          console.log(response.data.data);
+          .then((response) => {
+            // vm.paper = response.data.data.paper;
+            console.log(response.data.data);
 
-          vm.pager = response.data.data.pager
+            vm.pager = response.data.data.pager
 
-          vm.tableData = response.data.data.deviceAlarmRecords;
-        })
+            vm.tableData = response.data.data.deviceAlarmRecords;
+          })
     },
     search() {
       //console.log(this.searchFormData)
@@ -246,14 +251,14 @@ export default {
       this.dialogFormVisible = true;
 
       this.formData.alarmName = '',
-        this.formData.alarmType = '',
-        this.formData.content = '',
-        this.formData.startTime = '',
-        this.formData.endTime = '',
-
-        this.formData.operatorNumber = '',
-        this.formData.projectNumber = '',
-        this.formData.gatewayNumber = ''
+          this.formData.alarmType = '',
+          this.formData.content = '',
+          this.formData.startTime = '',
+          this.formData.endTime = '',
+
+          this.formData.operatorNumber = '',
+          this.formData.projectNumber = '',
+          this.formData.gatewayNumber = ''
       this.formData.sn = ''
       this.formData.variableId = ''
     },
@@ -292,25 +297,25 @@ export default {
             gatewayCode: this.formData.gatewayCode,
           }
         })
-          .then((response) => {
-            console.log(response)
+            .then((response) => {
+              console.log(response)
 
-            if (response.data.status == 200) {
+              if (response.data.status == 200) {
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-            }
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+              }
 
-            this.dialogFormVisible = false;
+              this.dialogFormVisible = false;
 
-            this.loadData();
+              this.loadData();
 
-          })
-          .catch(() => {
-          });
+            })
+            .catch(() => {
+            });
       }
 
       if (this.addOrEdit == 1) {
@@ -333,20 +338,20 @@ export default {
             gatewayCode: this.formData.gatewayCode,
           }
         })
-          .then((response) => {
-            if (response.data.status == 200) {
+            .then((response) => {
+              if (response.data.status == 200) {
 
-              this.dialogFormVisible = false;
+                this.dialogFormVisible = false;
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
 
-              this.loadData();
-            }
-          })
+                this.loadData();
+              }
+            })
       }
     },
 
@@ -355,32 +360,32 @@ export default {
       this.$confirm('确认删除', '提示', {
         type: 'warning'
       }).then(() => {
-        vm.$http.get(vm.api.delete,  {
+        vm.$http.get(vm.api.delete, {
           params: {
             code: row.code,
           }
         })
-          .then((response) => {
-            console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
+            .then((response) => {
+              console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
 
 
-            }
-            this.loadData();
-          })
+              }
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '取消删除'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '取消删除'
+            })
+          });
     },
     cancel() {
       this.$message({
@@ -398,7 +403,7 @@ export default {
       this.$confirm('是否进行此操作', '提示', {
         type: 'warning'
       }).then(() => {
-        vm.$http.get(vm.api.update,  {
+        vm.$http.get(vm.api.update, {
           params: {
             alarmName: row.alarmName,
             alarmType: row.alarmType,
@@ -421,27 +426,27 @@ export default {
             status: row.status == '未处理' ? '已处理' : '未处理',
           }
         })
-          .then((response) => {
-            console.log(row)
-            // console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-
-            }
-            this.loadData();
-          })
+            .then((response) => {
+              console.log(row)
+              // console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+
+              }
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '操作取消'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '操作取消'
+            })
+          });
 
     },
 
@@ -455,5 +460,8 @@ export default {
 </script>
 
 <style scoped>
-
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
+}
 </style>

+ 30 - 22
sources/client/vrv-platform/src/views/gateway/list.vue

@@ -3,30 +3,33 @@
     <el-container>
 
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">网关列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium"  icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">查询</el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="编号">
-            <el-input placeholder="编号" size="small" v-model="searchFormData.number"></el-input>
+            <el-input placeholder="编号" size="mini" v-model="searchFormData.number"></el-input>
           </el-form-item>
           <el-form-item label="网关ip">
-            <el-input placeholder="网关ip" size="small" v-model="searchFormData.ip"></el-input>
+            <el-input placeholder="网关ip" size="mini" v-model="searchFormData.ip"></el-input>
           </el-form-item>
           <el-form-item label="定位">
-            <el-input placeholder="定位" size="small" v-model="searchFormData.location"></el-input>
+            <el-input placeholder="定位" size="mini" v-model="searchFormData.location"></el-input>
           </el-form-item>
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
           </el-form-item>
           <el-form-item label="项目编号">
-            <el-input placeholder="项目编号" size="small" v-model="searchFormData.projectNumber"></el-input>
-          </el-form-item>
-
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="项目编号" size="mini" v-model="searchFormData.projectNumber"></el-input>
           </el-form-item>
 
 
@@ -61,7 +64,7 @@
 
 
         <el-table :data="tableData">
-
+          <el-table-column  type="selection"></el-table-column>
           <el-table-column prop="number" label="编号"></el-table-column>
           <el-table-column prop="ip" label="网关ip"></el-table-column>
           <el-table-column prop="location" label="定位"></el-table-column>
@@ -75,13 +78,14 @@
 
           <el-table-column label="操作">
             <template slot-scope="scope">
-              <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
-              <el-button type="primary" size="small" @click="device">设备</el-button>
+              <el-button type="text" size="medium" @click="showEdit(scope.row)">编辑</el-button>
+              <el-button type="text" size="medium" @click="device">设备</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
 
               <el-button
-                type="primary"
-                size="small"
+                  style="color: #c01920"
+                type="text"
+                size="medium"
                 class="delBut non"
                 @click="statusHandle(scope.row)"
               >
@@ -94,6 +98,7 @@
         </el-table>
 
         <el-pagination
+            style="margin-top: 15px;text-align: center"
           background
           layout="prev, pager, next"
           :page-size="pager.pageSize"
@@ -384,5 +389,8 @@ export default {
 </script>
 
 <style scoped>
-
+.el-form-item{
+  margin-left: 15px;
+  margin-top: 10px
+}
 </style>

+ 0 - 304
sources/client/vrv-platform/src/views/login/login.vue

@@ -1,304 +0,0 @@
-<template>
-    <transition name="el-fade-in-linear">
-        <div id="login-page" @keyup.enter="login">
-            <div class="login-box">
-
-                <div class="slider-banner-box">
-                    <img src="../../assets/logo_banner.jpg" width="100%" height="100%" alt="">
-                </div>
-
-                <div class="login-form">
-
-                    <div style="display: inline-block;text-align: left;width: 80%">
-
-                        <div class="title">
-                            <img v-if="appInfo.logo" :src="`${$api.commonFile.download}?code=${appInfo.logo}`" style="height: 50px;" alt="">
-                            <img v-else src="../../assets/cloudgo_logo.png" style="height: 50px;" alt="">
-                        </div>
-
-                        <el-form ref="form" :rules="formRules" :model="form">
-
-                            <el-form-item prop="account">
-
-                                <div class="input-group">
-                                    <el-input
-                                            prefix-icon="el-icon-user"
-                                            :autofocus="true"
-                                            placeholder="请输入用户名"
-                                            v-model="form.account">
-                                    </el-input>
-                                </div>
-                            </el-form-item>
-
-                            <el-form-item prop="password">
-                                <div class="input-group">
-                                    <el-input
-                                            prefix-icon="el-icon-lock"
-                                            placeholder="请输入密码"
-                                            type="password"
-                                            v-model="form.password">
-                                    </el-input>
-                                </div>
-                            </el-form-item>
-
-                            <el-form-item prop="verifyCode" :error="formErrorMsg.verifyCode">
-                                <div class="input-group">
-                                    <el-input
-                                            prefix-icon="el-icon-circle-check"
-                                            placeholder="请输入图形验证码"
-                                            class="verify-input"
-                                            v-model="form.verifyCode"
-                                    >
-                                    </el-input>
-
-                                    <img @click="handleRefreshVerifyCode" class="verify-img" :src="verifyCodeUrl" style="cursor: pointer"
-                                         alt="">
-                                </div>
-                            </el-form-item>
-
-
-
-
-
-
-<!--                            <div class="input-group" style="margin-bottom: 20px;">-->
-<!--                                <label>记住我?</label>-->
-<!--                                <el-switch-->
-<!--                                        v-model="rememberMe"-->
-<!--                                        on-text=""-->
-<!--                                        off-text="">-->
-<!--                                </el-switch>-->
-<!--                            </div>-->
-                            <div class="input-group">
-                                <el-button @click.native="login" type="primary" :loading="isBtnLoading">{{btnText}}
-                                </el-button>
-                            </div>
-
-                        </el-form>
-
-
-                    </div>
-
-                </div>
-
-
-                <div class="login-footer" style="">
-                    Copyright © {{new Date().getFullYear()}} {{appInfo.company ? appInfo.company :'CloudGo'}}.
-                </div>
-            </div>
-        </div>
-    </transition>
-</template>
-
-<script>
-    export default {
-        name: "Login",
-        data() {
-            return {
-                appInfo:{},
-                form:{
-                    account:'',
-                    password:'',
-                    verifyCode:'',
-                },
-                formErrorMsg:{
-                    account:'',
-                    password:'',
-                    verifyCode:'',
-                },
-                formRules:{
-                    account: [
-                        {required: true, message: '请输入用户名', trigger: 'blur'},
-                    ],
-                    password: [
-                        {required: true, message: '请输入密码', trigger: 'blur'},
-                    ],
-                    verifyCode: [
-                        {required: true, message: '请输入验证码', trigger: 'blur'},
-                    ]
-                },
-                rememberMe: false,
-                isBtnLoading: false,
-                verifyCodeUrl:this.api.auth.verifyCode,
-            };
-        },
-        computed: {
-            btnText() {
-                if (this.isBtnLoading) return '登录中...';
-                return '登录';
-            }
-        },
-        methods: {
-
-            handleRefreshVerifyCode(){
-                this.verifyCodeUrl = (this.api.auth.verifyCode  + "?t=" + new Date().getTime());
-            },
-
-            login() {
-
-                this.isBtnLoading = true;
-                let vm = this;
-
-                this.$refs.form.validate((valid)=>{
-
-                    if(valid){
-
-                        vm.$http.post(vm.api.auth.login,vm.$qs.stringify(vm.form)).then((resp)=>{
-
-                            if(resp.data.status === 200){
-
-                                //存储登录用户信息
-                                sessionStorage.setItem('login-user-info',JSON.stringify(resp.data.data.passport));
-                                sessionStorage.setItem('remember-me',JSON.stringify(vm.rememberMe));
-
-                              vm.$router.push('/menu')
-                            }else if (resp.data.status === 400) {
-
-
-                                resp.data.data.errorFields.forEach(function (a) {
-
-                                    vm.formErrorMsg[a.name] = '';
-                                    vm.$nextTick(() => {
-                                        vm.formErrorMsg[a.name] = a.message;
-                                    });
-
-
-                                });
-
-                                if (resp.data.desc) {
-                                    vm.$message({
-                                        type: "error",
-                                        message: resp.data.desc
-                                    });
-                                }
-                                vm.isBtnLoading = false;
-
-
-
-                            } else{
-                                vm.$message({
-                                    type:'error',
-                                    message:resp.data.desc
-                                });
-                                vm.isBtnLoading = false;
-                            }
-
-                        });
-
-                    }else{
-                        vm.isBtnLoading = false;
-                    }
-
-                });
-
-
-            }
-        },
-        created() {
-            this.appInfo = window.appInfo ? window.appInfo : {} ;
-            this.handleRefreshVerifyCode();
-        }
-    }
-</script>
-
-<style lang="scss">
-
-
-    #login-page {
-        width: 100vw;
-        height: 100vh;
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        background-image: url("../../assets/login_bg.png");
-        background-position: center;
-        background-size: 100%;
-
-        /*.el-form-item{*/
-        /*     margin-bottom: 0;*/
-        /*}*/
-
-
-        .login-box {
-            position: relative;
-            display: flex;
-            /*flex-direction: column;*/
-            /*align-items: center;*/
-            width: 930px;
-            height: 420px;
-            /*border-radius: 10px;*/
-            background: rgba(255, 255, 255, 1);
-            top: -40px;
-
-
-            .slider-banner-box {
-                width: 530px;
-                display: inline-block;
-                float: left
-            }
-
-            .login-form {
-                width: calc(100% - 530px);
-                float: left;
-                display: inline-block;
-                text-align: center;
-
-                .title {
-                    position: relative;
-                    color: #c01920;
-                    font-weight: bold;
-                    font-size: 30px;
-                    text-align: center;
-                    line-height: 2.2;
-                    margin-bottom: 20px;
-                    margin-top: 20px;
-                    width: 100%;
-                    /*text-shadow: #000000 0 0 5px ;*/
-                    display: inline-block;
-                }
-
-
-                .input-group {
-                    /*margin-bottom: 20px;*/
-                    display: inline-block;
-                    width: 100%;
-
-                    .verify-input {
-                        width: 50%;
-                        /*float: left*/
-                    }
-
-                    .verify-img {
-                        height: 40px;
-                        width: calc(50% - 10px);
-                        display: inline-block;
-                        vertical-align: bottom;
-                        margin-left: 10px;
-                        float: right;
-                    }
-
-                    button {
-                        width: 100%;
-                        border: none;
-                    }
-                }
-            }
-
-
-        }
-
-        .login-footer {
-
-            position: absolute;
-            bottom: -40px;
-            text-align: center;
-            color: #242C37;
-            font-weight: bold;
-            width: 100%;
-            left: 0px;
-
-        }
-
-    }
-
-</style>

+ 153 - 61
sources/client/vrv-platform/src/views/menu/menu.vue

@@ -3,68 +3,121 @@
 
     <div style="width: 100%; height: 100%; border:1px #2c3e50; display: flex;flex-direction: row">
 
-      <div style="width: 20%">
-        <el-aside width="100%">
 
-          <el-menu
-              :router=true
-              :default-active="$route.name"
-              class="el-menu-vertical-demo"
-              @open="handleOpen"
-              @close="handleClose">
-
-            <el-menu-item index="/">数据可视化大屏</el-menu-item>
-
-            <el-menu-item index="/operator">运营商管理</el-menu-item>
-
-            <el-menu-item index="/project">项目管理</el-menu-item>
-
-            <el-menu-item index="/gateway">网关管理</el-menu-item>
-
-            <el-submenu index="3-2">
-              <template slot="title">
-                <span @click="device(index)">设备管理</span>
-              </template>
-
-              <el-menu-item index="/">运行状态</el-menu-item>
-              <el-menu-item index="/">数据曲线</el-menu-item>
-              <el-menu-item index="/">参数设定</el-menu-item>
-              <el-menu-item index="/">系统参数</el-menu-item>
-              <el-menu-item index="/">报警设置</el-menu-item>
-              <el-menu-item index="/">报警记录</el-menu-item>
-              <el-menu-item index="/">维保记录</el-menu-item>
-
-            </el-submenu>
-
-
-            <el-menu-item index="/deviceAlarmRecord">报警管理</el-menu-item>
-
-            <el-menu-item index="/operatorLog">操作日志</el-menu-item>
-
-
-            <el-menu-item index="/user">用户管理</el-menu-item>
-
-
-            <el-submenu index="7">
-              <template slot="title">
-                <span>权限设置</span>
-              </template>
-
-              <el-menu-item index="/role">角色管理</el-menu-item>
-              <el-menu-item index="/power">权限管理</el-menu-item>
-
-            </el-submenu>
-
-          </el-menu>
-
-        </el-aside>
+      <el-menu
+          class="el-menu-vertical-demo"
+          :collapse="isCollapse"
+          background-color="#545c64"
+          text-color="#fff"
+          active-text-color="#993333"
+          :router=true
+          :default-active="$route.name"
+          @open="handleOpen"
+          @close="handleClose">
+
+        <!--          <div class="logo" style="height: 50px;  background-color:rgb(84,92,100)">-->
+        <!--            <div class="img">-->
+        <!--              <img src="" alt="" style="height: 100%">-->
+        <!--            </div>-->
+        <!--          </div>-->
+
+
+        <el-menu-item index="/">
+          <i class="el-icon-location"></i>
+          <span slot="title">数据可视化大屏</span>
+        </el-menu-item>
+
+        <el-menu-item index="/operator">
+          <i class="el-icon-location"></i>
+          <span slot="title">运营商管理</span>
+        </el-menu-item>
+
+        <el-menu-item index="/project">
+          <i class="el-icon-location"></i>
+          <span slot="title">项目管理</span>
+        </el-menu-item>
+
+        <el-menu-item index="/gateway">
+          <i class="el-icon-location"></i>
+          <span slot="title">网关管理</span>
+        </el-menu-item>
+
+        <el-submenu index="3-2" style="display: flex;flex-direction:column">
+          <template slot="title">
+            <i class="el-icon-location"></i>
+            <span @click="device(index)">设备管理</span>
+          </template>
+
+          <el-menu-item-group>
+            <el-menu-item index="/">运行状态</el-menu-item>
+            <el-menu-item index="/">数据曲线</el-menu-item>
+            <el-menu-item index="/">参数设定</el-menu-item>
+            <el-menu-item index="/">系统参数</el-menu-item>
+            <el-menu-item index="/">报警设置</el-menu-item>
+            <el-menu-item index="/">报警记录</el-menu-item>
+            <el-menu-item index="/">维保记录</el-menu-item>
+          </el-menu-item-group>
+
+        </el-submenu>
+
+
+        <el-menu-item index="/deviceAlarmRecord">
+          <i class="el-icon-location"></i>
+          <span slot="title">报警管理</span>
+        </el-menu-item>
+
+        <el-menu-item index="/operatorLog">
+          <i class="el-icon-location"></i>
+          <span slot="title">操作日志</span>
+        </el-menu-item>
+
+        <el-menu-item index="/user">
+          <i class="el-icon-location"></i>
+          <span slot="title">用户管理</span>
+        </el-menu-item>
+
+        <el-submenu index="7" style="display: flex;flex-direction:column">
+          <template slot="title">
+            <i class="el-icon-location"></i>
+            <span>权限设置</span>
+          </template>
+
+          <el-menu-item-group>
+          <el-menu-item index="/role">角色管理</el-menu-item>
+          <el-menu-item index="/power">权限管理</el-menu-item>
+          </el-menu-item-group>
+        </el-submenu>
+
+      </el-menu>
+
+
+      <div style="width: 90% ; float: right">
+        <el-header class="header" style="height: 80px">
+
+          <el-radio-group v-model="isCollapse" style="margin-top: 15px;">
+            <el-radio-button :label="false">展开</el-radio-button>
+            <el-radio-button :label="true">收起</el-radio-button>
+          </el-radio-group>
+
+          <el-dropdown style="margin-right: 20px;float: right;margin-top: 10px">
+            <i class="el-icon-setting"></i>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>个人中心</el-dropdown-item>
+              <el-dropdown-item>修改密码</el-dropdown-item>
+              <el-dropdown-item>退出登录</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+          <span style="float: right; margin-right: 20px; margin-top: 10px">Admin</span>
+
+        </el-header>
+
+        <el-main style="background-color: rgb(245,247,249)">
+          <router-view></router-view>
+        </el-main>
       </div>
 
 
-      <div style="width: 80%">
-        <router-view></router-view>
-      </div>
-
     </div>
   </div>
 
@@ -76,6 +129,7 @@ export default {
 
   data() {
     return {
+      isCollapse: false,
       index: '1',
 
     }
@@ -83,8 +137,8 @@ export default {
 
   created: function () {
     let vm = this;
-    // vm.$router.push('/project')
-    this.project(index);
+    vm.$router.push('/operator')
+
   },
 
   methods: {
@@ -97,7 +151,7 @@ export default {
     },
 
 
-    device(index) {
+    device() {
       let vm = this;
       vm.$router.push('/device')
     },
@@ -107,5 +161,43 @@ export default {
 </script>
 
 <style>
+.img {
+  background-color: darkgrey;
+  height: 40px;
+  width: 40px;
+  margin: auto;
+  text-align: center;
+  line-height: 100px;
+  align-items: center;
+}
+
+.header {
+  height: 64px;
+  line-height: 64px;
+  /*background-color: darkgrey;*/
+  padding: 0 20px;
+  position: relative
+}
+
+/*.el-aside {*/
+
+/*  float: left;*/
+/*  background-color: #545c64;*/
+/*  text-color: #fff;*/
+/*  active-text-color: #993333*/
+/*}*/
+
+.el-menu {
+  float: left;
+  background-color: #545c64;
+  text-color: #fff;
+
+}
+
+.el-menu-vertical-demo:not(.el-menu--collapse) {
+  width: 240px;
+
+}
+
 
 </style>

+ 133 - 123
sources/client/vrv-platform/src/views/operator/list.vue

@@ -1,37 +1,41 @@
 <template>
   <div id="operator">
     <el-container>
-
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">运营商列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium"  icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">查询</el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="运营商名称">
-            <el-input placeholder="运营商名称" size="small" v-model="searchFormData.name"></el-input>
+            <el-input placeholder="运营商名称" size="mini" v-model="searchFormData.name"></el-input>
           </el-form-item>
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.number"></el-input>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.number"></el-input>
           </el-form-item>
           <el-form-item label="联系人">
-            <el-input placeholder="联系人" size="small" v-model="searchFormData.contact"></el-input>
+            <el-input placeholder="联系人" size="mini" v-model="searchFormData.contact"></el-input>
           </el-form-item>
           <el-form-item label="联系电话">
-            <el-input placeholder="联系电话" size="small" v-model="searchFormData.tel"></el-input>
+            <el-input placeholder="联系电话" size="mini" v-model="searchFormData.tel"></el-input>
           </el-form-item>
           <el-form-item label="省份">
-            <el-input placeholder="省份" size="small" v-model="searchFormData.province"></el-input>
+            <el-input placeholder="省份" size="mini" v-model="searchFormData.province"></el-input>
           </el-form-item>
           <el-form-item label="城市">
-            <el-input placeholder="城市" size="small" v-model="searchFormData.city"></el-input>
+            <el-input placeholder="城市" size="mini" v-model="searchFormData.city"></el-input>
           </el-form-item>
           <el-form-item label="具体地址">
-            <el-input placeholder="具体地址" size="small" v-model="searchFormData.address"></el-input>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="具体地址" size="mini" v-model="searchFormData.address"></el-input>
           </el-form-item>
 
 
@@ -71,6 +75,7 @@
 
 
         <el-table :data="tableData">
+          <el-table-column  type="selection"></el-table-column>
 
           <el-table-column prop="name" label="运营商名称"></el-table-column>
           <el-table-column prop="number" label="运营商编号"></el-table-column>
@@ -87,17 +92,18 @@
           </el-table-column>
 
 
-          <el-table-column label="操作">
+          <el-table-column label="操作"  fixed="right">
             <template slot-scope="scope">
-              <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
-              <el-button type="primary" size="small" @click="project">项目</el-button>
+              <el-button type="text" size="medium" @click="showEdit(scope.row)">编辑</el-button>
+              <el-button type="text" size="medium" @click="project">项目</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
 
               <el-button
-                type="primary"
-                size="small"
-                class="delBut non"
-                @click="statusHandle(scope.row)"
+                  type="text"
+                  size="medium"
+                  class="delBut non"
+                  style="color: #c01920"
+                  @click="statusHandle(scope.row)"
               >
                 {{ scope.row.status == '1' ? '禁用' : '启用' }}
               </el-button>
@@ -108,12 +114,13 @@
         </el-table>
 
         <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="pager.pageSize"
-          :current-page="pager.pageIndex"
-          :total="pager.itemCount"
-          @current-change="handleCurrentChange"
+            style="margin-top: 15px;text-align: center"
+            background
+            layout="prev, pager, next"
+            :page-size="pager.pageSize"
+            :current-page="pager.pageIndex"
+            :total="pager.itemCount"
+            @current-change="handleCurrentChange"
         >
         </el-pagination>
       </el-main>
@@ -151,18 +158,18 @@ export default {
       },
 
       tableData:
-        [{
-          name: '1',
-          contact: '1',
-          tel: '1',
-          province: '1',
-          city: '1',
-          address: '',
-          code: '',
-          valid: '',
-          number:'',
-          status: 1
-        }],
+          [{
+            name: '1',
+            contact: '1',
+            tel: '1',
+            province: '1',
+            city: '1',
+            address: '',
+            code: '',
+            valid: '',
+            number: '',
+            status: 1
+          }],
       formData: {
         name: '',
         contact: '',
@@ -170,20 +177,20 @@ export default {
         province: '',
         city: '',
         address: '',
-        number:'',
+        number: '',
         code: '',
         valid: '',
       },
       searchFormData:
-        {
-          name: '',
-          contact: '',
-          tel: '',
-          province: '',
-          city: '',
-          address: '',
-          number:'',
-        }
+          {
+            name: '',
+            contact: '',
+            tel: '',
+            province: '',
+            city: '',
+            address: '',
+            number: '',
+          }
     }
   },
 
@@ -213,14 +220,14 @@ export default {
           number: this.searchFormData.number,
         }
       })
-        .then((response) => {
-          // vm.paper = response.data.data.paper;
-          console.log(response.data.data);
+          .then((response) => {
+            // vm.paper = response.data.data.paper;
+            console.log(response.data.data);
 
-          vm.pager = response.data.data.pager
+            vm.pager = response.data.data.pager
 
-          vm.tableData = response.data.data.operators;
-        })
+            vm.tableData = response.data.data.operators;
+          })
     },
     search() {
       //console.log(this.searchFormData)
@@ -267,29 +274,29 @@ export default {
             status: 1,
           }
         })
-          .then((response) => {
-            console.log(response)
+            .then((response) => {
+              console.log(response)
 
-            if (response.data.status == 200) {
+              if (response.data.status == 200) {
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-            }
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+              }
 
-            this.dialogFormVisible = false;
+              this.dialogFormVisible = false;
 
-            this.loadData();
+              this.loadData();
 
-          })
-          .catch(() => {
-          });
+            })
+            .catch(() => {
+            });
       }
 
       if (this.addOrEdit == 1) {
-        vm.$http.get(vm.api.add,{
+        vm.$http.get(vm.api.add, {
           params: {
             name: this.formData.name,
             contact: this.formData.contact,
@@ -301,20 +308,20 @@ export default {
             status: 1,
           }
         })
-          .then((response) => {
-            if (response.data.status == 200) {
+            .then((response) => {
+              if (response.data.status == 200) {
 
-              this.dialogFormVisible = false;
+                this.dialogFormVisible = false;
 
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
 
-              this.loadData();
-            }
-          })
+                this.loadData();
+              }
+            })
       }
     },
 
@@ -328,27 +335,27 @@ export default {
             code: row.code,
           }
         })
-          .then((response) => {
-            console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
+            .then((response) => {
+              console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
 
 
-            }
-            this.loadData();
-          })
+              }
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '取消删除'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '取消删除'
+            })
+          });
     },
     cancel() {
       this.$message({
@@ -379,26 +386,26 @@ export default {
             status: row.status == 1 ? 0 : 1,
           }
         })
-          .then((response) => {
-            console.log(row)
-            // console.log(response)
-            if (response.data.status == 200) {
-              this.$message({
-                type: 'success',
-                showClose: true,
-                message: response.data.desc
-              })
-            }
-            this.loadData();
-          })
+            .then((response) => {
+              console.log(row)
+              // console.log(response)
+              if (response.data.status == 200) {
+                this.$message({
+                  type: 'success',
+                  showClose: true,
+                  message: response.data.desc
+                })
+              }
+              this.loadData();
+            })
       })
-        .catch(() => {
-          this.$message({
-            type: 'info',
-            showClose: true,
-            message: '操作取消'
-          })
-        });
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              showClose: true,
+              message: '操作取消'
+            })
+          });
 
     },
 
@@ -411,5 +418,8 @@ export default {
 </script>
 
 <style scoped>
-
+.el-form-item{
+  margin-left: 15px;
+  margin-top: 10px
+}
 </style>

+ 25 - 15
sources/client/vrv-platform/src/views/operatorLog/list.vue

@@ -3,23 +3,29 @@
     <el-container>
 
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">操作日志列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium" icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">
+              查询
+            </el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="用户姓名">
-            <el-input placeholder="用户姓名" size="small" v-model="searchFormData.userRealname"></el-input>
+            <el-input placeholder="用户姓名" size="mini" v-model="searchFormData.userRealname"></el-input>
           </el-form-item>
           <el-form-item label="用户账号">
-            <el-input placeholder="用户账号" size="small" v-model="searchFormData.userAccount"></el-input>
+            <el-input placeholder="用户账号" size="mini" v-model="searchFormData.userAccount"></el-input>
           </el-form-item>
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
           </el-form-item>
 
 
@@ -50,7 +56,7 @@
 
 
         <el-table :data="tableData">
-
+          <el-table-column  type="selection"></el-table-column>
           <el-table-column prop="userRealname" label="用户姓名"></el-table-column>
           <el-table-column prop="userAccount" label="用户账号"></el-table-column>
           <el-table-column prop="content" label="操作内容"></el-table-column>
@@ -58,13 +64,14 @@
 
           <el-table-column label="操作">
             <template slot-scope="scope">
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
             </template>
           </el-table-column>
 
         </el-table>
 
         <el-pagination
+            style="margin-top: 15px;text-align: center"
           background
           layout="prev, pager, next"
           :page-size="pager.pageSize"
@@ -301,5 +308,8 @@ export default {
 </script>
 
 <style scoped>
-
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
+}
 </style>

+ 20 - 18
sources/client/vrv-platform/src/views/power/list.vue

@@ -1,7 +1,19 @@
 <template>
   <div id="power">
     <el-main>
-      <el-form :inline="true" :model="searchFormData">
+      <div style="margin-bottom: 20px">
+        <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+        <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">权限列表</span>
+      </div>
+
+      <div>
+        <el-row>
+          <el-button size="medium"  icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">查询</el-button>
+          <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+        </el-row>
+      </div>
+
+      <el-form :inline="true" :model="searchFormData" style="background-color: white;">
         <el-form-item label="权限名称">
           <el-input placeholder="权限名称" size="small" v-model="searchFormData.name"></el-input>
         </el-form-item>
@@ -15,13 +27,6 @@
           <el-input placeholder="描述" size="small" v-model="searchFormData.description"></el-input>
         </el-form-item>
 
-        <el-form-item>
-          <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-        </el-form-item>
-
-        <el-form-item>
-          <el-button type="primary" size="small" @click="showAdd">新增</el-button>
-        </el-form-item>
 
         <el-dialog title="权限" :visible.sync="dialogFormVisible">
           <el-form label-position="left" :model="formData">
@@ -49,7 +54,7 @@
 
 
       <el-table :data="tableData">
-
+        <el-table-column  type="selection"></el-table-column>
         <el-table-column prop="name" label="权限名称"></el-table-column>
         <el-table-column prop="flag" label="权限标识"></el-table-column>
         <el-table-column prop="type" label="权限类型"></el-table-column>
@@ -58,14 +63,15 @@
 
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-            <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
+            <el-button type="text" size="medium" @click="showEdit(scope.row)">修改</el-button>
+            <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
           </template>
         </el-table-column>
 
       </el-table>
 
       <el-pagination
+          style="margin-top: 15px;text-align: center"
         background
         layout="prev, pager, next"
         :page-size="pager.pageSize"
@@ -292,12 +298,8 @@ export default {
 </script>
 
 <style>
-#app {
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  color: #2c3e50;
-  margin-top: 60px;
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
 }
 </style>

+ 30 - 21
sources/client/vrv-platform/src/views/project/project.vue

@@ -3,40 +3,44 @@
     <el-container>
 
       <el-main>
-        <el-form :inline="true" :model="searchFormData">
+        <div style="margin-bottom: 20px">
+          <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+          <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">项目列表</span>
+        </div>
+
+        <div>
+          <el-row>
+            <el-button size="medium"  icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">查询</el-button>
+            <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+          </el-row>
+        </div>
+
+        <el-form :inline="true" :model="searchFormData" style="background-color: white;">
           <el-form-item label="项目名称">
-            <el-input placeholder="项目名称" size="small" v-model="searchFormData.name"></el-input>
+            <el-input placeholder="项目名称" size="mini" v-model="searchFormData.name"></el-input>
           </el-form-item>
           <el-form-item label="项目编号">
-            <el-input placeholder="项目编号" size="small" v-model="searchFormData.number"></el-input>
+            <el-input placeholder="项目编号" size="mini" v-model="searchFormData.number"></el-input>
           </el-form-item>
 
           <el-form-item label="客户名称">
-            <el-input placeholder="客户名称" size="small" v-model="searchFormData.customer"></el-input>
+            <el-input placeholder="客户名称" size="mini" v-model="searchFormData.customer"></el-input>
           </el-form-item>
           <el-form-item label="客户电话">
-            <el-input placeholder="客户电话" size="small" v-model="searchFormData.customerTel"></el-input>
+            <el-input placeholder="客户电话" size="mini" v-model="searchFormData.customerTel"></el-input>
           </el-form-item>
           <el-form-item label="省份">
-            <el-input placeholder="省份" size="small" v-model="searchFormData.province"></el-input>
+            <el-input placeholder="省份" size="mini" v-model="searchFormData.province"></el-input>
           </el-form-item>
           <el-form-item label="城市">
-            <el-input placeholder="城市" size="small" v-model="searchFormData.city"></el-input>
+            <el-input placeholder="城市" size="mini" v-model="searchFormData.city"></el-input>
           </el-form-item>
           <el-form-item label="具体地址">
-            <el-input placeholder="具体地址" size="small" v-model="searchFormData.address"></el-input>
+            <el-input placeholder="具体地址" size="mini" v-model="searchFormData.address"></el-input>
           </el-form-item>
 
           <el-form-item label="运营商编号">
-            <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-          </el-form-item>
-
-          <el-form-item>
-            <el-button type="primary" size="small" @click="showAdd">新增</el-button>
+            <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
           </el-form-item>
 
 
@@ -81,7 +85,7 @@
 
 
         <el-table :data="tableData">
-
+          <el-table-column  type="selection"></el-table-column>
           <el-table-column prop="name" label="项目名称"></el-table-column>
           <el-table-column prop="number" label="项目编号"></el-table-column>
           <el-table-column prop="description" label="项目描述"></el-table-column>
@@ -94,15 +98,16 @@
 
           <el-table-column label="操作">
             <template slot-scope="scope">
-              <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-              <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
-              <el-button type="primary" size="small" @click="gateway">网关</el-button>
+              <el-button type="text" size="medium" @click="showEdit(scope.row)">编辑</el-button>
+              <el-button type="text" size="medium" @click="gateway">网关</el-button>
+              <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
             </template>
           </el-table-column>
 
         </el-table>
 
         <el-pagination
+            style="margin-top: 15px;text-align: center"
             background
             layout="prev, pager, next"
             :page-size="pager.pageSize"
@@ -387,5 +392,9 @@ export default {
 </script>
 
 <style scoped>
+.el-form-item{
+  margin-left: 15px;
+  margin-top: 10px
+}
 
 </style>

+ 23 - 20
sources/client/vrv-platform/src/views/role/list.vue

@@ -1,24 +1,30 @@
 <template>
   <div id="role">
     <el-main>
-      <el-form :inline="true" :model="searchFormData">
+      <div style="margin-bottom: 20px">
+        <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+        <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">角色列表</span>
+      </div>
+
+      <div>
+        <el-row>
+          <el-button size="medium"  icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">查询</el-button>
+          <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+        </el-row>
+      </div>
+
+      <el-form :inline="true" :model="searchFormData" style="background-color: white;">
         <el-form-item label="角色名称">
-          <el-input placeholder="角色名称" size="small" v-model="searchFormData.name"></el-input>
+          <el-input placeholder="角色名称" size="mini" v-model="searchFormData.name"></el-input>
         </el-form-item>
         <el-form-item label="角色标识">
-          <el-input placeholder="角色标识" size="small" v-model="searchFormData.flag"></el-input>
+          <el-input placeholder="角色标识" size="mini" v-model="searchFormData.flag"></el-input>
         </el-form-item>
         <el-form-item label="描述">
-          <el-input placeholder="描述" size="small" v-model="searchFormData.description"></el-input>
+          <el-input placeholder="描述" size="mini" v-model="searchFormData.description"></el-input>
         </el-form-item>
 
-        <el-form-item>
-          <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-        </el-form-item>
 
-        <el-form-item>
-          <el-button type="primary" size="small" @click="showAdd">新增</el-button>
-        </el-form-item>
 
         <el-dialog title="角色" :visible.sync="dialogFormVisible">
           <el-form label-position="left" :model="formData">
@@ -43,7 +49,7 @@
 
 
       <el-table :data="tableData">
-
+        <el-table-column  type="selection"></el-table-column>
         <el-table-column prop="name" label="角色名称"></el-table-column>
         <el-table-column prop="flag" label="角色标识"></el-table-column>
         <el-table-column prop="description" label="描述"></el-table-column>
@@ -51,14 +57,15 @@
 
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button type="primary" size="small" @click="showEdit(scope.row)">编辑</el-button>
-            <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
+            <el-button type="text" size="medium" @click="showEdit(scope.row)">修改</el-button>
+            <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
           </template>
         </el-table-column>
 
       </el-table>
 
       <el-pagination
+          style="margin-top: 15px;text-align: center"
         background
         layout="prev, pager, next"
         :page-size="pager.pageSize"
@@ -278,12 +285,8 @@ export default {
 </script>
 
 <style>
-#app {
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  color: #2c3e50;
-  margin-top: 60px;
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
 }
 </style>

+ 27 - 23
sources/client/vrv-platform/src/views/user/list.vue

@@ -1,30 +1,37 @@
 <template>
   <div id="user">
     <el-main>
-      <el-form :inline="true" :model="searchFormData">
+      <div style="margin-bottom: 20px">
+        <el-button size="medium" icon="el-icon-back" type="text">返回</el-button>
+        <span style="margin-left: 20px;margin-bottom: 15px; font-size: 18px">用户列表</span>
+      </div>
+
+      <div>
+        <el-row>
+          <el-button size="medium" icon="el-icon-search" style="margin-bottom: 15px" @click="search(searchFormData)">
+            查询
+          </el-button>
+          <el-button size="medium" icon="el-icon-plus" @click="showAdd">新增</el-button>
+        </el-row>
+      </div>
+
+      <el-form :inline="true" :model="searchFormData" style="background-color: white;">
         <el-form-item label="姓名">
-          <el-input placeholder="姓名" size="small" v-model="searchFormData.realname"></el-input>
+          <el-input placeholder="姓名" size="mini" v-model="searchFormData.realname"></el-input>
         </el-form-item>
         <el-form-item label="账号">
-          <el-input placeholder="账号" size="small" v-model="searchFormData.account"></el-input>
+          <el-input placeholder="账号" size="mini" v-model="searchFormData.account"></el-input>
         </el-form-item>
         <el-form-item label="手机号">
-          <el-input placeholder="手机号" size="small" v-model="searchFormData.phone"></el-input>
+          <el-input placeholder="手机号" size="mini" v-model="searchFormData.phone"></el-input>
         </el-form-item>
         <el-form-item label="角色">
-          <el-input placeholder="角色" size="small" v-model="searchFormData.roleFlag"></el-input>
+          <el-input placeholder="角色" size="mini" v-model="searchFormData.roleFlag"></el-input>
         </el-form-item>
         <el-form-item label="运营商编号">
-          <el-input placeholder="运营商编号" size="small" v-model="searchFormData.operatorNumber"></el-input>
+          <el-input placeholder="运营商编号" size="mini" v-model="searchFormData.operatorNumber"></el-input>
         </el-form-item>
 
-        <el-form-item>
-          <el-button type="primary" size="small" @click="search(searchFormData)">搜索</el-button>
-        </el-form-item>
-
-        <el-form-item>
-          <el-button type="primary" size="small" @click="showAdd">新增</el-button>
-        </el-form-item>
 
         <el-dialog title="用户" :visible.sync="dialogFormVisible">
           <el-form label-position="left" :model="formData">
@@ -58,7 +65,7 @@
 
 
       <el-table :data="tableData">
-
+        <el-table-column  type="selection"></el-table-column>
         <el-table-column prop="realname" label="姓名"></el-table-column>
         <el-table-column prop="account" label="账号"></el-table-column>
         <el-table-column prop="phone" label="手机号"></el-table-column>
@@ -69,14 +76,15 @@
 
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button type="primary" size="small" @click="showEdit(scope.row)">修改</el-button>
-            <el-button type="danger" size="small" @click="del(scope.row)">删除</el-button>
+            <el-button type="text" size="medium" @click="showEdit(scope.row)">修改</el-button>
+            <el-button type="text" size="medium" @click="del(scope.row)" style="color: #c01920">删除</el-button>
           </template>
         </el-table-column>
 
       </el-table>
 
       <el-pagination
+          style="margin-top: 15px;text-align: center"
         background
         layout="prev, pager, next"
         :page-size="pager.pageSize"
@@ -317,12 +325,8 @@ export default {
 </script>
 
 <style>
-#app {
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  color: #2c3e50;
-  margin-top: 60px;
+.el-form-item {
+  margin-left: 15px;
+  margin-top: 10px
 }
 </style>

+ 10 - 0
sources/server/vrv/vrv-platform/pom.xml

@@ -168,6 +168,16 @@
             <version>2.6.5</version>
         </dependency>
 
+        <!--redis-->
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+            <version>3.6.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 27 - 0
sources/server/vrv/vrv-platform/src/main/java/com/kuyuntech/vrv/platform/configuration/core/RedisConfiguration.java

@@ -0,0 +1,27 @@
+package com.kuyuntech.vrv.platform.configuration.core;
+
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * redis配置key的序列化器,显示得好看一点
+ */
+@Configuration
+public class RedisConfiguration extends CachingConfigurerSupport {
+
+    @Bean
+    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
+        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
+
+        //默认的Key序列化器为:JdkSerializationRedisSerializer
+        redisTemplate.setKeySerializer(new StringRedisSerializer()); // key序列化
+        //redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); // value序列化
+
+        redisTemplate.setConnectionFactory(connectionFactory);
+        return redisTemplate;
+    }
+}

+ 24 - 8
sources/server/vrv/vrv-platform/src/main/java/com/kuyuntech/vrv/platform/controller/auth/AuthController.java

@@ -16,6 +16,7 @@ import com.wbspool.fastboot.core.web.result.ParamErrorResultBuilder;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.context.request.NativeWebRequest;
@@ -35,6 +36,9 @@ import java.util.Map;
 @RestController
 public class AuthController {
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     @Autowired
     private AuthService authService;
     @Autowired
@@ -65,7 +69,8 @@ public class AuthController {
 
         VerifyCodeBean verifyCodeBean = this.verifyCodeService.add(VerifyCodeBean.builder().type(VerifyCodeType.IMG).verified(VerifyCodeStatus.UN_VERIFY).expireTime(verifyCodeExpireTime).verifyCode(verifyCode).build());
 
-        request.getSession().setAttribute("verifyCodeBean", verifyCodeBean);
+        redisTemplate.opsForValue().set("verifyCodeBean", verifyCodeBean);
+        //request.getSession().setAttribute("verifyCodeBean", verifyCodeBean);
 
         response.setContentType("application/force-download");
         response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(verifyCode, "UTF-8"));
@@ -81,10 +86,17 @@ public class AuthController {
         //校验验证码是否正确
         if (this.verifyCodeCheck) {
 
-            VerifyCodeBean verifyCodeBean = (VerifyCodeBean) request.getSession().getAttribute("verifyCodeBean");
+            VerifyCodeBean verifyCodeBean = (VerifyCodeBean) redisTemplate.opsForValue().get("verifyCodeBean");
+            //    VerifyCodeBean verifyCodeBean = (VerifyCodeBean) request.getSession().getAttribute("verifyCodeBean");
+
+            if (verifyCodeBean == null) {
+                return ParamErrorResultBuilder.newBuilder().paramError("verifyCode", "没有获取到验证码").build();
+            }
 
             String verifyCode = verifyCodeBean.getVerifyCode();
 
+            System.out.println(verifyCode);
+
             if (StringUtils.isEmpty(userBean.getVerifyCode())) {
                 return ParamErrorResultBuilder.newBuilder().paramError("verifyCode", "验证码不能为空").build();
             }
@@ -115,9 +127,11 @@ public class AuthController {
             return ResponseBean.serverError("账号或密码错误");
         }
 
-        request.getSession().removeAttribute("verifyCodeBean");
+        redisTemplate.delete("verifyCodeBean");
+        //request.getSession().removeAttribute("verifyCodeBean");
 
-        request.getSession().setAttribute("userBean", userBean);
+        redisTemplate.opsForValue().set("userBean", userBean);
+        //  request.getSession().setAttribute("userBean", userBean);
 
         return ResponseBean.success("登录成功").addData("userBean", userBean);
     }
@@ -130,7 +144,8 @@ public class AuthController {
     @RequestMapping
     public Object updateUserPassword(String newPassword, String oldPassword, HttpServletRequest request) {
 
-        UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
+        UserBean userBean = (UserBean) redisTemplate.opsForValue().get("userBean");
+        //   UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
 
         if (userBean == null) {
             return ResponseBean.unAuthorize("您未登录");
@@ -159,13 +174,14 @@ public class AuthController {
     @RequestMapping
     public Object logout(HttpServletRequest request) {
 
-        UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
+        UserBean userBean = (UserBean) redisTemplate.opsForValue().get("userBean");
 
         if (userBean == null) {
             return ResponseBean.unAuthorize("您未登录");
         }
 
-        request.getSession().invalidate();
+        //request.getSession().invalidate();
+        redisTemplate.delete("userBean");
 
         return ResponseBean.serverError("退出成功!");
     }
@@ -178,7 +194,7 @@ public class AuthController {
     @RequestMapping
     public Object userInfo(HttpServletRequest request) {
 
-        UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
+        UserBean userBean = (UserBean) redisTemplate.opsForValue().get("userBean");
 
 
         if (userBean == null) {

+ 6 - 1
sources/server/vrv/vrv-platform/src/main/resources/application-dev.properties

@@ -5,4 +5,9 @@ spring.datasource.password=${DB_PWD:123456}
 spring.datasource.driverClassName=com.mysql.jdbc.Driver
 spring.jpa.properties.hibernate.hbm2ddl.auto=update
 spring.jpa.properties.hibernate.format_sql=true
-spring.jpa.show-sql=true
+spring.jpa.show-sql=true
+
+spring.redis.host=localhost
+spring.redis.port=6379
+spring.redis.database=0
+spring.cache.redis.time-to-live=1800000