Ver Fonte

feat(productionPlan): BOM对比对话框支持全屏模式

yusheng há 1 mês atrás
pai
commit
6fa67495e9
1 ficheiros alterados com 22 adições e 2 exclusões
  1. 22 2
      src/views/productionPlan/components/BomCompareDialog.vue

+ 22 - 2
src/views/productionPlan/components/BomCompareDialog.vue

@@ -11,13 +11,15 @@
     :resizable="false"
     :close-on-click-modal="false"
     :before-close="close"
+    @update:fullscreen="handleFullscreenChange"
+    :fullscreen="isTreefullscreen"
   >
     <div
       class="bom-compare"
       v-loading="comparing || detailLoading"
       element-loading-text="正在分析 BOM 差异..."
     >
-      <div class="compare-source-bar">
+      <div class="compare-source-bar" v-show="!isTreefullscreen">
         <section class="source-panel source-panel--left">
           <div class="source-panel__title">
             <span class="source-badge">A</span>
@@ -101,7 +103,7 @@
         </section>
       </div>
 
-      <div class="compare-control-bar">
+      <div class="compare-control-bar" v-show="!isTreefullscreen">
         <div class="control-group">
           <span class="control-label">比较层级</span>
           <el-radio-group
@@ -193,6 +195,16 @@
           </button>
         </div>
         <div class="tree-actions">
+          <el-tooltip content="全屏" placement="top">
+            <el-button
+              v-if="!isTreefullscreen"
+              size="mini"
+              icon="el-icon-full-screen"
+              circle
+              @click="isTreefullscreen = true"
+            />
+           
+          </el-tooltip>
           <el-tooltip content="展开全部层级" placement="top">
             <el-button
               size="mini"
@@ -543,6 +555,7 @@
     data() {
       return {
         visible: false,
+        isTreefullscreen: false,
         comparing: false,
         optionsLoading: false,
         detailLoading: false,
@@ -666,6 +679,13 @@
       }
     },
     methods: {
+    
+      handleFullscreenChange(val) {
+        if (!val) {
+          this.isTreefullscreen = false;
+        }
+      },
+
       openMockComparison(plan) {
         const selected = Array.isArray(plan) ? plan[0] : plan;
         const productCode = selected && (selected.productCode || selected.code);