|
@@ -20,7 +20,7 @@
|
|
|
<div class="index-list" ref="pptList" v-click-outside="resetCopyPages">
|
|
|
<div class="empty" v-if="pageList.length===0">
|
|
|
<img src="~@/assets/img/ppt_m/ppt-empty.png" alt="">
|
|
|
- <p>添加正文后,会在这里生成</p>
|
|
|
+ <p>{{$t('Slides.add_main_text_empty')}}</p>
|
|
|
</div>
|
|
|
<transition-group name="flip-list">
|
|
|
<index-item
|
|
@@ -51,7 +51,7 @@
|
|
|
<div class="ppt-editor-item flex-column" v-for="(item,index) in pageList" :key="item.id">
|
|
|
<AddFormat @addPage="addPage($event,index)" :chooseModalId="chooseModalId"/>
|
|
|
<div class="ppt-item" :class="{'choose':currentItem.id===item.id}"
|
|
|
- v-loading="item.isUpdating" element-loading-text="正在更新图表..."
|
|
|
+ v-loading="item.isUpdating" :element-loading-text="$t('Slides.updating_chart_loading')"
|
|
|
@click="changeCurrentItem(item)">
|
|
|
<!-- 标题 -->
|
|
|
<div class="title-wrap" style="left:8%;width:62%;">
|
|
@@ -110,7 +110,7 @@
|
|
|
<el-button v-permission="permissionBtn.enPPTPermission.pptEn_publish"
|
|
|
type="primary" @click="handlePublish">{{$t('Slides.go_to_publish')}}</el-button>
|
|
|
<el-button @click="handleSave('save')">{{$t('Slides.operations_save')}}</el-button>
|
|
|
- <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer?'ppt编辑':$t('Slides.layer_editing')}}</el-button>
|
|
|
+ <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer? $t('Slides.ppt_edit_btn'):$t('Slides.layer_editing')}}</el-button>
|
|
|
</div>
|
|
|
<div class="richtext-tool"></div>
|
|
|
<div class="addppt-right-box" v-show="!isEditLayer">
|
|
@@ -131,7 +131,7 @@
|
|
|
<el-radio :label="10">{{$t('Slides.intercommodity_analysis')}}</el-radio>
|
|
|
</el-radio-group>
|
|
|
<div style="margin: 10px 0">
|
|
|
- <el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}">只看我的</el-checkbox>
|
|
|
+ <el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}">{{$t('Slides.just_mine_radio')}}</el-checkbox>
|
|
|
</div>
|
|
|
<div class="chart-list" v-infinite-scroll="loadReportHandle" :infinite-scroll-immediate="false" ref="chartListRef">
|
|
|
<template v-if="chartList.length">
|
|
@@ -147,7 +147,7 @@
|
|
|
<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-show="tabsactive == $t('Slides.sandbox_name')" class="chart-tool flex-column">
|
|
|
+ <div v-show="tabsactive == '沙盘'" class="chart-tool flex-column">
|
|
|
<div class="chart-search">
|
|
|
<el-input :placeholder="$t('Slides.sandbox_name_category')" v-model="sandTabelQuery.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;"></el-input>
|
|
|
</div>
|
|
@@ -163,7 +163,7 @@
|
|
|
<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-show="tabsactive == $t('Slides.table_name')" class="chart-tool flex-column">
|
|
|
+ <div v-show="tabsactive == '表格'" class="chart-tool flex-column">
|
|
|
<div class="chart-search">
|
|
|
<el-input :placeholder="$t('Slides.table_name_input')" v-model="sheetSearchObj.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;" @input="getSheetList"></el-input>
|
|
|
</div>
|
|
@@ -177,7 +177,7 @@
|
|
|
<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-show="tabsactive == $t('Slides.my_eta_batch')" class="chart-tool flex-column">
|
|
|
+ <div v-show="tabsactive == 'MyETA批量'" class="chart-tool flex-column">
|
|
|
<insert-charts
|
|
|
@handleImportMyChart="handleImportMyChart"
|
|
|
:showEnMark="true"
|
|
@@ -382,7 +382,6 @@ export default {
|
|
|
catalogId:0,//ppt目录id,添加ppt时需要
|
|
|
ReportId:0,//ppt对应的双周报id,如果没转过,则为0
|
|
|
isChartLoading:false,//是否正在加载图表/图片
|
|
|
- panelTabs: [ '图表',this.$t('Slides.my_eta_batch'),this.$t('Slides.sandbox_name'),this.$t('Slides.table_name'),'语义分析插入' ],
|
|
|
sheetSearchList:[],
|
|
|
sheetSearchObj: {
|
|
|
Keyword:''
|
|
@@ -403,6 +402,17 @@ export default {
|
|
|
created() {
|
|
|
this.getSandTable()
|
|
|
},
|
|
|
+ computed:{
|
|
|
+ panelTabs(){
|
|
|
+ return [
|
|
|
+ {val:'图表',lable:this.$t('Slides.table_chart') },
|
|
|
+ {val:'MyETA批量',lable:this.$t('Slides.my_eta_batch')},
|
|
|
+ {val:'沙盘', lable:this.$t('Slides.sandbox_name')},
|
|
|
+ {val:'表格', lable:this.$t('Slides.table_name')},
|
|
|
+ {val:'语义分析插入', lable:this.$t('Slides.table_analysis_semantic')},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ },
|
|
|
mounted(){
|
|
|
if(Highcharts.charts){
|
|
|
Highcharts.charts.length=0
|
|
@@ -488,7 +498,7 @@ export default {
|
|
|
//开启自动保存
|
|
|
this.autoSave()
|
|
|
}else{
|
|
|
- this.$message.error('获取ppt数据失败!')
|
|
|
+ this.$message.error(this.$t('Slides.error_ppt_data_msg') )
|
|
|
this.dataLoading.close();
|
|
|
window.close()
|
|
|
}
|
|
@@ -630,7 +640,7 @@ export default {
|
|
|
try{
|
|
|
clipboardItems = await navigator.clipboard.read()
|
|
|
}catch(error){
|
|
|
- this.$message.error("剪贴板读取不到文件!")
|
|
|
+ this.$message.error(this.$t('Slides.unable_files_msg') )
|
|
|
return
|
|
|
}
|
|
|
const blob = await checkClipboardItems(clipboardItems)
|
|
@@ -644,7 +654,7 @@ export default {
|
|
|
*/
|
|
|
//这里进行上传操作
|
|
|
if(this.isChartLoading) return
|
|
|
- this.chartLoadingText = "上传图片中..."
|
|
|
+ this.chartLoadingText = this.$t('Slides.uploading_images_msg')
|
|
|
this.isChartLoading = true
|
|
|
// const params = new FormData();
|
|
|
// params.append('Image',$event.src)
|
|
@@ -793,7 +803,7 @@ export default {
|
|
|
console.log(this.sandTableList.length,this.sandTableTotal);
|
|
|
if(this.sandTableList.length>=this.sandTableTotal){
|
|
|
|
|
|
- this.loadedText = '已全部加载完'
|
|
|
+ this.loadedText = this.$t('Slides.all_loaded_completely_text')
|
|
|
}else{
|
|
|
this.loadedText=''
|
|
|
}
|
|
@@ -807,7 +817,7 @@ export default {
|
|
|
// 沙盘列表滚动事件,触底加载下一页数据
|
|
|
sandTableHandleScroll:_.debounce(function (e) {
|
|
|
if(this.sandTableList.length>=this.sandTableTotal){
|
|
|
- this.loadedText = '已全部加载完'
|
|
|
+ this.loadedText = this.$t('Slides.all_loaded_completely_text')
|
|
|
return
|
|
|
}
|
|
|
if(e.target.scrollHeight-e.target.clientHeight-e.target.scrollTop<10 && !this.isRequesting){
|
|
@@ -818,10 +828,10 @@ export default {
|
|
|
//点击右侧图表或者沙盘图
|
|
|
chooseChart:_.throttle(async function(item,type){
|
|
|
if(this.pageList.length===0||!this.currentItem){
|
|
|
- this.$message.warning("请先添加页面");
|
|
|
+ this.$message.warning(this.$t('Slides.please_add_page_msg') );
|
|
|
return;
|
|
|
}
|
|
|
- if(item.Disabled&&type==='chart') return this.$message.warning('内部图表,不允许插入ppt')
|
|
|
+ if(item.Disabled&&type==='chart') return this.$message.warning(this.$t('Slides.internal_chart_no_msg') )
|
|
|
if(this.isChartLoading) return
|
|
|
//获取当前活动页
|
|
|
const { elements, modelId } = this.currentItem;
|
|
@@ -832,7 +842,7 @@ export default {
|
|
|
"chart"
|
|
|
);
|
|
|
if (!isAdd) {
|
|
|
- this.$message.warning("已无位置,请删除现有图表/图片/表格");
|
|
|
+ this.$message.warning(this.$t('Slides.delete_chart_img_table') );
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -1056,12 +1066,12 @@ export default {
|
|
|
//保存时的校验规则:封面信息,至少一页
|
|
|
save_checkPPT(){
|
|
|
if(!this.firstPage.Title){
|
|
|
- return {result:false,hintText:'请输入封面标题!'}
|
|
|
+ return {result:false,hintText:this.$t('Slides.please_input_cover_title') }
|
|
|
}/* else if(!this.firstPage.ReportType){
|
|
|
return {result:false,hintText:'请输入ppt类型!'}
|
|
|
} */
|
|
|
if(this.pageList.length===0){
|
|
|
- return {result:false,hintText:'请至少添加一张PPT!'}
|
|
|
+ return {result:false,hintText:this.$t('Slides.least_one_ppt_msg') }
|
|
|
}
|
|
|
return {result:true,hintText:''}
|
|
|
},
|
|
@@ -1069,28 +1079,28 @@ export default {
|
|
|
checkPPT(){
|
|
|
//检验首页
|
|
|
if(!this.firstPage.Title){
|
|
|
- return {result:false,hintText:'请输入封面标题!'}
|
|
|
+ return {result:false,hintText:this.$t('Slides.please_input_cover_title') }
|
|
|
}/* else if(!this.firstPage.ReportType){
|
|
|
return {result:false,hintText:'请输入ppt类型!'}
|
|
|
} */
|
|
|
if(this.pageList.length===0){
|
|
|
- return {result:false,hintText:'请至少添加一张PPT!'}
|
|
|
+ return {result:false,hintText:this.$t('Slides.least_one_ppt_msg') }
|
|
|
}
|
|
|
//检验每一页
|
|
|
for(let i=0;i<this.pageList.length;i++){
|
|
|
if(!this.pageList[i].title){
|
|
|
- return {result:false,hintText:`请输入第${i+1}张PPT的标题!`}
|
|
|
+ return {result:false,hintText:this.$t('Slides.please_ppt_title_msg',{count:i+1}) }
|
|
|
}
|
|
|
//无内容
|
|
|
if(this.pageList[i].elements.length===0){
|
|
|
- return {result:false,hintText:`请填写第${i+1}张PPT的内容!`}
|
|
|
+ return {result:false,hintText:this.$t('Slides.please_ppt_content_msg',{count:i+1})}
|
|
|
}
|
|
|
}
|
|
|
return {result:true,hintText:''}
|
|
|
},
|
|
|
async handlePublish(){
|
|
|
if(!this.isSave){
|
|
|
- this.$message.warning("请先保存!")
|
|
|
+ this.$message.warning(this.$t('Slides.please_save_first') )
|
|
|
return
|
|
|
}else{
|
|
|
const {result,hintText} = this.checkPPT()
|
|
@@ -1102,11 +1112,11 @@ export default {
|
|
|
await this.handleSave('pub')
|
|
|
//ppt4.0后,合并后的PPT可能会超出页数or图表限制,在这里做个校验
|
|
|
if(this.pageList.length>this.maxPageNum){
|
|
|
- this.$message.warning(`最多可添加${this.maxPageNum}页PPT,请修改后再试!`)
|
|
|
+ this.$message.warning(this.$t('Slides.most_add_ppt_msg',{count:this.maxPageNum}))
|
|
|
return
|
|
|
}
|
|
|
if(this.chartNum>this.maxPageChart){
|
|
|
- this.$message.warning(`最多可添加${this.maxPageChart}图表,请修改后再试!`);
|
|
|
+ this.$message.warning(this.$t('Slides.most_add_chart_msg',{count:this.maxPageNum}));
|
|
|
return;
|
|
|
}
|
|
|
this.$router.push({path:'/pptenpublish',query:{id:this.pptId}})
|
|
@@ -1126,7 +1136,7 @@ export default {
|
|
|
// 在列表中目标位置增加新的节点
|
|
|
newItems.splice(newIndex, 0, this.oldNum);
|
|
|
this.pageList = [...newItems];
|
|
|
- this.$message.success('移动成功')
|
|
|
+ this.$message.success(this.$t('Slides.move_success_msg') )
|
|
|
//如果拖动的是当前选中的item,就定位到该item
|
|
|
if(this.oldNum.id===this.currentItem.id){
|
|
|
this.changeCurrentItem(this.currentItem)
|
|
@@ -1186,13 +1196,13 @@ export default {
|
|
|
openDeletePageDialog(){
|
|
|
//添加一页才能打开弹窗
|
|
|
if(this.pageList.length===0){
|
|
|
- this.$message.warning('请至少添加一页!')
|
|
|
+ this.$message.warning(this.$t('Slides.please_add_one_page') )
|
|
|
return
|
|
|
}
|
|
|
this.deletePageShow = true
|
|
|
},
|
|
|
async handleDeletePages(list){
|
|
|
- this.$refs.deletePage.loadingText="删除中..."
|
|
|
+ this.$refs.deletePage.loadingText= this.$t('Slides.deleting_process_loading')
|
|
|
this.$refs.deletePage.dataLoading=true
|
|
|
this.deletePages(list)
|
|
|
},
|