林颖晨 2 years ago
commit 342ab0193c
  1. 6
      psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java
  2. 8
      psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java
  3. 8
      psdc-ui/src/api/control/manual.js
  4. 34
      psdc-ui/src/views/bigview/index.vue
  5. 24
      psdc-ui/src/views/control/manual/index.vue
  6. 8
      psdc-ui/src/views/control/timer/index.vue
  7. 5
      psdc-ui/src/views/emonitor/db/index.vue
  8. 19
      psdc-ui/src/views/emonitor/drgl/index.vue
  9. 14
      psdc-ui/src/views/emonitor/frdl/index.vue
  10. 18
      psdc-ui/src/views/emonitor/kqyrb/index.vue
  11. 19
      psdc-ui/src/views/emonitor/sp/index.vue
  12. 9
      psdc-ui/src/views/emonitor/wdcgq/index.vue
  13. 18
      psdc-ui/src/views/emonitor/xrgl/index.vue
  14. 41
      psdc-ui/src/views/system/cl/index.vue
  15. 15
      psdc-ui/src/views/system/user/profile/index.vue

@ -306,7 +306,7 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService {
// TODO 发送MQTT指令
// psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,2,"控制成功",controlBy));
// psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,3,"等待终端响应超时",controlBy));
//发送成功
// 发送成功
psdcControlLogMapper.insert(new PsdcControlLog(deviceId, psdcDevice.getDeviceName(), psdcDevice.getDeviceSn(), controlContext, controlValue, controlMethod, 2, "控制成功", controlBy));
atomicInteger.incrementAndGet();
@ -340,10 +340,10 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService {
}
//TODO 发送MQTT指令
// TODO 发送MQTT指令
// psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,value,controlMethod,2,"控制成功",controlBy));
// psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,value,controlMethod,3,"等待终端响应超时",controlBy));
//发送成功
// 发送成功
return psdcControlLogMapper.insert(new PsdcControlLog(deviceId, psdcDevice.getDeviceName(), psdcDevice.getDeviceSn(), controlContext, value, controlMethod, 2, "控制成功", controlBy));

@ -199,7 +199,9 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
DeviceVo deviceVo = new DeviceVo();
for (int i = 0; i < listByCode.size(); i++) {
SceneVo sv = listByCode.get(i);
// System.out.println("序号 = " + i + ", 元素" + sv + "\n");
if (deviceId == sv.getDeviceId()) {
// System.out.println("上行: " + i + "\n");
deviceVo.setDeviceId(sv.getDeviceId());
deviceVo.setDeviceName(sv.getDeviceName());
deviceVo.setDeviceSn(sv.getDeviceSn());
@ -214,10 +216,12 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
deviceVo.setTemp(sv.getSceneValue());
break;
}
if (1 == listByCode.size()){
if (1 == listByCode.size() || i == listByCode.size() - 1){
ary.add(deviceVo);
}
} else {
// System.out.println("下发: " + i + "\n");
ary.add(deviceVo);
deviceId = sv.getDeviceId();
deviceVo = new DeviceVo();
@ -248,9 +252,11 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService {
}
}
}
// System.out.println("终端元素 = " + ary + "\n");
}
psr.setDeviceVos(ary);
}
// System.out.println("集合:" + sceneRes + "\n");
return sceneRes;
}

@ -4,6 +4,10 @@ import request from '@/utils/request'
export function getDevice() {
return request.get('/control/manual/deviceStatusList')
}
/** 获取可控设备*/
export function getControlDeviceList() {
return request.get('/control/manual/controlDeviceList')
}
/** 获取调控日志列表*/
export function getControlLogList(data) {
return request.post('/control/manual/controlLogList',data)
@ -19,4 +23,8 @@ export function getStartAndStop(data) {
/** 设置温度*/
export function getSetTemperature(data) {
return request.post('/control/manual/setTemperature',data)
}
/** 策略执行控制*/
export function getSenceControl(data) {
return request.post('/control/manual/senceControl',data)
}

@ -144,39 +144,39 @@ function getWenduFun(){
/**运行设备工作信息*/
//
const xrglRunStatus = ref()
const xrglThermometerValueIn = ref()
const xrglThermometerValueOut = ref()
const xrglTodayUseEnergy = ref()
const xrglRunStatus = ref('--')
const xrglThermometerValueIn = ref('--')
const xrglThermometerValueOut = ref('--')
const xrglTodayUseEnergy = ref('--')
//线
const xrglTimeList = ref([]);
const xrglTempInTodayList = ref([]);
const xrglTempOutTodayList = ref([]);
//
const dcglRunStatus = ref()
const dcglThermometerValueIn = ref()
const dcglThermometerValueOut = ref()
const dcglTodayUseEnergy = ref()
const dcglRunStatus = ref('--')
const dcglThermometerValueIn = ref('--')
const dcglThermometerValueOut = ref('--')
const dcglTodayUseEnergy = ref('--')
//线
const dcglTimeList = ref([]);
const dcglTempInTodayList = ref([]);
const dcglTempOutTodayList = ref([]);
//
const kqyrbRunStatus = ref()
const kqyrbThermometerValueIn = ref()
const kqyrbThermometerValueOut = ref()
const kqyrbTodayUseEnergy = ref()
const kqyrbRunStatus = ref('--')
const kqyrbThermometerValueIn = ref('--')
const kqyrbThermometerValueOut = ref('--')
const kqyrbTodayUseEnergy = ref('--')
//线
const kqyrbTimeList = ref([]);
const kqyrbTempInTodayList = ref([]);
const kqyrbTempOutTodayList = ref([]);
//
const frdlRunStatus = ref()
const frdlThermometerValueNow = ref()
const frdlTodayUseEnergy = ref()
const frdlRunStatus = ref('--')
const frdlThermometerValueNow = ref('--')
const frdlTodayUseEnergy = ref('--')
//线
const frdlTimeList = ref([]);
const frdlTempTodayList = ref([]);
@ -614,8 +614,8 @@ function frdlChartFun(){
};
/**总电表信息*/
const nowPower = ref()
const nowEle = ref()
const nowPower = ref('--')
const nowEle = ref('--')
const todayUsePowersArr = [];
function getZdbFun(){
getZdb(13).then((res)=>{

@ -25,6 +25,7 @@
</el-form-item>
<el-form-item v-for="inputs in item.control_elements" :label="inputs.controlRemark"><input class="tempInput" v-model="inputs.tempValue"/></el-form-item>
<!-- <el-form-item v-for="inputs in item.control_elements" :label="inputs.controlRemark"><input class="tempInput"/></el-form-item>-->
<div class="submit" v-show="item.control_elements.length > 0 ? true : false" @click="getSetTemperatureFun(item)">确定</div>
@ -89,7 +90,7 @@
import { Download } from '@element-plus/icons-vue' //element
import { ref,reactive,onMounted } from 'vue'
import { ElMessageBox,ElMessage } from 'element-plus'
import { getDevice,getControlLogList,getStrategyList,getStartAndStop,getSetTemperature } from '@/api/control/manual'
import { getDevice,getControlLogList,getStrategyList,getStartAndStop,getSetTemperature,getSenceControl,getControlDeviceList } from '@/api/control/manual'
onMounted(()=>{
getDeviceFun();
@ -100,15 +101,15 @@ onMounted(()=>{
/** 获取所有设备*/
const deviceArr = ref([])
function getDeviceFun(){
getDevice().then((res)=>{
getControlDeviceList().then((res)=>{
deviceArr.value = res.data;
//
for(let i = 0;i < res.data.length;i++){
for(let j = 0;j < res.data[i].control_elements.length;j++){
console.log(res.data[i].control_elements[j].tempValue)
res.data[i].control_elements[j].tempValue = res.data[i].control_elements[j].tempValue + '℃'
}
}
// for(let i = 0;i < res.data.length;i++){
// for(let j = 0;j < res.data[i].control_elements.length;j++){
// console.log(res.data[i].control_elements[j].tempValue)
// res.data[i].control_elements[j].tempValue = res.data[i].control_elements[j].tempValue + ''
// }
// }
})
}
/** 设备控制处理*/
@ -174,6 +175,7 @@ function getStrategyListFun(){
})
}
//
const SenceControlArr = ref([])
function selectCeLue(item){
//
//1
@ -202,12 +204,15 @@ function selectCeLue(item){
//
console.log(JSON.stringify(dataArr, null, 4));
SenceControlArr.value = JSON.stringify(dataArr, null, 4)
}
//
function confirmClick() {
ElMessageBox.confirm(`确定执行 ${radio.value} ?`).then(() => {
drawerIshow.value = false;
getSenceControl(SenceControlArr.value).then((res)=>{
console.log(res)
})
})
}
@ -442,6 +447,7 @@ function getSetTemperatureFun(item){
bottom: 10px;
left: 50%;
transform: translateX(-50%);
z-index: 999;
}
::v-deep .el-pagination__total{
color: #f3ffff;

@ -576,10 +576,10 @@ const { queryParams } = toRefs(data);
}
}
}
::v-deep .el-input__wrapper{
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
//::v-deep .el-input__wrapper{
// border-top-left-radius: 0px;
// border-bottom-left-radius: 0px;
//}
::v-deep .el-button{
border-radius: 2px;
}

@ -268,7 +268,10 @@ export default {
myChart2 = echarts.init(document.getElementById("myEcharts2"));
myChart2.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},

@ -358,7 +358,11 @@ export default {
myChart4 = echarts.init(document.getElementById("myEcharts4"));
myChart4.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
legend: {
data: ['进水', '出水'],
textStyle:{
@ -399,7 +403,7 @@ export default {
{
name: '进水',
type: 'line',
stack: 'Total',
// stack: 'Total',
itemStyle:{
color:'#2F8EE0'
},
@ -408,9 +412,9 @@ export default {
{
name: '出水',
type: 'line',
stack: 'Total',
itemStyle:{
color:'#2F8EE0'
// stack: 'Total',
itemStyle: { //线
color: '#F5901A',
},
data: data.temOut
},
@ -447,7 +451,10 @@ export default {
myChart3 = echarts.init(document.getElementById("myEcharts3"));
myChart3.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},

@ -350,7 +350,10 @@ export default {
myChart4 = echarts.init(document.getElementById("myEcharts4"));
myChart4.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},
@ -386,8 +389,8 @@ export default {
name: '当前温度',
type: 'line',
stack: 'Total',
itemStyle:{
color:'#2F8EE0'
itemStyle: { //线
color: '#F5901A',
},
data: data.tem
},
@ -424,7 +427,10 @@ export default {
myChart3 = echarts.init(document.getElementById("myEcharts3"));
myChart3.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},

@ -355,7 +355,10 @@ export default {
myChart4 = echarts.init(document.getElementById("myEcharts4"));
myChart4.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
legend: {
data: ['进水', '出水'],
textStyle:{
@ -396,7 +399,7 @@ export default {
{
name: '进水',
type: 'line',
stack: 'Total',
// stack: 'Total',
itemStyle:{
color:'#2F8EE0'
},
@ -405,9 +408,9 @@ export default {
{
name: '出水',
type: 'line',
stack: 'Total',
itemStyle:{
color:'#2F8EE0'
// stack: 'Total',
itemStyle: { //线
color: '#F5901A',
},
data: data.temOut
},
@ -443,7 +446,10 @@ export default {
myChart3 = echarts.init(document.getElementById("myEcharts3"));
myChart3.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},

@ -1,7 +1,7 @@
<template>
<div class="app-container home">
<h1>{{data.name}}</h1>
<h1>运行状态:{{data.status}}</h1>
<!-- <h1>{{data.name}}</h1>-->
<h1>运行状态<span :class="{'green':data.status == '正在运行','red':data.status == '停止运行'}">{{data.status}}</span></h1>
<img src="../../../assets/images/shapan.png" class="img">
</div>
</template>
@ -21,9 +21,9 @@ export default {
if(res.data!=null) {
data.name = res.data.deviceName
if (res.data.deviceRunstatus == true) {
data.status = '开启'
data.status = '正在运行'
} else {
data.status = '关闭'
data.status = '停止运行'
}
}
})
@ -40,8 +40,17 @@ export default {
<style scoped lang="scss">
.img{
margin-left: 250px;
margin-left: 250px;
margin-top: 100px;
}
h1{
font-size: 16px;
}
.green{
color: #14FF00;
}
.red{
color: red;
}
</style>

@ -64,7 +64,9 @@ export default {
name: res.data[i].deviceName,
type: "line",
data: res.data[i].temps,
itemStyle: {color: '#2F8EE0'}
itemStyle: { //线
color: '#F5901A',
}
})
crr.push(res.data[i].times)
}
@ -81,7 +83,10 @@ export default {
//
myChart.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
legend: {
selectedMode: 'single',
textStyle:{

@ -247,7 +247,10 @@ export default {
myChart3 = echarts.init(document.getElementById("myEcharts3"));
myChart3.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
textStyle:{
color:'#BEC3DA'
},
@ -430,7 +433,10 @@ export default {
myChart4 = echarts.init(document.getElementById("myEcharts4"));
myChart4.setOption({
title: {},
tooltip: {},
tooltip: {
trigger: "axis",
show: true
},
legend: {
textStyle:{
color:'#BEC3DA'
@ -470,7 +476,7 @@ export default {
{
name: '进水',
type: 'line',
stack: 'Total',
// stack: 'Total',
itemStyle:{
color:'#2F8EE0'
},
@ -479,9 +485,9 @@ export default {
{
name: '出水',
type: 'line',
stack: 'Total',
itemStyle:{
color:'#2F8EE0'
// stack: 'Total',
itemStyle: { //线
color: '#F5901A',
},
data: data.temOut
},

@ -66,16 +66,13 @@
</el-form-item>
</el-col>
<el-checkbox :indeterminate="data.isIndeterminate" v-model="data.checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<div class="taber"><span>进水温度</span><span>出水温度</span><span>温度</span></div>
<el-checkbox-group v-model="data.checkedSblb" @change="handleCheckedCitiesChange">
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" label-width="120" style="margin-bottom: 10px">
{{item.deviceName}}
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/>
<span style="width: 70px;display: inline-block">{{item.deviceName}}</span>
<el-input type="number" v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number" v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number" v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/>
</el-checkbox>
</el-checkbox-group>
<!-- <el-col :span="12">-->
@ -133,15 +130,13 @@
</el-form-item>
</el-col>
<el-checkbox :indeterminate="data.isIndeterminate1" v-model="data.checkAll1" @change="handleCheckAllChange1">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<div class="taber"><span>进水温度</span><span>出水温度</span><span>温度</span></div>
<el-checkbox-group v-model="data.checkedSblb1" @change="handleCheckedCitiesChange1">
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" style="margin-bottom: 10px">{{item.deviceName}}
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number"
onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/>
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" style="margin-bottom: 10px">
<span style="width: 70px;display: inline-block">{{item.deviceName}}</span>
<el-input type="number" v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number" v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/>
<el-input type="number" v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/>
</el-checkbox>
</el-checkbox-group>
<!-- <el-col :span="24">-->
@ -561,7 +556,19 @@ const { queryParams } = toRefs(data);
min-height: 745px;
background-color: #2F3D8A;
}
.taber{
width: 400px;
margin-left: 52px;
display: flex;
justify-content: flex-start;
line-height: 32px;
span{
width: 120px;
&:nth-child(2),&:nth-child(3){
margin-left: 20px;
}
}
}
::v-deep .el-button{
border-radius: 2px;
}

@ -147,6 +147,19 @@ getUser();
<style lang="scss" scoped>
::v-deep .el-form-item__label{
color: #606266 !important;
color: #bfcbd9 !important;
}
::v-deep .el-card {
color: #bfcbd9;
background-color: #2F3D8A;
border: none;
height: 100%;
}
::v-deep .el-card__header{
background-color: #374590;
border: none;
}
::v-deep .list-group-item{
border: none;
}
</style>

Loading…
Cancel
Save