fix : 优化隧道模拟首页

This commit is contained in:
dj
2024-12-30 22:31:37 +08:00
parent 890c8028ab
commit 8af7a35c69
6 changed files with 129 additions and 306 deletions

View File

@@ -1,13 +1,10 @@
<template>
<div class="tunnel-bgc">
<div class="box-top">
<div class="back-tunnel" @click="handleGoSiteOrIndex">
<div class="back-tunnel" @click="router.push('/')">
<div class="back-icon"></div>
<span>返回</span>
</div>
<!-- <div class="site-name">-->
<!-- {{ siteName }}-->
<!-- </div>-->
<tunnel-title/>
<div class="all-del-btn" v-if="showOperation">
<div class="all-btn" style=" margin-right: 40px;" v-if="showAddIcon" @click="handleAdd">
@@ -21,7 +18,7 @@
</div>
</div>
</div>
<div class="box-content" >
<div class="box-content">
<div class="site-box" v-for="item in tunnelList" :key="item.projectId">
<div class="top">
<span>{{ item.tunnelName }}</span>
@@ -33,10 +30,10 @@
<div>
<div class="left-img"></div>
<div style="display: flex;justify-content: space-around">
<!-- <div class="edit-btn" @click.stop="handleGoToEditTunnel(item.projectId)">-->
<!-- <div class="edit-icon"></div>-->
<!-- <div>编辑</div>-->
<!-- </div>-->
<div class="edit-btn" @click.stop="handleGoToEditTunnel(item.projectId)">
<div class="edit-icon"></div>
<div>编辑</div>
</div>
<div class="edit-btn" @click.stop="handleGoToSimulateTunnel(item.projectId)">
<div class="edit-icon"></div>
<div>去模拟</div>
@@ -48,7 +45,6 @@
<div v-for="equItem in iconsList" :key="item.icon" class="icon-text">
<div :style="{ backgroundImage: 'url(' +getImageUrl(equItem.icon)+')' }" class="icon"></div>
<span>{{ equItem.name }}0</span>
<!-- {{ item.tunnelEquipmentAmountInfo[equItem.type] }}-->
</div>
</div>
</div>
@@ -79,18 +75,6 @@
<el-form-item label="序列号" prop="serialNumber">
<el-input v-model="form.serialNumber" placeholder="请输入序列号"/>
</el-form-item>
<!-- <el-form-item label="风机初始频率" prop="fanInitialFrequency">-->
<!-- <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 label="是否默认">-->
<!-- <el-radio-group v-model="form.isDefault">-->
<!-- <el-radio :label="true"></el-radio>-->
<!-- <el-radio :label="false"></el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item label="隧道备注">
<el-input v-model="form.remarks" placeholder="请输入隧道备注"/>
</el-form-item>
@@ -117,24 +101,14 @@
<script setup>
import {ElLoading, ElMessage, ElMessageBox} from "element-plus";
import {
getTunnelList,
deleteSimulateTunnel,
addSimulateTunnel,
getSimulateTunnelList,
getTunnelDetail, getSimulateTunnelDetail
getSimulateTunnelDetail, editSimulateTunnel
} from "@/api/tunnelManage";
import {getSiteDrawing, getSiteDetail} from "@/api/site";
import TunnelTitle from "@/components/tunnelTitle/index.vue";
import {getTunnelBySiteId} from "@/api/largeScreen";
import {debounce} from 'lodash'
const serialNumberList = ref([
{
serialNumber: '',
serialNumberType: ''
}
])
const validateNumber = (rule, value) => {
const reg = /^[A-Za-z0-9]+$/;
return reg.test(value);
@@ -143,7 +117,6 @@ const validateSerialNumberPrefix = (rule, value) => {
return value.length > 13 && value.slice(0, -2) == form.value.serialNumberPrefix;
}
const router = useRouter()
const siteImage = ref()
const showAddIcon = ref(false)
const params = router.currentRoute.value.params;
const siteId = reactive(params.siteId)
@@ -211,27 +184,15 @@ const iconsList = ref([
},
])
const title = ref('新增模拟隧道')
const showNull = ref(false);
const isVisited = ref(false);
const projectIds = ref([])
const tunnelNameList = ref([])
const siteName = ref(localStorage.getItem('site'))
const form = ref({
tunnelName: '',
tunnelAlias: '',
serialNumberPrefix: '',
serialNumber: '',
// serialNumberOne: '',
totalLength: '',
referenceFrequency: '',
upTime: 0,
upFrequency: '',
dropTime: 0,
dropFrequency: 0,
remarks: '',
isDefault: false
});
const isEdit = ref(false)
const pageInfo = reactive({
pageNum: 1,
pageSize: 12
@@ -243,9 +204,6 @@ onMounted(() => {
const handleGoToSimulateTunnel = (projectId) => {
router.push('/simulate/' + projectId)
}
const handleGoSiteOrIndex = () => {
router.push('/')
}
const getList = () => {
const loading = ElLoading.service({
lock: true,
@@ -261,7 +219,6 @@ const getList = () => {
tunnelList.value = res.data.rows
showFirst.value = (total.value / pageInfo.pageSize) > 1;
showAddIcon.value = (total.value / pageInfo.pageSize) == 1;
// siteName.value = res.data.siteName
} else {
ElMessage.warning(res.msg)
}
@@ -283,26 +240,22 @@ const handleCurrentChange = (val) => {
getList()
}
const handleSubmit = debounce((instance) => {
if (serialNumberList.value?.length > 0 && !serialNumberList.value[0].serialNumber && !serialNumberList.value[0].serialNumberType) {
serialNumberList.value = []
}
if (!instance) return
instance.validate(async (valid) => {
if (!valid) return
const data = {
...form.value,
// tunnelGatewayDtoList: serialNumberList.value
let res = null
if (title.value === '新增模拟隧道') {
res = await addSimulateTunnel(form.value)
} else {
res = await editSimulateTunnel(form.value)
}
if (res.code === 1000) {
ElMessage.success(res.msg)
getList()
isVisited.value = false
} else {
ElMessage.warning(res.msg)
}
console.info("🚀 ~method:data -----", data)
addSimulateTunnel(data).then(res => {
if (res.code === 1000) {
ElMessage.success('新增模拟隧道成功')
getList()
isVisited.value = false
} else {
ElMessage.warning(res.msg)
}
})
})
}, 100)
@@ -326,16 +279,10 @@ const restFrom = () => {
tunnelAlias: '',
serialNumber: '',
totalLength: '',
referenceFrequency: '',
upTime: 0,
upFrequency: '',
dropTime: 0,
dropFrequency: '',
remarks: '',
isDefault: false
}
}
const getTunnel = async (projectId) => {
const getTunnelDetail = async (projectId) => {
const loading = ElLoading.service({
lock: true,
text: '正在加载系统资源...',
@@ -352,14 +299,8 @@ const getTunnel = async (projectId) => {
const handleGoToEditTunnel = (projectId) => {
restFrom()
title.value = '编辑模拟隧道'
getTunnel(projectId)
getTunnelDetail(projectId)
isVisited.value = true
serialNumberList.value = [
// {
// serialNumber: '',
// serialNumberType:''
// }
]
nextTick(() => {
// 清空校验
formInstance.value.clearValidate()
@@ -369,12 +310,6 @@ const handleAdd = () => {
restFrom()
title.value = '新增模拟隧道'
isVisited.value = true
serialNumberList.value = [
// {
// serialNumber: '',
// serialNumberType:''
// }
]
nextTick(() => {
// 清空校验
formInstance.value.clearValidate()
@@ -386,18 +321,13 @@ const getImageUrl = (name) => {
const handleClickSite = (type) => {
if (type.checked) {
projectIds.value.push(type.projectId)
tunnelNameList.value.push(type.tunnelName)
} else {
projectIds.value.map((item, index) => {
if (item === type.projectId) {
projectIds.value.splice(index, 1)
}
})
tunnelNameList.value.map((item, index) => {
if (item === type.tunnelName) {
tunnelNameList.value.splice(index, 1)
}
})
}
}
const handleMoreDelete = debounce(() => {
@@ -415,7 +345,6 @@ const handleMoreDelete = debounce(() => {
ElMessage.success(res.msg)
getList()
projectIds.value = []
tunnelNameList.value = []
} else {
ElMessage.error(res.msg)
}