mtfosbot_web/src/components/ControlPanel/lineLog/index.vue

83 lines
2.0 KiB
Vue

<template>
<sui-container>
<sui-grid>
<sui-grid-row>
<sui-grid-column :width="4">
<sui-segment>
<sui-list divided>
<sui-list-item @click="changeGroup('')">All</sui-list-item>
<sui-list-item v-for="it in lineGroups" :key="it.id" @click="changeGroup(it.id)">
{{ it.name }}
</sui-list-item>
</sui-list>
</sui-segment>
</sui-grid-column>
<sui-grid-column :width="12">
<sui-segment>
<sui-list>
<sui-list-item v-for="it in list" :key="it.id">
<sui-segment>
<sui-list-header><sui-label :basic="true">{{ it.group_name }}</sui-label>&nbsp;{{ it.user_name }}</sui-list-header>
<MessageItem :type="it.type" :msg="it.message" :time="it.ctime" />
</sui-segment>
</sui-list-item>
</sui-list>
</sui-segment>
</sui-grid-column>
</sui-grid-row>
</sui-grid>
</sui-container>
</template>
<script>
import MessageItem from './components/message-item.vue'
import {mapActions, mapGetters} from 'vuex'
export default {
name: 'LineLog',
components: {
MessageItem
},
data () {
return {
list: [],
nowGroup: '',
page: {
cur: 1,
total: 1
}
}
},
updated () {
console.log(this.lineGroups)
},
methods: {
...mapActions(['getLineGroups', 'getLogList']),
changeGroup (id = '') {
console.log('change grp ::::: ', id)
if (typeof id !== 'string') return
this.nowGroup = id
this.page = { cur: 1, total: 1 }
this.getLog()
},
getLog (page = -1) {
this.getLogList({
group: this.nowGroup,
page: page,
max: 20,
cb: data => {
this.list = data.list
this.page = data.page
}})
}
},
mounted () {
this.getLineGroups()
this.getLog()
},
computed: {
...mapGetters(['lineGroups'])
}
}
</script>