| | |
| | | <div class="app-list clearFix">
|
| | | <div
|
| | | class="app"
|
| | | v-for="dock in this.$store.state.desktop.docks"
|
| | | v-for="dock in stateDocks"
|
| | | :key="dock.id"
|
| | | @click="dockClick(dock)"
|
| | | >
|
| | | <div class="wrap">
|
| | | <div class="app-icon">
|
| | | <div class="app-icon" >
|
| | | <img :src="dock.src" :alt="dock.alt" />
|
| | | </div>
|
| | | <div class="app-name">{{dock.name}}</div>
|
| | | <div class="app-name" >{{dock.title}}</div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="logo">
|
| | | <img :src="`${publicPath}images/desktop/desk-logo.png`" alt="">
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
| | | data() {
|
| | | return {
|
| | | publicPath: process.env.BASE_URL,
|
| | | loading: true,
|
| | | localApps: []
|
| | | }
|
| | | },
|
| | | methods: {
|
| | | computed:{
|
| | | stateDocks(){
|
| | | return this.$store.state.desktop.docks
|
| | | }
|
| | | },
|
| | | mounted() {
|
| | | window.addEventListener('message', e => {
|
| | | console.log('msg')
|
| | | if (e.data && e.data.msg) {
|
| | | let msg = e.data.msg;
|
| | | // token 不合法, 退出
|
| | | if (msg === "logout") {
|
| | | 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) {
|
| | | console.log('msg,search')
|
| | | let params = msg.substring(7);
|
| | | this.addFrameByName("search", params)
|
| | | }
|
| | | }
|
| | | });
|
| | | |
| | | },
|
| | | methods: {
|
| | | dockClick(dock) {
|
| | | if (dock.type === '1') {
|
| | | window.open(dock.url);
|
| | | } else if (dock.type === '2') {
|
| | | debugger
|
| | | } else if (dock.type === '2' && !dock.isOpen) {
|
| | | |
| | | this.$store.dispatch('desktop/addFrame', {
|
| | | id: dock.id,
|
| | | icon: dock.src,
|
| | | title: dock.name,
|
| | | title: dock.title,
|
| | | url: dock.url
|
| | | });
|
| | | } else if (dock.type === '3') {
|
| | | this.$store.commit('desktop/addMinDock', {
|
| | | id: dock.id,
|
| | | src: dock.src,
|
| | | alt: dock.title,
|
| | | type: "3",
|
| | | highlight: true,
|
| | | url: dock.url,
|
| | | screenshot: ''
|
| | | });
|
| | | //打开应用后异步抓拍,之后的抓拍采用这张固定的
|
| | | //if(dock.name=='cameraVideo'||dock.name=='search'||dock.name=='library'||dock.name=='cameraAccess'||dock.name=='dataStack'){
|
| | | setTimeout(()=>{
|
| | | this.$parent.screenShot(dock);
|
| | | },1500)
|
| | | //}
|
| | | } else if (dock.type === '2' && dock.isOpen) {
|
| | | this.$store.commit('desktop/resetMinFrame', dock.id);
|
| | | this.resetDockItem();
|
| | | }
|
| | | },
|
| | | resetDockItem() {
|
| | |
| | | }
|
| | | dockMask.style.width = dockItems.length * 60 + 40 + 'px';
|
| | | },
|
| | | 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);
|
| | | }
|
| | | this.$store.dispatch('desktop/addFrame', {
|
| | | id: dock.id,
|
| | | icon: dock.src,
|
| | | title: dock.title,
|
| | | url: dock.url + "?" + params
|
| | | });
|
| | | this.$store.commit('desktop/addMinDock', {
|
| | | id: dock.id,
|
| | | src: dock.src,
|
| | | alt: dock.title,
|
| | | type: "3",
|
| | | highlight: true,
|
| | | url: dock.url,
|
| | | screenshot: ''
|
| | | });
|
| | | }
|
| | | }
|
| | | };
|
| | | </script>
|
| | |
| | | margin-right: -3px;
|
| | | }
|
| | | }
|
| | | .el-loading-mask{
|
| | | border-radius: 8px;
|
| | | }
|
| | | .el-loading-spinner{
|
| | | top: 20px;
|
| | | }
|
| | | .el-loading-spinner .path{
|
| | | stroke: #78adf7;
|
| | | }
|
| | | .el-loading-spinner .el-loading-text{
|
| | | line-height: 1;
|
| | | margin-top: -30px;
|
| | | color: #78adf7;
|
| | | }
|
| | | .app-name {
|
| | | padding-top: 10px;
|
| | | text-align: center;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | .logo{
|
| | | text-align: right;
|
| | | padding-right: 50px;
|
| | | user-select: none;
|
| | | img{
|
| | | user-select: none;
|
| | | -webkit-user-drag: none;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | </style> |