topToolBar.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <template>
  2. <div id="topToolBar">
  3. <div class="left">
  4. <ul>
  5. <!-- <li class="zoom-window">
  6. <div>
  7. <img
  8. class="lock"
  9. :src="require(`./../../assets/images/缩小.png`)"
  10. alt
  11. />
  12. <span class="percentage">{{scalePercent}}</span>
  13. <img
  14. class="lock"
  15. :src="require(`./../../assets/images/放大 amplification.png`)"
  16. alt
  17. />
  18. </div>
  19. <span>缩放窗口</span>
  20. </li>-->
  21. <li @click="topoUndo">
  22. <img class="lock" :src="require(`./../../assets/images/undo.png`)" alt />
  23. <span>撤销</span>
  24. </li>
  25. <li @click="topoRedo">
  26. <img class="lock" :src="require(`./../../assets/images/redo.png`)" alt />
  27. <span>重做</span>
  28. </li>
  29. <li @click="copy">
  30. <img class="lock" :src="require(`./../../assets/images/copy.png`)" alt />
  31. <span>复制</span>
  32. </li>
  33. <li @click="paste">
  34. <img class="lock" :src="require(`./../../assets/images/past.png`)" alt />
  35. <span>粘贴</span>
  36. </li>
  37. <!-- <li>
  38. <a-dropdown :trigger="['click']">
  39. <div class="ant-dropdown-link dropdown-flex" @click="e => e.preventDefault()">
  40. <div>
  41. <img class="lock" :src="require(`./../../assets/images/t-format.png`)" alt />
  42. <div>图层</div>
  43. </div>
  44. <a-icon type="caret-down" class="down-icon" />
  45. </div>
  46. <a-menu slot="overlay">
  47. <a-menu-item
  48. :disabled="item.disable"
  49. v-for="item in orderOptions"
  50. :key="item.value"
  51. @click="changeOrderItem(item.value)"
  52. >
  53. <img
  54. style="width: 16px;margin-right: 5px;"
  55. :src="require(`./../../assets/images/`+item.img+`.png`)"
  56. alt
  57. />
  58. <span>{{item.label}}</span>
  59. </a-menu-item>
  60. </a-menu>
  61. </a-dropdown>
  62. </li>-->
  63. <!-- <li>
  64. <a-dropdown :trigger="['click']">
  65. <div class="ant-dropdown-link dropdown-flex" @click="e => e.preventDefault()">
  66. <div>
  67. <img class="lock" :src="require(`./../../assets/images/t-format.png`)" alt />
  68. <div>对齐</div>
  69. </div>
  70. <a-icon type="caret-down" class="down-icon" />
  71. </div>
  72. <a-menu slot="overlay">
  73. <a-menu-item
  74. :disabled="item.disable"
  75. v-for="item in alignmentOptions"
  76. :key="item.value"
  77. @click="changeAlignItem(item.value)"
  78. >
  79. <img
  80. style="width: 16px;margin-right: 5px;"
  81. :src="require(`./../../assets/images/`+item.img+`.png`)"
  82. alt
  83. />
  84. <span>{{item.label}}</span>
  85. </a-menu-item>
  86. </a-menu>
  87. </a-dropdown>
  88. </li>-->
  89. <!-- <li>
  90. <a-icon type="edit" />
  91. <span>图层</span>
  92. </li>
  93. <li>
  94. <a-icon type="edit" />
  95. <span>组合</span>
  96. </li>
  97. <li>
  98. <a-icon type="edit" />
  99. <span>打散</span>
  100. </li>-->
  101. <li>
  102. <i :class="isLock?'el-icon-lock':'el-icon-unlock'" />
  103. <span>{{!isLock?"解锁":"锁定"}}</span>
  104. </li>
  105. <li @click="deleteItem">
  106. <img class="lock" :src="require(`./../../assets/images/delete.png`)" alt />
  107. <span>删除</span>
  108. </li>
  109. </ul>
  110. </div>
  111. <div class="rght">
  112. <!-- 待定 -->
  113. </div>
  114. </div>
  115. </template>
  116. <script>
  117. import bus from "@/bus/bus";
  118. export default {
  119. data() {
  120. return {
  121. isLock: false,
  122. };
  123. },
  124. methods: {
  125. //撤销
  126. topoUndo() {
  127. bus.$emit("topoUndo");
  128. },
  129. // 重做
  130. topoRedo() {
  131. bus.$emit("topoRedo");
  132. },
  133. // 删除item
  134. deleteItem() {
  135. bus.$emit("deleteItem");
  136. },
  137. // 复制
  138. copy() {
  139. bus.$emit("copy");
  140. },
  141. // 粘贴
  142. paste() {
  143. bus.$emit("paste");
  144. },
  145. },
  146. };
  147. </script>
  148. <style lang="less">
  149. ul,
  150. li {
  151. margin: 0;
  152. padding: 0;
  153. list-style-type: none;
  154. }
  155. #topToolBar {
  156. width: 100%;
  157. height: 48px;
  158. background: rgba(255, 255, 255, 1);
  159. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  160. display: flex;
  161. align-items: center;
  162. justify-content: center;
  163. padding: 0 24px 0 24px;
  164. box-sizing: border-box;
  165. .left {
  166. ul {
  167. display: flex;
  168. li {
  169. display: flex;
  170. justify-content: center;
  171. flex-direction: column;
  172. /*width: 62px;*/
  173. padding: 0 7px;
  174. margin-left: 7px;
  175. font-size: 12px;
  176. align-items: center;
  177. text-align: center;
  178. cursor: pointer;
  179. img {
  180. width: 16px;
  181. height: 16px;
  182. }
  183. .percentage {
  184. display: inline-block;
  185. width: 35px;
  186. border-bottom: 1px solid #c3c7cb;
  187. margin: 0 13px;
  188. font-size: 14px;
  189. }
  190. .dropdown-flex {
  191. display: flex;
  192. align-items: center;
  193. .down-icon {
  194. margin-left: 12px;
  195. }
  196. }
  197. }
  198. }
  199. }
  200. }
  201. </style>