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

141 lines
3.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>