mirror of
https://gitee.com/dromara/go-view.git
synced 2026-02-10 00:03:02 +08:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04ed5d354d | ||
|
|
fa678e1089 | ||
|
|
8575d27504 | ||
|
|
fa6ef30cd8 | ||
|
|
14402e6674 | ||
|
|
0915e162fd | ||
|
|
fffe49cd0f | ||
|
|
94fc6138a0 | ||
|
|
4f248e57c8 | ||
|
|
e5bf08f709 |
10
README.md
10
README.md
@@ -3,12 +3,18 @@
|
||||
|
||||
GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可制作数据大屏,减少心智负担。当然低代码也不是 “银弹”,希望所有人员都能理智看待此技术。
|
||||
|
||||
项目-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club)
|
||||
项目纯前端-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club)
|
||||
|
||||
项目带后端-Demo 地址(开发中~):[后端 Demo 地址](http://1.117.240.165:8080/goview/#/login)
|
||||
|
||||
文档-在线地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
|
||||
|
||||
文档-源码地址:[https://gitee.com/MTrun/go-view-doc](https://gitee.com/MTrun/go-view-doc)
|
||||
|
||||
纯前端分支:`master`
|
||||
|
||||
携带后端请求分支: `master-fetch`
|
||||
|
||||
技术点:
|
||||
|
||||
- 框架:基于 `Vue3` 框架编写,使用 `hooks` 写法抽离部分逻辑,使代码结构更加清晰;
|
||||
@@ -39,7 +45,7 @@ GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图
|
||||
| 名称 | 版本 | 名称 | 版本 |
|
||||
| ---- | ------- | ------- | ----- |
|
||||
| node | 16.14.x | npm | 8.5.x |
|
||||
| pnpm | 6.32.x | windows | 11 |
|
||||
| pnpm | 7.1.x | windows | 11 |
|
||||
|
||||
已完成图表:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "go-view",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"scripts": {
|
||||
"dev": "vite --host",
|
||||
"build": "vue-tsc --noEmit && vite build",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ref, nextTick } from 'vue'
|
||||
import { UploadCustomRequestOptions } from 'naive-ui'
|
||||
import { FileTypeEnum } from '@/enums/fileTypeEnum'
|
||||
import { fetchChartComponent } from '@/packages/index'
|
||||
import { fetchChartComponent, fetchConfigComponent } from '@/packages/index'
|
||||
import { CreateComponentType } from '@/packages/index.d'
|
||||
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||
import { ChartEditStoreEnum } from '@/store/modules/chartEditStore/chartEditStore.d'
|
||||
@@ -27,6 +27,10 @@ const updateComponent = async (fileData: any, isSplace = false) => {
|
||||
e.chartConfig.chartKey,
|
||||
fetchChartComponent(e.chartConfig)
|
||||
)
|
||||
window['$vue'].component(
|
||||
e.chartConfig.conKey,
|
||||
fetchConfigComponent(e.chartConfig)
|
||||
)
|
||||
}
|
||||
})
|
||||
// 数据赋值
|
||||
|
||||
@@ -26,56 +26,58 @@
|
||||
</div>
|
||||
</div>
|
||||
<template #action>
|
||||
<n-space class="list-footer" justify="space-between">
|
||||
<n-text>
|
||||
<div class="go-flex-items-center list-footer" justify="space-between">
|
||||
<n-text class="go-ellipsis-1">
|
||||
{{ cardData.title || '' }}
|
||||
</n-text>
|
||||
<!-- 工具 -->
|
||||
<n-space>
|
||||
<n-text>
|
||||
<n-badge
|
||||
class="animation-twinkle"
|
||||
dot
|
||||
:color="cardData.release ? '#34c749' : '#fcbc40'"
|
||||
></n-badge>
|
||||
{{
|
||||
cardData.release
|
||||
? $t('project.release')
|
||||
: $t('project.unreleased')
|
||||
}}
|
||||
</n-text>
|
||||
<div class="go-flex-items-center list-footer-ri">
|
||||
<n-space>
|
||||
<n-text>
|
||||
<n-badge
|
||||
class="animation-twinkle"
|
||||
dot
|
||||
:color="cardData.release ? '#34c749' : '#fcbc40'"
|
||||
></n-badge>
|
||||
{{
|
||||
cardData.release
|
||||
? $t('project.release')
|
||||
: $t('project.unreleased')
|
||||
}}
|
||||
</n-text>
|
||||
|
||||
<template v-for="item in fnBtnList" :key="item.key">
|
||||
<template v-if="item.key === 'select'">
|
||||
<n-dropdown
|
||||
trigger="hover"
|
||||
placement="bottom"
|
||||
:options="selectOptions"
|
||||
:show-arrow="true"
|
||||
@select="handleSelect"
|
||||
>
|
||||
<n-button size="small">
|
||||
<template #icon>
|
||||
<component :is="item.icon"></component>
|
||||
</template>
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
</template>
|
||||
|
||||
<n-tooltip v-else placement="bottom" trigger="hover">
|
||||
<template #trigger>
|
||||
<n-button size="small" @click="handleSelect(item.key)">
|
||||
<template #icon>
|
||||
<component :is="item.icon"></component>
|
||||
</template>
|
||||
</n-button>
|
||||
<template v-for="item in fnBtnList" :key="item.key">
|
||||
<template v-if="item.key === 'select'">
|
||||
<n-dropdown
|
||||
trigger="hover"
|
||||
placement="bottom"
|
||||
:options="selectOptions"
|
||||
:show-arrow="true"
|
||||
@select="handleSelect"
|
||||
>
|
||||
<n-button size="small">
|
||||
<template #icon>
|
||||
<component :is="item.icon"></component>
|
||||
</template>
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
</template>
|
||||
<component :is="item.label"></component>
|
||||
</n-tooltip>
|
||||
</template>
|
||||
</n-space>
|
||||
|
||||
<n-tooltip v-else placement="bottom" trigger="hover">
|
||||
<template #trigger>
|
||||
<n-button size="small" @click="handleSelect(item.key)">
|
||||
<template #icon>
|
||||
<component :is="item.icon"></component>
|
||||
</template>
|
||||
</n-button>
|
||||
</template>
|
||||
<component :is="item.label"></component>
|
||||
</n-tooltip>
|
||||
</template>
|
||||
</n-space>
|
||||
</div>
|
||||
<!-- end -->
|
||||
</n-space>
|
||||
</div>
|
||||
</template>
|
||||
</n-card>
|
||||
</div>
|
||||
@@ -227,7 +229,13 @@ $contentHeight: 180px;
|
||||
}
|
||||
}
|
||||
.list-footer {
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
line-height: 30px;
|
||||
&-ri {
|
||||
justify-content: flex-end;
|
||||
min-width: 160px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -129,7 +129,7 @@ $contentWidth: calc(82vw);
|
||||
@include go('modal-box') {
|
||||
width: $contentWidth;
|
||||
.list-content {
|
||||
margin-top: 20px;
|
||||
margin-top: 28px;
|
||||
border-radius: $--border-radius-base;
|
||||
overflow: hidden;
|
||||
@include background-image('background-point');
|
||||
|
||||
Reference in New Issue
Block a user