fix(oa): 修复多处 Duplicate attribute 错误问题
- 修改 app/components/oa/TaskForm.vue 中 a-input 类型冲突为 a-input-number - 合并 admin/supply/warehouse.vue 和 production/equipment.vue 中多个 :class 绑定,避免重复属性 - 统一改为数组方式绑定静态和动态 class,防止 Vue 编译器 Duplicate attribute 警告 - 清理缓存并验证构建通过,确保无重复属性错误 - 通过扫描确认 app/ 目录下 Vue 文件不再存在重复属性问题 - 添加 OaTaskForm 组件类型声明及懒加载声明 - 将 ERP 演示独立 HTML 页面整合至 /app/pages,统一布局与导航 - 升级制造业管理后台页面风格,采用玻璃态和渐变设计 - 修订规划文档相关内容,更新 DEMO 系统名称及功能模块描述 - 修改 ecosystem.config.cjs 中运行端口为 10591
This commit is contained in:
2
.nuxt/components.d.ts
vendored
2
.nuxt/components.d.ts
vendored
@@ -30,6 +30,7 @@ export const DeveloperPermissionGuard: typeof import("../app/components/develope
|
||||
export const DeveloperRoleTag: typeof import("../app/components/developer/RoleTag.vue").default
|
||||
export const InviteBell: typeof import("../app/components/invite/InviteBell.vue").default
|
||||
export const InviteNotification: typeof import("../app/components/invite/InviteNotification.vue").default
|
||||
export const OaTaskForm: typeof import("../app/components/oa/TaskForm.vue").default
|
||||
export const PaymentModal: typeof import("../app/components/payment/PaymentModal.vue").default
|
||||
export const ProseA: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
|
||||
export const ProseBlockquote: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
|
||||
@@ -102,6 +103,7 @@ export const LazyDeveloperPermissionGuard: LazyComponent<typeof import("../app/c
|
||||
export const LazyDeveloperRoleTag: LazyComponent<typeof import("../app/components/developer/RoleTag.vue").default>
|
||||
export const LazyInviteBell: LazyComponent<typeof import("../app/components/invite/InviteBell.vue").default>
|
||||
export const LazyInviteNotification: LazyComponent<typeof import("../app/components/invite/InviteNotification.vue").default>
|
||||
export const LazyOaTaskForm: LazyComponent<typeof import("../app/components/oa/TaskForm.vue").default>
|
||||
export const LazyPaymentModal: LazyComponent<typeof import("../app/components/payment/PaymentModal.vue").default>
|
||||
export const LazyProseA: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default>
|
||||
export const LazyProseBlockquote: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default>
|
||||
|
||||
@@ -22,6 +22,7 @@ export const localComponentLoaders = {
|
||||
DeveloperRoleTag: () => import("./../../app/components/developer/RoleTag.vue").then(m => pickExport(m, "default", "DeveloperRoleTag", "./../../app/components/developer/RoleTag.vue")),
|
||||
InviteBell: () => import("./../../app/components/invite/InviteBell.vue").then(m => pickExport(m, "default", "InviteBell", "./../../app/components/invite/InviteBell.vue")),
|
||||
InviteNotification: () => import("./../../app/components/invite/InviteNotification.vue").then(m => pickExport(m, "default", "InviteNotification", "./../../app/components/invite/InviteNotification.vue")),
|
||||
OaTaskForm: () => import("./../../app/components/oa/TaskForm.vue").then(m => pickExport(m, "default", "OaTaskForm", "./../../app/components/oa/TaskForm.vue")),
|
||||
PaymentModal: () => import("./../../app/components/payment/PaymentModal.vue").then(m => pickExport(m, "default", "PaymentModal", "./../../app/components/payment/PaymentModal.vue")),
|
||||
NuxtWelcome: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").then(m => pickExport(m, "default", "NuxtWelcome", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue")),
|
||||
NuxtLayout: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").then(m => pickExport(m, "default", "NuxtLayout", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout")),
|
||||
@@ -55,4 +56,4 @@ export const localComponentLoaders = {
|
||||
NuxtIsland: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").then(m => pickExport(m, "default", "NuxtIsland", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island")),
|
||||
}
|
||||
export const globalComponents: string[] = ["ProseA","ProseBlockquote","ProseCode","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProsePre","ProseScript","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl"]
|
||||
export const localComponents: string[] = ["LangSwitch","NotificationBell","QrCodeModal","QrLogin","SiteFooter","SiteHeader","AdminMarkdownEditor","AdminMarkdownRenderer","ConsoleAppsCenter","ConsoleHeader","DeveloperAppDetail","DeveloperAppsCenter","DeveloperPermissionGuard","DeveloperRoleTag","InviteBell","InviteNotification","PaymentModal","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtTime","NuxtRouteAnnouncer","NuxtImg","NuxtPicture","ContentRenderer","NuxtLinkLocale","SwitchLocalePathLink","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body","MDC","MDCCached","MDCRenderer","MDCSlot","NuxtIsland"]
|
||||
export const localComponents: string[] = ["LangSwitch","NotificationBell","QrCodeModal","QrLogin","SiteFooter","SiteHeader","AdminMarkdownEditor","AdminMarkdownRenderer","ConsoleAppsCenter","ConsoleHeader","DeveloperAppDetail","DeveloperAppsCenter","DeveloperPermissionGuard","DeveloperRoleTag","InviteBell","InviteNotification","OaTaskForm","PaymentModal","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtTime","NuxtRouteAnnouncer","NuxtImg","NuxtPicture","ContentRenderer","NuxtLinkLocale","SwitchLocalePathLink","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body","MDC","MDCCached","MDCRenderer","MDCSlot","NuxtIsland"]
|
||||
@@ -2675,7 +2675,7 @@ const _xcUbjOGHb1DY_0q4vboOUFGJ6nlkQiqabJRmCaoRlCA = defineNitroPlugin(async (ni
|
||||
const localeSegment = detector.route(event.path);
|
||||
const pathLocale = isSupportedLocale(localeSegment) && localeSegment || void 0;
|
||||
const path = (pathLocale && url.pathname.slice(pathLocale.length + 1)) ?? url.pathname;
|
||||
if (!url.pathname.includes("/_i18n/DlSAXLC0") && !isExistingNuxtRoute(path)) {
|
||||
if (!url.pathname.includes("/_i18n/7dqJCt8a") && !isExistingNuxtRoute(path)) {
|
||||
return;
|
||||
}
|
||||
const resolved = resolveRedirectPath(event, path, pathLocale, ctx.vueI18nOptions.defaultLocale, detector);
|
||||
@@ -2777,7 +2777,22 @@ _xcUbjOGHb1DY_0q4vboOUFGJ6nlkQiqabJRmCaoRlCA,
|
||||
_gQl57XluY2XVUox11CYu2DV1u08gyx_aML83r_h8XmU
|
||||
];
|
||||
|
||||
const assets = {};
|
||||
const assets = {
|
||||
"/index.mjs": {
|
||||
"type": "text/javascript; charset=utf-8",
|
||||
"etag": "\"26fc2-ygDl+V7YYMJ0mSpU5AmaYP4FFyY\"",
|
||||
"mtime": "2026-04-09T03:56:59.765Z",
|
||||
"size": 159682,
|
||||
"path": "index.mjs"
|
||||
},
|
||||
"/index.mjs.map": {
|
||||
"type": "application/json",
|
||||
"etag": "\"9d6e0-8lbM8D6Iv8mk+QKpLLL+TYaN4qU\"",
|
||||
"mtime": "2026-04-09T03:56:59.767Z",
|
||||
"size": 644832,
|
||||
"path": "index.mjs.map"
|
||||
}
|
||||
};
|
||||
|
||||
function readAsset (id) {
|
||||
const serverDir = dirname$1(fileURLToPath(globalThis._importMeta_.url));
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"date": "2026-04-08T23:33:08.624Z",
|
||||
"date": "2026-04-09T03:57:02.359Z",
|
||||
"preset": "nitro-dev",
|
||||
"framework": {
|
||||
"name": "nuxt",
|
||||
@@ -9,9 +9,9 @@
|
||||
"nitro": "2.12.8"
|
||||
},
|
||||
"dev": {
|
||||
"pid": 94352,
|
||||
"pid": 95597,
|
||||
"workerAddress": {
|
||||
"socketPath": "/var/folders/qz/k8gbknb502j_f8wbdcc8bs6h0000gn/T/nitro-worker-94352-1-1-8709.sock"
|
||||
"socketPath": "/var/folders/qz/k8gbknb502j_f8wbdcc8bs6h0000gn/T/nitro-worker-95597-3-3-6572.sock"
|
||||
}
|
||||
}
|
||||
}
|
||||
2
.nuxt/nuxt.d.ts
vendored
2
.nuxt/nuxt.d.ts
vendored
@@ -1,9 +1,9 @@
|
||||
/// <reference types="./modules/fix-tailwind-postcss" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference types="@nuxt/content" />
|
||||
/// <reference types="@nuxtjs/i18n" />
|
||||
/// <reference types="@nuxt/devtools" />
|
||||
/// <reference types="@nuxt/telemetry" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference path="types/builder-env.d.ts" />
|
||||
/// <reference path="types/plugins.d.ts" />
|
||||
/// <reference path="types/build.d.ts" />
|
||||
|
||||
2
.nuxt/nuxt.node.d.ts
vendored
2
.nuxt/nuxt.node.d.ts
vendored
@@ -1,9 +1,9 @@
|
||||
/// <reference types="./modules/fix-tailwind-postcss" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference types="@nuxt/content" />
|
||||
/// <reference types="@nuxtjs/i18n" />
|
||||
/// <reference types="@nuxt/devtools" />
|
||||
/// <reference types="@nuxt/telemetry" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference path="types/modules.d.ts" />
|
||||
/// <reference path="types/runtime-config.d.ts" />
|
||||
/// <reference path="types/app.config.d.ts" />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 4/9/2026, 7:35:30 AM
|
||||
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 4/9/2026, 11:56:58 AM
|
||||
import "@nuxtjs/tailwindcss/config-ctx"
|
||||
import configMerger from "@nuxtjs/tailwindcss/merger";
|
||||
|
||||
|
||||
2
.nuxt/types/components.d.ts
vendored
2
.nuxt/types/components.d.ts
vendored
@@ -30,6 +30,7 @@ interface _GlobalComponents {
|
||||
'DeveloperRoleTag': typeof import("../../app/components/developer/RoleTag.vue").default
|
||||
'InviteBell': typeof import("../../app/components/invite/InviteBell.vue").default
|
||||
'InviteNotification': typeof import("../../app/components/invite/InviteNotification.vue").default
|
||||
'OaTaskForm': typeof import("../../app/components/oa/TaskForm.vue").default
|
||||
'PaymentModal': typeof import("../../app/components/payment/PaymentModal.vue").default
|
||||
'ProseA': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
|
||||
'ProseBlockquote': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
|
||||
@@ -102,6 +103,7 @@ interface _GlobalComponents {
|
||||
'LazyDeveloperRoleTag': LazyComponent<typeof import("../../app/components/developer/RoleTag.vue").default>
|
||||
'LazyInviteBell': LazyComponent<typeof import("../../app/components/invite/InviteBell.vue").default>
|
||||
'LazyInviteNotification': LazyComponent<typeof import("../../app/components/invite/InviteNotification.vue").default>
|
||||
'LazyOaTaskForm': LazyComponent<typeof import("../../app/components/oa/TaskForm.vue").default>
|
||||
'LazyPaymentModal': LazyComponent<typeof import("../../app/components/payment/PaymentModal.vue").default>
|
||||
'LazyProseA': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default>
|
||||
'LazyProseBlockquote': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default>
|
||||
|
||||
Reference in New Issue
Block a user