From eed7c5aed1e5d44746beecd49aaa480654b34569 Mon Sep 17 00:00:00 2001 From: cjh <949661474@qq.com> Date: Thu, 4 Jun 2026 17:16:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B5=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F+Ai=E8=B5=84=E4=BF=A1=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/review-tools/back-active.svg | 1 + src/assets/review-tools/back-default.svg | 1 + src/assets/review-tools/pattern-active.svg | 1 + src/assets/review-tools/pattern-default.svg | 1 + src/assets/review-tools/response-active.svg | 1 + src/assets/review-tools/response-default.svg | 1 + src/assets/review-tools/reupload-active.svg | 1 + src/assets/review-tools/reupload-default.svg | 1 + src/assets/review-tools/style-active.svg | 1 + src/assets/review-tools/style-default.svg | 1 + src/layouts/base-layout/index.vue | 74 +- src/locales/langs/en-us.ts | 1 + src/locales/langs/zh-cn.ts | 1 + src/router/elegant/imports.ts | 1 + src/router/elegant/routes.ts | 9 + src/router/elegant/transform.ts | 1 + src/typings/elegant-router.d.ts | 3 + src/views/ai-assistant/ai-read/index.vue | 86 +- .../ai-read/module/analysis-result.vue | 178 +- .../ai-read/module/document-preview.vue | 61 +- .../ai-read/module/part-reading.vue | 92 +- src/views/ai-credit/index.vue | 2068 +++++++++++++++++ .../content-check/index.vue | 24 +- .../tech-proposal-redesign/index.vue | 713 +++++- .../regular-analysis/index.vue | 10 +- .../responsive-check/index.vue | 131 +- .../content-check/modules/setting-drawer.vue | 15 +- src/views/library/resource-library/index.vue | 615 ++++- .../tech-proposal/document-edit/index.vue | 182 +- .../smart-proposal/tech-proposal/index.vue | 29 +- .../tech-proposal/modules/file-catalogue.vue | 11 +- .../system2/modules/system2-list-page.vue | 22 +- 32 files changed, 3985 insertions(+), 352 deletions(-) create mode 100644 src/assets/review-tools/back-active.svg create mode 100644 src/assets/review-tools/back-default.svg create mode 100644 src/assets/review-tools/pattern-active.svg create mode 100644 src/assets/review-tools/pattern-default.svg create mode 100644 src/assets/review-tools/response-active.svg create mode 100644 src/assets/review-tools/response-default.svg create mode 100644 src/assets/review-tools/reupload-active.svg create mode 100644 src/assets/review-tools/reupload-default.svg create mode 100644 src/assets/review-tools/style-active.svg create mode 100644 src/assets/review-tools/style-default.svg create mode 100644 src/views/ai-credit/index.vue diff --git a/src/assets/review-tools/back-active.svg b/src/assets/review-tools/back-active.svg new file mode 100644 index 0000000..32d0306 --- /dev/null +++ b/src/assets/review-tools/back-active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/back-default.svg b/src/assets/review-tools/back-default.svg new file mode 100644 index 0000000..2d12203 --- /dev/null +++ b/src/assets/review-tools/back-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/pattern-active.svg b/src/assets/review-tools/pattern-active.svg new file mode 100644 index 0000000..ea73217 --- /dev/null +++ b/src/assets/review-tools/pattern-active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/pattern-default.svg b/src/assets/review-tools/pattern-default.svg new file mode 100644 index 0000000..c166b18 --- /dev/null +++ b/src/assets/review-tools/pattern-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/response-active.svg b/src/assets/review-tools/response-active.svg new file mode 100644 index 0000000..cdf485f --- /dev/null +++ b/src/assets/review-tools/response-active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/response-default.svg b/src/assets/review-tools/response-default.svg new file mode 100644 index 0000000..b043651 --- /dev/null +++ b/src/assets/review-tools/response-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/reupload-active.svg b/src/assets/review-tools/reupload-active.svg new file mode 100644 index 0000000..d8abf20 --- /dev/null +++ b/src/assets/review-tools/reupload-active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/reupload-default.svg b/src/assets/review-tools/reupload-default.svg new file mode 100644 index 0000000..e455a53 --- /dev/null +++ b/src/assets/review-tools/reupload-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/style-active.svg b/src/assets/review-tools/style-active.svg new file mode 100644 index 0000000..753e0f6 --- /dev/null +++ b/src/assets/review-tools/style-active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/review-tools/style-default.svg b/src/assets/review-tools/style-default.svg new file mode 100644 index 0000000..68bbd3c --- /dev/null +++ b/src/assets/review-tools/style-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/layouts/base-layout/index.vue b/src/layouts/base-layout/index.vue index d82f309..6fcc894 100644 --- a/src/layouts/base-layout/index.vue +++ b/src/layouts/base-layout/index.vue @@ -2,14 +2,16 @@ import { computed, defineAsyncComponent, onMounted } from 'vue'; import { AdminLayout, LAYOUT_SCROLL_EL_ID } from '@sa/materials'; import type { LayoutMode } from '@sa/materials'; +import { useRoute } from 'vue-router'; import { useAppStore } from '@/store/modules/app'; import { useThemeStore } from '@/store/modules/theme'; import { initWebSocket } from '@/utils/websocket'; import { initSSE } from '@/utils/sse'; -import GlobalHeader from '../modules/global-header/index.vue'; import GlobalSider from '../modules/global-sider/index.vue'; import GlobalTab from '../modules/global-tab/index.vue'; import GlobalContent from '../modules/global-content/index.vue'; +import MessageButton from '../modules/global-header/components/message-button.vue'; +import UserAvatar from '../modules/global-header/components/user-avatar.vue'; // import GlobalFooter from '../modules/global-footer/index.vue'; import ThemeDrawer from '../modules/theme-drawer/index.vue'; import { setupMixMenuContext } from '../context'; @@ -20,6 +22,7 @@ defineOptions({ const appStore = useAppStore(); const themeStore = useThemeStore(); +const route = useRoute(); const { childLevelMenus, isActiveFirstLevelMenuHasChildren } = setupMixMenuContext(); const GlobalMenu = defineAsyncComponent(() => import('../modules/global-menu/index.vue')); @@ -30,41 +33,6 @@ const layoutMode = computed(() => { return themeStore.layout.mode.includes(vertical) ? vertical : horizontal; }); -const headerProps = computed(() => { - // const { mode, reverseHorizontalMix } = themeStore.layout; - const { mode } = themeStore.layout; - - const headerPropsConfig: Record = { - vertical: { - showLogo: false, - showMenu: false, - showMenuToggler: true - }, - 'vertical-mix': { - showLogo: false, - showMenu: false, - showMenuToggler: false - }, - horizontal: { - showLogo: true, - showMenu: true, - showMenuToggler: false - }, - 'horizontal-mix': { - showLogo: false, - showMenu: true, - showMenuToggler: true - } - // 'horizontal-mix': { - // showLogo: true, - // showMenu: true, - // showMenuToggler: reverseHorizontalMix && isActiveFirstLevelMenuHasChildren.value - // } - }; - - return headerPropsConfig[mode]; -}); - const siderVisible = computed(() => themeStore.layout.mode !== 'horizontal'); const isVerticalMix = computed(() => themeStore.layout.mode === 'vertical-mix'); @@ -75,6 +43,8 @@ const siderWidth = computed(() => getSiderWidth()); const siderCollapsedWidth = computed(() => getSiderCollapsedWidth()); +const floatingActionsVisible = computed(() => !route.path.startsWith('/smart-proposal/document-edit')); + function getSiderWidth() { const { reverseHorizontalMix } = themeStore.layout; // const { width, mixWidth, mixChildMenuWidth } = themeStore.sider; @@ -129,7 +99,7 @@ onMounted(() => { :is-mobile="appStore.isMobile" :full-content="appStore.fullContent" :fixed-top="themeStore.fixedHeaderAndTab" - :header-height="themeStore.header.height" + :header-height="0" :tab-visible="themeStore.tab.visible" :tab-height="themeStore.tab.height" :content-class="appStore.contentXScrollable ? 'overflow-x-hidden' : ''" @@ -141,9 +111,6 @@ onMounted(() => { :fixed-footer="themeStore.footer.fixed" :right-footer="themeStore.footer.right" > - @@ -152,6 +119,10 @@ onMounted(() => { +
+ + +