logSetDialog.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <el-dialog
  3. :visible.sync="isLogSetShow"
  4. :close-on-click-modal="false"
  5. :modal-append-to-body='false'
  6. title="添加日志"
  7. @close="closeDia"
  8. width="820px"
  9. v-dialogDrag
  10. center
  11. >
  12. <div class="log-set-wrap">
  13. <el-form :model="formData" :rules="rules" inline label-width="80px" ref="logForm">
  14. <el-form-item label="版本号" prop="Version">
  15. <el-input v-model="formData.Version" placeholder="请输入版本号" style="width:100%"></el-input>
  16. </el-form-item>
  17. <el-form-item label="更新内容" prop="Content" class="update-text">
  18. <div class="rich-editor-wrap">
  19. <froala :id="`log-editor`"
  20. :ref="`logEditor`"
  21. :tag="'textarea'"
  22. :config="richEditorConfig" v-model="formData.Content">
  23. </froala>
  24. </div>
  25. </el-form-item>
  26. <el-form-item label="更新日期" prop="UpdateDate">
  27. <el-date-picker
  28. v-model="formData.UpdateDate"
  29. type="date"
  30. placeholder="选择日期">
  31. </el-date-picker>
  32. </el-form-item>
  33. </el-form>
  34. <div class="btn-wrap" style="text-align: center;margin-bottom: 25px;">
  35. <el-button type="primary" plain style="width:200px;" @click="closeDia">取消</el-button>
  36. <el-button type="primary" style="margin-left:50px;width:200px;" @click="saveLog">保存</el-button>
  37. </div>
  38. </div>
  39. </el-dialog>
  40. </template>
  41. <script>
  42. export default {
  43. props:{
  44. isLogSetShow:{
  45. type:Boolean,
  46. default:false
  47. },
  48. logInfo:{
  49. type:Object,
  50. default:()=>{ return {}}
  51. }
  52. },
  53. watch:{
  54. isLogSetShow(newVal){
  55. if(newVal){
  56. this.logInfo.Version?(this.formData = _.cloneDeep(this.logInfo)):(this.formData = {Content:''})
  57. }
  58. }
  59. },
  60. data() {
  61. return {
  62. value1:'',
  63. formData:{},
  64. rules:{
  65. Version:[{ required: true, message: '请输入版本号', trigger: 'blur' }],
  66. Content:[{ required: true, message: '请输入更新内容', trigger: 'blur' }],
  67. UpdateDate:[{ required: true, message: '请选择更新日期', trigger: 'blur' }]
  68. },
  69. richEditorConfig:{
  70. toolbarButtons:[
  71. 'textColor',
  72. 'bold',
  73. 'italic',
  74. 'underline',
  75. 'fontFamily',
  76. 'fontSize',
  77. 'align',
  78. 'outdent',
  79. 'indent',
  80. 'specialCharacters',
  81. 'insertHR',
  82. 'selectAll',
  83. 'clearFormatting',
  84. 'undo',
  85. 'redo',
  86. ],
  87. height:220,
  88. fontSizeDefaultSelection: "16",
  89. quickInsertEnabled: false,
  90. pasteAllowedStyleProps: ['font-family', 'font-size', 'color'],
  91. language: "zh_cn",
  92. placeholderText:'请输入更新内容',
  93. wordPasteKeepFormatting:false,
  94. pastePlain:true,
  95. wordPasteModal:false,
  96. pluginsEnabled:['colors'],//定义可用插件
  97. },//富文本编辑器配置项
  98. };
  99. },
  100. methods: {
  101. closeDia(){
  102. this.$emit('close')
  103. },
  104. saveLog(){
  105. this.$emit('saveLog',this.formData)
  106. }
  107. },
  108. };
  109. </script>
  110. <style lang="scss">
  111. .log-set-wrap{
  112. .el-form{
  113. .el-form-item.update-text{
  114. display: flex;
  115. .el-form-item__content{
  116. flex:1;
  117. }
  118. }
  119. }
  120. }
  121. </style>
  122. <style scoped lang="scss">
  123. </style>