From 1bd7d778d28e4a3979aa3f2bae181588c8c15407 Mon Sep 17 00:00:00 2001
From: jingna <1264204245@qq.com>
Date: Fri, 27 Jun 2025 18:29:43 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=B5=84=E6=BA=90=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/dashboard/DbToolbar.vue | 301 +++-----
core/core-frontend/src/router/index.ts | 23 +
.../src/views/template-market/index.vue | 3 +-
.../viewsnew/TemplateResource/addclass.vue | 99 +++
.../viewsnew/TemplateResource/addtemplate.vue | 293 ++++++++
.../src/viewsnew/TemplateResource/index.vue | 663 ++++++++++++++++++
.../TemplateResource/preview/index.vue | 270 +++++++
.../SfcEditor/NavbarEditor/Navbar.vue | 40 +-
.../viewsnew/application/menuconfig/index.vue | 25 +-
.../viewsnew/layout/components/Sidebar.vue | 11 +-
10 files changed, 1514 insertions(+), 214 deletions(-)
create mode 100644 core/core-frontend/src/viewsnew/TemplateResource/addclass.vue
create mode 100644 core/core-frontend/src/viewsnew/TemplateResource/addtemplate.vue
create mode 100644 core/core-frontend/src/viewsnew/TemplateResource/index.vue
create mode 100644 core/core-frontend/src/viewsnew/TemplateResource/preview/index.vue
diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue
index 9efebcd..202b72f 100644
--- a/core/core-frontend/src/components/dashboard/DbToolbar.vue
+++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue
@@ -305,7 +305,7 @@ const clearCanvas = () => {
const backToMain = () => {
let url = '#/module'
- const appId:any = route.query.appId
+ const appId: any = route.query.appId
if (appId) {
url = url + '?id=' + appId
}
@@ -480,10 +480,10 @@ const saveLinkageSetting = () => {
if (subCheckCount > 0) {
ElMessage.error(
t('visualization.datalist') +
- '【' +
- linkageInfo.targetViewName +
- '】' +
- t('visualization.exit_un_march_linkage_field')
+ '【' +
+ linkageInfo.targetViewName +
+ '】' +
+ t('visualization.exit_un_march_linkage_field')
)
return
}
@@ -522,6 +522,9 @@ const initOpenHandler = newWindow => {
}
openHandler.value.invokeMethod(pm)
}
+}
+function saveas(){
+
}
@@ -538,9 +541,9 @@ const initOpenHandler = newWindow => {
-
+
+
+
@@ -548,25 +551,21 @@ const initOpenHandler = newWindow => {
-
-
+
+
+
+
-
-
+
+
+
+
@@ -577,127 +576,61 @@ const initOpenHandler = newWindow => {
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
{{ t('visualization.preview') }}
@@ -706,13 +639,17 @@ const initOpenHandler = newWindow => {
-
+
+
+
{{ t('visualization.fullscreen_preview') }}
-
+
+
+
{{ t('work_branch.new_page_preview') }}
@@ -720,136 +657,92 @@ const initOpenHandler = newWindow => {
-
+
{{ t('data_set.edit') }}
-
-
+ 另存为
+
{{ t('data_set.save') }}
-
- {{ t('data_set.copy') }}
+
+ {{ t('data_set.copy') }}
-
- {{ t('data_set.delete') }}
+
+ {{ t('data_set.delete') }}
- {{ t('components.complete') }}
+ {{
+ t('components.complete') }}
-
- {{ t('userimport.cancel') }}
- {{ t('userimport.sure') }}
+
+ {{ t('userimport.cancel') }}
+ {{
+ t('userimport.sure')
+ }}
-
+
-
+
-
+
\ No newline at end of file
diff --git a/core/core-frontend/src/viewsnew/TemplateResource/addtemplate.vue b/core/core-frontend/src/viewsnew/TemplateResource/addtemplate.vue
new file mode 100644
index 0000000..a61f775
--- /dev/null
+++ b/core/core-frontend/src/viewsnew/TemplateResource/addtemplate.vue
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+
+ 导入模板
+
+
+
+
+
+
+
+
+
+ 添加分类
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/core-frontend/src/viewsnew/TemplateResource/index.vue b/core/core-frontend/src/viewsnew/TemplateResource/index.vue
new file mode 100644
index 0000000..e674939
--- /dev/null
+++ b/core/core-frontend/src/viewsnew/TemplateResource/index.vue
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
导入模板
+
添加分类
+
+
+
+
+
{{ item.category.label }} ({{ item.contents.length }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/core-frontend/src/viewsnew/TemplateResource/preview/index.vue b/core/core-frontend/src/viewsnew/TemplateResource/preview/index.vue
new file mode 100644
index 0000000..2a47825
--- /dev/null
+++ b/core/core-frontend/src/viewsnew/TemplateResource/preview/index.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
模板列表
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue
index 1931fd8..9726ccf 100644
--- a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue
+++ b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue
@@ -177,12 +177,14 @@ function userdetails(){
+
+
+
{{ props.isExecuteEvent == false?userList.nickname:'admin' }}
+
-
-
{{ props.isExecuteEvent == false?userList.nickname:'admin' }}
-
-
+
+
@@ -204,7 +206,8 @@ function userdetails(){
.Navbar-box {
width: 100%;
- height: 65px;
+ height: 85px;
+padding-top:20px;
display: flex;
align-items: center;
color: #fff;
@@ -246,6 +249,7 @@ function userdetails(){
.Navbar-menu-time {
width: 150px;
+ margin-top: -10px;
.Navbar-menu-time-text {
font-size: 16px;
@@ -254,23 +258,25 @@ function userdetails(){
.Navbar-menu-time-text2 {
font-size: 13px;
- font-weight: 700;
+ margin-top:5px;
}
}
.Navbar-menu-item {
font-size: 14px;
- padding: 5px 15px;
+ padding: 8px 20px;
background: url(/images/navmenu.png) no-repeat;
background-size: 100% 100%;
margin-left: 15px;
cursor: pointer;
position: relative;
+ margin-top: -18px;
}
.Navbar-menu-items {
background: url(/images/navmenucheck.png) no-repeat;
background-size: 100% 100%;
+
}
}
@@ -280,6 +286,7 @@ function userdetails(){
display: flex;
align-items: center;
font-size: 14px;
+ margin-top: -15px;
}
}
@@ -292,20 +299,25 @@ function userdetails(){
\ No newline at end of file
diff --git a/core/core-frontend/src/viewsnew/application/menuconfig/index.vue b/core/core-frontend/src/viewsnew/application/menuconfig/index.vue
index b5e47c0..ebc3954 100644
--- a/core/core-frontend/src/viewsnew/application/menuconfig/index.vue
+++ b/core/core-frontend/src/viewsnew/application/menuconfig/index.vue
@@ -11,7 +11,10 @@ import icon_permission_more_white from '@/assets/svg/icon_more-vertical_outlined
import { ElTree,FormInstance } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import { getMenuTree,addMenu,updateMenuById,deleteMenuById } from '@/api/permission/menu'
-
+import type {
+ NodeDropType,
+} from 'element-plus/es/components/tree/src/tree.type'
+import type { DragEvents } from 'element-plus/es/components/tree/src/model/useDragNode'
const projectInfo:any =ref({})
const route = useRoute()
const router = useRouter()
@@ -91,6 +94,22 @@ const resetForm = (formEl: FormInstance | undefined) => {
formEl.resetFields()
dialogVisible.value = false
}
+const handleDrop = (
+ draggingNode: Node,
+ dropNode: Node,
+ dropType: NodeDropType,
+ ev: DragEvents
+) => {
+ console.log('tree drop:', draggingNode,dropNode, dropType,ev)
+}
+const allowDrop = (draggingNode: Node, dropNode: Node, type: AllowDropType) => {
+ if (draggingNode.level === dropNode.level) {
+ return type === 'prev' || type === 'next'
+ } else {
+ // 不同级进行处理
+ return false
+ }
+}
onMounted(() => {
if (route.query.id) {
applicationId.value = route.query.id
@@ -229,8 +248,8 @@ function assocsubmit(){
+ default-expand-all :expand-on-click-node="false" highlight-current draggable @node-drop="handleDrop"
+ :allow-drop="allowDrop" @node-click="nodeclick" style="height: calc(100vh - 210px);margin-top: 10px;overflow: auto;">
diff --git a/core/core-frontend/src/viewsnew/layout/components/Sidebar.vue b/core/core-frontend/src/viewsnew/layout/components/Sidebar.vue
index 3087617..5967c50 100644
--- a/core/core-frontend/src/viewsnew/layout/components/Sidebar.vue
+++ b/core/core-frontend/src/viewsnew/layout/components/Sidebar.vue
@@ -3,10 +3,17 @@ import { usePermissionStore } from '@/store/modules/permission'
import { formatRoute } from '@/router/establish'
import { ref, onMounted } from 'vue'
import router from '@/router';
+import { useRoute } from 'vue-router';
const permissionStore = usePermissionStore()
const routers: any[] = formatRoute(permissionStore.getRoutersNotHidden as AppCustomRouteRecordRaw[])
const activeIndex:any = ref(0)
+const route = useRoute();
onMounted(async () => {
+ if(route.path == '/application/index'){
+ activeIndex.value = 0
+ }else if(route.path == '/TemplateResource/index'){
+ activeIndex.value = 1
+ }
})
function clickRoute(params:any) {
@@ -19,6 +26,8 @@ function clickRoute(params:any) {
}else{
if(params == 0){
router.push('/application/index')
+ }else if(params == 1){
+ router.push('/TemplateResource/index')
}
}
}
@@ -43,7 +52,7 @@ function clickRoute(params:any) {
模板
-
+
模板资源