联调程序升级

This commit is contained in:
guanj
2026-04-24 09:13:48 +08:00
parent c8a42948de
commit 7abcdb3a6b
19 changed files with 1004 additions and 1003 deletions

View File

@@ -13,13 +13,11 @@
<pane style="background: #fff">
<div class="device-manage-right">
<el-form :inline="true" class="demo-form-inline" style="height: 42px">
<el-form-item style="position: relative; z-index: 2">
<el-button
icon="el-icon-Plus"
type="primary"
@click="add"
v-if="!(nodeLevel == 3 && connectionMethod == 'MQTT') && nodeLevel != 4"
>
<el-form-item
style="position: relative; z-index: 2"
v-if="!((nodeLevel == 3 || nodeLevel == 4) && connectionMethod == 'MQTT')"
>
<el-button icon="el-icon-Plus" type="primary" @click="add" v-if="nodeLevel != 4">
{{
nodeLevel == 0
? '新增工程'
@@ -32,7 +30,12 @@
: '新增监测点'
}}
</el-button>
<el-button icon="el-icon-Edit" type="primary" @click="update" v-if="nodeLevel != 0">
<el-button
icon="el-icon-Edit"
type="primary"
@click="update"
v-if="!(nodeLevel == 4 && connectionMethod == 'MQTT') && nodeLevel != 0"
>
修改
</el-button>
<el-button icon="el-icon-Close" type="danger" @click="remove" v-if="nodeLevel != 0">
@@ -62,11 +65,11 @@
修改提交
</el-button>
</el-form-item>
<!-- <el-form-item style="position: relative; z-index: 2" v-else>
<el-form-item style="position: relative; z-index: 2" v-else>
<span style="font-size: 16px; font-weight: bold; color: var(--el-color-primary)">
治理设备/便携式设备不支持操作
</span>
</el-form-item> -->
</el-form-item>
<el-form-item style="right: 300px; position: absolute; overflow: hidden">
<LocationInformation
@@ -439,7 +442,7 @@
"
>
<el-option
v-for="option in devModelOptions.filter(
v-for="option in devModelOptions.filter(
item => item.pid == busItem.devType
)"
:key="option.id"
@@ -472,7 +475,7 @@
"
>
<el-option label="CLD" value="CLD"></el-option>
<el-option label="MQTT" value="MQTT"></el-option>
<!-- <el-option label="MQTT" value="MQTT"></el-option> -->
</el-select>
</el-form-item>
@@ -492,6 +495,35 @@
/>
</el-form-item>
<el-form-item
class="form-item"
v-if="busItem.devAccessMethod == 'CLD'"
label="icd模型:"
:prop="'deviceInfoList[' + bIndex + '].idc'"
>
<el-select
clearable
filterable
v-model="busItem.icd"
placeholder="请选择icd模型"
style="width: 100%"
:disabled="
!(
(nodeLevel == 3 && pageStatus == 3) ||
((nodeLevel == 2 || (nodeLevel == 1 && pageStatus == 2)) &&
pageStatus == 2)
)
"
>
<el-option
v-for="item in icdList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="合同号:"
@@ -598,6 +630,30 @@
<el-option label="停用" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="是否支持升级:"
v-if="busItem.devAccessMethod == 'CLD'"
:prop="'deviceInfoList[' + bIndex + '].upgrade'"
>
<el-select
clearable
filterable
v-model="busItem.upgrade"
placeholder="请选择是否支持升级"
style="width: 100%"
:disabled="
!(
(nodeLevel == 3 && pageStatus == 3) ||
((nodeLevel == 2 || (nodeLevel == 1 && pageStatus == 2)) &&
pageStatus == 2)
)
"
>
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item
label="接入:"
v-if="connectionMethod == 'MQTT' && busItem?.id"
@@ -1456,8 +1512,7 @@ import {
updateEquipment,
updateLine,
pushLog,
queryPushResult,
queryPushResult
} from '@/api/cs-device-boot/cloudDeviceEntry'
import { getTopoTemplate } from '@/api/cs-device-boot/topologyTemplate'
import { getFileUrl } from '@/api/system-boot/file'
@@ -1567,6 +1622,7 @@ const logList = ref([
label: 'ERROR'
}
])
const icdList = ref([])
//工程
// const engineeringParam = ref({
// city: '',
@@ -1597,6 +1653,8 @@ interface DeviceInfo {
sort: number
nodeProcess: string
usageStatus: number
icd: string
upgrade: number
}
// 设备信息列表
//const deviceInfoList = ref<DeviceInfo[]>([])
@@ -1993,7 +2051,9 @@ const add = () => {
cntractNo: '',
sort: 0,
nodeProcess: '',
usageStatus: 1
usageStatus: 1,
icd: '',
upgrade: 1
})
busBarIndex.value = (formData.value.deviceInfoList.length - 1).toString()
// 清理监测点数据
@@ -2146,6 +2206,8 @@ const updateEquipmentFunc = (id: any) => {
nodeId: currentDevice.nodeId,
cntractNo: currentDevice.cntractNo,
usageStatus: currentDevice.usageStatus,
icd: currentDevice.icd,
upgrade: currentDevice.upgrade,
ndid: currentDevice.mac.replace(/:/g, ''),
sort: currentDevice.sort
}
@@ -2382,7 +2444,9 @@ const next = async () => {
cntractNo: '',
sort: 0,
nodeProcess: '',
usageStatus: 1
usageStatus: 1,
icd: '',
upgrade: 1
})
busBarIndex.value = (formData.value.deviceInfoList.length - 1).toString()
nextfalg.value = false
@@ -2825,6 +2889,8 @@ const resetAllForms = () => {
device.nodeId = ''
device.cntractNo = ''
device.usageStatus = 1
device.icd = ''
device.upgrade = 1
device.sort = 0
})
@@ -2951,6 +3017,8 @@ const submitData = () => {
nodeId: currentDevice.nodeId,
cntractNo: currentDevice.cntractNo,
usageStatus: currentDevice.usageStatus,
icd: currentDevice.icd,
upgrade: currentDevice.upgrade,
ndid: currentDevice.mac.replace(/:/g, ''),
sort: currentDevice.sort
}
@@ -3145,7 +3213,9 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => {
cntractNo: '',
sort: 0,
nodeProcess: '',
usageStatus: 1
usageStatus: 1,
icd: '',
upgrade: 1
})
busBarIndex.value = (formData.value.deviceInfoList.length - 1).toString()
} else if (action === 'remove') {
@@ -3318,6 +3388,13 @@ const area = async () => {
.catch(error => {
console.error('获取前置机数据失败:', error)
})
// icd
queryByCode('Icd_Model').then(res => {
const id = res.data.id
queryByid(id).then(res => {
icdList.value = res.data
})
})
queryByCode('DEV_CLD')
.then(res => {
@@ -3385,6 +3462,7 @@ area()
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
@@ -3434,6 +3512,7 @@ area()
.splitpanes.default-theme .splitpanes__pane {
background: #fff !important;
}
.title {
width: 300px;
// overflow: hidden;
@@ -3441,17 +3520,24 @@ area()
white-space: nowrap;
font-weight: bold;
}
.titleScroll {
animation: scroll 7s linear infinite; /* 滚动动画 */
animation: scroll 7s linear infinite;
/* 滚动动画 */
}
@keyframes scroll {
0% {
transform: translateX(100%); /* 从右侧开始 */
transform: translateX(100%);
/* 从右侧开始 */
}
100% {
transform: translateX(-160%); /* 滚动到左侧 */
transform: translateX(-160%);
/* 滚动到左侧 */
}
}
.image-preview {
height: 50px;
margin-top: 5px;