From 8c7e35901a9b8972752f7740386ecd6dc342b094 Mon Sep 17 00:00:00 2001
From: GGJ <357021191@qq.com>
Date: Fri, 23 Feb 2024 11:14:28 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E5=BD=A2=E8=A1=A8?=
=?UTF-8?q?=E6=A0=BC=20=E5=A4=A7=E6=95=B0=E6=8D=AE=E5=8D=A1=E9=A1=BF=20?=
=?UTF-8?q?=E7=BB=88=E7=AB=AF=E8=BF=90=E7=BB=B4=E7=AE=A1=E7=90=86=2020%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/echarts/MyEchart.vue | 3 +
src/styles/vxeTable.scss | 2 +-
.../TerminalManagement/ProgramManagement.vue | 41 +++-
.../TerminalManagement/TerminalManagement.vue | 185 +++++++++++++++---
4 files changed, 199 insertions(+), 32 deletions(-)
diff --git a/src/components/echarts/MyEchart.vue b/src/components/echarts/MyEchart.vue
index be4655af..94b4e9fa 100644
--- a/src/components/echarts/MyEchart.vue
+++ b/src/components/echarts/MyEchart.vue
@@ -108,6 +108,9 @@ const initChart = () => {
],
...props.options.options
})
+ setTimeout(() => {
+ chart.resize()
+ },0)
}
const handlerYAxis = () => {
let temp = {
diff --git a/src/styles/vxeTable.scss b/src/styles/vxeTable.scss
index 031a924f..d04e725d 100644
--- a/src/styles/vxeTable.scss
+++ b/src/styles/vxeTable.scss
@@ -44,7 +44,7 @@
.vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,
.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox,
.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon {
- color: var(--el-color-primary-light-8);
+ color: var(--el-color-primary-light-3);
}
.vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon,
diff --git a/src/views/pms/BusinessAdministrator/TerminalManagement/ProgramManagement.vue b/src/views/pms/BusinessAdministrator/TerminalManagement/ProgramManagement.vue
index 6a21b3ab..8db80014 100644
--- a/src/views/pms/BusinessAdministrator/TerminalManagement/ProgramManagement.vue
+++ b/src/views/pms/BusinessAdministrator/TerminalManagement/ProgramManagement.vue
@@ -59,8 +59,9 @@
ref="tableRef"
v-bind="defaultAttribute"
:data="treeData"
- :column-config="{ resizable: true }"
- :tree-config="{}"
+ show-overflow
+ :tree-config="{ transform: true, parentField: 'pid' }"
+ :scroll-y="{ enabled: true }"
>
@@ -122,7 +123,7 @@
-
+
升级
@@ -243,6 +244,7 @@ const dialogVisible = ref(false)
const protitle = ref('')
const filterName = ref('')
const treeData: any = ref([])
+const treeDataCopy: any = ref([])
//进度条对象
const percentageoption = ref([
{
@@ -270,13 +272,36 @@ const tableStore = new TableStore({
method: 'POST',
column: [],
loadCallback: () => {
- treeData.value = tableStore.table.data
+ tableStore.table.data.forEach((item: any) => {
+ if (item.children.length > 0) {
+ item.id = item.children[0].pid
+ }
+ })
+ treeData.value = tree2List(tableStore.table.data)
+ treeDataCopy.value = JSON.parse(JSON.stringify(treeData.value))
setTimeout(() => {
tableRef.value.setAllTreeExpand(true)
}, 0)
}
})
-
+const tree2List = (list: any) => {
+ //存储结果的数组
+ let arr: any = []
+ // 遍历 tree 数组
+ list.forEach((item: any) => {
+ // 判断item是否存在children
+ if (!item.children) return arr.push(item)
+ // 函数递归,对children数组进行tree2List的转换
+ const children = tree2List(item.children)
+ // 删除item的children属性
+ delete item.children
+ // 把item和children数组添加至结果数组
+ //..children: 意思是把children数组展开
+ arr.push(item, ...children)
+ })
+ // 返回结果数组
+ return arr
+}
provide('tableStore', tableStore)
tableStore.table.params.searchValue = ''
tableStore.table.params.searchState = 0
@@ -330,8 +355,8 @@ const searchEvent = debounce(e => {
const options = { children: 'children' }
const searchProps = ['name']
const rest = XEUtils.searchTree(
- tableStore.table.data,
- (item:any) => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1),
+ treeDataCopy,
+ (item: any) => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1),
options
)
@@ -339,7 +364,7 @@ const searchEvent = debounce(e => {
// 搜索之后默认展开所有子节点
} else {
- treeData.value = tableStore.table.data
+ treeData.value = treeDataCopy
}
nextTick(() => {
const $table = tableRef.value
diff --git a/src/views/pms/BusinessAdministrator/TerminalManagement/TerminalManagement.vue b/src/views/pms/BusinessAdministrator/TerminalManagement/TerminalManagement.vue
index d85cfe0c..10863cc5 100644
--- a/src/views/pms/BusinessAdministrator/TerminalManagement/TerminalManagement.vue
+++ b/src/views/pms/BusinessAdministrator/TerminalManagement/TerminalManagement.vue
@@ -55,10 +55,19 @@
ref="tableRef"
v-bind="defaultAttribute"
:data="treeData"
- :column-config="{ resizable: true }"
- :scroll-y="{ enabled: true, gt: 30 }"
+ show-overflow
+ :tree-config="{ transform: true, parentField: 'pid' }"
+ :scroll-y="{ enabled: true }"
+ :checkbox-config="{ labelField: 'name' }"
>
-
+
@@ -137,7 +146,8 @@
@@ -147,7 +157,8 @@
v-if="row.level === 4"
:disabled="row.state == 1 ? true : false"
type="primary"
- size="small" link
+ size="small"
+ link
icon="el-icon-view"
@click="queryview(row)"
>
@@ -157,6 +168,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+