|
@@ -452,22 +452,26 @@
|
|
<template #extra>
|
|
<template #extra>
|
|
<HcNewSwitch :datas="nodeTabData" :keys="nodeTabKey" :round="false" @change="nodeTabChange" />
|
|
<HcNewSwitch :datas="nodeTabData" :keys="nodeTabKey" :round="false" @change="nodeTabChange" />
|
|
</template>
|
|
</template>
|
|
- <el-collapse v-model="activeName" v-loading="nodeTreeArrLoad" class="hc-node-tree-collapse" accordion @change="collapseChange">
|
|
|
|
- <template v-for="(item) in nodeTreeArr">
|
|
|
|
|
|
+ <el-collapse v-model="activeName" v-loading="nodeTreeArrLoad" class="hc-node-tree-collapse" @change="collapseChange">
|
|
|
|
+ <template v-for="(item, index) in nodeTreeArr">
|
|
<el-collapse-item :name="item.id.toString()" :disabled="item.notExsitChild === true">
|
|
<el-collapse-item :name="item.id.toString()" :disabled="item.notExsitChild === true">
|
|
<template #title>
|
|
<template #title>
|
|
<div class="hc-collapse-item-title">
|
|
<div class="hc-collapse-item-title">
|
|
- <el-checkbox v-model="item.checkColId" style="font-size: 24px;" @change="changeCheckColId(item)" />
|
|
|
|
|
|
+ <el-checkbox v-model="item.checkColId" style="font-size: 24px;" @change="changeCheckColId(item, index)" @click.stop.native="() => {}" />
|
|
<HcIcon v-if="item.notExsitChild === true" name="file" fill class="icon" />
|
|
<HcIcon v-if="item.notExsitChild === true" name="file" fill class="icon" />
|
|
<HcIcon v-else name="folder-3" fill class="icon" />
|
|
<HcIcon v-else name="folder-3" fill class="icon" />
|
|
<span class="title">{{ item.nodeName }}</span>
|
|
<span class="title">{{ item.nodeName }}</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
- <el-tree ref="nodetreeEl" v-loading="nodetreeElloading" class="col_tree" node-key="id" :props="defaultProps" show-checkbox lazy :load="loadNode" :data="Nodetreedata">
|
|
|
|
|
|
+ <el-tree
|
|
|
|
+ ref="nodetreeEl"
|
|
|
|
+ v-loading="nodetreeElloading" class="col_tree" node-key="id" :props="defaultProps" show-checkbox lazy :load="loadNode" :data="item.Nodetreedata"
|
|
|
|
+ >
|
|
<template #default="{ node, data }">
|
|
<template #default="{ node, data }">
|
|
<span class="custom-tree-node">
|
|
<span class="custom-tree-node">
|
|
<HcIcon v-if="data.notExsitChild === true" name="file" fill class="icon" style="color: #FFAF2D;" />
|
|
<HcIcon v-if="data.notExsitChild === true" name="file" fill class="icon" style="color: #FFAF2D;" />
|
|
- <HcIcon v-else name="folder-3" fill class="icon" style="color: #FFAF2D;" /><span>{{ node.label }}</span>
|
|
|
|
|
|
+ <HcIcon v-else name="folder-3" fill class="icon" style="color: #FFAF2D;" />
|
|
|
|
+ <span>{{ node.label }}</span>
|
|
</span>
|
|
</span>
|
|
</template>
|
|
</template>
|
|
</el-tree>
|
|
</el-tree>
|
|
@@ -484,7 +488,7 @@ import { nextTick, onMounted, ref, watch } from 'vue'
|
|
import { useAppStore } from '~src/store'
|
|
import { useAppStore } from '~src/store'
|
|
import MetaTable from '../transfer/components/meta-table.vue'
|
|
import MetaTable from '../transfer/components/meta-table.vue'
|
|
import HcMediaMic from './components/media-mic/index.vue'
|
|
import HcMediaMic from './components/media-mic/index.vue'
|
|
-import { arrIndex, getArrValue, getObjValue, isArrIndex } from 'js-fast-way'
|
|
|
|
|
|
+import { arrIndex, arrToId, getArrValue, getObjValue, isArrIndex } from 'js-fast-way'
|
|
import archiveQueryApi from '~api/using/query.js'
|
|
import archiveQueryApi from '~api/using/query.js'
|
|
import tuningApi from '~api/archiveConfig/tuning.js'
|
|
import tuningApi from '~api/archiveConfig/tuning.js'
|
|
import imageViewGui from '~src/assets/view/gui.png'
|
|
import imageViewGui from '~src/assets/view/gui.png'
|
|
@@ -883,9 +887,20 @@ const nodeTreeModalClose = () => {
|
|
|
|
|
|
//确认
|
|
//确认
|
|
const nodeTreeModalSave = () => {
|
|
const nodeTreeModalSave = () => {
|
|
- nodeTreeModal.value = false
|
|
|
|
- let keys = nodetreeEl.value[treeIndex.value].getCheckedKeys()
|
|
|
|
- searchForm.value.nodeIds = keys.join(',') || singleId.value
|
|
|
|
|
|
+ const allCheckIds = arrToId(nodeTreeArr.value.filter((item)=>item.checkColId)).split(',')
|
|
|
|
+ let halfKeys = []
|
|
|
|
+ nodeTreeArr.value.forEach((ele, index)=>{
|
|
|
|
+ if (ele.checkColId === false) {
|
|
|
|
+ let keys = nodetreeEl.value[index].getCheckedKeys()
|
|
|
|
+ keys.forEach((ele)=>{
|
|
|
|
+ halfKeys.push(ele)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ const ids = [...allCheckIds, ...halfKeys]
|
|
|
|
+
|
|
|
|
+ searchForm.value.nodeIds = ids.join(',')
|
|
|
|
+ nodeTreeModal.value = false
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1289,50 +1304,24 @@ const nodeTabChange = (item) => {
|
|
const checkColId = ref(false)
|
|
const checkColId = ref(false)
|
|
const checkNodeid = ref('')
|
|
const checkNodeid = ref('')
|
|
const singleId = ref('')
|
|
const singleId = ref('')
|
|
-const changeCheckColId = (item)=>{
|
|
|
|
-
|
|
|
|
- let arr = nodeTreeArr.value.filter((ele)=>{
|
|
|
|
- if (ele.checkColId) {
|
|
|
|
- return ele
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- if (arr.length > 1) {
|
|
|
|
- nodeTreeArr.value.forEach((ele1)=>{
|
|
|
|
- if (ele1.id !== item.id)
|
|
|
|
- ele1.checkColId = false
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- if (item.notExsitChild === true) {
|
|
|
|
- singleId.value = item.id
|
|
|
|
- } else {
|
|
|
|
- if (!activeName.value) {
|
|
|
|
- checkNodeid.value = item.id
|
|
|
|
- activeName.value = item.id
|
|
|
|
- item.checkColId = false
|
|
|
|
- getNodetreedata()
|
|
|
|
- } else {
|
|
|
|
- let idsarr = []
|
|
|
|
- if (item.checkColId === false) {
|
|
|
|
- nextTick(()=>{
|
|
|
|
- nodetreeEl?.value[treeIndex.value].setCheckedKeys([], false)
|
|
|
|
- })
|
|
|
|
- } else {
|
|
|
|
- nextTick(()=>{
|
|
|
|
- Nodetreedata?.value.forEach((item)=>{
|
|
|
|
- idsarr.push(item.id)
|
|
|
|
- })
|
|
|
|
- nodetreeEl?.value[treeIndex.value].setCheckedKeys(idsarr, true)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+// }
|
|
|
|
+const changeCheckColId = async (item)=>{
|
|
|
|
+
|
|
|
|
+ const ids = arrToId(Nodetreedata.value).split(',')
|
|
|
|
+
|
|
|
|
+ // if (item.checkColId) {
|
|
|
|
+ // nextTick(()=>{
|
|
|
|
+ // nodetreeEl?.value[treeIndex.value].setCheckedKeys(ids, true)
|
|
|
|
+ // })
|
|
|
|
+ // } else {
|
|
|
|
+ // nodetreeEl?.value[treeIndex.value].setCheckedKeys([], false)
|
|
|
|
+ // }
|
|
|
|
+
|
|
}
|
|
}
|
|
const nodeTreeArrLoad = ref(false)
|
|
const nodeTreeArrLoad = ref(false)
|
|
const getnodeTabData = async ()=>{
|
|
const getnodeTabData = async ()=>{
|
|
@@ -1369,15 +1358,11 @@ const activeName = ref('')
|
|
const nodeTreeArr = ref([])
|
|
const nodeTreeArr = ref([])
|
|
|
|
|
|
const treeIndex = ref(0)
|
|
const treeIndex = ref(0)
|
|
-const collapseChange = (key) => {
|
|
|
|
-
|
|
|
|
- treeIndex.value = nodeTreeArr.value.findIndex(item=>{
|
|
|
|
-return item.id === key
|
|
|
|
-})
|
|
|
|
|
|
+const collapseChange = async (key) => {
|
|
|
|
+ checkNodeid.value = key[key.length - 1]
|
|
|
|
+ await getNodetreedata()
|
|
|
|
|
|
- checkNodeid.value = key
|
|
|
|
- activeName.value = key.toString()
|
|
|
|
- getNodetreedata()
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
const nodetreeElloading = ref(false)
|
|
const nodetreeElloading = ref(false)
|
|
const getNodetreedata = async ()=>{
|
|
const getNodetreedata = async ()=>{
|
|
@@ -1392,6 +1377,11 @@ const getNodetreedata = async ()=>{
|
|
} else {
|
|
} else {
|
|
Nodetreedata.value = []
|
|
Nodetreedata.value = []
|
|
}
|
|
}
|
|
|
|
+ nodeTreeArr.value.forEach((ele)=>{
|
|
|
|
+ if (ele.id === checkNodeid.value) {
|
|
|
|
+ ele.Nodetreedata = Nodetreedata.value
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
const checkNodeids = ref([])
|
|
const checkNodeids = ref([])
|
|
|
|
|