Pre Merge pull request !160 from dh/mastercope

pull/160/MERGE
dh 2023-06-01 07:21:40 +00:00 committed by Gitee
commit 61c2a453f4
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
9 changed files with 179 additions and 4 deletions

View File

@ -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'

View File

@ -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",

View File

@ -38,6 +38,9 @@ const renderLayout = () => {
case 'cutMenu':
const { renderCutMenu } = useRenderLayout()
return renderCutMenu()
case 'desgin':
const { renderDesign } = useRenderLayout()
return renderDesign()
default:
break
}

View File

@ -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>

View File

@ -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
}
}

View File

@ -1 +1 @@
export type LayoutType = 'classic' | 'topLeft' | 'top' | 'cutMenu'
export type LayoutType = 'classic' | 'topLeft' | 'top' | 'cutMenu' | 'desgin'

View File

@ -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>

View File

@ -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>

View File

@ -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>