'增加表格编辑和删除操作'

pull/80/head
lin-xin 2018-04-18 08:58:54 +08:00
parent 16e7be1234
commit 05c0ab1db2
2 changed files with 98 additions and 37 deletions

View File

@ -4,7 +4,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>vue-manage-system | 基于Vue 的后台管理系统</title> <title>vue-manage-system | 基于Vue 的后台管理系统</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name="keywords" content="vue.js, wms, vue2, 后台模板, 管理系统, element" /> <meta name="keywords" content="vue, vue-manage-system, manage-system, 后台, 管理系统, element" />
<meta name="description" content="基于Vue2 + Element UI 的后台管理系统解决方案" /> <meta name="description" content="基于Vue2 + Element UI 的后台管理系统解决方案" />
</head> </head>
<body> <body>

View File

@ -26,21 +26,45 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="180"> <el-table-column label="操作" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="small" <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
@click="handleEdit(scope.$index, scope.row)">编辑</el-button> <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
<el-button size="small" type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination @current-change="handleCurrentChange" layout="prev, pager, next" :total="1000">
@current-change ="handleCurrentChange"
layout="prev, pager, next"
:total="1000">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
<!-- 编辑弹出框 -->
<el-dialog title="编辑" :visible.sync="editVisible" width="30%">
<el-form ref="form" :model="form" label-width="50px">
<el-form-item label="日期">
<el-date-picker type="date" placeholder="选择日期" v-model="form.date" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editVisible = false"> </el-button>
<el-button type="primary" @click="saveEdit"> </el-button>
</span>
</el-dialog>
<!-- 删除提示框 -->
<el-dialog title="提示" :visible.sync="delVisible" width="300px" center>
<div class="del-dialog-cnt">删除不可恢复是否确定删除</div>
<span slot="footer" class="dialog-footer">
<el-button @click="delVisible = false"> </el-button>
<el-button type="primary" @click="deleteRow"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
@ -55,7 +79,15 @@
select_cate: '', select_cate: '',
select_word: '', select_word: '',
del_list: [], del_list: [],
is_search: false is_search: false,
editVisible: false,
delVisible: false,
form: {
name: '',
date: '',
address: ''
},
idx: -1
} }
}, },
created() { created() {
@ -94,7 +126,9 @@
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
this.url = '/ms/table/list'; this.url = '/ms/table/list';
}; };
this.$axios.post(this.url, {page:this.cur_page}).then((res) => { this.$axios.post(this.url, {
page: this.cur_page
}).then((res) => {
this.tableData = res.data.list; this.tableData = res.data.list;
}) })
}, },
@ -108,10 +142,18 @@
return row.tag === value; return row.tag === value;
}, },
handleEdit(index, row) { handleEdit(index, row) {
this.$message('编辑第'+(index+1)+'行'); this.idx = index;
const item = this.tableData[index];
this.form = {
name: item.name,
date: item.date,
address: item.address
}
this.editVisible = true;
}, },
handleDelete(index, row) { handleDelete(index, row) {
this.$message.error('删除第'+(index+1)+'行'); this.idx = index;
this.delVisible = true;
}, },
delAll() { delAll() {
const length = this.multipleSelection.length; const length = this.multipleSelection.length;
@ -125,20 +167,39 @@
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
},
//
saveEdit() {
this.$set(this.tableData, this.idx, this.form);
this.editVisible = false;
this.$message.success(`修改第 ${this.idx+1} 行成功`);
},
//
deleteRow(){
this.tableData.splice(this.idx, 1);
this.$message.success('删除成功');
this.delVisible = false;
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.handle-box { .handle-box {
margin-bottom: 20px; margin-bottom: 20px;
} }
.handle-select { .handle-select {
width: 120px; width: 120px;
} }
.handle-input { .handle-input {
width: 300px; width: 300px;
display: inline-block; display: inline-block;
} }
.del-dialog-cnt{
font-size: 16px;
text-align: center
}
</style> </style>