mirror of https://github.com/halo-dev/halo-admin
Fixed some error.
parent
c41caba1c0
commit
134858be01
|
@ -19,6 +19,20 @@ commentApi.query = params => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
commentApi.updateStatus = (commentId, status) => {
|
||||||
|
return service({
|
||||||
|
url: `${baseUrl}/${commentId}/status/${status}`,
|
||||||
|
method: 'put'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
commentApi.delete = commentId => {
|
||||||
|
return service({
|
||||||
|
url: `${baseUrl}/${commentId}`,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
commentApi.commentStatus = {
|
commentApi.commentStatus = {
|
||||||
PUBLISHED: {
|
PUBLISHED: {
|
||||||
color: 'green',
|
color: 'green',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-drawer
|
<a-drawer
|
||||||
title="选择附件"
|
:title="title"
|
||||||
:width="isMobile()?'100%':drawerWidth"
|
:width="isMobile()?'100%':drawerWidth"
|
||||||
closable
|
closable
|
||||||
:visible="visiable"
|
:visible="visiable"
|
||||||
|
@ -99,6 +99,11 @@ export default {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false,
|
required: false,
|
||||||
default: 580
|
default: 580
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '选择附件'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|
|
@ -91,17 +91,38 @@
|
||||||
slot="action"
|
slot="action"
|
||||||
slot-scope="text, record"
|
slot-scope="text, record"
|
||||||
>
|
>
|
||||||
<a-popconfirm
|
|
||||||
:title="'你确定要通过该评论?'"
|
<a-dropdown
|
||||||
@confirm="handleEditStatusClick(record.id,'RECYCLE')"
|
:trigger="['click']"
|
||||||
okText="确定"
|
|
||||||
cancelText="取消"
|
|
||||||
v-if="record.status === 'AUDITING'"
|
v-if="record.status === 'AUDITING'"
|
||||||
>
|
>
|
||||||
<a href="javascript:;">通过</a>
|
<a
|
||||||
</a-popconfirm>
|
href="javascript:void(0);"
|
||||||
|
class="ant-dropdown-link"
|
||||||
|
>通过</a>
|
||||||
|
<a-menu
|
||||||
|
slot="overlay"
|
||||||
|
@click="handleMenuClick"
|
||||||
|
>
|
||||||
|
<a-menu-item key="1">通过该评论</a-menu-item>
|
||||||
|
<a-menu-item key="2">回复并通过</a-menu-item>
|
||||||
|
</a-menu>
|
||||||
|
</a-dropdown>
|
||||||
|
|
||||||
<a href="javascript:;" v-if="record.status === 'PUBLISHED'">回复</a>
|
<a
|
||||||
|
href="javascript:;"
|
||||||
|
v-else-if="record.status === 'PUBLISHED'"
|
||||||
|
>回复</a>
|
||||||
|
|
||||||
|
<a-popconfirm
|
||||||
|
:title="'你确定要还原该评论?'"
|
||||||
|
@confirm="handleEditStatusClick(record.id,'PUBLISHED')"
|
||||||
|
okText="确定"
|
||||||
|
cancelText="取消"
|
||||||
|
v-else-if="record.status === 'RECYCLE'"
|
||||||
|
>
|
||||||
|
<a href="javascript:;">还原</a>
|
||||||
|
</a-popconfirm>
|
||||||
|
|
||||||
<a-divider type="vertical" />
|
<a-divider type="vertical" />
|
||||||
|
|
||||||
|
@ -117,7 +138,7 @@
|
||||||
|
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
:title="'你确定要永久删除该评论?'"
|
:title="'你确定要永久删除该评论?'"
|
||||||
@confirm="handleDeleteComment(record.id)"
|
@confirm="handleDeleteClick(record.id)"
|
||||||
okText="确定"
|
okText="确定"
|
||||||
cancelText="取消"
|
cancelText="取消"
|
||||||
v-else-if="record.status === 'RECYCLE'"
|
v-else-if="record.status === 'RECYCLE'"
|
||||||
|
@ -234,8 +255,17 @@ export default {
|
||||||
handleEditComment(id) {
|
handleEditComment(id) {
|
||||||
this.$message.success('编辑')
|
this.$message.success('编辑')
|
||||||
},
|
},
|
||||||
handleDeleteComment(id) {
|
handleEditStatusClick(commentId, status) {
|
||||||
this.$message.success('删除')
|
commentApi.updateStatus(commentId, status).then(response => {
|
||||||
|
this.$message.success('操作成功!')
|
||||||
|
this.loadComments()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleDeleteClick(commentId) {
|
||||||
|
commentApi.delete(commentId).then(response => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.loadComments()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handlePaginationChange(page, pageSize) {
|
handlePaginationChange(page, pageSize) {
|
||||||
this.$log.debug(`Current: ${page}, PageSize: ${pageSize}`)
|
this.$log.debug(`Current: ${page}, PageSize: ${pageSize}`)
|
||||||
|
|
|
@ -215,7 +215,7 @@
|
||||||
<AttachmentDrawer v-model="attachmentDrawerVisible" />
|
<AttachmentDrawer v-model="attachmentDrawerVisible" />
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<div class="upload-button">
|
<div class="upload-button">
|
||||||
<a-dropdown placement="topLeft" :trigger="['hover','click']">
|
<a-dropdown placement="topLeft" :trigger="['click']">
|
||||||
<a-button
|
<a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
|
@ -359,11 +359,6 @@ export default {
|
||||||
this.$message.success('保存成功!')
|
this.$message.success('保存成功!')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getThemeProperty(themeId) {
|
|
||||||
themeApi.getProperty(themeId).then(response => {
|
|
||||||
this.themeProperty = response.data.data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onClose() {
|
onClose() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
this.optionLoading = false
|
this.optionLoading = false
|
||||||
|
|
|
@ -25,13 +25,29 @@
|
||||||
label="LOGO:"
|
label="LOGO:"
|
||||||
:wrapper-col="wrapperCol"
|
:wrapper-col="wrapperCol"
|
||||||
>
|
>
|
||||||
<a-input v-model="options.blog_logo" />
|
<a-input v-model="options.blog_logo">
|
||||||
|
<a
|
||||||
|
href="javascript:void(0);"
|
||||||
|
slot="addonAfter"
|
||||||
|
@click="handleShowLogoAttachDrawer"
|
||||||
|
>
|
||||||
|
<a-icon type="picture" />
|
||||||
|
</a>
|
||||||
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="Favicon:"
|
label="Favicon:"
|
||||||
:wrapper-col="wrapperCol"
|
:wrapper-col="wrapperCol"
|
||||||
>
|
>
|
||||||
<a-input v-model="options.blog_favicon" />
|
<a-input v-model="options.blog_favicon">
|
||||||
|
<a
|
||||||
|
href="javascript:void(0);"
|
||||||
|
slot="addonAfter"
|
||||||
|
@click="handleShowFaviconAttachDrawer"
|
||||||
|
>
|
||||||
|
<a-icon type="picture" />
|
||||||
|
</a>
|
||||||
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="页脚信息:"
|
label="页脚信息:"
|
||||||
|
@ -161,9 +177,7 @@
|
||||||
label="评论者头像:"
|
label="评论者头像:"
|
||||||
:wrapper-col="wrapperCol"
|
:wrapper-col="wrapperCol"
|
||||||
>
|
>
|
||||||
<a-select
|
<a-select v-model="options.comment_gavatar_default">
|
||||||
v-model="options.comment_gavatar_default"
|
|
||||||
>
|
|
||||||
<a-select-option value="mm">默认</a-select-option>
|
<a-select-option value="mm">默认</a-select-option>
|
||||||
<a-select-option value="identicon">抽象几何图形</a-select-option>
|
<a-select-option value="identicon">抽象几何图形</a-select-option>
|
||||||
<a-select-option value="monsterid">小怪物</a-select-option>
|
<a-select-option value="monsterid">小怪物</a-select-option>
|
||||||
|
@ -249,11 +263,11 @@
|
||||||
@change="handleAttachChange"
|
@change="handleAttachChange"
|
||||||
v-model="options.attachment_type"
|
v-model="options.attachment_type"
|
||||||
>
|
>
|
||||||
<a-select-option value="local">本地</a-select-option>
|
<a-select-option
|
||||||
<a-select-option value="smms">SM.MS</a-select-option>
|
v-for="item in Object.keys(attachmentType)"
|
||||||
<a-select-option value="upyun">又拍云</a-select-option>
|
:key="item"
|
||||||
<a-select-option value="qnyun">七牛云</a-select-option>
|
:value="item"
|
||||||
<a-select-option value="aliyun">阿里云</a-select-option>
|
>{{ attachmentType[item].text }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div
|
<div
|
||||||
|
@ -314,9 +328,7 @@
|
||||||
label="区域:"
|
label="区域:"
|
||||||
:wrapper-col="wrapperCol"
|
:wrapper-col="wrapperCol"
|
||||||
>
|
>
|
||||||
<a-select
|
<a-select v-model="options.oss_qiniu_zone">
|
||||||
v-model="options.oss_qiniu_zone"
|
|
||||||
>
|
|
||||||
<a-select-option value="auto">自动选择</a-select-option>
|
<a-select-option value="auto">自动选择</a-select-option>
|
||||||
<a-select-option value="z0">华东</a-select-option>
|
<a-select-option value="z0">华东</a-select-option>
|
||||||
<a-select-option value="z1">华北</a-select-option>
|
<a-select-option value="z1">华北</a-select-option>
|
||||||
|
@ -543,13 +555,30 @@
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
|
||||||
|
<AttachmentSelectDrawer
|
||||||
|
v-model="logoDrawerVisible"
|
||||||
|
@listenToSelect="handleSelectLogo"
|
||||||
|
title="选择 Logo"
|
||||||
|
/>
|
||||||
|
<AttachmentSelectDrawer
|
||||||
|
v-model="faviconDrawerVisible"
|
||||||
|
@listenToSelect="handleSelectFavicon"
|
||||||
|
title="选择 Favicon"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import AttachmentSelectDrawer from '../attachment/components/AttachmentSelectDrawer'
|
||||||
import optionApi from '@/api/option'
|
import optionApi from '@/api/option'
|
||||||
|
import attachmentApi from '@/api/attachment'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
AttachmentSelectDrawer
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
attachmentType: attachmentApi.type,
|
||||||
wrapperCol: {
|
wrapperCol: {
|
||||||
xl: { span: 8 },
|
xl: { span: 8 },
|
||||||
lg: { span: 8 },
|
lg: { span: 8 },
|
||||||
|
@ -559,6 +588,8 @@ export default {
|
||||||
upyunFormHidden: false,
|
upyunFormHidden: false,
|
||||||
qnyunFormHidden: false,
|
qnyunFormHidden: false,
|
||||||
aliyunFormHidden: false,
|
aliyunFormHidden: false,
|
||||||
|
logoDrawerVisible: false,
|
||||||
|
faviconDrawerVisible: false,
|
||||||
options: []
|
options: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -580,28 +611,42 @@ export default {
|
||||||
},
|
},
|
||||||
handleAttachChange(e) {
|
handleAttachChange(e) {
|
||||||
switch (e) {
|
switch (e) {
|
||||||
case 'local':
|
case 'LOCAL':
|
||||||
case 'smms':
|
case 'SMMS':
|
||||||
this.upyunFormHidden = false
|
this.upyunFormHidden = false
|
||||||
this.qnyunFormHidden = false
|
this.qnyunFormHidden = false
|
||||||
this.aliyunFormHidden = false
|
this.aliyunFormHidden = false
|
||||||
break
|
break
|
||||||
case 'upyun':
|
case 'UPYUN':
|
||||||
this.upyunFormHidden = true
|
this.upyunFormHidden = true
|
||||||
this.qnyunFormHidden = false
|
this.qnyunFormHidden = false
|
||||||
this.aliyunFormHidden = false
|
this.aliyunFormHidden = false
|
||||||
break
|
break
|
||||||
case 'qnyun':
|
case 'QNYUN':
|
||||||
this.qnyunFormHidden = true
|
this.qnyunFormHidden = true
|
||||||
this.upyunFormHidden = false
|
this.upyunFormHidden = false
|
||||||
this.aliyunFormHidden = false
|
this.aliyunFormHidden = false
|
||||||
break
|
break
|
||||||
case 'aliyun':
|
case 'ALIYUN':
|
||||||
this.aliyunFormHidden = true
|
this.aliyunFormHidden = true
|
||||||
this.qnyunFormHidden = false
|
this.qnyunFormHidden = false
|
||||||
this.upyunFormHidden = false
|
this.upyunFormHidden = false
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
handleShowLogoAttachDrawer() {
|
||||||
|
this.logoDrawerVisible = true
|
||||||
|
},
|
||||||
|
handleSelectLogo(data) {
|
||||||
|
this.options.blog_logo = data.path
|
||||||
|
this.logoDrawerVisible = false
|
||||||
|
},
|
||||||
|
handleShowFaviconAttachDrawer() {
|
||||||
|
this.faviconDrawerVisible = true
|
||||||
|
},
|
||||||
|
handleSelectFavicon(data) {
|
||||||
|
this.options.blog_favicon = data.path
|
||||||
|
this.faviconDrawerVisible = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,6 +144,7 @@
|
||||||
<AttachmentSelectDrawer
|
<AttachmentSelectDrawer
|
||||||
v-model="attachmentDrawerVisible"
|
v-model="attachmentDrawerVisible"
|
||||||
@listenToSelect="handleSelectAvatar"
|
@listenToSelect="handleSelectAvatar"
|
||||||
|
title="选择头像"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
Loading…
Reference in New Issue