|
|
|
@ -18,14 +18,12 @@
|
|
|
|
<!-- 主体区域 -->
|
|
|
|
<!-- 主体区域 -->
|
|
|
|
<div class="control-content">
|
|
|
|
<div class="control-content">
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_title">
|
|
|
|
<div class="main_title">主控器设置</div>
|
|
|
|
主控器设置
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main_content">
|
|
|
|
<div class="main_content">
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">设备时间</div>
|
|
|
|
<div class="key">设备时间</div>
|
|
|
|
<el-date-picker value-format="YYYY-MM-DD HH:mm:ss" style="flex: 1;" v-model="deviceTime" type="datetime" placeholder="请选择时间" />
|
|
|
|
<el-date-picker value-format="YYYY-MM-DD HH:mm:ss" style="flex: 1" v-model="deviceTime" type="datetime" placeholder="请选择时间" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
@ -43,26 +41,34 @@
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">经纬开灯偏差</div>
|
|
|
|
<div class="key">经纬开灯偏差</div>
|
|
|
|
<!-- <el-input readonly v-model="formField.rise" style="width: 100px" placeholder="请输入" :formatter="(value) => `${value}分`" :parser="(value) => value.replace(/分/g, '')" /> -->
|
|
|
|
<div>
|
|
|
|
<el-select v-model="formField.rise" placeholder="请选择">
|
|
|
|
<el-input-number :controls="false" v-model="formField.rise" style="width: 100px" placeholder="请输入" />
|
|
|
|
|
|
|
|
<span style="color: #fff; margin-left: 8px">分</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- <el-select v-model="formField.rise" placeholder="请选择">
|
|
|
|
<el-option v-for="item in RiseSetOption" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
<el-option v-for="item in RiseSetOption" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
</el-select>
|
|
|
|
</el-select> -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">经纬关灯偏差</div>
|
|
|
|
<div class="key">经纬关灯偏差</div>
|
|
|
|
<!-- <el-input readonly v-model="formField.set" style="width: 100px" placeholder="请输入" :formatter="(value) => `${value}分`" :parser="(value) => value.replace(/分/g, '')" /> -->
|
|
|
|
<div>
|
|
|
|
<el-select v-model="formField.set" placeholder="请选择">
|
|
|
|
<el-input-number :controls="false" v-model="formField.set" style="width: 100px" placeholder="请输入" />
|
|
|
|
|
|
|
|
<span style="color: #fff; margin-left: 8px">分</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- <el-select v-model="formField.set" placeholder="请选择">
|
|
|
|
<el-option v-for="item in RiseSetOption" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
<el-option v-for="item in RiseSetOption" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
</el-select>
|
|
|
|
</el-select> -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- <div class="item"></div> -->
|
|
|
|
<!-- <div class="item"></div> -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">控制回路数</div>
|
|
|
|
<div class="key">控制回路数</div>
|
|
|
|
<div class="value" style="min-width: 100px;">{{ subLoopParameter.subLoopData?.length || 0 }}</div>
|
|
|
|
<div class="value" style="min-width: 100px">
|
|
|
|
|
|
|
|
{{ subLoopParameter.subLoopData?.length || 0 }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item"></div>
|
|
|
|
<div class="item"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -80,10 +86,8 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_title">
|
|
|
|
<div class="main_title">稳压分控器</div>
|
|
|
|
稳压分控器
|
|
|
|
<div class="main_content energy_meter subLoopParame" style="width: 235px">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main_content energy_meter subLoopParame" style="width:235px">
|
|
|
|
|
|
|
|
<div class="subLoopParameter_item" v-for="item in subLoopParameter.subLoopData">
|
|
|
|
<div class="subLoopParameter_item" v-for="item in subLoopParameter.subLoopData">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">回路地址</div>
|
|
|
|
<div class="key">回路地址</div>
|
|
|
|
@ -95,19 +99,21 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">调光幅度</div>
|
|
|
|
<div class="key">调光幅度</div>
|
|
|
|
<div class="value">{{ item.DimmingValue ? item.DimmingValue + '%' : item.DimmingValue }}</div>
|
|
|
|
<div class="value">
|
|
|
|
|
|
|
|
{{ item.DimmingValue ? item.DimmingValue + '%' : item.DimmingValue }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="buttonBox" v-if="item.Modules?.length">
|
|
|
|
<div class="buttonBox" v-if="item.Modules?.length">
|
|
|
|
<div class="button save" style="width: 100px;" @click="openDialog(item)">查看子模块</div>
|
|
|
|
<div class="button save" style="width: 100px" @click="openDialog(item)">
|
|
|
|
|
|
|
|
查看子模块
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="main_item">
|
|
|
|
|
|
|
|
<div class="main_title">
|
|
|
|
|
|
|
|
电能表
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="main_content energy_meter" style="width:235px">
|
|
|
|
<div class="main_item">
|
|
|
|
|
|
|
|
<div class="main_title">电能表</div>
|
|
|
|
|
|
|
|
<div class="main_content energy_meter" style="width: 235px">
|
|
|
|
<!-- <div class="line">
|
|
|
|
<!-- <div class="line">
|
|
|
|
<div class="item">
|
|
|
|
<div class="item">
|
|
|
|
<div class="key">主控器地址</div>
|
|
|
|
<div class="key">主控器地址</div>
|
|
|
|
@ -134,12 +140,8 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- 底部信息 -->
|
|
|
|
<!-- 底部信息 -->
|
|
|
|
<div class="bottom-info">
|
|
|
|
<div class="bottom-info">
|
|
|
|
<div style="color:#fff">
|
|
|
|
<div style="color: #fff">设备号:{{ commit_uid }}</div>
|
|
|
|
设备号:{{ commit_uid }}
|
|
|
|
<div style="color: #fff">设备名称:{{ device_name }}</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div style="color:#fff">
|
|
|
|
|
|
|
|
设备名称:{{ device_name }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bottom_item">
|
|
|
|
<div class="bottom_item">
|
|
|
|
<!-- <div class="time-item">
|
|
|
|
<!-- <div class="time-item">
|
|
|
|
<span>日出时间:{{ sunriseTime }}</span>
|
|
|
|
<span>日出时间:{{ sunriseTime }}</span>
|
|
|
|
@ -170,8 +172,8 @@
|
|
|
|
<script setup>
|
|
|
|
<script setup>
|
|
|
|
import { ref, onMounted, onUnmounted } from 'vue'
|
|
|
|
import { ref, onMounted, onUnmounted } from 'vue'
|
|
|
|
import { useRouter } from 'vue-router'
|
|
|
|
import { useRouter } from 'vue-router'
|
|
|
|
import RPC from '@/utils/rpc';
|
|
|
|
import RPC from '@/utils/rpc'
|
|
|
|
import TableDialog from './TableDialog.vue';
|
|
|
|
import TableDialog from './TableDialog.vue'
|
|
|
|
|
|
|
|
|
|
|
|
const router = useRouter()
|
|
|
|
const router = useRouter()
|
|
|
|
const currentTime = ref('')
|
|
|
|
const currentTime = ref('')
|
|
|
|
@ -198,19 +200,19 @@ const RiseSetOption = [
|
|
|
|
{ label: '延后60分钟', value: -60 },
|
|
|
|
{ label: '延后60分钟', value: -60 },
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
RPC.post('/m9z/getLgnLatData', { comm_uid: commit_uid }).then(res => {
|
|
|
|
RPC.post('/m9z/getLgnLatData', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
formField.value.lat = res.lat
|
|
|
|
formField.value.lat = res.lat
|
|
|
|
formField.value.lgn = res.lgn
|
|
|
|
formField.value.lgn = res.lgn
|
|
|
|
formField.value.loc = res.loc
|
|
|
|
formField.value.loc = res.loc
|
|
|
|
})
|
|
|
|
})
|
|
|
|
RPC.post('/m9z/getSunRiseSet', { comm_uid: commit_uid }).then(res => {
|
|
|
|
RPC.post('/m9z/getSunRiseSet', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
formField.value.rise = res.rise
|
|
|
|
formField.value.rise = res.rise
|
|
|
|
formField.value.set = res.set
|
|
|
|
formField.value.set = res.set
|
|
|
|
})
|
|
|
|
})
|
|
|
|
RPC.post('/m9z/getDeviceTime', { comm_uid: commit_uid }).then(res => {
|
|
|
|
RPC.post('/m9z/getDeviceTime', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
deviceTime.value = res.deviceTime
|
|
|
|
deviceTime.value = res.deviceTime
|
|
|
|
})
|
|
|
|
})
|
|
|
|
RPC.post('/m9z/getAllSubLoopParameter', { comm_uid: commit_uid }).then(res => {
|
|
|
|
RPC.post('/m9z/getAllSubLoopParameter', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
subLoopParameter.value = res
|
|
|
|
subLoopParameter.value = res
|
|
|
|
// subLoopParameter.value = {
|
|
|
|
// subLoopParameter.value = {
|
|
|
|
// "subLoopData": [
|
|
|
|
// "subLoopData": [
|
|
|
|
@ -506,12 +508,12 @@ RPC.post('/m9z/getAllSubLoopParameter', { comm_uid: commit_uid }).then(res => {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
const address = ref('')
|
|
|
|
const address = ref('')
|
|
|
|
RPC.post('/adl400/getMsgAddress', { comm_uid: commit_uid }).then(res => {
|
|
|
|
RPC.post('/adl400/getMsgAddress', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
address.value = res
|
|
|
|
address.value = res
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
const week = ref('')
|
|
|
|
const week = ref('')
|
|
|
|
const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
|
|
|
|
const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
|
|
|
|
// 更新时间
|
|
|
|
// 更新时间
|
|
|
|
const updateTime = () => {
|
|
|
|
const updateTime = () => {
|
|
|
|
const now = new Date()
|
|
|
|
const now = new Date()
|
|
|
|
@ -527,16 +529,12 @@ const updateTime = () => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const restartSystem = () => {
|
|
|
|
const restartSystem = () => {
|
|
|
|
ElMessageBox.confirm(
|
|
|
|
ElMessageBox.confirm(`此操作将远程重启,是否继续?`, '提示', {
|
|
|
|
`此操作将远程重启,是否继续?`,
|
|
|
|
|
|
|
|
'提示',
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
type: 'warning',
|
|
|
|
}
|
|
|
|
}).then(() => {
|
|
|
|
).then(() => {
|
|
|
|
RPC.post('/m9z/setRestart', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
RPC.post('/m9z/setRestart', { comm_uid: commit_uid }).then(res => {
|
|
|
|
|
|
|
|
ElMessage.success('远程重启成功')
|
|
|
|
ElMessage.success('远程重启成功')
|
|
|
|
getInfo()
|
|
|
|
getInfo()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
@ -544,24 +542,23 @@ const restartSystem = () => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const save = () => {
|
|
|
|
const save = () => {
|
|
|
|
ElMessageBox.confirm(
|
|
|
|
ElMessageBox.confirm(`此操作将保存配置,是否继续?`, '提示', {
|
|
|
|
`此操作将保存配置,是否继续?`,
|
|
|
|
|
|
|
|
'提示',
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
type: 'warning',
|
|
|
|
}
|
|
|
|
}).then(() => {
|
|
|
|
).then(() => {
|
|
|
|
|
|
|
|
const params = {
|
|
|
|
const params = {
|
|
|
|
"comm_uid": commit_uid,
|
|
|
|
comm_uid: commit_uid,
|
|
|
|
"lat": Number(formField.value.lat),
|
|
|
|
lat: Number(formField.value.lat),
|
|
|
|
"lgn": Number(formField.value.lgn),
|
|
|
|
lgn: Number(formField.value.lgn),
|
|
|
|
"loc_str": formField.value.loc,
|
|
|
|
loc_str: formField.value.loc,
|
|
|
|
"rise": Number(formField.value.rise),
|
|
|
|
rise: Number(formField.value.rise),
|
|
|
|
"set": Number(formField.value.set)
|
|
|
|
set: Number(formField.value.set),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Promise.all(RPC.post('/m9z/setDeviceLgnLatAndSunRsTime', params), RPC.post('/m9z/setDeviceTime', { "comm_uid": commit_uid, device_time: deviceTime.value })).then(res => {
|
|
|
|
Promise.all(
|
|
|
|
|
|
|
|
RPC.post('/m9z/setDeviceLgnLatAndSunRsTime', params),
|
|
|
|
|
|
|
|
RPC.post('/m9z/setDeviceTime', { comm_uid: commit_uid, device_time: deviceTime.value }),
|
|
|
|
|
|
|
|
).then((res) => {
|
|
|
|
ElMessage.success('操作成功')
|
|
|
|
ElMessage.success('操作成功')
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
@ -569,7 +566,7 @@ const save = () => {
|
|
|
|
const currentTableData = ref([])
|
|
|
|
const currentTableData = ref([])
|
|
|
|
const currentTitle = ref('')
|
|
|
|
const currentTitle = ref('')
|
|
|
|
const isShowDialog = ref(false)
|
|
|
|
const isShowDialog = ref(false)
|
|
|
|
const openDialog = item => {
|
|
|
|
const openDialog = (item) => {
|
|
|
|
isShowDialog.value = true
|
|
|
|
isShowDialog.value = true
|
|
|
|
currentTableData.value = item.Modules
|
|
|
|
currentTableData.value = item.Modules
|
|
|
|
currentTitle.value = item.LoopAddress
|
|
|
|
currentTitle.value = item.LoopAddress
|
|
|
|
@ -650,7 +647,7 @@ onUnmounted(() => {
|
|
|
|
box-sizing: border-box;
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
|
|
|
|
|
|
.main_item {
|
|
|
|
.main_item {
|
|
|
|
border: .5px solid #ddd;
|
|
|
|
border: 0.5px solid #ddd;
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
flex-direction: column;
|
|
|
|
height: 450px;
|
|
|
|
height: 450px;
|
|
|
|
@ -661,9 +658,9 @@ onUnmounted(() => {
|
|
|
|
align-items: center;
|
|
|
|
align-items: center;
|
|
|
|
height: 50px;
|
|
|
|
height: 50px;
|
|
|
|
font-size: 16px;
|
|
|
|
font-size: 16px;
|
|
|
|
background-color: #21232A;
|
|
|
|
background-color: #21232a;
|
|
|
|
color: #8088AA;
|
|
|
|
color: #8088aa;
|
|
|
|
border-bottom: .5px solid #ddd;
|
|
|
|
border-bottom: 0.5px solid #ddd;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.main_content {
|
|
|
|
.main_content {
|
|
|
|
@ -690,8 +687,8 @@ onUnmounted(() => {
|
|
|
|
|
|
|
|
|
|
|
|
.value {
|
|
|
|
.value {
|
|
|
|
text-align: center;
|
|
|
|
text-align: center;
|
|
|
|
background-color: #21232A;
|
|
|
|
background-color: #21232a;
|
|
|
|
color: #8088AA;
|
|
|
|
color: #8088aa;
|
|
|
|
padding: 5px 10px;
|
|
|
|
padding: 5px 10px;
|
|
|
|
min-height: 32px;
|
|
|
|
min-height: 32px;
|
|
|
|
box-sizing: border-box;
|
|
|
|
box-sizing: border-box;
|
|
|
|
@ -762,7 +759,6 @@ onUnmounted(() => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.bottom-info {
|
|
|
|
.bottom-info {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
justify-content: space-between;
|
|
|
|
@ -806,27 +802,26 @@ onUnmounted(() => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.el-input {
|
|
|
|
.el-input {
|
|
|
|
background-color: #21232A;
|
|
|
|
background-color: #21232a;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
:deep(.el-input__wrapper) {
|
|
|
|
:deep(.el-input__wrapper) {
|
|
|
|
background-color: #212329 !important;
|
|
|
|
background-color: #212329 !important;
|
|
|
|
box-shadow: none;
|
|
|
|
box-shadow: none;
|
|
|
|
border: 1px soild #3B3D45;
|
|
|
|
border: 1px soild #3b3d45;
|
|
|
|
|
|
|
|
|
|
|
|
input {
|
|
|
|
input {
|
|
|
|
color: #8088AA;
|
|
|
|
color: #8088aa;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
:deep(.el-select__wrapper) {
|
|
|
|
:deep(.el-select__wrapper) {
|
|
|
|
background-color: #212329 !important;
|
|
|
|
background-color: #212329 !important;
|
|
|
|
box-shadow: none;
|
|
|
|
box-shadow: none;
|
|
|
|
border: 1px soild #3B3D45;
|
|
|
|
border: 1px soild #3b3d45;
|
|
|
|
|
|
|
|
|
|
|
|
.el-select__placeholder {
|
|
|
|
.el-select__placeholder {
|
|
|
|
color: #8088AA;
|
|
|
|
color: #8088aa;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|