Pre Merge pull request !160 from dh/mastercope
commit
61c2a453f4
|
|
@ -4,7 +4,7 @@ NODE_ENV=development
|
|||
VITE_DEV=true
|
||||
|
||||
# 请求路径
|
||||
VITE_BASE_URL='http://localhost:48080'
|
||||
VITE_BASE_URL='http://192.168.2.132:48080'
|
||||
|
||||
# 上传路径
|
||||
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||
|
|
|
|||
17
package.json
17
package.json
|
|
@ -32,6 +32,23 @@
|
|||
"@element-plus/icons-vue": "^2.1.0",
|
||||
"@form-create/designer": "^3.1.0",
|
||||
"@form-create/element-ui": "^3.1.17",
|
||||
"@grapecity/spread-excelio": "^16.1.0",
|
||||
"@grapecity/spread-sheets": "^16.1.0",
|
||||
"@grapecity/spread-sheets-barcode": "^16.1.0",
|
||||
"@grapecity/spread-sheets-charts": "^16.1.0",
|
||||
"@grapecity/spread-sheets-designer": "^16.1.0",
|
||||
"@grapecity/spread-sheets-designer-resources-cn": "^16.1.0",
|
||||
"@grapecity/spread-sheets-designer-vue": "^16.1.0",
|
||||
"@grapecity/spread-sheets-io": "^16.1.0",
|
||||
"@grapecity/spread-sheets-languagepackages": "^16.1.0",
|
||||
"@grapecity/spread-sheets-pdf": "^16.1.0",
|
||||
"@grapecity/spread-sheets-pivot-addon": "^16.1.0",
|
||||
"@grapecity/spread-sheets-print": "^16.1.0",
|
||||
"@grapecity/spread-sheets-resources-zh": "^16.1.0",
|
||||
"@grapecity/spread-sheets-shapes": "^16.1.0",
|
||||
"@grapecity/spread-sheets-slicers": "^16.1.0",
|
||||
"@grapecity/spread-sheets-tablesheet": "^16.1.0",
|
||||
"@grapecity/spread-sheets-vue": "^16.1.0",
|
||||
"@iconify/iconify": "^3.1.0",
|
||||
"@videojs-player/vue": "^1.0.0",
|
||||
"@vueuse/core": "^10.1.2",
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@ const renderLayout = () => {
|
|||
case 'cutMenu':
|
||||
const { renderCutMenu } = useRenderLayout()
|
||||
return renderCutMenu()
|
||||
case 'desgin':
|
||||
const { renderDesign } = useRenderLayout()
|
||||
return renderDesign()
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,18 @@ const layout = computed(() => appStore.getLayout)
|
|||
>
|
||||
<div class="absolute h-full w-[33%] top-0 left-[10%] bg-gray-200"></div>
|
||||
</div>
|
||||
<div
|
||||
:class="[
|
||||
`${prefixCls}__cut-menu`,
|
||||
'relative w-56px h-48px cursor-pointer bg-gray-300',
|
||||
{
|
||||
'is-acitve': layout === 'desgin'
|
||||
}
|
||||
]"
|
||||
@click="appStore.setLayout('desgin')"
|
||||
>
|
||||
<div class="absolute h-full w-[33%] top-0 left-[10%] bg-gray-200"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -268,11 +268,23 @@ export const useRenderLayout = () => {
|
|||
</>
|
||||
)
|
||||
}
|
||||
|
||||
const renderDesign = () => {
|
||||
return (
|
||||
<>
|
||||
<div class="flex items-center bg-[var(--top-header-bg-color)] border-bottom-1 border-solid border-[var(--top-tool-border-color)] dark:border-[var(--el-border-color)]">
|
||||
{logo.value ? <Logo class="hover-trigger !pr-15px"></Logo> : undefined}
|
||||
</div>
|
||||
<div class="absolute top-[var(--logo-height)] left-0 w-full h-[calc(100%-var(--logo-height))] flex">
|
||||
243
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
return {
|
||||
renderClassic,
|
||||
renderTopLeft,
|
||||
renderTop,
|
||||
renderCutMenu
|
||||
renderCutMenu,
|
||||
renderDesign
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
export type LayoutType = 'classic' | 'topLeft' | 'top' | 'cutMenu'
|
||||
export type LayoutType = 'classic' | 'topLeft' | 'top' | 'cutMenu' | 'desgin'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-button @click="setDataSource">绑定数据源</el-button>
|
||||
<div id="ssDesigner" style="height: 700px; width: 100%; text-align: left"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import '@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css'
|
||||
import '@grapecity/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css'
|
||||
import '@grapecity/spread-sheets-shapes'
|
||||
import '@grapecity/spread-sheets-pivot-addon'
|
||||
import '@grapecity/spread-sheets-tablesheet'
|
||||
import GC from '@grapecity/spread-sheets'
|
||||
import '@grapecity/spread-sheets-resources-zh'
|
||||
GC.Spread.Common.CultureManager.culture('zh-cn')
|
||||
import '@grapecity/spread-sheets-designer-resources-cn'
|
||||
import '@grapecity/spread-sheets-designer'
|
||||
|
||||
export default {
|
||||
name: 'Designer',
|
||||
props: {},
|
||||
setup() {
|
||||
let designer: any
|
||||
let spreadDom
|
||||
let spread
|
||||
const setDataSource = () => {
|
||||
alert('oo')
|
||||
}
|
||||
onMounted(() => {
|
||||
designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById('ssDesigner'))
|
||||
spreadDom = designer.getWorkbook().getHost()
|
||||
spread = GC.Spread.Sheets.findControl(spreadDom)
|
||||
})
|
||||
|
||||
return {
|
||||
designer,
|
||||
spread,
|
||||
setDataSource
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<template>
|
||||
<div class="my-process-designer__container">
|
||||
<div
|
||||
class="my-process-designer__canvas"
|
||||
ref="bpmnCanvas"
|
||||
id="bpmnCanvas"
|
||||
style="width: 1680px; height: 800px"
|
||||
></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="excel">
|
||||
import BpmnModeler from 'bpmn-js/lib/Modeler'
|
||||
// 翻译方法
|
||||
import customTranslate from '@/components/bpmnProcessDesigner/package/designer/plugins/translate/customTranslate'
|
||||
import translationsCN from '@/components/bpmnProcessDesigner/package/designer/plugins/translate/zh'
|
||||
let bpmnModeler: any = null
|
||||
|
||||
const additionalModules = computed(() => {
|
||||
const Modules: any[] = []
|
||||
// 翻译模块
|
||||
const TranslateModule = {
|
||||
translate: ['value', customTranslate(translationsCN)]
|
||||
}
|
||||
Modules.push(TranslateModule)
|
||||
return Modules
|
||||
})
|
||||
const initBpmn = () => {
|
||||
let data = document.getElementById('bpmnCanvas')
|
||||
bpmnModeler = new BpmnModeler({
|
||||
container: data,
|
||||
keyboard: { bindTo: document },
|
||||
additionalModules: additionalModules.value
|
||||
})
|
||||
bpmnModeler.createDiagram(() => {
|
||||
bpmnModeler.get('canvas').zoom('fit-viewport')
|
||||
})
|
||||
}
|
||||
onMounted(() => {
|
||||
initBpmn()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style last="scss" scoped></style>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-button>上传excel1</el-button>
|
||||
<div ref="ssHost" style="height: 500px; width: 100%; text-align: left"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="excel">
|
||||
import '@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css'
|
||||
import '@grapecity/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css'
|
||||
import '@grapecity/spread-sheets-vue'
|
||||
import GC from '@grapecity/spread-sheets'
|
||||
import '@grapecity/spread-sheets-resources-zh'
|
||||
GC.Spread.Common.CultureManager.culture('zh-cn')
|
||||
|
||||
const ssHost: any = ref(null)
|
||||
onMounted(() => {
|
||||
let workbook = new GC.Spread.Sheets.Workbook(ssHost.value)
|
||||
let sheet = workbook.getActiveSheet()
|
||||
console.log(sheet)
|
||||
|
||||
const formData: Array<object> = reactive([
|
||||
{ label: '姓名', value: '12' },
|
||||
{ label: '年龄', value: '32' },
|
||||
{ label: '性别', value: '2' },
|
||||
{ label: '电话', value: '2' },
|
||||
{ label: '邮箱', value: '2' },
|
||||
{ label: '地址', value: '2' },
|
||||
{ label: '教育背景', value: '2' },
|
||||
{ label: '工作经历', value: '2' },
|
||||
{ label: '技能', value: '2' }
|
||||
])
|
||||
// 渲染表单
|
||||
formData.forEach((field, index) => {
|
||||
sheet.getCell(index, 0).value(field.label)
|
||||
sheet.getCell(index, 1).value(field.value)
|
||||
})
|
||||
console.log(workbook, ssHost, formData)
|
||||
})
|
||||
</script>
|
||||
|
||||
<style last="scss" scoped></style>
|
||||
Loading…
Reference in New Issue