|
@@ -5,24 +5,36 @@
|
|
|
width="33%"
|
|
|
:before-close="handleClose"
|
|
|
>
|
|
|
- <el-form :model="form" label-width="100px">
|
|
|
- <el-form-item label="分类名称:" required>
|
|
|
- <el-input placeholder="请输入" v-model.trim="form.name"></el-input>
|
|
|
+ <el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
|
|
+ <el-form-item label="分类名称:" prop="typeId">
|
|
|
+ <el-select
|
|
|
+ placeholder="请选择"
|
|
|
+ v-model="form.typeId"
|
|
|
+ @visible-change="visbleChange"
|
|
|
+ @change="classifyChange"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in classifyList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.typeId"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文件名称:" required>
|
|
|
- <el-input placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="文件名称:" prop="name">
|
|
|
+ <el-input placeholder="请输入" v-model.trim="form.name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="上传文件:" required>
|
|
|
+ <el-form-item label="上传文件:" prop="docUrl">
|
|
|
<div>
|
|
|
<el-upload
|
|
|
class="upload-demo"
|
|
|
action
|
|
|
:http-request="api_import"
|
|
|
- :on-preview="handlePreview"
|
|
|
+ :on-success="handleSuccess"
|
|
|
:on-remove="handleRemove"
|
|
|
- :before-remove="beforeRemove"
|
|
|
multiple
|
|
|
- :limit="3"
|
|
|
+ :limit="1"
|
|
|
:on-exceed="handleExceed"
|
|
|
:file-list="fileList"
|
|
|
:before-upload="beforeAvatarUpload"
|
|
@@ -43,12 +55,12 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button size="small" @click="handleClose">取 消</el-button>
|
|
|
<el-button
|
|
|
size="small"
|
|
|
style="margin-left: 60px"
|
|
|
type="primary"
|
|
|
- @click="addList"
|
|
|
+ @click="addList('form')"
|
|
|
>确 定</el-button
|
|
|
>
|
|
|
</span>
|
|
@@ -65,59 +77,170 @@ export default {
|
|
|
id: '',
|
|
|
linkUrl: '',
|
|
|
name: '',
|
|
|
- status: '',
|
|
|
+ status: 0,
|
|
|
typeId: ''
|
|
|
},
|
|
|
refList: {},
|
|
|
- fileList:[]
|
|
|
+ fileList: [],
|
|
|
+ classifyList: [],
|
|
|
+ rules:{
|
|
|
+ typeId:[{required:true,trigger:'change',message:'请选择分类名称'}],
|
|
|
+ name:[{required:true,trigger:'blur',message:'请输入文件名称'}],
|
|
|
+ docUrl:[{required:true,trigger:'click',message:'请上传文件'}]
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ /**
|
|
|
+ * @method 关闭弹框
|
|
|
+ * **/
|
|
|
handleClose() {
|
|
|
this.dialogVisible = false
|
|
|
+ this.$parent.search()
|
|
|
+ this.form = {
|
|
|
+ docUrl: '',
|
|
|
+ id: '',
|
|
|
+ linkUrl: '',
|
|
|
+ name: '',
|
|
|
+ status: 0,
|
|
|
+ typeId: '',
|
|
|
+ fileSize: ''
|
|
|
+ }
|
|
|
+ this.fileList = []
|
|
|
+ this.$refs['form'].resetFields()
|
|
|
},
|
|
|
+ /**
|
|
|
+ * @method 打开文件弹框
|
|
|
+ * **/
|
|
|
openClose(val) {
|
|
|
if (val) {
|
|
|
this.refList = val
|
|
|
+ if (val.id) {
|
|
|
+ this.details()
|
|
|
+ }
|
|
|
}
|
|
|
this.dialogVisible = true
|
|
|
},
|
|
|
/**
|
|
|
+ * @method 详情
|
|
|
+ * **/
|
|
|
+ details() {
|
|
|
+ api.GET('/doc/getDetail', { id: this.refList.id }).then(data => {
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.form = data.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @method 分类下拉列表
|
|
|
+ * **/
|
|
|
+ visbleChange(val) {
|
|
|
+ if (val) {
|
|
|
+ api.POST('/doc/type/dropList').then(data => {
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.classifyList = data.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @method 分类选择
|
|
|
+ * **/
|
|
|
+ classifyChange(val) {
|
|
|
+ this.classifyList.find(item => {
|
|
|
+ if (item.typeId == val) {
|
|
|
+ this.form.linkUrl = item.linkUrl
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /**
|
|
|
* @method 上传
|
|
|
- * **/
|
|
|
- api_import(file){
|
|
|
- const files = {
|
|
|
+ * **/
|
|
|
+ api_import(file) {
|
|
|
+ const files = {
|
|
|
file: file.file
|
|
|
}
|
|
|
- api.IMPORT('/api/file/local/upload',files).then(data=>{
|
|
|
- console.log(data)
|
|
|
+ api.IMPORT('/api/file/local/upload', files).then(data => {
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.form.docUrl = data.data.url
|
|
|
+ this.form.fileSize = data.data.size
|
|
|
+ this.$message.success('上传成功')
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
- * @method
|
|
|
- * **/
|
|
|
- handleExceed(){},
|
|
|
- handlePreview(){},
|
|
|
- handleRemove(){},
|
|
|
- beforeRemove(){},
|
|
|
+ * @method 文件上传限制
|
|
|
+ * **/
|
|
|
+ handleExceed(files, fileList) {
|
|
|
+ if (fileList.length == 1) {
|
|
|
+ this.$message.warning('只能上传单个文件')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @method 上传成功
|
|
|
+ * **/
|
|
|
+ handleSuccess() {},
|
|
|
+ /**
|
|
|
+ * @method 文件删除
|
|
|
+ * **/
|
|
|
+ handleRemove(files, fileList) {
|
|
|
+ this.fileList = fileList
|
|
|
+ this.form.docUrl = ''
|
|
|
+ this.form.fileSize = ''
|
|
|
+ },
|
|
|
/**
|
|
|
* @method 上传限制
|
|
|
- * **/
|
|
|
- beforeAvatarUpload(file) {
|
|
|
- const ispaf = file.type === 'application/pdf';
|
|
|
+ * **/
|
|
|
+ beforeAvatarUpload(file) {
|
|
|
+ const ispaf = file.type === 'application/pdf'
|
|
|
|
|
|
- if (!ispaf) {
|
|
|
- this.$message.error('上传文件只能是 PDF 格式!');
|
|
|
- }
|
|
|
- return ispaf
|
|
|
- },
|
|
|
+ if (!ispaf) {
|
|
|
+ this.$message.error('上传文件只能是 PDF 格式!')
|
|
|
+ }
|
|
|
+ return ispaf
|
|
|
+ },
|
|
|
/**
|
|
|
* @method 提交确定
|
|
|
- * **/
|
|
|
- addList(){}
|
|
|
+ * **/
|
|
|
+ addList(formName) {
|
|
|
+ this.$refs[formName].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ let code = {
|
|
|
+ docUrl: this.form.docUrl,
|
|
|
+ linkUrl: this.form.linkUrl,
|
|
|
+ name: this.form.name,
|
|
|
+ status: this.form.status,
|
|
|
+ typeId: this.form.typeId,
|
|
|
+ fileSize: this.form.fileSize
|
|
|
+ }
|
|
|
+ this.refList.show ? this.addfile(code) : this.editfile(code)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @method 新增文件
|
|
|
+ * **/
|
|
|
+ addfile(val) {
|
|
|
+ api.POST('/doc/addDoc', val).then(data => {
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.$message.success(data.message)
|
|
|
+ this.handleClose()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @method 编辑文件
|
|
|
+ * **/
|
|
|
+ editfile() {
|
|
|
+ api.PUT('/doc/updateDoc').then(data => {
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.$message.success(data.message)
|
|
|
+ this.handleClose()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-
|
|
|
</style>
|