hbchen vor 1 Jahr
Ursprung
Commit
49f91f5747

BIN
src/assets/img/sand_new/tools/arrow-end-disabled.png


BIN
src/assets/img/sand_new/tools/arrow-start-disabled.png


BIN
src/assets/img/sand_new/tools/background-color-disabled.png


BIN
src/assets/img/sand_new/tools/bold-disabled.png


BIN
src/assets/img/sand_new/tools/italic-disabled.png


BIN
src/assets/img/sand_new/tools/line-color-disabled.png


BIN
src/assets/img/sand_new/tools/line-height-disabled.png


BIN
src/assets/img/sand_new/tools/line-style-disabled.png


BIN
src/assets/img/sand_new/tools/line-type-disabled.png


BIN
src/assets/img/sand_new/tools/select-icon.png


BIN
src/assets/img/sand_new/tools/text-align-disabled.png


BIN
src/assets/img/sand_new/tools/text-color-disabled.png


BIN
src/assets/img/sand_new/tools/underline-disabled.png


+ 2 - 1
src/views/sandbox_manage/common/toolConfig.js

@@ -30,7 +30,8 @@ export const familyOptions = [
 export const fontSizeOptions = [
 	{name:'12px',value:12},
 	{name:'14px',value:14},
-	{name:'16px',value:16}
+	{name:'16px',value:16},
+	{name:'18px',value:18}
 ]
 export const lineHeightOptions = [
 	{name:'1',value:1},

+ 261 - 117
src/views/sandbox_manage/sandFlowNew/index.vue

@@ -21,11 +21,6 @@
             <div class="sand-elements sand-elements-shape">
               <span>基本形状</span>
               <div class="elements-row">
-                <!-- <img src="~@/assets/img/chart_m/User.png" @mousedown="dragStart('singleArrowBend',$event)"/>
-                <img src="~@/assets/img/chart_m/User_act.png" @mousedown="dragStart('doubleArrowBend',$event)"/>
-                <img src="~@/assets/img/chart_m/View.png" @mousedown="dragStart('noArrowBoundBend',$event)"/>
-                <img src="~@/assets/img/chart_m/View_act.png" @mousedown="dragStart('singleArrowBoundBend',$event)"/>
-                <img src="~@/assets/img/chart_m/View_act.png" @mousedown="dragStart('doubleArrowBoundBend',$event)"/> -->
                 <div class="elements-shape-item" v-for="shape in myNodes" :key="shape.key">
                   <div 
                     :style="shape.styles" 
@@ -33,15 +28,6 @@
                     {{shape.label}}
                   </div>
                 </div>
-
-                <!-- <img 
-                  class="elements-shape-item"
-                  :src="shape.img"
-                  v-for="shape in myNodes" 
-                  :key="shape.key"
-                  :style="shape.styles" 
-                  @mousedown="dragStart(shape,$event)"
-                /> -->
               </div>
             </div>
             <div class="sand-elements sand-elements-mind">
@@ -111,109 +97,193 @@
       </div>
       <div class="sand-main-body">
         <div class="sand-mainBody-tool" id="sand-mainBody-tool">
-          <!-- <div class="sand-tool-item" :style="{'color':canUndo?'#000000':'#999999'}" @click="toolClickOptions('undo')">撤销</div>
-          <div class="sand-tool-item" :style="{'color':canRedo?'#000000':'#999999'}" @click="toolClickOptions('redo')">恢复</div> -->
-          <img :src="canUndo?require('@/assets/img/sand_new/tools/undo.png'):require('@/assets/img/sand_new/tools/undo-disabled.png')" 
-          class="sand-tool-item"  @click="toolClickOptions('undo')"/>
-          <img :src="canRedo?require('@/assets/img/sand_new/tools/redo.png'):require('@/assets/img/sand_new/tools/redo-disabled.png')" 
-          class="sand-tool-item"  @click="toolClickOptions('redo')"/>
-
-          <div class="sand-tool-item" id="sand-tool-fontFamily">
-            <el-select v-model="styleOptions.fontF" placeholder="字体" @change="(e)=>toolClickOptions('changeFamily',e)"
-              :disabled="toolStatus.nodeDisabled && toolStatus.textDisabled">
-              <el-option :label="f.name" :value="f.value" v-for="f in familyOptions" :key="f.name"></el-option>
-            </el-select>
+          <el-tooltip content="撤销(Ctrl+Z)" placement="top" :open-delay="250">
+            <img :src="canUndo?require('@/assets/img/sand_new/tools/undo.png'):require('@/assets/img/sand_new/tools/undo-disabled.png')" 
+            class="sand-tool-item"  @click="toolClickOptions('undo',!canUndo)" :class="nodeTextDisable?'tool-disabled':''"/>
+          </el-tooltip>
+          <el-tooltip content="恢复(Ctrl+Y)" placement="top" :open-delay="250">
+            <img :src="canRedo?require('@/assets/img/sand_new/tools/redo.png'):require('@/assets/img/sand_new/tools/redo-disabled.png')" 
+            class="sand-tool-item"  @click="toolClickOptions('redo',!canRedo)" :class="nodeTextDisable?'tool-disabled':''"/>
+          </el-tooltip>
+          <div class="sand-tool-item">
+              <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeFamily',nodeTextDisable,e)"
+                placement="bottom">
+                <div :class="nodeTextDisable?'tool-disabled':''" class="dropdown-box">
+                  <el-tooltip content="字体" placement="top" :open-delay="250">
+                    <div class="dropdown-content"  >
+                      <div class="dropdown-content-text" >{{ styleOptions.fontF }}</div>
+                      <img src="~@/assets/img/sand_new/tools/select-icon.png" style="width: 8px;height: 5px;"/>
+                    </div>
+                  </el-tooltip>
+                  <el-tooltip content="字体" placement="top" :open-delay="250">
+                    <span v-show="nodeTextDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                  </el-tooltip>
+                </div>
+							<el-dropdown-menu slot="dropdown">
+								<el-dropdown-item v-for="f in familyOptions" :command="f.value" :key="f.value"
+                :class="styleOptions.fontF==f.value?'style-acitve':''">
+                    {{ f.name }}
+								</el-dropdown-item>
+							</el-dropdown-menu>
+						</el-dropdown>
           </div>
-          <div class="sand-tool-item" id="sand-tool-fontSize">
-            <el-select v-model="styleOptions.fontS" placeholder="字号" @change="(e)=>toolClickOptions('changeSize',e)">
-              <el-option :label="s.name" :value="s.value" v-for="s in fontSizeOptions" :key="s.name"></el-option>
-            </el-select>
+          <div class="sand-tool-item">
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeSize',nodeTextDisable,e)"
+              placement="bottom">
+              <div :class="nodeTextDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="字号" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <div class="dropdown-content-text" >{{ styleOptions.fontS }}</div>
+                    <img src="~@/assets/img/sand_new/tools/select-icon.png" style="width: 8px;height: 5px;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="字号" placement="top" :open-delay="250">
+                  <span v-show="nodeTextDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
+							<el-dropdown-menu slot="dropdown">
+								<el-dropdown-item v-for="s in fontSizeOptions" :command="s.name" :key="s.name"
+                :class="styleOptions.fontS==s.name?'style-acitve':''">
+                    {{ s.name }}
+								</el-dropdown-item>
+							</el-dropdown-menu>
+						</el-dropdown>
           </div>
-          <img src="~@/assets/img/sand_new/tools/bold.png" 
-          class="sand-tool-item"  @click="toolClickOptions('changeWeight')"/>
-          <img src="~@/assets/img/sand_new/tools/italic.png" 
-          class="sand-tool-item"  @click="toolClickOptions('changeFontStyle')"/>
-          <!-- <div class="sand-tool-item" @click="(e)=>toolClickOptions('changeWeight')">B</div>
-          <div class="sand-tool-item" @click="(e)=>toolClickOptions('changeFontStyle')">I</div> -->
-          <!-- <div class="sand-tool-item" @click="(e)=>toolClickOptions('changeDecoration')">下划线</div> -->
-          <img src="~@/assets/img/sand_new/tools/underline.png" 
-          class="sand-tool-item"  @click="toolClickOptions('changeDecoration')"/>
+          <el-tooltip content="加粗(Ctrl+B)" placement="top" :open-delay="250">
+            <img :class="nodeTextDisable?'tool-disabled':''" :src="nodeTextDisable?
+                  require('@/assets/img/sand_new/tools/bold-disabled.png'):
+                  require('@/assets/img/sand_new/tools/bold.png')" 
+            class="sand-tool-item"  @click="toolClickOptions('changeWeight',nodeTextDisable)"/>
+          </el-tooltip>      
+          <el-tooltip content="斜体" placement="top" :open-delay="250">
+            <img :class="nodeTextDisable?'tool-disabled':''" :src="nodeTextDisable?
+                  require('@/assets/img/sand_new/tools/italic-disabled.png'):
+                  require('@/assets/img/sand_new/tools/italic.png')" 
+            class="sand-tool-item"  @click="toolClickOptions('changeFontStyle',nodeTextDisable)"/>
+          </el-tooltip>      
+          <el-tooltip content="下划线" placement="top" :open-delay="250">
+            <img :class="nodeTextDisable?'tool-disabled':''" :src="nodeTextDisable?
+                  require('@/assets/img/sand_new/tools/underline-disabled.png'):
+                  require('@/assets/img/sand_new/tools/underline.png')" 
+            class="sand-tool-item"  @click="toolClickOptions('changeDecoration',nodeTextDisable)"/>
+          </el-tooltip>      
           <div class="sand-tool-item sand-tool-img">
-            <img src="~@/assets/img/sand_new/tools/text-color.png" />
-            <el-color-picker
-              key="textColor"
-              v-model="styleOptions.color"
-              size="mini"
-              :predefine="colorsOptions"
-              @change="(e)=>toolClickOptions('changeColor',e)"
-              style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
-            > 
-            </el-color-picker>
+              <img :src="nodeTextDisable?
+                  require('@/assets/img/sand_new/tools/text-color-disabled.png'):
+                  require('@/assets/img/sand_new/tools/text-color.png')" />
+            <el-tooltip content="字体颜色" placement="top" :open-delay="250">
+              <el-color-picker
+                key="textColor"
+                v-model="styleOptions.color"
+                size="mini"
+                :predefine="colorsOptions"
+                @change="(e)=>toolClickOptions('changeColor',e)"
+                style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
+                :disabled="nodeTextDisable"
+              />
+            </el-tooltip>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeTextAlign',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/line-height.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeLineHeight',nodeTextDisable,e)" 
+              placement="bottom">
+              <div :class="nodeTextDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="文本行高" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeTextDisable? 
+                      require('@/assets/img/sand_new/tools/line-height-disabled.png'):
+                      require('@/assets/img/sand_new/tools/line-height.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="文本行高" placement="top" :open-delay="250">
+                  <span v-show="nodeTextDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
-								<el-dropdown-item v-for="lh in lineHeightOptions" :command="lh.value" :key="lh.value"
-                :class="styleOptions.lineHeight==lh.value?'style-acitve':''">
-                  {{ lh.name }}
+								<el-dropdown-item v-for="s in fontSizeOptions" :command="s.name" :key="s.name"
+                :class="styleOptions.fontS==s.name?'style-acitve':''">
+                    {{ s.name }}
 								</el-dropdown-item>
 							</el-dropdown-menu>
 						</el-dropdown>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeTextAlign',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/text-align.png" style="vertical-align: middle;"/>
-								<!-- <img src="~@/assets/icons/line.svg" width="20" height="20" style="vertical-align: middle;"> -->
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeTextAlign',nodeTextDisable,e)" 
+              placement="bottom">
+              <div :class="nodeTextDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="文本对齐" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeTextDisable? 
+                      require('@/assets/img/sand_new/tools/text-align-disabled.png'):
+                      require('@/assets/img/sand_new/tools/text-align.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="文本对齐" placement="top" :open-delay="250">
+                  <span v-show="nodeTextDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
-								<el-dropdown-item command="middle" :class="styleOptions.textAlign=='middle'?'style-acitve':''">
-									<!-- <i class="iconfont icon--xuxian" style="color:'#000';fontSize:30px"></i> -->
+                <el-dropdown-item command="middle" :class="styleOptions.textAlign=='middle'?'style-acitve':''">
                   居中
 								</el-dropdown-item>
-								<el-dropdown-item command="start">
+								<el-dropdown-item command="start" :class="styleOptions.textAlign=='start'?'style-acitve':''">
                   居左
-										<!-- <i class="iconfont icon--shixian" style="color:'#000';fontSize:30px"></i> -->
 								</el-dropdown-item>
-                <el-dropdown-item command="end">
+                <el-dropdown-item command="end" :class="styleOptions.textAlign=='end'?'style-acitve':''">
                   居右
-										<!-- <i class="iconfont icon--shixian" style="color:'#000';fontSize:30px"></i> -->
 								</el-dropdown-item>
 							</el-dropdown-menu>
 						</el-dropdown>
           </div>
           <div class="sand-tool-item sand-tool-img">
-            <img src="~@/assets/img/sand_new/tools/background-color.png" />
-            <el-color-picker
-              key="backgroundColor"
-              v-model="styleOptions.backgroundColor"
-              size="mini"
-              :predefine="colorsOptions"
-              @change="(e)=>toolClickOptions('changeBackgroundColor',e)"
-              style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
-            > 
-            </el-color-picker>
+            <img :src="nodeTextDisable?
+                  require('@/assets/img/sand_new/tools/background-color-disabled.png'):
+                  require('@/assets/img/sand_new/tools/background-color.png')" />
+            <el-tooltip content="颜色填充" placement="top" :open-delay="250">
+              <el-color-picker
+                key="backgroundColor"
+                v-model="styleOptions.backgroundColor"
+                size="mini"
+                :predefine="colorsOptions"
+                @change="(e)=>toolClickOptions('changeBackgroundColor',toolStatus.nodeDisabled,e)"
+                style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
+                :disabled="nodeTextDisable"
+              />
+            </el-tooltip>
           </div>
           <div class="sand-tool-item sand-tool-img">
-            <img src="~@/assets/img/sand_new/tools/line-color.png" />
-            <el-color-picker
-              key="lineColor"
-              v-model="styleOptions.lineColor"
-              size="mini"
-              :predefine="colorsOptions"
-              @change="(e)=>toolClickOptions('changeLineColor',e)"
-              style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
-            > 
-            </el-color-picker>
+            <img :src="nodeEdgeDisable?
+                  require('@/assets/img/sand_new/tools/line-color-disabled.png'):
+                  require('@/assets/img/sand_new/tools/line-color.png')" />
+            <el-tooltip content="线条颜色" placement="top" :open-delay="250">
+              <el-color-picker
+                key="lineColor"
+                v-model="styleOptions.lineColor"
+                size="mini"
+                :predefine="colorsOptions"
+                @change="(e)=>toolClickOptions('changeLineColor',nodeEdgeDisable,e)"
+                style="position: absolute;top: 0;left: 0;width: 16px;height: 16px;opacity: 0;"
+                :disabled="nodeTextDisable"
+              />
+            </el-tooltip>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeLineWidth',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/line-style.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeLineWidth',nodeEdgeDisable,e)"
+              placement="bottom">
+              <div :class="nodeEdgeDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="线条宽度" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeEdgeDisable? 
+                      require('@/assets/img/sand_new/tools/line-style-disabled.png'):
+                      require('@/assets/img/sand_new/tools/line-style.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="线条宽度" placement="top" :open-delay="250">
+                  <span v-show="nodeEdgeDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
                 <el-dropdown-item :command="1" :class="styleOptions.lineWidth==1?'style-acitve':''">
                   1
@@ -228,10 +298,21 @@
 						</el-dropdown>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeStrokeDasharray',e)">
-							<div class="el-dropdown-link">
-								<img src="~@/assets/img/sand_new/tools/line-style.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeStrokeDasharray',nodeEdgeDisable,e)"
+              placement="bottom">
+              <div :class="nodeEdgeDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="线条样式" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeEdgeDisable? 
+                      require('@/assets/img/sand_new/tools/line-style-disabled.png'):
+                      require('@/assets/img/sand_new/tools/line-style.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="线条样式" placement="top" :open-delay="250">
+                  <span v-show="nodeEdgeDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
 								<el-dropdown-item command="4 4" :class="styleOptions.lineStyle=='xu'?'style-acitve':''">
                   虚线
@@ -243,10 +324,21 @@
             </el-dropdown>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeRouter',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/line-type.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeRouter',nodeEdgeDisable,e)"
+              placement="bottom">
+              <div :class="nodeEdgeDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="连线类型" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeEdgeDisable? 
+                      require('@/assets/img/sand_new/tools/line-type-disabled.png'):
+                      require('@/assets/img/sand_new/tools/line-type.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="连线类型" placement="top" :open-delay="250">
+                  <span v-show="nodeEdgeDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
 								<el-dropdown-item :command="1" :class="styleOptions.connectStyle==1?'style-acitve':''">
                   直线
@@ -261,30 +353,52 @@
             </el-dropdown>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeSourceMarker',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/arrow-start.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeSourceMarker',nodeEdgeDisable,e)"
+              placement="bottom">
+              <div :class="nodeEdgeDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="开始箭头" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeEdgeDisable? 
+                      require('@/assets/img/sand_new/tools/arrow-start-disabled.png'):
+                      require('@/assets/img/sand_new/tools/arrow-start.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="开始箭头" placement="top" :open-delay="250">
+                  <span v-show="nodeEdgeDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
 								<el-dropdown-item command="classic" :class="styleOptions.startArrow=='1'?'style-acitve':''">
 								</el-dropdown-item>
-								<el-dropdown-item :command="null">
+								<el-dropdown-item :command="null" :class="styleOptions.startArrow==null?'style-acitve':''">
 								</el-dropdown-item>
 							</el-dropdown-menu>
             </el-dropdown>
           </div>
           <div class="sand-tool-item">
-            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeTargetMarker',e)">
-							<div class="el-dropdown-link">
-                <img src="~@/assets/img/sand_new/tools/arrow-end.png" style="vertical-align: middle;width: 16px;height: 16px;"/>
-							</div>
+            <el-dropdown trigger="click" @command="(e)=>toolClickOptions('changeTargetMarker',nodeEdgeDisable,e)"
+              placement="bottom">
+              <div :class="nodeEdgeDisable?'tool-disabled':''" class="dropdown-box">
+                <el-tooltip content="结束箭头" placement="top" :open-delay="250">
+                  <div class="dropdown-content"  >
+                    <img :src="nodeEdgeDisable? 
+                      require('@/assets/img/sand_new/tools/arrow-end-disabled.png'):
+                      require('@/assets/img/sand_new/tools/arrow-end.png')" 
+                      style="vertical-align: middle;"/>
+                  </div>
+                </el-tooltip>
+                <el-tooltip content="结束箭头" placement="top" :open-delay="250">
+                  <span v-show="nodeEdgeDisable" class="disabled-item" @click.stop="()=>{}"></span>
+                </el-tooltip>
+              </div>
 							<el-dropdown-menu slot="dropdown">
 								<el-dropdown-item command="classic" :class="styleOptions.endArrow=='1'?'style-acitve':''">
 								</el-dropdown-item>
-								<el-dropdown-item :command="null">
+								<el-dropdown-item :command="null" :class="styleOptions.endArrow==null?'style-acitve':''">
 								</el-dropdown-item>
 							</el-dropdown-menu>
@@ -679,7 +793,13 @@ const { line} = configOpt;
         selectCells: state => state.sand.selectCells,
         styleOptions: state => state.sand.styleOptions,
         toolStatus:state => state.sand.toolStatus,
-      })
+      }),
+      nodeTextDisable(){
+        return this.toolStatus.nodeDisabled && this.toolStatus.textDisabled
+      },
+      nodeEdgeDisable(){
+        return this.toolStatus.nodeDisabled && this.toolStatus.edgeDisabled
+      }
     },
     created(){
       this.getSandboxClassify()
@@ -1210,8 +1330,9 @@ const { line} = configOpt;
         })
           
       },500),
-      toolClickOptions(type){
-        let value = arguments[1]
+      toolClickOptions(type,disabled){
+        if(disabled) return
+        let value = arguments[2]
         switch (type) {
           case 'undo':
             this.graph.undo()
@@ -1792,6 +1913,30 @@ const { line} = configOpt;
           .sand-tool-item{
             margin-left: 20px;
             cursor: pointer;
+            .dropdown-box{
+              position: relative;
+              .dropdown-content{
+                display: flex;
+                align-items: center;
+
+                .dropdown-content-text{
+                  width: 28px;
+                  white-space: nowrap;
+                  overflow: hidden;
+                  margin-right: 5px;
+                }
+              }
+              .disabled-item{
+                background-color: transparent;
+                cursor: not-allowed;
+                position: absolute;
+                top: 0;
+                right: 0;
+                left: 0;
+                bottom: 0;
+                z-index: 1;
+              }
+            }
           }
           .sand-tool-img{
             height: 16px;
@@ -1802,6 +1947,10 @@ const { line} = configOpt;
               width: 16px;
             }
           }
+          .tool-disabled{
+            color: #C8CDD9;
+            cursor:not-allowed;
+          }
         }
         .sand-mainBody-chart{
           height: calc(100% - 50px);
@@ -2061,11 +2210,6 @@ const { line} = configOpt;
       }
     }
   }
-  #sand-tool-fontSize,#sand-tool-fontFamily{
-    .el-select{
-      width: 58px;
-    }
-  }
   .style-acitve{
     color: #0052D9;
   }