qinzhipeng_v 5 жил өмнө
parent
commit
315ea5926c

+ 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
   })

+ 2 - 2
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://mock.Intra.xiaojukeji.com' // 线上
+export const mockUrl = 'http://10.96.113.197:9999/virtual-devices' // 线下

+ 2 - 18
src/views/Platform/presentation/testPresenyL.vue

@@ -141,12 +141,10 @@ export default {
       var height = shareContent.offsetHeight // //获取dom高度(包括元素高度、内边距和边框,不包括外边距)
       var canvas = document.createElement('canvas') // 创建一个canvas标签元素
       var scale = 2 // 定义放大倍数,可以支持小数
-      // var imgType = 'image/jpg'// 设置默认下载的图片格式
 
       canvas.width = width * scale // 定义canvas宽度 * 倍数(图片的清晰度优化),默认宽度为300px
       canvas.height = height * scale // 定义canvas高度 * 倍数,默认高度为150px
-      canvas.getContext('2d').scale(scale,
-        scale) // 创建canvas的context对象,设置scale,相当于画布的“画笔”拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法
+      canvas.getContext('2d').scale(scale, scale) // 创建canvas的context对象,设置scale,相当于画布的“画笔”拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法
 
       var opts = { // 初始化对象
         scale: scale, // 添加的scale参数
@@ -156,21 +154,7 @@ export default {
         height: height,
         useCORS: true // 开启html2canvas的useCORS配置,跨域配置,以解决图片跨域的问题
       }
-      // var canvas = document.createElement('canvas') // 创建一个canvas节点
-      // const width = shareContent.offsetWidth
-      // const height = shareContent.offsetHeight
-      // var scale = 5 // 定义任意放大倍数 支持小数
-      // canvas.width = width * scale// 定义canvas 宽度 * 缩放
-      // canvas.height = height * scale// 定义canvas高度 *缩放
-      // canvas.getContext('2d').scale(scale, scale) // 获取context,设置scale
-      // var opts = {
-      //   scale: scale, // 添加的scale 参数
-      //   canvas: canvas, // 自定义 canvas
-      //   logging: true,
-      //   width: width, // dom 原始宽度
-      //   height: height, // dom 原始高度
-      //   useCORS: true
-      // }
+
       setTimeout(() => {
         var that = this
         that.btn = true

+ 116 - 171
src/views/virtualDevices/HTvehicle.vue

@@ -3,14 +3,18 @@
     <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" clearable placeholder="车辆ID" style="width:15%;" />
+          <el-input v-model="listQuery.lockNo" clearable placeholder="锁ID" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.lockModel" 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" 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" clearable placeholder="创建人" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.isOnline" 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>
@@ -18,13 +22,22 @@
         </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"
+          v-loading="loading"
+          element-loading-text="关锁中"
+          element-loading-spinner="el-icon-loading"
+          element-loading-background="#FFFFFF"
+          :data="list"
+          fit
+          highlight-current-row
+          style="width: 100%;"
+          border
+          :header-cell-style="{background:'#F0F7FF',color:'#606266'}"
+        >
           <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">
             <template slot-scope="scope"><span>{{ scope.row.lockModelInfo.modelName }}</span></template>
@@ -36,135 +49,64 @@
           <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="120px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.creator }}</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="经度" min-width="80px" align="center">
             <template slot-scope="scope"><span>{{ scope.row.deviceLng }}</span></template>
           </el-table-column>
           <el-table-column label="纬度" min-width="80px" align="center">
             <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">
             <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 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 +123,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 +137,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,7 +153,6 @@
       <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>
     <!--  编辑 -->
@@ -283,14 +224,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 +247,34 @@ export default {
       dialogFormVisible: false,
       dialogDetailVisible: false,
       dialogUpdateVisible: false,
+      labelPosition: 'right',
       shouldShow: false,
       total: 0,
       num: '',
       tableKey: 0,
       list: null,
-      curIndex: 1,
+      page: 1,
       pageSize: 10,
+      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 +297,8 @@ export default {
         bikeModel: '',
         deviceNum: '',
         lockSupplier: '',
-        bikeSupplier: ''
+        bikeSupplier: '',
+        creator: ''
       },
       detailData: {
         bizType: '单车',
@@ -387,11 +337,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 +349,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,21 +364,22 @@ 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.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
+        this.serviceData = response.data.bikeDeviceInfos
+        this.detailData = response.data.bikeDeviceInfos
         this.total = response.data.total
         console.log(this.detailData)
       })
@@ -455,25 +393,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 +433,6 @@ export default {
     },
 
     handleDelete(row) {
-      // var deleteData = { 'vehicleId': row.vehicleId }
       deleteDevice(row.vehicleId).then(response => {
         if (response.code === 200) {
           this.getMyDevicesList()
@@ -518,7 +446,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 +457,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 +482,19 @@ export default {
         })
       }
       if (lockStatus === 0) {
-        lockVehicle(row.vehicleId).then(response => {
+        lockVehicle(row.lockNo).then(response => {
+          this.loading = true
+          this.list = []
           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 +509,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 +535,14 @@ export default {
         }
       }))
     },
+    handleSizeChange(size) {
+      this.pageSize = size
+      this.getDevicesList(this.listQuery)
+    },
+    handleCurrentChange(page) {
+      this.page = page
+      this.getDevicesList(this.listQuery)
+    },
     redirectTo(id, mehtodName, methodProtocol) {
       console.log(methodProtocol)
       this.$router.push({