投递柜指令页

master
mhsnet 4 months ago
parent 41359a6374
commit 1409b0f4bc

@ -2,7 +2,7 @@ import request from "@/utils/request";
// 远程设备指令
export function recycleDeviceCmd(data) {
data.optTime = new Date();
data.optTime = Date.now();
return request({
url: `/api/scm/RecycleDevice/command`,
method: "POST",
@ -12,6 +12,30 @@ export function recycleDeviceCmd(data) {
/*
** 设备指令
*/
// 申请控制
export function cmdApply(deviceCode) {
let data = {
orderNo: "",
deviceCode: deviceCode,
cmd: "apply",
data: "",
optTime: "",
remark: "申请控制"
};
return recycleDeviceCmd(data);
}
// 结束控制
export function cmdExit(deviceCode) {
let data = {
orderNo: "",
deviceCode: deviceCode,
cmd: "exit",
data: "",
optTime: "",
remark: "结束控制"
};
return recycleDeviceCmd(data);
}
// 配置更新
export function cmdChange(deviceCode) {
let data = {
@ -72,21 +96,15 @@ export function cmdSnapshot(deviceCode) {
};
return recycleDeviceCmd(data);
}
// 获取状态
export function cmdStatus(deviceCode) {
let data = {
orderNo: "",
deviceCode: deviceCode,
cmd: "status",
data: "",
optTime: "",
remark: "获取状态"
};
return recycleDeviceCmd(data);
}
// 设备指令
export function cmdDevice(cmd, deviceCode) {
switch (cmd) {
case "apply":
return cmdApply(deviceCode);
break;
case "exit":
return cmdExit(deviceCode);
break;
case "change":
return cmdChange(deviceCode);
break;
@ -102,9 +120,6 @@ export function cmdDevice(cmd, deviceCode) {
case "snapshot":
return cmdSnapshot(deviceCode);
break;
case "status":
return cmdStatus(deviceCode);
break;
default:
break;
}
@ -172,6 +187,18 @@ export function cmdClear(deviceCode, bucketCode) {
};
return recycleDeviceCmd(data);
}
// 获取状态
export function cmdStatus(deviceCode, bucketCode) {
let data = {
orderNo: "",
deviceCode: deviceCode,
cmd: "status",
data: bucketCode,
optTime: "",
remark: "获取状态"
};
return recycleDeviceCmd(data);
}
// 桶指令
export function cmdBucket(cmd, deviceCode, bucketCode) {
switch (cmd) {
@ -190,6 +217,9 @@ export function cmdBucket(cmd, deviceCode, bucketCode) {
case "clear":
return cmdClear(deviceCode, bucketCode);
break;
case "status":
return cmdStatus(deviceCode, bucketCode);
break;
default:
break;
}

@ -11,7 +11,15 @@
<el-row class="cmd">
<el-col class="cmd-device">
<el-row style="padding: 15px;">
<div>投递柜({{ row.deviceCode }})</div>
<div>
投递柜({{ row.deviceCode }})
<span style="color: #F05E1C;"
>提醒如不发起指令页面将在<span
style="color:#E83015;padding: 0px 5px;font-size:large;"
>{{ countdown }}</span
>秒后退出</span
>
</div>
</el-row>
<el-row style="padding: 15px;">
<el-col :span="6">
@ -66,16 +74,6 @@
<div><i class="el-icon-camera-solid el-icon--right"></i></div>
</el-button>
</el-col>
<el-col :span="6">
<el-button
type="primary"
style="width: 80%;"
@click="fnCmdDeviceDo('status')"
>
<div>获取状态</div>
<div><i class="el-icon-s-data el-icon--right"></i></div>
</el-button>
</el-col>
</el-row>
</el-col>
<el-col v-for="(bucketItem, index) in row.buckets" class="cmd-bucket">
@ -165,6 +163,22 @@
<div><i class="el-icon-refresh-left el-icon--right"></i></div>
</el-button>
</el-col>
<el-col :span="4">
<el-button
type="success"
style="width: 80%;"
@click="
fnCmdBucketDo(
'status',
bucketItem.deviceCode,
bucketItem.bucketCode
)
"
>
<div>获取状态</div>
<div><i class="el-icon-refresh-left el-icon--right"></i></div>
</el-button>
</el-col>
</el-row>
</el-col>
</el-row>
@ -183,15 +197,39 @@ export default {
visible: false,
detailVisible: false,
loading: false,
row: {}
row: {},
countdown: 60,
intervalId: null
};
},
computed: {},
watch: {},
created() {},
watch: {
visible: function(isShow) {
if (isShow) {
this.fnCmdDeviceDo('apply')
this.countdown = 60;
this.intervalId = setInterval(() => {
if (this.countdown < 1) {
this.visible = false;
}
this.countdown = this.countdown - 1;
}, 1000);
} else {
this.fnCmdDeviceDo('exit')
if (this.intervalId) {
clearInterval(this.intervalId);
this.countdown = 0;
}
}
}
},
created() {
console.log("hi2");
},
mounted() {},
methods: {
fnCmdDeviceDo(cmdName) {
this.countdown = 60;
cmdDevice(cmdName, this.row.deviceCode).then(res => {
if (res.code == 200) {
this.$message({
@ -207,6 +245,7 @@ export default {
});
},
fnCmdBucketDo(cmd, deviceCode, bucketCode) {
this.countdown = 60;
cmdBucket(cmd, deviceCode, bucketCode).then(res => {
if (res.code == 200) {
this.$message({

Loading…
Cancel
Save