|
@@ -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%;" />
|
|
|
- 锁ID <el-input v-model="listQuery.lockNo" placeholder="请填写" style="width:18%;" />
|
|
|
- 锁类型 <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%;" />
|
|
|
+ <el-select v-model="listQuery.lockModel" size="medium" clearable placeholder="锁类型" style="width:15%;" filterable>
|
|
|
<el-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
|
|
|
- </el-select>
|
|
|
- 状态 <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>
|
|
|
+ </el-select>
|
|
|
+ <el-input v-model="listQuery.creator" size="medium" clearable placeholder="创建人" style="width:15%;" />
|
|
|
+ <el-select v-model="listQuery.isOnline" size="medium" clearable placeholder="设备状态" style="width:15%;" filterable>
|
|
|
+ <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
|