修改台账录入页面
This commit is contained in:
@@ -118,3 +118,11 @@ export function queryAllByType(params: any) {
|
||||
params
|
||||
})
|
||||
}
|
||||
//获取用户
|
||||
export function selectUserList(data: any) {
|
||||
return createAxios({
|
||||
url: '/supervision-boot/userReport/selectUserList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -72,16 +72,20 @@ const info = (id: any) => {
|
||||
} else {
|
||||
res.data.forEach((item: any) => {
|
||||
item.icon = 'el-icon-Menu'
|
||||
item.plevel = item.level
|
||||
item.level = (item.level + 1) * 100
|
||||
item.children.forEach((item2: any) => {
|
||||
item2.icon = 'el-icon-HomeFilled'
|
||||
item2.plevel = item2.level
|
||||
item2.level = (item2.level + 1) * 100
|
||||
expanded.value.push(item2.id)
|
||||
item2.children.forEach((item3: any) => {
|
||||
item3.icon = 'el-icon-CollectionTag'
|
||||
item3.plevel = item3.level
|
||||
item3.level = (item3.level + 1) * 100
|
||||
item3.children.forEach((item4: any) => {
|
||||
item4.icon = 'el-icon-Flag'
|
||||
item4.plevel = item4.level
|
||||
item4.level = (item4.level + 1) * 100
|
||||
item4.children.forEach((item5: any) => {
|
||||
item5.icon = 'el-icon-OfficeBuilding'
|
||||
@@ -89,12 +93,15 @@ const info = (id: any) => {
|
||||
item5.level = (item5.level == 7 ? 4 : item5.level) * 100
|
||||
item5.children.forEach((item6: any) => {
|
||||
item6.icon = 'el-icon-Film'
|
||||
item6.plevel = item6.level
|
||||
item6.level = (item6.level + 1) * 100
|
||||
item6.children.forEach((item7: any) => {
|
||||
item7.icon = 'el-icon-Share'
|
||||
item7.plevel = item7.level
|
||||
item7.level = (item7.level + 1) * 100
|
||||
item7.children.forEach((item8: any) => {
|
||||
item8.icon = 'el-icon-Location'
|
||||
item8.plevel = item8.level
|
||||
item8.level = (item8.level + 1) * 100
|
||||
})
|
||||
})
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
:rules="{ required: true, message: '请输入项目名称', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="AddProjectBO.projectParam.name"
|
||||
:disabled="
|
||||
nodeLevel > 100 && (pageStatus == 3 || pageStatus == 2)
|
||||
@@ -140,6 +141,7 @@
|
||||
:rules="[{ required: true, message: '请选择行政区域', trigger: 'change' }]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="AddProjectBO.provinceParam.name"
|
||||
placeholder="请选择行政区域"
|
||||
style="width: 100%"
|
||||
@@ -241,9 +243,9 @@
|
||||
:rules="{ required: true, message: '请输入变电站名称', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="AddProjectBO.subStationParam.name"
|
||||
placeholder="请选择变电站"
|
||||
filterable
|
||||
@change="subStationChange"
|
||||
:disabled="
|
||||
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
|
||||
@@ -318,6 +320,7 @@
|
||||
:rules="[{ required: true, message: '选中电压等级', trigger: 'change' }]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="AddProjectBO.subStationParam.scale"
|
||||
:disabled="
|
||||
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
|
||||
@@ -401,6 +404,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.comFlag"
|
||||
placeholder="请选择通讯状态"
|
||||
:disabled="true"
|
||||
@@ -422,6 +426,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.frontType"
|
||||
placeholder="请选择通讯类型"
|
||||
:popper-append-to-body="false"
|
||||
@@ -448,6 +453,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.devModel"
|
||||
placeholder="请选择终端模型"
|
||||
:disabled="
|
||||
@@ -473,6 +479,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.devDataType"
|
||||
placeholder="请选择数据模型"
|
||||
:disabled="
|
||||
@@ -496,6 +503,7 @@
|
||||
:rules="[{ required: true, message: '请选择厂家', trigger: 'change' }]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.manufacturer"
|
||||
placeholder="请选择厂家"
|
||||
:popper-append-to-body="false"
|
||||
@@ -522,6 +530,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.nodeId"
|
||||
placeholder="请选择所属前置机"
|
||||
:disabled="
|
||||
@@ -547,6 +556,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.callFlag"
|
||||
placeholder="请选择召唤标志"
|
||||
:disabled="
|
||||
@@ -604,6 +614,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.electroplate"
|
||||
placeholder="请选择电度功能"
|
||||
:disabled="
|
||||
@@ -689,6 +700,7 @@
|
||||
]"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="item.devType"
|
||||
placeholder="请选择终端型号"
|
||||
:disabled="
|
||||
@@ -842,6 +854,7 @@
|
||||
:rules="{ required: true, message: '请输入母线编号', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="busItem.num"
|
||||
placeholder="请选择母线编号"
|
||||
:disabled="
|
||||
@@ -871,6 +884,7 @@
|
||||
:rules="{ required: true, message: '请选择电压等级', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="busItem.scale"
|
||||
value-key="value"
|
||||
placeholder="请选择电压等级"
|
||||
@@ -902,6 +916,7 @@
|
||||
:rules="{ required: true, message: '请选择母线类型', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="busItem.model"
|
||||
placeholder="请选择母线类型"
|
||||
:disabled="
|
||||
@@ -1020,6 +1035,7 @@
|
||||
}"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.num"
|
||||
placeholder="请选择序号"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1047,6 +1063,7 @@
|
||||
:rules="{ required: true, message: '请选择接线类型', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.ptType"
|
||||
placeholder="请选择接线类型"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1078,6 +1095,7 @@
|
||||
}"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.powerFlag"
|
||||
placeholder="请选择测量点性质"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1096,16 +1114,17 @@
|
||||
v-if="lineItem.powerFlag == 1"
|
||||
>
|
||||
<el-select
|
||||
v-model="lineItem.newStationId"
|
||||
filterable
|
||||
v-model="lineItem.objId"
|
||||
placeholder="请选择用户名称"
|
||||
:disabled="pageStatus == 1"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="option in newStationIdArr"
|
||||
:key="option.name"
|
||||
:label="option.name"
|
||||
:value="option.value"
|
||||
:key="option.id"
|
||||
:label="option.projectName"
|
||||
:value="option.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -1192,6 +1211,7 @@
|
||||
:rules="{ required: true, message: '请选择测点间隔', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.timeInterval"
|
||||
placeholder="请选择测量点间隔"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1278,6 +1298,7 @@
|
||||
}"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.loadType"
|
||||
placeholder="请选择干扰源类型"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1300,17 +1321,19 @@
|
||||
[busBarIndex] +
|
||||
'.lineParam.' +
|
||||
lIndex +
|
||||
'.businessType'
|
||||
'.bigObjType'
|
||||
"
|
||||
:rules="{ required: true, message: '请选择用户大类', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
v-model="lineItem.businessType"
|
||||
filterable
|
||||
v-model="lineItem.bigObjType"
|
||||
placeholder="请选择用户大类"
|
||||
:disabled="pageStatus == 1"
|
||||
@change="lineItem.smallObjType = ''"
|
||||
>
|
||||
<el-option
|
||||
v-for="option in industryTypeArr"
|
||||
v-for="option in bigList"
|
||||
:key="option.id"
|
||||
:label="option.name"
|
||||
:value="option.id"
|
||||
@@ -1327,17 +1350,20 @@
|
||||
[busBarIndex] +
|
||||
'.lineParam.' +
|
||||
lIndex +
|
||||
'.businessType'
|
||||
'.smallObjType'
|
||||
"
|
||||
:rules="{ required: true, message: '请选择用户小类', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
v-model="lineItem.businessType"
|
||||
filterable
|
||||
v-model="lineItem.smallObjType"
|
||||
placeholder="请选择用户小类"
|
||||
:disabled="pageStatus == 1"
|
||||
>
|
||||
<el-option
|
||||
v-for="option in industryTypeArr"
|
||||
v-for="option in bigList.filter(
|
||||
item => item.id == lineItem.bigObjType
|
||||
)[0]?.children"
|
||||
:key="option.id"
|
||||
:label="option.name"
|
||||
:value="option.id"
|
||||
@@ -1359,6 +1385,7 @@
|
||||
:rules="{ required: true, message: '请选择行业类型', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
filterable
|
||||
v-model="lineItem.businessType"
|
||||
placeholder="请选择行业类型"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1491,7 +1518,7 @@
|
||||
"
|
||||
:rules="{ required: true, message: '请选择分类等级', trigger: 'blur' }"
|
||||
>
|
||||
<el-select
|
||||
<el-select filterable
|
||||
v-model="lineItem.calssificationGrade"
|
||||
placeholder="请选择分类等级"
|
||||
:disabled="pageStatus == 1"
|
||||
@@ -1611,7 +1638,8 @@ import {
|
||||
updateTerminal,
|
||||
addTerminal,
|
||||
selectDown,
|
||||
queryAllByType
|
||||
queryAllByType,
|
||||
selectUserList
|
||||
} from '@/api/device-boot/Business'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
@@ -1649,7 +1677,7 @@ const affiliatiedFrontArr: any = ref([])
|
||||
const comTypeStatusArr = dictData.getBasicData('Front_Type')
|
||||
const factoryArr = dictData.getBasicData('Dev_Manufacturers')
|
||||
const voltageLevelArr = dictData.getBasicData('Dev_Voltage_Stand')
|
||||
console.log('🚀 ~ voltageLevelArr:', voltageLevelArr)
|
||||
|
||||
const typeArr = dictData.getBasicData('Dev_Type')
|
||||
const industryTypeArr = dictData.getBasicData('Business_Type')
|
||||
const loadTypeArr = dictData.getBasicData('Interference_Source')
|
||||
@@ -1666,11 +1694,12 @@ const busBarType = ref([
|
||||
{ name: '实际母线', value: 0 },
|
||||
{ name: '虚拟母线', value: 1 }
|
||||
])
|
||||
const bigList: any = ref([])
|
||||
const smallList: any = ref([])
|
||||
const comStatusArr = ref([
|
||||
{ name: '中断', value: 0 },
|
||||
{ name: '正常', value: 1 }
|
||||
])
|
||||
|
||||
/**终端模型选项 */
|
||||
const terminalModelArr = ref([
|
||||
{ name: '实际终端', value: 1 },
|
||||
@@ -1743,6 +1772,10 @@ const busBarDetail = ref({
|
||||
})
|
||||
/**监测点详情 */
|
||||
const monitorPointDetail: any = ref({
|
||||
/**用户大类 */
|
||||
bigObjType: '',
|
||||
/**用户小类 */
|
||||
smallObjType: '',
|
||||
/**行业类型 */
|
||||
businessType: '',
|
||||
/**CT变比 */
|
||||
@@ -1755,7 +1788,7 @@ const monitorPointDetail: any = ref({
|
||||
devCapacity: '',
|
||||
/**短路容量 */
|
||||
shortCapacity: '',
|
||||
newStationId: '',
|
||||
objId: '',
|
||||
/**基准容量 */
|
||||
standardCapacity: '',
|
||||
/**监测点id */
|
||||
@@ -1849,7 +1882,7 @@ const deviceBODetail: any = ref({
|
||||
/**终端型号 */
|
||||
devType: '',
|
||||
/**ip */
|
||||
ip: '255.255.255.255',
|
||||
ip: '',
|
||||
/**通讯状态 */
|
||||
comFlag: 0,
|
||||
/**通讯类型 */
|
||||
@@ -2100,6 +2133,36 @@ const addProject = () => {
|
||||
nodeLevel.value = 100
|
||||
AddProjectBO.value.projectParam = { name: '', sort: 0 }
|
||||
}
|
||||
const category = () => {
|
||||
queryAllByType({ type: 0, pid: 0 }).then(res => {
|
||||
bigList.value = convertToTree(res.data)
|
||||
})
|
||||
}
|
||||
// 组装用户大小类
|
||||
const convertToTree = (data: any) => {
|
||||
const nodeMap: any = {}
|
||||
const roots: any = []
|
||||
|
||||
// 第一步:将所有节点存储到一个以id为键的映射中
|
||||
data.forEach(item => {
|
||||
nodeMap[item.id] = { ...item, children: [] }
|
||||
})
|
||||
|
||||
// 第二步:遍历数据,根据pid找到对应的父节点,并将当前节点添加到父节点的children数组中
|
||||
data.forEach(item => {
|
||||
const parentId = item.pid
|
||||
if (parentId === '0') {
|
||||
roots.push(nodeMap[item.id])
|
||||
} else {
|
||||
const parent = nodeMap[parentId]
|
||||
if (parent) {
|
||||
parent.children.push(nodeMap[item.id])
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return roots
|
||||
}
|
||||
// 修改
|
||||
const update = () => {
|
||||
if (Object.keys(nodeData.value).length == 0) {
|
||||
@@ -2127,6 +2190,11 @@ const update = () => {
|
||||
}
|
||||
|
||||
pageStatus.value = 3
|
||||
// 使用 scrollTo 方法,并启用平滑滚动
|
||||
scrollBox.scrollTo({
|
||||
top: scrollBox.scrollHeight, // 滚动到内容的最底部
|
||||
behavior: 'smooth' // 启用平滑滚动动画
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
const remove = () => {
|
||||
@@ -2424,7 +2492,7 @@ const queryNodeContent = () => {
|
||||
}
|
||||
let data = {
|
||||
id: nodeData.value.id,
|
||||
level: nodeData.value.plevel == 7 ? '700' : nodeLevel.value
|
||||
level: nodeData.value.plevel * 100
|
||||
}
|
||||
queryTerminal(data).then(res => {
|
||||
// console.log("内容详情", res);
|
||||
@@ -2940,7 +3008,7 @@ const area = () => {
|
||||
deviceBODetail.value.nextTimeCheck = year + 1 + '-' + month + '-' + (day - 1 > 10 ? day - 1 : '0' + (day - 1))
|
||||
}
|
||||
const setDown = () => {
|
||||
selectDown().then(res => {
|
||||
selectUserList({}).then(res => {
|
||||
newStationIdArr.value = res.data
|
||||
})
|
||||
}
|
||||
@@ -2957,6 +3025,7 @@ onMounted(() => {
|
||||
} else {
|
||||
setDown()
|
||||
}
|
||||
category()
|
||||
})
|
||||
area()
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user