faq.html 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>FAQ & 问题解答 - 映三色项目报告</title>
  7. <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
  8. <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  9. <link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.min.css" rel="stylesheet">
  10. <style>
  11. :root {
  12. --primary-color: #00d4ff;
  13. --secondary-color: #0099cc;
  14. --dark-bg: #0a0a0a;
  15. --card-bg: #1a1a1a;
  16. --text-primary: #ffffff;
  17. --text-secondary: #cccccc;
  18. --success-color: #28a745;
  19. --warning-color: #ffc107;
  20. --danger-color: #dc3545;
  21. --info-color: #17a2b8;
  22. }
  23. body {
  24. background: var(--dark-bg);
  25. color: var(--text-primary);
  26. font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  27. }
  28. .header {
  29. background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  30. padding: 20px 0;
  31. border-bottom: 2px solid var(--primary-color);
  32. }
  33. .faq-container {
  34. max-width: 1200px;
  35. margin: 0 auto;
  36. padding: 40px 20px;
  37. }
  38. .faq-category {
  39. background: rgba(26, 26, 26, 0.9);
  40. border-radius: 15px;
  41. margin-bottom: 30px;
  42. overflow: hidden;
  43. border: 1px solid rgba(0, 212, 255, 0.2);
  44. transition: all 0.3s ease;
  45. }
  46. .faq-category:hover {
  47. transform: translateY(-5px);
  48. box-shadow: 0 15px 30px rgba(0, 212, 255, 0.1);
  49. }
  50. .category-header {
  51. background: linear-gradient(135deg, var(--primary-color) 0%, #667eea 100%);
  52. color: white;
  53. padding: 20px 30px;
  54. cursor: pointer;
  55. display: flex;
  56. justify-content: space-between;
  57. align-items: center;
  58. }
  59. .category-content {
  60. padding: 0;
  61. max-height: 0;
  62. overflow: hidden;
  63. transition: all 0.3s ease;
  64. }
  65. .category-content.active {
  66. max-height: none;
  67. padding: 30px;
  68. }
  69. .faq-item {
  70. background: rgba(0, 0, 0, 0.3);
  71. border-radius: 10px;
  72. margin-bottom: 20px;
  73. overflow: hidden;
  74. border: 1px solid rgba(0, 212, 255, 0.2);
  75. }
  76. .faq-question {
  77. padding: 20px;
  78. cursor: pointer;
  79. display: flex;
  80. justify-content: space-between;
  81. align-items: center;
  82. transition: all 0.3s ease;
  83. background: rgba(0, 212, 255, 0.05);
  84. }
  85. .faq-question:hover {
  86. background: rgba(0, 212, 255, 0.1);
  87. }
  88. .faq-question h5 {
  89. margin: 0;
  90. color: var(--primary-color);
  91. font-weight: 600;
  92. }
  93. .faq-answer {
  94. padding: 0 20px;
  95. max-height: 0;
  96. overflow: hidden;
  97. transition: all 0.3s ease;
  98. background: rgba(0, 0, 0, 0.2);
  99. }
  100. .faq-answer.active {
  101. padding: 20px;
  102. max-height: none;
  103. }
  104. .faq-answer p {
  105. color: var(--text-secondary);
  106. line-height: 1.6;
  107. margin-bottom: 15px;
  108. }
  109. .faq-answer ul {
  110. color: var(--text-secondary);
  111. padding-left: 20px;
  112. }
  113. .faq-answer li {
  114. margin-bottom: 8px;
  115. }
  116. .highlight-box {
  117. background: rgba(255, 193, 7, 0.1);
  118. border-left: 4px solid var(--warning-color);
  119. padding: 15px;
  120. margin: 15px 0;
  121. border-radius: 0 8px 8px 0;
  122. }
  123. .solution-box {
  124. background: rgba(40, 167, 69, 0.1);
  125. border-left: 4px solid var(--success-color);
  126. padding: 15px;
  127. margin: 15px 0;
  128. border-radius: 0 8px 8px 0;
  129. }
  130. .warning-box {
  131. background: rgba(220, 53, 69, 0.1);
  132. border-left: 4px solid var(--danger-color);
  133. padding: 15px;
  134. margin: 15px 0;
  135. border-radius: 0 8px 8px 0;
  136. }
  137. .toggle-icon {
  138. transition: transform 0.3s ease;
  139. color: white;
  140. }
  141. .toggle-icon.rotated {
  142. transform: rotate(180deg);
  143. }
  144. .back-btn {
  145. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  146. border: none;
  147. color: white;
  148. padding: 10px 20px;
  149. border-radius: 25px;
  150. text-decoration: none;
  151. display: inline-flex;
  152. align-items: center;
  153. transition: all 0.3s ease;
  154. }
  155. .back-btn:hover {
  156. transform: translateY(-2px);
  157. box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
  158. color: white;
  159. }
  160. .stats-overview {
  161. display: grid;
  162. grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  163. gap: 20px;
  164. margin-bottom: 40px;
  165. }
  166. .stat-card {
  167. background: rgba(26, 26, 26, 0.8);
  168. border-radius: 10px;
  169. padding: 25px;
  170. text-align: center;
  171. border: 1px solid rgba(0, 212, 255, 0.3);
  172. transition: all 0.3s ease;
  173. }
  174. .stat-card:hover {
  175. transform: translateY(-5px);
  176. box-shadow: 0 10px 25px rgba(0, 212, 255, 0.2);
  177. }
  178. .stat-number {
  179. font-size: 2.5rem;
  180. font-weight: bold;
  181. background: linear-gradient(45deg, var(--primary-color), #667eea);
  182. -webkit-background-clip: text;
  183. -webkit-text-fill-color: transparent;
  184. display: block;
  185. margin-bottom: 10px;
  186. }
  187. .stat-label {
  188. color: var(--text-secondary);
  189. font-size: 0.9rem;
  190. }
  191. .search-box {
  192. background: rgba(26, 26, 26, 0.8);
  193. border-radius: 10px;
  194. padding: 20px;
  195. margin-bottom: 30px;
  196. border: 1px solid rgba(0, 212, 255, 0.3);
  197. }
  198. .search-input {
  199. background: rgba(0, 0, 0, 0.5);
  200. border: 1px solid rgba(0, 212, 255, 0.3);
  201. border-radius: 25px;
  202. color: var(--text-primary);
  203. padding: 12px 20px;
  204. width: 100%;
  205. }
  206. .search-input:focus {
  207. outline: none;
  208. border-color: var(--primary-color);
  209. box-shadow: 0 0 0 0.2rem rgba(0, 212, 255, 0.25);
  210. background: rgba(0, 0, 0, 0.7);
  211. color: var(--text-primary);
  212. }
  213. .search-input::placeholder {
  214. color: var(--text-secondary);
  215. }
  216. @media (max-width: 768px) {
  217. .faq-container {
  218. padding: 20px 10px;
  219. }
  220. .category-header {
  221. padding: 15px 20px;
  222. }
  223. .category-content.active {
  224. padding: 20px;
  225. }
  226. .stats-overview {
  227. grid-template-columns: repeat(2, 1fr);
  228. }
  229. }
  230. </style>
  231. </head>
  232. <body>
  233. <header class="header">
  234. <div class="container">
  235. <nav class="breadcrumb">
  236. <a class="breadcrumb-item" href="index.html" style="color: var(--primary-color); text-decoration: none;">
  237. <i class="fas fa-home me-2"></i>首页
  238. </a>
  239. <span class="breadcrumb-item active" style="color: var(--text-secondary);">FAQ & 问题解答</span>
  240. </nav>
  241. <div class="d-flex justify-content-between align-items-center mt-3">
  242. <h1 class="mb-0">
  243. <i class="fas fa-question-circle me-2"></i>FAQ & 问题解答
  244. </h1>
  245. <a href="index.html" class="back-btn">
  246. <i class="fas fa-arrow-left me-2"></i>返回首页
  247. </a>
  248. </div>
  249. </div>
  250. </header>
  251. <div class="faq-container">
  252. <!-- 统计概览 -->
  253. <div class="stats-overview animate__animated animate__fadeIn">
  254. <div class="stat-card">
  255. <span class="stat-number">5</span>
  256. <div class="stat-label">主要问题类别</div>
  257. </div>
  258. <div class="stat-card">
  259. <span class="stat-number">25+</span>
  260. <div class="stat-label">常见问题</div>
  261. </div>
  262. <div class="stat-card">
  263. <span class="stat-number">95%</span>
  264. <div class="stat-label">问题覆盖率</div>
  265. </div>
  266. <div class="stat-card">
  267. <span class="stat-number">3分钟</span>
  268. <div class="stat-label">平均解答时间</div>
  269. </div>
  270. </div>
  271. <!-- 搜索框 -->
  272. <div class="search-box animate__animated animate__fadeIn animate__delay-1s">
  273. <div class="d-flex align-items-center">
  274. <i class="fas fa-search me-3" style="color: var(--primary-color);"></i>
  275. <input type="text" class="search-input" placeholder="搜索问题关键词..." id="searchInput">
  276. </div>
  277. </div>
  278. <!-- 项目流程悖论 -->
  279. <div class="faq-category animate__animated animate__fadeInUp">
  280. <div class="category-header" onclick="toggleCategory(this)">
  281. <h3><i class="fas fa-exclamation-triangle me-2"></i>项目流程的悖论与矛盾</h3>
  282. <i class="fas fa-chevron-down toggle-icon"></i>
  283. </div>
  284. <div class="category-content">
  285. <div class="faq-item">
  286. <div class="faq-question" onclick="toggleFAQ(this)">
  287. <h5>为什么内部SOP很复杂,但客户只是想看效果图?</h5>
  288. <i class="fas fa-chevron-down toggle-icon"></i>
  289. </div>
  290. <div class="faq-answer">
  291. <div class="highlight-box">
  292. <strong>核心矛盾:</strong>内部质量控制需求 vs 客户简单需求
  293. </div>
  294. <p>这是映三色面临的主要业务悖论。内部建立了复杂的SOP流程来确保设计质量和项目管控,但大部分客户购买效果图的目的相对简单。</p>
  295. <div class="solution-box">
  296. <strong>解决方案:</strong>
  297. <ul>
  298. <li><strong>双轨制服务:</strong>为不同类型客户提供差异化服务</li>
  299. <li><strong>简化客户体验:</strong>复杂流程在后台执行,客户界面保持简洁</li>
  300. <li><strong>透明度选择:</strong>让客户选择参与流程的深度</li>
  301. </ul>
  302. </div>
  303. </div>
  304. </div>
  305. <div class="faq-item">
  306. <div class="faq-question" onclick="toggleFAQ(this)">
  307. <h5>客户拿效果图主要用来做什么?</h5>
  308. <i class="fas fa-chevron-down toggle-icon"></i>
  309. </div>
  310. <div class="faq-answer">
  311. <p>根据会议分析,客户使用效果图的主要场景包括:</p>
  312. <ul>
  313. <li><strong>谈单签约(占更多比例):</strong>用于展示设计效果,帮助签署装修合同</li>
  314. <li><strong>施工执行:</strong>作为施工指导,确保实际效果与设计一致</li>
  315. </ul>
  316. <div class="highlight-box">
  317. <strong>业务启示:</strong>大部分客户更关注视觉效果和营销价值,而非技术细节
  318. </div>
  319. </div>
  320. </div>
  321. <div class="faq-item">
  322. <div class="faq-question" onclick="toggleFAQ(this)">
  323. <h5>未来趋势如何影响业务模式?</h5>
  324. <i class="fas fa-chevron-down toggle-icon"></i>
  325. </div>
  326. <div class="faq-answer">
  327. <div class="solution-box">
  328. <strong>未来业务趋势:</strong>
  329. <ul>
  330. <li><strong>中低价格市场:</strong>AI出效果图,注重速度和成本效益</li>
  331. <li><strong>高端项目市场:</strong>精准控制,完整建模项目流程</li>
  332. </ul>
  333. </div>
  334. <p>这要求映三色建立差异化的服务体系,既能满足快速出图需求,又能保持高端定制服务的竞争优势。</p>
  335. </div>
  336. </div>
  337. </div>
  338. </div>
  339. <!-- 系统功能相关 -->
  340. <div class="faq-category animate__animated animate__fadeInUp animate__delay-1s">
  341. <div class="category-header" onclick="toggleCategory(this)">
  342. <h3><i class="fas fa-cogs me-2"></i>系统功能相关</h3>
  343. <i class="fas fa-chevron-down toggle-icon"></i>
  344. </div>
  345. <div class="category-content">
  346. <div class="faq-item">
  347. <div class="faq-question" onclick="toggleFAQ(this)">
  348. <h5>为什么要移除项目详情的单独导航?</h5>
  349. <i class="fas fa-chevron-down toggle-icon"></i>
  350. </div>
  351. <div class="faq-answer">
  352. <p>会议决定采用全局统一的项目详情页面设计,主要原因:</p>
  353. <ul>
  354. <li><strong>简化导航结构:</strong>减少菜单复杂度,提升用户体验</li>
  355. <li><strong>统一用户体验:</strong>所有端口使用相同的项目详情页面</li>
  356. <li><strong>便于维护:</strong>一套代码多端复用,降低开发成本</li>
  357. <li><strong>信息一致性:</strong>确保不同端口看到的项目信息完全一致</li>
  358. </ul>
  359. <div class="solution-box">
  360. <strong>实现方式:</strong>通过项目列表点击进入详情页,而不是独立的导航入口
  361. </div>
  362. </div>
  363. </div>
  364. <div class="faq-item">
  365. <div class="faq-question" onclick="toggleFAQ(this)">
  366. <h5>企业微信集成需要实现哪些功能?</h5>
  367. <i class="fas fa-chevron-down toggle-icon"></i>
  368. </div>
  369. <div class="faq-answer">
  370. <p>企业微信集成是提升工作效率的关键技术点:</p>
  371. <ul>
  372. <li><strong>信息同步:</strong>同步企业微信中的客户和项目信息</li>
  373. <li><strong>快速跳转:</strong>点击客户名称直接跳转到对应聊天窗口</li>
  374. <li><strong>状态管理:</strong>在系统中直接设置休息状态,同步到企业微信</li>
  375. <li><strong>消息提醒:</strong>重要项目状态变更自动推送企业微信消息</li>
  376. </ul>
  377. <div class="highlight-box">
  378. <strong>技术要求:</strong>需要调用企业微信API,确保数据安全和实时同步
  379. </div>
  380. </div>
  381. </div>
  382. <div class="faq-item">
  383. <div class="faq-question" onclick="toggleFAQ(this)">
  384. <h5>小程序创建订单与人工创建有什么区别?</h5>
  385. <i class="fas fa-chevron-down toggle-icon"></i>
  386. </div>
  387. <div class="faq-answer">
  388. <div class="solution-box">
  389. <strong>小程序创建订单:</strong>
  390. <ul>
  391. <li>自动同步项目信息和客户信息</li>
  392. <li>减少人工录入错误</li>
  393. <li>提高订单分配效率</li>
  394. <li>客户信息已预填充</li>
  395. </ul>
  396. </div>
  397. <div class="highlight-box">
  398. <strong>人工手动创建:</strong>
  399. <ul>
  400. <li>适用于特殊情况和定制需求</li>
  401. <li>需要手动填写项目信息(风格、小组、首付款、首稿时间)</li>
  402. <li>客户信息:姓名、手机号必填,新客户需要填写详细信息</li>
  403. <li>灵活性更高,可处理复杂订单</li>
  404. </ul>
  405. </div>
  406. <p><strong>建议:</strong>优先使用小程序创建,特殊情况才使用人工创建。</p>
  407. </div>
  408. </div>
  409. </div>
  410. </div>
  411. <!-- 人员管理相关 -->
  412. <div class="faq-category animate__animated animate__fadeInUp animate__delay-2s">
  413. <div class="category-header" onclick="toggleCategory(this)">
  414. <h3><i class="fas fa-users me-2"></i>人员管理相关</h3>
  415. <i class="fas fa-chevron-down toggle-icon"></i>
  416. </div>
  417. <div class="category-content">
  418. <div class="faq-item">
  419. <div class="faq-question" onclick="toggleFAQ(this)">
  420. <h5>设计师休息管理如何优化?</h5>
  421. <i class="fas fa-chevron-down toggle-icon"></i>
  422. </div>
  423. <div class="faq-answer">
  424. <p>当前存在的问题:70-80%的设计师不主动报备休息状态,影响项目安排。</p>
  425. <div class="solution-box">
  426. <strong>优化方案:</strong>
  427. <ul>
  428. <li><strong>简化操作:</strong>组员工作台直接点击休息,选择时间即可</li>
  429. <li><strong>移动支持:</strong>支持企业微信手机端操作,随时随地设置</li>
  430. <li><strong>智能提醒:</strong>项目积压过多时,系统提示联系组长协调</li>
  431. <li><strong>审核机制:</strong>有紧急项目时需要组长审核才能休息</li>
  432. </ul>
  433. </div>
  434. <div class="warning-box">
  435. <strong>特殊情况:</strong>客服人员休息需要设置代班客服,确保客户服务不中断
  436. </div>
  437. </div>
  438. </div>
  439. <div class="faq-item">
  440. <div class="faq-question" onclick="toggleFAQ(this)">
  441. <h5>如何区分劳动关系和劳务关系员工管理?</h5>
  442. <i class="fas fa-chevron-down toggle-icon"></i>
  443. </div>
  444. <div class="faq-answer">
  445. <div class="solution-box">
  446. <strong>劳动关系(全职员工):</strong>
  447. <ul>
  448. <li>每日上班严格管理</li>
  449. <li>标准考勤制度</li>
  450. <li>固定工作时间和地点</li>
  451. <li>完整的社保福利</li>
  452. </ul>
  453. </div>
  454. <div class="highlight-box">
  455. <strong>劳务关系(外包人员):</strong>
  456. <ul>
  457. <li>标记是否可以接单状态(开放中/暂停接单)</li>
  458. <li>工作状态评定(能力技能、项目质量)</li>
  459. <li>灵活的工作安排</li>
  460. <li>按项目结算报酬</li>
  461. </ul>
  462. </div>
  463. <p><strong>管理要点:</strong>系统需要支持不同类型员工的差异化管理模式。</p>
  464. </div>
  465. </div>
  466. <div class="faq-item">
  467. <div class="faq-question" onclick="toggleFAQ(this)">
  468. <h5>721绩效考核体系如何实施?</h5>
  469. <i class="fas fa-chevron-down toggle-icon"></i>
  470. </div>
  471. <div class="faq-answer">
  472. <p>721绩效考核是组长端的重要功能,支持多维度、多周期的绩效评估:</p>
  473. <div class="solution-box">
  474. <strong>考核维度分配:</strong>
  475. <ul>
  476. <li><strong>70% - 业绩表现:</strong>项目完成质量、客户满意度、交付及时性</li>
  477. <li><strong>20% - 能力发展:</strong>技能提升、学习成长、创新表现</li>
  478. <li><strong>10% - 团队协作:</strong>沟通配合、知识分享、团队贡献</li>
  479. </ul>
  480. </div>
  481. <div class="highlight-box">
  482. <strong>考核周期:</strong>
  483. <ul>
  484. <li>月度考核:及时反馈和调整</li>
  485. <li>季度考核:阶段性总结和规划</li>
  486. <li>年度考核:综合评价和晋升决策</li>
  487. </ul>
  488. </div>
  489. </div>
  490. </div>
  491. </div>
  492. </div>
  493. <!-- 项目流程相关 -->
  494. <div class="faq-category animate__animated animate__fadeInUp animate__delay-3s">
  495. <div class="category-header" onclick="toggleCategory(this)">
  496. <h3><i class="fas fa-project-diagram me-2"></i>项目流程相关</h3>
  497. <i class="fas fa-chevron-down toggle-icon"></i>
  498. </div>
  499. <div class="category-content">
  500. <div class="faq-item">
  501. <div class="faq-question" onclick="toggleFAQ(this)">
  502. <h5>哪些信息是项目必备的基础信息?</h5>
  503. <i class="fas fa-chevron-down toggle-icon"></i>
  504. </div>
  505. <div class="faq-answer">
  506. <div class="warning-box">
  507. <strong>必备基础信息(没有不能开始项目):</strong>
  508. <ul>
  509. <li>平面图</li>
  510. <li>立面/天花图</li>
  511. <li>参考图</li>
  512. <li>作图标准</li>
  513. <li>高端图/中端图规格</li>
  514. <li>小图时间(效果图交付时间)</li>
  515. <li>风格要求</li>
  516. </ul>
  517. </div>
  518. <div class="solution-box">
  519. <strong>扩展需求补充(影响交付质量):</strong>
  520. <ul>
  521. <li>大图时间</li>
  522. <li>软装色彩参考图</li>
  523. <li>CAD立面/天花(一个月只有一两个没有CAD的)</li>
  524. <li>细节的形状与结构</li>
  525. </ul>
  526. </div>
  527. </div>
  528. </div>
  529. <div class="faq-item">
  530. <div class="faq-question" onclick="toggleFAQ(this)">
  531. <h5>什么情况下需要拉群确认方案?</h5>
  532. <i class="fas fa-chevron-down toggle-icon"></i>
  533. </div>
  534. <div class="faq-answer">
  535. <p>拉群进行派单和方案细节确认的判断标准:</p>
  536. <ul>
  537. <li><strong>不需要拉群:</strong>CAD、参考图完整,信息清晰明确</li>
  538. <li><strong>需要拉群:</strong>立面做法不明确、天花设计复杂、整体氛围需求模糊</li>
  539. </ul>
  540. <div class="highlight-box">
  541. <strong>拉群讨论内容:</strong>
  542. <ul>
  543. <li>立面具体做法</li>
  544. <li>天花设计方案</li>
  545. <li>整体氛围需求确认</li>
  546. <li>特殊材质和工艺要求</li>
  547. </ul>
  548. </div>
  549. </div>
  550. </div>
  551. <div class="faq-item">
  552. <div class="faq-question" onclick="toggleFAQ(this)">
  553. <h5>客户确认环节如何优化?</h5>
  554. <i class="fas fa-chevron-down toggle-icon"></i>
  555. </div>
  556. <div class="faq-answer">
  557. <p>根据客户类型采用不同的确认策略:</p>
  558. <div class="solution-box">
  559. <strong>专业客户:</strong>
  560. <ul>
  561. <li>建模阶段:发送截图确认空间、结构、形状</li>
  562. <li>软装阶段:确认家具摆放和选品方向</li>
  563. <li>渲染阶段:小图确认氛围、细节、软装效果</li>
  564. </ul>
  565. </div>
  566. <div class="warning-box">
  567. <strong>非专业客户:</strong>
  568. <ul>
  569. <li>建模阶段:建议不要确认,避免增加麻烦</li>
  570. <li>重点在小图阶段确认最终效果</li>
  571. <li>减少中间环节,提高效率</li>
  572. </ul>
  573. </div>
  574. </div>
  575. </div>
  576. </div>
  577. </div>
  578. <!-- 技术实现相关 -->
  579. <div class="faq-category animate__animated animate__fadeInUp animate__delay-4s">
  580. <div class="category-header" onclick="toggleCategory(this)">
  581. <h3><i class="fas fa-code me-2"></i>技术实现相关</h3>
  582. <i class="fas fa-chevron-down toggle-icon"></i>
  583. </div>
  584. <div class="category-content">
  585. <div class="faq-item">
  586. <div class="faq-question" onclick="toggleFAQ(this)">
  587. <h5>敏感词识别如何提升响应速度?</h5>
  588. <i class="fas fa-chevron-down toggle-icon"></i>
  589. </div>
  590. <div class="faq-answer">
  591. <p>当前问题:敏感词(发手机、发邮箱、找不到人、群里没有回复)识别不够及时。</p>
  592. <div class="solution-box">
  593. <strong>优化方案:</strong>
  594. <ul>
  595. <li><strong>实时监控:</strong>企业微信消息实时扫描敏感词</li>
  596. <li><strong>智能提醒:</strong>昨天十点客户发消息,今天十二点没回复就提示</li>
  597. <li><strong>时间阈值:</strong>设置1小时未回复的自动提醒</li>
  598. <li><strong>分级处理:</strong>不同敏感词采用不同的处理优先级</li>
  599. </ul>
  600. </div>
  601. <div class="highlight-box">
  602. <strong>技术实现:</strong>需要集成自然语言处理和实时消息监控功能
  603. </div>
  604. </div>
  605. </div>
  606. <div class="faq-item">
  607. <div class="faq-question" onclick="toggleFAQ(this)">
  608. <h5>案例库的分享统计功能如何实现?</h5>
  609. <i class="fas fa-chevron-down toggle-icon"></i>
  610. </div>
  611. <div class="faq-answer">
  612. <p>案例库需要支持多维度的分享和统计功能:</p>
  613. <div class="solution-box">
  614. <strong>分享功能:</strong>
  615. <ul>
  616. <li>弹出二维码分享</li>
  617. <li>复制链接分享</li>
  618. <li>社交媒体分享</li>
  619. <li>微信小程序分享</li>
  620. </ul>
  621. </div>
  622. <div class="highlight-box">
  623. <strong>统计维度:</strong>
  624. <ul>
  625. <li>转发次数统计</li>
  626. <li>客户点赞收藏</li>
  627. <li>浏览时长分析</li>
  628. <li>客户关注行为跟踪</li>
  629. </ul>
  630. </div>
  631. <div class="warning-box">
  632. <strong>隐私保护:</strong>设计师信息对外部不显示,避免档期问题
  633. </div>
  634. </div>
  635. </div>
  636. <div class="faq-item">
  637. <div class="faq-question" onclick="toggleFAQ(this)">
  638. <h5>大图渲染的4K标准如何确保?</h5>
  639. <i class="fas fa-chevron-down toggle-icon"></i>
  640. </div>
  641. <div class="faq-answer">
  642. <p>大图渲染是项目交付的关键环节,需要严格的质量标准:</p>
  643. <div class="solution-box">
  644. <strong>技术标准:</strong>
  645. <ul>
  646. <li><strong>分辨率:</strong>最长边像素达到4000以上</li>
  647. <li><strong>清晰度:</strong>相当于4K清晰度,支持打印到工地</li>
  648. <li><strong>细节:</strong>放大后能清楚看到细节</li>
  649. <li><strong>时间:</strong>每张渲染6-8小时</li>
  650. </ul>
  651. </div>
  652. <div class="highlight-box">
  653. <strong>质量控制:</strong>
  654. <ul>
  655. <li>自动检测图片分辨率</li>
  656. <li>色彩准确性验证</li>
  657. <li>文件格式标准化</li>
  658. <li>渲染时间监控</li>
  659. </ul>
  660. </div>
  661. </div>
  662. </div>
  663. </div>
  664. </div>
  665. </div>
  666. <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
  667. <script>
  668. // 切换类别显示/隐藏
  669. function toggleCategory(header) {
  670. const content = header.nextElementSibling;
  671. const icon = header.querySelector('.toggle-icon');
  672. content.classList.toggle('active');
  673. icon.classList.toggle('rotated');
  674. }
  675. // 切换FAQ项显示/隐藏
  676. function toggleFAQ(question) {
  677. const answer = question.nextElementSibling;
  678. const icon = question.querySelector('.toggle-icon');
  679. answer.classList.toggle('active');
  680. icon.classList.toggle('rotated');
  681. }
  682. // 搜索功能
  683. document.getElementById('searchInput').addEventListener('input', function(e) {
  684. const searchTerm = e.target.value.toLowerCase();
  685. const faqItems = document.querySelectorAll('.faq-item');
  686. faqItems.forEach(item => {
  687. const question = item.querySelector('.faq-question h5').textContent.toLowerCase();
  688. const answer = item.querySelector('.faq-answer').textContent.toLowerCase();
  689. if (question.includes(searchTerm) || answer.includes(searchTerm)) {
  690. item.style.display = 'block';
  691. // 高亮搜索结果
  692. if (searchTerm) {
  693. item.style.background = 'rgba(0, 212, 255, 0.1)';
  694. item.style.border = '1px solid var(--primary-color)';
  695. } else {
  696. item.style.background = '';
  697. item.style.border = '';
  698. }
  699. } else {
  700. item.style.display = searchTerm ? 'none' : 'block';
  701. item.style.background = '';
  702. item.style.border = '';
  703. }
  704. });
  705. // 显示/隐藏类别
  706. const categories = document.querySelectorAll('.faq-category');
  707. categories.forEach(category => {
  708. const visibleItems = category.querySelectorAll('.faq-item[style*="display: block"], .faq-item:not([style*="display: none"])');
  709. if (searchTerm && visibleItems.length === 0) {
  710. category.style.display = 'none';
  711. } else {
  712. category.style.display = 'block';
  713. }
  714. });
  715. });
  716. // 初始化第一个类别展开
  717. document.addEventListener('DOMContentLoaded', function() {
  718. const firstCategory = document.querySelector('.faq-category .category-content');
  719. const firstIcon = document.querySelector('.faq-category .toggle-icon');
  720. if (firstCategory && firstIcon) {
  721. firstCategory.classList.add('active');
  722. firstIcon.classList.add('rotated');
  723. }
  724. // 统计数字动画
  725. animateNumbers();
  726. });
  727. function animateNumbers() {
  728. const numbers = document.querySelectorAll('.stat-number');
  729. numbers.forEach(num => {
  730. const text = num.textContent;
  731. const hasPercent = text.includes('%');
  732. const hasPlus = text.includes('+');
  733. const finalNumber = parseInt(text);
  734. if (!isNaN(finalNumber)) {
  735. let current = 0;
  736. const increment = finalNumber / 30;
  737. const timer = setInterval(() => {
  738. current += increment;
  739. if (current >= finalNumber) {
  740. num.textContent = finalNumber + (hasPercent ? '%' : '') + (hasPlus ? '+' : '') + (text.includes('分钟') ? '分钟' : '');
  741. clearInterval(timer);
  742. } else {
  743. num.textContent = Math.floor(current) + (hasPercent ? '%' : '') + (hasPlus ? '+' : '');
  744. }
  745. }, 50);
  746. }
  747. });
  748. }
  749. // 滚动到搜索结果
  750. function scrollToFirstResult() {
  751. const visibleItem = document.querySelector('.faq-item[style*="background"]');
  752. if (visibleItem) {
  753. visibleItem.scrollIntoView({ behavior: 'smooth', block: 'center' });
  754. }
  755. }
  756. // 回车键搜索
  757. document.getElementById('searchInput').addEventListener('keypress', function(e) {
  758. if (e.key === 'Enter') {
  759. scrollToFirstResult();
  760. }
  761. });
  762. </script>
  763. </body>
  764. </html>