From 1e84774c0c0752c61e60592e7f7fc1c0d25a1dab Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期二, 27 十月 2020 16:38:48 +0800
Subject: [PATCH] 首页加入算法
---
src/pages/ai/index/App.vue | 16 +-
src/pages/labelMark/components/RightSide.vue | 149 +++++++++++++-----------
src/pages/desktop/index/components/ToolsEntry.vue | 119 +++++++++++++++++--
src/components/subComponents/FileUpload/uploader.vue | 13 +
src/components/subComponents/FileUpload/index.vue | 8
src/components/subComponents/FileUpload/btn.vue | 7
6 files changed, 207 insertions(+), 105 deletions(-)
diff --git a/src/components/subComponents/FileUpload/btn.vue b/src/components/subComponents/FileUpload/btn.vue
index 7638874..d624a23 100644
--- a/src/components/subComponents/FileUpload/btn.vue
+++ b/src/components/subComponents/FileUpload/btn.vue
@@ -26,14 +26,15 @@
default() {
return {}
}
- }
+ },
+
},
watch: {
attrs: {
handler(n, o) {
- this.$nextTick(() => {
+ //this.$nextTick(() => {
this.uploader.uploader.assignBrowse(this.$refs.btn, this.directory, this.single, n)
- })
+ //})
},
deep: true
}
diff --git a/src/components/subComponents/FileUpload/index.vue b/src/components/subComponents/FileUpload/index.vue
index 1512cf3..35d8293 100644
--- a/src/components/subComponents/FileUpload/index.vue
+++ b/src/components/subComponents/FileUpload/index.vue
@@ -81,11 +81,11 @@
},
attrs: {
type: Object,
- // default () {
- // return {
+ default () {
+ return {
- // }
- // }
+ }
+ }
}
},
data() {
diff --git a/src/components/subComponents/FileUpload/uploader.vue b/src/components/subComponents/FileUpload/uploader.vue
index 41fb54c..ddcedb9 100644
--- a/src/components/subComponents/FileUpload/uploader.vue
+++ b/src/components/subComponents/FileUpload/uploader.vue
@@ -5,8 +5,8 @@
<uploader-unsupport></uploader-unsupport>
<uploader-drop>
<!-- <p>鎷栧姩鏂囦欢鍒拌鍖哄煙涓婁紶</p> -->
- <uploader-btn :attrs="attrs">閫夋嫨鏂囦欢</uploader-btn>
- <uploader-btn :directory="true" :attrs="attrs">閫夋嫨鏂囦欢澶�</uploader-btn>
+ <uploader-btn >閫夋嫨鏂囦欢</uploader-btn>
+ <uploader-btn :directory="true" >閫夋嫨鏂囦欢澶�</uploader-btn>
</uploader-drop>
<uploader-list></uploader-list>
</slot>
@@ -37,10 +37,10 @@
attrs:{
handler(n,o){
console.log('uploader attrs update',n)
- this.$nextTick(()=>{
- //this.unBindUploader();
+ //this.$nextTick(()=>{
+ this.unBindUploader();
this.bindUploader();
- })
+ //})
},
deep: true
},
@@ -168,6 +168,9 @@
// uploader.on('fileRemoved', this.fileRemoved)
// uploader.on('filesSubmitted', this.filesSubmitted)
},
+ mounted(){
+ //this.bindUploader();
+ },
destroyed() {
this.unBindUploader();
// const uploader = this.uploader
diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue
index c836d3e..236b9d4 100644
--- a/src/pages/ai/index/App.vue
+++ b/src/pages/ai/index/App.vue
@@ -624,16 +624,16 @@
setTimeout(() => {
if (action == 'upgrade') {
app.upgradeLoading = false;
- _this.$notify({
- type: 'success',
- message: '鍗囩骇鎴愬姛'
- });
+ // _this.$notify({
+ // type: 'success',
+ // message: '鍗囩骇鎴愬姛'
+ // });
} else {
app.installLoading = false;
- _this.$notify({
- type: 'success',
- message: '瀹夎鎴愬姛'
- });
+ // _this.$notify({
+ // type: 'success',
+ // message: '瀹夎鎴愬姛'
+ // });
}
_this.getAllApps();
window.parent.postMessage({
diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index 13de460..d519f72 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/src/pages/desktop/index/components/ToolsEntry.vue
@@ -1,16 +1,54 @@
<template>
<div class="tools-entry">
<div class="entry-wrap">
- <div class="app-list clearFix">
- <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" />
+ <el-carousel height="600px" :autoplay="false" >
+ <el-carousel-item v-for="(carousel,index) in carousels" :key="index">
+ <div class="app-list clearFix sdk-list" >
+ <div v-for="item in carousel" :key="item.id">
+ <div class="app" v-if="item.url" @click="dockClick(item)">
+ <div class="wrap">
+ <div class="app-icon">
+ <img :src="item.src" :alt="item.alt" />
+ </div>
+ <div class="app-name">{{item.title}}</div>
+ </div>
</div>
- <div class="app-name">{{dock.title}}</div>
+ <div class="app sdk" v-if="item.sdk_name">
+ <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>
+
+ <!-- <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>
- </div>
- </div>
+ </el-carousel-item>
+ </el-carousel>
+
<div class="logo">
<img :src="`${publicPath}images/desktop/desk-logo.png`" alt />
</div>
@@ -19,21 +57,44 @@
</template>
<script>
+import { findAllSdk } from '@/api/taskMange';
export default {
name: 'toolsEntry',
- data() {
+ data () {
return {
publicPath: process.env.BASE_URL,
loading: true,
- localApps: []
+ //carousels: [],
+ localApps: [],
+ installedSdk: [],
+ sdkList: [
+ {
+ src: 'data:image/png;base64,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',
+ title: '涓綋闈欐'
+ },
+ {
+ src: 'data:image/png;base64,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TER++23Yf3wmWvzbw+PV+9/6qr72NIxukYHBsz8qD6ZsExPVRLmKKlWlets5GPsn8mNyzeuQkXE6en2vhikpKW/6+expNN2ievXkIOljqcGECZApFYsmTy7zdTZeLGUXOt6niWXbgtex0NllvRnTZLbLx/jEHfr8cxGIP9AsIKCs46mdZFncsLI67eHra9Hjz/U53t0r+DCmxcKmrh9t6bx1K7Zjt1hz6FBZx5MsJH1Kb9q0wO1K7yhj7B8swy26uHt3mcfZIGS0MzN79WYuAMY0mEgV1UTrsh+DEFvIUnR7//1Xb+cCYEyT5ZCPPKxRo7IOI9pSkny14Pk6XACMaSB7mkck6+lRNh4Jy+HDyzqePBy7VesSE1+9nQuAMQ2S/8KX694zTnDy9sZjXMODZs1KPeCLC/JQgH5buhsd/erd/DXgO8aeJtEtqlo1d2fuTqBePWkVnZTi+TwLjbWQjuCEgQFqUQQymzUTAlni2LhxGCO+p5Vt2pR5/ERUxNKzZ0Nj16+0XN2p06t365VmTKY5egwdH5FYuXr1nLXy4LxZa9eqM3K2YvGnn6pWv/jZKFe8ZpsHJzgAgHh5lh59VI7j1xfeeLRrF2JffzcXgJZq127UqKSRhoY5a9XGufVOnhQu6IkhLVsCOK10NqY8+grjxSf37qn6CQeD6d7eEPgMWwtuxwWgpQy9xb9z948bBxesQnjLlkrnYZpFXKMV6D5/frBY51+rf0ZGYdtxAWgpaipWi9rOzgIw56uvsJfCcUYM/O9/Q0N9Lpqf8vEBAHgWvjl/C6ClRGtYkU3lykrnYBriCTxEo6gog/OZyRXmDRsGAEIUfWUuLgAtRWuFtzC4dEnpHExhvliDlH37cnbqX8wZ1b17UOutKaa9ir/MPheAlhLzcVA6uGoV2sFQjH8Dv1NnGolWoJ7olp5OC3AUJ2bMCG1qorJo7+p6ttFql0ZrHj8u6XhcAFoqNMK7Z90r0dGUTWbi4bBhuAdHVHn6VOlcrJylIRI/JCTQj1glti9dqmon39TraWUV5rA+1vLLJUuABUKI0i/Sy98SvyPyr8GoMlJ76f0yeLDUFBWpeePGFERZMCn/lWZYOZkifsf3mZm4iUPivYQEcqNvxPK7d3FDWinHRkSEhXl7W1hERQHF+0xfUv8HrASX0hIwkmoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDctMTNUMjA6MTM6MjcrMDg6MDBhLSN6AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTA3LTEzVDIwOjEzOjI3KzA4OjAwEHCbxgAAAEp0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcWp6eWVjbDNocXIvZ2Vuem9uZy5zdmcBgnXEAAAAAElFTkSuQmCC',
+ title: '浜哄憳璺熻釜'
+ }
+ ]
}
},
computed: {
- stateDocks() {
+ stateDocks () {
return this.$store.state.desktop.docks
+ },
+ carousels () {
+ let pages = 0;
+ let tempArr = this.stateDocks.concat(this.installedSdk);
+
+ let arr = this.chunk(tempArr,18);
+ console.log(arr)
+ return arr
}
},
- mounted() {
+ mounted () {
+ this.getAllSdk();
+ //this.carousels =
window.addEventListener('message', e => {
if (e.data && e.data.msg) {
let msg = e.data.msg;
@@ -53,7 +114,28 @@
},
methods: {
- dockClick(dock) {
+ chunk(arr,size){
+ size = Math.max(size,0);
+ const len = arr == null ? 0: arr.length;
+ if(!len || size <1){
+ return []
+ }
+ let index = 0;
+ let resIndex = 0;
+ const result = new Array(Math.ceil(len/size))
+ while(index<len){
+ result[resIndex++] = arr.slice(index,index+=size)
+ }
+ return result
+ },
+ getAllSdk () {
+ findAllSdk().then(res => {
+ this.installedSdk = res.data.filter(item => item.installed)
+ }).catch(e => {
+ console.log(e)
+ })
+ },
+ dockClick (dock) {
if (dock.type === '1') {
window.open(dock.url);
} else if (dock.type === '2' && !dock.isOpen) {
@@ -83,7 +165,7 @@
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++) {
@@ -94,7 +176,7 @@
}
dockMask.style.width = dockItems.length * 60 + 40 + 'px';
},
- addFrameByName(name, params) {
+ addFrameByName (name, params) {
let dock = null;
this.$store.state.desktop.docks.forEach(app => {
@@ -127,6 +209,12 @@
</script>
<style lang="scss">
+.el-carousel__arrow--left{
+ left: 0 !important;
+}
+.el-carousel__arrow--right{
+ right: 0 !important;
+}
.tools-entry {
//margin-top: 130px;
position: absolute;
@@ -187,6 +275,7 @@
text-align: right;
padding-right: 50px;
user-select: none;
+ margin-top: -100px;
img {
user-select: none;
-webkit-user-drag: none;
diff --git a/src/pages/labelMark/components/RightSide.vue b/src/pages/labelMark/components/RightSide.vue
index 741a5c2..7e94302 100644
--- a/src/pages/labelMark/components/RightSide.vue
+++ b/src/pages/labelMark/components/RightSide.vue
@@ -1,5 +1,65 @@
<template>
<div class="right-side">
+ <div class="figure">
+ <div class="action-bar">
+ <el-button
+ class="drawboard-trigger"
+ size="small"
+ @click="isEdit=!isEdit"
+ :icon="isEdit?'el-icon-lock':'el-icon-edit'"
+ >{{isEdit?'閿佸畾':'缂栬緫'}}</el-button>
+ </div>
+ <div class="drawboard">
+ <div class="mask" :class="{'edit-status-mask':isEdit}" ref="editBoard">
+ <div
+ class="label"
+ @click="editLabel(item)"
+ v-for="(item,index) in labels"
+ :key="index"
+ :style="{left:`${item.x}px`, top:`${item.y}px`, backgroundColor: colorPick, width: `${dotSize}px`, height: `${dotSize}px` }"
+ ></div>
+ </div>
+ <img :src="`/httpImage/${snapshot_url}`" alt />
+ <div
+ class="popBox"
+ v-show="isShowPop"
+ :style="`top:${curLabel.y + 22}px;left:${curLabel.x}px`"
+ >
+ <div class="title">鏍囨敞淇℃伅</div>
+ <div class="details">
+ <div class="detail-item">
+ <div class="left">
+ <label for>骞抽潰鍧愭爣X:</label>
+ <span class="fix-width">{{curLabel.x}}</span>
+ <i>px</i>
+ </div>
+ <span class="devide"></span>
+ <div class="right">
+ <label for>瀹為檯鍧愭爣X:</label>
+ <el-input type="text" size="mini" style="width:90px" v-model="curLabel.posX"></el-input>
+ </div>
+ </div>
+ <div class="detail-item">
+ <div class="left">
+ <label for>骞抽潰鍧愭爣Y:</label>
+ <span class="fix-width">{{curLabel.y}}</span>
+ <i>px</i>
+ </div>
+ <span class="devide"></span>
+ <div class="right">
+ <label for>瀹為檯鍧愭爣Y:</label>
+ <el-input type="text" size="mini" style="width:90px" v-model="curLabel.posY"></el-input>
+ </div>
+ </div>
+ <div class="btns">
+ <el-button size="mini" type="danger" @click="deleteLabel">鍒犻櫎</el-button>
+ <el-button size="mini" type="primary" @click="cancle">鍙栨秷</el-button>
+ <el-button size="mini" type="success" @click="submitInfo">纭畾</el-button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
<div class="tool-bar">
<div>
<!-- <input type="color" ref="colorPicker" v-model="color"> -->
@@ -9,64 +69,6 @@
<div style="width:250px;">
<label for>绗旇Е:</label>
<el-slider v-model="dotSize" :min="1" :max="20"></el-slider>
- </div>
- </div>
- <div class="action-bar">
- <el-button
- class="drawboard-trigger"
- size="small"
- @click="isEdit=!isEdit"
- :icon="isEdit?'el-icon-lock':'el-icon-edit'"
- >{{isEdit?'閿佸畾':'缂栬緫'}}</el-button>
- </div>
- <div class="drawboard">
- <div class="mask" :class="{'edit-status-mask':isEdit}" ref="editBoard">
- <div
- class="label"
- @click="editLabel(item)"
- v-for="(item,index) in labels"
- :key="index"
- :style="{left:`${item.x}px`, top:`${item.y}px`, backgroundColor: colorPick, width: `${dotSize}px`, height: `${dotSize}px` }"
- ></div>
- </div>
- <img :src="`/httpImage/${snapshot_url}`" alt />
- <div
- class="popBox"
- v-show="isShowPop"
- :style="`top:${curLabel.y + 22}px;left:${curLabel.x}px`"
- >
- <div class="title">鏍囨敞淇℃伅</div>
- <div class="details">
- <div class="detail-item">
- <div class="left">
- <label for>骞抽潰鍧愭爣X:</label>
- <span class="fix-width">{{curLabel.x}}</span>
- <i>px</i>
- </div>
- <span class="devide"></span>
- <div class="right">
- <label for>瀹為檯鍧愭爣X:</label>
- <el-input type="text" size="mini" style="width:90px" v-model="curLabel.posX"></el-input>
- </div>
- </div>
- <div class="detail-item">
- <div class="left">
- <label for>骞抽潰鍧愭爣Y:</label>
- <span class="fix-width">{{curLabel.y}}</span>
- <i>px</i>
- </div>
- <span class="devide"></span>
- <div class="right">
- <label for>瀹為檯鍧愭爣Y:</label>
- <el-input type="text" size="mini" style="width:90px" v-model="curLabel.posY"></el-input>
- </div>
- </div>
- <div class="btns">
- <el-button size="mini" type="danger" @click="deleteLabel">鍒犻櫎</el-button>
- <el-button size="mini" type="primary" @click="cancle">鍙栨秷</el-button>
- <el-button size="mini" type="success" @click="submitInfo">纭畾</el-button>
- </div>
- </div>
</div>
</div>
</div>
@@ -99,7 +101,7 @@
computed: {
},
- mounted() {
+ mounted () {
this.getAllCameraData();
setTimeout(() => {
let mockData = [{ id: 'a1', x: 15, y: 33, posX: 150, posY: 330 }, { id: 'b2', x: 56, y: 87, posX: 560, posY: 870 }];
@@ -108,13 +110,14 @@
},
watch: {
'TreeDataPool.selectedNode': {
- handler(n, o) {
+ handler (n, o) {
+ debugger
let curCamera = this.cameraData.find(item => item.id == n.id);
this.snapshot_url = curCamera.snapshot_url;
},
deep: true
},
- isEdit(n, o) {
+ isEdit (n, o) {
if (n) {
this.$refs['editBoard'].addEventListener('click', this.bindListen);
} else {
@@ -123,19 +126,20 @@
}
},
methods: {
- getAllCameraData() {
+ getAllCameraData () {
getCamerasByServer().then(res => {
if (res.success) {
+ debugger
this.cameraData = res.data;
}
}).catch(e => {
console.log(e)
})
},
- bindListen(e) {
+ bindListen (e) {
this.newLabel(e);
},
- newLabel(e) {
+ newLabel (e) {
console.log('鐐瑰嚮浜嗙敾鏉�')
if (this.isShowPop) return;
//鑾峰彇榧犳爣鐩稿浜庣敾鏉跨殑瀹氫綅
@@ -152,19 +156,20 @@
this.isShowPop = true;
this.isNewLabel = true;
},
- editLabel(label) {
+ editLabel (label) {
+ debugger
if (!this.isEdit) return;
this.isShowPop = true;
this.curLabel = JSON.parse(JSON.stringify(label));
},
- cancle() {
+ cancle () {
this.isShowPop = false;
//濡傛灉鏄湭淇濆瓨杩囩殑label鐩存帴鍒犻櫎(鏈繚瀛樼殑灏辨槸labels鏁扮粍涓渶鍚庝竴涓�)
if (!this.curLabel.id) {
this.labels.pop();
}
},
- deleteLabel() {
+ deleteLabel () {
if (this.curLabel.id) {
//璇锋眰鍚庡彴鍒犻櫎
} else {
@@ -172,7 +177,7 @@
this.isShowPop = false;
}
},
- submitInfo() {
+ submitInfo () {
}
}
@@ -183,9 +188,13 @@
.right-side {
height: 100%;
background: #d2dcea;
+ .figure{
+ float: left;
+ }
.tool-bar {
- width: 100%;
- height: 60px;
+ float: right;
+ width: 40px;
+ height: 100%;
padding: 10px 20px;
box-sizing: border-box;
background: rgb(250, 250, 250);
--
Gitblit v1.8.0