refactor(图表): 透视表树形模式暂不支持带格式导出

This commit is contained in:
wisonic 2024-07-29 18:24:12 +08:00
parent 9c4b0b71b8
commit 39de69248d
2 changed files with 21 additions and 4 deletions

View File

@ -117,9 +117,13 @@
<el-dropdown-item @click="exportAsExcel">Excel</el-dropdown-item> <el-dropdown-item @click="exportAsExcel">Excel</el-dropdown-item>
<el-dropdown-item <el-dropdown-item
v-if="element.innerType === 'table-pivot'" v-if="element.innerType === 'table-pivot'"
:disabled="!enableFormattedExport"
@click="exportAsFormattedExcel" @click="exportAsFormattedExcel"
>Excel(带格式)</el-dropdown-item
> >
<span :title="enableFormattedExport ? '' : '树形模式暂不支持导出'"
>Excel(带格式)</span
>
</el-dropdown-item>
<el-dropdown-item @click="exportAsImage">图片</el-dropdown-item> <el-dropdown-item @click="exportAsImage">图片</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@ -147,9 +151,11 @@
<el-dropdown-item @click="exportAsExcel">Excel</el-dropdown-item> <el-dropdown-item @click="exportAsExcel">Excel</el-dropdown-item>
<el-dropdown-item <el-dropdown-item
v-if="element.innerType === 'table-pivot'" v-if="element.innerType === 'table-pivot'"
:disabled="!enableFormattedExport"
@click="exportAsFormattedExcel" @click="exportAsFormattedExcel"
>Excel(带格式)</el-dropdown-item
> >
<span :title="enableFormattedExport ? '' : '树形模式暂不支持导出'">Excel(带格式)</span>
</el-dropdown-item>
<el-dropdown-item @click="exportAsImage">图片</el-dropdown-item> <el-dropdown-item @click="exportAsImage">图片</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@ -386,6 +392,12 @@ const exportAsFormattedExcel = () => {
const chart = dvMainStore.getViewDetails(element.value.id) const chart = dvMainStore.getViewDetails(element.value.id)
exportPivotExcel(s2Instance, chart) exportPivotExcel(s2Instance, chart)
} }
const enableFormattedExport = computed(() => {
const chart = dvMainStore.getViewDetails(element.value.id) as ChartObj
const mode = chart?.customAttr?.basicStyle?.tableLayoutMode
return mode === 'grid'
})
const exportAsExcel = () => { const exportAsExcel = () => {
const viewDataInfo = dvMainStore.getViewDataDetails(element.value.id) const viewDataInfo = dvMainStore.getViewDataDetails(element.value.id)
const chartExtRequest = dvMainStore.getLastViewRequestInfo(element.value.id) const chartExtRequest = dvMainStore.getLastViewRequestInfo(element.value.id)

View File

@ -52,9 +52,10 @@
icon="Download" icon="Download"
size="middle" size="middle"
:loading="exportLoading" :loading="exportLoading"
:disabled="!enableFormattedExport"
@click="exportAsFormattedExcel" @click="exportAsFormattedExcel"
> >
导出Excel(带格式) <span :title="enableFormattedExport ? '' : '树形模式暂不支持导出'">导出Excel(带格式)</span>
</el-button> </el-button>
<el-divider class="close-divider" direction="vertical" v-if="authShow" /> <el-divider class="close-divider" direction="vertical" v-if="authShow" />
</div> </div>
@ -298,7 +299,11 @@ const exportAsFormattedExcel = () => {
const chart = dvMainStore.getViewDetails(viewInfo.value.id) const chart = dvMainStore.getViewDetails(viewInfo.value.id)
exportPivotExcel(s2Instance, chart) exportPivotExcel(s2Instance, chart)
} }
const enableFormattedExport = computed(() => {
const chart = dvMainStore.getViewDetails(viewInfo.value.id) as ChartObj
const mode = chart?.customAttr?.basicStyle?.tableLayoutMode
return mode === 'grid'
})
const exportData = () => { const exportData = () => {
useEmitt().emitter.emit('data-export-center', { activeName: 'IN_PROGRESS' }) useEmitt().emitter.emit('data-export-center', { activeName: 'IN_PROGRESS' })
} }