RuoYi-Cloud/ruoyi-ui/src/views/classroom/vod/subject/list.vue

141 lines
3.7 KiB
Vue
Raw Normal View History

<template>
<div class="app-container">
<el-table
:data="list"
style="width: 100%"
row-key="id"
border
lazy
:load="load"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column
prop="title"
label="名称"
width="150">
</el-table-column>
<el-table-column
prop="createTime"
width="200"
label="创建时间">
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button @click="open(scope.row)" type="text" size="mini">添加</el-button>
<el-button type="text" size="mini">修改</el-button>
<el-button type="text" size="mini" @click="delSubject(scope.row.id)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="el-toolbar">
<div class="el-toolbar-body" style="justify-content: flex-start;">
<el-button type="text" @click="exportData"><i class="fa fa-plus"/> 导出</el-button>
<el-button type="text" @click="importData"><i class="fa fa-plus"/> 导入</el-button>
</div>
</div>
<el-dialog title="导入" :visible.sync="dialogImportVisible" width="480px">
<el-form label-position="right" label-width="170px">
<el-form-item label="文件">
<el-upload
:multiple="false"
:on-success="onUploadSuccess"
:action="'http://localhost:8080/classroom-service-vod/admin/vod/subject/importData'"
class="upload-demo">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传xls文件且不超过500kb</div>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogImportVisible = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import subjectApi from '@/api/classroom/vod/subject'
export default {
data() {
return {
dialogImportVisible: false,
list: [], //数据字典列表数组
}
},
created() {
this.getSubList(0)
},
methods: {
importData() {
this.dialogImportVisible = true
},
onUploadSuccess(response, file) {
this.$message.info('上传成功')
this.dialogImportVisible = false
this.getSubList(0)
},
//导出
exportData() {
window.open("http://localhost:8080/classroom-service-vod/admin/vod/subject/exportData")
},
//数据字典列表
getSubList(id) {
subjectApi.getChildList(id)
.then(response => {
this.list = response.data
})
},
load(tree, treeNode, resolve) {
subjectApi.getChildList(tree.id).then(response => {
resolve(response.data)
})
},
addSubject(data, params) {
subjectApi.addSubject(data.id, params).then(res => {
this.getSubList(0)
})
},
open(data) {
this.$prompt('请输入名称', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({value}) => {
let params = {
subjectName: value
}
this.addSubject(data, params)
this.$message({
type: 'success',
message: "添加成功"
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消输入'
});
});
},
delSubject(id) {
subjectApi.delSubject(id).then(res =>{
this.$modal.notifySuccess("删除成功")
this.list=[]
this.getSubList(0)
})
},
}
}
</script>