Browse Source

分页修复

panxiandiao_i 5 years ago
parent
commit
ac036a07af

+ 20 - 20
src/api/htVehicle.js

@@ -5,33 +5,33 @@ import { mockUrl } from '@/apiConfig/virtualDevices'
 // 获取锁类型、锁供应商类型
 export function queryLockCreateInfo() {
   return request({
-    url: mockUrl + '/htw/device/queryLockCreateInfo',
+    url: mockUrl + '/htw/queryLockCreateInfo',
     method: 'get'
   })
 }
 
 // 查看详情
-export function queryVehicleCreateInfo(params) {
+// export function queryVehicleCreateInfo(params) {
+//   return request({
+//     url: mockUrl + `/htw/device/queryVehicleCreateInfo?lockModel=` + params,
+//     method: 'get',
+//     params
+//   })
+// }
+
+// 获取车类型、车辆供应商类型
+export function queryVehicleCreateInfo(data) {
   return request({
-    url: mockUrl + `/htw/device/queryVehicleCreateInfo?lockModel=` + params,
+    url: mockUrl + '/htw/queryVehicleCreateInfo?lockModel=' + data,
     method: 'get',
-    params
+    data
   })
 }
 
-// 获取车类型、车辆供应商类型
-// export function queryVehicleCreateInfo(data) {
-//     return request({
-//         url: mockUrl + '/htw/device/queryVehicleCreateInfo',
-//         method: 'post',
-//         data
-//     })
-// }
-
 // 新建设备
 export function createDevice(data) {
   return request({
-    url: mockUrl + '/htw/device/createDevice',
+    url: mockUrl + '/htw/createDevice',
     method: 'post',
     data
   })
@@ -40,7 +40,7 @@ export function createDevice(data) {
 // 删除设备
 export function deleteDevice(data) {
   return request({
-    url: mockUrl + `/htw/device/deleteDevice?vehicleId=` + data,
+    url: mockUrl + `/htw/deleteDevice?vehicleId=` + data,
     method: 'get',
     data
   })
@@ -49,7 +49,7 @@ export function deleteDevice(data) {
 // 设备上线开关
 export function deviceOnline(data) {
   return request({
-    url: mockUrl + '/htw/device/opt/deviceOnline?lockNo=' + data,
+    url: mockUrl + '/htw/deviceOnline?lockNo=' + data,
     method: 'get',
     data
   })
@@ -58,7 +58,7 @@ export function deviceOnline(data) {
 // 设备下线开关
 export function deviceOffline(data) {
   return request({
-    url: mockUrl + '/htw/device/opt/deviceOffline?lockNo=' + data,
+    url: mockUrl + '/htw/deviceOffline?ecuId=' + data,
     method: 'get',
     data
   })
@@ -76,7 +76,7 @@ export function unlockVehicle(data) {
 // 设备关锁
 export function lockVehicle(data) {
   return request({
-    url: mockUrl + '/htw/device/opt/lockVehicle?vehicleId=' + data,
+    url: mockUrl + '/htw/lockVehicle?lockNo=' + data,
     method: 'get',
     data
   })
@@ -85,7 +85,7 @@ export function lockVehicle(data) {
 // 编辑
 export function updateLockAttr(data) {
   return request({
-    url: mockUrl + '/htw/user/device/updateLockAttr',
+    url: mockUrl + '/htw/updateLockAttr',
     method: 'post',
     data
   })
@@ -94,7 +94,7 @@ export function updateLockAttr(data) {
 // 查询用户设备详情(首页刚进来)
 export function getDevices(data) {
   return request({
-    url: mockUrl + '/htw/user/device/getDevices',
+    url: mockUrl + '/htw/getDevices',
     method: 'post',
     data
   })

+ 1 - 1
src/apiConfig/virtualDevices.js

@@ -1,3 +1,3 @@
 /*eslint-disable*/ //规避eslint的检查,如没有eslint可不写
 // export const mockUrl = 'http://mock.Intra.xiaojukeji.com' // 线上
-export const mockUrl = 'http://10.96.113.197:9999/virtual-devices' // 线下
+export const mockUrl = 'http://10.96.113.197:9999/virtual-devices' // 线下

+ 15 - 16
src/views/Platform/setUp/systemSetup/bizPage.vue

@@ -23,7 +23,7 @@
           <el-table-column label="操作" align="center" min-width="180px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditBiz(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteBiz(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeleteBiz(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -164,7 +164,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -173,11 +173,9 @@ export default {
     // 进首页
     getList() {
       this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryBizTypeList(this.indexPage).then(response => {
+      this.bizForm.pageSize = this.pageSize
+      this.bizForm.curIndex = this.curIndex - 1
+      queryBizTypeList(this.bizForm).then(response => {
         this.bizData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -186,9 +184,10 @@ export default {
 
     // 查看
     queryBizList(ele) {
+      this.curIndex = 0
       this.bizForm.bizName = ele.bizName
-      // this.bizForm.pageSize = this.pageSize
-      // this.bizForm.curIndex = this.curIndex
+      this.bizForm.pageSize = this.pageSize
+      this.bizForm.curIndex = this.curIndex - 1
       // this.bizTypeInfo = { bizTypeInfo: this.bizForm }
       console.log(ele)
       queryBizTypeList(this.bizForm).then(response => {
@@ -198,7 +197,7 @@ export default {
           this.total = response.data.total
           this.dialogFormVisible = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -220,7 +219,7 @@ export default {
           this.getList()
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -251,7 +250,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -260,11 +259,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.bizForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.bizForm)
     },
 
     clearValidate(formName) {
@@ -274,8 +273,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 19 - 20
src/views/Platform/setUp/systemSetup/modulePage.vue

@@ -30,7 +30,7 @@
           <el-table-column label="操作" align="center" min-width="150px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditModule(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteModule(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeleteModule(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -167,7 +167,7 @@ export default {
         if (response.code === 200) {
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -241,7 +241,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -250,11 +250,9 @@ export default {
     // 进首页
     getList() {
       // this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryBizModuleList(this.indexPage).then(response => {
+      this.moduleForm.pageSize = this.pageSize
+      this.moduleForm.curIndex = this.curIndex - 1
+      queryBizModuleList(this.moduleForm).then(response => {
         this.moduletData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -263,11 +261,12 @@ export default {
 
     // 查看
     queryModuleList(ele) {
+      this.curIndex = 0
       this.moduleForm.bizModuleName = ele.bizModuleName
       this.moduleForm.bizId = ele.bizId
       this.moduleForm.platId = ele.platId
-      // this.bizForm.pageSize = this.pageSize
-      // this.platForm.curIndex = this.curIndex - 1
+      this.moduleForm.pageSize = this.pageSize
+      this.moduleForm.curIndex = this.curIndex - 1
       // this.listLoading = true
       queryBizModuleList(this.moduleForm).then(response => {
         if (response.code === 200) {
@@ -277,7 +276,7 @@ export default {
           this.dialogFormVisible = false
           // this.listLoading = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -287,17 +286,17 @@ export default {
       this.addModuleForm = ele
     },
     deleteModuleType() {
-      var bizModuleIds = [this.addModuleForm.id]
+      var moduleIds = [this.addModuleForm.id]
       this.deleteData.modifier = this.userInformation
-      this.deleteData.bizModuleIds = bizModuleIds
+      this.deleteData.moduleIds = moduleIds
       deleteBizModule(this.deleteData).then(response => {
         if (response.code === 200) {
           this.successFun()
           this.dialogDeleteVisible = false
           this.getList()
-          this.bizData = response.data.list
+          // this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -334,7 +333,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -343,11 +342,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.moduleForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.moduleForm)
     },
 
     clearValidate(formName) {
@@ -357,8 +356,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 17 - 18
src/views/Platform/setUp/systemSetup/platformPage.vue

@@ -17,16 +17,16 @@
       <div class="set-locate">
         <el-table :key="tableKey" v-loading="listLoading" :data="platData" fit highlight-current-row style="width: 100%;" border :header-cell-style="{background:'#F0F2F4',color:'#606266'}">
           <el-table-column label="序号" prop="id" min-width="50px" align="center"><template slot-scope="scope"><span>{{ scope.row.id }}</span></template> </el-table-column>
+          <el-table-column label="业务线" prop="bizName" min-width="110px" align="center"><template slot-scope="scope"><span>{{ scope.row.bizName }}</span></template> </el-table-column>
           <el-table-column label="平台类型" prop="platName" align="center" min-width="120">
             <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff">{{ scope.row.platName }}</a></template>
           </el-table-column>
-          <el-table-column label="业务线" prop="bizName" min-width="110px" align="center"><template slot-scope="scope"><span>{{ scope.row.bizName }}</span></template> </el-table-column>
           <el-table-column label="端类型" prop="clientType" min-width="120px" align="center"><template slot-scope="{row}"><span>{{ statusMaps.get(row.clientType) }}</span></template> </el-table-column>
           <el-table-column label="操作人" prop="modifier" min-width="120px" align="center"><template slot-scope="scope"><span>{{ scope.row.modifier }}</span></template> </el-table-column>
           <el-table-column label="操作" align="center" min-width="200px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditPlat(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeletePlat(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeletePlat(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -166,7 +166,7 @@ export default {
         if (response.code === 200) {
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -196,7 +196,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -205,11 +205,9 @@ export default {
     // 进首页
     getList() {
       // this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryPlatFormTypeList(this.indexPage).then(response => {
+      this.platForm.pageSize = this.pageSize
+      this.platForm.curIndex = this.curIndex - 1
+      queryPlatFormTypeList(this.platForm).then(response => {
         this.platData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -218,10 +216,11 @@ export default {
 
     // 查看
     queryBizList(ele) {
+      this.curIndex = 0
       this.platForm.platName = ele.platName
       this.platForm.bizId = ele.bizId
-      // this.bizForm.pageSize = this.pageSize
-      // this.platForm.curIndex = this.curIndex - 1
+      this.platForm.pageSize = this.pageSize
+      this.platForm.curIndex = this.curIndex - 1
       console.log(ele)
       // this.listLoading = true
       queryPlatFormTypeList(this.platForm).then(response => {
@@ -232,7 +231,7 @@ export default {
           this.dialogFormVisible = false
           // this.listLoading = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -254,7 +253,7 @@ export default {
           this.getList()
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -288,7 +287,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -297,11 +296,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.platForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.platForm)
     },
 
     clearValidate(formName) {
@@ -311,8 +310,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 38 - 25
src/views/Platform/setUp/systemSetup/projectPage.vue

@@ -26,15 +26,16 @@
           <el-table-column label="工程模块" prop="moduleName" align="center" min-width="100">
             <template slot-scope="scope"><a style="color:#20a0ff">{{ scope.row.moduleName }}</a></template>
           </el-table-column>
-          <el-table-column label="业务模块" prop="bizModuleName" min-width="70px" align="center" />
-          <el-table-column label="平台类型" prop="platName" min-width="70px" align="center" />
           <el-table-column label="业务线" prop="bizName" min-width="70px" align="center" />
+          <el-table-column label="平台类型" prop="platName" min-width="70px" align="center" />
+          <el-table-column label="业务模块" prop="bizModuleName" min-width="70px" align="center" />
           <!-- <el-table-column label="端类型" prop="" min-width="70px" align="center" /> -->
           <el-table-column label="操作人" prop="modifier" min-width="70px" align="center" />
           <el-table-column label="操作" align="center" min-width="150px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
+              <el-button type="primary" size="mini" @click="handelcheckProject(row)">查看</el-button>
               <el-button type="primary" size="mini" @click="handelEditProject(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteProject(row)">删除</el-button>
+            <!-- <el-button type="danger" size="mini" @click="handelDeleteProject(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -71,10 +72,10 @@
             </el-form>
           </div>
           <div align="center" style="margin-top:22px">
-            <el-button type="info" plain size="mini" @click="dialogFormVisible=false">取消</el-button>
-            <el-button type="primary" size="mini" @click="titleName === '新增' ? addModuleType(addProgectForm) :updateModuleType(addProgectForm)">确定</el-button>
+            <el-button v-show="btnIsShow" type="info" plain size="mini" @click="dialogFormVisible=false">取消</el-button>
+            <el-button v-show="btnIsShow" type="primary" size="mini" @click="titleName === '新增' ? addModuleType(addProgectForm) :updateModuleType(addProgectForm)">确定</el-button>
           </div>
-          <div style="margin-top:6%" />
+          <div style="margin-top:10%" />
         </el-dialog>
 
         <el-dialog :visible.sync="dialogDeleteVisible" width="30%">
@@ -123,6 +124,7 @@ export default {
       userName: localStorage.getItem('realname'),
       userData: '',
       envSelections,
+      btnIsShow: true,
       consumerSelections,
       projectData: [],
       bizType: [],
@@ -148,7 +150,7 @@ export default {
       currentBizData: [],
       tableKey: 0,
       curIndex: 0,
-      pageSize: 5,
+      pageSize: 10,
       listLoading: true,
       dialogFormVisible: false,
       dialogDeleteVisible: false,
@@ -183,10 +185,7 @@ export default {
     handleaddProject() {
       this.titleName = '新增'
       this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['addProgectForms'].clearValidate()
-      })
-      // this.$refs.addProgectForms.resetFields()
+      this.$refs.addProgectForms.resetFields()
       this.$set(this.addProgectForm, 'moduleName', '')
       this.$set(this.addProgectForm, 'gitAddress', '')
       this.$set(this.addProgectForm, 'bizModuleId', '')
@@ -207,7 +206,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -257,6 +256,8 @@ export default {
     },
     // 修改选项
     getPlat1(e) {
+      console.log(e)
+      console.log(this.bizType.filter((value) => value.code === e)[0].child)
       if (this.bizType.filter((value) => value.code === e)[0].child) {
         this.platType = this.bizType.filter((value) => value.code === e)[0].child
         this.platType = this.platType.filter((value) => value.clientType === 1)
@@ -295,11 +296,9 @@ export default {
     // 进首页
     getList() {
       this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryModuleList(this.indexPage).then(response => {
+      this.projectForm.pageSize = this.pageSize
+      this.projectForm.curIndex = this.curIndex - 1
+      queryModuleList(this.projectForm).then(response => {
         this.projectData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -308,9 +307,10 @@ export default {
 
     // 查看
     queryProjectList(ele) {
+      this.curIndex = 0
       this.projectForm = ele
       this.projectForm.pageSize = this.pageSize
-      this.projectForm.curIndex = this.curIndex
+      this.projectForm.curIndex = this.curIndex - 1
       queryModuleList(this.projectForm).then(response => {
         if (response.code === 200) {
           // this.getMyDevicesList()
@@ -318,7 +318,7 @@ export default {
           this.total = response.data.total
           this.dialogFormVisible = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -336,8 +336,9 @@ export default {
           this.successFun()
           this.dialogDeleteVisible = false
           this.getList()
+          this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -378,20 +379,32 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
       })
     },
+    handelcheckProject(row) {
+      this.titleName = '查看'
+      this.dialogFormVisible = true
+      this.addProgectForm = Object.assign({}, row)
+      if (this.bizType.filter((value) => value.code === this.addProgectForm.bizId)[0]) {
+        this.platType = this.bizType.filter((value) => value.code === this.addProgectForm.bizId)[0].child
+      }
+      if (this.platType.filter((value) => value.code === this.addProgectForm.platId)[0]) {
+        this.projectType = this.platType.filter((value) => value.code === this.addProgectForm.platId)[0].child
+      }
+      this.btnIsShow = false
+    },
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.projectForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.projectForm)
     },
 
     clearValidate(formName) {
@@ -401,8 +414,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 206 - 205
src/views/Platform/setUp/teamPage.vue

@@ -1,119 +1,113 @@
 <template>
-  <el-container>
-    <el-aside width="150pt">
-      <el-tree
-        style="background: #E9EEF3; height:110vh; padding:15%;"
-        :data="bizOptions"
-        node-key="id"
-        undraggable
-        :highlight-current="true"
-        @node-click="clickFun"
-      />
-    </el-aside>
-    <el-container>
-      <el-header style="height: auto; text-align:left">
-        <div style="margin: 4%;">
-          <el-input v-model="form.name" clearable filterable placeholder="姓名" style="width:22%;margin-right:5px;" />
-          <el-input v-model="form.email" clearable filterable placeholder="邮箱" style="width:22%;margin-right:5px;" />
-          <el-select v-model="form.role" width="200" clearable placeholder="请选择角色">
+  <!-- 团队管理 -->
+  <div class="set-background">
+    <div class="block">
+      <el-form :model="teamForm">
+        <div class="set-head">
+          姓名<el-input v-model="teamForm.name" clearable placeholder="请填写" style="margin-left:10px;width:18%;" /> &nbsp;&nbsp;
+          角色<el-select v-model="teamForm.role" placeholder="请选择" filterable clearable style="margin-left:10px;width:18%;" @change="choosePlatType()">
             <el-option v-for="item in roleStrings" :key="item.value" :label="item.name" :value="item.name" />
           </el-select>
-          <el-button type="primary" style="margin-left:8%;" @click="queryList(form)">查询</el-button>
-          <el-button type="primary" @click="createGetShow">新增</el-button>
+          <div style="float:right">
+            <el-button type="primary" @click="queryList(teamForm)">查询</el-button>
+            <el-button type="primary" plain @click="handleteam()">新增</el-button>
+          </div>
         </div>
+      </el-form>
+      <div class="set-locate">
+        <el-table :key="tableKey" :data="list" fit highlight-current-row style="width: 100%;" border :header-cell-style="{background:'#F0F2F4',color:'#606266'}">
+          <el-table-column label="ID" prop="id" min-width="40px" align="center"><template slot-scope="scope"><span>{{ scope.row.id }}</span></template> </el-table-column>
+          <el-table-column label="姓名" prop="name" min-width="80px" align="center"><template slot-scope="scope"><span>{{ scope.row.name }}</span></template> </el-table-column>
+          <el-table-column label="邮箱" prop="email" min-width="90px" align="center"><template slot-scope="scope"><span>{{ scope.row.email }}</span></template> </el-table-column>
+          <el-table-column label="角色" prop="role" min-width="80px" align="center"><template slot-scope="scope"><span>{{ scope.row.role }}</span></template> </el-table-column>
+          <el-table-column label="业务线" prop="bizName" min-width="80px" align="center"> <template slot-scope="scope"><span>{{ scope.row.bizName }}</span></template></el-table-column>
+          <el-table-column label="创建时间" prop="gmtCreate" min-width="100px" align="center"><template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template> </el-table-column>
+          <el-table-column label="操作" align="center" min-width="130px" class-name="small-padding fixed-width">
+            <template slot-scope="{row}">
+              <el-button type="primary" size="mini" @click="dialogFormVisible = true,changeData(row)">编辑</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDelete(row)">删除</el-button> -->
+
+            </template>
+          </el-table-column>
+        </el-table>
 
         <el-dialog :title="titleName" width="40%" :visible.sync="dialogFormVisible">
-          <el-form ref="MemberData" :model="MemberData" status-icon :rules="serviceDataRules" label-width="60px">
-            <el-form-item v-show="hide" label="id" prop="Id" :label-width="formLabelWidths">
-              <el-input v-model="MemberData.id" autocomplete="off" style="width:75%" :disabled="true" />
-            </el-form-item>
-            <el-form-item label="姓名" prop="name" :label-width="formLabelWidths">
-              <el-input v-model="MemberData.name" autocomplete="off" style="width:75%" />
-            </el-form-item>
-            <el-form-item label="邮箱" prop="email" :label-width="formLabelWidths">
-              <el-input v-model="MemberData.email" autocomplete="off" style="width:75%" />
-            </el-form-item>
-            <el-form-item label="业务线" prop="bizId" :label-width="formLabelWidths">
-              <el-select v-model="MemberData.bizId" placeholder="请选择业务线" style="width:75%">
-                <el-option v-for="item in bizOptions" :key="item.value" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-form-item>
-            <el-form-item label="角色" prop="role" :label-width="formLabelWidths">
-              <el-select v-model="MemberData.role" placeholder="请选择角色" style="width:75%">
-                <el-option v-for="item in roleStrings" :key="item.value" :label="item.name" :value="item.name" />
-              </el-select>
-            </el-form-item>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="dialogFormVisible = false,clickClose()">关 闭</el-button>
-            <el-button v-show="Determine" type="primary" @click="titleName === '新增'?createMembers(MemberData):updateData(MemberData)">确 定</el-button>
+          <div style="margin-left:38px">
+            <el-form ref="addTeamForms" :rules="addTeamDataRules" :model="addTeamData">
+              <el-form-item label="业务线" prop="bizId">
+                <el-select v-model="addTeamData.bizId" placeholder="请选择" filterable clearable style="margin-left:10px;width:60%;">
+                  <el-option v-for="item in bizOptions" :key="item.id" :label="item.bizName" :value="item.id" />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="姓名" prop="name">
+                <el-input v-model="addTeamData.name" clearable placeholder="请填写姓名" style="margin-left:23px;margin-top:-10px;width:60%;" />
+              </el-form-item>
+              <el-form-item label="邮箱" prop="email">
+                <el-input v-model="addTeamData.email" clearable placeholder="公司邮箱前缀" style="margin-left:23px;margintop:-10px;width:60%;" />
+              </el-form-item>
+              <el-form-item label="角色" prop="role">
+                <el-select v-model="addTeamData.role" clearable placeholder="请选择角色" filterable style="margin-left:23px;width:60%;">
+                  <el-option v-for="item in roleStrings" :key="item.value" :label="item.name" :value="item.name" />
+                </el-select>
+              </el-form-item>
+            </el-form>
+          </div>
+          <div align="center" style="margin-top:18px">
+            <el-button type="info" plain size="mini" @click="dialogFormVisible=false">取消</el-button>
+            <el-button type="primary" size="mini" @click="titleName === '新增' ? createMembers(addTeamData) :updateData(addTeamData)">确定</el-button>
+          </div>
+          <div style="margin-top:6%" />
+        </el-dialog>
+
+        <el-dialog :visible.sync="dialogDeleteVisible" width="30%">
+          <div align="center" style="margin-top:-6%">
+            <b>确定要删除该业务模块吗?</b>
           </div>
+          <div align="center" style="margin-top:38px">
+            <el-button type="primary" size="mini" @click="deleteMembers()">确定</el-button>
+            <el-button type="danger" size="mini" @click="dialogDeleteVisible=false">取消</el-button>
+          </div>
+          <div style="margin-top:4%" />
         </el-dialog>
-      </el-header>
-      <el-table :data="list" style="width: 100%; height:570vh;" row-key="id" lazy align="center">
-        <el-table-column prop="id" label="ID" width="150" align="center"><template slot-scope="scope"><span>{{ scope.row.id }}</span></template></el-table-column>
-        <el-table-column prop="name" label="姓名" width="180" align="center"><template slot-scope="scope"><span>{{ scope.row.name }}</span></template> </el-table-column>
-        <!-- <el-table-column label="team" width="180" align="center"><template slot-scope="scope"><span>{{ scope.row.teamName }}</span></template></el-table-column> -->
-        <el-table-column label="邮箱" width="180" align="center"><template slot-scope="scope"><span>{{ scope.row.email }}</span></template></el-table-column>
-        <el-table-column prop="role" label="角色" width="150" align="center"><template slot-scope="scope"><span>{{ scope.row.role }}</span></template></el-table-column>
-        <el-table-column label="操作" align="center" min-width="220px" fixed="right">
-          <template slot-scope="{row}">
-            <el-button size="mini" type="primary" @click="dialogFormVisible = true,queryData(row)">查看</el-button>
-            <el-button size="mini" type="primary" @click="dialogFormVisible = true,changeData(row)">编辑</el-button>
-            <el-button size="mini" type="primary" @click="deleteCodeData(row)">删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <el-footer>
-        <el-pagination :current-page="curIndex" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" align="center" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
-      </el-footer>
-    </el-container>
-  </el-container>
-</template>
+        <div>
+          <el-pagination style="margin-top:30px;" align="center" :current-page="curIndex" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+        </div>
+      </div>
+
+    </div>
+  </div></template>
 
 <script>
-import { createMembers, updateMembers, deleteMembers, getMemberList } from '@/api/teamPage.js'
+import { createMembers, updateMembers, deleteMembers, getMemberList, queryBizTypeList } from '@/api/teamPage.js'
 
-const operateType = {
-  OPER_ADD: 1, // 新增
-  OPER_EDIT: 2, // 编辑
-  OPER_QUERY: 3 // 查看
-}
 export default {
   name: 'TeamPage',
   data() {
     return {
-      centerDialogVisible: false,
       dialogFormVisible: false,
-      Determine: true,
-      hide: true,
-      radioButton: 0,
       titleName: '',
-      parameter: '',
-      startId: '',
-      startName: '',
-      parentFolderId: '',
       formLabelWidths: '120px',
       roleStrings: [{ value: 1, name: 'rd' }, { value: 2, name: 'qa' }, { value: 3, name: 'pm' }, { value: 4, name: 'other' }],
-      bizOptions: [{ label: '滴滴代驾', value: 261 }, { label: '企业级', value: 100 }, { label: 'prado', value: 330 }, { label: 'carbo', value: 331 }, { label: '海马', value: 309 }, { label: '万象', value: 102 }],
+      // bizOptions: [{ label: '滴滴代驾', value: 261 }, { label: '企业级', value: 100 }, { label: 'prado', value: 330 }, { label: 'carbo', value: 331 }, { label: '海马', value: 309 }, { label: '万象', value: 102 }],
+      bizOptions: [],
       userInformation: localStorage.getItem('username'),
       userNames: localStorage.getItem('realname'),
-      bizId: '',
+      bizJson: localStorage.getItem('key'),
       curIndex: 1, // 初始页
       pageSize: 10, // 每页的数据
       total: 0,
       userData: '',
+      data: '',
       folderName: '',
       list: [],
       form: {},
       queryListData: {},
-      bizData: {},
-      MemberData: {
+      addTeamData: {
         bizId: '',
-        teamId: '',
         email: '',
         role: '',
         name: ''
+
       },
       formData: {
         bizId: '',
@@ -123,7 +117,7 @@ export default {
         name: ''
 
       },
-      serviceDataRules: {
+      addTeamDataRules: {
         name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
         bizId: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
         teamId: [{ required: true, message: '业务线不能为空', trigger: 'change' }],
@@ -134,39 +128,42 @@ export default {
         children: 'children',
         label: 'label'
       },
-      multipleSelection: []
+      multipleSelection: [],
+      teamForm: {
+        name: '',
+        role: ''
+
+      },
+      tableKey: 0,
+      dialogDeleteVisible: false,
+      bizMaps: new Map([[261, '滴滴代驾'], [100, '企业级'], [330, 'prado'], [331, 'carbo'], [309, '海马'], [102, '万象']])
     }
   },
   created() {
     this.getAllList()
+    this.getBIzList()
   },
 
   methods: {
-    updateDetailDialog(type) {
-      if (type === operateType.OPER_ADD) {
-        this.Determine = true
-        this.hide = false
-      } else if (type === operateType.OPER_EDIT) {
-        this.hide = true
-        this.Determine = true
-      } else if (type === operateType.OPER_QUERY) {
-        this.hide = true
-        this.Determine = false
+  // 获取业务线
+    getBIzList() {
+      this.indexPage = {
+        pageSize: 100,
+        curIndex: this.curIndex - 1
       }
+      queryBizTypeList(this.indexPage).then(response => {
+        this.bizOptions = response.data.list
+      })
     },
+
     handleSizeChange(size) {
       this.pageSize = size
-      this.getAllList({
-        pageSize: this.pageSize,
-        curIndex: this.curIndex
-      })
+      this.getAllList(this.data)
     },
+
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getAllList({
-        pageSize: this.pageSize,
-        curIndex: this.curIndex
-      })
+      this.getAllList(this.data)
     },
     submitForm(formName) {
       this.$refs[formName].validate(valid => {
@@ -186,32 +183,35 @@ export default {
     getAllList() {
       var indexPage = {
         pageSize: this.pageSize,
-        curIndex: this.curIndex
+        curIndex: this.curIndex,
+        bizId: this.bizJson,
+        role: this.data.role,
+        name: this.data.name
       }
       getMemberList(indexPage).then(res => {
         this.list = res.data
-        for (var a of this.list) {
-          var b = a.teamId
-          for (var c of this.bizOptions) {
-            b === c ? b = c.label : ''
-          }
-        }
         this.total = res.total
       })
     },
 
-    // 查看成员详情
-    queryData(vel) {
-      this.titleName = '查看详情'
-      this.MemberData = vel
-      this.updateDetailDialog(3)
-    },
+    // // 查看成员详情
+    // queryData(vel) {
+    //   this.titleName = '查看详情'
+    //   this.MemberData = vel
+    //   this.updateDetailDialog(3)
+    // },
 
     // 查询
     queryList(val) {
-      console.log(val)
-      getMemberList(val).then(res => {
+      console.log(this.data)
+      this.data = val
+      this.curIndex = 1
+      this.data.bizId = this.bizJson
+      this.data.pageSize = this.pageSize
+      this.data.curIndex = this.curIndex
+      getMemberList(this.data).then(res => {
         this.list = res.data
+        this.total = res.total
         // this.form = {}
       })
     },
@@ -231,15 +231,18 @@ export default {
         })
       })
     },
-
     // 删除
-    handleDelete(e) {
+    handelDelete(ele) {
+      this.addTeamData = ele
+      this.dialogDeleteVisible = true
+    },
+    deleteMembers() {
       this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      deleteMembers(e.id, this.userData).then(response => {
+      deleteMembers(this.addTeamData.id, this.userData).then(response => {
         if (response.code === 200) {
-          this.getAllList()
-          // this.queryList({ 'teamId': e.teamId })
+          this.dialogDeleteVisible = false
           this.successFun()
+          this.getAllList()
         } else {
           this.errorFun(response.msg)
         }
@@ -247,113 +250,111 @@ export default {
     },
 
     // 编辑
-    changeData(vel) {
-      console.log(vel)
+    changeData(ele) {
+      // 不能直接赋值变量,使用Object.assign复制一级属性(注意Object.assign不算完全的深拷贝)
+      this.addTeamData = Object.assign({}, ele)
       this.titleName = '编辑'
-      this.MemberData = vel
-      this.updateDetailDialog(2)
+      this.dialogFormVisible = true
     },
-
-    updateData(vel) {
-      if (vel === this.MemberData) {
-        this.bizData = {
-          name: vel.name,
-          id: vel.id,
-          role: vel.role,
-          email: vel.email,
-          teamId: vel.bizId,
-          bizId: vel.bizId
-        }
-      } else {
-        this.bizData = vel
-        this.bizData.name = vel.name
-        this.bizData.role = vel.role
-        this.bizData.email = vel.email
-        this.bizData.teamId = vel.teamId
-        this.bizData.bizId = vel.bizId
-      }
-      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      this.objData = { teamMembersInfo: this.bizData, user: this.userData }
-      updateMembers(this.objData).then(response => {
-        if (response.code === 200) {
-          this.dialogFormVisible = false
-          this.successFun()
-          this.getAllList()
-        } else {
-          this.errorFun()
+    updateData(ele) {
+      this.$refs['addTeamForms'].validate((valid) => {
+        if (valid) {
+          // var myDate = new Date()
+          this.addTeamData = ele
+          // this.addTeamData.modifyTime = myDate
+          this.addTeamData.modifier = this.userInformation
+          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
+          this.objData = { teamMembersInfo: this.addTeamData, user: this.userData }
+          updateMembers(this.objData).then(response => {
+            if (response.code === 200) {
+              this.dialogFormVisible = false
+              this.successFun()
+              this.getAllList()
+            } else {
+              this.errorFun(response.msg)
+            }
+          })
         }
       })
     },
-    // 新增需提示选择目录
-    createGetShow() {
+    // 新增
+    handleteam() {
       this.titleName = '新增'
-      if (this.startId === '') {
-        this.$notify({ title: '提示', message: '请选择目录', duration: 2000 })
-      } else {
-        this.MemberData = {}
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['MemberData'].clearValidate()
-        })
-        this.updateDetailDialog(1)
-      }
-    },
-    clickFun(e) {
-      console.log(e)
-      this.startId = e.value
-      this.startName = e.label
-      getMemberList({ teamId: e.value }).then(res => {
-        this.list = res.data
-      })
+      this.dialogFormVisible = true
+      this.$refs.addTeamForms.resetFields()
+      this.$set(this.addTeamData, 'bizId', '')
+      this.$set(this.addTeamData, 'name', '')
+      this.$set(this.addTeamData, 'email', '')
+      this.$set(this.addTeamData, 'role', '')
+      this.addTeamData = {}
     },
-
-    clickClose() {
-      this.startId = ''
-    },
-
-    // 新增
-    createMembers(vel) {
-      this.$refs['MemberData'].validate((valid) => {
+    createMembers(ele) {
+      this.$refs['addTeamForms'].validate((valid) => {
         if (valid) {
-          if (vel !== '') {
-            this.bizData = {
-              name: vel.name,
-              id: vel.id,
-              role: vel.role,
-              email: vel.email,
-              teamId: this.startId,
-              bizId: vel.bizId
-            }
-          }
+          // var myDate = new Date()
+          this.addTeamData = ele
+          this.addTeamData.creator = this.userInformation
+          this.addTeamData.modifier = this.userInformation
+          // this.addTeamData.gmtCreate = myDate
           this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-          this.objData = { teamMembersInfo: this.bizData, user: this.userData }
+          this.objData = { teamMembersInfo: this.addTeamData, user: this.userData }
           createMembers(this.objData).then(response => {
             if (response.code === 200) {
               this.dialogFormVisible = false
-              this.successFun()
+              // this.getList()
               this.getAllList()
+              this.successFun()
+              this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
-        } else {
-          return false
         }
       })
     },
-
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(ele) {
+      this.$notify({ title: 'Failed', message: ele, type: 'error', duration: 5000 })
     }
   }}
 
 </script>
+<style lang="stylus" scoped>
+  .set-background
+    background-color #F1F4F7
+    display flex
+    justify-content center
+    min-width 700px
+    .setPercent >>> .el-dialog__body
+      width 100%
+    .block
+      background-color rgba(255,255,255,1)
+      box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
+      border-radius 7px
+      width 93%
+      margin 25px 0
+      padding 20px
+      min-height calc(100vh - 100px)
+    .set-head
+      font-size 13px
+      width 100%
+      color #333B4A
+      white-space nowrap
+    .set-dialogfont
+      font-size 13px
+      .set-dialogfont >>> .el-input
+        width 70%
+    // .set-between
+    //   display flex
+    // .set-between >>> .el-button
+      // height 40px
+    .set-locate
+      margin-top 25px
+      // border-bottom 1px solid #BFC6DC
+      // border-left 1px solid #BFC6DC
+      // border-top 1px solid #BFC6DC
+      // border-right 1px solid #BFC6DC
 
-<style>
-.headerStyle {
-  margin: 10px;
-}
 </style>

+ 139 - 187
src/views/virtualDevices/HTvehicle.vue

@@ -3,30 +3,31 @@
     <div class="block">
       <el-form :model="listQuery">
         <div class="set-head">
-          车辆ID<el-input v-model="listQuery.vehicleId" placeholder="请填写" style="width:18%;" /> &nbsp;
-          锁ID <el-input v-model="listQuery.lockNo" placeholder="请填写" style="width:18%;" />&nbsp;
-          锁类型 <el-select v-model="listQuery.lockModel" placeholder="请填写" style="width:18%;" filterable clearable>
+          <el-input v-model="listQuery.vehicleId" size="medium" clearable placeholder="车辆ID" style="width:15%;" />
+          <el-input v-model="listQuery.lockNo" size="medium" clearable placeholder="锁ID" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.lockModel" size="medium" clearable placeholder="锁类型" style="width:15%;" filterable>&nbsp;
             <el-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
-          </el-select>&nbsp;
-          状态 <el-select v-model="listQuery.lockStatus" placeholder="请填写" style="width: 18%;" filterable clearable>
+          </el-select>
+          <el-select v-model="listQuery.lockStatus" size="medium" clearable placeholder="锁状态" style="width: 15%;" filterable>
             <el-option v-for="item in lockStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
-          </el-select>&nbsp;
+          </el-select>
+          <el-input v-model="listQuery.creator" size="medium" clearable placeholder="创建人" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.isOnline" size="medium" clearable placeholder="设备状态" style="width:15%;" filterable>&nbsp;
+            <el-option v-for="item in deviceStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
         </div>
         <div class="set-between">
-          <el-button type="primary" icon="el-icon-search" @click="getDevicesList(listQuery)">搜索</el-button>
-          <el-button type="primary" icon="el-icon-edit" @click="dialogFormVisible = true, createdCode()">新增</el-button>
+          <el-button type="primary" size="medium" plain @click="getDevicesList(listQuery)">搜索</el-button>
+          <el-button type="primary" size="medium" plain @click="dialogFormVisible = true, createdCode()">新增</el-button>
         </div>
       </el-form>
       <div class="set-locate">
-        <el-table :key="tableKey" :data="list" fit highlight-current-row style="width: 100%;" border :header-cell-style="{background:'#F0F7FF',color:'#606266'}">
+        <el-table :key="tableKey" :data="list" fit highlight-current-row style="width: 100%;" border size="mini">
           <el-table-column label="车辆ID" prop="vehicleId" align="center" min-width="120">
             <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff" @click="dialogDetailVisible = true,deviceDetails(scope.row)">{{ scope.row.vehicleId }}</a></template>
           </el-table-column>
-          <!-- <el-table-column label="锁ID" min-width="100px" align="center">
-            <template slot-scope="scope"><span>{{ scope.row.lockNo }}</span></template>
-          </el-table-column> -->
           <el-table-column label="锁ID" prop="lockNo" min-width="100px" align="center" />
-          <el-table-column label="锁类型" min-width="80px" align="center">
+          <el-table-column label="锁类型" min-width="100px" align="center">
             <template slot-scope="scope"><span>{{ scope.row.lockModelInfo.modelName }}</span></template>
           </el-table-column>
 
@@ -36,135 +37,67 @@
           <el-table-column label="锁状态" class-name="status-col" min-width="100px">
             <template slot-scope="{row}"><el-tag :type="row.lockStatus | statusFilter">{{ lockStatusMaps.get(row.lockStatus) }}</el-tag></template>
           </el-table-column>
-          <el-table-column label="经度" min-width="80px" align="center">
+          <el-table-column label="创建人" min-width="80px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.creator }}</span></template>
+          </el-table-column>
+          <el-table-column label="创建时间" min-width="160px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template>
+          </el-table-column>
+          <!-- <el-table-column label="更新时间" min-width="160px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.gmtModify }}</span></template>
+          </el-table-column> -->
+          <el-table-column label="经度" min-width="60px" align="center" show-overflow-tooltip>
             <template slot-scope="scope"><span>{{ scope.row.deviceLng }}</span></template>
           </el-table-column>
-          <el-table-column label="纬度" min-width="80px" align="center">
+          <el-table-column label="纬度" min-width="60px" align="center" show-overflow-tooltip>
             <template slot-scope="scope"><span>{{ scope.row.deviceLat }}</span></template>
           </el-table-column>
-          <el-table-column label="创建时间" min-width="120px" align="center">
-            <template slot-scope="scope"><span>{{ scope.row.createTime }}</span></template>
-          </el-table-column>
-          <el-table-column label="操作" align="center" min-width="300px" class-name="small-padding fixed-width" fixed="right">
+          <el-table-column label="操作" align="center" min-width="270px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
-              <el-button v-if="row.isOnline!=1" size="mini" type="success" @click="handleDeviceStatus(row, 1)">上线</el-button>
-              <el-button v-if="row.isOnline!=0" size="mini" type="danger" @click="handleDeviceStatus(row, 0)">下线</el-button>
-              <el-button type="primary" size="mini" @click="handleUpdate(row)">编辑</el-button>
+              <el-button v-if="row.isOnline!=1" plain size="mini" type="success" @click="handleDeviceStatus(row, 1)">上线</el-button>
+              <el-button v-if="row.isOnline!=0" plain size="mini" type="info" @click="handleDeviceStatus(row, 0)">下线</el-button>
+              <el-button type="primary" plain size="mini" @click="handleUpdate(row)">编辑</el-button>
               <el-button type="danger" size="mini" @click="deleteCodeData(row)">删除</el-button>
-              <el-button v-if="row.lockStatus!=0" size="mini" type="info" @click="handleLockStatus(row, 0)">关锁</el-button>
-              <el-button v-if="row.lockStatus!=1" size="mini" type="warning" @click="handleLockStatus(row, 1)">开锁</el-button>
-              <!-- <i v-if="row.lockStatus!=0" style="font-size: 25px;" class="el-icon-unlock" @click="handleLockStatus(row, 0)" />
-              <i v-if="row.lockStatus!=1" style="font-size: 25px;" class="el-icon-lock" @click="handleLockStatus(row, 1)" /> -->
+              <el-button v-if="row.lockStatus===1 || row.lockStatus ===4" size="mini" type="info" @click="handleLockStatus(row, 0)">关锁</el-button>
 
             </template>
           </el-table-column>
         </el-table>
-
-        <el-pagination
-          align="center"
-          background
-          layout="prev, pager, next"
-          :total="1000"
-        />
+        <el-pagination style="margin-top:30px;" align="center" :current-page="page" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
       </div>
     </div>
 
     <!-- 新增 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="75%">
-      <el-form ref="addDeviceForms" :rules="addDeviceDataRules" :model="addDeviceData" label-position="left" label-width="80px" style="width: 100%; margin-left:0px; margin-top:25px">
-        <div class="set-font" style="display:flex;justfy-content:space-between" width="100%">
-          <div style="margin-left: 14%;">
-            <el-form-item label="业务线" prop="bizType">
-              <el-input v-model="addDeviceData.bizType" :disabled="true" style="width:100%;" placeholder="单车" />
-            </el-form-item>
-
-            <el-form-item label="锁类型" prop="lockModel">
-              <el-select v-model="addDeviceData.lockModel" class="filter-item" filterable clearable placeholder="请填写" @change="chooseLockType()">
-                <el-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
-              </el-select>
-            </el-form-item>
-
-            <el-form-item label="锁供应商" prop="lockSupplier">
-              <el-select v-model="addDeviceData.lockSupplier" :disabled="shouldShow" class="filter-item" filterable clearable placeholder="请填写">
-                <el-option v-for="item in lockSupplierList" :key="item.supplierId" :label="item.supplierName" :value="item.supplierId" />
-              </el-select>
-            </el-form-item>
-          </div>
-          <div style="margin-left: 10%;">
-            <el-form-item label="车辆个数" prop="deviceNum">
-              <el-input v-model="addDeviceData.deviceNum" style="width:100%;" placeholder="请填写" />
-            </el-form-item>
-
-            <el-form-item label="车供应商" style="flex-grow:1" prop="bikeSupplier">
-              <el-select v-model="addDeviceData.bikeSupplier" class="filter-item" filterable clearable placeholder="请填写">
-                <el-option v-for="item in bikeSupplierList" :key="item.supplierId" :label="item.supplierName" :value="item.supplierId" />
-              </el-select>
-            </el-form-item>
-
-            <el-form-item label="车辆类型" prop="bikeModel">
-              <el-select v-model="addDeviceData.bikeModel" class="filter-item" filterable clearable placeholder="请填写">
-                <el-option v-for="item in bikeModelList" :key="item.model" :label="item.modelName" :value="item.model" />
-              </el-select>
-            </el-form-item>
-          </div>
-        </div>
-      </el-form>
-      <br><br><br>
+    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
+      <div style="margin-left:60px">
+        <el-form ref="addDeviceForms" :label-position="labelPosition" :rules="addDeviceDataRules" :model="addDeviceData">
+          <el-form-item label="业务线" prop="bizType" label-width="80px">
+            <el-input v-model="addDeviceData.bizType" :disabled="true" style="width:75%;" placeholder="单车" />
+          </el-form-item>
+          <el-form-item label="锁类型" prop="lockModel" label-width="80px">
+            <el-select v-model="addDeviceData.lockModel" class="filter-item" filterable clearable placeholder="请填写" style="width:75%;" @change="chooseVehicleType()">
+              <el-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="车辆类型" prop="bikeModel" label-width="80px">
+            <el-select v-model="addDeviceData.bikeModel" class="filter-item" filterable clearable placeholder="请填写" style="width:75%;">
+              <el-option v-for="item in bikeModelList" :key="item.model" :label="item.modelName" :value="item.model" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="车辆个数" prop="deviceNum" label-width="80px">
+            <el-input v-model="addDeviceData.deviceNum" style="width:75%;" placeholder="请填写" />
+          </el-form-item>
+        </el-form>
+      </div>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取消</el-button>
         <el-button v-if="showSubmitBtn" type="primary" @click="createData(addDeviceData)">确定</el-button>
       </div>
+      <div style="margin-top:6%" />
     </el-dialog>
     <!-- 查看详情 -->
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogDetailVisible" width="73%">
       <el-form ref="serviceDataForms" :rules="serviceDataRules" :model="detailData" label-width="70px" style="width: 100%; margin-left:80px;">
-        <!-- <div class="set-font" style="display:flex;justfy-content:space-between">
-          <div style="margin-left: 20%;">
-            <el-form-item label="业务线" prop="bizType">
-              <el-input v-model="detailData.bizType" :disabled="true" style="width:200px;" placeholder="单车" />
-            </el-form-item>
-
-            <el-form-item label="锁ID" prop="lockNo">
-              <el-input v-model="detailData.lockNo" :disabled="true" style="width:200px;color:#3e3c3c !important" placeholder="无" />
-            </el-form-item>
-
-            <el-form-item label="车辆ID" prop="vehicleId">
-              <el-input v-model="detailData.vehicleId" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="锁状态" prop="lockStatus">
-              <el-input v-model="detailData.lockStatus" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="经度" prop="deviceLng">
-              <el-input v-model="detailData.deviceLng" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="纬度" prop="deviceLat">
-              <el-input v-model="detailData.deviceLat" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-
-          </div>
-          <div style="margin-left: 30%;">
-            <el-form-item label="EcuID" prop="deviceId">
-              <el-input v-model="detailData.deviceId" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="IccID" prop="iccid">
-              <el-input v-model="detailData.iccid" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="Mac地址" prop="macAddr">
-              <el-input v-model="detailData.macAddr" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="电量信息" prop="lockBatteryLevel">
-              <el-input v-model="detailData.lockBatteryLevel" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="bluetooth_key" prop="bluetoothKey">
-              <el-input v-model="detailData.bluetoothKey" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-            <el-form-item label="bluetooth_password" prop="bluetoothPassword">
-              <el-input v-model="detailData.bluetoothPassword" :disabled="true" style="width:200px;" placeholder="无" />
-            </el-form-item>
-
-          </div>
-        </div> -->
-        <!-- <div class="set-font" style="width:100%"> -->
         <div class="table-th" style="width:82%;margin-top=15px">
           <table cellspacing="0" width="103%;" bordercolor="#ddd" class="border-color">
             <tr width="100%">
@@ -181,7 +114,7 @@
             </tr>
             <tr>
               <th width="12%" height="40" style="background-color:#F1F4F7">锁状态</th>
-              <td>{{ detailData.lockStatus }}</td>
+              <td>{{ lockStatusMaps.get(detailData.lockStatus) }}</td>
               <th style="background-color:#F1F4F7">车辆ID </th>
               <td> {{ detailData.vehicleId }}</td>
             </tr>
@@ -195,7 +128,7 @@
               <th height="40" style="background-color:#F1F4F7">电量信息</th>
               <td> {{ detailData.lockBatteryLevel }}</td>
               <th style="background-color:#F1F4F7">Mac地址</th>
-              <td> {{ detailData.macAddr }}</td>
+              <td> {{ detailData.macAdd }}</td>
             </tr>
             <tr>
               <th style="background-color:#F1F4F7">bluetooth_key</th>
@@ -211,12 +144,11 @@
       <br><br><br>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogDetailVisible = false">关闭</el-button>
-        <!-- <el-button v-if="showSubmitBtn" type="primary">确定</el-button> -->
       </div>
     </el-dialog>
     <!--  编辑 -->
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogUpdateVisible" width="75%" class="setPercent">
-      <el-form ref="serviceDataForms" :rules="serviceDataRules" :model="serviceData" label-position="left" label-width="70px" style="width: 100%; margin-left:80px;">
+      <el-form ref="serviceDataForms" :rules="serviceDataRules" :model="serviceData" label-width="70px" style="width: 100%; margin-left:80px;">
         <div class="set-font" style="width:100%">
           <div class="block-edit">
             <div style="display:flex;justify-content:space-between;width:92%">
@@ -283,14 +215,12 @@
 import { queryLockCreateInfo, queryVehicleCreateInfo, createDevice, deleteDevice, deviceOnline, deviceOffline, unlockVehicle, lockVehicle, updateLockAttr, getDevices } from '@/api/htVehicle'
 import waves from '@/directive/waves' // waves directive
 import { parseTime } from '@/utils'
-// import Pagination from '@/components/Pagination' // secondary package based on el-pagination
 
 var envSelections = []
 var consumerSelections = []
 
 export default {
   name: 'HTvehicle',
-  // components: { Pagination },
   directives: { waves },
   filters: {
     statusFilter(status) {
@@ -308,24 +238,34 @@ export default {
       dialogFormVisible: false,
       dialogDetailVisible: false,
       dialogUpdateVisible: false,
+      labelPosition: 'right',
       shouldShow: false,
       total: 0,
       num: '',
       tableKey: 0,
       list: null,
-      curIndex: 1,
-      pageSize: 10,
+      page: 1,
+      pageSize: 20,
+      loading: false,
       statusMaps: new Map([[1, '在线'], [0, '下线']]),
-      lockStatusMaps: new Map([[1, '已开锁'], [0, '已关锁']]),
+      lockStatusMaps: new Map([[1, '已开锁'], [0, '已关锁'], [2, '开锁失败'], [3, '关锁成功'], [4, '关锁失败']]),
       statusOperateMaps: new Map([[1, '在线'], [0, '离线']]),
-      options: [{ value: '', label: '全部显示' }, { value: '1', label: '在线' }, { value: '0', label: '离线' }],
-      bizType: [{ value: '1', label: '电单车' }, { value: '2', label: '单车' }],
-      lockStatusOptions: [{ value: '1', label: '已开锁' }, { value: '2', label: '已关锁' }],
+      options: [{ value: 1, label: '在线' }, { value: 0, label: '离线' }],
+      bizType: [{ value: 1, label: '电单车' }, { value: 2, label: '单车' }],
+      lockStatusOptions: [{ value: 1, label: '已开锁' }, { value: 0, label: '已关锁' }, { value: 2, label: '开锁失败' }, { value: 3, label: '关锁成功' }, { value: 4, label: '关锁失败' }],
+      deviceStatusOptions: [{ value: 1, label: '在线' }, { value: 0, label: '下线' }],
       lockModelList: [],
       lockSupplierList: [],
       bikeModelList: [],
       bikeSupplierList: [],
-      listQuery: {},
+      listQuery: {
+        // lockModel: '',
+        // isOnline: '',
+        // lockStatus: '',
+        // lockNo: '',
+        // creator: ''
+
+      },
       textMap: {
         update: '编辑',
         create: '新增',
@@ -348,7 +288,8 @@ export default {
         bikeModel: '',
         deviceNum: '',
         lockSupplier: '',
-        bikeSupplier: ''
+        bikeSupplier: '',
+        creator: ''
       },
       detailData: {
         bizType: '单车',
@@ -387,11 +328,6 @@ export default {
   methods: {
     createdCode() {
       this.dialogStatus = 'create'
-      // this.$set(this.addDeviceData, 'lockModel', '')
-      // this.$set(this.addDeviceData, 'lockSupplier', '')
-      // this.$set(this.addDeviceData, 'deviceNum', '')
-      // this.$set(this.addDeviceData, 'bikeSupplier', '')
-      // this.$set(this.addDeviceData, 'bikeModel', '')
       this.$refs.addDeviceForms.resetFields()
     },
     // 查看设备详情
@@ -404,22 +340,14 @@ export default {
     //  获取锁类型、锁供应商类型
     getLockModelList() {
       queryLockCreateInfo().then(response => {
-        // console.log(response.data)
-        this.lockModelList = response.data.modelInfos
-        this.lockSupplierList = response.data.supplierInfos
+        this.lockModelList = response.data
       })
-      // queryLockCreateInfo().catch(res => {
-      //   console.log(res)
-      // })
     },
 
     // 获取车类型、车供应商
-    chooseLockType() {
-      // console.log(this.addDeviceData.lockModel)
+    chooseVehicleType() {
       queryVehicleCreateInfo(this.addDeviceData.lockModel).then(response => {
-        // console.log(response.data)
-        this.bikeModelList = response.data.modelInfos
-        this.bikeSupplierList = response.data.supplierInfos
+        this.bikeModelList = response.data
         console.log(this.bikeModelList)
       })
     },
@@ -427,23 +355,37 @@ export default {
     // 搜索
     getDevicesList(vel) {
       this.listQuery = vel
-      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      this.objData = { deviceQueryInfo: this.listQuery, user: this.userData }
-      getDevices(this.objData).then(response => {
-        this.list = response.data
+      this.page = 1
+      this.listQuery.pageSize = this.pageSize
+      this.listQuery.page = this.page
+
+      getDevices(this.listQuery).then(response => {
+        this.list = response.data.bikeDeviceInfos
+        this.total = response.data.total
+      })
+    },
+    // 搜索
+    getDevicesListInSearch(vel) {
+      this.listQuery = vel
+      this.listQuery.pageSize = this.pageSize
+      this.listQuery.page = this.page
+
+      getDevices(this.listQuery).then(response => {
+        this.list = response.data.bikeDeviceInfos
         this.total = response.data.total
       })
     },
     // 进首页
     getMyDevicesList() {
-      this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-      this.objData = { deviceQueryInfo: this.listQuery, user: this.userData }
-      getDevices(this.objData).then(response => {
-        this.list = response.data
-        this.serviceData = response.data
-        this.detailData = response.data
+      this.listQuery.pageSize = this.pageSize
+      this.listQuery.page = this.page
+      getDevices(this.listQuery).then(response => {
+        // this.list = response.data.bikeDeviceInfos.map(value => value.bikeDeviceAttrInfo)
+        this.list = response.data.bikeDeviceInfos
+        this.serviceData = response.data.bikeDeviceInfos
+        this.detailData = response.data.bikeDeviceInfos
         this.total = response.data.total
-        console.log(this.detailData)
+        console.log(this.list)
       })
     },
     // 编辑
@@ -455,25 +397,16 @@ export default {
       this.$refs.serviceDataForms.resetFields()
     },
     updateData(vel) {
-      if (vel === this.serviceData) {
-        this.bizData = {
-          lockNo: vel.lockNo,
-          lockBatteryLevel: vel.lockBatteryLevel,
-          deviceLat: vel.deviceLat,
-          deviceLng: vel.deviceLng
-        }
-      } else {
-        this.bizData = vel
-        this.bizData.lockNo = vel.lockNo
-        this.bizData.lockBatteryLevel = vel.lockBatteryLevel
-        this.bizData.deviceLat = vel.deviceLat
-        this.bizData.deviceLng = vel.deviceLng
+      this.bizData = {
+        lockNo: vel.lockNo,
+        lockBatteryLevel: vel.lockBatteryLevel,
+        deviceLat: vel.deviceLat,
+        deviceLng: vel.deviceLng
       }
-
       updateLockAttr(this.bizData).then(response => {
         if (response.code === 200) {
+          this.getMyDevicesList()
           this.dialogUpdateVisible = false
-          // this.getList()
           this.$notify({ title: 'Success', message: response.msg, type: 'success', duration: 3000 })
         } else {
           this.$notify({ title: 'Failed', message: response.msg, type: 'error', duration: 3000 })
@@ -504,7 +437,6 @@ export default {
     },
 
     handleDelete(row) {
-      // var deleteData = { 'vehicleId': row.vehicleId }
       deleteDevice(row.vehicleId).then(response => {
         if (response.code === 200) {
           this.getMyDevicesList()
@@ -518,7 +450,6 @@ export default {
 
     // 设备上线、下线调用
     handleDeviceStatus(row, isOnline) {
-      // var statusData = { 'lockNo': row.lockNo }
       if (isOnline === 1) {
         deviceOnline(row.lockNo).then(response => {
           if (response.code === 200) {
@@ -530,7 +461,8 @@ export default {
         })
       }
       if (isOnline === 0) {
-        deviceOffline(row.lockNo).then(response => {
+        deviceOffline(row.deviceId).then(response => {
+          console.log(row.deviceId)
           if (response.code === 200) {
             row.isOnline = isOnline
             this.$message({ message: '锁ID:' + row.lockNo.toString() + ' ' + this.statusOperateMaps.get(isOnline) + '成功!', type: 'success' })
@@ -554,9 +486,18 @@ export default {
         })
       }
       if (lockStatus === 0) {
-        lockVehicle(row.vehicleId).then(response => {
+        lockVehicle(row.lockNo).then(response => {
+          this.loading = true
           if (response.code === 200) {
+            setTimeout(() => {
+              this.getMyDevicesList().then(
+                response => {
+                  this.list = response.data.bikeDeviceInfos
+                }
+              )
+            }, 1000)
             row.lockStatus = lockStatus
+            this.loading = false
             this.$message({ message: '锁ID:' + row.lockNo.toString() + ' ' + this.lockStatusMaps.get(lockStatus) + '成功!', type: 'success' })
           } else {
             this.$message({ message: '锁ID:' + row.lockNo.toString() + ' ' + this.lockStatusMaps.get(lockStatus) + '失败!', type: 'danger' })
@@ -571,9 +512,8 @@ export default {
         if (valid) {
           this.addDeviceData = ele
           this.addDeviceData.bizType = 2
-          this.userData = { id: '', ename: this.userInformation, name: this.userNames }
-          this.objData = { htwDeviceInfo: this.addDeviceData, user: this.userData }
-          createDevice(this.objData).then(response => {
+          this.addDeviceData.creator = this.userNames
+          createDevice(this.addDeviceData).then(response => {
             console.log(response)
             if (response.code === 200) {
               this.getMyDevicesList()
@@ -598,6 +538,14 @@ export default {
         }
       }))
     },
+    handleSizeChange(size) {
+      this.pageSize = size
+      this.getDevicesListInSearch(this.listQuery)
+    },
+    handleCurrentChange(page) {
+      this.page = page
+      this.getDevicesListInSearch(this.listQuery)
+    },
     redirectTo(id, mehtodName, methodProtocol) {
       console.log(methodProtocol)
       this.$router.push({
@@ -623,6 +571,8 @@ export default {
       margin 25px 0
       padding 20px
       min-height calc(100vh - 100px)
+    .block >>> th
+      background-color #F0F2F4 !important
     .block >>> .el-form
       display flex
       justify-content space-between
@@ -635,8 +585,6 @@ export default {
       margin-right 10px
     .block >>> .el-form-item__content
       margin-left 0 !important
-    .block >>> th
-      background-color #F0F7FF !important
     .set-head
       font-size 13px
       width 100%
@@ -645,8 +593,8 @@ export default {
     //   width 18%
     .set-between
       display flex
-    .set-between >>> .el-button
-      height 40px
+    // .set-between >>> .el-button
+    //   height 40px
     .set-locate
       margin-top 20px
       .specail-lock
@@ -667,10 +615,14 @@ export default {
       width 59vw
       margin-top 25px
       padding 20px
+      font-size 12px
+    .block-edit >>> .el-form-item__label
+      font-size 12px !important
     .table-th
       text-align center
       .border-color
         margin-left -12px
+        font-size 9px
         border-right 0px solid #dcdfe6
         border-bottom 0px solid #dcdfe6
         border-left 1px solid #dcdfe6