|
@@ -33,7 +33,7 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="ppt-list-wrap">
|
|
|
- <el-tabs v-model="default_tab">
|
|
|
+ <el-tabs v-model="treeName" @tab-click="handleTabClick">
|
|
|
<el-tab-pane :label="tab.label" :name="tab.key" v-for="tab in panelTabs" :key="tab.key"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
|
|
@@ -54,16 +54,6 @@
|
|
|
@mouseover="data.copyIconShow=true" @mouseout="data.copyIconShow=false"
|
|
|
>
|
|
|
<span class="tree-label">{{ data.label }}</span>
|
|
|
- <span
|
|
|
- style="display: flex; align-items: center"
|
|
|
- >
|
|
|
- <!-- <i class="el-icon-document-copy"
|
|
|
- v-permission="permissionBtn.pptPermission.ppt_copy"
|
|
|
- style="display:inline-block;width: 14px; height: 14px; margin-right: 8px;color:#409eff;"
|
|
|
- v-show="(data.copyIconShow&&data.PptVersion===2)"
|
|
|
- @click.stop="handleCopy(data)"
|
|
|
- ></i> -->
|
|
|
- </span>
|
|
|
</span>
|
|
|
</el-tree>
|
|
|
|
|
@@ -101,9 +91,10 @@
|
|
|
<div class="status">{{getReportStatus(1)}}</div>
|
|
|
</div>
|
|
|
<div class="item-opt">
|
|
|
- <span v-for="optItem in setListTool(item)" :key="optItem.key" @click.stop="handleListToolClick(optItem,item)">
|
|
|
- {{ getListMenuOptText(optItem.label) }}
|
|
|
- </span>
|
|
|
+
|
|
|
+ <span v-for="optItem in getAuthToolList(item)" :key="optItem.key" @click.stop="handleListToolClick(optItem,item)" :style="optItem.key==='delete'&&'color:#f00'">
|
|
|
+ {{ optItem.label }}
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div class="item-foot" style="margin-bottom:0;">
|
|
|
<el-tooltip :content="$t('Slides.update_time')" placement='top' :enterable="false">
|
|
@@ -145,6 +136,7 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
报告状态:{{getReportStatus(1)}}
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="tool-list-operation">
|
|
@@ -153,7 +145,7 @@
|
|
|
<span v-for="item in pptToolList" :key="item.key"
|
|
|
:class="{'delete':item.key==='delete'}"
|
|
|
@click="handleToolClick(item)">
|
|
|
- {{getContentMenuOptText(item.label)}}
|
|
|
+ {{item.label}}
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -161,46 +153,19 @@
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
- <!-- 添加/编辑目录弹窗 -->
|
|
|
- <!-- <modify-catalog
|
|
|
- :catalogItem="catalogItem"
|
|
|
- :modifyCatalogShow="modifyCatalogShow"
|
|
|
- @changeCatalog="changeCatalog"
|
|
|
- @cancel="closeDialog('modifyCatalogShow')"
|
|
|
- /> -->
|
|
|
- <!-- 选择目录弹窗 -->
|
|
|
- <!-- <choose-catalog
|
|
|
- :chooseCatalogShow="chooseCatalogShow"
|
|
|
- :chooseCatalogType="chooseCatalogType"
|
|
|
- @selectCatalog="selectCatalog"
|
|
|
- @cancel="closeDialog('chooseCatalogShow')"
|
|
|
- /> -->
|
|
|
+
|
|
|
<!-- 新增ppt弹窗-->
|
|
|
<addPptBaseDia
|
|
|
:show.sync="isAddPptBaseShow"
|
|
|
/>
|
|
|
|
|
|
- <!-- 转双周报弹窗 -->
|
|
|
- <!-- <trans-report
|
|
|
- v-if="pptItem"
|
|
|
- :transReportShow="transReportShow"
|
|
|
- :pptTitle="pptItem.Title"
|
|
|
- @transSet="getTransSet"
|
|
|
- @cancel="closeDialog('transReportShow')"
|
|
|
- /> -->
|
|
|
<!-- 合并ppt弹窗 -->
|
|
|
<merge-ppt-dialog
|
|
|
:mergePptShow="mergePptShow"
|
|
|
@merged="handleMergedPPT"
|
|
|
@cancel="closeDialog('mergePptShow')"
|
|
|
/>
|
|
|
-
|
|
|
- <!-- 共享用户弹窗 -->
|
|
|
- <!-- <share-user-dialog
|
|
|
- :isShow.sync="openShareUserDia"
|
|
|
- :data="shareObj"
|
|
|
- @successCallback="getCatalogsList"
|
|
|
- /> -->
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -253,6 +218,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ toolList,
|
|
|
publicList:[],//公共目录
|
|
|
privateList:[],//我的目录
|
|
|
catalogPPTList:[],//目录的ppt列表
|
|
@@ -262,7 +228,7 @@ export default {
|
|
|
pptItem:null,
|
|
|
isSlideLeft:false,//控制目录栏展开,收起
|
|
|
selectNode:null,//当前选中的节点
|
|
|
- treeName:'public',//当前操作的el-tree
|
|
|
+ treeName:'private',//当前操作的el-tree
|
|
|
dragStartIndex:0,//ppt列表当前拖拽前的pptIndex
|
|
|
dragPpt:null,//当前拖拽的ppt
|
|
|
dragPrepPpt:null,//ppt拖拽后,在它前面的ppt
|
|
@@ -272,8 +238,6 @@ export default {
|
|
|
searchTitle:'',
|
|
|
mergePptShow:false,//合并ppt弹窗
|
|
|
|
|
|
- default_tab: '1',
|
|
|
-
|
|
|
//添加ppt弹窗
|
|
|
isAddPptBaseShow:false
|
|
|
|
|
@@ -282,16 +246,16 @@ export default {
|
|
|
computed:{
|
|
|
panelTabs(){
|
|
|
return [
|
|
|
- { label: this.$t('Slides.my_ppt_tabs'), key: '1' },
|
|
|
- { label: this.$t('Slides.share_ppt_tabs'), key: '2' },
|
|
|
- { label: this.$t('Slides.public_ppt_tabs'), key: '3' },
|
|
|
+ { label: this.$t('Slides.my_ppt_tabs'), key: 'private' },
|
|
|
+ { label: this.$t('Slides.share_ppt_tabs'), key: 'shared' },
|
|
|
+ { label: this.$t('Slides.public_ppt_tabs'), key: 'public' },
|
|
|
]
|
|
|
},
|
|
|
|
|
|
// 登录账号id
|
|
|
RoleId() {
|
|
|
return Number(localStorage.getItem('AdminId'))
|
|
|
- }
|
|
|
+ },
|
|
|
|
|
|
},
|
|
|
watch:{
|
|
@@ -317,7 +281,7 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
if(data){
|
|
|
- this.default_tab = search==='public'?'3':'1';
|
|
|
+ this.treeName = search;
|
|
|
//选中该节点
|
|
|
this.$refs[`${search}Tree`].setCurrentKey('ppt'+newVal)
|
|
|
//展开该节点的父节点...
|
|
@@ -343,27 +307,6 @@ export default {
|
|
|
return statusMap.get(state)||""
|
|
|
},
|
|
|
|
|
|
- //ppt列表操作栏
|
|
|
- getListMenuOptText(e){
|
|
|
- if(e==='预览发布') return this.$t('Slides.list_ppt_item_publish')
|
|
|
- if(e==='演示') return this.$t('Slides.list_ppt_item_preview')
|
|
|
- if(e==='下载') return this.$t('Slides.list_ppt_item_download')
|
|
|
- if(e==='编辑') return this.$t('Slides.list_ppt_item_edit')
|
|
|
- },
|
|
|
- //ppt详情操作栏
|
|
|
- getContentMenuOptText(e){
|
|
|
- if(e==='查看报告') return this.$t('Slides.view_report_btn')
|
|
|
- if(e==='编辑') return this.$t('Slides.edit_lable_name')
|
|
|
- if(e==='转报告') return this.$t('Slides.convert_to_report')
|
|
|
- if(e==='预览发布') return this.$t('Slides.operations_preview')
|
|
|
- if(e==='演示') return this.$t('Slides.operations_presentation')
|
|
|
- if(e==='转英文PPT') return this.$t('Slides.operations_english')
|
|
|
- if(e==='复制') return this.$t('Slides.operations_copy')
|
|
|
- if(e==='下载') return this.$t('Slides.operations_download')
|
|
|
- if(e==='删除') return this.$t('Table.delete_btn')
|
|
|
- return e
|
|
|
- },
|
|
|
-
|
|
|
//关闭弹窗
|
|
|
closeDialog(name){
|
|
|
this[name] = false
|
|
@@ -377,10 +320,11 @@ export default {
|
|
|
if(!isSetKey) return
|
|
|
this.$nextTick(()=>{
|
|
|
//选中节点
|
|
|
- this.$refs[`${this.treeName}Tree`].setCurrentKey(item.nodeKeyId)
|
|
|
+ this.$refs.publicTree.setCurrentKey(item.nodeKeyId)
|
|
|
//找到该节点的父节点,展开,获取父节点id
|
|
|
- const node = this.$refs[`${this.treeName}Tree`].getCurrentNode()
|
|
|
- !this[`${this.treeName}ExpandKeys`].includes(node.catalogId)&&this[`${this.treeName}ExpandKeys`].push(node.catalogId)
|
|
|
+ const node = this.$refs.publicTree.getCurrentNode()
|
|
|
+ if(!node) return
|
|
|
+ !this.publicExpandKeys.includes(node.catalogId)&&this.publicExpandKeys.push(node.catalogId)
|
|
|
this.pptItem.catalogId = node.catalogId||''
|
|
|
this.selectNode = item
|
|
|
})
|
|
@@ -398,60 +342,11 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- //设置列表的操作按钮
|
|
|
- setListTool(itemData){
|
|
|
- let list = []
|
|
|
- const {checkPermissionBtn,pptPermission} = this.permissionBtn
|
|
|
- const authMap = {
|
|
|
- 'publish':checkPermissionBtn(pptPermission.ppt_publish),
|
|
|
- 'present':checkPermissionBtn(pptPermission.ppt_show),
|
|
|
- 'download':checkPermissionBtn(pptPermission.ppt_download),
|
|
|
- 'edit':checkPermissionBtn(pptPermission.ppt_save),
|
|
|
- }
|
|
|
- //私有目录显示编辑,其他不显示
|
|
|
- list = toolList.filter((i)=>{
|
|
|
- return ['publish','present','download','edit'].includes(i.key)
|
|
|
- })
|
|
|
|
|
|
- const sortMap = {
|
|
|
- 'present':0,
|
|
|
- 'edit':1,
|
|
|
- 'publish':2,
|
|
|
- 'download':3
|
|
|
- }
|
|
|
- list.sort((a,b)=>{
|
|
|
- return sortMap[a.key] - sortMap[b.key]
|
|
|
- })
|
|
|
- return list
|
|
|
- },
|
|
|
//设置操作按钮
|
|
|
setToolList(pptDetail={}){
|
|
|
- console.log(pptDetail)
|
|
|
- //公共目录:显示除 删除, 编辑 外的全部按钮
|
|
|
- if(this.treeName==='public'){
|
|
|
- this.pptToolList = toolList.filter((i)=>{
|
|
|
- return ['publish','present','download','copy','transform','transEn'].includes(i.key)
|
|
|
- })
|
|
|
- }
|
|
|
+ this.pptToolList = this.getAuthToolList(this.pptItem)
|
|
|
|
|
|
- //crm14.1 根据权限按钮对pptToolList做进一步的filter
|
|
|
- const {checkPermissionBtn,pptPermission} = this.permissionBtn
|
|
|
- const authMap = {
|
|
|
- 'publish':checkPermissionBtn(pptPermission.ppt_publish),
|
|
|
- 'present':checkPermissionBtn(pptPermission.ppt_show),
|
|
|
- 'download':checkPermissionBtn(pptPermission.ppt_download),
|
|
|
- 'edit':checkPermissionBtn(pptPermission.ppt_save),
|
|
|
- 'delete':checkPermissionBtn(pptPermission.ppt_del),
|
|
|
- }
|
|
|
- let authArr = []
|
|
|
- for(let k in authMap){
|
|
|
- if(authMap[k]){
|
|
|
- authArr.push(k)
|
|
|
- }
|
|
|
- }
|
|
|
- this.pptToolList = this.pptToolList.filter((i)=>{
|
|
|
- return authArr.includes(i.key)
|
|
|
- })
|
|
|
//若有人在编辑,则显示编辑中
|
|
|
if(this.pptToolList.find(i=>i.key==='edit')){
|
|
|
const {Editor={}} = pptDetail
|
|
@@ -467,9 +362,25 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ //获取展示权限按钮
|
|
|
+ getAuthToolList(item) {
|
|
|
+ const {checkPermissionBtn,pptPermission} = this.permissionBtn
|
|
|
+ const btnAuthMap = {
|
|
|
+ 'cancel':checkPermissionBtn(pptPermission.ppt_publish)&&item.source==='gn',
|
|
|
+ 'submit':checkPermissionBtn(pptPermission.ppt_publish)&&item.source==='gn',
|
|
|
+ 'publish':checkPermissionBtn(pptPermission.ppt_publish)&&item.source!=='gn',
|
|
|
+ 'present':checkPermissionBtn(pptPermission.ppt_show),
|
|
|
+ 'download':checkPermissionBtn(pptPermission.ppt_download),
|
|
|
+ 'edit':checkPermissionBtn(pptPermission.ppt_save),
|
|
|
+ 'delete':checkPermissionBtn(pptPermission.ppt_del),
|
|
|
+ // &&item.AdminId===this.RoleId
|
|
|
+ }
|
|
|
+
|
|
|
+ return toolList.filter((i)=>btnAuthMap[i.key])
|
|
|
+ },
|
|
|
+
|
|
|
//点击目录
|
|
|
- nodeChange(data,node,treeName){
|
|
|
- this.treeName = treeName
|
|
|
+ nodeChange(data,node){
|
|
|
|
|
|
if(data.PptId){
|
|
|
//是PPT,进入PPT详情
|
|
@@ -498,8 +409,7 @@ export default {
|
|
|
if(res.Ret===200){
|
|
|
this.$message.success(this.$t('MsgPrompt.delete_msg'));
|
|
|
this.getCatalogsList()
|
|
|
- const catalog = this[`${this.treeName}List`].find(i=>i.GroupId===data.catalogId)
|
|
|
- this.$refs[`${this.treeName}Tree`].setCurrentKey(data.catalogId)
|
|
|
+ this.$refs.publicTree.setCurrentKey(data.catalogId)
|
|
|
|
|
|
this.changeModel('list',{})
|
|
|
|
|
@@ -560,7 +470,7 @@ export default {
|
|
|
//要跳转页面的:预览发布,编辑,演示
|
|
|
if(urlMap[item.key]){
|
|
|
if(this.pptItem.PptVersion===2){
|
|
|
- if(!this.pptItem.overLimit||item.key!=='publish'){
|
|
|
+ if(!this.pptItem.overLimit){
|
|
|
if(item.key==='edit'){
|
|
|
if(item.label.length>2){
|
|
|
this.$message.warning(this.$t('Slides.no_duplicated_edit_msg') )
|
|
@@ -578,21 +488,8 @@ export default {
|
|
|
const res = await pptInterface.pptEditLock({PptId:Number(this.pptItem.PptId),Status:1})
|
|
|
if(res.Ret!==200) return
|
|
|
}
|
|
|
- // window.open(urlMap[item.key],'_blank');
|
|
|
- window.open(href,'_blank');
|
|
|
- }else if(item.key==='publish'){
|
|
|
- //this.$message.warning('该PPT页数超过60页或图表数量超过100张,无法发布,请修改后重试')
|
|
|
- /* if(!this.pptItem.overLimitHint.chartNum){
|
|
|
- this.$message.warning(this.$t('Slides.exceed_ppt_msg') )
|
|
|
- return
|
|
|
- }
|
|
|
- if(!this.pptItem.overLimitHint.pageNum){
|
|
|
- this.$message.warning(this.$t('Slides.exceed_sixty_ppt_msg') )
|
|
|
- return
|
|
|
- } */
|
|
|
- // window.open(urlMap[item.key],'_blank');
|
|
|
window.open(href,'_blank');
|
|
|
- }
|
|
|
+ }
|
|
|
}else{
|
|
|
if(item.key==='publish'){
|
|
|
sessionStorage.setItem('ppt_id',this.pptItem.PptId);
|
|
@@ -794,7 +691,6 @@ export default {
|
|
|
this.treeName='private'
|
|
|
this.changeModel('ppt',pptItem)
|
|
|
this.mergePptShow = false
|
|
|
- this.default_tab='1'
|
|
|
},
|
|
|
//合并PPT成功后,PPT页数和图表数校验
|
|
|
handleIsLegal(isLegalObj){
|
|
@@ -803,16 +699,18 @@ export default {
|
|
|
},
|
|
|
|
|
|
//获取所有目录
|
|
|
- async getCatalogsList(type){
|
|
|
+ async getCatalogsList(){
|
|
|
const res = await pptInterface.getCatalogsList()
|
|
|
- const currentKey = this.$refs[`${this.treeName}Tree`].getCurrentKey()
|
|
|
+ const currentKey = this.$refs.publicTree.getCurrentKey()
|
|
|
if(res.Ret===200){
|
|
|
const {PublicList,PrivateList,GrantList} = res.Data
|
|
|
- this.publicList = changeCatalogArr(PublicList)
|
|
|
- this.privateList = changeCatalogArr(PrivateList)
|
|
|
- this.sharedList = changeCatalogArr(GrantList)
|
|
|
+ this.publicList =
|
|
|
+ this.treeName==='public' ? changeCatalogArr(PublicList)
|
|
|
+ : this.treeName==='private' ? changeCatalogArr(PrivateList)
|
|
|
+ : changeCatalogArr(GrantList)
|
|
|
+
|
|
|
this.$nextTick(()=>{
|
|
|
- this.$refs[`${this.treeName}Tree`].setCurrentKey(currentKey)
|
|
|
+ this.$refs.publicTree.setCurrentKey(currentKey)
|
|
|
if(this.selectNode&&this.selectNode.GroupId){
|
|
|
this.changeModel('list',this.selectNode)
|
|
|
}else if(!this.selectNode){
|
|
@@ -831,29 +729,13 @@ export default {
|
|
|
},
|
|
|
|
|
|
//切换tab时,展开选中tab的全部目录
|
|
|
- handleTabClick(activeTab){
|
|
|
-
|
|
|
+ handleTabClick(){
|
|
|
+ this.getCatalogsList()
|
|
|
},
|
|
|
|
|
|
- //如果下拉框一个选项都没有,就不显示下拉框按钮
|
|
|
- checkDropDownShow(type){
|
|
|
- const {pptPermission,checkPermissionBtn} = this.permissionBtn
|
|
|
- if(type==='catalog'){
|
|
|
- return checkPermissionBtn(pptPermission.ppt_copy)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_save)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_del)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_toEn)
|
|
|
- }
|
|
|
- if(type==='ppt'){
|
|
|
- return checkPermissionBtn(pptPermission.ppt_copy)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_del)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_setShare)||
|
|
|
- checkPermissionBtn(pptPermission.ppt_toEn)
|
|
|
- }
|
|
|
- },
|
|
|
},
|
|
|
mounted(){
|
|
|
- this.getCatalogsList('load')
|
|
|
+ this.getCatalogsList()
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
@@ -1076,6 +958,7 @@ export default {
|
|
|
background-color: pink;
|
|
|
position:relative;
|
|
|
background: no-repeat top/cover url('~@/assets/img/ppt_m/bg3.jpg');
|
|
|
+ overflow: hidden;
|
|
|
span{
|
|
|
display: inline-block;
|
|
|
width: 100%;
|