|
@@ -39,7 +39,7 @@ SOFTWARE.
|
|
|
<!-- 操作工具栏 -->
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddNews"
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
v-hasPermi="['mp:draft:create']">新增
|
|
|
</el-button>
|
|
|
</el-col>
|
|
@@ -114,7 +114,7 @@ SOFTWARE.
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="right" v-loading="addMaterialLoading">
|
|
|
+ <div class="right" v-loading="addMaterialLoading" v-if="articlesAdd.length > 0">
|
|
|
<!--富文本编辑器组件-->
|
|
|
<el-row>
|
|
|
<WxEditor v-model="articlesAdd[isActiveAddNews].content" :uploadData="uploadData"
|
|
@@ -154,7 +154,7 @@ SOFTWARE.
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogNewsVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="subNews">提 交</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">提 交</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -212,18 +212,7 @@ export default {
|
|
|
// ========== 草稿新建 or 修改 ==========
|
|
|
dialogNewsVisible: false,
|
|
|
addMaterialLoading: false, // 添加草稿的 loading 标识
|
|
|
- articlesAdd: [{
|
|
|
- "title": '',
|
|
|
- "thumbMediaId": '',
|
|
|
- "author": '',
|
|
|
- "digest": '',
|
|
|
- "showCoverPic": '',
|
|
|
- "content": '123', // TODO 芋艿:临时测试
|
|
|
- "contentSourceUrl": '',
|
|
|
- "needOpenComment": '',
|
|
|
- "onlyFansCanComment": '',
|
|
|
- "thumbUrl": '',
|
|
|
- }],
|
|
|
+ articlesAdd: [],
|
|
|
isActiveAddNews: 0,
|
|
|
dialogImageVisible: false,
|
|
|
imageListData: [],
|
|
@@ -349,80 +338,14 @@ export default {
|
|
|
}).catch(() => {
|
|
|
})
|
|
|
},
|
|
|
- downNews(index){
|
|
|
- let temp = this.articlesAdd[index]
|
|
|
- this.articlesAdd[index] = this.articlesAdd[index+1]
|
|
|
- this.articlesAdd[index+1] = temp
|
|
|
- this.isActiveAddNews = index+1
|
|
|
- },
|
|
|
- upNews(index){
|
|
|
- let temp = this.articlesAdd[index]
|
|
|
- this.articlesAdd[index] = this.articlesAdd[index-1]
|
|
|
- this.articlesAdd[index-1] = temp
|
|
|
- this.isActiveAddNews = index-1
|
|
|
- },
|
|
|
- activeNews(index){
|
|
|
- this.hackResetEditor = false//销毁组件
|
|
|
- this.$nextTick(() => {
|
|
|
- this.hackResetEditor = true//重建组件
|
|
|
- })
|
|
|
- this.isActiveAddNews = index
|
|
|
- },
|
|
|
- minusNews(index){
|
|
|
- this.$confirm('确定删除该图文吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.articlesAdd.splice(index,1);
|
|
|
- if(this.isActiveAddNews === index){
|
|
|
- this.isActiveAddNews = 0
|
|
|
- }
|
|
|
- }).catch(() => {})
|
|
|
- },
|
|
|
- plusNews(){
|
|
|
- this.articlesAdd.push(
|
|
|
- {
|
|
|
- "title": '',
|
|
|
- "thumbMediaId": '',
|
|
|
- "author": '',
|
|
|
- "digest": '',
|
|
|
- "showCoverPic": '',
|
|
|
- "content": '',
|
|
|
- "contentSourceUrl": '',
|
|
|
- "needOpenComment":'',
|
|
|
- "onlyFansCanComment":'',
|
|
|
- "thumbUrl":''
|
|
|
- }
|
|
|
- )
|
|
|
- this.isActiveAddNews = this.articlesAdd.length - 1
|
|
|
- },
|
|
|
- subNews() {
|
|
|
+ /** 提交按钮 */
|
|
|
+ submitForm() {
|
|
|
this.addMaterialLoading = true
|
|
|
- if(this.operateMaterial === 'add'){
|
|
|
+ if (this.operateMaterial === 'add') {
|
|
|
createDraft(this.queryParams.accountId, this.articlesAdd).then(response => {
|
|
|
- this.addMaterialLoading = false
|
|
|
- this.dialogNewsVisible = false
|
|
|
- if(response.code == 200){
|
|
|
- this.isActiveAddNews = 0
|
|
|
- this.articlesAdd = [
|
|
|
- {
|
|
|
- "title": '',
|
|
|
- "thumbMediaId": '',
|
|
|
- "author": '',
|
|
|
- "digest": '',
|
|
|
- "showCoverPic": '',
|
|
|
- "content": '',
|
|
|
- "contentSourceUrl": '',
|
|
|
- "needOpenComment":'',
|
|
|
- "onlyFansCanComment":'',
|
|
|
- "thumbUrl":''
|
|
|
- }
|
|
|
- ]
|
|
|
- this.getList()
|
|
|
- } else {
|
|
|
- this.$message.error('新增图文出错:' + response.msg)
|
|
|
- }
|
|
|
+ this.$modal.msgSuccess("新增成功");
|
|
|
+ this.dialogNewsVisible = false;
|
|
|
+ this.getList()
|
|
|
}).finally(() => {
|
|
|
this.addMaterialLoading = false
|
|
|
})
|
|
@@ -472,32 +395,77 @@ export default {
|
|
|
this.articlesMediaId = item.mediaId
|
|
|
this.dialogNewsVisible = true
|
|
|
},
|
|
|
- handleAddNews(){
|
|
|
+ /** 新增按钮操作 */
|
|
|
+ handleAdd() {
|
|
|
+ this.resetEditor();
|
|
|
+ this.reset();
|
|
|
+ // 打开表单,并设置初始化
|
|
|
+ this.operateMaterial = 'add'
|
|
|
+ this.dialogNewsVisible = true
|
|
|
+ },
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.isActiveAddNews = 0
|
|
|
+ this.articlesAdd = [this.buildEmptyArticle()]
|
|
|
+ },
|
|
|
+ // 表单 Editor 重置
|
|
|
+ resetEditor() {
|
|
|
this.hackResetEditor = false // 销毁组件
|
|
|
this.$nextTick(() => {
|
|
|
this.hackResetEditor = true // 重建组件
|
|
|
})
|
|
|
- if(this.operateMaterial == 'edit'){
|
|
|
- this.isActiveAddNews = 0
|
|
|
- this.articlesAdd = [
|
|
|
- {
|
|
|
- "title": '',
|
|
|
- "thumbMediaId": '',
|
|
|
- "author": '',
|
|
|
- "digest": '',
|
|
|
- "showCoverPic": '',
|
|
|
- "content": '',
|
|
|
- "contentSourceUrl": '',
|
|
|
- "needOpenComment":'',
|
|
|
- "onlyFansCanComment":'',
|
|
|
- "thumbUrl":''
|
|
|
- }
|
|
|
- ]
|
|
|
+ },
|
|
|
+ // 将图文向下移动
|
|
|
+ downNews(index) {
|
|
|
+ let temp = this.articlesAdd[index]
|
|
|
+ this.articlesAdd[index] = this.articlesAdd[index+1]
|
|
|
+ this.articlesAdd[index + 1] = temp
|
|
|
+ this.isActiveAddNews = index + 1
|
|
|
+ },
|
|
|
+ // 将图文向上移动
|
|
|
+ upNews(index) {
|
|
|
+ let temp = this.articlesAdd[index]
|
|
|
+ this.articlesAdd[index] = this.articlesAdd[index - 1]
|
|
|
+ this.articlesAdd[index - 1] = temp
|
|
|
+ this.isActiveAddNews = index - 1
|
|
|
+ },
|
|
|
+ // 选中指定 index 的图文
|
|
|
+ activeNews(index) {
|
|
|
+ this.resetEditor();
|
|
|
+ this.isActiveAddNews = index
|
|
|
+ },
|
|
|
+ // 删除指定 index 的图文
|
|
|
+ minusNews(index) {
|
|
|
+ this.$modal.confirm('确定删除该图文吗?').then(() => {
|
|
|
+ this.articlesAdd.splice(index,1);
|
|
|
+ if (this.isActiveAddNews === index) {
|
|
|
+ this.isActiveAddNews = 0
|
|
|
+ }
|
|
|
+ }).catch(() => {})
|
|
|
+ },
|
|
|
+ // 添加一个图文
|
|
|
+ plusNews() {
|
|
|
+ this.articlesAdd.push(this.buildEmptyArticle())
|
|
|
+ this.isActiveAddNews = this.articlesAdd.length - 1
|
|
|
+ },
|
|
|
+ // 创建空的 article
|
|
|
+ buildEmptyArticle() {
|
|
|
+ return {
|
|
|
+ "title": '',
|
|
|
+ "thumbMediaId": '',
|
|
|
+ "author": '',
|
|
|
+ "digest": '',
|
|
|
+ "showCoverPic": '',
|
|
|
+ "content": '',
|
|
|
+ "contentSourceUrl": '',
|
|
|
+ "needOpenComment":'',
|
|
|
+ "onlyFansCanComment":'',
|
|
|
+ "thumbUrl":''
|
|
|
}
|
|
|
- this.operateMaterial = 'add'
|
|
|
- this.dialogNewsVisible = true
|
|
|
},
|
|
|
- beforeThumbImageUpload(file){
|
|
|
+
|
|
|
+ // ======================== 文件上传 ========================
|
|
|
+ beforeThumbImageUpload(file) {
|
|
|
this.addMaterialLoading = true
|
|
|
const isType = file.type === 'image/jpeg'
|
|
|
|| file.type === 'image/png'
|
|
@@ -539,6 +507,8 @@ export default {
|
|
|
this.articlesAdd[this.isActiveAddNews].thumbMediaId = item.mediaId
|
|
|
this.articlesAdd[this.isActiveAddNews].thumbUrl = item.url
|
|
|
},
|
|
|
+
|
|
|
+ // ======================== 草稿箱发布 ========================
|
|
|
handlePublishNews(item){
|
|
|
this.$confirm('你正在通过发布的方式发表内容。 发布不占用群发次数,一天可多次发布。已发布内容不会推送给用户,也不会展示在公众号主页中。 发布后,你可以前往发表记录获取链接,也可以将发布内容添加到自定义菜单、自动回复、话题和页面模板中。', '提示', {
|
|
|
confirmButtonText: '确定',
|