mirror of
https://github.com/pipipi-pikachu/PPTist.git
synced 2025-04-15 02:20:00 +08:00
80 lines
1.5 KiB
Vue
80 lines
1.5 KiB
Vue
<template>
|
|
<div class="export-json-dialog">
|
|
<div class="preview">
|
|
<pre>{{slides}}</pre>
|
|
</div>
|
|
|
|
<div class="btns">
|
|
<Button class="btn export" type="primary" @click="exportJSON()">导出 JSON</Button>
|
|
<Button class="btn close" @click="close()">关闭</Button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { defineComponent } from 'vue'
|
|
import { storeToRefs } from 'pinia'
|
|
import { useSlidesStore } from '@/store'
|
|
import useExport from '@/hooks/useExport'
|
|
|
|
export default defineComponent({
|
|
name: 'export-json-dialog',
|
|
setup(props, { emit }) {
|
|
const close = () => emit('close')
|
|
|
|
const { slides } = storeToRefs(useSlidesStore())
|
|
|
|
const { exportJSON } = useExport()
|
|
|
|
return {
|
|
slides,
|
|
exportJSON,
|
|
close,
|
|
}
|
|
},
|
|
})
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.export-json-dialog {
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.preview {
|
|
width: 100%;
|
|
height: calc(100% - 100px);
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
background-color: #f9f9f9;
|
|
color: #0451a5;
|
|
}
|
|
.btns {
|
|
width: 300px;
|
|
height: 100px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
.export {
|
|
flex: 1;
|
|
}
|
|
.close {
|
|
width: 100px;
|
|
margin-left: 10px;
|
|
}
|
|
}
|
|
::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
background-color: #f9f9f9;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background-color: #c1c1c1;
|
|
}
|
|
</style> |