addMessage.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <template>
  2. <div class="message-add" :style="{height:height,width:width}" >
  3. <div class="message-add-box">
  4. <el-form :model="message" :rules="rules" ref="form" label-width="100px">
  5. <el-form-item label="消息标题:" prop="messageTitle">
  6. <el-input v-model="message.messageTitle" placeholder="请输入消息标题"></el-input>
  7. </el-form-item>
  8. <el-form-item label="发布时间:" required>
  9. <el-col :span="11">
  10. <el-form-item prop="date1">
  11. <el-date-picker type="date" placeholder="选择日期" v-model="message.date1" style="width: 100%;"></el-date-picker>
  12. </el-form-item>
  13. </el-col>
  14. <el-col class="line" :span="1.5">-</el-col>
  15. <el-col :span="11">
  16. <el-form-item prop="date2">
  17. <el-time-picker placeholder="选择时间" v-model="message.date2" style="width: 100%;"></el-time-picker>
  18. </el-form-item>
  19. </el-col>
  20. </el-form-item>
  21. <el-form-item label="接受用户:" prop="receivedUsers">
  22. <el-input type="textarea" :rows="2" placeholder="请导入用户" autosize v-model="message.receivedUsers"></el-input>
  23. </el-form-item>
  24. <el-form-item label="消息内容:" prop="content">
  25. <editor v-model="message.content" :min-height="192"/>
  26. </el-form-item>
  27. <el-form-item>
  28. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  29. <el-button @click="resetForm('form')">重置</el-button>
  30. <el-button @click="importForm('form')">导入</el-button>
  31. </el-form-item>
  32. </el-form>
  33. </div>
  34. </div>
  35. </template>
  36. <script>
  37. import {submitMessage} from '../../api/message/message.js'
  38. export default {
  39. data() {
  40. return {
  41. message: {
  42. messageTitle: '',
  43. date1:'',
  44. date2:'',
  45. receivedUsers: '',
  46. content: '请输入内容',
  47. cnt : 1
  48. },
  49. rules: {
  50. messageTitle: [
  51. { required: true, message: '请输入消息标题', trigger: 'blur' }
  52. ],
  53. // dateTime: [
  54. // { type: 'date', required: true, message: '选择时间', trigger: 'change' }
  55. // ],
  56. date1: [
  57. { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
  58. ],
  59. date2: [
  60. { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
  61. ],
  62. receivedUsers: [
  63. { required: true, message: '请导入接受用户', trigger: 'blur' }
  64. ],
  65. content: [
  66. { required: true, message: '请导入内容' , trigger: 'blur' }
  67. ]
  68. },
  69. }
  70. },
  71. mounted() {
  72. console.log( "-****" , this.message.messageTitle);
  73. console.log( "-****" , this.message.date1);
  74. console.log( "-****" , this.message.date2);
  75. console.log( "-****" , this.message.content);
  76. },
  77. methods: {
  78. change(){
  79. console.log(1);
  80. this.cnt = this.cnt+ 1
  81. console.log(this.cnt);
  82. },
  83. onEditorChange() {
  84. //内容改变事件
  85. this.$emit("input", this.content);
  86. },
  87. submitForm(formName) {
  88. console.log( "-****title" , this.message.messageTitle);
  89. console.log( "-****date1" , this.message.date1);
  90. console.log( "-****date2" , this.message.date2);
  91. console.log( "-****content" , this.message.content);
  92. // console.log( "lxzhen-****content" , this.content);
  93. var dateTime = this.message.date1;
  94. function add0(m){return m<10?'0'+m:m }
  95. function format(shijianchuo)
  96. {
  97. var time = new Date(shijianchuo);
  98. var y = time.getFullYear();
  99. var m = time.getMonth()+1;
  100. var d = time.getDate()+1;
  101. var h = time.getHours()+1;
  102. var mm = time.getMinutes()+1;
  103. var s = time.getSeconds()+1;
  104. return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
  105. }
  106. var date = format(dateTime);
  107. console.log(date);
  108. this.$refs[formName].validate((valid) => {
  109. if (valid) {
  110. // alert('submit!');
  111. submitMessage({
  112. newsTitle:this.message.messageTitle,
  113. newsContent:this.message.content,
  114. userPhone :this.message.receivedUsers,
  115. createTime:'1994-12-01 12:22:33',
  116. updateTime:'1994-12-01 12:22:33',
  117. })
  118. .then((res) => {
  119. console.log(res);
  120. // 添加成功
  121. this.$message({
  122. message:"消息添加成功!",
  123. type:"success",
  124. });
  125. this.$refs[message].resetFields();//添加成功后清空
  126. this.$router.push('/message/messageList')//跳转
  127. })
  128. // 失败
  129. .catch((err) => {
  130. console.log(err);
  131. });
  132. } else {
  133. console.log('error submit!!');
  134. return false;
  135. }
  136. });
  137. },
  138. resetForm(formName) {
  139. this.$refs[formName].resetFields();
  140. },
  141. // importForm(formName) {
  142. // }
  143. }
  144. }
  145. </script>
  146. <style>
  147. .message-add-box{
  148. width: 60%;
  149. height: 100%;
  150. margin: 50px auto;
  151. border: 1px solid #ccc;
  152. padding-top: 40px;
  153. padding-left: 100px;
  154. padding-right: 30px;
  155. }
  156. /* .users-input-box{
  157. color:aqua;
  158. } */
  159. .quill-editor /deep/ .ql-container {
  160. min-height: 220px;
  161. }
  162. .ql-container {
  163. min-height: 230px;
  164. }
  165. .ql-toolbar.ql-snow {
  166. border: 1px solid #ccc;
  167. -webkit-box-sizing: border-box;
  168. box-sizing: border-box;
  169. font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  170. padding: 8px;
  171. width: 450px;
  172. }
  173. .ql-toolbar.ql-snow + .ql-container.ql-snow {
  174. border-top: 0px;
  175. width: 450px;
  176. }
  177. </style>