更新:增加图书管理-章节管理的上传并分割
This commit is contained in:
@@ -155,13 +155,13 @@
|
||||
<!-- <el-form-item label="出版商名称" prop="publisherId">
|
||||
<el-input v-model="dataForm.publisherId" placeholder="出版商名称"></el-input>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="文件上传" prop="novel">
|
||||
<!-- <el-form-item label="文件上传" prop="novel">
|
||||
<el-upload class="upload-demo" :action="baseUrl + '/oss/fileoss'" :on-preview="handlePreview"
|
||||
:on-remove="handleRemoveNovel" :before-remove="beforeRemove" :on-success="handleNovelSuccess" multiple
|
||||
:limit="3" :on-exceed="handleExceed" :file-list="fileListNovel">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="插图" prop="images">
|
||||
<el-upload :action="baseUrl + '/oss/fileoss'" list-type="picture-card" :on-preview="handlePictureCardPreview"
|
||||
:file-list="fileList" :on-success="handlePicSuccess" :on-remove="handleRemove">
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column prop="publisherName" header-align="center" align="center" label="出版商名称">
|
||||
</el-table-column> -->
|
||||
<el-table-column prop="chapterStatus" header-align="center" align="center" label="章节拆分" width="160">
|
||||
<!-- <el-table-column prop="chapterStatus" header-align="center" align="center" label="章节拆分" width="160">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin: 0;"> <span v-if="scope.row.chapterStatus == '成功'" style="color:blue">{{scope.row.chapterStatus}}</span>
|
||||
<span v-if="scope.row.chapterStatus == '失败'" style="color: red">{{scope.row.chapterStatus}}</span>
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column prop="contentStatus" header-align="center" align="center" label="单句拆分">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.contentStatus == '成功'" style="color:blue">{{scope.row.contentStatus}}</span>
|
||||
|
||||
@@ -1,12 +1,26 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<div class="mod-config" v-loading="fileLoading">
|
||||
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form :inline="true" :model="dataForm">
|
||||
<el-form-item v-if="languageList.length>0">
|
||||
<el-select v-model="language" placeholder="选择语言" @change="changeLanguage">
|
||||
<el-option :label="item" :value="item" v-for="(item,index) in languageList" :key="index"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-upload :limit="1" class="el-uploadvideo"
|
||||
:action= "baseUrl + '/oss/fileoss'"
|
||||
:file-list="fileList" accept=".docx" :on-remove="handleRemove" :http-request="handleRequest"
|
||||
:show-file-list="true">
|
||||
<el-button slot="trigger" size="small" type="primary">上传并拆分</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<br>
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button @click="getDataList(language)">查询</el-button>
|
||||
<el-button v-if="isAuth('book:bookchapter:save')" type="primary" @click="addOrUpdateHandle()">新增章节</el-button>
|
||||
<!-- <el-button v-if="isAuth('book:bookchapter:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button> -->
|
||||
<!-- <router-link :to="{path: 'book-book' , query:{ upPageIndex } }">
|
||||
@@ -115,15 +129,19 @@
|
||||
layout="total, sizes, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList(language)"></add-or-update>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from './bookchapter-add-or-update'
|
||||
import global from '../../common/common.vue' //引入共用组间
|
||||
import axios from "axios";
|
||||
import { Loading } from 'element-ui';
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
baseUrl: global.baseUrl,
|
||||
dataForm: {
|
||||
key: ''
|
||||
},
|
||||
@@ -137,6 +155,11 @@
|
||||
dataListSelections: [],
|
||||
addOrUpdateVisible: false,
|
||||
bookInfo:{},
|
||||
//显示多语言下拉
|
||||
languageList: [],
|
||||
language: '',
|
||||
fileList: [],
|
||||
fileLoading: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -149,13 +172,13 @@
|
||||
console.log(this.pageIndex)
|
||||
}
|
||||
this.upPageIndex = this.$route.query.pageIndex;
|
||||
console.log(this.bookid)
|
||||
this.getDataList()
|
||||
this.getInfo()
|
||||
this.getInfo();
|
||||
this.fileList = [];
|
||||
this.getEbookLanguageList();
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
getDataList (language) {
|
||||
this.dataListLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/book/bookchapter/list'),
|
||||
@@ -164,7 +187,8 @@
|
||||
'page': this.pageIndex,
|
||||
'limit': this.pageSize,
|
||||
'key': this.dataForm.key,
|
||||
'bookid' : this.bookid
|
||||
'bookid' : this.bookid,
|
||||
'language': language
|
||||
})
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
@@ -179,27 +203,23 @@
|
||||
},
|
||||
// 获取数据列表
|
||||
getInfo () {
|
||||
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`/book/book/info/${this.$route.query.id}`),
|
||||
method: 'post',
|
||||
|
||||
method: 'post'
|
||||
}).then(({data}) => {
|
||||
console.log('data at line 182:', data)
|
||||
this.bookInfo=data.book
|
||||
|
||||
})
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle (val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
this.getDataList(this.language)
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle (val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
this.getDataList(this.language)
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandle (val) {
|
||||
@@ -235,7 +255,7 @@
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
this.getDataList(this.language)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -243,7 +263,74 @@
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
// 获取数据列表
|
||||
getEbookLanguageList () {
|
||||
var parms = {bookId: this.bookid}
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/book/book/getEbookLanguageList'),
|
||||
method: 'post',
|
||||
data: parms
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.languageList = data.list;
|
||||
//默认请求数据
|
||||
this.language = this.languageList[0];
|
||||
this.getDataList(this.language);
|
||||
}
|
||||
})
|
||||
},
|
||||
//下拉筛选数据
|
||||
changeLanguage(e){
|
||||
this.language = e;
|
||||
this.getDataList(e);
|
||||
},
|
||||
//上传文件
|
||||
handleRequest(option) {
|
||||
let formdata = new FormData();
|
||||
formdata.append("file", option.file);
|
||||
formdata.append("bookId", this.bookid);
|
||||
let name = option.file.name; //文件名称判断显示下拉的值
|
||||
this.fileLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/book/book/uploadEbookAndSplit'),
|
||||
method: 'post',
|
||||
data: formdata
|
||||
}).then(({data}) => {
|
||||
this.fileLoading = false;
|
||||
if (data && data.code == 0) {
|
||||
this.$message({
|
||||
message: '上传成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList(this.language)
|
||||
}
|
||||
})
|
||||
//根据文件名称判断显示
|
||||
if(name.includes('English')||name.includes('english')){
|
||||
this.language = 'English';
|
||||
}else if(name.includes('Spanish')||name.includes('spanish')){
|
||||
this.language = 'Spanish';
|
||||
}
|
||||
this.getDataList(this.language);
|
||||
} else {
|
||||
this.$message.error("上传失败");
|
||||
}
|
||||
})
|
||||
},
|
||||
handleRemove(file) {
|
||||
this.fileList = []
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/deep/ .el-uploadvideo{
|
||||
display: flex;
|
||||
}
|
||||
/deep/ .el-uploadvideo .el-upload-list--text{
|
||||
margin-left: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user