trp:上一次代码提交冲突解决
This commit is contained in:
@@ -71,20 +71,20 @@
|
|||||||
<div class="current" @click="handleOpenChart(item)">
|
<div class="current" @click="handleOpenChart(item)">
|
||||||
<fan-info-item :wp="transducerData[index]"/>
|
<fan-info-item :wp="transducerData[index]"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div class="line" v-if="index!=socketData.length-1"></div>
|
||||||
</div>
|
|
||||||
<div class="shunt-box">
|
|
||||||
<div class="shuntThreshold" v-for="(item,index) in shuntList">
|
|
||||||
<div class="fenliu-icon"></div>
|
|
||||||
{{ index + 1 }}号分流阀值
|
|
||||||
<span class="units"
|
|
||||||
><input
|
|
||||||
type="number"
|
|
||||||
min="0"
|
|
||||||
v-model="item.shuntThreshold"
|
|
||||||
/></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- <div class="shunt-box">-->
|
||||||
|
<!-- <div class="shuntThreshold" v-for="(item,index) in shuntList">-->
|
||||||
|
<!-- <div class="fenliu-icon"></div>-->
|
||||||
|
<!-- {{ index + 1 }}号分流阀值-->
|
||||||
|
<!-- <span class="units"-->
|
||||||
|
<!-- ><input-->
|
||||||
|
<!-- type="number"-->
|
||||||
|
<!-- min="0"-->
|
||||||
|
<!-- v-model="item.shuntThreshold"-->
|
||||||
|
<!-- /></span>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="digital-tunnel">
|
<div class="digital-tunnel">
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ function addEquipment() {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
#edit-dialog {
|
#edit-dialog {
|
||||||
// width: 540px;
|
// width: 540px;
|
||||||
width: 230px;
|
width: 240px;
|
||||||
// height: 120px;
|
// height: 120px;
|
||||||
// min-height: 683px;
|
// min-height: 683px;
|
||||||
background: rgba(7, 35, 72, 0.79);
|
background: rgba(7, 35, 72, 0.79);
|
||||||
@@ -219,7 +219,7 @@ function addEquipment() {
|
|||||||
margin: 20px 20px 0px 30px;
|
margin: 20px 20px 0px 30px;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
width: 388px;
|
width: 400px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-family: MicrosoftYaHei;
|
font-family: MicrosoftYaHei;
|
||||||
@@ -259,19 +259,21 @@ function addEquipment() {
|
|||||||
padding: 15px 15px 5px 15px;
|
padding: 15px 15px 5px 15px;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
p {
|
line-height: 35px;
|
||||||
width: 190px;
|
font-size: 18px;
|
||||||
|
font-family: MicrosoftYaHei;
|
||||||
|
p:nth-child(1) {
|
||||||
|
width: 80px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-family: MicrosoftYaHei;
|
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
p:nth-child(2) {
|
p:nth-child(2) {
|
||||||
color: #f7b500;
|
color: #f7b500;
|
||||||
|
height: 35px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
flex: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<div class="box-top">
|
<div class="box-top">
|
||||||
<manage-btn
|
<!-- <manage-btn v-model="selectIndex" @select="manageSelect" :list="routeList" v-if="showMenu&&isPreview" />-->
|
||||||
v-model="selectIndex"
|
|
||||||
@select="manageSelect"
|
|
||||||
:list="routeList"
|
|
||||||
v-if="showMenu && isPreview"
|
|
||||||
/>
|
|
||||||
<tunnel-title v-if="showTunnelTitle" />
|
<tunnel-title v-if="showTunnelTitle" />
|
||||||
<div class="top-length">
|
<div class="top-length">
|
||||||
<span>隧道总长度: {{ tunnelLength }}米</span>
|
<span>隧道总长度: {{ tunnelLength }}米</span>
|
||||||
<span class="all-btn" @click="startSimulate">开始模拟</span>
|
<span class="all-btn" @click="startSimulate" v-if="isStartSimulate"
|
||||||
|
>开始模拟</span
|
||||||
|
>
|
||||||
|
<div v-else>
|
||||||
|
<span class="all-btn" @click="simulatedBlasting">模拟爆破</span>
|
||||||
|
<span class="all-btn" @click="endSimulate">结束模拟</span>
|
||||||
|
</div>
|
||||||
<!-- <span class="all-btn" :style="{color:!isPreview?'#f7b500':'#0BE9FA'}" @click="changeTunnelSimulateMode(false)">编辑模式</span>-->
|
<!-- <span class="all-btn" :style="{color:!isPreview?'#f7b500':'#0BE9FA'}" @click="changeTunnelSimulateMode(false)">编辑模式</span>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="top-right" v-if="isPreview">
|
<div class="top-right" v-if="isPreview">
|
||||||
@@ -333,6 +334,7 @@ const showFanLoading = ref(0);
|
|||||||
const showUsedLoading = ref(0);
|
const showUsedLoading = ref(0);
|
||||||
const showWindLoading = ref(0);
|
const showWindLoading = ref(0);
|
||||||
const showBadLoading = ref(0);
|
const showBadLoading = ref(0);
|
||||||
|
const isStartSimulate = ref(true);
|
||||||
const drawerRight = ref(true);
|
const drawerRight = ref(true);
|
||||||
const showMenu = ref(false);
|
const showMenu = ref(false);
|
||||||
const currentSiteId = ref(0);
|
const currentSiteId = ref(0);
|
||||||
@@ -413,7 +415,12 @@ onMounted(() => {
|
|||||||
showFan.value = true;
|
showFan.value = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const startSimulate = () => {};
|
const startSimulate = () => {
|
||||||
|
isStartSimulate.value = false;
|
||||||
|
};
|
||||||
|
const endSimulate = () => {
|
||||||
|
isStartSimulate.value = true;
|
||||||
|
};
|
||||||
const changeName = (id) => {
|
const changeName = (id) => {
|
||||||
for (let item of equipmentOption.value) {
|
for (let item of equipmentOption.value) {
|
||||||
if (item.value === id) {
|
if (item.value === id) {
|
||||||
@@ -637,7 +644,9 @@ const getTunnel = (id) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const changeTunnel = (e) => {
|
const changeTunnel = (e) => {
|
||||||
socket.close();
|
if (socket) {
|
||||||
|
socket.close();
|
||||||
|
}
|
||||||
let newObj = {};
|
let newObj = {};
|
||||||
tunnelList.value.forEach((item, index) => {
|
tunnelList.value.forEach((item, index) => {
|
||||||
if (index === e) {
|
if (index === e) {
|
||||||
@@ -674,10 +683,14 @@ const manageSelect = (index) => {
|
|||||||
router.push("/user/" + localStorage.getItem("currentSiteId"));
|
router.push("/user/" + localStorage.getItem("currentSiteId"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
socket.close();
|
if (socket) {
|
||||||
|
socket.close();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const handleChangeSite = debounce((item) => {
|
const handleChangeSite = debounce((item) => {
|
||||||
socket.close();
|
if (socket) {
|
||||||
|
socket.close();
|
||||||
|
}
|
||||||
currentSite.value = item.label;
|
currentSite.value = item.label;
|
||||||
currentSiteId.value = item.value;
|
currentSiteId.value = item.value;
|
||||||
getTunnel(item.value);
|
getTunnel(item.value);
|
||||||
@@ -834,6 +847,7 @@ const initWebSocket = () => {
|
|||||||
color: #f7b500;
|
color: #f7b500;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#main {
|
#main {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -8,16 +8,6 @@
|
|||||||
<div class="site-name">
|
<div class="site-name">
|
||||||
{{ siteName }}
|
{{ siteName }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="model-change">-->
|
|
||||||
<!-- <div class="model" @click="clickModel=1;showNull=false">-->
|
|
||||||
<!-- <div class="card-bg"></div>-->
|
|
||||||
<!-- <span>卡片模式</span>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div class="model" @click="clickModel=2;getSiteImg()">-->
|
|
||||||
<!-- <div class="img-bg"></div>-->
|
|
||||||
<!-- <span>图纸导航</span>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<tunnel-title/>
|
<tunnel-title/>
|
||||||
<div class="all-del-btn" v-if="showOperation">
|
<div class="all-del-btn" v-if="showOperation">
|
||||||
<div class="all-btn" style=" margin-right: 40px;" v-if="showAddIcon" @click="handleAdd">
|
<div class="all-btn" style=" margin-right: 40px;" v-if="showAddIcon" @click="handleAdd">
|
||||||
@@ -31,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content" v-if="clickModel===1">
|
<div class="box-content" >
|
||||||
<div class="site-box" v-for="item in tunnelList" :key="item.tunnelId">
|
<div class="site-box" v-for="item in tunnelList" :key="item.tunnelId">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<span>{{ item.tunnelName }}</span>
|
<span>{{ item.tunnelName }}</span>
|
||||||
@@ -48,17 +38,9 @@
|
|||||||
<div class="edit-icon"></div>
|
<div class="edit-icon"></div>
|
||||||
<div>去模拟</div>
|
<div>去模拟</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="edit-btn" @click.stop="handleEditDevice(item.tunnelId)">-->
|
|
||||||
<!-- <div class="edit-icon-two"></div>-->
|
|
||||||
<!-- <div>设备管理</div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tunnel-right">
|
<div class="tunnel-right">
|
||||||
<div>
|
|
||||||
<!-- <div class="fan-icon"></div>-->
|
|
||||||
<!-- <span>风机异常</span>-->
|
|
||||||
</div>
|
|
||||||
<div class="icons-block">
|
<div class="icons-block">
|
||||||
<div v-for="equItem in iconsList" :key="item.icon" class="icon-text">
|
<div v-for="equItem in iconsList" :key="item.icon" class="icon-text">
|
||||||
<div :style="{ backgroundImage: 'url(' +getImageUrl(equItem.icon)+')' }" class="icon"></div>
|
<div :style="{ backgroundImage: 'url(' +getImageUrl(equItem.icon)+')' }" class="icon"></div>
|
||||||
@@ -68,26 +50,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--/* <div style="width: 925px; height: 0" v-for="n in 8" :key="n"></div>*/-->
|
|
||||||
<div class="site-box add-box" @click="handleAdd" v-if="showOperation">
|
<div class="site-box add-box" @click="handleAdd" v-if="showOperation">
|
||||||
<div class="add-icon"></div>
|
<div class="add-icon"></div>
|
||||||
<div style="cursor: pointer">添加隧道</div>
|
<div style="cursor: pointer">添加隧道</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
|
||||||
<div v-if="showNull" class="showNull">
|
|
||||||
暂无图纸~ 请前往站点管理上传图纸~
|
|
||||||
</div>
|
|
||||||
<div class="img-box" v-else>
|
|
||||||
<!-- @/assets/images/tunnel/img.png-->
|
|
||||||
<!-- <img :src="'data:image/png;base64,'+siteImage" style="width:3500px;height:1789px" id="imgModel" usemap="#image"-->
|
|
||||||
<!-- alt="" @click="clickHandler">-->
|
|
||||||
<map name="image" id="image">
|
|
||||||
<area shape="poly" v-for="(item,index) in coordsList" :coords="item.coords" :key="index" alt=""
|
|
||||||
:title="item.tunnelId+'隧道'" :href="'/' + item.tunnelId + '/' + siteId" @click="clickHot(item.tunnelId)">
|
|
||||||
</map>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-dialog :close-on-click-modal="false" v-model="isVisited" width="1958px">
|
<el-dialog :close-on-click-modal="false" v-model="isVisited" width="1958px">
|
||||||
<div class="siteId">
|
<div class="siteId">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
@@ -99,94 +66,18 @@
|
|||||||
<el-form-item label="隧道简称" prop="tunnelAlias">
|
<el-form-item label="隧道简称" prop="tunnelAlias">
|
||||||
<el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/>
|
<el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="序列号前缀" prop="serialNumberPrefix">
|
|
||||||
<el-input v-model="form.serialNumberPrefix" placeholder="请输入序列号前缀"/>
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="序列号1" prop="serialNumber">-->
|
|
||||||
<!-- <el-input v-model="form.serialNumber" placeholder="请输入序列号1"/>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<!-- <el-form-item label="序列号2" prop="serialNumberOne">-->
|
|
||||||
<!-- <el-input v-model="form.serialNumberOne" placeholder="请输入序列号2"/>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
|
|
||||||
<el-form-item label="PLC序列号" prop="serialNumber">
|
|
||||||
<el-input v-model="form.serialNumber" placeholder="请输入PLC序列号"/>
|
|
||||||
</el-form-item>
|
|
||||||
<div style="display: flex;flex-direction: column">
|
|
||||||
<div style="display:flex;align-items:center;justify-content:flex-end;font-size: 38px;color: #08B7B8;">
|
|
||||||
<span style="cursor: pointer;" @click="addSerialNumber">添加序列号</span>
|
|
||||||
<el-icon size="74" color="#08B7B8" style="margin-left: 20px;cursor: pointer;" @click="addSerialNumber">
|
|
||||||
<CirclePlus/>
|
|
||||||
</el-icon>
|
|
||||||
</div>
|
|
||||||
<div v-for="(item,index) in serialNumberList" :key="index">
|
|
||||||
<el-form-item label="序列号名称">
|
|
||||||
<div style="flex: 1;display: flex;">
|
|
||||||
<el-input v-model="item.serialNumberType" placeholder="请输入序列号名称"/>
|
|
||||||
<!-- <el-icon size="74" color="#08B7B8" style="margin-left: 20px;cursor: pointer" @click="addSerialNumber"-->
|
|
||||||
<!-- v-if="index===0">-->
|
|
||||||
<!-- <CirclePlus/>-->
|
|
||||||
<!-- </el-icon>-->
|
|
||||||
<el-icon size="74" color="#08B7B8" style="margin-left: 20px;cursor: pointer"
|
|
||||||
@click="delSerialNumber(index)">
|
|
||||||
<Remove/>
|
|
||||||
</el-icon>
|
|
||||||
</div>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item :label="item.serialNumberType+'序列号'" class="serialNumber-name-overflow-hidden">
|
|
||||||
<el-input v-model="item.serialNumber" :placeholder="'请输入'+item.serialNumberType+'序列号'"
|
|
||||||
style="margin-right: 94px"/>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- <div style="display: flex;flex-direction: column">-->
|
|
||||||
<!-- <div v-for="(item,index) in serialNumberList" :key="index" >-->
|
|
||||||
<!-- <el-form-item :label="'序列号'+(index+2)">-->
|
|
||||||
<!-- <div style="flex: 1;display: flex;">-->
|
|
||||||
<!-- <el-input v-model="item.serialNumber" :placeholder="'请输入序列号'+(index+2)" />-->
|
|
||||||
<!-- <el-icon size="74" color="#08B7B8" style="margin-left: 20px;cursor: pointer" @click="addSerialNumber" v-if="index===0">-->
|
|
||||||
<!-- <CirclePlus/>-->
|
|
||||||
<!-- </el-icon>-->
|
|
||||||
<!-- <el-icon v-else size="74" color="#08B7B8" style="margin-left: 20px;cursor: pointer" @click="delSerialNumber(index)" >-->
|
|
||||||
<!-- <Remove/>-->
|
|
||||||
<!-- </el-icon>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<el-form-item label="隧道长度" prop="totalLength">
|
<el-form-item label="隧道长度" prop="totalLength">
|
||||||
<el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/>
|
<el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="施工长度" prop="constructionLength">
|
<el-form-item label="施工长度" prop="constructionLength">
|
||||||
<el-input type="number" v-model="form.constructionLength" placeholder="请输入施工长度"/>
|
<el-input type="number" v-model="form.constructionLength" placeholder="请输入施工长度"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="基准频率" prop="referenceFrequency">
|
<el-form-item label="风机初始频率" prop="fanInitialFrequency">
|
||||||
<el-input type="number" v-model="form.referenceFrequency" placeholder="请输入基准频率"/>
|
<el-input type="number" v-model="form.fanInitialFrequency" placeholder="请输入风机初始频率"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="爆破量级" prop="burstLevel">
|
||||||
|
<el-input type="number" v-model="form.burstLevel" placeholder="请输入爆破量级"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div style="display: flex">
|
|
||||||
<el-form-item label="升频时间(分钟)" prop="upTime" label-width="300px">
|
|
||||||
<el-input-number v-model="form.upTime" :min="0" :max="60"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="升频率" prop="upFrequency">
|
|
||||||
<el-input type="number" v-model="form.upFrequency" placeholder="请输入升频率">
|
|
||||||
<template #suffix>
|
|
||||||
<span>Hz</span>
|
|
||||||
</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
<div style="display: flex">
|
|
||||||
<el-form-item label="降频时间(分钟)" prop="dropTime" label-width="300px">
|
|
||||||
<el-input-number v-model="form.dropTime" :min="0" :max="60"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="降频率" prop="dropFrequency">
|
|
||||||
<el-input type="number" v-model="form.dropFrequency" placeholder="请输入降频率">
|
|
||||||
<template #suffix>
|
|
||||||
<span>Hz</span>
|
|
||||||
</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
<el-form-item label="是否默认">
|
<el-form-item label="是否默认">
|
||||||
<el-radio-group v-model="form.isDefault">
|
<el-radio-group v-model="form.isDefault">
|
||||||
<el-radio :label="true">是</el-radio>
|
<el-radio :label="true">是</el-radio>
|
||||||
@@ -248,48 +139,13 @@ const type = reactive(params.type)
|
|||||||
const formRules = ref({
|
const formRules = ref({
|
||||||
tunnelName: [{required: true, message: '请输入隧道名称', trigger: ['blur', 'change']}],
|
tunnelName: [{required: true, message: '请输入隧道名称', trigger: ['blur', 'change']}],
|
||||||
tunnelAlias: [{required: true, message: '请输入隧道简称', trigger: ['blur', 'change']}],
|
tunnelAlias: [{required: true, message: '请输入隧道简称', trigger: ['blur', 'change']}],
|
||||||
serialNumberPrefix: [
|
|
||||||
{required: true, message: '请输入序列号前缀', trigger: ['blur', 'change']},
|
|
||||||
{validator: validateNumber, message: '请输入英文、数字、英文数字组合的序列号前缀', trigger: ['blur', 'change']},
|
|
||||||
{min: 14, max: 14, message: '隧道序列号前缀长度为14位', trigger: ['blur', 'change']},
|
|
||||||
],
|
|
||||||
serialNumber: [
|
|
||||||
{required: true, message: '请输入PLC序列号', trigger: ['blur', 'change']},
|
|
||||||
{validator: validateNumber, message: '请输入英文、数字、英文数字组合的PLC序列号', trigger: ['blur', 'change']},
|
|
||||||
{min: 16, max: 16, message: '隧道PLC序列号长度为16位', trigger: ['blur', 'change']},
|
|
||||||
{validator: validateSerialNumberPrefix, message: '同一隧道的序列号前缀需相同', trigger: ['blur', 'change']}
|
|
||||||
],
|
|
||||||
serialNumberOne: [
|
|
||||||
// {required: true, message: '请输入序列号2', trigger: ['blur', 'change']},
|
|
||||||
// {validator: validateNumber, message: '请输入英文、数字、英文数字组合的序列号2', trigger: ['blur', 'change']},
|
|
||||||
// { min:16,max:16,message: '隧道序列号2长度为16位',trigger: ['blur', 'change']},
|
|
||||||
// {validator: validateSerialNumberOnePrefix, message: '同一隧道的序列号前缀需相同', trigger: ['blur', 'change']}
|
|
||||||
],
|
|
||||||
totalLength: [{required: true, message: '请输入隧道长度', trigger: ['blur', 'change']}],
|
totalLength: [{required: true, message: '请输入隧道长度', trigger: ['blur', 'change']}],
|
||||||
constructionLength: [{required: true, message: '请输入施工长度', trigger: ['blur', 'change']}],
|
constructionLength: [{required: true, message: '请输入施工长度', trigger: ['blur', 'change']}],
|
||||||
referenceFrequency: [{required: true, message: '请输入基准频率', trigger: ['blur', 'change']}],
|
|
||||||
upTime: [{required: true, message: '请选择升频时间', trigger: ['blur', 'change']}],
|
|
||||||
upFrequency: [{required: true, message: '请输入升频率', trigger: ['blur', 'change']}],
|
|
||||||
dropTime: [{required: true, message: '请选择降频时间', trigger: ['blur', 'change']}],
|
|
||||||
dropFrequency: [{required: true, message: '请输入降频率', trigger: ['blur', 'change']}]
|
|
||||||
})
|
})
|
||||||
let clickModel = ref(1)
|
|
||||||
const showFirst = ref(false)
|
const showFirst = ref(false)
|
||||||
const showOperation = ref(true)
|
const showOperation = ref(true)
|
||||||
const formInstance = ref()
|
const formInstance = ref()
|
||||||
const tunnelList = ref([])
|
const tunnelList = ref([])
|
||||||
const coordsList = ref([
|
|
||||||
{
|
|
||||||
tunnelId: 1,
|
|
||||||
coords: '767,1117,793,1182,2379,682,2437,454,2349,505,2298,666,2221,531,2153,578,2212,692,765,1126',
|
|
||||||
}, {
|
|
||||||
tunnelId: 1,
|
|
||||||
coords: '863,1475,1135,1494,2321,1078,3023,801,3214,703,3288,752,2300,1154,1560,1438,1170,1554,844,1529',
|
|
||||||
}, {
|
|
||||||
tunnelId: 94,
|
|
||||||
coords: '1181,1364,2105,622,2005,589,1116,1324'
|
|
||||||
}
|
|
||||||
])
|
|
||||||
const iconsList = ref([
|
const iconsList = ref([
|
||||||
{
|
{
|
||||||
icon: 'sd_icon_fj.png',
|
icon: 'sd_icon_fj.png',
|
||||||
@@ -370,7 +226,7 @@ const total = ref(0);
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
showOperation.value = localStorage.getItem('roleKey') !== 'tunnel_admin';
|
showOperation.value = localStorage.getItem('roleKey') !== 'tunnel_admin';
|
||||||
})
|
})
|
||||||
const handleGoToSimulateTunnel=(tunnelId)=>{
|
const handleGoToSimulateTunnel = (tunnelId) => {
|
||||||
router.push('/simulate/' + tunnelId)
|
router.push('/simulate/' + tunnelId)
|
||||||
}
|
}
|
||||||
const addSerialNumber = () => {
|
const addSerialNumber = () => {
|
||||||
@@ -947,7 +803,7 @@ const handleMoreDelete = debounce(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.left-img {
|
.left-img {
|
||||||
cursor: pointer;
|
//cursor: pointer;
|
||||||
margin-top: 110px;
|
margin-top: 110px;
|
||||||
margin-right: 50px;
|
margin-right: 50px;
|
||||||
width: 340px;
|
width: 340px;
|
||||||
|
|||||||
@@ -125,15 +125,9 @@
|
|||||||
<div v-else class="shrink-right" @click="closeRight"></div>
|
<div v-else class="shrink-right" @click="closeRight"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="switch-btn">
|
<div class="switch-btn">
|
||||||
<div class="arrow" @click="previousBtn"></div>
|
<div class="arrow" @click="previousBtn"></div>{{initialIndex}}
|
||||||
<el-carousel
|
<el-carousel height="150px" type="card" ref="tunnelBtn" :autoplay="false" :initial-index="initialIndex"
|
||||||
height="150px"
|
@change="changeTunnel">
|
||||||
type="card"
|
|
||||||
ref="tunnelBtn"
|
|
||||||
:autoplay="false"
|
|
||||||
:initial-index="initialIndex"
|
|
||||||
@change="changeTunnel"
|
|
||||||
>
|
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<el-carousel-item v-for="item in tunnelList" :key="item.value">
|
<el-carousel-item v-for="item in tunnelList" :key="item.value">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
@@ -196,47 +190,16 @@
|
|||||||
<el-button @click="handleReset">重置</el-button>
|
<el-button @click="handleReset">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div
|
<div class="device-table" :style="{ marginTop: roleKey === 'administrator' ? '40px' : '0' }">
|
||||||
class="device-table"
|
<el-table stripe v-loading="loading" :empty-text="tableEmptyText"
|
||||||
:style="{ marginTop: roleKey === 'administrator' ? '40px' : '0' }"
|
style="background-color: #011c29;--el-table-border-color: none;"
|
||||||
>
|
:header-cell-style="{ backgroundColor: '#064B66', color: '#fff', fontSize: '40px', borderBottom: 'none' }"
|
||||||
<el-table
|
:data="alarmList">
|
||||||
stripe
|
<el-table-column prop="tunnelName" label="隧道名称" align="center" width="400px" />
|
||||||
v-loading="loading"
|
<el-table-column prop="alarmContent" label="告警信息" align="center" />
|
||||||
:empty-text="tableEmptyText"
|
<el-table-column prop="alarmTime" label="告警时间" align="center" width="480px" />
|
||||||
style="background-color: #011c29; --el-table-border-color: none"
|
<el-table-column prop="lookupStatus" label="查阅状态" align="center" width="200px"
|
||||||
:header-cell-style="{
|
v-if="roleKey !== 'administrator'">
|
||||||
backgroundColor: '#064B66',
|
|
||||||
color: '#fff',
|
|
||||||
fontSize: '40px',
|
|
||||||
borderBottom: 'none',
|
|
||||||
}"
|
|
||||||
:data="alarmList"
|
|
||||||
>
|
|
||||||
<el-table-column
|
|
||||||
prop="tunnelName"
|
|
||||||
label="隧道名称"
|
|
||||||
align="center"
|
|
||||||
width="400px"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="alarmContent"
|
|
||||||
label="告警信息"
|
|
||||||
align="center"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="alarmTime"
|
|
||||||
label="告警时间"
|
|
||||||
align="center"
|
|
||||||
width="480px"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="lookupStatus"
|
|
||||||
label="查阅状态"
|
|
||||||
align="center"
|
|
||||||
width="200px"
|
|
||||||
v-if="roleKey !== 'administrator'"
|
|
||||||
>
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.lookupStatus ? 'success' : 'warning'"
|
<el-tag :type="scope.row.lookupStatus ? 'success' : 'warning'"
|
||||||
>{{ scope.row.lookupStatus ? "已读" : "未读" }}
|
>{{ scope.row.lookupStatus ? "已读" : "未读" }}
|
||||||
@@ -633,8 +596,11 @@ const getTunnel = (id) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const changeTunnel = (e) => {
|
const changeTunnel = (e) => {
|
||||||
socket.close();
|
console.info("🚀 ~method:'socket' -----", socket)
|
||||||
let newObj = {};
|
if(socket){
|
||||||
|
socket.close()
|
||||||
|
}
|
||||||
|
let newObj = {}
|
||||||
tunnelList.value.forEach((item, index) => {
|
tunnelList.value.forEach((item, index) => {
|
||||||
if (index === e) {
|
if (index === e) {
|
||||||
newObj = item;
|
newObj = item;
|
||||||
@@ -670,14 +636,18 @@ const manageSelect = (index) => {
|
|||||||
router.push("/user/" + localStorage.getItem("currentSiteId"));
|
router.push("/user/" + localStorage.getItem("currentSiteId"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
socket.close();
|
if(socket){
|
||||||
|
socket.close()
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const handleChangeSite = debounce((item) => {
|
const handleChangeSite = debounce((item) => {
|
||||||
socket.close();
|
if(socket){
|
||||||
currentSite.value = item.label;
|
socket.close()
|
||||||
currentSiteId.value = item.value;
|
}
|
||||||
getTunnel(item.value);
|
currentSite.value = item.label
|
||||||
showFan.value = false;
|
currentSiteId.value = item.value
|
||||||
|
getTunnel(item.value)
|
||||||
|
showFan.value = false
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
showFan.value = true;
|
showFan.value = true;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user