diff --git a/pages.config.ts b/pages.config.ts index 26a1af7..67b9841 100644 --- a/pages.config.ts +++ b/pages.config.ts @@ -47,6 +47,14 @@ export default defineUniPages({ { path: 'audit/list', style: { navigationBarTitleText: '审核列表' } }, { path: 'audit/detail', style: { navigationBarTitleText: '审核详情' } }, { path: 'customer/list', style: { navigationBarTitleText: '客户管理' } }, + { path: 'customer/detail', style: { navigationBarTitleText: '客户详情' } }, + { path: 'customer/transaction-list', style: { navigationBarTitleText: '交易记录' } }, + { path: 'customer/withdraw-list', style: { navigationBarTitleText: '提现记录' } }, + { path: 'report/list', style: { navigationBarTitleText: '报表列表' } }, + { path: 'report/download', style: { navigationBarTitleText: '报表下载' } }, + { path: 'visit/list', style: { navigationBarTitleText: '拜访计划' } }, + { path: 'visit/create', style: { navigationBarTitleText: '创建拜访' } }, + { path: 'visit/detail', style: { navigationBarTitleText: '拜访详情' } }, { path: 'me/index', style: { navigationBarTitleText: '银行中心' } }, ], }, diff --git a/src/pagesBank/visit/create.vue b/src/pagesBank/visit/create.vue index 4a1faf9..f737b3d 100644 --- a/src/pagesBank/visit/create.vue +++ b/src/pagesBank/visit/create.vue @@ -69,6 +69,20 @@ function toggleProduct(productId: string) { } } +// 获取产品名称 +function getProductName(productId: string): string { + const product = products.value.find(p => p.id === productId) + return product?.name || '' +} + +// 移除产品 +function removeProduct(productId: string) { + const index = formData.value.productIds.indexOf(productId) + if (index > -1) { + formData.value.productIds.splice(index, 1) + } +} + // 表单验证 function validateForm(): boolean { if (!formData.value.date) { @@ -154,13 +168,22 @@ onMounted(() => { - + 营销产品 - - - {{ formData.productIds.length > 0 ? `已选${formData.productIds.length}个` : '请选择' }} - - + + 请选择 + + + {{ getProductName(productId) }} + + + + @@ -293,6 +316,65 @@ onMounted(() => { } } + .product-tags-container { + display: flex; + align-items: center; + justify-content: space-between; + min-height: 40rpx; + + .placeholder { + color: #adb5bd; + font-size: 28rpx; + } + + .product-tags { + display: flex; + flex-wrap: wrap; + gap: 12rpx; + flex: 1; + margin-right: 16rpx; + + .product-tag { + display: inline-flex; + align-items: center; + background: linear-gradient(135deg, #e6f7ff 0%, #f0f9ff 100%); + border: 1rpx solid #bae7ff; + border-radius: 8rpx; + padding: 8rpx 16rpx; + font-size: 24rpx; + color: #0050b3; + + .tag-name { + margin-right: 8rpx; + } + + .tag-close { + display: flex; + align-items: center; + justify-content: center; + width: 28rpx; + height: 28rpx; + border-radius: 50%; + background: rgba(0, 80, 179, 0.1); + color: #0050b3; + font-size: 20rpx; + transition: all 0.2s; + + &:active { + background: rgba(0, 80, 179, 0.2); + transform: scale(0.9); + } + } + } + } + + .picker-icon { + color: #adb5bd; + font-size: 32rpx; + flex-shrink: 0; + } + } + .input { width: 100%; font-size: 28rpx;