林颖晨 2 years ago
commit 7d5db114ff
  1. 6
      psdc-ui/src/api/bigview/bigview.js
  2. 4
      psdc-ui/src/api/control/timer.js
  3. 21
      psdc-ui/src/api/emonitor/api.js
  4. BIN
      psdc-ui/src/assets/images/shapan.png
  5. 11
      psdc-ui/src/assets/styles/energy.scss
  6. 49
      psdc-ui/src/views/analyse/nhfx/index.vue
  7. 7
      psdc-ui/src/views/analyse/nhtj/index.vue
  8. 32
      psdc-ui/src/views/bigview/index.vue
  9. 62
      psdc-ui/src/views/control/manual/index.vue
  10. 247
      psdc-ui/src/views/control/timer/index.vue
  11. 2
      psdc-ui/src/views/emonitor/db/index.vue
  12. 2
      psdc-ui/src/views/emonitor/drgl/index.vue
  13. 31
      psdc-ui/src/views/emonitor/frdl/index.vue
  14. 30
      psdc-ui/src/views/emonitor/kqyrb/index.vue
  15. 18
      psdc-ui/src/views/emonitor/sp/index.vue
  16. 32
      psdc-ui/src/views/emonitor/wdcgq/index.vue
  17. 30
      psdc-ui/src/views/emonitor/xrgl/index.vue
  18. 93
      psdc-ui/src/views/system/cl/index.vue
  19. 2
      psdc-ui/src/views/system/config/index.vue
  20. 514
      psdc-ui/src/views/system/device/index.vue

@ -2,13 +2,13 @@ import request from '@/utils/request'
/** 8个温度传感器接口*/
export function getTemperature(data) {
return request.get('/indexLook/8wd/'+data)
return request.post('/indexLook/8wd?modelTypeName='+data)
}
/**运行设备工作信息查询接口*/
export function getDevicesInfo() {
return request.get('/indexLook/devicesInfo')
}
/**总电表接口*/
export function getZdb() {
return request.get('/indexLook/zdb')
export function getZdb(data) {
return request.get('/indexLook/zdb/'+data)
}

@ -12,3 +12,7 @@ export function getAddTimer(data) {
export function getDeleteTimer(data) {
return request.get('/control/timer/deleteTimer/' + data)
}
/** 修改定时任务的状态*/
export function getUpDateStatus(timerId,status) {
return request.get('/control/timer/updateStatus/' + timerId + '/' + status)
}

@ -36,7 +36,7 @@ export function getFrld(data) {
}
//温度传感器
export function getWdcgq(data) {
return request.get('/monitor/wdcgq/index/sel1/'+data)
return request.post('/monitor/wdcgq/index/sel1?modelTypeName='+data)
}
//沙盘
export function getSp(data) {
@ -61,4 +61,23 @@ export function postDel(data) {
//获取用户设备列表
export function getSb() {
return request.get('/monitor/db/index/selMydevices')
}
//设备管理
export function getYh() {
return request.get('system/device/index/selusers')
}
export function getSbTab(data) {
return request.post('system/device/index/devicesList',data)
}
export function getMx() {
return request.get('system/device/index/selmodels')
}
export function postNew1(data) {
return request.post('system/device/index',data)
}
export function postXg1(data) {
return request.put('system/device/index',data)
}
export function postDel1(data) {
return request.post('system/device/index/del',data)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 KiB

@ -75,16 +75,19 @@
.el-overlay .el-overlay-dialog .el-dialog .el-dialog__body
.el-form--label-right .el-row .el-col .asterisk-left
.el-form-item__content .el-select .select-trigger .el-input .el-input__wrapper .el-input__inner{
color: #fff !important;
//color: #fff !important;
color: #606266 !important;
}
.el-overlay .el-overlay-dialog .el-dialog .el-dialog__body
.el-form--label-right .el-row .el-col .asterisk-left
.el-form-item__content .el-input .el-input__wrapper .el-input__inner{
color: #fff !important;
color: #606266 !important;
}
.el-input__wrapper{
background-color: #1b2553 !important;
border: 1px solid #32467a !important;
//background-color: #1b2553 !important;
//border: 1px solid #32467a !important;
background-color: #fff !important;
border: 1px solid #ddd !important;
color: #596a85 !important;
box-shadow: none !important;
}

@ -9,7 +9,7 @@
<el-option v-for="item in deviceName" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId" />
</el-select>
</el-form-item>
<el-form-item label="日期"><el-date-picker v-model="dateValue1" format="YYYY" value-format="YYYY" type="year" placeholder="请选择日期" size="default"/></el-form-item>
<el-form-item label="日期"><el-date-picker v-model="dateValue1" format="YYYY" value-format="YYYY" type="year" placeholder="请选择日期" size="default"/></el-form-item>
<el-form-item><el-button type="primary" @click="lastYear"><el-icon><ArrowLeft /></el-icon></el-button></el-form-item>
<el-form-item><el-button type="primary" @click="nextYear">下一年<el-icon><ArrowRight /></el-icon></el-button></el-form-item>
<el-form-item><el-button type="primary" icon="Search" @click="handleQuery1">查询</el-button></el-form-item>
@ -21,10 +21,10 @@
<div class="tableBox1">
<el-table :data="tbfxDataTable" height="345px">
<el-table-column label="月份" align="center" prop="month" width="100"/>
<el-table-column label="本期" align="center" prop="year"/>
<el-table-column label="同期" align="center" prop="toYear"/>
<el-table-column label="同比(%)" align="center" prop="compute"/>
<el-table-column label="累计同比(%)" align="center" prop="addUp"/>
<el-table-column label="本期/kWh" align="center" prop="year"/>
<el-table-column label="同期/kWh" align="center" prop="toYear"/>
<el-table-column label="同比" align="center" prop="compute"/>
<el-table-column label="累计同比" align="center" prop="addUp"/>
</el-table>
</div>
</el-tab-pane>
@ -37,7 +37,7 @@
<el-form :inline="true" class="demo-form-inline" @submit.native.prevent>
<el-form-item class="mr0"><button class="myBtn btn1" :class="{active : activeIndex === 0}" @click="handleDaily">按日</button></el-form-item>
<el-form-item ><button class="myBtn btn2" :class="{active : activeIndex === 1}" @click="handleMonthly">按月</button></el-form-item>
<el-form-item label="日期"><el-date-picker v-model="dateValue2" :type="dateType" :format="format" :value-format="valueFormat" placeholder="请选择日期" size="default"/></el-form-item>
<el-form-item label="日期"><el-date-picker v-model="dateValue2" :type="dateType" :format="format" :value-format="valueFormat" placeholder="请选择日期" size="default"/></el-form-item>
<el-form-item><el-button type="primary" icon="Search" @click="handleQuery2">查询</el-button></el-form-item>
</el-form>
<div class="tableBox2">
@ -45,8 +45,8 @@
<el-table-column label="用能设备" align="center" prop="deviceName"/>
<el-table-column :label="label1" align="center" :prop="prop1"/>
<el-table-column :label="label2" align="center" :prop="prop2"/>
<el-table-column label="增加值" align="center" prop="addUp"/>
<el-table-column label="环比(%)" align="center" prop="compute"/>
<el-table-column label="增加值/kWh" align="center" prop="addUp"/>
<el-table-column label="环比" align="center" prop="compute"/>
<el-table-column label="操作" align="center">
<template v-slot="scope">
<el-button type="primary" size="small" :icon="Histogram" @click="handleChart(scope)">图表</el-button>
@ -215,7 +215,7 @@ function tongbiChartFun(){
tongbiChart = echarts.init(chartDom);
const option = {
legend: {
data: ["本期","同期"],
data: [dateValue1.value,dateValue1.value - 1],
// selectedMode: 'single',
textStyle: {
color: "#f3ffff"
@ -284,7 +284,7 @@ function tongbiChartFun(){
},
series: [
{
name: "本期",
name: dateValue1.value,
data: tongbiBenqi.value,
type: 'bar',
smooth: true,
@ -329,7 +329,7 @@ function tongbiChartFun(){
},
},
{
name: "同期",
name: dateValue1.value - 1,
data: tongbiTongqi.value,
type: 'bar',
smooth: true,
@ -505,8 +505,12 @@ function close(){
let huanbiChart;
function huanbiChartFun(){
dateValue2.value = dateValue2.value.toString()
console.log('X轴:',dateValue2.value)
console.log('本月:',thisMonthData.value,'上月:',lastMonthData.value)
// console.log('X',dateValue2.value)
// console.log('',thisMonthData.value,'',lastMonthData.value)
let thisMonthDataArr = []
let lastMonthDataArr = []
thisMonthDataArr.push(thisMonthData.value)
lastMonthDataArr.push(lastMonthData.value)
const chartDom = document.getElementById('huanbiChart')
tongbiChart = echarts.init(chartDom);
const option = {
@ -581,7 +585,7 @@ function huanbiChartFun(){
series: [
{
name: echartLegend.value[0],
data: thisMonthData.value,
data: thisMonthDataArr,
type: 'bar',
smooth: true,
symbol: "none", //
@ -591,7 +595,7 @@ function huanbiChartFun(){
},
{
name: echartLegend.value[1],
data: lastMonthData.value,
data: lastMonthDataArr,
type: 'bar',
smooth: true,
symbol: "none", //
@ -608,8 +612,12 @@ function huanbiChartFun(){
/** 页面销毁时*/
onBeforeUnmount(() => {
tongbiChart.dispose(); //
huanbiChart.dispose();
if(tongbiChart){
tongbiChart.dispose(); //
}
if(huanbiChart){
huanbiChart.dispose();
}
});
</script>
@ -713,7 +721,12 @@ onBeforeUnmount(() => {
margin-right: 12px;
}
::v-deep .el-input__inner{
color: #f3ffff;
//color: #f3ffff !important;
color: #606266 !important;
}
::v-deep .el-date-editor .el-range-input{
//color: #f3ffff;
color: #606266 !important;
}
</style>

@ -510,12 +510,13 @@ const { filterForm } = toRefs(data);
::v-deep .el-table__body-wrapper tr td.el-table-fixed-column--right{
background-color: #2F3D8A;
}
::v-deep .el-input__inner{
color: #f3ffff;
//color: #f3ffff !important;
color: #606266 !important;
}
::v-deep .el-date-editor .el-range-input{
color: #f3ffff;
//color: #f3ffff;
color: #606266 !important;
}
</style>

@ -131,7 +131,7 @@ onMounted(()=>{
/** 8个温度传感器数据*/
const wdcgqArr = ref([])
function getWenduFun(){
getTemperature(16).then((res)=>{
getTemperature("温度传感器").then((res)=>{
wdcgqArr.value = res.data
})
}
@ -257,7 +257,7 @@ function dcglChartFun(){
},
tooltip: {
trigger: "axis",
formatter: "{b0}: {c0}℃",
// formatter: "{b0} {c0}",
// borderColor: '#00fcff',
borderWidth: 1
},
@ -350,7 +350,7 @@ function xrglChartFun(){
},
tooltip: {
trigger: "axis",
formatter: "{b0}: {c0}℃",
// formatter: "{b0} {c0}",
// borderColor: '#00fcff',
borderWidth: 1
},
@ -443,7 +443,7 @@ function kqyrbChartFun(){
},
tooltip: {
trigger: "axis",
formatter: "{b0}: {c0}℃",
// formatter: "{b0} {c0}",
// borderColor: '#00fcff',
borderWidth: 1
},
@ -536,7 +536,7 @@ function frdlChartFun(){
},
tooltip: {
trigger: "axis",
formatter: "{b0}: {c0}℃",
// formatter: "{b0} {c0}",
// borderColor: '#00fcff',
borderWidth: 1
},
@ -612,7 +612,7 @@ const nowPower = ref()
const nowEle = ref()
const todayUsePowersArr = [];
function getZdbFun(){
getZdb().then((res)=>{
getZdb(13).then((res)=>{
console.log(res.data)
nowPower.value = res.data.totp;
nowEle.value = res.data.totwh;
@ -739,11 +739,21 @@ function dqglChartFun(){
/** 页面销毁时*/
onBeforeUnmount(() => {
dcglChart.dispose(); //
xrglChart.dispose();
kqyrbChart.dispose();
frdlChart.dispose();
dqglChart.dispose();
if(dcglChart) {
dcglChart.dispose(); // }
if (xrglChart) {
xrglChart.dispose();
}
if (kqyrbChart) {
kqyrbChart.dispose();
}
if (frdlChart) {
frdlChart.dispose();
}
if (dqglChart) {
dqglChart.dispose();
}
}
});
</script>

@ -2,11 +2,12 @@
<div class="app-container home">
<el-button type="primary" :icon="Download" @click="drawerIshow = true">策略导入</el-button>
<div class="dev_control_wrapper">
<div class="dev_control_item" v-for="item in deviceArr" :key="item.deviceId">
<div class="item_header">
<span>{{ item.deviceName}}</span>
<!-- <el-switch v-model="item.deviceId" class="switch" @change="handleChange(item)" style="&#45;&#45;el-switch-on-color: #13ce66; &#45;&#45;el-switch-off-color: #dddddd"/>-->
<el-switch v-model="item.deviceId" class="switch" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #dddddd"/>
<el-switch v-model="item.deviceRunstatus" @change="handleDevChangeFun(item.deviceId,item.deviceRunstatus)" class="switch" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #dddddd"/>
</div>
<div class="item_bottom">
<div class="item_bottom_img">
@ -14,15 +15,23 @@
</div>
<div class="item_bottom_form">
<el-form :model="form1">
<el-form-item label="当前状态:"><span :class="{'green':item.deviceRunstatus === '开启','red':item.deviceRunstatus === '关闭'}">{{ item.deviceRunstatus }}</span></el-form-item>
<el-form-item v-show="isShow1" label="进水温度:"><el-input v-model="form1.intemp" /></el-form-item>
<el-form-item v-show="isShow1" label="出水温度:"><el-input v-model="form1.outtemp" /></el-form-item>
<!-- <el-form-item label="当前温度:"><el-input v-model="form1.now" /></el-form-item>-->
<el-form-item label="当前状态:">
<span :class="{'green':item.deviceRunstatus === true,'red':item.deviceRunstatus === false}">
{{ item.deviceRunstatus === true ? '开启' : '关闭'}}
</span>
</el-form-item>
<el-form-item label="进水温度:"><el-input v-model="form1.intemp" /></el-form-item>
<el-form-item label="出水温度:"><el-input v-model="form1.outtemp" /></el-form-item>
<!-- <el-form-item label="温度:" ><el-input v-model="form1.temp" /></el-form-item>-->
<div class="submit" @click="getSetTemperatureFun(item)">确定</div>
</el-form>
</div>
</div>
</div>
</div>
<div class="dev_control_table">
<div class="control_header"><span>调控日志</span></div>
@ -77,7 +86,7 @@
<script setup name="Index">
import { Download } from '@element-plus/icons-vue' //element
import { ref,reactive,onMounted } from 'vue'
import { ElMessageBox } from 'element-plus'
import { ElMessageBox,ElMessage } from 'element-plus'
import { getDevice,getControlLogList,getStrategyList,getStartAndStop,getSetTemperature } from '@/api/control/manual'
onMounted(()=>{
@ -88,20 +97,16 @@ onMounted(()=>{
/** 获取所有设备*/
const deviceArr = ref([])
const isShow1 = ref(true)
// const isShow1 = ref(true)
// const isShow2 = ref(true)
function getDeviceFun(){
getDevice().then((res)=>{
console.log(res.data)
deviceArr.value = res.data
for(let i = 0;i < res.data.length;i++){
if(res.data[i].deviceRunstatus == 1){
res.data[i].deviceRunstatus = '开启'
}else{
res.data[i].deviceRunstatus = '关闭'
}
// if(res.data[i].deviceModel == ''){
// isShow1.value = false
// isShow2.value = true
// }
}
})
@ -174,15 +179,24 @@ function confirmClick() {
}
/** 控制设备启停*/
// function handleChange(item){
// console.log(item)
// // getStartAndStop({
// // "deviceId": 100,
// // "runStatus": 2
// // }).then((res)=>{
// // console.log(res.data)
// // })
// }
function handleDevChangeFun(id,sta){
console.log(id,sta)
//12
sta = sta === true ? 1 : 2
getStartAndStop({
"deviceId": id,
"runStatus": sta
}).then((res)=>{
console.log(res.data)
if(res.code == 200){
ElMessage({
type:'success',
message:'控制成功!'
})
}
})
getControlLogListFun()
}
/** 设置温度*/
function getSetTemperatureFun(item){
@ -364,7 +378,7 @@ function getSetTemperatureFun(item){
margin-bottom: 3px;
}
::v-deep .el-input__inner{
color: #f3ffff;
color: #606266;
}
::v-deep .el-pagination{
position: absolute;

@ -5,29 +5,17 @@
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px">
<el-form-item label="设备名称">
<el-select v-model="queryParams.devName" placeholder="请选择设备" @change="handleDevChange">
<el-option label="所有" value="0" />
<el-option v-for="item in devArr" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId" />
</el-select>
</el-form-item>
<el-form-item label="执行日期" prop="week">
<el-select v-model="queryParams.week" placeholder="请选择执行日期" style="width: 240px">
<el-option label="所有" value="0" />
<el-option label="星期一" value="1" />
<el-option label="星期二" value="2" />
<el-option label="星期三" value="3" />
<el-option label="星期四" value="4" />
<el-option label="星期五" value="5" />
<el-option label="星期六" value="6" />
<el-option label="星期日" value="7" />
<el-option label="每天" value="8" />
<el-option label="仅此一次" value="9" />
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" style="width: 240px" @change="handleStatusChangeFun">
<el-option label="所有" value="" />
<el-option label="开启" value="1" />
<el-option label="停止" value="0" />
</el-select>
</el-form-item>
<!-- <el-form-item label="执行时间" prop="time">-->
<!-- <el-select v-model="queryParams.time" placeholder="请选择" style="width: 240px">-->
<!-- <el-option label="00:00-02:00" value="1" />-->
<!-- <el-option label="02:00-03:00" value="2" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="日期范围" style="width: 308px;">
<el-date-picker v-model="queryParams.dateRange"
value-format="YYYY-MM-DD"
@ -50,14 +38,21 @@
<div class="dev_control_table">
<el-table :data="timingList" height="685px">
<el-table-column label="序号" align="center" width="50"/>
<el-table-column label="设备名称" align="center" prop="deviceId"/>
<el-table-column label="设备名称" align="center" prop="deviceName"/>
<el-table-column label="指令内容" align="center" prop="controlContext" width="500"/>
<el-table-column label="状态" align="center">
<template v-slot="scope">
<!-- <el-tag class="ml-2" :type="timerStatus">暂停</el-tag>-->
<el-tag class="ml-2" effect="dark" :type="scope.row.timerStatus == 0 ? 'info':'success'" disable-transitions>{{ scope.row.timerStatus == 0 ? '停止' : '开启' }}</el-tag>
</template>
</el-table-column>
<el-table-column label="执行日期" align="center" prop="runday"/>
<el-table-column label="执行时间" align="center" prop="runtime"/>
<el-table-column label="创建时间" align="center" prop="createTime"/>
<el-table-column label="创建者" align="center" prop="createBy"/>
<el-table-column label="操作" align="center" prop="handle">
<el-table-column label="操作" align="center" prop="handle" width="200">
<template v-slot="scope">
<el-button size="small" :type="scope.row.timerStatus == 0 ? 'success':''" @click="getUpDateStatusFun(scope)">{{ scope.row.timerStatus == 0 ? '开启' : '停止' }}</el-button>
<el-button type="danger" size="small" :icon="Delete" @click="getDeleteTimerFun(scope)">删除</el-button>
</template>
</el-table-column>
@ -95,22 +90,48 @@
<el-input v-model="timingForm.content" placeholder="请输入指令内容"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="控制指令" prop="code">
<el-radio-group v-model="timingForm.checkedRadio" style="display: flex; flex-wrap: wrap;">
<div style="display: flex; margin-bottom: 10px; width: 100%">
<el-radio label="启" border/>
<el-radio label="停" border/>
</div>
<div class="tempRadioBox">
<div class="tempRadio">
<el-radio v-model="timingForm.checkedRadio" class="radio" label="进水温度" border @change="radioChange"/>
<el-input v-model="timingForm.inTemp" class="input"/>
</div>
<div class="tempRadio">
<el-radio v-model="timingForm.checkedRadio" class="radio" label="出水温度" border @change="radioChange"/>
<el-input v-model="timingForm.outTemp" class="input"/>
</div>
<div class="tempRadio">
<el-radio v-model="timingForm.checkedRadio" class="radio" label="温度" border @change="radioChange"/>
<el-input v-model="timingForm.temp" class="input"/>
</div>
</div>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="执行星期">
<el-form-item label="执行次数">
<el-radio-group v-model="timingForm.day">
<el-radio style='width:90px' label="每天" @change="handleEveryday"/>
<el-radio label="每天" @change="handleEveryday"/>
</el-radio-group>
<div class="collapse">
<el-collapse v-model="activeName" accordion>
<el-collapse-item title="星期几" name="1">
<el-checkbox-group v-model="timingForm.week">
<el-checkbox style='width:90px' label="1" key="1">星期一</el-checkbox>
<el-checkbox style='width:90px' label="2" key="2">星期二</el-checkbox>
<el-checkbox style='width:90px' label="3" key="3">星期三</el-checkbox>
<el-checkbox style='width:90px' label="4" key="4">星期四</el-checkbox>
<el-checkbox style='width:90px' label="5" key="5">星期五</el-checkbox>
<el-checkbox style='width:90px' label="6" key="6">星期六</el-checkbox>
<el-checkbox style='width:90px' label="7" key="7">星期日</el-checkbox>
<el-checkbox style='width:90px' label="2" key="2">星期一</el-checkbox>
<el-checkbox style='width:90px' label="3" key="3">星期二</el-checkbox>
<el-checkbox style='width:90px' label="4" key="4">星期三</el-checkbox>
<el-checkbox style='width:90px' label="5" key="5">星期四</el-checkbox>
<el-checkbox style='width:90px' label="6" key="6">星期五</el-checkbox>
<el-checkbox style='width:90px' label="7" key="7">星期六</el-checkbox>
<el-checkbox style='width:90px' label="8" key="8">星期日</el-checkbox>
</el-checkbox-group>
</el-collapse-item>
@ -140,10 +161,10 @@
</template>
<script setup name="Index">
import {Delete} from '@element-plus/icons-vue'
import {Delete,SwitchButton} from '@element-plus/icons-vue'
import {ElMessage, ElMessageBox} from "element-plus";
import {ref,reactive,watch,onMounted} from "vue";
import { getList,getAddTimer,getDeleteTimer } from '@/api/control/timer'
import {getList, getAddTimer, getDeleteTimer, getUpDateStatus} from '@/api/control/timer'
import { getDevice } from '@/api/control/manual'
@ -181,9 +202,8 @@ const startDate = ref()
const endDate = ref()
const data = reactive({
queryParams: {
devName:'',
week: '',
time: '',
devName:'0',
status: '',
dateRange:[],
}
});
@ -194,6 +214,12 @@ const wacthSelectDate = watch(()=> data.queryParams.dateRange,(val) =>{
console.log(val[1])
endDate.value = val[1]
})
//val
const statusVal = ref()
function handleStatusChangeFun(val){
console.log('状态id',val)
statusVal.value = val
}
//
function handleQuery(){
getListFun()
@ -206,6 +232,9 @@ function resetQuery(){
startDate.value = null;
endDate.value = null;
devId.value = null;
data.queryParams.devName = '0'
statusVal.value = ''
console.log('重置后的状态值为',statusVal.value)
getListFun()
}
@ -224,7 +253,7 @@ function getListFun(){
"timerId":null,
"deviceId":devId.value,
"controlContext":null,
"timerStatus":null,
"timerStatus":statusVal.value,
"createStart":startDate.value,
"createEnd": endDate.value,
"pageNum": currentPage.value,
@ -244,8 +273,29 @@ const handleCurrentChange = (val) => {
getListFun()
}
//
function getUpDateStatusFun(scope){
//scope.row.timerStatus
scope.row.timerStatus = scope.row.timerStatus === 1 ? 0 : 1;
getUpDateStatus(scope.row.timerId,scope.row.timerStatus).then((res)=>{
console.log(res)
if(res.code == 200){
ElMessage({
type: 'success',
message: res.msg,
})
if(scope.row.timerStatus == 0){
scope.row.timerStatus = 1
}else{
scope.row.timerStatus = 0
}
getListFun()
}
})
}
//
function getDeleteTimerFun(e){
console.log(e)
ElMessageBox.confirm(
'确定要删除此条定时任务吗?',
'提示',
@ -254,15 +304,14 @@ function getDeleteTimerFun(e){
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
console.log(e.row.deviceId)
getDeleteTimer(e.row.deviceId).then((res)=>{
console.log(res)
// if(res.code == 200){
// ElMessage({
// type: 'success',
// message: '',
// })
// }
getDeleteTimer(e.row.timerId).then((res)=>{
if(res.code == 200){
ElMessage({
type: 'success',
message: '删除成功!',
})
getListFun()
}
})
}).catch(() => {})
}
@ -280,6 +329,12 @@ const selectTimer = ref()
const timingForm = reactive({
dev:'',
content:'',
intemp:'',
outtemp:'',
checkedRadio:'',
inTemp:'',
outTemp:'',
temp:'',
day:'',
week:[],
executeTime:'',
@ -293,14 +348,66 @@ function handleDevChange(id){
const watchContent = watch(()=> timingForm.content,(val)=>{
console.log(val)
})
//
const code = ref()
const watchCode = watch(()=> timingForm.checkedRadio,(val)=>{
if(val == '启' || val == '停'){
timingForm.inTemp = ''
timingForm.outTemp = ''
timingForm.temp = ''
code.value = 'startandstop'
}
if(val == '进水温度'){
timingForm.outTemp = ''
timingForm.temp = ''
code.value = 'inTemp'
}
if(val == '出水温度'){
timingForm.inTemp = ''
timingForm.temp = ''
code.value = 'outTemp'
}
if(val == '温度'){
timingForm.outTemp = ''
timingForm.inTemp = ''
code.value = 'temp'
}
console.log(code.value)
})
//
const tempValue = ref()
const watchInTempValue = watch(()=>timingForm.inTemp,(val)=>{
tempValue.value = val
console.log('进水温度',tempValue.value)
})
//
const watchOutTempValue = watch(()=>timingForm.outTemp,(val)=>{
tempValue.value = val
console.log('出水温度',tempValue.value)
})
//
const watchTempValue = watch(()=>timingForm.temp,(val)=>{
tempValue.value = val
console.log('温度',tempValue.value)
})
//
const runday = ref()
const watchEveryDay = watch(()=>timingForm.day,(val)=>{
console.log(val)
value1.value = '';
timingForm.week = [];
runday.value = 0
})
//
const watchWeek = watch(()=> timingForm.week,(val) => {
console.log('监听勾选的星期',val)
if(timingForm.week.length === 7){
timingForm.day = '每天';
}else if(timingForm.week.length < 7 && timingForm.week.length > 0){
timingForm.day = ''
}
let strNum = val.join(',')
runday.value = strNum
console.log('监听勾选的星期',runday.value)
})
//
const watchValue1 = watch(()=> value1.value,(val) => {
@ -330,12 +437,6 @@ function getAllDev(){
devArr.value = res.data
})
}
//
function handleEveryday(){
console.log('点击每天')
value1.value = '';
timingForm.week = [];
}
//
function handleAdd() {
open.value = true;
@ -346,10 +447,10 @@ function submitForm() {
open.value = false;
getAddTimer({
"deviceId":devId.value,
"controlKey":"intemp",
"controlValue":timingForm.content,
"controlKey":code.value,
"controlValue":tempValue.value,
"status":"0",
"runday":selectDate.value,
"runday":runday.value,
"runtime":selectTimer.value
}).then((res)=>{
if(res.code == 200){
@ -385,6 +486,38 @@ const { queryParams } = toRefs(data);
}
.collapse{
margin-bottom: -1px;
}
.tempInput{
width: 20%;
background-color: #ddd;
border-radius: 4px;
}
.tempRadioBox{
display: flex;
justify-content: space-between;
width: 100%;
.tempRadio{
display: flex;
margin-right: 20px;
&:nth-child(3){
margin-right: 0px;
}
.radio{
margin-right: 0px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
padding-right: 2px;
border-right: 0px;
}
.input{
width: 60px;
height: 32px;
}
}
}
::v-deep .el-input__wrapper{
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
::v-deep .el-button{
border-radius: 2px;
@ -411,10 +544,12 @@ const { queryParams } = toRefs(data);
display: inline-block;
}
::v-deep .el-input__inner{
color: #f3ffff !important;
//color: #f3ffff !important;
color: #606266 !important;
}
::v-deep .el-date-editor .el-range-input{
color: #f3ffff;
//color: #f3ffff;
color: #606266 !important;
}
::v-deep .el-scrollbar__wrap.el-scrollbar__wrap--hidden-default{
background-color: rgba(47,61,138);

@ -181,7 +181,7 @@ export default {
onMounted(() => {//element,onMountedHook
getData(13).then((res)=>{
console.log(res)
if(res.data){
if(res.data!=null){
data.totp=res.data.totp
data.totwh=res.data.totwh
data.eday=res.data.eday

@ -422,7 +422,7 @@ export default {
})
getDrgl(1).then((res)=>{
console.log('1',res)
if(res.data){
if(res.data!=null){
data.tempIn=res.data.tempIn
data.tempOut=res.data.tempOut
data.totp = res.data.totp

@ -399,21 +399,24 @@ export default {
})
getFrdl(4).then((res)=>{
console.log('1',res)
data.tempIn=res.data.tempIn
data.tempOut=res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if(res.data.runStatus==1){
data.runStatus = '开启'
}else if (res.data.runStatus==2){
data.runStatus = '关闭'
if(res.data!=null){
data.tempIn=res.data.tempIn
data.tempOut=res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if(res.data.runStatus==1){
data.runStatus = '开启'
}else if (res.data.runStatus==2){
data.runStatus = '关闭'
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData=arr
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData=arr
let myChart3 = echarts.getInstanceByDom(document.getElementById("myEcharts3"));
if (myChart3){
myChart3.dispose()

@ -419,21 +419,23 @@ export default {
})
getKqryb(3).then((res)=>{
console.log('1',res)
data.tempIn=res.data.tempIn
data.tempOut=res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if(res.data.runStatus==1){
data.runStatus = '开启'
}else if (res.data.runStatus==2){
data.runStatus = '关闭'
if(res.data!=null) {
data.tempIn = res.data.tempIn
data.tempOut = res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if (res.data.runStatus == 1) {
data.runStatus = '开启'
} else if (res.data.runStatus == 2) {
data.runStatus = '关闭'
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData = arr
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData=arr
let myChart3 = echarts.getInstanceByDom(document.getElementById("myEcharts3"));
if (myChart3){
myChart3.dispose()

@ -2,6 +2,7 @@
<div class="app-container home">
<h1>{{data.name}}</h1>
<h1>运行状态:{{data.status}}</h1>
<img src="../../../assets/images/shapan.png" class="img">
</div>
</template>
@ -17,11 +18,13 @@ export default {
onMounted(()=>{
getSp(14).then((res)=>{
console.log(res)
data.name=res.data.deviceName
if(res.data.deviceRunstatus==true){
data.status='开启'
}else{
data.status='关闭'
if(res.data!=null) {
data.name = res.data.deviceName
if (res.data.deviceRunstatus == true) {
data.status = '开启'
} else {
data.status = '关闭'
}
}
})
})
@ -36,6 +39,9 @@ export default {
</script>
<style scoped lang="scss">
.img{
margin-left: 250px;
margin-top: 100px;
}
</style>

@ -52,21 +52,27 @@ export default {
})
onMounted(() => {//element,onMountedHook
//1-8 id 5-12
getWdcgq(16).then((res)=>{
getWdcgq("温度传感器").then((res)=>{
console.log(res)
let arr = []
let brr = []
let crr = []
for (let i in res.data){
arr.push({name:res.data[i].deviceName,temp:res.data[i].deviceTemp})
brr.push({name:res.data[i].deviceName,type: "line",data:res.data[i].temps,itemStyle:{color:'#2F8EE0'}})
crr.push(res.data[i].times)
if(res.data!=null) {
let arr = []
let brr = []
let crr = []
for (let i in res.data) {
arr.push({name: res.data[i].deviceName, temp: res.data[i].deviceTemp})
brr.push({
name: res.data[i].deviceName,
type: "line",
data: res.data[i].temps,
itemStyle: {color: '#2F8EE0'}
})
crr.push(res.data[i].times)
}
console.log(crr)
data.info = arr
data.infos = brr
data.xinfo = crr
}
console.log(crr)
data.info=arr
data.infos=brr
data.xinfo=crr
let myChart = echarts.getInstanceByDom(document.getElementById("myEcharts"));
if (myChart){
myChart.dispose()

@ -223,21 +223,23 @@ export default {
onMounted(() => {//element,onMountedHook
getXrgl(2).then((res)=>{
console.log('1',res)
data.tempIn=res.data.tempIn
data.tempOut=res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if(res.data.runStatus==1){
data.runStatus = '开启'
}else if (res.data.runStatus==2){
data.runStatus = '关闭'
if(res.data!=null) {
data.tempIn = res.data.tempIn
data.tempOut = res.data.tempOut
data.totp = res.data.totp
data.totwh = res.data.totwh
if (res.data.runStatus == 1) {
data.runStatus = '开启'
} else if (res.data.runStatus == 2) {
data.runStatus = '关闭'
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData = arr
}
//gl
delete res.data.todayUsePowers.deviceId
delete res.data.todayUsePowers.samDate
delete res.data.todayUsePowers.userId
let arr = Object.values(res.data.todayUsePowers)
data.glData=arr
let myChart3 = echarts.getInstanceByDom(document.getElementById("myEcharts3"));
if (myChart3){
myChart3.dispose()

@ -61,37 +61,42 @@
<el-input v-model="timingForm.sceneName" placeholder="请输入策略名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="策略列表:" >
<el-select v-model="timingForm.sceneCode" placeholder="策略列表">
<el-option v-for="item in data.queryParams" :key="item.sceneCode" :label="item.label" :value="item.sceneCode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备列表:" >
<el-select v-model="timingForm.deviceId" placeholder="设备列表">
<el-option v-for="item in data.sblb" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="进水温度:" prop="intemp" >
<el-input v-model="timingForm.intemp" placeholder="进水温度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出水温度:" prop="outtemp" >
<el-input v-model="timingForm.outtemp" placeholder="出水温度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="温度:" prop="temp">
<el-input v-model="timingForm.temp" placeholder="温度" maxlength="11" />
</el-form-item>
</el-col>
<el-checkbox :indeterminate="data.isIndeterminate" v-model="data.checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-model="data.checkedSblb" @change="handleCheckedCitiesChange">
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" >{{item.deviceName}}</el-checkbox>
</el-checkbox-group>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="策略列表:" >-->
<!-- <el-select v-model="timingForm.sceneCode" placeholder="策略列表">-->
<!-- <el-option v-for="item in data.queryParams" :key="item.sceneCode" :label="item.label" :value="item.sceneCode">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="设备列表:" >-->
<!-- <el-select v-model="timingForm.deviceId" placeholder="设备列表">-->
<!-- <el-option v-for="item in data.sblb" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="进水温度:" prop="intemp" >-->
<!-- <el-input v-model="timingForm.intemp" placeholder="进水温度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="出水温度:" prop="outtemp" >-->
<!-- <el-input v-model="timingForm.outtemp" placeholder="出水温度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="温度:" prop="temp">-->
<!-- <el-input v-model="timingForm.temp" placeholder="温度" maxlength="11" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
</el-form>
<template #footer>
@ -158,6 +163,12 @@ onMounted(()=>{
}
console.log('sblb',arr)
data.sblb=arr
var brr = []
for(let a in arr){
brr.push(arr[a].deviceId)
}
data.AllName=brr
console.log(brr)
})
getXl().then((res)=>{
console.log(res)
@ -180,7 +191,11 @@ onMounted(()=>{
})
/** 筛选处理 */
const data = reactive({
sblb:[],
checkAll: false,
checkedSblb: [],
sblb: [],
AllName:[],
isIndeterminate: false,
total:'',
timingList:[],
queryParams: '',
@ -222,8 +237,18 @@ function resetQuery(){
data.total=res.total
})
}
function handleCheckAllChange(val) {
data.checkedSblb = val ? data.AllName : [];
data.isIndeterminate = false;
console.log(data.checkedSblb)
}
function handleCheckedCitiesChange(value) {
let checkedCount = value.length;
data.checkAll = checkedCount === data.sblb.length;
data.isIndeterminate = checkedCount > 0 && checkedCount < data.sblb.length;
console.log(data.checkedSblb)
}
/** 数据表格处理 */
const currentPage = ref(1)
@ -366,7 +391,7 @@ function cancel1() {
timingForm1.temp=''
};
function handleDel(sceneId) {
ElMessageBox.confirm("是否确认删除此电站?", "提示",{
ElMessageBox.confirm("是否确认删除此策略?", "提示",{
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning"

@ -1,6 +1,6 @@
<template>
<div>
111
</div>
</template>

@ -0,0 +1,514 @@
<template>
<div class="app-container home">
<el-row :gutter="20">
<el-col :span="24" :xs="24">
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="88px">
<el-form-item label="模型名称:" prop="name">
<el-select v-model="data.sceneCode" placeholder="请选择" style="width: 240px" @change="changeSl">
<el-option label='所有' value='' />
<el-option :label='item.label' :value='item.value' :key="item.value" v-for="item in queryParams"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
</el-row>
<div class="dev_control_table">
<el-table :data="data.timingList" height="500px">
<el-table-column label="序号" align="center" prop="deviceId" width="50"/>
<el-table-column label="设备名称" align="center" prop="deviceName"/>
<el-table-column label="是否可控" align="center" prop="isControl" />
<el-table-column label="设备位置" align="center" prop="deviceAddress"/>
<el-table-column label="设备状态" align="center" prop="devStatus"/>
<el-table-column label="设备Sn" align="center" prop="deviceSn"/>
<el-table-column label="当前功率" align="center" prop="totp"/>
<el-table-column label="总用电量" align="center" prop="totWh"/>
<el-table-column label="温度" align="center" prop="temp"/>
<el-table-column label="进水温度" align="center" prop="tempIn"/>
<el-table-column label="出水温度" align="center" prop="tempOut"/>
<el-table-column label="操作" align="center" prop="handle" width="200">
<template v-slot="scope">
<el-button type="primary" size="small" icon="Edit" v-hasPermi="['system:cl:edit']" @click="handleXg(scope.row)">修改</el-button>
<el-button type="danger" size="small" :icon="Delete" @click="handleDel(scope.row.deviceId)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[5, 10, 20, 50]"
:small="small"
:disabled="disabled"
:background="background"
layout="total, sizes, prev, pager, next, jumper"
:total="data.total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
</el-col>
</el-row>
<!-- 新增对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form :model="timingForm" ref="userRef" label-width="88px">
<el-row>
<el-col :span="24">
<el-form-item label="设备名称:" prop="deviceName" >
<el-input v-model="timingForm.deviceName" placeholder="请输入设备名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="模型列表:" >
<el-select v-model="timingForm.deviceModel" placeholder="模型列表">
<el-option v-for="item in data.queryParams" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否可控:" >
<el-select v-model="timingForm.isControl" placeholder="是否可控">
<el-option label="可控" :value=2></el-option>
<el-option label="不可控" :value=1></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="设备Sn:" prop="deviceSn" >
<el-input v-model="timingForm.deviceSn" placeholder="请输入设备Sn" />
</el-form-item>
</el-col>
<!-- <el-col :span="24">-->
<!-- <el-form-item label="开始时间:" prop="startTime" >-->
<!-- <el-input v-model="timingForm.startTime" placeholder="示例:2023-05-11 10:40:29" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="设备地址:" prop="deviceAddress">
<el-input v-model="timingForm.deviceAddress" placeholder="请输入设备地址" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
<!-- 修改对话框 -->
<el-dialog :title="title1" v-model="open1" width="600px" append-to-body>
<el-form :model="timingForm1" ref="userRef" label-width="88px">
<el-row>
<el-col :span="24">
<el-form-item label="设备名称:" prop="deviceName" >
<el-input v-model="timingForm1.deviceName" placeholder="请输入设备名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="模型列表:" >
<el-select v-model="timingForm1.deviceModel" placeholder="模型列表">
<el-option v-for="item in data.queryParams" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否可控:" >
<el-select v-model="timingForm1.isControl" placeholder="是否可控">
<el-option label="可控" :value=2></el-option>
<el-option label="不可控" :value=1></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="设备Sn:" prop="deviceSn" >
<el-input v-model="timingForm1.deviceSn" placeholder="请输入设备Sn" />
</el-form-item>
</el-col>
<!-- <el-col :span="24">-->
<!-- <el-form-item label="开始时间:" prop="startTime" >-->
<!-- <el-input v-model="timingForm.startTime" placeholder="示例:2023-05-11 10:40:29" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="设备地址:" prop="deviceAddress">
<el-input v-model="timingForm1.deviceAddress" placeholder="请输入设备地址" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm1"> </el-button>
<el-button @click="cancel1"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="Index">
import {ElMessage,ElMessageBox} from 'element-plus'
import {Delete} from '@element-plus/icons-vue'
import {ref,reactive,watch,onMounted} from "vue";
import {getXl, getSbTab, postNew1, getSb, postXg1, postDel1, getYh, getMx,} from '../../../api/emonitor/api'
onMounted(()=>{
// getSb().then((res)=>{
// var arr = []
// for(var i in res.data){
// arr=arr.concat(res.data[i].children)
// }
// console.log('sblb',arr)
// data.sblb=arr
// })
getMx().then((res)=>{
console.log(res)
data.queryParams=res.data
})
// getYh().then((res)=>{
// console.log(res)
// data.queryParams=res.data
// })
getSbTab({
"deviceId":0,
"deviceModel":data.sceneCode,
"pageNum": currentPage.value,
"pageSize": pageSize.value
}).then((res)=>{
console.log(res)
data.timingList=res.rows
data.total=res.total
for(let i in res.rows){
if(res.rows[i].isControl==2){
res.rows[i].isControl='可控'
}else if(res.rows[i].isControl==1){
res.rows[i].isControl='不可控'
}
}
})
// postNew().then((res)=>{
// console.log(res)
// })
})
/** 筛选处理 */
const data = reactive({
MxList:[],
sblb:[],
total:'',
timingList:[],
queryParams: '',
sceneCode:'',
dateRange:[],
});
//
function changeSl(){
console.log(data.sceneCode)
}
//
function handleQuery(){
getSbTab({
"deviceId":0,
"deviceModel":data.sceneCode,
"pageNum": currentPage.value,
"pageSize": pageSize.value
}).then((res)=>{
console.log(res)
data.timingList=res.rows
data.total=res.total
for(let i in res.rows){
if(res.rows[i].isControl==2){
res.rows[i].isControl='可控'
}else if(res.rows[i].isControl==1){
res.rows[i].isControl='不可控'
}
}
})
}
//
function resetQuery(){
data.sceneCode=0
currentPage.value=1
pageSize.value=10
getSbTab({
"deviceId":0,
"deviceModel":'',
"pageNum": currentPage.value,
"pageSize": pageSize.value
}).then((res)=>{
console.log(res)
data.timingList=res.rows
data.total=res.total
for(let i in res.rows){
if(res.rows[i].isControl==2){
res.rows[i].isControl='可控'
}else if(res.rows[i].isControl==1){
res.rows[i].isControl='不可控'
}
}
})
}
/** 数据表格处理 */
const currentPage = ref(1)
const pageSize = ref(10)
const small = ref(false)
const background = ref(false)
const disabled = ref(false)
const handleSizeChange = (val) => {
console.log(`${val}`)
getSbTab({
"deviceId":0,
"deviceModel":data.sceneCode,
"pageNum": currentPage.value,
"pageSize": pageSize.value
}).then((res)=>{
console.log(res)
data.timingList=res.rows
data.total=res.total
for(let i in res.rows){
if(res.rows[i].isControl==2){
res.rows[i].isControl='可控'
}else if(res.rows[i].isControl==1){
res.rows[i].isControl='不可控'
}
}
})
}
const handleCurrentChange = (val) => {
console.log(`${val}`)
getSbTab({
"deviceId":0,
"deviceModel":data.sceneCode,
"pageNum": currentPage.value,
"pageSize": pageSize.value
}).then((res)=>{
console.log(res)
data.timingList=res.rows
data.total=res.total
for(let i in res.rows){
if(res.rows[i].isControl==2){
res.rows[i].isControl='可控'
}else if(res.rows[i].isControl==1){
res.rows[i].isControl='不可控'
}
}
})
}
/** 新增策略处理 */
const open = ref(false);
const title = ref();
const open1 = ref(false);
const title1= ref();
const activeName = ref('1')
const timingForm = reactive({
"parentId": 0,
"userId": 1,
"isControl":'',
"deviceType": 2,
"deviceSn": "",
"deviceName": "",
"hardVersion": "2.23",
"softVersion": "2.24",
"deviceAddress": '',
"startTime": null,
"deviceModel": "",
"photoUrl": null
})
const timingForm1 = reactive({
"deviceId":'',
"parentId": 0,
"userId": 1,
"isControl": '',
"deviceType": 2,
"deviceSn": "",
"deviceName": "",
"hardVersion": "2.23",
"softVersion": "2.24",
"deviceAddress": '',
"startTime": null,
"deviceModel": "",
"photoUrl": null
})
// const watchTime = watch(()=> timingForm.executeTime, (val) => {
// // console.log(val.toLocaleString())
// let date = new Date(val)
// let hours = date.getHours()
// let minutes = date.getMinutes()
// let seconds = date.getSeconds()
// console.log(`${hours}:${minutes}:${seconds}`)
// })
function handleAdd() {
open.value = true;
title.value = "新增设备";
};
function submitForm() {
open.value = false;
console.log(timingForm)
postNew1(timingForm).then((res)=>{
console.log(res)
ElMessage({type:"success",message:'新增成功!'})
handleQuery()
timingForm.isControl='',
timingForm.deviceSn='',
timingForm.deviceName='',
timingForm.deviceAddress='',
timingForm.deviceModel=''
})
};
function cancel() {
open.value = false;
timingForm.isControl='',
timingForm.deviceSn='',
timingForm.deviceName='',
timingForm.deviceAddress='',
timingForm.deviceModel=''
};
function handleXg(data) {
open1.value = true;
title1.value = "修改设备";
console.log(data)
timingForm1.isControl=data.isControl
timingForm1.deviceSn=data.deviceSn
timingForm1.deviceName=data.deviceName
timingForm1.deviceAddress=data.deviceAddress
timingForm1.deviceModel=data.deviceModel
timingForm1.deviceId = data.deviceId
// if(sceneContext==''){
// timingForm1.outtemp=sceneValue
// }else if (sceneContext==''){
// timingForm1.intemp=sceneValue
// }else{
// timingForm1.temp=sceneValue
// }
};
function submitForm1() {
open1.value = false;
if(timingForm1.isControl=='可控'){
timingForm1.isControl=2
}else if (timingForm1.isControl=='不可控'){
timingForm1.isControl=1
}
console.log(timingForm1)
postXg1({
"deviceId": timingForm1.deviceId,
"parentId": 1,
"userId": 1,
"deviceType": 3,
"deviceSn": timingForm1.deviceSn,
"deviceModel": timingForm1.deviceModel,
"deviceName": timingForm1.deviceName,
"deviceAddress": timingForm1.deviceAddress,
"isControl":timingForm1.isControl,
"photoUrl": null,
"createBy": null,
"createTime": null,
}).then((res)=>{
console.log(res)
ElMessage({type:"success",message:'修改成功!'})
handleQuery()
timingForm1.isControl=''
timingForm1.deviceSn=''
timingForm1.deviceName=''
timingForm1.deviceAddress=''
timingForm1.deviceModel=''
timingForm1.deviceId=''
})
};
function cancel1() {
open1.value = false;
timingForm1.isControl=''
timingForm1.deviceSn=''
timingForm1.deviceName=''
timingForm1.deviceAddress=''
timingForm1.deviceModel=''
timingForm1.deviceId=''
};
function handleDel(data) {
ElMessageBox.confirm("是否确认删除此设备?", "提示",{
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
console.log(data)
postDel1([data]).then((res) => {
console.log(res)
ElMessage({type:"success",message:'删除成功!'})
handleQuery()
});
})
}
const { queryParams } = toRefs(data);
</script>
<style scoped lang="scss">
.dev_control_table{
position: relative;
width: 100%;
min-height: 745px;
background-color: #2F3D8A;
}
::v-deep .el-button{
border-radius: 2px;
}
::v-deep .el-pagination{
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
}
::v-deep .el-pagination__total{
color: #f3ffff;
}
::v-deep .el-pagination__jump{
color: #f3ffff;
}
::v-deep .el-pager{
margin: 0 5px;
}
::v-deep .el-table .el-table__body-wrapper{
background-color: #2F3D8A;
}
::v-deep .el-form-item__content{
//display: flex;
}
</style>
Loading…
Cancel
Save