tools.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //公用工具
  2. export default {
  3. flip(){
  4. return `
  5. <div class="title_two">翻转</div>
  6. <div class="flex left">
  7. <el-button size="small" @click="Flip('X')" >左右翻转</el-button>
  8. <el-button size="small" @click="Flip('Y')" >上下翻转</el-button>
  9. </div>
  10. `
  11. },
  12. straw(){
  13. return `
  14. <div class="title_two">层级</div>
  15. <div class="flex left">
  16. <el-button @click="move(editLayer,'bringToFront')" size="small">置顶</el-button>
  17. <el-button @click="move(editLayer,'sendToBack')" size="small">置底</el-button>
  18. </div>
  19. `
  20. },
  21. opacity(){
  22. return `
  23. <div class="title_two">透明度</div>
  24. <div class="flex left">
  25. <!-- <el-input v-model="editLayer.opacity"/>-->
  26. <el-slider
  27. size="small"
  28. v-model="editLayer.opacity"
  29. style="width:100%"
  30. :step="0.01"
  31. :min="0.01"
  32. :max="1"
  33. :show-tooltip="false"
  34. @input.native="(val)=>editObj({label:'opacity',value:val} )"
  35. ></el-slider>
  36. </div>
  37. `
  38. },
  39. cutout(){
  40. return `
  41. <div class="title_two">剪裁</div>
  42. <div class="flex left">
  43. <el-select v-model="clipSettings.shape" @change="applyClipPath" size="small" style="width:100px">
  44. <el-option label="矩形" value="rect"></el-option>
  45. <el-option label="圆形" value="circle"></el-option>
  46. <el-option label="SVG" value="svg"></el-option>
  47. </el-select>
  48. </div>
  49. <div v-if="clipSettings.shape === 'svg'" class="flex left" style="margin-left:10px">
  50. <!-- 固定地址输入框 -->
  51. <el-input
  52. v-model="clipSettings.svgUrl"
  53. placeholder="SVG地址"
  54. @input="applyClipPath"
  55. size="small"
  56. style="width:200px"
  57. />
  58. </div>
  59. <div v-if="clipSettings.shape === 'svg'" class="flex left" style="margin-left:10px">
  60. <el-input-number v-model="clipSettings.svgWidth" @input="applyClipPath" :step="1" :min="1" size="small" style="width:80px"/>
  61. <el-input-number v-model="clipSettings.svgHeight" @input="applyClipPath" :step="1" :min="1" size="small" style="width:80px"/>
  62. </div>
  63. <!-- 矩形参数 -->
  64. <div v-if="clipSettings.shape === 'rect'" class="flex left" style="margin-left:10px">
  65. <el-input-number v-model="clipSettings.width" @input="applyClipPath" :step="1" :min="1" size="small" style="width:80px"/>
  66. <el-input-number v-model="clipSettings.height" @input="applyClipPath" :step="1" :min="1" size="small" style="width:80px"/>
  67. <el-input-number v-model="clipSettings.rectRadius" @input="applyClipPath" :step="1" :min="0" size="small" style="width:60px" placeholder="圆角"/>
  68. </div>
  69. <!-- 圆形参数 -->
  70. <div v-else class="flex left" style="margin-left:10px">
  71. <el-input-number v-model="clipSettings.radius" @input="applyClipPath" :step="1" :min="1" size="small" style="width:80px"/>
  72. </div>
  73. <!-- 描边参数 -->
  74. <div class="flex left" style="margin-top:8px">
  75. <el-color-picker v-model="clipSettings.strokeColor" @change="applyClipPath" size="small"/>
  76. <el-input-number v-model="clipSettings.strokeWidth" @input="applyClipPath" :step="1" :min="0" :max="10" size="small" style="width:60px" placeholder="描边"/>
  77. </div>
  78. <!-- 偏移参数 -->
  79. <div class="flex left">
  80. <el-input-number v-model="clipSettings.offsetX" @input="applyClipPath" :step="1" size="small" style="width:60px"/>
  81. <el-input-number v-model="clipSettings.offsetY" @input="applyClipPath" :step="1" size="small" style="width:60px"/>
  82. </div>
  83. <div class="flex left">
  84. <el-button @click="clearClipPath" size="small">清除</el-button>
  85. </div>
  86. `
  87. }
  88. }