EditPane.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div class="edit-pane">
  3. <el-form
  4. ref="modalFormComp"
  5. :model="modalForm"
  6. :key="modalForm.id"
  7. label-width="100px"
  8. >
  9. <el-form-item label="背景颜色:">
  10. <color-select
  11. v-model="modalForm.bgColor"
  12. show-empty
  13. :predefine="predefineColors"
  14. ></color-select>
  15. </el-form-item>
  16. <el-form-item label="边框颜色:">
  17. <color-select v-model="modalForm.color"></color-select>
  18. </el-form-item>
  19. <el-form-item label="边框粗细:">
  20. <line-width-select v-model="modalForm.bold"></line-width-select>
  21. </el-form-item>
  22. <el-form-item label="边框形状:">
  23. <line-style-select v-model="modalForm.style"></line-style-select>
  24. </el-form-item>
  25. </el-form>
  26. </div>
  27. </template>
  28. <script>
  29. import ColorSelect from "../../components/common/ColorSelect";
  30. import LineStyleSelect from "../../components/common/LineStyleSelect";
  31. import LineWidthSelect from "../../components/common/LineWidthSelect";
  32. const initModalForm = {
  33. id: "",
  34. bold: "1px",
  35. color: "#000000",
  36. bgColor: "#ffffff",
  37. style: "solid"
  38. };
  39. export default {
  40. name: "edit-pane",
  41. components: { ColorSelect, LineStyleSelect, LineWidthSelect },
  42. props: {
  43. instance: {
  44. type: Object,
  45. default() {
  46. return {};
  47. }
  48. }
  49. },
  50. data() {
  51. return {
  52. modalForm: { ...initModalForm },
  53. predefineColors: ["#000000", "#666666", "#999999", "#ffffff"]
  54. };
  55. },
  56. mounted() {
  57. this.initData(this.instance);
  58. },
  59. methods: {
  60. initData(val) {
  61. this.modalForm = { ...val };
  62. },
  63. submit() {
  64. this.$emit("modified", this.modalForm);
  65. }
  66. }
  67. };
  68. </script>