From fa7044f3ccc9a91bc2bc117d1a06f650d86554f2 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期二, 15 六月 2021 16:07:16 +0800 Subject: [PATCH] 优化联动规则加载场景列表的操作 --- src/pages/desktop/index/components/ToolsEntry.vue | 96 +++++++++++++++++++++++++---------------------- 1 files changed, 51 insertions(+), 45 deletions(-) diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue index 6d329c8..6c84eb8 100644 --- a/src/pages/desktop/index/components/ToolsEntry.vue +++ b/src/pages/desktop/index/components/ToolsEntry.vue @@ -1,7 +1,12 @@ <template> <div class="tools-entry"> <div class="entry-wrap"> - <el-carousel :height="rowSize==3?'600px':'770px'" :autoplay="false" arrow="never" :indicator-position="carousels.length==1?'none':''"> + <el-carousel + :height="rowSize==3?'600px':'770px'" + :autoplay="false" + arrow="never" + :indicator-position="carousels.length==1?'none':''" + > <el-carousel-item v-for="(carousel,index) in carousels" :key="index"> <div class="app-list clearFix sdk-list"> <!-- <draggable v-model="carousel" @start="drag=true" @end="drag=false"> --> @@ -23,33 +28,12 @@ <div class="app-icon"> <img :src="item.iconBlob.indexOf(',')>0? item.iconBlob:`data:image/png;base64,${item.iconBlob}`" - style="width:82%" /> </div> <div class="app-name">{{item.sdk_name}}</div> </div> </div> </div> - <!-- </draggable> --> - <!-- <div class="app" v-for="dock in stateDocks" :key="dock.id" @click="dockClick(dock)"> - <div class="wrap"> - <div class="app-icon"> - <img :src="dock.src" :alt="dock.alt" /> - </div> - <div class="app-name">{{dock.title}}</div> - </div> - </div> - <div class="app sdk" v-for="(item,index) in sdkList" :key="index+'sdk'"> - <div class="wrap"> - <div class="app-icon"> - <img - :src="item.iconBlob.indexOf(',')>0? item.iconBlob:`data:image/png;base64,${item.iconBlob}`" - style="width:82%" - /> - </div> - <div class="app-name">{{item.sdk_name}}</div> - </div> - </div>--> </div> </el-carousel-item> </el-carousel> @@ -64,11 +48,11 @@ <script> import draggable from "vuedraggable" import { findAllSdk } from '@/api/taskMange'; -import {chunkArr} from '@/scripts/util'; +import { chunkArr } from '@/scripts/util'; +import bus from '@/plugin/bus' export default { name: 'toolsEntry', - components: { draggable }, - data () { + data() { return { publicPath: process.env.BASE_URL, loading: true, @@ -86,41 +70,41 @@ } ], //rowSize: 3, - badgeNum: 0, + // badgeNum: 0, } }, computed: { - stateDocks () { + stateDocks() { return this.$store.state.desktop.docks }, - carousels () { + carousels() { let pages = 0; let tempArr = this.stateDocks.concat(this.installedSdk); let upgradeArr = tempArr.filter(item => item.isUpgrade); - this.badgeNum = upgradeArr.length; let arr = null; //鏍规嵁灞忓箷楂樺害鏉ュ垽鏂槸灞曠ず3鎺掕繕鏄�4鎺� 闃堝��:970 if (window.innerHeight >= 930) { //this.rowSize = 4; arr = this.chunk(tempArr, 24); - //arr = chunkArr(tempArr,24); } else { //this.rowSize = 3; arr = this.chunk(tempArr, 18); - //arr = chunkArr(tempArr, 18); } - console.log(arr) return arr }, - rowSize (){ + badgeNum() { + let tempArr = this.stateDocks.concat(this.installedSdk); + return tempArr.filter(item => item.isUpgrade).length; + }, + rowSize() { if (window.innerHeight >= 930) { return 4; - }else{ + } else { return 3; } } }, - mounted () { + mounted() { this.getAllSdk(); //this.carousels = window.addEventListener('message', e => { @@ -131,18 +115,26 @@ location.assign("/"); return; } - - // 鎵撳紑妫�绱�, toSearch?showType=findByPic&targetId=108ba0bc-b0a1-433d-8e1e-d5d2e712b53b&picSmUrl=192.168.20.10:6700/47628,7cc869f3a9c714&compType=1 if (msg.indexOf("toSearch") >= 0) { let params = msg.substring(7); this.addFrameByName("search", params) + } + if (msg.indexOf("toCluster") >= 0) { + let params = msg.substring(8); + this.addFrameByName("searchForCluster", params) + } + + if (msg.indexOf("toOpenApp") >= 0) { + let id = msg.substring(10); + console.log(id); + this.addFrameByID(id) } } }); }, methods: { - chunk (arr, size) { + chunk(arr, size) { size = Math.max(size, 0); const len = arr == null ? 0 : arr.length; if (!len || size < 1) { @@ -156,18 +148,17 @@ } return result }, - getAllSdk () { + getAllSdk() { findAllSdk().then(res => { this.installedSdk = res.data.filter(item => item.installed) }).catch(e => { console.log(e) }) }, - dockClick (dock) { + dockClick(dock) { if (dock.type === '1') { window.open(dock.url); } else if (dock.type === '2' && !dock.isOpen) { - this.$store.dispatch('desktop/addFrame', { id: dock.id, icon: dock.src, @@ -192,8 +183,9 @@ } else if (dock.type === '2' && dock.isOpen) { this.$store.commit('desktop/resetMinFrame', dock.id); } + }, - resetDockItem () { + resetDockItem() { const dockItems = document.getElementsByClassName('dock-item'); const dockMask = document.getElementsByClassName('dock-mask')[0]; for (let i = 0; i < dockItems.length; i++) { @@ -204,15 +196,13 @@ } dockMask.style.width = dockItems.length * 60 + 40 + 'px'; }, - addFrameByName (name, params) { - + addFrameByName(name, params) { let dock = null; this.$store.state.desktop.docks.forEach(app => { if (app.name === name) { dock = app; } }); - if (dock.isOpen) { this.$store.dispatch('desktop/closeFrame', dock); } @@ -231,6 +221,19 @@ url: dock.url, screenshot: '' }); + }, + addFrameByID(id, params) { + let dock = null; + let toClose = null + this.$store.state.desktop.docks.forEach(app => { + if (app.id == id) { + dock = app; + } + if (app.name == "algorithmManage") { + toClose = app + } + }); + this.dockClick(dock) } } }; @@ -271,9 +274,12 @@ height: 110px; margin: auto; position: relative; + border-radius: 10px; img { vertical-align: middle; margin-right: -3px; + width: 82px; + // height: 82px; } .badge { position: absolute; -- Gitblit v1.8.0