feat: 为跟进记录和试用期容器新增动画效果、刷新按钮和分页功能,并调整了跟进记录表格结构及客户进度模态框的字段。

This commit is contained in:
zulifeng 2026-01-29 17:56:08 +08:00
parent db7646dbb1
commit 3de6cfd48d
2 changed files with 310 additions and 55 deletions

View File

@ -2362,6 +2362,10 @@ tr:hover .action-cell {
}
}
.animate-up {
animation: fadeIn 0.4s ease-out;
}
/* ==================== Weekly Summary Styles ==================== */
.weekly-summary-header {
display: flex;

View File

@ -322,7 +322,7 @@
</div>
</div>
<div class="card trial-periods-container">
<div class="card trial-periods-container animate-up">
<!-- 客户列表标头 -->
<div class="card-header">
<h3 class="card-title">
@ -512,6 +512,10 @@
<i class="fas fa-plus"></i>
添加跟进
</button>
<button id="refreshFollowupsBtn" class="btn-secondary">
<i class="fas fa-sync-alt"></i>
刷新
</button>
</div>
<!-- Follow-up Form -->
@ -564,7 +568,7 @@
<button type="submit" class="btn-primary">
<i class="fas fa-save"></i> 保存跟进记录
</button>
<button type="button" id="cancelFollowUpBtn" class="btn-secondary">
<button type="button" id="cancelFollowupBtn" class="btn-secondary">
取消
</button>
</div>
@ -572,7 +576,7 @@
</div>
</div>
<div class="card table-card">
<div class="card table-card animate-up">
<div class="card-header">
<h3><i class="fas fa-history"></i> 跟进记录</h3>
</div>
@ -582,17 +586,39 @@
<thead>
<tr>
<th>客户名称</th>
<th>跟进时间</th>
<th>跟进内容</th>
<th>客户级别</th>
<th>成交状态</th>
<th>下次跟进</th>
<th>客户级别</th>
<th>行业</th>
<th>跟进时间</th>
<th>通知状态</th>
<th>操作</th>
</tr>
</thead>
<tbody id="followupTableBody"></tbody>
</table>
</div>
<!-- Pagination for follow-ups -->
<div class="pagination">
<div class="pagination-info">
<span id="followupPaginationInfo">显示 0-0 共 0 条</span>
</div>
<div class="pagination-controls">
<button id="followupFirstPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-left"></i>
</button>
<button id="followupPrevPage" class="pagination-btn" disabled>
<i class="fas fa-angle-left"></i>
</button>
<div id="followupPageNumbers" class="page-numbers"></div>
<button id="followupNextPage" class="pagination-btn" disabled>
<i class="fas fa-angle-right"></i>
</button>
<button id="followupLastPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-right"></i>
</button>
</div>
</div>
</div>
</div>
</section>
@ -600,58 +626,62 @@
</div>
</div>
<!-- Modal for adding customer -->
<div id="customerModal" class="modal">
<!-- Modal for adding customer progress -->
<div id="createModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-user-plus"></i> 添加客户进度</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="customerForm">
<input type="hidden" id="customerId" />
<form id="createCustomerForm">
<input type="hidden" id="createCustomerId" />
<div class="form-row">
<div class="form-group">
<label for="customerName">客户名称 <span style="color: red">*</span></label>
<input type="text" id="customerName" name="customerName" placeholder="请输入客户名称" required />
<label for="createCustomerName">客户名称 <span style="color: red">*</span></label>
<select id="createCustomerName" name="customerName" required>
<option value="">请选择客户</option>
</select>
</div>
<div class="form-group">
<label for="consultationTime">咨询时间 <span style="color: red">*</span></label>
<input type="date" id="consultationTime" name="consultationTime" required />
<label for="createIntendedProduct">咨询时间 <span style="color: red">*</span></label>
<input type="date" id="createIntendedProduct" name="intendedProduct" required />
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="version">版本</label>
<input type="text" id="version" name="version" placeholder="如v1.0" />
<label for="createVersion">版本</label>
<input type="text" id="createVersion" name="version" placeholder="如v1.0" />
</div>
<div class="form-group">
<label for="type">类型 <span style="color: red">*</span></label>
<select id="type" name="type" required>
<label for="createType">类型 <span style="color: red">*</span></label>
<select id="createType" name="type" required>
<option value="">请选择类型</option>
<option value="私有化">私有化</option>
<option value="公有云">公有云</option>
<option value="其他">其他</option>
</select>
<input type="text" id="typeOther" name="typeOther" placeholder="请输入其他类型"
style="display: none; margin-top: 8px" />
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="module">模块</label>
<select id="module" name="module">
<label for="createModule">模块</label>
<select id="createModule" name="module">
<option value="">请选择模块</option>
<option value="数据闭环">数据闭环</option>
<option value="robogo">robogo</option>
<option value="数据生成">数据生成</option>
<option value="数据集">数据集</option>
<option value="数据空间">数据空间</option>
<option value="模型工坊">模型工坊</option>
<option value="模型广场">模型广场</option>
<option value="镜像管理">镜像管理</option>
<option value="其他">其他</option>
</select>
<input type="text" id="moduleOther" name="moduleOther" placeholder="请填写模块名称"
<input type="text" id="createModuleOther" name="moduleOther" placeholder="请填写模块名称"
style="display: none; margin-top: 8px" />
</div>
<div class="form-group">
<label for="statusProgress">状态与进度 <span style="color: red">*</span></label>
<select id="statusProgress" name="statusProgress" required>
<label for="createStatusProgress">状态与进度 <span style="color: red">*</span></label>
<select id="createStatusProgress" name="statusProgress" required>
<option value="">请选择状态</option>
<option value="已完成">已完成</option>
<option value="进行中">进行中</option>
@ -662,19 +692,19 @@
</div>
</div>
<div class="form-group">
<label for="description">描述</label>
<textarea id="description" name="description" rows="3" placeholder="请输入问题描述..."></textarea>
<label for="createDescription">描述</label>
<textarea id="createDescription" name="description" rows="3" placeholder="请输入问题描述..."></textarea>
</div>
<div class="form-group">
<label for="solution">解决方案</label>
<textarea id="solution" name="solution" rows="3" placeholder="请输入拟采取的解决方案..."></textarea>
<label for="createSolution">解决方案</label>
<textarea id="createSolution" name="solution" rows="3" placeholder="请输入拟采取的解决方案..."></textarea>
</div>
<div class="form-actions">
<button type="submit" class="btn-primary">
<i class="fas fa-save"></i>
保存
</button>
<button type="button" class="btn-secondary cancel">
<button type="button" class="btn-secondary cancel-create">
<i class="fas fa-times"></i>
取消
</button>
@ -684,6 +714,225 @@
</div>
</div>
<!-- Modal for editing customer progress -->
<div id="editModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-edit"></i> 编辑客户进度</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="editCustomerForm">
<input type="hidden" id="editCustomerId" />
<div class="form-row">
<div class="form-group">
<label for="editCustomerName">客户名称 <span style="color: red">*</span></label>
<input type="text" id="editCustomerName" name="customerName" readonly />
</div>
<div class="form-group">
<label for="editIntendedProduct">咨询时间 <span style="color: red">*</span></label>
<input type="date" id="editIntendedProduct" name="intendedProduct" required />
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="editVersion">版本</label>
<input type="text" id="editVersion" name="version" />
</div>
<div class="form-group">
<label for="editType">类型 <span style="color: red">*</span></label>
<select id="editType" name="type" required>
<option value="">请选择类型</option>
<option value="私有化">私有化</option>
<option value="公有云">公有云</option>
<option value="其他">其他</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="editModule">模块</label>
<select id="editModule" name="module">
<option value="">请选择模块</option>
<option value="数据生成">数据生成</option>
<option value="数据集">数据集</option>
<option value="数据空间">数据空间</option>
<option value="模型工坊">模型工坊</option>
<option value="模型广场">模型广场</option>
<option value="镜像管理">镜像管理</option>
<option value="其他">其他</option>
</select>
<input type="text" id="editModuleOther" name="moduleOther" placeholder="请填写模块名称"
style="display: none; margin-top: 8px" />
</div>
<div class="form-group">
<label for="editStatusProgress">状态与进度 <span style="color: red">*</span></label>
<select id="editStatusProgress" name="statusProgress" required>
<option value="">请选择状态</option>
<option value="已完成">已完成</option>
<option value="进行中">进行中</option>
<option value="待排期">待排期</option>
<option value="已驳回">已驳回</option>
<option value="已上线">已上线</option>
</select>
</div>
</div>
<div class="form-group">
<label for="editDescription">描述</label>
<textarea id="editDescription" name="description" rows="3"></textarea>
</div>
<div class="form-group">
<label for="editSolution">解决方案</label>
<textarea id="editSolution" name="solution" rows="3"></textarea>
</div>
<!-- Trial period details (Read-only reference) -->
<div class="trial-details-section" style="margin-top: 15px; padding-top: 15px; border-top: 1px dashed #eee;">
<h4><i class="fas fa-clock"></i> 试用时间参考</h4>
<div class="form-row">
<div class="form-group">
<label for="editTrialStart">开始时间</label>
<input type="datetime-local" id="editTrialStart" readonly />
</div>
<div class="form-group">
<label for="editTrialEnd">结束时间</label>
<input type="datetime-local" id="editTrialEnd" readonly />
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn-primary">
<i class="fas fa-save"></i>
更新
</button>
<button type="button" class="btn-secondary cancel-edit">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for adding follow-up -->
<div id="addFollowupModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-plus-circle"></i> 新增跟进记录</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="addFollowupModalForm">
<div class="form-row">
<div class="form-group">
<label for="addFollowupCustomerName">客户名称 <span style="color: red">*</span></label>
<select id="addFollowupCustomerName" name="customerName" required>
<option value="">请选择客户</option>
</select>
</div>
<div class="form-group">
<label for="addFollowupDealStatus">成交状态 <span style="color: red">*</span></label>
<select id="addFollowupDealStatus" name="dealStatus" required>
<option value="">请选择</option>
<option value="已成交">已成交</option>
<option value="未成交">未成交</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="addFollowupCustomerLevel">客户级别 <span style="color: red">*</span></label>
<select id="addFollowupCustomerLevel" name="customerLevel" required>
<option value="">请选择</option>
<option value="A">A级 (重点客户)</option>
<option value="B">B级 (潜在客户)</option>
<option value="C">C级 (一般客户)</option>
</select>
</div>
<div class="form-group">
<label for="addFollowupIndustry">行业</label>
<input type="text" id="addFollowupIndustry" name="industry" placeholder="请输入行业" />
</div>
</div>
<div class="form-group">
<label for="addFollowupTime">跟进时间 <span style="color: red">*</span></label>
<input type="datetime-local" id="addFollowupTime" name="followUpTime" required />
</div>
<div class="form-actions">
<button type="submit" class="btn-primary">
<i class="fas fa-save"></i>
保存
</button>
<button type="button" class="btn-secondary cancel-add-followup">
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for editing follow-up -->
<div id="editFollowupModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-edit"></i> 编辑跟进记录</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="editFollowupForm">
<input type="hidden" id="editFollowupId" />
<div class="form-row">
<div class="form-group">
<label for="editFollowupCustomerName">客户名称 <span style="color: red">*</span></label>
<select id="editFollowupCustomerName" name="customerName" required>
<option value="">请选择客户</option>
</select>
</div>
<div class="form-group">
<label for="editFollowupDealStatus">成交状态 <span style="color: red">*</span></label>
<select id="editFollowupDealStatus" name="dealStatus" required>
<option value="">请选择</option>
<option value="已成交">已成交</option>
<option value="未成交">未成交</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="editFollowupCustomerLevel">客户级别 <span style="color: red">*</span></label>
<select id="editFollowupCustomerLevel" name="customerLevel" required>
<option value="">请选择</option>
<option value="A">A级 (重点客户)</option>
<option value="B">B级 (潜在客户)</option>
<option value="C">C级 (一般客户)</option>
</select>
</div>
<div class="form-group">
<label for="editFollowupIndustry">行业</label>
<input type="text" id="editFollowupIndustry" name="industry" />
</div>
</div>
<div class="form-group">
<label for="editFollowupTime">跟进时间 <span style="color: red">*</span></label>
<input type="datetime-local" id="editFollowupTime" name="followUpTime" required />
</div>
<div class="form-actions">
<button type="submit" class="btn-primary">
<i class="fas fa-save"></i>
更新
</button>
<button type="button" class="btn-secondary cancel-edit-followup">
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for CSV Import -->
<div id="importModal" class="modal">
<div class="modal-content">
@ -692,6 +941,7 @@
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="importFileForm">
<div class="import-instructions">
<p>请选择包含以下列的CSV文件</p>
<ul>
@ -701,12 +951,12 @@
</div>
<div class="file-upload">
<i class="fas fa-cloud-upload-alt"></i>
<p>点击或拖拽文件到此处</p>
<input type="file" id="csvFileInput" accept=".csv" />
<p id="fileName">选择文件...</p>
<input type="file" id="importFile" accept=".csv" />
</div>
<div id="importStatus" style="margin-top: 15px"></div>
<div class="form-actions">
<button id="confirmImportBtn" class="btn-primary" disabled>
<button type="submit" id="confirmImportBtn" class="btn-primary">
<i class="fas fa-check"></i>
开始导入
</button>
@ -714,6 +964,7 @@
取消
</button>
</div>
</form>
</div>
</div>
</div>