2019-11-21 16:42:24 +08:00

191 lines
4.9 KiB
Vue

<template>
<div class="app-container">
<!-- filter -->
<!-- <el-form ref="filterForm" :inline="true" :model="filterForm" class="filter">
<el-form-item label="姓名" prop="fullname">
<el-input v-model="filterForm.fullname" placeholder="请输入姓名"/>
</el-form-item>
<el-form-item label="操作类型" prop="type">
<el-select v-model="filterForm.type" placeholder="请选择操作类型">
<el-option v-for="(item,index) in types" :key="index" :label="item" :value="item"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search">查询</el-button>
<el-button @click="reset('filterForm')">重置</el-button>
</el-form-item>
</el-form>-->
<!-- toolbar -->
<div class="toolbar clearfix">
<div class="l fl">
<el-button @click="create" type="primary">新增</el-button>
</div>
<div class="r fr">
<el-button @click="refresh" type="primary">刷新</el-button>
</div>
</div>
<!-- table -->
<el-table
:data="tableData"
@row-click="rowClick"
class="table mgt-20 mgb-20"
style="width: 100%"
v-loading="isLoaded"
>
<el-table-column label="测试名称" prop="title" show-overflow-tooltip />
<el-table-column label="测试描述" prop="desc" show-overflow-tooltip />
<el-table-column fixed="right" label="操作" prop="name" width="120">
<template slot-scope="scope">
<el-button @click.stop="view(scope.row)" size="small" type="text">查看</el-button>
<el-button @click.stop="del(scope.row)" size="small" type="text">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- pagination -->
<el-pagination
:current-page="currentPage"
:hide-on-single-page="true"
:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
@current-change="pageChange"
@size-change="sizeChange"
class="al-r"
layout="total, sizes, prev, pager, next, jumper"
/>
</div>
</template>
<script>
import { getMaker, saveMaker, updateMaker, delMaker } from '@/api/maker'
export default {
name: 'GameDetailsMakerList',
data() {
return {
// filter
// filterForm: {
// fullname: '',
// type: ''
// },
// toolbar
// batch: {
// show: false,
// txt: '批量操作'
// },
// table
isLoaded: false,
tableData: [],
// pagination
currentPage: 1,
pageSize: 10,
total: 0
}
},
mounted() {
this.getData()
},
methods: {
// filter
// search() {
// this.getData()
// },
// reset(formName) {
// this.$refs[formName].resetFields()
// },
// toolbar
getMaker(params) {
return new Promise((resolve, reject) => {
getMaker(params)
.then(res => {
const data = res.data
console.log('ddddddddd', data)
if (data.errcode === 0) resolve(data)
})
.catch(err => {
reject(err)
})
})
},
delMaker(data) {
return new Promise((resolve, reject) => {
delMaker(data)
.then(res => {
const data = res.data
if (data.errcode === 0) resolve(data)
})
.catch(err => {
reject(err)
})
})
},
// toolbar
create() {
this.$router.push('/games/details/maker/edit')
},
refresh() {
this.getData()
},
// table
rowClick(row, column, event) {
this.view(row)
},
// table
async getData() {
try {
this.isLoaded = true
const data = await this.getMaker({
pageSize: this.pageSize,
currentPage: this.currentPage
})
console.log('da ta', data)
this.tableData = data.result
console.log(this.tableData)
this.total = data.total
this.isLoaded = false
} catch (err) {
console.log(err)
}
},
view(row) {
this.$router.push(`/games/details/maker/edit?id=${row._id}`)
},
async del(row) {
try {
this.$confirm('是否确认删除该测试?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(async () => {
const data = await this.delMaker({
_id: row._id
})
this.$message.success('数据已删除!')
this.getData()
})
.catch(() => {
this.$message.info('已取消删除!')
})
} catch (err) {
console.log(err)
}
},
rowClick(row) {
this.view(row)
},
// pagination
sizeChange(val) {
this.pageSize = val
this.getData()
},
pageChange(val) {
this.currentPage = val
this.getData()
}
}
}
</script>