mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-27 18:47:58 +08:00
发送遥控地锁指令
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.jsowell.web.controller.pile;
|
package com.jsowell.web.controller.pile;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.jsowell.common.core.controller.BaseController;
|
import com.jsowell.common.core.controller.BaseController;
|
||||||
import com.jsowell.common.core.domain.AjaxResult;
|
import com.jsowell.common.core.domain.AjaxResult;
|
||||||
@@ -143,15 +144,16 @@ public class PileRemoteController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("remoteControlGroundLock")
|
@PostMapping("remoteControlGroundLock")
|
||||||
public AjaxResult remoteControlGroundLock(@RequestBody RemoteControlGroundLockCommand command) {
|
public AjaxResult remoteControlGroundLock(@RequestBody RemoteControlGroundLockCommand command) {
|
||||||
|
logger.info("遥控地锁接口param:{}", JSON.toJSONString(command));
|
||||||
AjaxResult result;
|
AjaxResult result;
|
||||||
try {
|
try {
|
||||||
pileRemoteService.remoteControlGroundLock(command);
|
pileRemoteService.remoteControlGroundLock(command);
|
||||||
result = AjaxResult.success();
|
result = AjaxResult.success();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("遥控地锁error", e);
|
logger.error("遥控地锁接口error", e);
|
||||||
result = AjaxResult.error(e.getMessage());
|
result = AjaxResult.error(e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("遥控地锁error", e);
|
logger.error("遥控地锁接口error", e);
|
||||||
result = AjaxResult.error(e.getMessage());
|
result = AjaxResult.error(e.getMessage());
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -8,3 +8,12 @@ export function updateFirmware(data) {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 遥控地锁
|
||||||
|
export function remoteControlGroundLock(data) {
|
||||||
|
return request({
|
||||||
|
url: '/pile/remote/remoteControlGroundLock',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,7 +15,9 @@
|
|||||||
<el-card class="box-card" shadow="hover" v-loading="pileDetailLoading">
|
<el-card class="box-card" shadow="hover" v-loading="pileDetailLoading">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>充电设备(<span style="color: #bf1c1c">{{ status }}</span>)</span>
|
<span>充电设备(<span style="color: #bf1c1c">{{ status }}</span>)</span>
|
||||||
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0" type="text" @click="getPileDetail">刷新</el-button>
|
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0"
|
||||||
|
type="text" @click="getPileDetail">刷新
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<!--二维码-->
|
<!--二维码-->
|
||||||
<div class="hello">
|
<div class="hello">
|
||||||
@@ -35,32 +37,39 @@
|
|||||||
label="SN"
|
label="SN"
|
||||||
labelStyle="width: 80px"
|
labelStyle="width: 80px"
|
||||||
contentStyle="width: 150px"
|
contentStyle="width: 150px"
|
||||||
>{{ pileDetail.pileSn }}</el-descriptions-item
|
>{{ pileDetail.pileSn }}
|
||||||
|
</el-descriptions-item
|
||||||
>
|
>
|
||||||
<el-descriptions-item label="运营商">{{
|
<el-descriptions-item label="运营商">{{
|
||||||
pileDetail.merchantName
|
pileDetail.merchantName
|
||||||
}}</el-descriptions-item>
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="站点">{{
|
<el-descriptions-item label="站点">{{
|
||||||
pileDetail.stationName
|
pileDetail.stationName
|
||||||
}}</el-descriptions-item>
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
<!--<el-descriptions-item label="厂商">
|
<!--<el-descriptions-item label="厂商">
|
||||||
<el-tag size="small">举视</el-tag>
|
<el-tag size="small">举视</el-tag>
|
||||||
</el-descriptions-item>-->
|
</el-descriptions-item>-->
|
||||||
<!-- <el-descriptions-item label="使用车辆类型">{{
|
<!-- <el-descriptions-item label="使用车辆类型">{{
|
||||||
pileDetail.matchCars
|
pileDetail.matchCars
|
||||||
}}</el-descriptions-item>-->
|
}}</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="设备型号">{{pileDetail.modelName}}</el-descriptions-item>
|
<el-descriptions-item label="设备型号">{{ pileDetail.modelName }}
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="额定功率(kW)">{{
|
<el-descriptions-item label="额定功率(kW)">{{
|
||||||
pileDetail.ratedPower
|
pileDetail.ratedPower
|
||||||
}}</el-descriptions-item>
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
<!--<el-descriptions-item label="额定电压(V)">{{pileDetail.sn}}</el-descriptions-item>-->
|
<!--<el-descriptions-item label="额定电压(V)">{{pileDetail.sn}}</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="额定电流(A)">{{
|
<el-descriptions-item label="额定电流(A)">{{
|
||||||
pileDetail.ratedCurrent
|
pileDetail.ratedCurrent
|
||||||
}}</el-descriptions-item>
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="iccid">{{
|
<el-descriptions-item label="iccid">{{
|
||||||
pileDetail.iccid
|
pileDetail.iccid
|
||||||
}}</el-descriptions-item>
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="sim卡商">
|
<el-descriptions-item label="sim卡商">
|
||||||
<dict-tag
|
<dict-tag
|
||||||
@@ -94,7 +103,9 @@
|
|||||||
<el-card class="box-card" shadow="hover">
|
<el-card class="box-card" shadow="hover">
|
||||||
<div style="margin: 12px 0">
|
<div style="margin: 12px 0">
|
||||||
<span>接口列表</span>
|
<span>接口列表</span>
|
||||||
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0" type="text" @click="refreshPileConnectorList">刷新</el-button>
|
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0" type="text"
|
||||||
|
@click="refreshPileConnectorList">刷新
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<!--<div style="margin-top: 20px">
|
<!--<div style="margin-top: 20px">
|
||||||
<!– 刷新按钮 –>
|
<!– 刷新按钮 –>
|
||||||
@@ -168,7 +179,7 @@
|
|||||||
prop="instantPower"
|
prop="instantPower"
|
||||||
label="即时功率(kW)"
|
label="即时功率(kW)"
|
||||||
/>
|
/>
|
||||||
<el-table-column prop="soc" label="SOC(°C)" align="center" />
|
<el-table-column prop="soc" label="SOC(°C)" align="center"/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="equipmentOrderNum"
|
prop="equipmentOrderNum"
|
||||||
label="设备订单号"
|
label="设备订单号"
|
||||||
@@ -186,13 +197,26 @@
|
|||||||
<!-- <span>{{scope.row.businessType === '1' ? '运营桩':'个人桩'}}</span>-->
|
<!-- <span>{{scope.row.businessType === '1' ? '运营桩':'个人桩'}}</span>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </el-table-column>-->
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="地锁操作" align="center"
|
||||||
|
class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-caret-bottom"
|
||||||
|
@click="remoteControlGroundLock(scope.row, '0')">降锁
|
||||||
|
</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-caret-top"
|
||||||
|
@click="remoteControlGroundLock(scope.row, '1')">升锁
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card style="margin-top: 20px" shadow="hover">
|
<el-card style="margin-top: 20px" shadow="hover">
|
||||||
<div style="margin: 12px 0">
|
<div style="margin: 12px 0">
|
||||||
<span>充电桩通信日志</span>
|
<span>充电桩通信日志</span>
|
||||||
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0" type="text" @click="getFeedList">刷新</el-button>
|
<el-button icon="el-icon-refresh-right" style="float: right; padding: 3px 0" type="text"
|
||||||
|
@click="getFeedList">刷新
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table :data="feedList" stripe style="width: 100%" v-loading="feedListLoading">
|
<el-table :data="feedList" stripe style="width: 100%" v-loading="feedListLoading">
|
||||||
<el-table-column prop="createTime" label="触发时间" align="center" width="200"/>
|
<el-table-column prop="createTime" label="触发时间" align="center" width="200"/>
|
||||||
@@ -226,12 +250,13 @@ import {
|
|||||||
getPileFeedList,
|
getPileFeedList,
|
||||||
listBasic,
|
listBasic,
|
||||||
} from "@/api/pile/basic";
|
} from "@/api/pile/basic";
|
||||||
import { queryConnectorListByParams } from "@/api/pile/connector";
|
import {queryConnectorListByParams} from "@/api/pile/connector";
|
||||||
// 二维码组件
|
// 二维码组件
|
||||||
import VueQr from "vue-qr";
|
import VueQr from "vue-qr";
|
||||||
|
import {remoteControlGroundLock} from "@/api/pile/pileRemote";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { VueQr ,remoteUpgrade},
|
components: {VueQr, remoteUpgrade},
|
||||||
name: "pile-detail",
|
name: "pile-detail",
|
||||||
dicts: ["connector_status", "connector_type", "sim_supplier", "sim_operator"],
|
dicts: ["connector_status", "connector_type", "sim_supplier", "sim_operator"],
|
||||||
data() {
|
data() {
|
||||||
@@ -243,7 +268,7 @@ export default {
|
|||||||
connectorList: [],
|
connectorList: [],
|
||||||
stationId: 1,
|
stationId: 1,
|
||||||
// 充电桩详情 竖向 表格渲染的数据
|
// 充电桩详情 竖向 表格渲染的数据
|
||||||
pileDetail: { url: "" },
|
pileDetail: {url: ""},
|
||||||
feedListLoading: false,
|
feedListLoading: false,
|
||||||
qrWidth: 60,
|
qrWidth: 60,
|
||||||
flag: true,
|
flag: true,
|
||||||
@@ -284,9 +309,26 @@ export default {
|
|||||||
this.queryPileConnectorList();
|
this.queryPileConnectorList();
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
setTimeout(() => {}, 300);
|
setTimeout(() => {
|
||||||
|
}, 300);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 遥控地锁
|
||||||
|
remoteControlGroundLock(row, operate) {
|
||||||
|
console.log("row:", row);
|
||||||
|
const pileSn = row.pileSn;
|
||||||
|
const pileConnectorCode = row.pileConnectorCode;
|
||||||
|
const connectorCode = pileConnectorCode.replace(pileSn, "");
|
||||||
|
var data = {
|
||||||
|
"pileSn": pileSn,
|
||||||
|
"connectorCode": connectorCode,
|
||||||
|
"operate": operate
|
||||||
|
};
|
||||||
|
remoteControlGroundLock(data).then((response) => {
|
||||||
|
console.log("后管遥控地锁结果:", response);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
//点击二维码事件
|
//点击二维码事件
|
||||||
qrcodeClick(row) {
|
qrcodeClick(row) {
|
||||||
if (this.flag) {
|
if (this.flag) {
|
||||||
@@ -335,7 +377,7 @@ export default {
|
|||||||
},
|
},
|
||||||
handleClick(tab) {
|
handleClick(tab) {
|
||||||
// console.log(tab.name, event);
|
// console.log(tab.name, event);
|
||||||
if(tab.name === 'second') {
|
if (tab.name === 'second') {
|
||||||
this.$refs.second.getList();
|
this.$refs.second.getList();
|
||||||
}
|
}
|
||||||
// this.initializeData(tab.name);
|
// this.initializeData(tab.name);
|
||||||
@@ -375,9 +417,11 @@ export default {
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 5px 5px 0px 0px;
|
border-radius: 5px 5px 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sideNav {
|
.sideNav {
|
||||||
padding: 30px 0 12px;
|
padding: 30px 0 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#qrcodeArea img {
|
#qrcodeArea img {
|
||||||
height: 80px;
|
height: 80px;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
|
|||||||
Reference in New Issue
Block a user