|
@@ -1,109 +1,92 @@
|
|
<template>
|
|
<template>
|
|
<div class="message-add">
|
|
<div class="message-add">
|
|
-
|
|
|
|
- <!-- <el-page-header @back="goBack" content="创建消息"></el-page-header> -->
|
|
|
|
<div class="message-add-box">
|
|
<div class="message-add-box">
|
|
<el-form :model="message" :rules="rules" ref="form" label-width="100px">
|
|
<el-form :model="message" :rules="rules" ref="form" label-width="100px">
|
|
- <el-form-item label="消息标题:" prop="messageTitle">
|
|
|
|
- <el-input v-model="message.messageTitle" placeholder="请输入消息标题"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
-
|
|
|
|
- <el-form-item label="发布时间:" required>
|
|
|
|
- <el-col :span="11">
|
|
|
|
- <el-form-item prop="dateTime">
|
|
|
|
- <el-time-picker placeholder="选择时间" v-model="message.dateTime" style="width: 100%;"></el-time-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
|
|
+ <el-form-item label="消息标题:" prop="title">
|
|
|
|
+ <el-input v-model="message.title" placeholder="请输入消息标题"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
-
|
|
|
|
- <el-form-item label="接受用户:" prop="receivedUsers">
|
|
|
|
- <el-input type="textarea" :rows="2" placeholder="请导入用户" autosize v-model="message.receivedUsers"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
-
|
|
|
|
- <el-form-item label="消息内容:" prop="messageContent">
|
|
|
|
- <quill-editor
|
|
|
|
- class="ql-editor"
|
|
|
|
- v-model="content"
|
|
|
|
- ref="myQuillEditor"
|
|
|
|
- :options="editorOption"
|
|
|
|
- >
|
|
|
|
- </quill-editor>
|
|
|
|
|
|
+ <el-form-item label="发布时间: " required>
|
|
|
|
+ <el-date-picker v-model="message.newsDate" type="date" placeholder="选择日期">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ <el-time-picker placeholder="选择时间" v-model="message.newsTime"></el-time-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="消息内容:" prop="content">
|
|
|
|
+ <editor v-model="message.content"></editor>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
-
|
|
|
|
- <!-- <el-form-item>
|
|
|
|
- <el-button type="primary" @click="submitForm('form')">立即创建</el-button>
|
|
|
|
- </el-form-item> -->
|
|
|
|
</el-form>
|
|
</el-form>
|
|
- </div>
|
|
|
|
|
|
+ <el-form style="margin-left: 100px;">
|
|
|
|
+ <el-button type="primary" @click="submit">创建</el-button>
|
|
|
|
+ <el-button @click="reset">重置</el-button>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import Quill from 'quill' // 引入编辑器
|
|
|
|
-// 自定义字体大小
|
|
|
|
-const Size = Quill.import('attributors/style/size')
|
|
|
|
-Size.whitelist = ['10px', '12px', '16px', '18px', '20px', '30px', '32px']
|
|
|
|
-Quill.register(Size, true)
|
|
|
|
-
|
|
|
|
-// 自定义字体类型
|
|
|
|
-var fonts = ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial', 'sans-serif']
|
|
|
|
-var Font = Quill.import('formats/font')
|
|
|
|
-Font.whitelist = fonts
|
|
|
|
-Quill.register(Font, true)
|
|
|
|
-
|
|
|
|
- export default {
|
|
|
|
- data() {
|
|
|
|
- return {
|
|
|
|
- message: {
|
|
|
|
- messageTitle: '',
|
|
|
|
- dateTime: '',
|
|
|
|
- receivedUsers: '',
|
|
|
|
- messageContent: '',
|
|
|
|
- },
|
|
|
|
- rules: {
|
|
|
|
- messageTitle: [
|
|
|
|
- { required: true, message: '请输入消息标题', trigger: 'blur' }
|
|
|
|
- ],
|
|
|
|
- dateTime: [
|
|
|
|
- { type: 'date', required: true, message: '选择时间', trigger: 'change' }
|
|
|
|
- ],
|
|
|
|
- receivedUsers: [
|
|
|
|
- { required: true, message: '请导入用户', trigger: 'blur' }
|
|
|
|
- ],
|
|
|
|
- messageContent: [
|
|
|
|
- { required: true, trigger: 'blur' }
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- content: `<p>这是 vue-quill-editor 的内容!</p>`, //双向数据绑定数据
|
|
|
|
- // 富文本编辑器配置
|
|
|
|
- editorOption: {
|
|
|
|
- modules: {
|
|
|
|
- toolbar: [
|
|
|
|
- ['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线
|
|
|
|
- ['blockquote', 'code-block'], // 引用 代码块
|
|
|
|
- [{ header: 1 }, { header: 2 }], // 1、2 级标题
|
|
|
|
- [{ list: 'ordered' }, { list: 'bullet' }], // 有序、无序列表
|
|
|
|
- [{ script: 'sub' }, { script: 'super' }], // 上标/下标
|
|
|
|
- [{ indent: '-1' }, { indent: '+1' }], // 缩进
|
|
|
|
- [{ direction: 'rtl' }], // 文本方向
|
|
|
|
- [{ size: ['12px', false, '16px', '18px', '20px', '30px'] }], // 字体大小
|
|
|
|
- [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
|
|
|
- [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
|
|
|
|
- [{ font: [false, 'SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial'] }], // 字体种类
|
|
|
|
- [{ align: [] }], // 对齐方式
|
|
|
|
- ['clean'], // 清除文本格式
|
|
|
|
- ['link', 'image', 'video'] // 链接、图片、视频
|
|
|
|
- ],
|
|
|
|
- placeholder: '请输入正文'
|
|
|
|
- }
|
|
|
|
|
|
+import { addMessage } from '../../api/message/message'
|
|
|
|
+export default {
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ message: {
|
|
|
|
+ title: '',
|
|
|
|
+ content: '',
|
|
|
|
+ newsDate: '',
|
|
|
|
+ newsTime: ''
|
|
|
|
+ },
|
|
|
|
+ rules: {
|
|
|
|
+ title: [
|
|
|
|
+ { required: true, message: '请输入消息标题', trigger: 'blur' }
|
|
|
|
+ ],
|
|
|
|
+ content: [
|
|
|
|
+ { required: true, message: '请输入消息内容', trigger: 'blur' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ content: ''
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ submit() {
|
|
|
|
+ if (this.message.title && this.message.content) {
|
|
|
|
+ let nyr = this.$formatDate(this.message.newsDate, 'yyyy-MM-dd');
|
|
|
|
+ let sfm = this.$formatDate(this.message.newsTime, 'hh:mm:ss');
|
|
|
|
+ let news = {
|
|
|
|
+ newsTitle: this.message.title,
|
|
|
|
+ newsContent: this.message.content,
|
|
|
|
+ newsTime: nyr + ' ' + sfm
|
|
|
|
+ }
|
|
|
|
+ console.log(news.newsTime);
|
|
|
|
+ addMessage(news).then((res) => {
|
|
|
|
+ this.message.title = '';
|
|
|
|
+ this.message.content = '';
|
|
|
|
+ this.message.newsDate = '';
|
|
|
|
+ this.message.newsTime = '';
|
|
|
|
+ })
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '创建消息成功',
|
|
|
|
+ type: 'success'
|
|
|
|
+ });
|
|
|
|
+ this.$router.push("./messageList");
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '警告',
|
|
|
|
+ message: '请填写内容',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ reset() {
|
|
|
|
+ this.message.title = '';
|
|
|
|
+ this.message.content = '';
|
|
|
|
+ this.message.newsDate = '';
|
|
|
|
+ this.message.newsTime = '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style>
|
|
<style>
|
|
-.message-add{
|
|
|
|
|
|
+.message-add {
|
|
width: 700px;
|
|
width: 700px;
|
|
height: 100%;
|
|
height: 100%;
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -114,20 +97,22 @@ Quill.register(Font, true)
|
|
margin: auto;
|
|
margin: auto;
|
|
border: 1px solid #ccc;
|
|
border: 1px solid #ccc;
|
|
}
|
|
}
|
|
-.message-add-box{
|
|
|
|
|
|
+
|
|
|
|
+.message-add-box {
|
|
padding: 40px;
|
|
padding: 40px;
|
|
}
|
|
}
|
|
|
|
+
|
|
/* .users-input-box{
|
|
/* .users-input-box{
|
|
color:aqua;
|
|
color:aqua;
|
|
} */
|
|
} */
|
|
|
|
|
|
.quill-editor /deep/ .ql-container {
|
|
.quill-editor /deep/ .ql-container {
|
|
- min-height: 220px;
|
|
|
|
- }
|
|
|
|
|
|
+ min-height: 220px;
|
|
|
|
+}
|
|
|
|
|
|
- .ql-container {
|
|
|
|
- min-height: 230px;
|
|
|
|
- }
|
|
|
|
|
|
+.ql-container {
|
|
|
|
+ min-height: 230px;
|
|
|
|
+}
|
|
|
|
|
|
.ql-toolbar.ql-snow {
|
|
.ql-toolbar.ql-snow {
|
|
border: 1px solid #ccc;
|
|
border: 1px solid #ccc;
|
|
@@ -137,8 +122,9 @@ Quill.register(Font, true)
|
|
padding: 8px;
|
|
padding: 8px;
|
|
width: 450px;
|
|
width: 450px;
|
|
}
|
|
}
|
|
-.ql-toolbar.ql-snow + .ql-container.ql-snow {
|
|
|
|
- border-top: 0px;
|
|
|
|
- width: 450px;
|
|
|
|
|
|
+
|
|
|
|
+.ql-toolbar.ql-snow+.ql-container.ql-snow {
|
|
|
|
+ border-top: 0px;
|
|
|
|
+ width: 450px;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|