|
@@ -6,7 +6,7 @@
|
|
|
<main>
|
|
|
<div class="split">
|
|
|
<iframe ref="sourceFrame" v-if="sourceURL" :src="sourceURL" frameborder="0" @load="onLoadSource"></iframe>
|
|
|
- <div class="tools" v-if="source && !showRules" v-show="showWidget && !showAdjust && !fscChecked && (dbsChecked || (!target && !bimChecked))">
|
|
|
+ <div class="tools" v-if="source && !showRules && !ruleChecked" v-show="showWidget && !showAdjust && !fscChecked && (dbsChecked || (!target && !bimChecked))">
|
|
|
<div class="item-date">
|
|
|
<calendar
|
|
|
name="source"
|
|
@@ -72,25 +72,25 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="model" v-show="showWidget && !showAdjust && !showRules">
|
|
|
- <div v-if="isLogin" class="file" :class="{ active: fileChecked, disable: fileDisable }" v-show="!fscChecked && !showBim && !dbsChecked && !bimChecked">
|
|
|
+ <div v-if="isLogin" class="file" :class="{ active: fileChecked, disable: fileDisable }" v-show="!fscChecked && !showBim && !dbsChecked && !bimChecked && !ruleChecked">
|
|
|
<div @click="onFileChecked">
|
|
|
<i class="iconfont icon-note1"></i>
|
|
|
<span>{{ $t('home.tag') }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="source?.type < 2" class="rule" :class="{ active: fileChecked, disable: fileDisable }" v-show="!fscChecked && !showBim && !dbsChecked && !bimChecked">
|
|
|
+ <div class="rule" :class="{ active: ruleChecked, disable: fileDisable }" v-show="!fscChecked && !showBim && !dbsChecked && !bimChecked">
|
|
|
<div @click="onRuleChecked">
|
|
|
<i class="iconfont icon-measurement"></i>
|
|
|
<span>{{ $t('common.measure') }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="bim" :class="{ active: bimChecked, disable: bimDisable }" v-show="!fscChecked && !showBim">
|
|
|
+ <div class="bim" :class="{ active: bimChecked, disable: bimDisable }" v-show="!fscChecked && !showBim && !ruleChecked">
|
|
|
<div @click="onBimChecked">
|
|
|
<i class="iconfont icon-BIM"></i>
|
|
|
<span>BIM</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="dbs" :class="{ active: dbsChecked, disable: dbsDisable }" v-show="!fscChecked && !showBim">
|
|
|
+ <div class="dbs" :class="{ active: dbsChecked, disable: dbsDisable }" v-show="!fscChecked && !showBim && !ruleChecked">
|
|
|
<div @click="onDbsChecked">
|
|
|
<i class="iconfont icon-split_screen"></i>
|
|
|
<span>{{ $t('home.splitScreen') }}</span>
|
|
@@ -123,7 +123,7 @@ import i18n from '@/i18n'
|
|
|
import Rules from './Rules'
|
|
|
const { t } = i18n.global
|
|
|
const isDev = process.env.VUE_APP_TEST == 1
|
|
|
-
|
|
|
+const rules = []
|
|
|
const tags = ref([])
|
|
|
const notify = ref(null)
|
|
|
const isEdit = ref(false)
|
|
@@ -153,6 +153,7 @@ const bimChecked = ref()
|
|
|
const dbsChecked = ref(null)
|
|
|
const fscChecked = ref(null)
|
|
|
const fileChecked = ref(false)
|
|
|
+const ruleChecked = ref(false)
|
|
|
|
|
|
const datepickName = ref(null)
|
|
|
|
|
@@ -554,11 +555,23 @@ const onP2Click = type => {
|
|
|
flyToP1P2(points.value.p2)
|
|
|
}
|
|
|
const onRuleChecked = () => {
|
|
|
- showRules.value = true
|
|
|
- window.kankan.TagManager.startMeasure()
|
|
|
-
|
|
|
- // store.commit('SetPlayerOptions', { showRulesWidgets: true })
|
|
|
- // emits('close')
|
|
|
+ if (ruleChecked.value) {
|
|
|
+ ruleChecked.value = false
|
|
|
+ rules.forEach(rule=>{
|
|
|
+ rule.clear()
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (source.value.type<2) {
|
|
|
+ showRules.value = true
|
|
|
+ window.kankan.TagManager.startMeasure()
|
|
|
+ } else {
|
|
|
+ sync.sourceInst.loaded.then(sdk => {
|
|
|
+ const rule = sdk.startMeasure()
|
|
|
+ rules.push(rule)
|
|
|
+ })
|
|
|
+ ruleChecked.value = true
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|