2016-11-23 16:27:17 +08:00
|
|
|
|
<template>
|
2018-01-19 18:01:21 +08:00
|
|
|
|
<div>
|
2018-06-25 13:03:08 +08:00
|
|
|
|
<Table :data="tableData1" :columns="tableColumns1" stripe></Table>
|
|
|
|
|
<div style="margin: 10px;overflow: hidden">
|
|
|
|
|
<div style="float: right;">
|
|
|
|
|
<Page :total="100" :current="1" @on-change="changePage"></Page>
|
|
|
|
|
</div>
|
2018-04-12 01:10:45 +08:00
|
|
|
|
</div>
|
2018-01-19 18:01:21 +08:00
|
|
|
|
</div>
|
2016-11-23 16:27:17 +08:00
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
export default {
|
2017-07-19 15:09:15 +08:00
|
|
|
|
data () {
|
|
|
|
|
return {
|
2018-06-25 13:03:08 +08:00
|
|
|
|
tableData1: this.mockTableData1(),
|
|
|
|
|
tableColumns1: [
|
2017-10-17 10:14:10 +02:00
|
|
|
|
{
|
2017-11-08 14:39:39 +08:00
|
|
|
|
title: 'Name',
|
2018-06-25 13:03:08 +08:00
|
|
|
|
key: 'name'
|
2018-03-20 19:28:39 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
title: 'Status',
|
|
|
|
|
key: 'status',
|
|
|
|
|
render: (h, params) => {
|
|
|
|
|
const row = params.row;
|
|
|
|
|
const color = row.status === 1 ? 'blue' : row.status === 2 ? 'green' : 'red';
|
|
|
|
|
const text = row.status === 1 ? 'Working' : row.status === 2 ? 'Success' : 'Fail';
|
|
|
|
|
|
|
|
|
|
return h('Tag', {
|
|
|
|
|
props: {
|
|
|
|
|
type: 'dot',
|
|
|
|
|
color: color
|
|
|
|
|
}
|
|
|
|
|
}, text);
|
|
|
|
|
}
|
2018-03-20 19:28:39 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
title: 'Portrayal',
|
|
|
|
|
key: 'portrayal',
|
2018-03-20 19:28:39 +08:00
|
|
|
|
render: (h, params) => {
|
2018-06-25 13:03:08 +08:00
|
|
|
|
return h('Poptip', {
|
|
|
|
|
props: {
|
|
|
|
|
trigger: 'hover',
|
|
|
|
|
title: params.row.portrayal.length + 'portrayals',
|
|
|
|
|
placement: 'bottom'
|
|
|
|
|
}
|
|
|
|
|
}, [
|
|
|
|
|
h('Tag', params.row.portrayal.length),
|
|
|
|
|
h('div', {
|
|
|
|
|
slot: 'content'
|
|
|
|
|
}, [
|
|
|
|
|
h('ul', this.tableData1[params.index].portrayal.map(item => {
|
|
|
|
|
return h('li', {
|
|
|
|
|
style: {
|
|
|
|
|
textAlign: 'center',
|
|
|
|
|
padding: '4px'
|
|
|
|
|
}
|
|
|
|
|
}, item)
|
|
|
|
|
}))
|
|
|
|
|
])
|
2018-03-20 19:28:39 +08:00
|
|
|
|
]);
|
|
|
|
|
}
|
2018-03-26 14:28:11 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
title: 'People',
|
|
|
|
|
key: 'people',
|
|
|
|
|
render: (h, params) => {
|
|
|
|
|
return h('Poptip', {
|
|
|
|
|
props: {
|
|
|
|
|
trigger: 'hover',
|
|
|
|
|
title: params.row.people.length + 'customers',
|
|
|
|
|
placement: 'bottom'
|
|
|
|
|
}
|
|
|
|
|
}, [
|
|
|
|
|
h('Tag', params.row.people.length),
|
|
|
|
|
h('div', {
|
|
|
|
|
slot: 'content'
|
|
|
|
|
}, [
|
|
|
|
|
h('ul', this.tableData1[params.index].people.map(item => {
|
|
|
|
|
return h('li', {
|
|
|
|
|
style: {
|
|
|
|
|
textAlign: 'center',
|
|
|
|
|
padding: '4px'
|
|
|
|
|
}
|
|
|
|
|
}, item.n + ':' + item.c + 'People')
|
|
|
|
|
}))
|
|
|
|
|
])
|
|
|
|
|
]);
|
|
|
|
|
}
|
2018-03-26 14:28:11 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
title: 'Sampling Time',
|
|
|
|
|
key: 'time',
|
|
|
|
|
render: (h, params) => {
|
|
|
|
|
return h('div', 'Almost' + params.row.time + 'days');
|
2018-03-26 14:28:11 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
title: 'Updated Time',
|
|
|
|
|
key: 'update',
|
|
|
|
|
render: (h, params) => {
|
|
|
|
|
return h('div', this.formatDate(this.tableData1[params.index].update));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
mockTableData1 () {
|
|
|
|
|
let data = [];
|
|
|
|
|
for (let i = 0; i < 10; i++) {
|
|
|
|
|
data.push({
|
|
|
|
|
name: 'Business' + Math.floor(Math.random () * 100 + 1),
|
|
|
|
|
status: Math.floor(Math.random () * 3 + 1),
|
|
|
|
|
portrayal: ['City', 'People', 'Cost', 'Life', 'Entertainment'],
|
|
|
|
|
people: [
|
2018-03-26 14:28:11 +08:00
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
n: 'People' + Math.floor(Math.random () * 100 + 1),
|
|
|
|
|
c: Math.floor(Math.random () * 1000000 + 100000)
|
2018-03-26 14:28:11 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
n: 'People' + Math.floor(Math.random () * 100 + 1),
|
|
|
|
|
c: Math.floor(Math.random () * 1000000 + 100000)
|
2018-03-26 14:28:11 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2018-06-25 13:03:08 +08:00
|
|
|
|
n: 'People' + Math.floor(Math.random () * 100 + 1),
|
|
|
|
|
c: Math.floor(Math.random () * 1000000 + 100000)
|
2018-03-26 14:28:11 +08:00
|
|
|
|
}
|
|
|
|
|
],
|
2018-06-25 13:03:08 +08:00
|
|
|
|
time: Math.floor(Math.random () * 7 + 1),
|
|
|
|
|
update: new Date()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return data;
|
2018-04-12 01:10:45 +08:00
|
|
|
|
},
|
2018-06-25 13:03:08 +08:00
|
|
|
|
formatDate (date) {
|
|
|
|
|
const y = date.getFullYear();
|
|
|
|
|
let m = date.getMonth() + 1;
|
|
|
|
|
m = m < 10 ? '0' + m : m;
|
|
|
|
|
let d = date.getDate();
|
|
|
|
|
d = d < 10 ? ('0' + d) : d;
|
|
|
|
|
return y + '-' + m + '-' + d;
|
2018-04-12 01:10:45 +08:00
|
|
|
|
},
|
2018-06-25 13:03:08 +08:00
|
|
|
|
changePage () {
|
|
|
|
|
// The simulated data is changed directly here, and the actual usage scenario should fetch the data from the server
|
|
|
|
|
this.tableData1 = this.mockTableData1();
|
2018-04-12 01:10:45 +08:00
|
|
|
|
}
|
2016-11-23 16:27:17 +08:00
|
|
|
|
}
|
2017-10-23 19:01:47 +08:00
|
|
|
|
}
|
2018-06-25 13:03:08 +08:00
|
|
|
|
</script>
|