diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 5c2472d..35f47cd 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -230,7 +230,7 @@
clickIndex.value = props.data.findIndex(item => item === row)
console.log('右击', clickIndex.value)
// 获取自定义菜单元素
- var menu = document.getElementById('custom-menu')
+ var menu = document.getElementById('custom-menu') as HTMLElement
// 设置自定义菜单的位置并显示
let positionX = event.pageX
let positionY = event.pageY
@@ -247,7 +247,9 @@
// 点击其他位置隐藏自定义菜单
document.addEventListener('click', () => {
if (!props.needContextmenu) { return }
- document.getElementById('custom-menu').style.display = 'none'
+ if (document.getElementById('custom-menu')) {
+ (document.getElementById('custom-menu') as HTMLElement).style.display = 'none'
+ }
})
// 添加行
const costomAddRow = (type: string) => {
@@ -291,6 +293,20 @@
})
table.value!.clearSelection()
}
+ else if (type === 'del-current') {
+ props.data.splice(clickIndex.value, 1)
+ }
+ else if (type === 'del-select') {
+ if (!multiSelectData.value.length) {
+ ElMessage.warning('未选择数据')
+ return
+ }
+ multiSelectData.value.forEach((item, index) => {
+ const dataIndex = props.data.findIndex(citem => item === citem)
+ props.data.splice(dataIndex, 1)
+ })
+ table.value!.clearSelection()
+ }
clickIndex.value = -1
}
@@ -322,23 +338,15 @@
>
{{ scope.row[column.value] }}
{{ column.filter(scope.row) }}
-
-
-
-
-
- {{ item }}
-
+
+
@@ -386,6 +394,12 @@
+
+
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 5c2472d..35f47cd 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -230,7 +230,7 @@
clickIndex.value = props.data.findIndex(item => item === row)
console.log('右击', clickIndex.value)
// 获取自定义菜单元素
- var menu = document.getElementById('custom-menu')
+ var menu = document.getElementById('custom-menu') as HTMLElement
// 设置自定义菜单的位置并显示
let positionX = event.pageX
let positionY = event.pageY
@@ -247,7 +247,9 @@
// 点击其他位置隐藏自定义菜单
document.addEventListener('click', () => {
if (!props.needContextmenu) { return }
- document.getElementById('custom-menu').style.display = 'none'
+ if (document.getElementById('custom-menu')) {
+ (document.getElementById('custom-menu') as HTMLElement).style.display = 'none'
+ }
})
// 添加行
const costomAddRow = (type: string) => {
@@ -291,6 +293,20 @@
})
table.value!.clearSelection()
}
+ else if (type === 'del-current') {
+ props.data.splice(clickIndex.value, 1)
+ }
+ else if (type === 'del-select') {
+ if (!multiSelectData.value.length) {
+ ElMessage.warning('未选择数据')
+ return
+ }
+ multiSelectData.value.forEach((item, index) => {
+ const dataIndex = props.data.findIndex(citem => item === citem)
+ props.data.splice(dataIndex, 1)
+ })
+ table.value!.clearSelection()
+ }
clickIndex.value = -1
}
@@ -322,23 +338,15 @@
>
{{ scope.row[column.value] }}
{{ column.filter(scope.row) }}
-
-
-
-
-
- {{ item }}
-
+
+
@@ -386,6 +394,12 @@
+
+
diff --git a/src/components/TableContainer/configColumnsDialog.vue b/src/components/TableContainer/configColumnsDialog.vue
index d0a8430..2b9a6fc 100644
--- a/src/components/TableContainer/configColumnsDialog.vue
+++ b/src/components/TableContainer/configColumnsDialog.vue
@@ -18,6 +18,7 @@
checkList.value = data.map((item: any) => item.text)
}
else {
+ // checkList.value = data.columns.filter((item: any) => item.isRequired).map((item: any) => item.text)
checkList.value = data.columns.map((item: any) => item.text)
}
dialogFormVisible.value = true
@@ -47,6 +48,7 @@
+
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 5c2472d..35f47cd 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -230,7 +230,7 @@
clickIndex.value = props.data.findIndex(item => item === row)
console.log('右击', clickIndex.value)
// 获取自定义菜单元素
- var menu = document.getElementById('custom-menu')
+ var menu = document.getElementById('custom-menu') as HTMLElement
// 设置自定义菜单的位置并显示
let positionX = event.pageX
let positionY = event.pageY
@@ -247,7 +247,9 @@
// 点击其他位置隐藏自定义菜单
document.addEventListener('click', () => {
if (!props.needContextmenu) { return }
- document.getElementById('custom-menu').style.display = 'none'
+ if (document.getElementById('custom-menu')) {
+ (document.getElementById('custom-menu') as HTMLElement).style.display = 'none'
+ }
})
// 添加行
const costomAddRow = (type: string) => {
@@ -291,6 +293,20 @@
})
table.value!.clearSelection()
}
+ else if (type === 'del-current') {
+ props.data.splice(clickIndex.value, 1)
+ }
+ else if (type === 'del-select') {
+ if (!multiSelectData.value.length) {
+ ElMessage.warning('未选择数据')
+ return
+ }
+ multiSelectData.value.forEach((item, index) => {
+ const dataIndex = props.data.findIndex(citem => item === citem)
+ props.data.splice(dataIndex, 1)
+ })
+ table.value!.clearSelection()
+ }
clickIndex.value = -1
}
@@ -322,23 +338,15 @@
>
{{ scope.row[column.value] }}
{{ column.filter(scope.row) }}
-
-
-
-
-
- {{ item }}
-
+
+
@@ -386,6 +394,12 @@
+
+
diff --git a/src/components/TableContainer/configColumnsDialog.vue b/src/components/TableContainer/configColumnsDialog.vue
index d0a8430..2b9a6fc 100644
--- a/src/components/TableContainer/configColumnsDialog.vue
+++ b/src/components/TableContainer/configColumnsDialog.vue
@@ -18,6 +18,7 @@
checkList.value = data.map((item: any) => item.text)
}
else {
+ // checkList.value = data.columns.filter((item: any) => item.isRequired).map((item: any) => item.text)
checkList.value = data.columns.map((item: any) => item.text)
}
dialogFormVisible.value = true
@@ -47,6 +48,7 @@
+
diff --git a/src/components/TableContainer/index.vue b/src/components/TableContainer/index.vue
index 87b1567..c468022 100644
--- a/src/components/TableContainer/index.vue
+++ b/src/components/TableContainer/index.vue
@@ -63,6 +63,7 @@
}
else {
console.log('无存储', props.configTitle, props.columns)
+ // props.edit(props.columns.filter((item: any) => item.isRequired))
props.edit(props.columns)
}
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 5c2472d..35f47cd 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -230,7 +230,7 @@
clickIndex.value = props.data.findIndex(item => item === row)
console.log('右击', clickIndex.value)
// 获取自定义菜单元素
- var menu = document.getElementById('custom-menu')
+ var menu = document.getElementById('custom-menu') as HTMLElement
// 设置自定义菜单的位置并显示
let positionX = event.pageX
let positionY = event.pageY
@@ -247,7 +247,9 @@
// 点击其他位置隐藏自定义菜单
document.addEventListener('click', () => {
if (!props.needContextmenu) { return }
- document.getElementById('custom-menu').style.display = 'none'
+ if (document.getElementById('custom-menu')) {
+ (document.getElementById('custom-menu') as HTMLElement).style.display = 'none'
+ }
})
// 添加行
const costomAddRow = (type: string) => {
@@ -291,6 +293,20 @@
})
table.value!.clearSelection()
}
+ else if (type === 'del-current') {
+ props.data.splice(clickIndex.value, 1)
+ }
+ else if (type === 'del-select') {
+ if (!multiSelectData.value.length) {
+ ElMessage.warning('未选择数据')
+ return
+ }
+ multiSelectData.value.forEach((item, index) => {
+ const dataIndex = props.data.findIndex(citem => item === citem)
+ props.data.splice(dataIndex, 1)
+ })
+ table.value!.clearSelection()
+ }
clickIndex.value = -1
}
@@ -322,23 +338,15 @@
>
{{ scope.row[column.value] }}
{{ column.filter(scope.row) }}
-
-
-
-
-
- {{ item }}
-
+
+
@@ -386,6 +394,12 @@
+
+
diff --git a/src/components/TableContainer/configColumnsDialog.vue b/src/components/TableContainer/configColumnsDialog.vue
index d0a8430..2b9a6fc 100644
--- a/src/components/TableContainer/configColumnsDialog.vue
+++ b/src/components/TableContainer/configColumnsDialog.vue
@@ -18,6 +18,7 @@
checkList.value = data.map((item: any) => item.text)
}
else {
+ // checkList.value = data.columns.filter((item: any) => item.isRequired).map((item: any) => item.text)
checkList.value = data.columns.map((item: any) => item.text)
}
dialogFormVisible.value = true
@@ -47,6 +48,7 @@
+
diff --git a/src/components/TableContainer/index.vue b/src/components/TableContainer/index.vue
index 87b1567..c468022 100644
--- a/src/components/TableContainer/index.vue
+++ b/src/components/TableContainer/index.vue
@@ -63,6 +63,7 @@
}
else {
console.log('无存储', props.configTitle, props.columns)
+ // props.edit(props.columns.filter((item: any) => item.isRequired))
props.edit(props.columns)
}
diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue
index 485b182..3b198cf 100644
--- a/src/views/home/device/device/index.vue
+++ b/src/views/home/device/device/index.vue
@@ -14,19 +14,19 @@
const total = ref(0)
// 初始展示列
const columns = ref([
- { text: '状态', value: 'onlineState', align: 'center', isCustom: true },
- { text: '设备编号', value: 'devcode', align: 'center' },
- { text: '设备类型', value: 'deviceTypeName', align: 'center' },
+ { text: '状态', value: 'onlineState', align: 'center', isCustom: true, width: '70' },
+ { text: '设备编号', value: 'devcode', align: 'center', isRequired: true },
+ { text: '设备类型', value: 'deviceTypeName', align: 'center', isRequired: true },
{ text: '监测对象', value: 'watchObjectName', align: 'center' },
{ text: '设备型号', value: 'isUsedName', align: 'center' },
- { text: '厂商', value: 'isUsedName', align: 'center' },
- { text: '安装位号', value: 'isUsedName', align: 'center' },
- { text: '详细位置', value: 'isUsedName', align: 'center' },
- { text: '管理单位', value: 'isUsedName', align: 'center' },
- { text: '在用情况', value: 'isUsedName', align: 'center' },
- { text: '电量', value: 'isUsedName', align: 'center' },
- { text: '最新上报时间', value: 'isUsedName', align: 'center' },
- { text: '安装日期', value: 'isUsedName', align: 'center' },
+ { text: '厂商', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '安装位号', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '详细位置', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '管理单位', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '在用情况', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '电量', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '最新上报时间', value: 'isUsedName', align: 'center', isRequired: true },
+ { text: '安装日期', value: 'isUsedName', align: 'center', isRequired: true },
])
// 最终展示列
const columnsConfig = ref([])
@@ -132,7 +132,7 @@
@@ -161,6 +161,10 @@
+
+
+
+
@@ -180,3 +184,20 @@
+
+