|
@@ -3,43 +3,31 @@
|
|
<div class="block">
|
|
<div class="block">
|
|
<el-form :model="listQuery">
|
|
<el-form :model="listQuery">
|
|
<div class="set-head">
|
|
<div class="set-head">
|
|
- <el-input v-model="listQuery.vehicleId" clearable placeholder="车辆ID" style="width:15%;" />
|
|
|
|
- <el-input v-model="listQuery.lockNo" clearable placeholder="锁ID" style="width:15%;" />
|
|
|
|
- <el-select v-model="listQuery.lockModel" clearable placeholder="锁类型" style="width:15%;" filterable>
|
|
|
|
|
|
+ <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-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
|
|
</el-select>
|
|
</el-select>
|
|
- <el-select v-model="listQuery.lockStatus" clearable placeholder="锁状态" style="width: 15%;" filterable>
|
|
|
|
|
|
+ <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-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" clearable placeholder="创建人" style="width:15%;" />
|
|
|
|
- <el-select v-model="listQuery.isOnline" clearable placeholder="设备状态" style="width:15%;" filterable>
|
|
|
|
|
|
+ <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-option v-for="item in deviceStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div class="set-between">
|
|
<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>
|
|
</div>
|
|
</el-form>
|
|
</el-form>
|
|
<div class="set-locate">
|
|
<div class="set-locate">
|
|
- <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 :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">
|
|
<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>
|
|
<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>
|
|
<el-table-column label="锁ID" prop="lockNo" min-width="100px" align="center" />
|
|
<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>
|
|
<template slot-scope="scope"><span>{{ scope.row.lockModelInfo.modelName }}</span></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
@@ -49,23 +37,26 @@
|
|
<el-table-column label="锁状态" class-name="status-col" min-width="100px">
|
|
<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>
|
|
<template slot-scope="{row}"><el-tag :type="row.lockStatus | statusFilter">{{ lockStatusMaps.get(row.lockStatus) }}</el-tag></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="创建人" min-width="120px" align="center">
|
|
|
|
|
|
+ <el-table-column label="创建人" min-width="80px" align="center">
|
|
<template slot-scope="scope"><span>{{ scope.row.creator }}</span></template>
|
|
<template slot-scope="scope"><span>{{ scope.row.creator }}</span></template>
|
|
</el-table-column>
|
|
</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 label="创建时间" min-width="160px" align="center">
|
|
|
|
+ <template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="经度" min-width="80px" align="center">
|
|
|
|
|
|
+ <!-- <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>
|
|
<template slot-scope="scope"><span>{{ scope.row.deviceLng }}</span></template>
|
|
</el-table-column>
|
|
</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>
|
|
<template slot-scope="scope"><span>{{ scope.row.deviceLat }}</span></template>
|
|
</el-table-column>
|
|
</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}">
|
|
<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 type="danger" size="mini" @click="deleteCodeData(row)">删除</el-button>
|
|
<el-button v-if="row.lockStatus===1 || row.lockStatus ===4" size="mini" type="info" @click="handleLockStatus(row, 0)">关锁</el-button>
|
|
<el-button v-if="row.lockStatus===1 || row.lockStatus ===4" size="mini" type="info" @click="handleLockStatus(row, 0)">关锁</el-button>
|
|
|
|
|
|
@@ -157,7 +148,7 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 编辑 -->
|
|
<!-- 编辑 -->
|
|
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogUpdateVisible" width="75%" class="setPercent">
|
|
<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="set-font" style="width:100%">
|
|
<div class="block-edit">
|
|
<div class="block-edit">
|
|
<div style="display:flex;justify-content:space-between;width:92%">
|
|
<div style="display:flex;justify-content:space-between;width:92%">
|
|
@@ -254,7 +245,7 @@ export default {
|
|
tableKey: 0,
|
|
tableKey: 0,
|
|
list: null,
|
|
list: null,
|
|
page: 1,
|
|
page: 1,
|
|
- pageSize: 10,
|
|
|
|
|
|
+ pageSize: 20,
|
|
loading: false,
|
|
loading: false,
|
|
statusMaps: new Map([[1, '在线'], [0, '下线']]),
|
|
statusMaps: new Map([[1, '在线'], [0, '下线']]),
|
|
lockStatusMaps: new Map([[1, '已开锁'], [0, '已关锁'], [2, '开锁失败'], [3, '关锁成功'], [4, '关锁失败']]),
|
|
lockStatusMaps: new Map([[1, '已开锁'], [0, '已关锁'], [2, '开锁失败'], [3, '关锁成功'], [4, '关锁失败']]),
|
|
@@ -363,6 +354,18 @@ export default {
|
|
|
|
|
|
// 搜索
|
|
// 搜索
|
|
getDevicesList(vel) {
|
|
getDevicesList(vel) {
|
|
|
|
+ this.listQuery = vel
|
|
|
|
+ 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 = vel
|
|
this.listQuery.pageSize = this.pageSize
|
|
this.listQuery.pageSize = this.pageSize
|
|
this.listQuery.page = this.page
|
|
this.listQuery.page = this.page
|
|
@@ -377,11 +380,12 @@ export default {
|
|
this.listQuery.pageSize = this.pageSize
|
|
this.listQuery.pageSize = this.pageSize
|
|
this.listQuery.page = this.page
|
|
this.listQuery.page = this.page
|
|
getDevices(this.listQuery).then(response => {
|
|
getDevices(this.listQuery).then(response => {
|
|
|
|
+ // this.list = response.data.bikeDeviceInfos.map(value => value.bikeDeviceAttrInfo)
|
|
this.list = response.data.bikeDeviceInfos
|
|
this.list = response.data.bikeDeviceInfos
|
|
this.serviceData = response.data.bikeDeviceInfos
|
|
this.serviceData = response.data.bikeDeviceInfos
|
|
this.detailData = response.data.bikeDeviceInfos
|
|
this.detailData = response.data.bikeDeviceInfos
|
|
this.total = response.data.total
|
|
this.total = response.data.total
|
|
- console.log(this.detailData)
|
|
|
|
|
|
+ console.log(this.list)
|
|
})
|
|
})
|
|
},
|
|
},
|
|
// 编辑
|
|
// 编辑
|
|
@@ -484,7 +488,6 @@ export default {
|
|
if (lockStatus === 0) {
|
|
if (lockStatus === 0) {
|
|
lockVehicle(row.lockNo).then(response => {
|
|
lockVehicle(row.lockNo).then(response => {
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.list = []
|
|
|
|
if (response.code === 200) {
|
|
if (response.code === 200) {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.getMyDevicesList().then(
|
|
this.getMyDevicesList().then(
|
|
@@ -537,11 +540,11 @@ export default {
|
|
},
|
|
},
|
|
handleSizeChange(size) {
|
|
handleSizeChange(size) {
|
|
this.pageSize = size
|
|
this.pageSize = size
|
|
- this.getDevicesList(this.listQuery)
|
|
|
|
|
|
+ this.getDevicesListInSearch(this.listQuery)
|
|
},
|
|
},
|
|
handleCurrentChange(page) {
|
|
handleCurrentChange(page) {
|
|
this.page = page
|
|
this.page = page
|
|
- this.getDevicesList(this.listQuery)
|
|
|
|
|
|
+ this.getDevicesListInSearch(this.listQuery)
|
|
},
|
|
},
|
|
redirectTo(id, mehtodName, methodProtocol) {
|
|
redirectTo(id, mehtodName, methodProtocol) {
|
|
console.log(methodProtocol)
|
|
console.log(methodProtocol)
|
|
@@ -568,6 +571,8 @@ export default {
|
|
margin 25px 0
|
|
margin 25px 0
|
|
padding 20px
|
|
padding 20px
|
|
min-height calc(100vh - 100px)
|
|
min-height calc(100vh - 100px)
|
|
|
|
+ .block >>> th
|
|
|
|
+ background-color #F0F2F4 !important
|
|
.block >>> .el-form
|
|
.block >>> .el-form
|
|
display flex
|
|
display flex
|
|
justify-content space-between
|
|
justify-content space-between
|
|
@@ -580,8 +585,6 @@ export default {
|
|
margin-right 10px
|
|
margin-right 10px
|
|
.block >>> .el-form-item__content
|
|
.block >>> .el-form-item__content
|
|
margin-left 0 !important
|
|
margin-left 0 !important
|
|
- .block >>> th
|
|
|
|
- background-color #F0F7FF !important
|
|
|
|
.set-head
|
|
.set-head
|
|
font-size 13px
|
|
font-size 13px
|
|
width 100%
|
|
width 100%
|
|
@@ -590,8 +593,8 @@ export default {
|
|
// width 18%
|
|
// width 18%
|
|
.set-between
|
|
.set-between
|
|
display flex
|
|
display flex
|
|
- .set-between >>> .el-button
|
|
|
|
- height 40px
|
|
|
|
|
|
+ // .set-between >>> .el-button
|
|
|
|
+ // height 40px
|
|
.set-locate
|
|
.set-locate
|
|
margin-top 20px
|
|
margin-top 20px
|
|
.specail-lock
|
|
.specail-lock
|
|
@@ -612,10 +615,14 @@ export default {
|
|
width 59vw
|
|
width 59vw
|
|
margin-top 25px
|
|
margin-top 25px
|
|
padding 20px
|
|
padding 20px
|
|
|
|
+ font-size 12px
|
|
|
|
+ .block-edit >>> .el-form-item__label
|
|
|
|
+ font-size 12px !important
|
|
.table-th
|
|
.table-th
|
|
text-align center
|
|
text-align center
|
|
.border-color
|
|
.border-color
|
|
margin-left -12px
|
|
margin-left -12px
|
|
|
|
+ font-size 9px
|
|
border-right 0px solid #dcdfe6
|
|
border-right 0px solid #dcdfe6
|
|
border-bottom 0px solid #dcdfe6
|
|
border-bottom 0px solid #dcdfe6
|
|
border-left 1px solid #dcdfe6
|
|
border-left 1px solid #dcdfe6
|