Browse Source

内容通知新增评论功能

1、模块分类管理新增是否可以评论配置
2、内容管理新增评论管理功能
feature/syp_points
liuchuang 5 years ago
parent
commit
4befe5981e
  1. 23
      src/views/modules/news/modulecategory-add-or-update.vue
  2. 83
      src/views/modules/news/notice.vue
  3. 2
      src/views/modules/worklog/worklog.vue
  4. 18
      src/views/pages/login.vue

23
src/views/modules/news/modulecategory-add-or-update.vue

@ -79,6 +79,16 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="内容是否可评论" prop="commentFlag">
<el-select v-model="dataForm.commentFlag" placeholder="请选择">
<el-option
v-for="item in isCommentFlag"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="备注" maxlength="200" show-word-limit></el-input> <el-input v-model="dataForm.remark" placeholder="备注" maxlength="200" show-word-limit></el-input>
</el-form-item> </el-form-item>
@ -114,7 +124,8 @@ export default {
enableFlag: '', enableFlag: '',
imgUrl: '', imgUrl: '',
moduleStyle: '', moduleStyle: '',
bannerFlag: '' bannerFlag: '',
commentFlag: ''
}, },
secondOrgDictList: [], secondOrgDictList: [],
// //
@ -127,6 +138,13 @@ export default {
value: '1', value: '1',
label: '是' label: '是'
}], }],
isCommentFlag: [{
value: '0',
label: '否'
}, {
value: '1',
label: '是'
}],
moduleStyleName: '', moduleStyleName: '',
moduleStyleListVisible: false, moduleStyleListVisible: false,
moduleStyleList: [], moduleStyleList: [],
@ -162,6 +180,9 @@ export default {
], ],
bannerFlag: [ bannerFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
commentFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
] ]
} }
} }

83
src/views/modules/news/notice.vue

@ -82,13 +82,13 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="150"> width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="$hasPermission('news:notice:update')" <el-button v-if="$hasPermission('news:notice:update')"
type="text" type="text"
size="small" size="small"
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('news:notice:publish') && scope.row.noticeReleaseState === '0'" <el-button v-if="$hasPermission('news:notice:publish')"
type="text" type="text"
size="small" size="small"
@click="noticePublishHandle(scope.row.id)">发布</el-button> @click="noticePublishHandle(scope.row.id)">发布</el-button>
@ -96,6 +96,9 @@
type="text" type="text"
size="small" size="small"
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
<el-button type="text"
size="small"
@click="noticeComments(scope.row.id)">评论管理</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -111,6 +114,30 @@
<add-or-update v-if="addOrUpdateVisible" <add-or-update v-if="addOrUpdateVisible"
ref="addOrUpdate" ref="addOrUpdate"
@refreshDataList="getDataList"></add-or-update> @refreshDataList="getDataList"></add-or-update>
<el-dialog width="90%" title="评论" :visible.sync="noticeCommentVisible" append-to-body>
<el-table :data="noticeCommentsData" border style="width: 100%;">
<el-table-column prop="user.userName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentTime" label="发言时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="content" label="发言内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="replyComment.userName" label="被回复人" header-align="center" align="center"></el-table-column>
<el-table-column prop="replyComment.content" label="被回复内容" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button v-if="scope.row.shieldFlag === '0'" type="button" size="small" @click="shieldComment(scope.row.commentId)">屏蔽</el-button>
<el-button v-if="scope.row.shieldFlag === '1'" type="text" size="small">已屏蔽</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="limitVal"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandleNew"
@current-change="pageCurrentChangeHandleNew">
</el-pagination>
</el-dialog>
</div> </div>
</el-card> </el-card>
</template> </template>
@ -137,7 +164,15 @@ export default {
optionProps: { optionProps: {
checkStrictly: true, checkStrictly: true,
value: 'categoryCode' value: 'categoryCode'
} },
noticeCommentVisible: false,
noticeCommentsData: [],
showNoticeCommentsNoticeId: '',
order: '',
orderField: '',
pageIndex: 1,
limitVal: 10,
total: 0
} }
}, },
watch: { watch: {
@ -221,6 +256,48 @@ export default {
this.getSelectedNode(item.children, item) this.getSelectedNode(item.children, item)
} }
}) })
},
noticeComments (id) {
this.noticeCommentVisible = true
this.showNoticeCommentsNoticeId = id
this.getNoticeCommentList()
},
pageSizeChangeHandleNew (val) {
this.pageIndex = 1
this.limitVal = val
this.getNoticeCommentList()
},
pageCurrentChangeHandleNew (val) {
this.pageIndex = val
this.getNoticeCommentList()
},
getNoticeCommentList () {
this.$http.get('/news/noticecomment/comments', { params: { id: this.showNoticeCommentsNoticeId, order: this.order, orderField: this.orderField, page: this.pageIndex, limit: this.limitVal }
}).then(({ data: res }) => {
if (res.code !== 0) {
this.noticeCommentsData = []
this.total = 0
return this.$message.error(res.msg)
}
this.noticeComments = res.data.list
this.total = res.data.total
}).catch(() => {})
},
shieldComment (val) {
this.$http['post'](
'/news/noticecomment/shieldComment', { commentIds: [val] }).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.getNoticeCommentList()
}
})
}).catch(() => {})
} }
} }
} }

2
src/views/modules/worklog/worklog.vue

@ -7,7 +7,7 @@
<script> <script>
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
export default { export default {
data() { data () {
return { return {
url: '' url: ''
} }

18
src/views/pages/login.vue

@ -152,15 +152,15 @@ export default {
this.checkLocakStorage() this.checkLocakStorage()
}).catch(() => { }) }).catch(() => { })
this.$http.get(`/api/plugins/workLog/getCustomId`) this.$http.get(`/api/plugins/workLog/getCustomId`)
.then(res => { .then(res => {
if (res.data.code !== 0) { if (res.data.code !== 0) {
return this.$message.error(res.data.msg) return this.$message.error(res.data.msg)
} }
Cookies.set('customerId',res.data.data) Cookies.set('customerId', res.data.data)
}) })
.catch((err) => { .catch((err) => {
console.log(err) console.log(err)
}) })
}) })
}, 1000, { 'leading': true, 'trailing': false }), }, 1000, { 'leading': true, 'trailing': false }),
checkLocakStorage () { checkLocakStorage () {

Loading…
Cancel
Save