修改测试BUG

This commit is contained in:
guanj
2026-06-18 16:35:16 +08:00
parent 13f11596e4
commit 8527939eb1
44 changed files with 1329 additions and 953 deletions

View File

@@ -1,5 +1,5 @@
<template>
<el-dialog class="cn-operate-dialog" draggable v-model.trim="dialogVisible" width="900px" :title="title" @close="emit('close')">
<el-dialog class="cn-operate-dialog" draggable v-model.trim="dialogVisible" width="800px" :title="title" @close="emit('close')">
<el-scrollbar>
<div style="padding-left: 50px">
<el-divider content-position="center">基础数据</el-divider>

View File

@@ -1,48 +1,50 @@
<template>
<el-dialog draggable class="cn-operate-dialog" width="540px" v-model.trim="dialogVisible" :title="title">
<el-form :inline="false" ref="formRef" :model="form" label-width="auto" class="form-one" :rules="rules">
<el-form-item label="项目名称" prop="name">
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入项目名称" />
</el-form-item>
<el-form-item label="所属工程" prop="engineeringId">
<el-select v-model="form.engineeringId" filterable placeholder="请选择工程" clearable>
<el-option
v-for="item in engineeringList"
:key="item.engineeringId"
:label="item.engineeringName"
:value="item.engineeringId"
/>
</el-select>
</el-form-item>
<el-form-item label="区域" prop="area">
<el-input maxlength="32" show-word-limit v-model="form.area" clearable placeholder="请输入区域" />
</el-form-item>
<el-form-item label="备注" prop="description">
<el-input maxlength="300" show-word-limit v-model="form.description" :rows="2" type="textarea" clearable placeholder="请输入备注" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input-number v-model.number="form.sort" style="width: 100%;" :min="0" />
</el-form-item>
<el-form-item label="拓扑图">
<div class="image-radio-group">
<div class="image-radio-item" v-for="item in images" :key="item.id" @click="handleSelect(item.id)">
<el-radio :label="item.id" v-model="form.topoIds" class="hidden-radio">
{{ item.name }}
</el-radio>
<div class="image-container" :class="{ selected: form.topoIds === item.id }">
<img :src="item.url" v-if="item.url" class="image-preview" />
<div v-else style="width: 120px; height: 90px; text-align: center; line-height: 90px">
暂无图片
</div>
<div class="image-overlay" v-if="form.topoIds === item.id">
<el-icon class="check-icon"><Check /></el-icon>
<div style="height: 300px;overflow-y: auto;">
<el-form :inline="false" ref="formRef" :model="form" label-width="auto" class="form-one" :rules="rules">
<el-form-item label="项目名称" prop="name">
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入项目名称" />
</el-form-item>
<el-form-item label="所属工程" prop="engineeringId">
<el-select v-model="form.engineeringId" filterable placeholder="请选择工程" clearable>
<el-option v-for="item in engineeringList" :key="item.engineeringId"
:label="item.engineeringName" :value="item.engineeringId" />
</el-select>
</el-form-item>
<el-form-item label="区域" prop="area">
<el-input maxlength="32" show-word-limit v-model="form.area" clearable placeholder="请输入区域" />
</el-form-item>
<el-form-item label="备注" prop="description">
<el-input maxlength="300" show-word-limit v-model="form.description" :rows="2" type="textarea"
clearable placeholder="请输入备注" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input-number v-model.number="form.sort" style="width: 100%;" :min="0" />
</el-form-item>
<el-form-item label="拓扑图">
<div class="image-radio-group">
<div class="image-radio-item" v-for="item in images" :key="item.id"
@click="handleSelect(item.id)">
<el-radio :label="item.id" v-model="form.topoIds" class="hidden-radio">
{{ item.name }}
</el-radio>
<div class="image-container" :class="{ selected: form.topoIds === item.id }">
<img :src="item.url" v-if="item.url" class="image-preview" />
<div v-else style="width: 110px; height: 70px; text-align: center; line-height: 70px">
暂无图片
</div>
<div class="image-overlay" v-if="form.topoIds === item.id">
<el-icon class="check-icon">
<Check />
</el-icon>
</div>
</div>
<div class="image-name">{{ item.name }}</div>
</div>
<div class="image-name">{{ item.name }}</div>
</div>
</div>
</el-form-item>
</el-form>
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
@@ -94,7 +96,7 @@ const props = {
// checkStrictly: true
}
const open = (text: string, List: any, data?: anyObj, id?: string) => {
getImageList().catch(() => {})
getImageList().catch(() => { })
formRef.value?.resetFields()
title.value = text
dialogVisible.value = true
@@ -189,8 +191,8 @@ defineExpose({ open })
}
.image-preview {
width: 120px;
height: 90px;
width: 110px;
height: 70px;
}
.image-overlay {
@@ -213,9 +215,12 @@ defineExpose({ open })
.image-name {
margin-top: 8px;
font-size: 14px;
width: 120px;
white-space: nowrap; /* 强制文字单行显示,不换行 */
overflow: hidden; /* 隐藏超出容器的文字 */
text-overflow: ellipsis; /* 超出部分显示省略号(点点点) */
width: 110px;
white-space: nowrap;
/* 强制文字单行显示,不换行 */
overflow: hidden;
/* 隐藏超出容器的文字 */
text-overflow: ellipsis;
/* 超出部分显示省略号(点点点) */
}
</style>

View File

@@ -1,5 +1,5 @@
<template>
<div v-loading="loading">
<div v-loading="loading">
<TableHeader>
<template v-slot:select>
<el-form-item label="关键字筛选">
@@ -90,8 +90,8 @@
</TableHeader>
<Table ref="tableRef" :checkbox-config="checkboxConfig" :key="tableKey" @sort-change="handleSortChange"></Table>
<FactoryForm ref="factoryFormRef" :engineering-list="engineeringList"
:dev-type-options="devTypeOptions" :dev-type-options2="devTypeOptions2" :dev-model-options="devModelOptions"
<FactoryForm ref="factoryFormRef" :engineering-list="engineeringList" :dev-type-options="devTypeOptions"
:dev-type-options2="devTypeOptions2" :dev-model-options="devModelOptions"
:dev-model-options2="devModelOptions2" @success="onFormSuccess" />
<div class="qrcode-label">
@@ -126,6 +126,7 @@ import {
resetFactory,
portableDeviceRegister,
portableDeviceAccess,
accessByUpdateMac
} from '@/api/cs-system-boot/device'
import html2canvas from 'html2canvas'
import { fullUrl } from '@/utils/common'
@@ -364,102 +365,7 @@ const tableStore = new TableStore({
width: 180,
render: 'buttons',
buttons: [
//直连设备注册
// {
// title: '注册',
// type: 'primary',
// icon: 'el-icon-Grid',
// render: 'basicButton',
// disabled: row => {
// return (
// (row.devType == '8b45cf6b7f5266e777d07c166ad5fa77' &&
// row.devModel == 'a0d4da4b5c17b2172362a3f5a27bf217') ||
// row.status == '1'
// )
// },
// click: row => {
// // 直连设备注册
// ElMessageBox.confirm('确定注册该设备吗?', '提示', {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// type: 'warning'
// })
// .then(() => {
// governDeviceRegister({
// nDid: row.ndid,
// type: '4'
// }).then(res => {
// ElMessage.success(res.message)
// tableStore.onTableAction('search', {})
// })
// })
// .catch(e => {})
// }
// },
// //便携式设备注册
// {
// title: '注册',
// type: 'primary',
// icon: 'el-icon-Grid',
// render: 'basicButton',
// disabled: row => {
// // return (
// // (row.devType != '8b45cf6b7f5266e777d07c166ad5fa77' &&
// // row.devModel != 'a0d4da4b5c17b2172362a3f5a27bf217') ||
// // row.status != '1'
// // )
// return true
// },
// click: row => {
// // 便携式设备注册
// ElMessageBox.confirm('确定注册该设备吗?', '提示', {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// type: 'warning'
// })
// .then(() => {
// portableDeviceRegister({
// nDid: row.ndid
// }).then(res => {
// ElMessage.success(res.message)
// tableStore.index()
// })
// })
// .catch(e => {})
// }
// },
//直连设备接入
// {
// title: '接入',
// type: 'primary',
// icon: 'el-icon-Grid',
// render: 'basicButton',
// disabled: row => {
// return (
// (row.devType == '8b45cf6b7f5266e777d07c166ad5fa77' &&
// row.devModel == 'a0d4da4b5c17b2172362a3f5a27bf217') ||
// row.status != '2'
// )
// },
// click: row => {
// // 直连设备接入
// ElMessageBox.confirm('确定接入该设备吗?', '提示', {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// type: 'warning'
// })
// .then(() => {
// governDeviceRegister({
// nDid: row.ndid,
// type: '4'
// }).then(res => {
// ElMessage.success(res.message)
// tableStore.onTableAction('search', {})
// })
// })
// .catch(e => {})
// }
// },
// 在线设备注册
{
title: '接入',
@@ -469,9 +375,9 @@ const tableStore = new TableStore({
loading: 'loading1',
disabled: row => {
return !(
row.devType == '123202e523be2b8defc8d0c2f118f232' &&
(row.devType == '123202e523be2b8defc8d0c2f118f232' || row.devType != '8b45cf6b7f5266e777d07c166ad5fa77') &&
row.associatedProject != null &&
row.status != 3
(row.status == 5 || row.isAccess == 0)
)
},
click: row => {
@@ -483,57 +389,90 @@ const tableStore = new TableStore({
}).then(() => {
row.loading1 = true
onlineRegister({
projectId: row.associatedProject,
nDid: row.ndid
})
.then(res => {
ElMessage.success(res.message)
row.loading1 = false
tableStore.index()
})
.catch(() => {
row.loading1 = false
if (row.status == 5) {
// 在线设备注册
if (row.devType == '123202e523be2b8defc8d0c2f118f232') {
onlineRegister({
projectId: row.associatedProject,
nDid: row.ndid
})
.then(res => {
ElMessage.success(res.message)
row.loading1 = false
tableStore.index()
})
.catch(() => {
row.loading1 = false
})
} else {
// //便携式设备手动接入
portableDeviceRegister({
nDid: row.ndid
})
.then(res => {
row.loading1 = false
ElMessage.success(res.message)
tableStore.index()
})
.catch(e => {
row.loading1 = false
})
}
} else {
accessByUpdateMac({
nDid: row.ndid
})
.then(res => {
row.loading1 = false
ElMessage.success(res.message)
tableStore.index()
})
.catch(e => {
row.loading1 = false
})
}
})
}
},
//便携式设备手动接入
{
title: '接入',
type: 'primary',
icon: 'el-icon-Grid',
render: 'basicButton',
loading: 'loading1',
disabled: row => {
return (
(row.devType != '8b45cf6b7f5266e777d07c166ad5fa77' &&
row.devModel != 'a0d4da4b5c17b2172362a3f5a27bf217') ||
row.status != '6'
)
},
click: row => {
// 便携式设备手动接入
ElMessageBox.confirm('确定接入该设备吗?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
row.loading1 = true
portableDeviceAccess({
nDid: row.ndid
}).then(res => {
ElMessage.success(res.message)
row.loading1 = false
tableStore.index()
})
})
.catch(e => {
row.loading1 = false
})
}
},
// {
// title: '接入',
// type: 'primary',
// icon: 'el-icon-Grid',
// render: 'basicButton',
// loading: 'loading1',
// disabled: row => {
// return (
// (row.devType != '8b45cf6b7f5266e777d07c166ad5fa77' &&
// row.devModel != 'a0d4da4b5c17b2172362a3f5a27bf217') ||
// row.status != '6'
// )
// },
// click: row => {
// // 便携式设备手动接入
// ElMessageBox.confirm('确定接入该设备吗?', '提示', {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// type: 'warning'
// })
// .then(() => {
// row.loading1 = true
// portableDeviceAccess({
// nDid: row.ndid
// }).then(res => {
// ElMessage.success(res.message)
// row.loading1 = false
// tableStore.index()
// })
// })
// .catch(e => {
// row.loading1 = false
// })
// }
// },
{
title: '接入',
type: 'primary',

View File

@@ -1,5 +1,5 @@
<template>
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" title="编辑拓扑图信息">
<el-dialog draggable class="cn-operate-dialog" v-model.trim="dialogVisible" title="编辑拓扑图信息" width="800px">
<el-form :label-width="140">
<el-form-item label="拓扑图:" style="height: auto !important" class="form-one">
<div class="gplot-content">