Commit 25bf70ae authored by lei's avatar lei

add:提升机系统

parent 8b1ba508
...@@ -36,10 +36,10 @@ export function stationStatus(query) { ...@@ -36,10 +36,10 @@ export function stationStatus(query) {
}); });
} }
//近30天报警分析 //30天井下人数变化趋势
export function recentThDaysAlarms(query) { export function recentThDaysAlarms(query) {
return request({ return request({
url: "/business/screen/per/recentThDaysAlarms", url: "/business/screen/per/30DaysTrend",
method: "get", method: "get",
params: query, params: query,
}); });
...@@ -80,3 +80,20 @@ export function eleAll(query) { ...@@ -80,3 +80,20 @@ export function eleAll(query) {
params: query, params: query,
}); });
} }
//rydw中段基站分析
export function rydwMidStation(query) {
return request({
url: "/business/screen/per/baseStationAnalysis",
method: "get",
params: query,
});
}
//当月人员下井次数排行
export function monthlyRankings(query) {
return request({
url: "/business/screen/per/monthlyRanking",
method: "get",
params: query,
});
}
\ No newline at end of file
This diff is collapsed.
...@@ -19,6 +19,14 @@ ...@@ -19,6 +19,14 @@
v-if="showMenu === 6" v-if="showMenu === 6"
style="position: absolute; top: 0; left: 0; right: 0; bottom: 0" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0"
></dlxt> ></dlxt>
<tfxt
v-if="showMenu === 5"
style="position: absolute; top: 0; left: 0; right: 0; bottom: 0"
></tfxt>
<tsj
v-if="showMenu === 4"
style="position: absolute; top: 0; left: 0; right: 0; bottom: 0"
></tsj>
<div class="container"> <div class="container">
<!-- 头部 --> <!-- 头部 -->
<div class="header por"></div> <div class="header por"></div>
...@@ -37,7 +45,7 @@ ...@@ -37,7 +45,7 @@
key="" key=""
:class="showMenu == 2 ? 'active' : ''" :class="showMenu == 2 ? 'active' : ''"
> >
<p>环境监测</p> <p>监测监控</p>
</div> </div>
<div <div
class="sub-item" class="sub-item"
...@@ -57,9 +65,27 @@ ...@@ -57,9 +65,27 @@
</div> </div>
</div> </div>
<div class="sub-header-right"> <div class="sub-header-right">
<div class="sub-item" :class="showMenu == 4 ? 'active' : ''" @click="changeMenu(4)"><p>提升机系统</p></div> <div
<div class="sub-item" :class="showMenu == 5 ? 'active' : ''" @click="changeMenu(5)"><p>风机系统</p></div> class="sub-item"
<div class="sub-item" :class="showMenu == 6 ? 'active' : ''" @click="changeMenu(6)"><p>电力系统</p></div> :class="showMenu == 4 ? 'active' : ''"
@click="changeMenu(4)"
>
<p>提升机系统</p>
</div>
<div
class="sub-item"
:class="showMenu == 5 ? 'active' : ''"
@click="changeMenu(5)"
>
<p>通风系统</p>
</div>
<div
class="sub-item"
:class="showMenu == 6 ? 'active' : ''"
@click="changeMenu(6)"
>
<p>电力系统</p>
</div>
</div> </div>
</div> </div>
...@@ -84,6 +110,8 @@ import hjjc from "./items/hjjc.vue"; ...@@ -84,6 +110,8 @@ import hjjc from "./items/hjjc.vue";
import psxt from "./items/psxt.vue"; import psxt from "./items/psxt.vue";
import home from "./items/home.vue"; import home from "./items/home.vue";
import dlxt from "./items/dlxt.vue"; import dlxt from "./items/dlxt.vue";
import tfxt from "./items/tfxt.vue";
import tsj from "./items/tsj.vue";
export default { export default {
name: "cockpit", name: "cockpit",
components: { components: {
...@@ -92,16 +120,18 @@ export default { ...@@ -92,16 +120,18 @@ export default {
hjjc, hjjc,
psxt, psxt,
dlxt, dlxt,
tfxt,
tsj,
}, },
data() { data() {
return { return {
previewUrl: process.env.VUE_APP_API_TARGET, previewUrl: process.env.VUE_APP_API_TARGET,
showMenu: 0, showMenu: 0,
videoData:null, videoData: null,
}; };
}, },
mounted() { mounted() {
this.getVideo() this.getVideo();
if (screenfull && screenfull.enabled && !screenfull.isFullscreen) { if (screenfull && screenfull.enabled && !screenfull.isFullscreen) {
screenfull.request(); screenfull.request();
} }
...@@ -109,19 +139,16 @@ export default { ...@@ -109,19 +139,16 @@ export default {
// this.alarm30(); // this.alarm30();
}, },
methods: { methods: {
getVideo(){ getVideo() {
this.videoData = null; this.videoData = null;
listVideo().then(res => { listVideo().then((res) => {
this.videoData = this.previewUrl + res.data; this.videoData = this.previewUrl + res.data;
});
})
}, },
changeMenu(val) { changeMenu(val) {
this.showMenu = val; this.showMenu = val;
}, },
sysAnalysis(){ sysAnalysis() {},
},
goToSys() { goToSys() {
var link = this.$router.resolve({ var link = this.$router.resolve({
path: "/", path: "/",
...@@ -129,7 +156,7 @@ export default { ...@@ -129,7 +156,7 @@ export default {
window.open(link.href); window.open(link.href);
return; return;
}, },
openVideo(){ openVideo() {
window.open(this.videoData); window.open(this.videoData);
return; return;
}, },
...@@ -182,7 +209,6 @@ export default { ...@@ -182,7 +209,6 @@ export default {
background: url("~@/assets/images/screen/tit.png") no-repeat center; background: url("~@/assets/images/screen/tit.png") no-repeat center;
background-size: 100%; background-size: 100%;
margin: 0 auto; margin: 0 auto;
} }
.sub-header { .sub-header {
display: flex; display: flex;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -32,10 +32,18 @@ ...@@ -32,10 +32,18 @@
<el-divider></el-divider> <el-divider></el-divider>
<!-- 液体高度设置 --> <!-- 液体高度设置 -->
<div class="section"> <div class="section">
<h3>设置液体高度 <el-link type="primary" :underline="false" @click="setDis">设置说明</el-link></h3> <h3>
设置液体高度
<el-link type="primary" :underline="false" @click="setDis"
>设置说明</el-link
>
</h3>
<!-- 每个水仓的设置 --> <!-- 每个水仓的设置 -->
<div v-for="(sump, index) in formData.draPeakSumpVos" :key="sump.sumpId"> <div
v-for="(sump, index) in formData.draPeakSumpVos"
:key="sump.sumpId"
>
<div class="sump-item"> <div class="sump-item">
<div class="sump-header"> <div class="sump-header">
<span>{{ sump.sumpName }}液位高度(m):</span> <span>{{ sump.sumpName }}液位高度(m):</span>
...@@ -44,19 +52,35 @@ ...@@ -44,19 +52,35 @@
<div class="threshold-inputs"> <div class="threshold-inputs">
<div class="threshold-item"> <div class="threshold-item">
<span>A点值</span> <span>A点值</span>
<el-input v-model="sump.heghtThresholdA" placeholder="请输入A点值" size="small"></el-input> <el-input
v-model="sump.heghtThresholdA"
placeholder="请输入A点值"
size="small"
></el-input>
</div> </div>
<div class="threshold-item"> <div class="threshold-item">
<span>B点值</span> <span>B点值</span>
<el-input v-model="sump.heghtThresholdB" placeholder="请输入B点值" size="small"></el-input> <el-input
v-model="sump.heghtThresholdB"
placeholder="请输入B点值"
size="small"
></el-input>
</div> </div>
<div class="threshold-item"> <div class="threshold-item">
<span>C点值</span> <span>C点值</span>
<el-input v-model="sump.heghtThresholdC" placeholder="请输入C点值" size="small"></el-input> <el-input
v-model="sump.heghtThresholdC"
placeholder="请输入C点值"
size="small"
></el-input>
</div> </div>
<div class="threshold-item"> <div class="threshold-item">
<span>D点值</span> <span>D点值</span>
<el-input v-model="sump.heghtThresholdD" placeholder="请输入D点值" size="small"></el-input> <el-input
v-model="sump.heghtThresholdD"
placeholder="请输入D点值"
size="small"
></el-input>
</div> </div>
</div> </div>
...@@ -77,7 +101,9 @@ ...@@ -77,7 +101,9 @@
</div> </div>
</div> </div>
<el-divider v-if="index < formData.draPeakSumpVos.length - 1"></el-divider> <el-divider
v-if="index < formData.draPeakSumpVos.length - 1"
></el-divider>
</div> </div>
</div> </div>
...@@ -99,7 +125,6 @@ ...@@ -99,7 +125,6 @@
<p>液压高度X<=D时,自动关闭水泵。</p> <p>液压高度X<=D时,自动关闭水泵。</p>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -108,18 +133,18 @@ ...@@ -108,18 +133,18 @@
import { peakGetDra, peakEditDra } from "@/api/tyler/sys"; import { peakGetDra, peakEditDra } from "@/api/tyler/sys";
export default { export default {
name: 'AutomationControl', name: "AutomationControl",
data() { data() {
return { return {
open: false, open: false,
formData: { formData: {
status: "1", // 默认开启 status: "1", // 默认开启
peakBeginTime: '', peakBeginTime: "",
peakEndTime: '', peakEndTime: "",
draPeakSumpVos: [] draPeakSumpVos: [],
}, },
timeRange: [], timeRange: [],
title:'液位高度设置说明:' title: "液位高度设置说明:",
}; };
}, },
created() { created() {
...@@ -127,13 +152,16 @@ export default { ...@@ -127,13 +152,16 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
peakGetDra().then(res => { peakGetDra().then((res) => {
const data = res.data; const data = res.data;
// 保存原始水泵顺序 // 保存原始水泵顺序
this.originalPumpOrder = new Map(); this.originalPumpOrder = new Map();
data.draPeakSumpVos.forEach((sump, sumpIndex) => { data.draPeakSumpVos.forEach((sump, sumpIndex) => {
this.originalPumpOrder.set(sumpIndex, sump.draPeakPumpVos.map(p => p.pumpId)); this.originalPumpOrder.set(
sumpIndex,
sump.draPeakPumpVos.map((p) => p.pumpId)
);
}); });
// 处理数据时保持原始顺序 // 处理数据时保持原始顺序
...@@ -142,19 +170,19 @@ export default { ...@@ -142,19 +170,19 @@ export default {
const originalOrder = this.originalPumpOrder.get(sumpIndex); const originalOrder = this.originalPumpOrder.get(sumpIndex);
// 按照原始顺序重新排列水泵 // 按照原始顺序重新排列水泵
originalOrder.forEach(pumpId => { originalOrder.forEach((pumpId) => {
const found = sump.draPeakPumpVos.find(p => p.pumpId === pumpId); const found = sump.draPeakPumpVos.find((p) => p.pumpId === pumpId);
if (found) { if (found) {
orderedPumps.push({ orderedPumps.push({
...found, ...found,
pumpStatus: parseInt(found.pumpStatus, 10) pumpStatus: parseInt(found.pumpStatus, 10),
}); });
} }
}); });
return { return {
...sump, ...sump,
draPeakPumpVos: orderedPumps draPeakPumpVos: orderedPumps,
}; };
}); });
...@@ -163,7 +191,7 @@ export default { ...@@ -163,7 +191,7 @@ export default {
}); });
}, },
handleStatusChange(value) { handleStatusChange(value) {
console.log('自动化控制状态已切换为:', value); console.log("自动化控制状态已切换为:", value);
}, },
handleTimeRangeChange(value) { handleTimeRangeChange(value) {
if (value && value.length === 2) { if (value && value.length === 2) {
...@@ -178,24 +206,24 @@ export default { ...@@ -178,24 +206,24 @@ export default {
// 深拷贝时保持数组顺序 // 深拷贝时保持数组顺序
const postData = { const postData = {
...this.formData, ...this.formData,
draPeakSumpVos: this.formData.draPeakSumpVos.map(sump => ({ draPeakSumpVos: this.formData.draPeakSumpVos.map((sump) => ({
...sump, ...sump,
draPeakPumpVos: sump.draPeakPumpVos.map(pump => ({ draPeakPumpVos: sump.draPeakPumpVos.map((pump) => ({
...pump, ...pump,
pumpStatus: pump.pumpStatus.toString() pumpStatus: pump.pumpStatus.toString(),
})) })),
})) })),
}; };
peakEditDra(postData).then(res => { peakEditDra(postData).then((res) => {
this.$message.success('设置保存成功'); this.$message.success("设置保存成功");
this.getList(); this.getList();
}); });
}, },
setDis(){ setDis() {
this.open = true; this.open = true;
}, },
} },
}; };
</script> </script>
...@@ -217,9 +245,9 @@ export default { ...@@ -217,9 +245,9 @@ export default {
.control-header { .control-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: start; justify-content: flex-start;
gap: 20px; gap: 20px;
span{ span {
font-weight: bold; font-weight: bold;
} }
} }
...@@ -268,20 +296,20 @@ export default { ...@@ -268,20 +296,20 @@ export default {
.button-group { .button-group {
display: flex; display: flex;
justify-content: start; justify-content: flex-start;
gap: 15px; gap: 15px;
margin-top: 20px; margin-top: 20px;
} }
.warter-lev{ .warter-lev {
display: flex; display: flex;
justify-content: center; justify-content: center;
.lev-pic{ .lev-pic {
width: 105px; width: 105px;
height: 343px; height: 343px;
background: url("~@/assets/images/sys/warterSysSet.png") no-repeat center; background: url("~@/assets/images/sys/warterSysSet.png") no-repeat center;
background-size: 100%; background-size: 100%;
} }
.lev-content{ .lev-content {
height: 343px; height: 343px;
display: flex; display: flex;
justify-content: center; justify-content: center;
......
...@@ -91,6 +91,14 @@ module.exports = { ...@@ -91,6 +91,14 @@ module.exports = {
symbolId: 'icon-[name]' symbolId: 'icon-[name]'
}) })
.end() .end()
config.module
.rule('highcharts')
.test(/node_modules[\\/]highcharts[\\/].*\.js$/)
.use('babel-loader')
.loader('babel-loader')
.options({
presets: ['@babel/preset-env']
});
config.when(process.env.NODE_ENV !== 'development', config => { config.when(process.env.NODE_ENV !== 'development', config => {
config config
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment