Преглед на файлове

Merge branch 'dev' of http://192.168.0.115:3000/4dkankan/4dkankan_bim into dev

xzw преди 2 години
родител
ревизия
c580696463
променени са 2 файла, в които са добавени 29 реда и са изтрити 15 реда
  1. 27 14
      src/pages/Viewer.vue
  2. 2 1
      src/utils/sync.js

+ 27 - 14
src/pages/Viewer.vue

@@ -28,12 +28,12 @@
                 <iframe ref="targetFrame" :src="targetURL" frameborder="0" @load="onLoadTarget"></iframe>
                 <div class="tools" v-show="!fscChecked && !bimChecked">
                     <div class="item-date target">
-                        <calendar name="target" :value="targetDate" :highlighted="targetDays" @selected="onSelected" @pick="onPickDate" @prev="onPrevDate" @next="onNextDate"></calendar>
+                        <calendar name="target" :count="scenes.length" :value="targetDate" :highlighted="targetDays" @selected="onSelected" @pick="onPickDate" @prev="onPrevDate" @next="onNextDate"></calendar>
                     </div>
                 </div>
                 <div class="points" v-if="showAdjust">
                     <div :class="{ active: points.p1 }" @click="onP1Click('right')">
-                        <i class="iconfont" :class="[points.p1 ? 'icon-positioning01' : 'icon-positioning02']"></i>
+                        <i class="iconfont"  :class="[points.p1 ? 'icon-positioning01' : 'icon-positioning02']"></i>
                         <span>P1</span>
                     </div>
                     <div :class="{ active: points.p2 }" @click="onP2Click('right')">
@@ -43,15 +43,17 @@
                 </div>
             </div>
             <div class="model" v-show="!showAdjust">
-                <div class="bim" :class="{ active: bimChecked, disable: project && !project.bimData }" v-show="!fscChecked">
+                <div class="bim" :class="{ active: bimChecked, disable: bimDisable }" v-show="!fscChecked  && !showBim">
                     <div @click="onBimChecked">
                         <i class="iconfont icon-BIM"></i>
                         <span>BIM</span>
                     </div>
                 </div>
-                <div class="dbs" :class="{ active: dbsChecked, disable: scenes.length < 2 && !bimChecked }" @click="onDbsChecked" v-show="!fscChecked">
-                    <i class="iconfont icon-split_screen"></i>
-                    <span>分屏</span>
+                <div class="dbs" :class="{ active: dbsChecked, disable: dbsDisable }"  v-show="!fscChecked && !showBim">
+                    <div @click="onDbsChecked">
+                        <i class="iconfont icon-split_screen"></i>
+                        <span>分屏</span>
+                    </div>
                 </div>
                 <div class="fsc" :class="{ active: fscChecked }" @click="onFscChecked">
                     <i class="iconfont" :class="[fscChecked ? 'icon-full_screen_selected' : 'icon-full_screen_normal']"></i>
@@ -185,6 +187,21 @@ const targetDays = computed(() => {
     }
 })
 
+const bimDisable = computed(()=>{
+    if(!project.value || !project.value.bimData){
+        return true
+    }
+})
+
+const dbsDisable = computed(()=>{
+    if(scenes.value.length == 0){ // 没有场景的情况
+        return 1
+    }
+    if(!bimChecked.value && scenes.value.length == 1){ // 只有1个场景的情况
+        return 2
+    }
+})
+
 const onLoadSource = () => {
     if (bimChecked.value && !dbsChecked.value) {
         // BIM单屏模式
@@ -311,9 +328,8 @@ const onNextDate = name => {
 
 // bim点击
 const onBimChecked = () => {
-    if (!project.value || !project.value.bimData) {
-        showTips.value = '未发现BIM文件'
-        return
+    if (bimDisable.value) {
+        return showTips.value = '未发现BIM文件'
     }
     if (bimChecked.value) {
         bimChecked.value = false
@@ -341,9 +357,8 @@ const onBimChecked = () => {
 
 // 分屏点击
 const onDbsChecked = () => {
-    if (!dbsChecked.value && scenes.value.length < 2 && !bimChecked.value) {
-        showTips.value = '未发现对比场景'
-        return
+    if(dbsDisable.value && !dbsChecked.value){
+        return showTips.value = '未发现对比场景'        
     }
     dbsChecked.value = !dbsChecked.value
     if (dbsChecked.value) {
@@ -364,8 +379,6 @@ const onDbsChecked = () => {
         }
     } else {
         target.value = null
-        //targetApp = null
-        views.clear()
     }
 }
 

+ 2 - 1
src/utils/sync.js

@@ -112,7 +112,8 @@ export function loadSourceScene(sourceFrame,type,mode) {
     
     
     if(type == 'laser'){
-        win.loaded.then(sdk => { 
+        win.loaded.then(sdk => {
+            sdk.scene.changeMode(mode)  
             laserLoaded(win,mode)
             loaded()
         })