| 
					
				 | 
			
			
				@@ -6,21 +6,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  !--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div class="layout"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div v-if="toolIsShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         class="layout-left" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         :style="{ width: widthLeftForTools + 'px' }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-tabs type="border-card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :stretch="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-if="toolIsShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="layout-left" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :style="{ width: widthLeftForTools + 'px' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-tabs type="border-card" :stretch="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <!-- 左侧组件栏--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-tab-pane label="工具栏"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <!-- <el-divider content-position="center">html</el-divider>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <draggable v-for="widget in widgetTools" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     :key="widget.code" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     @end="evt => widgetOnDragged(evt, widget.code)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <draggable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="widget in widgetTools" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :key="widget.code" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @end="evt => widgetOnDragged(evt, widget.code)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="tools-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <span class="tools-item-icon"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <i class="iconfont" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   :class="widget.icon"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <i class="iconfont" :class="widget.icon"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <span class="tools-item-text">{{ widget.label }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,14 +30,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <!-- 左侧图层--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-tab-pane label="图层"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div v-for="(item, index) in layerWidget" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               class="tools-item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :class="widgetIndex == index ? 'is-active' : ''" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               @click="layerClick(index)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="(item, index) in layerWidget" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="tools-item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :class="widgetIndex == index ? 'is-active' : ''" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="layerClick(index)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <span class="tools-item-icon"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <i class="iconfont" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 :class="item.icon"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <i class="iconfont" :class="item.icon"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <span class="tools-item-text">{{ item.label }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,40 +46,49 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="layout-left-fold" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         :style="{ width: widthLeftForToolsHideButton + 'px' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         @click="toolIsShow = !toolIsShow"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="layout-left-fold" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :style="{ width: widthLeftForToolsHideButton + 'px' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @click="toolIsShow = !toolIsShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <i class="el-icon-arrow-right" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="layout-middle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         :style="{ width: middleWidth + 'px', height: middleHeight + 'px' }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="layout-middle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :style="{ width: middleWidth + 'px', height: middleHeight + 'px' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="top-button"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span class="btn"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-tooltip class="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      content="保存" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      placement="bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <i class="iconfont iconsave" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               @click="saveData"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content="保存" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placement="bottom" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <i class="iconfont iconsave" @click="saveData"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span class="btn"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-tooltip class="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      content="预览" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      placement="bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <i class="iconfont iconyulan" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               @click="viewScreen"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            effect="dark" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content="预览" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placement="bottom" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <i class="iconfont iconyulan" @click="viewScreen"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span class="btn border-left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <ul class="nav"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <li><i class="el-icon-brush"></i><i class="el-icon-arrow-down"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <i class="el-icon-brush"></i><i class="el-icon-arrow-down"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div><i class="el-icon-full-screen mr10"></i>边框 <i class="el-icon-arrow-right ml20"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <i class="el-icon-full-screen mr10"></i>边框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <i class="el-icon-arrow-right ml20"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <ul class="three-level"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <li><a href="#">边框1</a></li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <li><a href="#">边框2</a></li> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -84,7 +96,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div><i class="el-icon-magic-stick mr10"></i>装饰<i class="el-icon-arrow-right ml20"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <i class="el-icon-magic-stick mr10"></i>装饰<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class="el-icon-arrow-right ml20" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <ul class="three-level"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <li><a href="#">装饰1</a></li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </ul> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -94,22 +110,27 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div class="workbench-container" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="workbench-container" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           width: bigscreenWidthInWorkbench + 'px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           height: bigscreenHeightInWorkbench + 'px' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           @mousedown="handleMouseDown"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <vue-ruler-tool v-model="dashboard.presetLine" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        class="vueRuler" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :step-length="50" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :parent="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :position="'relative'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :is-scale-revise="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :visible.sync="dashboard.presetLineVisible"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div id="workbench" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               class="workbench" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @mousedown="handleMouseDown" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <vue-ruler-tool 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-model="dashboard.presetLine" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class="vueRuler" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :step-length="50" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :parent="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :position="'relative'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :is-scale-revise="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :visible.sync="dashboard.presetLineVisible" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            id="workbench" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="workbench" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               transform: workbenchTransform, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               width: bigscreenWidth + 'px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               height: bigscreenHeight + 'px', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,56 +143,70 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               'background-origin': 'initial', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               'background-clip': 'initial' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               @click.self="setOptionsOnClickScreen"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <widget ref="widgets" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-for="(widget, index) in widgets" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-model="widget.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :index="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :type="widget.type" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :bigscreen="{ bigscreenWidth, bigscreenHeight }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    @onActivated="setOptionsOnClickWidget" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    @contextmenu.prevent.native="rightClick($event, index)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    @mousedown.prevent.native="widgetsClick(index)" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click.self="setOptionsOnClickScreen" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <widget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ref="widgets" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="(widget, index) in widgets" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model="widget.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :index="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :type="widget.type" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :bigscreen="{ bigscreenWidth, bigscreenHeight }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @onActivated="setOptionsOnClickWidget" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @contextmenu.prevent.native="rightClick($event, index)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @mousedown.prevent.native="widgetsClick(index)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </vue-ruler-tool> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="layout-right" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         :style="{ width: widthLeftForOptions + 'px' }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-tabs v-model="activeName" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               type="border-card" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :stretch="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-tab-pane v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="layout-right" :style="{ width: widthLeftForOptions + 'px' }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-tabs v-model="activeName" type="border-card" :stretch="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-tab-pane 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isNotNull(widgetOptions.setup) || isNotNull(widgetOptions.collapse) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     name="first" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     label="配置"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <dynamicForm ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :options="widgetOptions.setup" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       @onChanged="val => widgetValueChanged('setup', val)" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name="first" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label="配置" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <dynamicForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :options="widgetOptions.setup" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @onChanged="val => widgetValueChanged('setup', val)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-tab-pane v-if="isNotNull(widgetOptions.data)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     name="second" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     label="数据"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <dynamicForm ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :options="widgetOptions.data" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       @onChanged="val => widgetValueChanged('data', val)" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-tab-pane 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-if="isNotNull(widgetOptions.data)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name="second" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label="数据" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <dynamicForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :options="widgetOptions.data" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @onChanged="val => widgetValueChanged('data', val)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-tab-pane v-if="isNotNull(widgetOptions.position)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     name="third" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     label="坐标"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <dynamicForm ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :options="widgetOptions.position" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       @onChanged="val => widgetValueChanged('position', val)" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-tab-pane 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-if="isNotNull(widgetOptions.position)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name="third" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label="坐标" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <dynamicForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ref="formData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :options="widgetOptions.position" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @onChanged="val => widgetValueChanged('position', val)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <content-menu :visible.sync="visibleContentMenu" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :style-obj="styleObj" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  @deletelayer="deletelayer" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <content-menu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :visible.sync="visibleContentMenu" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :style-obj="styleObj" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @deletelayer="deletelayer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,7 +227,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dynamicForm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     contentMenu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       layerWidget: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       widgetTools: widgetTools, // 左侧工具栏的组件图标,将js变量加入到当前作用域 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,7 +294,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 左侧折叠切换时,动态计算中间区的宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    middleWidth () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    middleWidth() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var widthLeftAndRight = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.toolIsShow) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         widthLeftAndRight += this.widthLeftForTools; // 左侧工具栏宽度 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -270,36 +305,37 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var middleWidth = this.bodyWidth - widthLeftAndRight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return middleWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    middleHeight () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    middleHeight() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.bodyHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 设计台按大屏的缩放比例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    bigscreenScaleInWorkbench () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bigscreenScaleInWorkbench() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var widthScale = this.middleWidth / this.bigscreenWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var heightScale = this.middleHeight / this.bigscreenHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return Math.min(widthScale, heightScale); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    workbenchTransform () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return `scale(${this.bigscreenScaleInWorkbench}, ${this.bigscreenScaleInWorkbench 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        })`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workbenchTransform() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return `scale(${this.bigscreenScaleInWorkbench}, ${ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.bigscreenScaleInWorkbench 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      })`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 大屏在设计模式的大小 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    bigscreenWidthInWorkbench () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bigscreenWidthInWorkbench() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.getPXUnderScale(this.bigscreenWidth); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    bigscreenHeightInWorkbench () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bigscreenHeightInWorkbench() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.getPXUnderScale(this.bigscreenHeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     widgets: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handler (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handler(val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.handlerLayerWidget(val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deep: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mounted () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 一进入时,加载屏幕配置属性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.setOptionsOnClickScreen(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,7 +344,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.widgets = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handlerLayerWidget (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handlerLayerWidget(val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const layerWidgetArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let i = 0; i < val.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const obj = {}; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -323,7 +359,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.layerWidget = layerWidgetArr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async initEchartData () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async initEchartData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const reportCode = this.$route.query.reportCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const { code, data } = await detailDashboard(reportCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (code != 200) return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -332,7 +368,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.widgets = processData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.dashboard = screenData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleBigScreen (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBigScreen(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const optionScreen = this.deepClone(getToolByCode("screen").options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const setup = optionScreen.setup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (const key in data) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -350,7 +386,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         width: data.width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleInitEchartsData (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleInitEchartsData(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const widgets = data.dashboard.widgets; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const widgetsData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let i = 0; i < widgets.length; i++) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -370,7 +406,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return widgetsData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleOptionsData (data, option) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleOptionsData(data, option) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (const key in data.setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (let i = 0; i < option.setup.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let item = option.setup[i]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -409,7 +445,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return option; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 保存数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async saveData () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async saveData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!this.widgets || this.widgets.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$message.error("请添加组件"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -431,7 +467,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 预览 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    viewScreen () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    viewScreen() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var routeUrl = this.$router.resolve({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         path: "/bigscreen/viewer", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         query: { reportCode: this.$route.query.reportCode } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -439,12 +475,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       window.open(routeUrl.href, "_blank"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 在缩放模式下的大小 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getPXUnderScale (px) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getPXUnderScale(px) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.bigscreenScaleInWorkbench * px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 拖动一个组件放到工作区中去,在拖动结束时,放到工作区对应的坐标点上去 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    widgetOnDragged (evt, widgetCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    widgetOnDragged(evt, widgetCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var widgetType = widgetCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 获取结束坐标和列名 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -485,7 +521,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 对组件默认值处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleDefaultValue (widgetJson) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleDefaultValue(widgetJson) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (const key in widgetJson) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (key == "options") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // collapse、data、position、setup 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -525,12 +561,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return widgetJson; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    layerClick (index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    layerClick(index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.widgetIndex = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.widgetsClick(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 如果是点击大屏设计器中的底层,加载大屏底层属性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setOptionsOnClickScreen () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setOptionsOnClickScreen() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.screenCode = "screen"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 选中不同的组件 右侧都显示第一栏 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.activeName = "first"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -538,7 +574,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 如果是点击某个组件,获取该组件的配置项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setOptionsOnClickWidget (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setOptionsOnClickWidget(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.screenCode = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (typeof obj == "number") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.widgetOptions = this.deepClone(this.widgets[obj]["options"]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -558,7 +594,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.widgetOptions = this.deepClone(this.widgets[obj.index]["options"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    widgetsClick (index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    widgetsClick(index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const draggableArr = this.$refs.widgets; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let i = 0; i < draggableArr.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (i == index) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -569,14 +605,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.setOptionsOnClickWidget(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleMouseDown () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleMouseDown() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const draggableArr = this.$refs.widgets; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let i = 0; i < draggableArr.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$refs.widgets[i].$refs.draggable.setActive(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 将当前选中的组件,右侧属性值更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    widgetValueChanged (key, val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    widgetValueChanged(key, val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.screenCode == "screen") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.dashboard = this.deepClone(val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -588,7 +624,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    rightClick (event, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rightClick(event, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.rightClickIndex = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const left = event.clientX; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const top = event.clientY; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -602,10 +638,10 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.visibleContentMenu = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    deletelayer () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deletelayer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.widgets.splice(this.rightClickIndex, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setDefaultValue (options, val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setDefaultValue(options, val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let i = 0; i < options.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Object.prototype.toString.call(options[i]) == "[object Object]") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (const k in val) { 
			 |