| | |
| | | <template> |
| | | <div class="TreeArea"> |
| | | <div class="refresh"> |
| | | <span v-if="nodeList && nodeList.length > 0">配置规则</span> |
| | | <el-switch |
| | | v-model="ruleType" |
| | | active-color="#0065FF" |
| | | inactive-color="#ED7E2F" |
| | | :width="52" |
| | | v-if="nodeList && nodeList.length > 0" |
| | | > |
| | | </el-switch> |
| | | <span |
| | | class="des1" |
| | | @click="ruleType = false" |
| | | v-if="ruleType && nodeList && nodeList.length > 0" |
| | | >自动</span |
| | | > |
| | | <span |
| | | class="des2" |
| | | @click="ruleType = true" |
| | | v-if="!ruleType && nodeList && nodeList.length > 0" |
| | | >手动</span |
| | | > |
| | | <div class="button" @click="updateCamerasFromVideosvr">刷新</div> |
| | | 单台设备最大支持配置500路摄像机,集群最大支持配置路数=集群内设备总量*500 |
| | | </div> |
| | |
| | | :node="TreeDataPool.treeData" |
| | | :height="600" |
| | | :setting="treeSettings" |
| | | :showDevArea="!ruleType" |
| | | :nodeList="nodeList" |
| | | @itemChecked="onItemCheck" |
| | | @saveTree="tempSaveTree" |
| | | search |
| | | style="width: 450px; min-height: 600px" |
| | | /> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { saveGb28181CamTree } from "@/api/Gb28181"; |
| | | import { saveGb28181CamTree, saveTree } from "@/api/Gb28181"; |
| | | import TreeMenu from "@/components/giantTree/index"; |
| | | import ZTree from "@/components/giantTree/zTree/ztree"; |
| | | |
| | |
| | | components: { |
| | | TreeMenu, |
| | | ZTree, |
| | | }, |
| | | props: { |
| | | id: {}, |
| | | nodeList: {}, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | }, |
| | | dstTreeData: [], |
| | | loading: null, |
| | | ruleType: true, |
| | | allTreeData: {}, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.TreeDataPool.clusterId = this.id.clusterId ? this.id.clusterId : ""; |
| | | this.TreeDataPool.devId = this.id.devId ? this.id.devId : ""; |
| | | }, |
| | | mounted() { |
| | | this.TreeDataPool.multiple = true; |
| | |
| | | this.TreeDataPool.activeTreeData |
| | | ); |
| | | }, |
| | | tempSaveTree(tab) { |
| | | console.log(1212); |
| | | console.log(tab); |
| | | this.allTreeData[tab.devId] = this.TreeDataPool.newTreeByChecked( |
| | | this.TreeDataPool.activeTreeData |
| | | ); |
| | | }, |
| | | saveChecked() { |
| | | localStorage.setItem( |
| | | "ztree_fold_list", |
| | |
| | | this.TreeDataPool.activeTreeData |
| | | ); |
| | | |
| | | saveGb28181CamTree({ checkedMenus: treeData }) |
| | | .then((rsp) => { |
| | | if (this.ruleType) { |
| | | saveGb28181CamTree({ |
| | | clusterId: this.id.clusterId ? this.id.clusterId : "", |
| | | devId: this.id.devId ? this.id.devId : "", |
| | | checkedMenus: treeData, |
| | | }).then((rsp) => { |
| | | if (rsp && rsp.success) { |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | }); |
| | | } |
| | | this.loading = false; |
| | | }) |
| | | .catch((err) => { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "保存失败", |
| | | }); |
| | | } else { |
| | | let tab = this.$refs["ztree"].activeTabObj; |
| | | this.allTreeData[tab.devId] = treeData; |
| | | let params = []; |
| | | for (const key in this.allTreeData) { |
| | | params.push({ |
| | | devId: key, |
| | | checkedMenus: this.allTreeData[key], |
| | | }); |
| | | } |
| | | |
| | | saveTree({ |
| | | list: params, |
| | | }).then((rsp) => { |
| | | if (rsp && rsp.success) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "保存成功", |
| | | }); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | align-items: center; |
| | | font-size: 12px; |
| | | color: #666666; |
| | | position: relative; |
| | | |
| | | span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .el-switch { |
| | | margin-left: 16px; |
| | | margin-right: 32px; |
| | | } |
| | | |
| | | .des1 { |
| | | top: 7px; |
| | | left: 78px; |
| | | position: absolute; |
| | | font-size: 12px; |
| | | color: #fff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .des2 { |
| | | top: 7px; |
| | | left: 92px; |
| | | position: absolute; |
| | | font-size: 12px; |
| | | color: #fff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .button { |
| | | margin-right: 10px; |