You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

editDialog.vue 2.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <el-dialog :close-on-click-modal="!deleteLoading" v-dlg-drag :title="dialogTitle" :visible.sync="deleteDialog">
  3. <div class="message-box__content">
  4. <div class="message-box-title" >
  5. <slot name="title"></slot>
  6. </div>
  7. <div class="message-box-info">
  8. <slot name="info"></slot>
  9. </div>
  10. </div>
  11. <slot name="content"></slot>
  12. <div slot="footer" class="dialog-footer">
  13. <el-button @click="deleteDialog = false">{{"取消"}}</el-button>
  14. <el-button type="primary" @click="deleteCallback.call(vmContext,deleteParam)">{{"确定"}}</el-button>
  15. </div>
  16. </el-dialog>
  17. </template>
  18. <script type="text/javascript">
  19. export default {
  20. data() {
  21. return {
  22. deleteDialog: false,
  23. };
  24. },
  25. props: {
  26. vmContext: {
  27. type: Object,
  28. default() {
  29. return {};
  30. }
  31. },
  32. dialogTitle: {
  33. type: String,
  34. default: '',
  35. },
  36. deleteLoading: {
  37. type: Boolean,
  38. default: false,
  39. },
  40. deleteCallback: {
  41. type: Function,
  42. default() {
  43. return () => {};
  44. }
  45. },
  46. deleteParam: {
  47. type: Object,
  48. default() {
  49. return {};
  50. }
  51. },
  52. value: {
  53. type: Boolean,
  54. default: false,
  55. }
  56. },
  57. computed: {
  58. },
  59. watch: {
  60. deleteDialog() {
  61. this.$emit('input', this.deleteDialog);
  62. },
  63. value() {
  64. this.deleteDialog = this.value;
  65. },
  66. },
  67. created() {
  68. this.deleteDialog = this.value;
  69. }
  70. };
  71. </script>
  72. <style scoped>
  73. .el-message-box__content .icon{float:left;}
  74. .message-box__content{}
  75. .message-box__content .icon{float:left;margin-right:20px;}
  76. .message-box__content .message-box-title{font-size:16px;padding:2px 0;color:#333;}
  77. .message-box__content .message-box-p{font-size:16px;padding:20px 0;color:#333;}
  78. .message-box__content .message-box-info{color:#999;padding:2px 0;}
  79. .dialog-footer,.el-message-box__btns{text-align:center;}
  80. /deep/ .el-dialog__header {
  81. background: #0067b3;
  82. padding: 12px 30px;
  83. line-height: 25px;}
  84. /deep/ .el-dialog__title {
  85. font-family: PingFangSC-Regular;
  86. font-size: 18px;
  87. color: #fff;
  88. font-weight: 200;
  89. line-height: 25px;
  90. height: 25px;
  91. }
  92. /deep/ .el-dialog__footer {
  93. background: #eff3f9;
  94. padding: 20px 30px;
  95. }
  96. </style>