<template>
|
<div class="warp">
|
<div class="search">
|
<el-form :inline="true" :model="searchForm" class="demo-form-inline">
|
<el-form-item label="主题">
|
<el-input v-model="searchForm.typeName" size="small" placeholder="主题内容" clearable @clear="page"></el-input>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" @click="page" size="small">查询</el-button>
|
</el-form-item>
|
</el-form>
|
<div>
|
<el-button type="primary" @click="handlerAdd" size="small">添加</el-button>
|
</div>
|
</div>
|
<el-table
|
:data="tableData"
|
border
|
style="width: 100%">
|
<el-table-column
|
fixed
|
prop="typeName"
|
label="分类名称">
|
</el-table-column>
|
<el-table-column
|
prop="orderNum"
|
label="排序值">
|
</el-table-column>
|
<el-table-column
|
prop="createTime"
|
label="创建时间">
|
</el-table-column>
|
<el-table-column
|
fixed="right"
|
label="操作"
|
width="140">
|
<template slot-scope="scope">
|
<el-button @click="handleUpdate(scope.row)" type="primary" size="small" style="margin-right: 5px">修改</el-button>
|
|
<el-popconfirm
|
:title="getTitle(scope.row.typeName)"
|
@confirm="remove(scope.row.id)"
|
>
|
<el-button slot="reference" type="danger" size="small">删除</el-button>
|
</el-popconfirm>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<el-dialog
|
title="添加文件"
|
:visible.sync="open"
|
width="600px"
|
:before-close="handleClose">
|
<el-form label-position="top" label-width="80px" ref="form" :rules="rules" :model="form">
|
<el-form-item label="主题" prop="subject">
|
<el-input v-model="form.subject" placeholder="主题内容"></el-input>
|
</el-form-item>
|
<el-form-item label="所属类型" prop="belongType">
|
<el-input v-model="form.belongType" placeholder="所属类型"></el-input>
|
</el-form-item>
|
<el-form-item label="文件类型" prop="contentType">
|
<el-input v-model="form.contentType" placeholder="不同类型的文件阅览方式不同,多余文件请以附件形式上传"></el-input>
|
</el-form-item>
|
<el-form-item label="上传文件" prop="contentUrl">
|
<upload :fileSizeLimitM="1024" :uploadNum="1" @getUploadUrl="getUploadUrl" />
|
</el-form-item>
|
<el-form-item label="附件" prop="attachment">
|
<upload :fileSizeLimitM="1024" :uploadNum="3" @getUploadUrl="getUploadAttachmentUrl" />
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="open = false">取 消</el-button>
|
<el-button type="primary" @click="handlerSubmit">添 加</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import OnlineStudyAPI from '@/api/online-study'
|
import Upload from '@/components/UploadC'
|
export default {
|
name: 'type',
|
components: {Upload},
|
data () {
|
return {
|
uploadAttachmentData: [],
|
uploadData: {
|
url: '',
|
originalFilename: ''
|
},
|
searchForm: {
|
pageNum: 1,
|
pageSize: 10,
|
typeName: ''
|
},
|
tableData: [],
|
open: false,
|
form: {
|
typeName: '',
|
orderNum: null
|
},
|
rules: {
|
contentUrl: [
|
{ required: true, message: '请上传文件', trigger: 'blur' },
|
],
|
subject: [
|
{ required: true, message: '请输入主题内容', trigger: 'blur' },
|
],
|
belongType: [
|
{ required: true, message: '请选择所属类型', trigger: 'change' }
|
],
|
contentType: [
|
{ required: true, message: '请选择文件类型', trigger: 'change' }
|
]
|
}
|
}
|
},
|
methods: {
|
getUploadAttachmentUrl (uploadData) {
|
this.form.attachment = uploadData.url
|
this.uploadAttachmentData = uploadData
|
},
|
getUploadUrl(uploadData) {
|
this.form.contentUrl = uploadData.url
|
this.uploadData = uploadData
|
},
|
remove (id) {
|
OnlineStudyAPI.remove(id).then(res => {
|
if (res.code === 1) {
|
this.$message.success('删除成功')
|
}
|
})
|
},
|
getTitle (typeName) {
|
return '确定要删除' + typeName + '这个分类吗?'
|
},
|
handlerSubmit () {
|
this.$refs['form'].validate((valid) => {
|
if (valid) {
|
if (this.form.id) {
|
OnlineStudyAPI.update(this.form).then(res => {
|
if (res.code === 1) {
|
this.$message.success('修改成功')
|
this.open = false
|
this.page()
|
}
|
})
|
} else {
|
OnlineStudyAPI.add(this.form).then(res => {
|
if (res.code === 1) {
|
this.$message.success('添加成功')
|
this.open = false
|
this.page()
|
}
|
})
|
}
|
}
|
})
|
},
|
handleClose () {
|
this.open = false
|
},
|
handlerAdd () {
|
this.form = {}
|
this.open = true
|
},
|
page () {
|
OnlineStudyAPI.page(this.searchForm).then(res => {
|
if (res.code === 1) {
|
this.tableData = res.response
|
}
|
})
|
},
|
handleUpdate (row) {
|
this.form.typeName = row.typeName
|
this.form.orderNum = row.orderNum
|
this.form.id = row.id
|
this.open = true
|
}
|
},
|
mounted () {
|
this.page()
|
}
|
}
|
</script>
|
|
<style scoped>
|
.warp {
|
margin: 40px 10px;
|
}
|
.search {
|
margin-top: 10px;
|
}
|
</style>
|