Parcourir la source

Merge branch 'master' of http://192.168.0.115:3000/chenzhiguang/FD_Pano

任一存 il y a 3 ans
Parent
commit
0b95282e35
27 fichiers modifiés avec 427 ajouts et 50 suppressions
  1. 21 0
      public/static/panoassets/images/hotspot/icon/img_doticon_01.svg
  2. 15 0
      public/static/panoassets/images/hotspot/icon/img_doticon_02.svg
  3. 15 0
      public/static/panoassets/images/hotspot/icon/img_doticon_03.svg
  4. 28 0
      public/static/panoassets/images/hotspot/icon/img_doticon_04.svg
  5. 17 0
      public/static/panoassets/images/hotspot/icon/img_doticon_05.svg
  6. 19 0
      public/static/panoassets/images/hotspot/icon/img_doticon_06.svg
  7. 28 0
      public/static/panoassets/images/hotspot/icon/img_doticon_07.svg
  8. 12 0
      public/static/panoassets/images/hotspot/icon/img_doticon_08.svg
  9. 23 0
      public/static/panoassets/images/hotspot/icon/img_doticon_09.svg
  10. 26 0
      public/static/panoassets/images/hotspot/icon/img_doticon_10.svg
  11. 23 0
      public/static/panoassets/images/hotspot/icon/img_doticon_11.svg
  12. 15 0
      public/static/panoassets/images/hotspot/icon/img_doticon_12.svg
  13. 0 1
      public/static/template/skin/vtourskin.xml
  14. 10 0
      src/api/index.js
  15. 21 3
      src/components/select.vue
  16. 1 1
      src/components/shared/message/Confirm.vue
  17. 12 0
      src/core/utils.js
  18. 7 0
      src/framework/Head.vue
  19. 1 1
      src/framework/MenuPC.vue
  20. 1 1
      src/framework/show/index.vue
  21. 26 3
      src/framework/show/list.vue
  22. 20 13
      src/framework/show/popup/password.vue
  23. 11 2
      src/framework/showMobile/index.vue
  24. 29 8
      src/framework/showMobile/list.vue
  25. 25 14
      src/framework/showMobile/popup/password.vue
  26. 17 3
      src/views/hotspot/EditPanel.vue
  27. 4 0
      src/views/hotspot/hotspotType/audio.vue

+ 21 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_01.svg

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_01</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-301.000000, -514.000000)" fill-rule="nonzero">
+            <g id="img_doticon_01" transform="translate(301.000000, 514.000000)">
+                <rect id="box" fill-opacity="0" fill="#FFFFFF" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3856" transform="translate(0.000000, 6.000000)">
+                    <path d="M14.001,7.555 L0.056,15.785 C0.0126054449,15.8112854 -0.00867245421,15.8627216 0.00347072632,15.9119816 C0.0156139069,15.9612417 0.058360381,15.9968951 0.109,16 L6.222,16 L13.999,11.41 L21.776,16 L27.89,16 C27.9406396,15.9968951 27.9833861,15.9612417 27.9955293,15.9119816 C28.0076725,15.8627216 27.9863946,15.8112854 27.943,15.785 L14.001,7.555 Z" id="路径_1339-2" fill="#000000" opacity="0.4"></path>
+                    <path d="M14.002,4.683 L19.961,7.875 L24.511,7.875 C24.5624468,7.87202014 24.6057597,7.83545696 24.6173305,7.78523975 C24.6289013,7.73502254 24.6059555,7.68319237 24.561,7.658 L14.002,2 L3.443,7.658 C3.39804452,7.68319237 3.37509869,7.73502254 3.38666948,7.78523975 C3.39824026,7.83545696 3.44155322,7.87202014 3.493,7.875 L8.043,7.875 L14.002,4.683 Z" id="路径_1340-2" fill="#000000" opacity="0.6"></path>
+                    <g id="编组" transform="translate(0.000000, 5.000000)" fill="#FFFFFF" opacity="0.8">
+                        <path d="M13.998,0.553 L0.051,8.796 C0.00871211887,8.82153017 -0.0116166444,8.87193307 0.00112551213,8.91965824 C0.0138676686,8.96738341 0.0566143459,9.00094578 0.106,9.002 L6.227,9.002 L13.996,4.411 L21.765,9.002 L27.888,9.002 C27.9373857,9.00094578 27.9801323,8.96738341 27.9928745,8.91965824 C28.0056166,8.87193307 27.9852879,8.82153017 27.943,8.796 L13.998,0.553 Z" id="路径_1339-3-2"></path>
+                    </g>
+                    <g id="编组" transform="translate(3.000000, 0.000000)" fill="#FFFFFF">
+                        <path d="M11.003,2.681 L16.956,5.873 L21.517,5.873 C21.567027,5.87169479 21.6099942,5.83707541 21.6219116,5.78847112 C21.633829,5.73986684 21.6117492,5.68929839 21.568,5.665 L11.003,-0.001 L0.437,5.665 C0.393250843,5.68929839 0.371170959,5.73986684 0.383088355,5.78847112 C0.395005751,5.83707541 0.437973037,5.87169479 0.488,5.873 L5.05,5.873 L11.003,2.681 Z" id="路径_1340-3-2"></path>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 15 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_02.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_02</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-342.000000, -514.000000)" fill-rule="nonzero">
+            <g id="img_doticon_02" transform="translate(342.000000, 514.000000)">
+                <rect id="box-2" fill-opacity="0" fill="#FFFFFF" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3854" transform="translate(1.000000, 6.000000)">
+                    <path d="M13,4.8 L13,2 L0,7.6 L13,13.2 L13,10.4 C18.571,10.429 23.5,12.68 25.257,16 C25.7377609,15.1446367 25.9934183,14.1811901 26,13.2 C26.1,8.626 20.284,4.865 13,4.8 L13,4.8 Z" id="路径_5042" fill-opacity="0.600000024" fill="#000000"></path>
+                    <path d="M13,2.8 L13,0 L0,5.6 L13,11.2 L13,8.4 C18.571,8.429 23.5,10.68 25.257,14 C25.7377609,13.1446367 25.9934183,12.1811901 26,11.2 C26.1,6.626 20.284,2.865 13,2.8 L13,2.8 Z" id="路径_5042-2" fill="#FFFFFF"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 15 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_03.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_03</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-384.000000, -514.000000)" fill-rule="nonzero">
+            <g id="img_doticon_03" transform="translate(384.000000, 514.000000)">
+                <rect id="box-3" fill-opacity="0" fill="#FFFFFF" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3855" transform="translate(1.000000, 6.000000)">
+                    <path d="M13,4.8 L13,2 L26,7.6 L13,13.2 L13,10.4 C7.429,10.429 2.5,12.68 0.743,16 C0.262239137,15.1446367 0.00658169466,14.1811901 -2.16840434e-19,13.2 C-0.1,8.626 5.716,4.865 13,4.8 L13,4.8 Z" id="路径_5042-3" fill-opacity="0.600000024" fill="#000000"></path>
+                    <path d="M13,2.8 L13,0 L26,5.6 L13,11.2 L13,8.4 C7.429,8.429 2.5,10.68 0.743,14 C0.262239137,13.1446367 0.00658169466,12.1811901 -2.16840434e-19,11.2 C-0.1,6.626 5.716,2.865 13,2.8 L13,2.8 Z" id="路径_5042-4" fill="#FFFFFF"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 28 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_04.svg

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_04</title>
+    <defs>
+        <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="216.666667%" gradientTransform="translate(0.500000,0.500000),scale(0.230769,1.000000),translate(-0.500000,-0.500000)" id="radialGradient-1">
+            <stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#FFFFFF" stop-opacity="0.4" offset="100%"></stop>
+        </radialGradient>
+        <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="200%" gradientTransform="translate(0.500000,0.500000),scale(0.250000,1.000000),translate(-0.500000,-0.500000)" id="radialGradient-2">
+            <stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#FFFFFF" stop-opacity="0.6" offset="100%"></stop>
+        </radialGradient>
+    </defs>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-425.000000, -514.000000)" fill-rule="nonzero">
+            <g id="img_doticon_04" transform="translate(425.000000, 514.000000)">
+                <rect id="box-4" fill-opacity="0" fill="#FFFFFF" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3859" transform="translate(1.000000, 4.000000)">
+                    <g id="编组" transform="translate(1.000000, 0.000000)" fill="#FFFFFF">
+                        <polygon id="路径_5041-2" points="18.857 0.003 12 6.86 5.143 0.003 0 0.003 12 12.003 24 0.003"></polygon>
+                    </g>
+                    <ellipse id="椭圆_72" fill="url(#radialGradient-1)" cx="13" cy="17" rx="13" ry="3"></ellipse>
+                    <ellipse id="椭圆_73" fill="url(#radialGradient-2)" cx="13" cy="16" rx="6" ry="1.5"></ellipse>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

Fichier diff supprimé car celui-ci est trop grand
+ 17 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_05.svg


Fichier diff supprimé car celui-ci est trop grand
+ 19 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_06.svg


+ 28 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_07.svg

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_07</title>
+    <defs>
+        <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="50%" id="radialGradient-1">
+            <stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#FFFFFF" stop-opacity="0.4" offset="100%"></stop>
+        </radialGradient>
+        <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="50%" id="radialGradient-2">
+            <stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#FFFFFF" stop-opacity="0.6" offset="100%"></stop>
+        </radialGradient>
+    </defs>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-549.000000, -514.000000)" fill-rule="nonzero">
+            <g id="img_doticon_07" transform="translate(549.000000, 514.000000)">
+                <rect id="box-7" fill-opacity="0" fill="#FFFFFF" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3858-2" transform="translate(4.000000, 1.000000)">
+                    <g id="编组" transform="translate(0.000000, 6.000000)" fill="#FFFFFF">
+                        <polygon id="路径_5047-4" points="7.606 20.004 -0.004 11.78 2.755 9.257 6.084 12.435 6.084 0.005 9.223 0.005 9.223 5.914 10.903 4.68 12.851 4.935 13.024 6.594 14.842 5.913 16.442 6.423 16.269 7.742 18.91 6.891 19.993 9.443 18.693 20.003"></polygon>
+                    </g>
+                    <circle id="椭圆_77-3" fill="url(#radialGradient-1)" cx="7.5" cy="6" r="6"></circle>
+                    <circle id="椭圆_78" fill="url(#radialGradient-2)" cx="7.5" cy="6" r="3"></circle>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

Fichier diff supprimé car celui-ci est trop grand
+ 12 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_08.svg


+ 23 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_09.svg

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_09</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-631.000000, -514.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="img_doticon_09" transform="translate(631.000000, 514.000000)">
+                <rect id="box-9" fill-opacity="0" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3861" transform="translate(1.000000, 1.000000)">
+                    <rect id="矩形_534" fill-opacity="0.400000006" transform="translate(13.000214, 13.000064) rotate(-135.000000) translate(-13.000214, -13.000064) " x="10.1352145" y="7.26956366" width="5.73" height="11.461"></rect>
+                    <g id="编组" transform="translate(0.000000, 10.000000)">
+                        <polygon id="路径_5051-2" points="9.623 2.325 6.923 5.025 10.975 9.077 13.675 6.377 15.532 8.234 7.766 16 0 8.234 7.766 0.468"></polygon>
+                    </g>
+                    <g id="编组" transform="translate(10.000000, 0.000000)">
+                        <polygon id="路径_5052-2" points="16 7.766 8.234 15.532 6.377 13.675 9.077 10.975 5.025 6.923 2.325 9.623 0.468 7.766 8.234 0"></polygon>
+                    </g>
+                    <g id="编组" transform="translate(9.000000, 9.000000)">
+                        <rect id="矩形_535-2" transform="translate(3.995861, 4.003565) rotate(-135.000000) translate(-3.995861, -4.003565) " x="3.04086093" y="0.18356512" width="1.91" height="7.64"></rect>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 26 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_10.svg

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_10</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-672.000000, -514.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="img_doticon_10" transform="translate(672.000000, 514.000000)">
+                <rect id="box-10" fill-opacity="0" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3864" transform="translate(2.000000, 3.000000)">
+                    <g id="编组" stroke="#000000" stroke-opacity="0">
+                        <path d="M12,22 L12,22 L4.352,18.334 L0,18.334 L0,3.668 L4.351,3.668 L12,0 L12,22 Z M10,6 L8,6.506 L8,15.495 L10,16.001 L10,6.001 L10,6 Z" id="减去_7-2"></path>
+                    </g>
+                    <polygon id="路径_5057" fill-opacity="0.400000006" points="10 16 8 15.495 8 6.505 10 6"></polygon>
+                    <g id="编组" transform="translate(14.000000, 7.000000)" fill-opacity="0.800000012">
+                        <rect id="矩形_540-2" x="0" y="0" width="2" height="8"></rect>
+                    </g>
+                    <g id="编组" transform="translate(22.000000, 8.000000)">
+                        <rect id="矩形_541-2" x="0" y="0" width="2" height="6"></rect>
+                    </g>
+                    <g id="编组" transform="translate(18.000000, 4.000000)">
+                        <rect id="矩形_542-2" x="0" y="0" width="2" height="14"></rect>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

Fichier diff supprimé car celui-ci est trop grand
+ 23 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_11.svg


+ 15 - 0
public/static/panoassets/images/hotspot/icon/img_doticon_12.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>img_doticon_12</title>
+    <g id="编辑器" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="icon" transform="translate(-755.000000, -514.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="img_doticon_12" transform="translate(755.000000, 514.000000)">
+                <rect id="box-12" fill-opacity="0" x="0" y="0" width="28" height="28"></rect>
+                <g id="组_3867" transform="translate(2.500000, 2.500000)">
+                    <rect id="矩形_552" fill-opacity="0.400000006" x="0.5" y="0.5" width="22" height="22"></rect>
+                    <path d="M16.5,22.5 L0.5,22.5 L0.5,0.5 L22.5,0.5 L22.5,16.5 L16.5,22.5 L16.5,22.5 Z M3.5,14.5 L3.5,16.5 L13.5,16.5 L13.5,14.5 L3.5,14.5 Z M3.5,9.5 L3.5,11.5 L19.5,11.5 L19.5,9.5 L3.5,9.5 Z M3.5,4.5 L3.5,6.5 L19.5,6.5 L19.5,4.5 L3.5,4.5 Z" id="减去_10"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 0 - 1
public/static/template/skin/vtourskin.xml

@@ -1345,7 +1345,6 @@
         set(plugin[get(tooltipname)].align,center);
         set(plugin[get(tooltipname)].edge,top);
         set(plugin[get(tooltipname)].x,0);
-        set(plugin[get(tooltipname)].y,-130%);
         set(plugin[get(tooltipname)].autowidth,true);
         set(plugin[get(tooltipname)].height,36); 
         if(device.mobile,set(plugin[get(tooltipname)].scale,0.7));

+ 10 - 0
src/api/index.js

@@ -34,6 +34,16 @@ const URL_FILL =  config.urlFill
 
 
 /**
+ * 获取四维看看场景信息
+ * @param {*} data 
+ * @param {*} ok 
+ * @param {*} no 
+ */
+ export function getSceneInfomation(data, ok, no) {
+    return http.get(`/api/scene/getInfo?num=${data.id}&_=${Math.random()}`, {}, ok, no)
+}
+
+/**
  * 获取场景分组列表
  * @param {*} data 
  * @param {*} ok 

+ 21 - 3
src/components/select.vue

@@ -8,8 +8,10 @@
           type="text"
           placeholder="输入关键词"
           v-model="key"
+          @keyup.enter="search"
         />
         <i
+        @click="search"
           class="iconfont iconsearch"
         ></i>
       </div>
@@ -24,10 +26,10 @@
         </tabList>
        
         <div>
-          <div class="pano-con"  v-if="scenes.length > 0">
+          <div class="pano-con"  v-if="filterScenes.length > 0">
             <ul>
               <li
-                v-for="(item, i) in scenes"
+                v-for="(item, i) in filterScenes"
                 @click="select = item"
                 :class="{ 'li-active': select.sceneCode == item.sceneCode }"
                 :key="i"
@@ -49,6 +51,10 @@
               </li>
             </ul>
           </div>
+          <div class="nodata" v-else>
+              <img :src="$noresult" alt="">
+              <span>{{!!isClickSearch?'未搜索到结果~':'暂无素材'}}</span>
+            </div>
         </div>
       </div>
     </template>
@@ -115,6 +121,9 @@ components: {tabList},
           this.scenes = this.info.scenes.filter(item=>{
             return newVal.id == item.category
           })
+          this.key = ''
+
+          this.search()
         }
       }
     }
@@ -137,11 +146,20 @@ components: {tabList},
       list:[],
       childTab:[],
       scenes:[],
+      filterScenes:[],
       key: ""
     };
   },
 
   methods: {
+    search(){
+      this.filterScenes = this.scenes.filter(item=>{
+        console.log(item.sceneTitle);
+        if (item.sceneTitle.indexOf(this.key)>-1) {
+          return item
+        }
+      })
+    },
     getTabSceneList(catalogId=null){
       if (!catalogId) {
         catalogId = this.taboneActive.children.length<=0 ? this.taboneActive.id : this.tabtowActive.id
@@ -249,7 +267,7 @@ components: {tabList},
   .nodata {
     position: absolute;
     left: 50%;
-    top: 50%;
+    top: 40%;
     transform: translate(-50%, -50%);
   }
   .pano-con{

+ 1 - 1
src/components/shared/message/Confirm.vue

@@ -43,7 +43,7 @@ export default {
     },
     data() {
         return {
-            isMaterial: window.location.pathname.indexOf('material.html')>-1,
+            isMaterial: window.location.pathname.indexOf('material.html')>-1 || window.location.pathname.indexOf('showMobile.html')>-1 || window.location.pathname.indexOf('show.html')>-1,
             show: false,
             showCloseIcon: true,
             duration: 0,

+ 12 - 0
src/core/utils.js

@@ -97,6 +97,18 @@ export default class Utils {
       ${param.visible},
       ${(param.size * 50) || 1},
       ${Number(param.fontSize)})`); 
+
+
+      // 设置热点图片默认的偏移值
+      let offset = '-130%'
+      if (param.size < 1) {
+        offset = '-200%'
+      }
+      if (param.size > 1) {
+        offset = '-100%'
+      }
+      krpano.set('layer[tooltip_'+param.name+'].y',`${offset}`)
+      
   }
 
   htmlEncode(str) {

+ 7 - 0
src/framework/Head.vue

@@ -45,8 +45,11 @@ export default {
       this.canLoad = data
       if (data) {
         this.getInfo()
+
       }
     }) 
+
+
   },
   computed: {
     ...mapGetters({
@@ -89,6 +92,7 @@ export default {
         },
         () => {
           this.$msg.success("保存成功");
+          document.title = this.info.name
           this.getInfo();
           this.$store.commit("UpdateIsShowState", true);
           setTimeout(() => {
@@ -178,6 +182,7 @@ export default {
         },
         () => {
           this.$msg.success("保存成功")
+          document.title = this.info.name
           this.getInfo();
           this.$store.commit("UpdateIsShowState", true);
         },
@@ -189,7 +194,9 @@ export default {
         if (res.code == 0) {
           getPanoInfo("", (data) => {
             this.$store.commit("SetInfo", data);
+            document.title = this.info.name || '无标题'
           });
+
         }
       });
     },

+ 1 - 1
src/framework/MenuPC.vue

@@ -57,7 +57,7 @@ export default {
       a {
         width: 100%;
         height: 100%;
-        padding: 5px;
+        padding: 10px 5px;
         display: inline-block;
         >img{
           width: 18px;

+ 1 - 1
src/framework/show/index.vue

@@ -2,7 +2,7 @@
   <div class="panocon">
     <template v-if="showInfo">
       <iframe allowfullscreen="true" v-if="activeItem.type=='4dkk'" 
-      :src="`/spc.html?m=${activeItem.sceneCode}`" frameborder="0"></iframe>
+      :src="`/spc.html?m=${activeItem.sceneCode}&lang=zh`" frameborder="0"></iframe>
       <div v-show="activeItem.type!='4dkk'" id="pano"></div>
 
       <div class="pano-logo" v-if="showInfo.isLogo&&activeItem.type!='4dkk'">

+ 26 - 3
src/framework/show/list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="list">
-    <div class="l-con" :class="showList ? 'active' : ''">
+    <div class="l-con" :class="showList ? 'active' : ''" v-if="!(showInfo.catalogRoot.length == 1 && scenes.length == 1 && showInfo.catalogs.length == 1)">
       <div class="pic-con">
         <div class="clip-scroller">
           <ul class="pic-list" v-if="scenes.length > 0" ref="pic">
@@ -47,7 +47,7 @@
         </ul>
       </div>
     </div>
-    <div class="btn dl" @click="showList = !showList"><i class="iconfont " :class="showList ? 'iconnav_scene_down' : 'iconnav_scene_up'"></i>场景导航</div>
+    <div class="btn dl"  v-if="!(showInfo.catalogRoot.length == 1 && scenes.length == 1 && showInfo.catalogs.length == 1)" @click="showList = !showList"><i class="iconfont " :class="showList ? 'iconnav_scene_down' : 'iconnav_scene_up'"></i>场景导航</div>
   </div>
 </template>
 
@@ -93,6 +93,11 @@ export default {
     handleVR(item) {
       history.replaceState(null, null, "".concat(window.location.pathname, "?").concat(`id=${this.showInfo.id}&vr=${item.sceneCode}`));
       this.sceneNum = item.sceneCode;
+      // let idx = this.scenes.findIndex(ii=>ii.sceneCode == item.sceneCode)
+      // this.SlyArr.forEach(tttt=>{
+      //   item.toStart()
+      //     tttt.slideTo(78 * (idx || 0),300)
+      // })
     },
     refreshSly(){
       this.SlyArr.forEach(item=>{
@@ -319,6 +324,10 @@ export default {
 
       > li {
         position: relative;
+        .btn{
+          width: 116px;
+          padding: 0;
+        }
 
         &.active {
           @size:5px;
@@ -339,7 +348,7 @@ export default {
       }
     }
     .pic-list {
-      padding: 12px 0;
+      padding: 12px 20px;
       > li {
         cursor: pointer;
         > div {
@@ -368,6 +377,20 @@ export default {
             left: 4px;
             top: 4px;
             z-index: 99;
+
+            &::after{
+              background: rgba(0, 0, 0, 0.3);
+              content: '';
+              width: 14px;
+              height: 14px;
+              display: inline-block;
+              position: absolute;
+              top: 50%;
+              left: 50%;
+              transform: translate(-50%,-50%);
+              z-index: -1;
+              filter: blur(4px);
+            }
           }
           > span {
             display: inline-block;

+ 20 - 13
src/framework/show/popup/password.vue

@@ -8,7 +8,7 @@
           </span>
         </div>
         <div class="ui-message-main re-name">
-          <div>
+          <div :class="{active: isPassWordFocus}"  >
             <input
               @keyup.enter="emitname"
               class="ui-input"
@@ -17,7 +17,6 @@
               maxlength="20"
               placeholder="请输入访问密码"
               v-model="key"
-              :class="{active: isPassWordFocus}" 
               @focusin="isPassWordFocus = true" 
               @focusout="isPassWordFocus = false"
             />
@@ -27,8 +26,8 @@
         <div class="ma-line"></div>
         <div class="ui-message-footer">
           <div class="btn">
-            <button @click="emitname" class="ui-button ui-button-rect submit" :class="{disable:!key}" >
-              确
+            <button @click="emitname" class="ui-button submit" :class="{disable:!key}" >
+              确
             </button>
           </div>
         </div>
@@ -70,7 +69,10 @@ export default {
   filter:blur(10px);
 }
 .ui-message-confirm{
-  border-radius: 0;
+  background: #FFFFFF;
+  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);
+  border-radius: 4px;
+  border: 1px solid #E4E7ED;
   .icon_close{
     color: #909090;
   }
@@ -78,11 +80,15 @@ export default {
 
  
   .ui-message-main{
-    width: 330px;
-    margin: 20px auto;
+    margin: 40px auto;
     background: #fff;
     >div{
       position: relative;
+      width: 100%;
+      height: 36px;
+      background: #FFFFFF;
+      border-radius: 4px;
+      border: 1px solid #EBEDF0;
       >i{
         position: absolute;
         right: 10px;
@@ -97,13 +103,15 @@ export default {
       }
     }
     .ui-input{
-      background-color: #fff;
-      border: 1px solid rgba(#909090,0.5);
-      color: #909090;
+      color: #969799;
+      background: none;
+      border: none;
+      width: 100%;
+      height: 100%;
     }
 
     .active{
-      border: 1px solid #0076F6;
+      border-color: #0076F6;
     }
     
   }
@@ -202,8 +210,7 @@ export default {
 
 
 .ui-message-header{
-  font-weight: bold;
-  font-size: 16px;
+  font-size: 18px;
 }
 
 

+ 11 - 2
src/framework/showMobile/index.vue

@@ -3,7 +3,8 @@
     <template v-if="showInfo">
       <v-ifr
         v-if="activeItem.type == '4dkk'"
-        :url="`/embed.html?from=mingyuan&m=${activeItem.sceneCode}`"
+        :key="activeItem.sceneCode"
+        :url="`/embed.html?from=mingyuan&m=${activeItem.sceneCode}&lang=zh`"
       />
       <div v-show="activeItem.type != '4dkk'" id="pano"></div>
       
@@ -25,6 +26,7 @@
         @select="handleSelect"
         :firstScene="firstScene"
         :select="activeItem"
+        :mapvisit="mapvisit"
       ></list>
 
       <ul class="aside" v-show="activeItem.type != '4dkk'">
@@ -108,7 +110,7 @@
 
 <script>
 import * as krfn from "@/core/index.js";
-import { getPanoInfo, checkPassword, checkWork } from "@/api";
+import { getPanoInfo, checkPassword, checkWork,getSceneInfomation } from "@/api";
 import password from "./popup/password";
 import preview from "./popup/preview";
 import { $smallWaiting } from '@/components/shared/loading'
@@ -142,6 +144,7 @@ export default {
   },
   data() {
     return {
+      mapvisit:0,
       isVR:false,
       localRemind:false,
       showPreview: false,
@@ -173,6 +176,11 @@ export default {
     };
   },
   methods: {
+    getSceneInfomation(){
+      getSceneInfomation({id:this.activeItem.sceneCode}, (data) => {
+        this.mapvisit = data.data.mapVisi
+      });
+    },
     handleEnded() {
       this.audioUrl = "";
     },
@@ -373,6 +381,7 @@ export default {
           if (newVal.type == "4dkk") {
             removepano("#pano");
             $("#pano").empty();
+            this.getSceneInfomation()
             return;
           }
           removepano("#pano");

+ 29 - 8
src/framework/showMobile/list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="list">
-     <div class="l-con" :class="showList?'active':''">
+     <div class="l-con" :class="showList?'active':''"  v-if="!(showInfo.catalogRoot.length == 1 && scenes.length == 1 && showInfo.catalogs.length == 1)">
       <div class="pic-con">
         <ul class="pic-list" v-if="scenes.length>0">
           <li @click="handleVR(item)" v-for="(item,i) in scenes" :key="i">
@@ -24,14 +24,14 @@
           </li>
         </ul>
     </div>
-    <div v-if="selected.type=='4dkk'" class="menu">
+    <div v-if="selected.type=='4dkk' && (isShowDL || (currentActive!='2d'&& currentActive!='3d' && mapvisit == 0))" class="menu">
       <div class="menucon" :class="{shouqi:shouqi}">
         <ul>
           <li @click="handleDL" v-if="isShowDL">
             <i class="iconfont" :class="isDaolan?'iconshow_suspension':'iconshow_playback'"></i>
             <span title="导览" >导览</span>
           </li>
-          <template v-if="currentActive!='2d'&&currentActive!='3d'">
+          <template v-if="currentActive!='2d'&& currentActive!='3d' && mapvisit == 0">
             <li v-for="(item,i) in menu" @click="handleMenu(item)" :key="i">
               <i class="iconfont" :class="currentActive==item.id?item.active:item.icon"></i>
               <span :title="item.name" >{{item.name}}</span>
@@ -39,7 +39,7 @@
             </li>
           </template>
         </ul>
-        <i  @click="shouqi = !shouqi" class="iconfont iconshow_function_collect"></i>
+        <i @click="shouqi = !shouqi" class="iconfont iconshow_function_collect"></i>
 
       </div>
 
@@ -48,9 +48,13 @@
       </div>
     </div>
 
-    <div class="btn dl" @click="showList=!showList" v-else>
-      <i class="iconfont " :class="showList?'iconnav_scene_down':'iconnav_scene_up'"></i>场景导航
-    </div>
+    <template  v-else>
+      <div class="btn dl" v-if="!(showInfo.catalogRoot.length == 1 && scenes.length == 1 && showInfo.catalogs.length == 1)" @click="showList = !showList">
+        <i class="iconfont " :class="showList?'iconnav_scene_down':'iconnav_scene_up'"></i>场景导航
+      </div>
+    </template>
+
+  
   </div>
 </template>
 
@@ -60,7 +64,7 @@ import config from "@/config";
 import rollName from "@/components/rollName";
 
 export default {
-  props:['select'],
+  props:['select','mapvisit'],
   components:{rollName},
   
   data(){
@@ -397,6 +401,10 @@ export default {
       }
        > li {
         position: relative;
+        .btn{
+          width: 88px;
+          padding: 0;
+        }
         &.active {
           @size:8px;
           &::before {
@@ -443,6 +451,19 @@ export default {
             left: 4px;
             top: 4px;
             z-index: 99;
+            &::after{
+              background: rgba(0, 0, 0, 0.3);
+              content: '';
+              width: 14px;
+              height: 14px;
+              display: inline-block;
+              position: absolute;
+              top: 50%;
+              left: 50%;
+              transform: translate(-50%,-50%);
+              z-index: -1;
+              filter: blur(4px);
+            }
           }
           >span{
             display: inline-block;

+ 25 - 14
src/framework/showMobile/popup/password.vue

@@ -8,7 +8,7 @@
           </span>
         </div>
         <div class="ui-message-main re-name">
-          <div>
+          <div :class="{active: isPassWordFocus}">
             <input
               @keyup.enter="emitname"
               class="ui-input"
@@ -16,7 +16,6 @@
               maxlength="20"
               placeholder="请输入访问密码"
               v-model="key"
-              :class="{active: isPassWordFocus}" 
               @focusin="isPassWordFocus = true" 
               @focusout="isPassWordFocus = false"
             />
@@ -26,8 +25,8 @@
         <div class="ma-line"></div>
         <div class="ui-message-footer">
           <div class="btn">
-            <button @click="emitname" class="ui-button ui-button-rect submit" :class="{disable:!key}" >
-              确
+            <button @click="emitname" class="ui-button submit" :class="{disable:!key}" >
+              确
             </button>
           </div>
         </div>
@@ -66,17 +65,18 @@ export default {
   filter:blur(10px);
 }
 .ui-message-confirm{
-  border-radius: 0;
+  background: #FFFFFF;
+  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);
+  border-radius: 4px;
+  border: 1px solid #E4E7ED;
   .icon_close{
     color: #909090;
   }
   
 
   .ui-message-header{
-    border-bottom: 1px solid #EBEBEB;
   }
   .ui-message-main{
-    width: 80%;
     margin: 20px auto;
     background: #fff;
     .ui-input{
@@ -84,11 +84,14 @@ export default {
       border: 1px solid rgba(#909090,0.5);
       color: #909090;
     }
-    .active{
-      border: 1px solid #0076F6;
-    }
+    
     >div{
       position: relative;
+      width: 100%;
+      height: 36px;
+      background: #FFFFFF;
+      border-radius: 4px;
+      border: 1px solid #EBEDF0;
       >i{
         position: absolute;
         right: 10px;
@@ -101,12 +104,22 @@ export default {
         cursor: pointer;
         font-size: 14px;
       }
+      .ui-input{
+        color: #969799;
+        background: none;
+        border: none;
+        width: 100%;
+        height: 100%;
+      }
+    }
+
+    .active{
+      border-color: #0076F6;
     }
   }
   .ui-message-footer{
     width: 100%;
     padding-top: 20px;
-    border-top: 1px solid #EBEBEB;
     .btn{
       width: 80%;
       display: flex;
@@ -193,14 +206,12 @@ export default {
 
 .cancel{
   background: #EBEBEB;
-
 }
 
 
 
 .ui-message-header{
-  font-weight: bold;
-  font-size: 16px;
+  font-size: 18px;
 }
 
 

+ 17 - 3
src/views/hotspot/EditPanel.vue

@@ -172,8 +172,8 @@ export default {
     for (let i = 0; i < 12; i++) {
       hotStyle[i] = {
         id:'icon'+(i+1),
-        img:cdn+`img_doticon_${String(i+1).padStart(2, '0')}@2x.png`,
-        thumb:cdn+`img_doticon_${String(i+1).padStart(2, '0')}@2x.png`
+        img:cdn+`img_doticon_${String(i+1).padStart(2, '0')}.svg`,
+        thumb:cdn+`img_doticon_${String(i+1).padStart(2, '0')}.svg`
       }
     }
 
@@ -257,10 +257,24 @@ export default {
       immediate:true,
       handler:function (newVal) {
         let krpano = document.getElementById('krpanoSWFObject');
-        let h = 50
+        let h = 52
         let scaleH = h*newVal
+
+        let offset = '-130%'
+
         this.rang = { ...this.rang, value: newVal }
         krpano.set(`hotspot[${this.hotspot.name}].height`,scaleH)
+        
+        if (newVal < 1) {
+          offset = '-200%'
+        }
+
+        if (newVal > 1) {
+          offset = '-100%'
+        }
+        krpano.set('layer[tooltip_'+this.hotspot.name+'].y',`${offset}`)
+
+
       }
     },
     'hotspot.fontSize':{

+ 4 - 0
src/views/hotspot/hotspotType/audio.vue

@@ -130,6 +130,9 @@ export default {
     left: 50%;
     width: 90%;
     color: @color;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
   }
   .del{
       display: none;
@@ -143,6 +146,7 @@ export default {
       >.ui-button{
         display: flex;
         align-items: center;
+        justify-content: center;
         width: auto;
         padding: 0 10px;
         margin: 0;