Merge branch 'dev' into LJ

This commit is contained in:
liaojie
2023-12-17 13:58:12 +00:00
9 changed files with 150 additions and 60 deletions

View File

@@ -14,3 +14,10 @@ export const getLargeScreenInfo = () => {
method: 'get'
})
}
// 风压echarts数据
export const getEchartsInfo = (equipmentId) => {
return request({
url: `/tunnel/large/screen/echarts/wind/pressure/${equipmentId}`,
method: 'get'
})
}

View File

@@ -293,7 +293,9 @@ input[type="number"] {
}
#fan_info {
height: 795px;
min-height: 547px;
max-height: 795px;
height: 547px;
width: 830px;
position: absolute;
z-index: 100;
@@ -321,7 +323,7 @@ input[type="number"] {
height: calc(100% - 30px);
.fan-item {
height: 33.3%;
height: 50%;
display: flex;
font-size: 14px;

View File

@@ -125,10 +125,12 @@ const getBasicData = (data) => {
#transducer-list {
color: rgb(226, 26, 26);
position: absolute;
top: 1015px;
//top: 1015px;
top: 760px;
left: 70px;
width: 830px;
height: 928px;
//height: 928px;
height: 620px;
background-image: url(@/assets/images/transducer/bg.png);
padding: 0 30px;
box-sizing: border-box;

View File

@@ -187,7 +187,8 @@ const getImageUrl = (name) => {
height: 90px;
color: aliceblue;
position: absolute;
top: 1980px;
//top: 1980px;
top: 1420px;
left: 68px;
background-image: url(../../../assets/images/usedEle/bg.png);
padding: 21px 62px 35px 62px;

View File

@@ -2,7 +2,7 @@
<div id="wind-pressure">
<div class="name">风压</div>
<div class="list">
<wind-pressure-item v-for="(item,index) in wpList" :key="item.equipmentId" :wp="item" :index="index+1" @click="handleOpenChart(index+1)"/>
<wind-pressure-item v-for="(item,index) in wpList" :key="item.equipmentId" :wp="item" :index="index+1" @click="handleOpenChart(item,index+1)"/>
</div>
<div class="digital-tunnel">
<el-dialog v-model="isVisited" :title="windSort+'号风压监控数据'" width="2175px" :modal="false">
@@ -30,6 +30,7 @@
import WindPressureItem from "./childComps/WindPressureItem.vue";
import TimeRangeBtn from "@/components/timeRangeBtn/index.vue"
import * as echarts from 'echarts';
import {getEchartsInfo} from "../../../api/largeScreen";
const props = defineProps({
list: Array,
winData: Array
@@ -40,6 +41,7 @@ const selectTimeButton = ref(2);
const isVisited = ref(false);
let myEcharts = reactive({});
const wpList = ref([]);
const chartData=ref()
watch(() => props.list, (now) => {
wpList.value.forEach(item=>{
now.forEach(newItem=>{
@@ -53,14 +55,23 @@ watch(() => props.list, (now) => {
watch(() => props.winData, (now) => {
getScreenInfo(now.windPressureSensorList)
}, {deep: true});
const handleOpenChart = (index) => {
console.log('用电量弹窗')
isVisited.value = true
windSort.value=index
nextTick(() => {
initChart()
const getWindInfo=(equipmentId)=>{
getEchartsInfo(equipmentId).then(res=>{
console.log('res-wind',res)
if(res?.code===1000){
isVisited.value = true
nextTick(() => {
initChart(res.data.dates,res.data.values)
})
}
})
}
const handleOpenChart = (item,index) => {
getWindInfo(item.equipmentId)
windSort.value=index
}
const timeSelect = (index) => {
console.log('选择时间', index)
if(index===0){
@@ -89,7 +100,7 @@ const getScreenInfo = (now) => {
/**
* 初始化echarts实例方法
*/
const initChart = () => {
const initChart = (type,values) => {
//3.初始化container容器
myEcharts = echarts.init(document.getElementById('container'));
//5.传入数据
@@ -123,7 +134,8 @@ const initChart = () => {
//X轴
xAxis: {
type: 'category',
data: ['00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00','07:00', '08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00','19:00', '20:00', '21:00', '22:00', '23:00','24:00'],
// data: ['00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00','07:00', '08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00','19:00', '20:00', '21:00', '22:00', '23:00','24:00'],
data: type,
axisLabel: {
textStyle: {
fontSize: 45,
@@ -144,7 +156,8 @@ const initChart = () => {
//配置项
series: [
{
data: [56, 12, 89, 34, 71, 43, 67, 20, 98, 72, 19, 61, 3, 85, 47, 92, 17, 76, 69, 25, 31, 49, 81, 63],
// data: [56, 12, 89, 34, 71, 43, 67, 20, 98, 72, 19, 61, 3, 85, 47, 92, 17, 76, 69, 25, 31, 49, 81, 63],
data: values,
type: 'line',
smooth: true,
symbolSize: 24,

View File

@@ -84,10 +84,10 @@
</el-table>
</div>
<div class="btns">
<div class="cancel-btn" @click="isVisited=false">
<div class="cancel-btn">
取消
</div>
<div class="sure-btn">
<div class="sure-btn" @click="router.back(-1)">
确定
</div>
</div>
@@ -140,10 +140,10 @@
</el-table>
</div>
<div class="btns">
<div class="cancel-btn" @click="isVisited=false">
<div class="cancel-btn">
取消
</div>
<div class="sure-btn">
<div class="sure-btn" @click="router.back(-1)">
确定
</div>
</div>
@@ -203,7 +203,7 @@
<div class="cancel-btn" @click="isVisited=false">
取消
</div>
<div class="sure-btn" @click="handleSubmit(formInstance)">
<div class="sure-btn" @click="router.back(-1)">
确定
</div>
</div>

View File

@@ -10,7 +10,7 @@
<div class="all-btn" style=" margin-right: 40px;" v-if="!showAddIcon" @click="handleAdd">
添加
</div>
<div class="all-btn">
<div class="all-btn" @click="handleChooseAll">
全选
</div>
<div class="all-btn del-btn" @click="handleMoreDelete">
@@ -47,7 +47,7 @@
</div>
</div>
</div>
<div class="edit-btn" @click="handleEdit(item.siteId)">
<div class="edit-btn" @click="handleEdit(item)">
<div class="edit-icon"></div>
<div>站点编辑</div>
</div>
@@ -100,7 +100,35 @@ import {editSite, getSiteDetail, getSiteList, addSite, deleteSite} from "@/api/s
import {ElMessage, ElMessageBox} from "element-plus";
const router = useRouter()
const siteList = ref([])
const siteList = ref([
{
siteName: '松江站',
info:{
tunnelNum: 1,
tunnelName: '一号隧道',
constructionLength: 500,
implementationLength: 10
}
},
{
siteName: '松江站',
info:{
tunnelNum: 1,
tunnelName: '二号隧道',
constructionLength: 500,
implementationLength: 10
}
},
{
siteName: '松江站',
info:{
tunnelNum: 1,
tunnelName: '三号隧道',
constructionLength: 500,
implementationLength: 10
}
}
])
const siteIds = ref([])
const siteNameList = ref([])
const info = ref({
@@ -112,8 +140,8 @@ const info = ref({
const title = ref('新增站点')
const isClick = ref(false);
const isVisited = ref(false);
const total = ref();
const showAddIcon = ref(false)
const total = ref(10);
const showAddIcon = ref(true)
const pageInfo = reactive({
pageNum: 1,
pageSize: 6
@@ -141,7 +169,7 @@ const getList = () => {
}
item.checked = false
})
siteList.value = res.data.rows;
// siteList.value = res.data.rows;
});
}
getList()
@@ -163,7 +191,8 @@ const handleClickSite = (type) => {
}
}
const goToAddTunnel = (siteId) => {
router.push('/tunnel/' + siteId)
// router.push('/tunnel/' + siteId)
router.push('/tunnel/1')
}
//重置from表单
const restFrom = () => {
@@ -173,13 +202,14 @@ const restFrom = () => {
describe: ''
}
}
const handleEdit = (siteId) => {
const handleEdit = (item) => {
title.value = '编辑站点'
restFrom()
getSiteDetail(siteId).then((res) => {
form.value = res.data;
// getSiteDetail(item.siteId).then((res) => {
// form.value = res.data;
form.value = item;
isVisited.value = true
});
// });
}
const handleAdd = () => {
@@ -188,21 +218,24 @@ const handleAdd = () => {
isVisited.value = true
}
const handleSubmit = (instance) => {
if (!instance) return
instance.validate(async (valid) => {
if (!valid) return
if (title.value === '编辑站点') {
editSite(form.value).then(() => {
// if (!instance) return
// instance.validate(async (valid) => {
// if (!valid) return
// if (title.value === '编辑站点') {
// editSite(form.value).then(() => {
// isVisited.value = false
// getList()
// });
// } else {
// addSite(form.value).then(() => {
isVisited.value = false
getList()
});
} else {
addSite(form.value).then(() => {
isVisited.value = false
getList()
});
}
})
// getList()
// });
// }
// })
}
const handleChooseAll=()=>{
console.log('全选')
}
const handleMoreDelete = () => {
if (siteIds.value.length === 0) {
@@ -214,16 +247,16 @@ const handleMoreDelete = () => {
type: 'warning',
customClass: 'delBox'
}).then(() => {
deleteSite(siteIds.value).then(res => {
if (res.code === 1000) {
ElMessage.success(res.msg)
getList()
siteIds.value = []
siteNameList.value = []
} else {
ElMessage.error(res.msg)
}
})
// deleteSite(siteIds.value).then(res => {
// if (res.code === 1000) {
// ElMessage.success(res.msg)
// getList()
// siteIds.value = []
// siteNameList.value = []
// } else {
// ElMessage.error(res.msg)
// }
// })
})
}
}

View File

@@ -13,7 +13,7 @@
<div class="all-btn">
全选
</div>
<div class="all-btn del-btn">
<div class="all-btn del-btn" @click="handleMoreDelete">
删除
</div>
</div>
@@ -94,6 +94,8 @@
</template>
<script setup>
import {ElMessage, ElMessageBox} from "element-plus";
const router = useRouter()
const showAddIcon = ref(true)
const siteId = reactive(router.currentRoute.value.params.siteId)
@@ -235,8 +237,8 @@ const getImageUrl = (name) => {
}
const handleClickSite = (type) => {
if (type.checked) {
// tunnelIds.value.push(type.siteId)
// tunnelNameList.value.push(type.siteName)
tunnelIds.value.push(type.siteId)
tunnelNameList.value.push(type.siteName)
} else {
// tunnelIds.value.map((item, index) => {
// if (item === type.siteId) {
@@ -250,6 +252,30 @@ const handleClickSite = (type) => {
// })
}
}
const handleMoreDelete = () => {
if (tunnelIds.value.length === 0) {
ElMessage.warning('请先选择隧道进行删除')
} else {
ElMessageBox.confirm(`是否确定删除该隧道`, '系统提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
customClass: 'delBox'
}).then(() => {
// deleteSite(tunnelIds.value).then(res => {
// if (res.code === 1000) {
// ElMessage.success(res.msg)
// getList()
// tunnelIds.value = []
// tunnelNameList.value = []
// } else {
// ElMessage.error(res.msg)
// }
// })
})
}
}
</script>
<style scoped lang="scss">

View File

@@ -67,7 +67,7 @@ import { getToken } from "@/utils/auth";
import { useAuthStore } from "@/store/userstore.js";
import { getLargeScreen, getLargeScreenInfo } from "@/api/largeScreen";
import { ElMessageBox } from "element-plus";
import {getUserInfo} from "@/api/login";
const authStore = useAuthStore();
const router = useRouter();
const selectIndex = ref(-1);
@@ -75,7 +75,7 @@ const showFan = ref(false);
const drawerLeft = ref(true);
const drawerRight = ref(true);
const currentSite = ref("松江站");
const currentUser = ref("admin");
const currentUser = ref("");
const currentDate = ref(dateFormat());
const tunnelBtn = ref();
const tunnelList = ref([]);
@@ -97,10 +97,16 @@ onMounted(() => {
nextTick(() => {
showFan.value = true;
});
getUser()
getOtherInfo()
getScreenInfo();
});
const getUser=()=>{
getUserInfo().then(res=>{
currentUser.value=res.data.user.userName
})
}
const getOtherInfo = async () => {
await getLargeScreenInfo().then((res) => {
if (res?.code === 1000) {