diff --git a/components/ai-chat/ai-chat.vue b/components/ai-chat/ai-chat.vue new file mode 100644 index 0000000..20f91b5 --- /dev/null +++ b/components/ai-chat/ai-chat.vue @@ -0,0 +1,217 @@ + + + + + + \ No newline at end of file diff --git a/components/right-bar/right-bar.vue b/components/right-bar/right-bar.vue index 2ff85c4..7e535b6 100644 --- a/components/right-bar/right-bar.vue +++ b/components/right-bar/right-bar.vue @@ -22,13 +22,11 @@
  • - -
    - -
    - 在线客服 +
    +
    + +
    + AI 客服
  • @@ -66,6 +64,7 @@ + diff --git a/pages.json b/pages.json index 463de07..239c21d 100644 --- a/pages.json +++ b/pages.json @@ -424,7 +424,7 @@ "navigationBarTitleText": "加工商信息", "enablePullDownRefresh": false } - } + } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/contract/index.vue b/pages/contract/index.vue index d2140a5..5c0881a 100644 --- a/pages/contract/index.vue +++ b/pages/contract/index.vue @@ -1,1902 +1,2168 @@ + .buy-quote-mode-active { + border: 1px solid #a92924; + background-color: #f1c7c7; + color: #333; + } + + /* ===== 右侧悬浮工具栏 ===== */ + .float-toolbar { + position: fixed; + right: 20px; + top: 50%; + transform: translateY(-50%); + background: #fff; + border-radius: 12px; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12); + padding: 12px 0; + z-index: 100; + width: 72px; + } + + .float-toolbar .tool-item { + display: flex; + flex-direction: column; + align-items: center; + padding: 10px 8px; + cursor: pointer; + transition: all 0.2s; + } + + .float-toolbar .tool-item:hover { + background: #f6eae9; + } + + .float-toolbar .tool-item .tool-icon { + font-size: 22px; + margin-bottom: 4px; + } + + .float-toolbar .tool-item .tool-label { + font-size: 10px; + color: #666; + text-align: center; + line-height: 1.3; + } + + .float-toolbar .tool-divider { + height: 1px; + background: #eee; + margin: 4px 12px; + } + + .float-toolbar .tool-item.ai-hot { + position: relative; + } + + .float-toolbar .tool-item.ai-hot::after { + content: "AI"; + position: absolute; + top: 4px; + right: 8px; + background: #a92924; + color: #fff; + font-size: 8px; + padding: 1px 4px; + border-radius: 6px; + } + + /* ===== 新增AI功能菜单组 ===== */ + .menu-group-title { + padding: 8px 20px 4px; + font-size: 11px; + color: #999; + letter-spacing: 2px; + text-transform: uppercase; + } + + /* AI 客服嵌入样式 */ + .ai-chat-embed { + background: #fff; + border-radius: 8px; + display: flex; + flex-direction: column; + height: calc(100vh - 260px); + overflow: hidden; + } + .chat-header-bar { + padding: 14px 20px; + border-bottom: 1px solid #eee; + display: flex; + align-items: center; + justify-content: space-between; + } + .chat-title { font-size: 15px; font-weight: 600; } + .chat-subtitle { font-size: 12px; color: #999; } + .chat-msg-list { flex: 1; padding: 16px 20px; background: #f7f8fa; } + .chat-row { display: flex; gap: 10px; margin-bottom: 12px; } + .chat-row.right { flex-direction: row-reverse; } + .chat-avatar { + width: 32px; height: 32px; border-radius: 50%; + background: linear-gradient(135deg, #a92924, #d4574e); + display: flex; align-items: center; justify-content: center; + color: #fff; font-size: 14px; flex-shrink: 0; + } + .chat-bubble { + max-width: 65%; padding: 10px 14px; border-radius: 12px; + font-size: 13px; line-height: 1.6; word-break: break-word; + } + .chat-row:not(.right) .chat-bubble { background: #fff; border: 1px solid #eee; border-top-left-radius: 4px; } + .chat-row.right .chat-bubble { background: #a92924; color: #fff; border-top-right-radius: 4px; } + .chat-bubble.typing { color: #999; } + .quick-btns { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; } + .quick-btn { + padding: 5px 12px; border-radius: 14px; font-size: 12px; cursor: pointer; + border: 1px solid #a92924; color: #a92924; background: #fff; transition: all 0.2s; + } + .quick-btn:hover { background: #a92924; color: #fff; } + .chat-input-bar { + padding: 12px 20px; border-top: 1px solid #eee; + display: flex; gap: 10px; background: #fff; + } + .chat-input-bar input { + flex: 1; height: 38px; border: 1px solid #ddd; border-radius: 8px; + padding: 0 12px; font-size: 13px; outline: none; + } + .chat-input-bar input:focus { border-color: #a92924; } + .chat-send-btn { + padding: 0 20px; height: 38px; line-height: 38px; + background: #a92924; color: #fff; border-radius: 8px; + font-size: 13px; cursor: pointer; + } + .chat-send-btn:hover { background: #982520; } + \ No newline at end of file