|
@@ -1,148 +1,33 @@
|
|
|
<template>
|
|
|
- <div id="list">
|
|
|
- <list-frame title="测试列表页" @query="search" :total="total" :filter="filFields">
|
|
|
- <template #options>
|
|
|
- <el-option v-for="(item, index) in lists" :key="index" :label="item.label" :value="item.value"></el-option>
|
|
|
- </template>
|
|
|
- <el-table ref="multipleTable" row-key="id" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" :reserve-selection="true"> </el-table-column>
|
|
|
- <el-table-column label="日期" width="120">
|
|
|
- <template slot-scope="scope">{{ scope.row.date }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
|
|
|
- <el-table-column prop="address" label="地址" show-overflow-tooltip> </el-table-column>
|
|
|
- </el-table>
|
|
|
- </list-frame>
|
|
|
- </div>
|
|
|
+ <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" row-key="id" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" :reserve-selection="true"> </el-table-column>
|
|
|
+ <el-table-column label="日期" width="120" prop="school"> </el-table-column>
|
|
|
+ <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
|
|
|
+ <el-table-column prop="gender" label="地址" show-overflow-tooltip> </el-table-column>
|
|
|
+ </el-table>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import listFrame from '@frame/layout/admin/list-frame';
|
|
|
-import dataTable from '@frame/components/data-table';
|
|
|
export default {
|
|
|
- metaInfo: { title: '测试列表页' },
|
|
|
- name: 'list',
|
|
|
- props: {},
|
|
|
- components: {
|
|
|
- listFrame,
|
|
|
- },
|
|
|
- data: () => ({
|
|
|
- lists: [
|
|
|
- { label: '男', value: 1 },
|
|
|
- { label: '女', value: 0 },
|
|
|
- ],
|
|
|
- opera: [
|
|
|
- {
|
|
|
- label: '编辑',
|
|
|
- icon: 'el-icon-edit',
|
|
|
- method: 'edit',
|
|
|
- },
|
|
|
- ],
|
|
|
- fields: [
|
|
|
- { label: '姓名', prop: 'name' },
|
|
|
- {
|
|
|
- label: '性别',
|
|
|
- prop: 'gender',
|
|
|
- format: item => {
|
|
|
- return item === '1' ? '男' : '女';
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- list: [
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- { name: 'test1', gender: '1' },
|
|
|
- { name: 'test2', gender: '0' },
|
|
|
- ],
|
|
|
- filFields: [
|
|
|
- { label: '姓名', model: 'name' },
|
|
|
- {
|
|
|
- label: '性别',
|
|
|
- model: 'gender',
|
|
|
- type: 'select',
|
|
|
- },
|
|
|
- ],
|
|
|
- total: 0,
|
|
|
- tableData: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- date: '2016-05-03',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- date: '2016-05-02',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- date: '2016-05-04',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 4,
|
|
|
- date: '2016-05-01',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 5,
|
|
|
- date: '2016-05-08',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 6,
|
|
|
- date: '2016-05-06',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- date: '2016-05-07',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
- },
|
|
|
- ],
|
|
|
- multipleSelection: [],
|
|
|
- }),
|
|
|
- created() {
|
|
|
- let obj = {
|
|
|
- id: 1,
|
|
|
- date: '2016-05-03',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableData: [
|
|
|
+ { id: 1, name: '学生1', school: '测试学校1', gender: '男' },
|
|
|
+ { id: 2, name: '学生2', school: '测试学校2', gender: '女' },
|
|
|
+ { id: 3, name: '学生3', school: '测试学校3', gender: '男' },
|
|
|
+ { id: 4, name: '学生4', school: '测试学校4', gender: '女' },
|
|
|
+ { id: 5, name: '学生5', school: '测试学校5', gender: '男' },
|
|
|
+ { id: 6, name: '学生6', school: '测试学校6', gender: '男' },
|
|
|
+ { id: 7, name: '学生7', school: '测试学校7', gender: '女' },
|
|
|
+ { id: 8, name: '学生8', school: '测试学校8', gender: '男' },
|
|
|
+ { id: 9, name: '学生9', school: '测试学校9', gender: '女' },
|
|
|
+ { id: 10, name: '学生10', school: '测试学校10', gender: '男' },
|
|
|
+ ],
|
|
|
+ multipleSelection: [],
|
|
|
};
|
|
|
- this.multipleSelection.push(obj);
|
|
|
- this.$nextTick(() => {
|
|
|
- this.toggleSelection(this.multipleSelection);
|
|
|
- });
|
|
|
},
|
|
|
- computed: {},
|
|
|
+
|
|
|
methods: {
|
|
|
- search({ skip = 0, limit = 10, ...info } = {}) {
|
|
|
- console.log(`in search`);
|
|
|
- },
|
|
|
- toEdit({ data }) {
|
|
|
- console.log(`in toEdit`);
|
|
|
- console.log(data);
|
|
|
- return data;
|
|
|
- },
|
|
|
toggleSelection(rows) {
|
|
|
if (rows) {
|
|
|
rows.forEach(row => {
|
|
@@ -153,11 +38,19 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
handleSelectionChange(val) {
|
|
|
- console.log(val);
|
|
|
this.multipleSelection = val;
|
|
|
},
|
|
|
+ initSelection(ids) {
|
|
|
+ this.$refs.multipleTable.clearSelection();
|
|
|
+ if (ids) {
|
|
|
+ ids.forEach(id => {
|
|
|
+ this.$refs.multipleTable.toggleRowSelection(this.tableData.find(p => p.id === id));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.initSelection([2, 3, 5]);
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-
|
|
|
-<style lang="less" scoped></style>
|