gemercheung 2 年之前
父节点
当前提交
c8ab664bbd

+ 1 - 1
packages/qjkankan-editor/.env.testdev

@@ -6,4 +6,4 @@ VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_ORIGIN=
 VUE_APP_URL_FILL=
-VUE_APP_DEBBUG_FLAG=0424-01
+VUE_APP_DEBBUG_FLAG=0425-02

+ 1 - 1
packages/qjkankan-editor/.env.testprod

@@ -7,4 +7,4 @@ VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_ORIGIN=
 VUE_APP_URL_FILL=/qjkankan
-VUE_APP_DEBBUG_FLAG=0424-03
+VUE_APP_DEBBUG_FLAG=0425-02

+ 8 - 4
packages/qjkankan-editor/src/components/table/index.vue

@@ -4,7 +4,7 @@
     <ul class="t-header" :class="{ 'bottom-line': showLine }">
       <!-- 复选框 -->
       <div
-        v-show="selection && !isAllSelected"
+        :class="{ show: selection && !isAllSelected }"
         class="checkbox inactive"
         @click="onClickSelectAll"
       ></div>
@@ -47,7 +47,8 @@
       >
         <!-- 复选框 -->
         <div
-          v-show="selection && !selectedIdList.some((id) => id === lineData.id)"
+          
+          :class="{ show: selection && !selectedIdList.some((id) => id === lineData.id) }"
           class="checkbox inactive"
           @click="selectItem(lineData, i)"
         />
@@ -239,6 +240,10 @@ export default {
     height: 16px;
     cursor: pointer;
     user-select: none;
+    visibility: hidden;
+    &.show{
+      visibility: visible;
+    }
   }
   .inactive {
     border-radius: 2px;
@@ -291,12 +296,11 @@ export default {
           > div {
             top: 46px;
             &::before {
- 
               border: 7px solid transparent;
               border-bottom: 7px solid #fff;
               bottom: initial;
               top: -14px;
-            
+
               // transform: rotate(180deg);
             }
           }

+ 9 - 6
packages/qjkankan-editor/src/utils/other.js

@@ -231,26 +231,29 @@ export function preOrderTraversalSearch(root, checkNode, targetNodePath) {
 }
 export function nodeIdList2nodeInfoListByNodeTree(nodeIdList, nodeTree) {
   nodeIdList = nodeIdList.filter(i => i);
-  console.assert(nodeIdList && nodeTree && nodeTree.id && nodeTree.name, 'nodeIdList2nodeInfoListByNodeTree: invalid param!')
-  if (nodeIdList.length === 0) {
+ if (nodeIdList.length === 0) {
     return null
   }
-  console.assert(nodeTree.id === nodeIdList[0], 'nodeIdList2nodeInfoListByNodeTree: 不可能的任务!', nodeTree, nodeIdList)
-  let ret = [
+
+  console.log('nodeIdList',nodeIdList)
+  console.log('nodeTree',nodeTree)
+
+ let ret = [
     {
       id: nodeTree.id,
       name: nodeTree.name,
     }
   ]
   if (nodeIdList[1] || nodeIdList[1] === 0) {
-    console.assert(nodeTree.children && nodeTree.children.length > 0, 'nodeIdList2nodeInfoListByNodeTree: 不可能的任务2!')
+    // console.assert(nodeTree.children && nodeTree.children.length > 0, 'nodeIdList2nodeInfoListByNodeTree: 不可能的任务2!')
     const nextLevelRoot = nodeTree.children.find((item) => {
       return item.id === nodeIdList[1]
     })
+    console.log('nextLevelRoot',nextLevelRoot)
     // console.assert(nextLevelRoot, 'nodeIdList2nodeInfoListByNodeTree: invalid param 2!')
     ret = ret.concat(nodeIdList2nodeInfoListByNodeTree(nodeIdList.slice(1, nodeIdList.length), nextLevelRoot))
   }
-  console.log('nodeIdList2nodeInfoListByNodeTree', ret);
+
   return ret
 }
 

+ 5 - 3
packages/qjkankan-editor/src/views/material/folderMixinFactory.js

@@ -175,7 +175,7 @@ export default function (materialType) {
             this.selectedList = []
             this.refreshListDebounced()
           });
-        } 
+        }
 
       },
 
@@ -229,6 +229,7 @@ export default function (materialType) {
           const targetPathIdList = folder.ancestors.split(',').map((item) => {
             return Number(item)
           })
+          console.log('targetPathIdList', targetPathIdList);
           targetPathIdList.push(folder.id)
           this.folderPath = nodeIdList2nodeInfoListByNodeTree(targetPathIdList, this.folderTree)
           this.searchKey = ''
@@ -241,7 +242,9 @@ export default function (materialType) {
         }).then((res) => {
 
           this.folderTree = res.data
-          console.log('clickedItem.type', clickedItem);
+
+          console.log('clickedItem', clickedItem);
+
           if (clickedItem.type === 'dir') {
             const targetPathIdList = clickedItem.ancestors.split(',').map((item) => {
               return Number(item)
@@ -249,7 +252,6 @@ export default function (materialType) {
 
             this.folderPath = nodeIdList2nodeInfoListByNodeTree(targetPathIdList, this.folderTree)
           } else {
-            // 在folderTree里找到id等于clickedItem.dirId的那个文件夹,从而确定folderPath
             let targetNodePath = []
             preOrderTraversalSearch(this.folderTree, (node) => {
               if (node.id === clickedItem.dirId) {

+ 3 - 0
packages/qjkankan-editor/src/views/material/image/index.vue

@@ -343,6 +343,9 @@ export default {
   watch: {
     searchKey: {
       handler: function () {
+        if (val.length > 0) {
+          this.selectedList = [];
+        }
         this.refreshListDebounced();
       },
       immediate: false,

+ 4 - 1
packages/qjkankan-editor/src/views/material/pano/index.vue

@@ -385,7 +385,10 @@ export default {
       immediate: true,
     },
     searchKey: {
-      handler: function () {
+      handler: function (val) {
+        if (val.length > 0) {
+          this.selectedList = [];
+        }
         this.refreshListDebounced();
       },
       immediate: false,

+ 3 - 5
packages/qjkankan-editor/src/views/material/popup/cover.vue

@@ -111,7 +111,7 @@ export default {
 
 <style lang="less" scoped>
 .ui-message-confirm {
-  width: 600px;
+  width: 472px;
   height: 421px;
   overflow: visible;
 
@@ -127,11 +127,9 @@ export default {
       > iframe,
       > img {
         margin-bottom: 10px;
-        width: 300px;
-        height: 300px;
+        width: 200px;
+        height: 200px;
         border-radius: 4px;
-        border: none;
-        outline: 0;
       }
       > div {
         display: flex;

+ 3 - 0
packages/qjkankan-editor/src/views/material/video/index.vue

@@ -336,6 +336,9 @@ export default {
   watch: {
     searchKey: {
       handler: function () {
+        if (val.length > 0) {
+          this.selectedList = [];
+        }
         this.refreshListDebounced();
       },
       immediate: false,

+ 3 - 0
packages/qjkankan-editor/src/views/material/works/index.vue

@@ -172,6 +172,9 @@ export default {
   watch: {
     searchKey: {
       handler: function () {
+        if (val.length > 0) {
+          this.selectedList = [];
+        }
         this.refreshListDebounced()
       },
       immediate: false,

+ 1 - 1
packages/qjkankan-view/.env.testdev

@@ -6,4 +6,4 @@ VUE_APP_URL_FILL=
 
 # 接口请求地址
 VUE_APP_APIS_URL=https://test.4dkankan.com/
-VUE_APP_DEBBUG_FLAG=0424-01
+VUE_APP_DEBBUG_FLAG=0425-01

+ 1 - 1
packages/qjkankan-view/.env.testprod

@@ -6,4 +6,4 @@ VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_URL_FILL=/qjkankan
 # 接口请求地址
 VUE_APP_APIS_URL=https://test.4dkankan.com/
-VUE_APP_DEBBUG_FLAG=0424-01
+VUE_APP_DEBBUG_FLAG=0425-01

+ 33 - 12
packages/qjkankan-view/src/components/assembly/Opening.vue

@@ -45,12 +45,8 @@
       alt=""
     />
 
-    <div @click.stop="jumpVideo" class="jump">
-      {{
-        countdownVideo > 0
-          ? $t("common.jumpTips", { second: countdownVideo })
-          : $t("common.jump")
-      }}
+    <div @click.stop="jumpVideo" class="jump" v-if="countdownVideo == 0">
+      {{ $t("common.jump") }}
     </div>
   </div>
 
@@ -65,7 +61,7 @@
     }"
   >
     <div
-      @click="jumpImage"
+      @click="jumpImage(0)"
       class="image-front"
       :style="{
         backgroundImage: `url(${coverData.coverPc})`,
@@ -86,7 +82,7 @@
             : `${coverData.imgColorSelec}`,
       }"
     ></div>
-    <div @click.stop="jumpImage" class="jump">
+    <div @click.stop="jumpImage(1)" class="jump" v-if="isImageAutoNext">
       {{
         countdownImg > 0
           ? $t("common.jumpTips", { second: countdownImg })
@@ -162,19 +158,42 @@ const videoIndex = ref(1);
 const currentScene = computed(() => store.getters["scene/currentScene"]);
 
 //手动跳转
-const jumpImage = () => {
+/**
+ *  跳转逻辑PM设定非奇怪,要注意
+ *  @TODO 图片模式 button 3秒倒只作装饰显示,不参与逻辑
+ *
+ *  */
+
+const jumpImage = (from = 0) => {
+  // 0 来自元素click, 1.来自跳转按钮
   if (unref(isMixinMode)) {
     if (unref(showImageFirst)) {
       imgShow.value = false;
       videoShow.value = true;
       startVideoCount();
     } else {
-      if (unref(isImageCountDone)) {
+      // 强制跳转
+      // 非自动模式强制跳转
+      if (from === 0 && !unref(isImageAutoNext)) {
+        toApp();
+      }
+      if (from === 1) {
+        toApp();
+      }
+      if (unref(isImageAutoNext) && unref(isImageCountDone)) {
         toApp();
       }
     }
   } else {
-    if (unref(isImageCountDone)) {
+    // 非自动模式强制跳转
+    if (from === 0 && !unref(isImageAutoNext)) {
+      toApp();
+    }
+    // 非自动模式强制跳转
+    if (from === 1) {
+      toApp();
+    }
+    if (unref(isImageAutoNext) && unref(isImageCountDone)) {
       toApp();
     }
   }
@@ -188,7 +207,9 @@ const jumpVideo = () => {
       videoShow.value = false;
       startImageCount();
     } else {
-      toApp();
+      if (unref(isVideoCountDone)) {
+        toApp();
+      }
     }
   } else {
     if (unref(isVideoCountDone)) {

+ 34 - 12
packages/qjkankan-view/src/components/assembly/OpeningMobile.vue

@@ -47,12 +47,8 @@
       alt=""
     />
 
-    <div @click.stop="jumpVideo" class="jump">
-      {{
-        countdownVideo > 0
-          ? $t("common.jumpTips", { second: countdownVideo })
-          : $t("common.jump")
-      }}
+    <div @click.stop="jumpVideo" class="jump" v-if="countdownVideo == 0">
+      {{ $t("common.jump") }}
     </div>
   </div>
 
@@ -67,7 +63,7 @@
     }"
   >
     <div
-      @click="jumpImage"
+      @click="jumpImage(0)"
       class="image-front"
       :style="{
         backgroundImage: `url(${coverData.coverMo})`,
@@ -88,7 +84,7 @@
             : `${coverData.imgColorSelec}`,
       }"
     ></div>
-    <div @click.stop="jumpImage" class="jump">
+    <div @click.stop="jumpImage(1)" class="jump">
       {{
         countdownImg > 0
           ? $t("common.jumpTips", { second: countdownImg })
@@ -161,7 +157,7 @@ const videoShow = ref(false);
 const imgIndex = ref(1);
 const videoIndex = ref(1);
 
-const currentScene = computed(() => store.getters["scene/currentScene"]);
+
 
 const handleVideoPlay = () => {
   // window.alert("play");
@@ -170,22 +166,48 @@ const handleVideoPlay = () => {
 };
 
 //手动跳转
-const jumpImage = () => {
+/**
+ *  跳转逻辑PM设定非奇怪,要注意
+ *  @TODO 图片模式 button 3秒倒只作装饰显示,不参与逻辑
+ *
+ *  */
+
+ const jumpImage = (from = 0) => {
+  // 0 来自元素click, 1.来自跳转按钮
   if (unref(isMixinMode)) {
     if (unref(showImageFirst)) {
       imgShow.value = false;
       videoShow.value = true;
       startVideoCount();
     } else {
-      toApp();
+      // 强制跳转
+      // 非自动模式强制跳转
+      if (from === 0 && !unref(isImageAutoNext)) {
+        toApp();
+      }
+      if (from === 1) {
+        toApp();
+      }
+      if (unref(isImageAutoNext) && unref(isImageCountDone)) {
+        toApp();
+      }
     }
   } else {
-    if (unref(isImageCountDone)) {
+    // 非自动模式强制跳转
+    if (from === 0 && !unref(isImageAutoNext)) {
+      toApp();
+    }
+    // 非自动模式强制跳转
+    if (from === 1) {
+      toApp();
+    }
+    if (unref(isImageAutoNext) && unref(isImageCountDone)) {
       toApp();
     }
   }
 };
 
+
 //手动跳转
 const jumpVideo = () => {
   if (unref(isMixinMode)) {