fix(components): https://github.com/rymcu/forest/issues/96
fix(components): https://github.com/rymcu/forest/issues/96
This commit is contained in:
commit
12aa4bf27a
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-row class="wrapper">
|
<el-row class="wrapper">
|
||||||
<el-col :xs="24" :sm="24" :xl="24" style="margin: 0 auto;">
|
<el-col :xs="24" :sm="24" :xl="24" style="margin: 0 auto;">
|
||||||
<el-carousel :interval="5000" height="210px" indicator-position="outside" arrow="always">
|
<el-carousel :interval="5000" height="210px" indicator-position="outside">
|
||||||
<el-carousel-item v-for="article in announcements.list" :key="article.idArticle">
|
<el-carousel-item v-for="article in announcements.list" :key="article.idArticle">
|
||||||
<el-card>
|
<el-card>
|
||||||
<div class="card-body d-flex flex-column">
|
<div class="card-body d-flex flex-column">
|
||||||
|
@ -31,7 +31,10 @@
|
|||||||
label="标题"
|
label="标题"
|
||||||
prop="articleTitle">
|
prop="articleTitle">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click="openLink(scope.row.articlePermalink)">{{ scope.row.articleTitle }}</el-button>
|
<el-button type="text" @click="openLink(scope.row.articlePermalink)">{{
|
||||||
|
scope.row.articleTitle
|
||||||
|
}}
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@ -52,7 +55,9 @@
|
|||||||
label="作者"
|
label="作者"
|
||||||
width="100">
|
width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click="openLink('/user/' + scope.row.articleAuthor.userAccount)">{{ scope.row.articleAuthorName }}</el-button>
|
<el-button type="text" @click="openLink('/user/' + scope.row.articleAuthor.userAccount)">
|
||||||
|
{{ scope.row.articleAuthorName }}
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@ -62,16 +67,19 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-if="scope.row.articlePerfect === '1'" size="mini" @click="cancelPreference(scope.$index, scope.row.idArticle)" plain>取消优选</el-button>
|
<el-button v-if="scope.row.articlePerfect === '1'" size="mini"
|
||||||
<el-button v-else size="mini" @click="setPreference(scope.$index, scope.row.idArticle)" plain>设为优选</el-button>
|
@click="cancelPreference(scope.$index, scope.row.idArticle)" plain>取消优选
|
||||||
|
</el-button>
|
||||||
|
<el-button v-else size="mini" @click="setPreference(scope.$index, scope.row.idArticle)" plain>设为优选
|
||||||
|
</el-button>
|
||||||
<el-button size="mini" type="primary"
|
<el-button size="mini" type="primary"
|
||||||
@click="updateTags(scope.$index, scope.row)" plain>编辑标签
|
@click="updateTags(scope.$index, scope.row)" plain>编辑标签
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="scope.row.articleStatus === '0'" size="mini" type="danger"
|
<el-button v-if="scope.row.articleStatus === '0'" size="mini" type="danger"
|
||||||
@click="toggleStatus(scope.$index, scope.row)" plain>下架
|
@click="toggleStatus(scope.row.idArticle, 1)" plain>下架
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else size="mini" type="success"
|
<el-button v-else size="mini" type="success"
|
||||||
@click="toggleStatus(scope.$index, scope.row)" plain>上架
|
@click="toggleStatus(scope.row.idArticle, 0)" plain>上架
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -97,6 +105,17 @@
|
|||||||
@closeDialog="closeTagsDialog">
|
@closeDialog="closeTagsDialog">
|
||||||
</edit-tags>
|
</edit-tags>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog title="下架文章" :visible.sync="dialogFormVisible">
|
||||||
|
<el-form :model="article" label-width="80px">
|
||||||
|
<el-form-item label="下架原因">
|
||||||
|
<el-input type="textarea" v-model="article.remarks" autocomplete="off"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="updateStatus">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
@ -132,7 +151,13 @@ export default {
|
|||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
index: Number,
|
index: Number,
|
||||||
idArticle: Number,
|
idArticle: Number,
|
||||||
articleTags: ''
|
articleTags: '',
|
||||||
|
dialogFormVisible: false,
|
||||||
|
article: {
|
||||||
|
idArticle: 0,
|
||||||
|
articleStatus: 0,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -150,7 +175,47 @@ export default {
|
|||||||
rows: _ts.articles.pageSize
|
rows: _ts.articles.pageSize
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toggleStatus() {},
|
toggleStatus(idArticle, status) {
|
||||||
|
let _ts = this;
|
||||||
|
_ts.article = {
|
||||||
|
idArticle: idArticle,
|
||||||
|
articleStatus: status,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
|
// 下架文章填写下架原因
|
||||||
|
if (status === 1) {
|
||||||
|
_ts.dialogFormVisible = true;
|
||||||
|
} else {
|
||||||
|
_ts.$confirm('此操作将发布该文章, 是否继续?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
_ts.updateStatus();
|
||||||
|
}).catch(() => {
|
||||||
|
_ts.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '已取消'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
updateStatus() {
|
||||||
|
let _ts = this;
|
||||||
|
_ts.$axios.$patch("/api/admin/article/update-status", _ts.article).then(function (res) {
|
||||||
|
if (res) {
|
||||||
|
_ts.article = {
|
||||||
|
idArticle: 0,
|
||||||
|
articleStatus: 0,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
|
_ts.dialogFormVisible = false;
|
||||||
|
_ts.$message.success("操作成功!");
|
||||||
|
} else {
|
||||||
|
_ts.$message.error("操作失败!");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
setPreference(index, idArticle) {
|
setPreference(index, idArticle) {
|
||||||
let _ts = this;
|
let _ts = this;
|
||||||
_ts.$axios.$patch("/api/admin/article/update-perfect", {
|
_ts.$axios.$patch("/api/admin/article/update-perfect", {
|
||||||
|
@ -178,6 +178,17 @@
|
|||||||
<edit-tags :idArticle="idArticle" :tags="articleTags" @closeDialog="closeTagsDialog">
|
<edit-tags :idArticle="idArticle" :tags="articleTags" @closeDialog="closeTagsDialog">
|
||||||
</edit-tags>
|
</edit-tags>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog title="下架文章" :visible.sync="dialogFormVisible">
|
||||||
|
<el-form :model="article" label-width="80px">
|
||||||
|
<el-form-item label="下架原因">
|
||||||
|
<el-input type="textarea" v-model="article.remarks" autocomplete="off"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="updateStatus">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
@ -224,7 +235,13 @@ export default {
|
|||||||
tagsDialogVisible: false,
|
tagsDialogVisible: false,
|
||||||
index: Number,
|
index: Number,
|
||||||
idArticle: Number,
|
idArticle: Number,
|
||||||
articleTags: ''
|
articleTags: '',
|
||||||
|
dialogFormVisible: false,
|
||||||
|
article: {
|
||||||
|
idArticle: 0,
|
||||||
|
articleStatus: 0,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -482,7 +499,47 @@ export default {
|
|||||||
_ts.$set(_ts, 'articleTags', article.articleTags);
|
_ts.$set(_ts, 'articleTags', article.articleTags);
|
||||||
_ts.$set(_ts, 'tagsDialogVisible', true);
|
_ts.$set(_ts, 'tagsDialogVisible', true);
|
||||||
},
|
},
|
||||||
toggleStatus() {},
|
toggleStatus(idArticle, status) {
|
||||||
|
let _ts = this;
|
||||||
|
_ts.article = {
|
||||||
|
idArticle: idArticle,
|
||||||
|
articleStatus: status,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
|
// 下架文章填写下架原因
|
||||||
|
if (status === 1) {
|
||||||
|
_ts.dialogFormVisible = true;
|
||||||
|
} else {
|
||||||
|
_ts.$confirm('此操作将发布该文章, 是否继续?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
_ts.updateStatus();
|
||||||
|
}).catch(() => {
|
||||||
|
_ts.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '已取消'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
updateStatus() {
|
||||||
|
let _ts = this;
|
||||||
|
_ts.$axios.$patch("/api/admin/article/update-status", _ts.article).then(function (res) {
|
||||||
|
if (res) {
|
||||||
|
_ts.article = {
|
||||||
|
idArticle: 0,
|
||||||
|
articleStatus: 0,
|
||||||
|
remarks: '低质量或无意义文章!'
|
||||||
|
}
|
||||||
|
_ts.dialogFormVisible = false;
|
||||||
|
_ts.$message.success("操作成功!");
|
||||||
|
} else {
|
||||||
|
_ts.$message.error("操作失败!");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
closeTagsDialog() {
|
closeTagsDialog() {
|
||||||
this.$set(this, 'tagsDialogVisible', false);
|
this.$set(this, 'tagsDialogVisible', false);
|
||||||
},
|
},
|
||||||
|
@ -178,6 +178,7 @@ export default {
|
|||||||
to: _ts.to.account,
|
to: _ts.to.account,
|
||||||
from: _ts.user.account,
|
from: _ts.user.account,
|
||||||
dataType: 1,
|
dataType: 1,
|
||||||
|
role: 'user',
|
||||||
dataId: new Date().getTime(),
|
dataId: new Date().getTime(),
|
||||||
content: await _ts.contentEditor.getHTML()
|
content: await _ts.contentEditor.getHTML()
|
||||||
}
|
}
|
||||||
@ -186,14 +187,13 @@ export default {
|
|||||||
return b.dataId - a.dataId;
|
return b.dataId - a.dataId;
|
||||||
});
|
});
|
||||||
_ts.contentEditor.setValue('')
|
_ts.contentEditor.setValue('')
|
||||||
_ts.$axios.$post('/api/openai/chat', {
|
_ts.$axios.$post('/api/openai/new-chat', _ts.messages).then(async res => {
|
||||||
message: message.content
|
|
||||||
}).then(async res => {
|
|
||||||
const html = await Vue.Vditor.md2html(_ts.message);
|
const html = await Vue.Vditor.md2html(_ts.message);
|
||||||
_ts.messages.push({
|
_ts.messages.push({
|
||||||
to: _ts.user.account,
|
to: _ts.user.account,
|
||||||
from: _ts.to.account,
|
from: _ts.to.account,
|
||||||
dataType: 1,
|
dataType: 1,
|
||||||
|
role: 'assistant',
|
||||||
dataId: new Date().getTime(),
|
dataId: new Date().getTime(),
|
||||||
content: html
|
content: html
|
||||||
});
|
});
|
||||||
@ -237,9 +237,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//handleCustomEvents回调
|
//handleCustomEvents回调
|
||||||
handleCustomEvents(res) {
|
handleCustomEvents(res) {
|
||||||
console.log('customEvents22:', res)
|
|
||||||
let { data } = res;
|
let { data } = res;
|
||||||
console.info('customEvents:', data);
|
|
||||||
this.customEvents = data;
|
this.customEvents = data;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -267,6 +265,7 @@ export default {
|
|||||||
to: _ts.user.account,
|
to: _ts.user.account,
|
||||||
from: _ts.to.account,
|
from: _ts.to.account,
|
||||||
dataType: 1,
|
dataType: 1,
|
||||||
|
role: 'assistant',
|
||||||
dataId: new Date().getTime(),
|
dataId: new Date().getTime(),
|
||||||
content: '伟大的"坦格利安家族的风暴降生丹妮莉丝 · 铁王座的合法继承人 · 安达尔人和先民的合法女王 · 七国的守护者 · 草海上的卡丽熙 · 不焚者 · 解放者 · 傲之追猎者 · 悠米"为你服务'
|
content: '伟大的"坦格利安家族的风暴降生丹妮莉丝 · 铁王座的合法继承人 · 安达尔人和先民的合法女王 · 七国的守护者 · 草海上的卡丽熙 · 不焚者 · 解放者 · 傲之追猎者 · 悠米"为你服务'
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user