diff --git a/.trae/documents/新建项目系列选择功能实现.md b/.trae/documents/新建项目系列选择功能实现.md new file mode 100644 index 0000000..d6c06cc --- /dev/null +++ b/.trae/documents/新建项目系列选择功能实现.md @@ -0,0 +1,178 @@ +# 新建项目系列选择功能实现 + +## 需求分析 +- 当用户点击"新建项目"卡片时,需要弹出系列选择弹窗 +- 系列弹窗包含两个选项:Done 和 Oone,对应图片在 src/assets/xh 文件夹中 +- 选中后将系列名称作为 type 参数传递给 createNewProject 函数 + +## 实现计划 + +### 1. 创建 SeriesSelector 组件 +- **文件路径**:`src/views/components/SeriesSelector.vue` +- **功能**: + - 显示两个系列选项(Done 和 Oone) + - 每个选项显示对应的图片 + - 支持选中状态切换 + - 提供确认和取消按钮 + - 通过 emit 事件返回选中的系列名称 + +### 2. 修改 CreationWorkspace.vue +- **引入组件**:在 CreationWorkspace.vue 中引入 SeriesSelector 组件 +- **添加状态管理**: + - `showSeriesSelector`:控制系列选择弹窗的显示/隐藏 +- **修改新建项目逻辑**: + - 点击"新建项目"卡片时,显示系列选择弹窗 + - 监听 SeriesSelector 的确认事件,获取选中的系列名称 + - 将系列名称作为 type 参数调用 createNewProject 函数 + +### 3. 样式设计 +- 系列选择弹窗采用与现有删除确认弹窗一致的设计风格 +- 系列选项卡片包含图片和名称,支持悬停和选中效果 +- 确认和取消按钮使用现有按钮样式 + +## 代码结构 + +### SeriesSelector.vue +```vue + + + + + + + + \ No newline at end of file diff --git a/apps/FrontendDesigner/src/locales/lang/en-US.js b/apps/FrontendDesigner/src/locales/lang/en-US.js index 28176dd..150afc3 100644 --- a/apps/FrontendDesigner/src/locales/lang/en-US.js +++ b/apps/FrontendDesigner/src/locales/lang/en-US.js @@ -175,7 +175,8 @@ export default { shenhe: 'Under Review', unsuccess: 'Rejected', clz: 'Processing', - dfh: 'Pending Shipment' + dfh: 'Pending Shipment', + success:'Completed' }, sort: { created_at: 'Created Time', @@ -741,7 +742,26 @@ export default { }, commissionManagement: { title: 'Commission Management', + configTitle: 'Commission Configuration', commissionRate: 'Commission Rate', + minWithdrawAmount: 'Minimum Withdraw Amount', + withdrawFeeRate: 'Withdraw Fee Rate', + settlementCycle: 'Settlement Cycle', + status: 'Status', + remark: 'Remark', + saveConfig: 'Save Configuration', + selectSettlementCycle: 'Please select settlement cycle', + enterRemark: 'Please enter remark', + daily: 'Daily', + weekly: 'Weekly', + monthly: 'Monthly', + requiredCommissionRate: 'Please enter commission rate', + invalidCommissionRate: 'Commission rate should be between 1-100', + requiredMinWithdrawAmount: 'Please enter minimum withdraw amount', + invalidMinWithdrawAmount: 'Minimum withdraw amount cannot be less than 0', + getConfigFailed: 'Failed to get commission configuration', + saveConfigSuccess: 'Configuration saved successfully', + saveConfigFailed: 'Failed to save configuration', saveRate: 'Save', defaultRate: '15%', rateSaved: 'Commission rate saved successfully', diff --git a/apps/FrontendDesigner/src/locales/lang/zh-CN.js b/apps/FrontendDesigner/src/locales/lang/zh-CN.js index 58de6a3..ae2ea7f 100644 --- a/apps/FrontendDesigner/src/locales/lang/zh-CN.js +++ b/apps/FrontendDesigner/src/locales/lang/zh-CN.js @@ -80,7 +80,8 @@ orderManagement: { shenhe:'待审核', unsuccess:'已拒绝', clz:'处理中', - dfh:'待发货' + dfh:'待发货', + success:'已完成' }, sort: { created_at: '创建时间', @@ -738,7 +739,26 @@ orderManagement: { }, commissionManagement: { title: '佣金管理', + configTitle: '佣金配置', commissionRate: '佣金比例', + minWithdrawAmount: '最低提现金额', + withdrawFeeRate: '提现费率', + settlementCycle: '结算周期', + status: '状态', + remark: '备注', + saveConfig: '保存配置', + selectSettlementCycle: '请选择结算周期', + enterRemark: '请输入备注', + daily: '每日', + weekly: '每周', + monthly: '每月', + requiredCommissionRate: '请输入佣金比例', + invalidCommissionRate: '佣金比例应在1-100之间', + requiredMinWithdrawAmount: '请输入最低提现金额', + invalidMinWithdrawAmount: '最低提现金额不能小于0', + getConfigFailed: '获取佣金配置失败', + saveConfigSuccess: '保存配置成功', + saveConfigFailed: '保存配置失败', saveRate: '保存', defaultRate: '15%', rateSaved: '佣金比例保存成功', diff --git a/apps/FrontendDesigner/src/main.js b/apps/FrontendDesigner/src/main.js index 6ebd292..02c7ac1 100644 --- a/apps/FrontendDesigner/src/main.js +++ b/apps/FrontendDesigner/src/main.js @@ -57,7 +57,7 @@ const initRoutes = () => { } } -// initRoutes() +initRoutes() // 配置路由 app.use(router) diff --git a/apps/FrontendDesigner/src/router/index.js b/apps/FrontendDesigner/src/router/index.js index b764637..faed81f 100644 --- a/apps/FrontendDesigner/src/router/index.js +++ b/apps/FrontendDesigner/src/router/index.js @@ -196,6 +196,43 @@ export const permissionRoutes = [ requiresAuth: true } }, + + + + ] +const routes = [ + { + path: '/', + name: 'Home', + meta: { + title: '首页重定向' + } + }, + { + path: '/about', + name: 'About', + component: About, + meta: { + title: '关于页面' + } + }, + { + path: '/login', + name: 'Login', + component: AdminLogin, + meta: { + title: '登录', + requiresAuth: false + } + }, + { + path: '/admin', + name: 'Admin', + component: AdminLayout, + meta: { + requiresAuth: true + }, + children: [ { path: 'disassembly-orders/:id', name: 'AdminDisassemblyDetail', @@ -232,40 +269,7 @@ export const permissionRoutes = [ requiresAuth: true } } - ] -const routes = [ - { - path: '/', - name: 'Home', - meta: { - title: '首页重定向' - } - }, - { - path: '/about', - name: 'About', - component: About, - meta: { - title: '关于页面' - } - }, - { - path: '/login', - name: 'Login', - component: AdminLogin, - meta: { - title: '登录', - requiresAuth: false - } - }, - { - path: '/admin', - name: 'Admin', - component: AdminLayout, - meta: { - requiresAuth: true - }, - children: permissionRoutes//[]// + ]//[]// }, { path: '/:pathMatch(.*)*', diff --git a/apps/FrontendDesigner/src/stores/index.js b/apps/FrontendDesigner/src/stores/index.js index dd8c37b..a8dae04 100644 --- a/apps/FrontendDesigner/src/stores/index.js +++ b/apps/FrontendDesigner/src/stores/index.js @@ -11,7 +11,7 @@ export const useAuthStore = defineStore('auth', { permissionButton: JSON.parse(localStorage.getItem('permissionButton') || '[]'), router: null, routesUpdated: 0,//路由更新次数 - routerList: permissionRoutes//侧边栏路由 + routerList: []//侧边栏路由 }), getters: { @@ -161,8 +161,6 @@ export const useAuthStore = defineStore('auth', { return; } this.routerList = []; - console.log(accessibleRoutes,'accessibleRoutes'); - accessibleRoutes.forEach(route => { this.router.addRoute('Admin', route); this.routerList.push(route); diff --git a/apps/FrontendDesigner/src/views/admin/AdminContentReview.vue b/apps/FrontendDesigner/src/views/admin/AdminContentReview.vue index 0eb8d9b..9323999 100644 --- a/apps/FrontendDesigner/src/views/admin/AdminContentReview.vue +++ b/apps/FrontendDesigner/src/views/admin/AdminContentReview.vue @@ -310,10 +310,6 @@ const rejectRules = { // 选中行数据 const selectedReview = ref(null) - - - - // 计算属性 const filteredReviewList = computed(() => { let list = ordersList.value.map((item) =>{ diff --git a/apps/FrontendDesigner/src/views/admin/AdminDisassemblyDetail/AdminDisassemblyDetail.vue b/apps/FrontendDesigner/src/views/admin/AdminDisassemblyDetail/AdminDisassemblyDetail.vue index 90b0e03..53ccd1c 100644 --- a/apps/FrontendDesigner/src/views/admin/AdminDisassemblyDetail/AdminDisassemblyDetail.vue +++ b/apps/FrontendDesigner/src/views/admin/AdminDisassemblyDetail/AdminDisassemblyDetail.vue @@ -179,7 +179,7 @@ >
@@ -34,7 +34,7 @@
{{ $t('orderProcess.note') || '注意:以上时间为工作日计算,节假日可能会顺延。如有问题,请联系客服:13121765685' }}
+{{ $t('orderProcess.note') || '注意:以上时间为工作日计算,节假日可能会顺延。如有问题,请联系客服' }}