crm/frontend/index.html
2026-01-16 18:59:19 +08:00

881 lines
46 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CRM客户管理系统</title>
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script>
</head>
<body>
<div class="app-container">
<!-- Sidebar -->
<aside class="sidebar" id="sidebar">
<div class="sidebar-header">
<div class="logo">
<svg width="24" height="24" viewBox="0 0 50 43" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M30.8799 0.0634766C32.1561 0.191098 35.0914 0.25518 40.1953 3.12598C46.9838 7.51557 49.4463 14.7383 49.8291 17.8008C50.297 20.8846 50.084 28.5324 45.4902 34.4531C40.8966 40.3736 33.8362 42.194 30.8799 42.3643H9.95215V31.1357C4.45541 31.1354 0 26.6803 0 21.1836C2.62861e-05 15.6869 4.45542 11.2308 9.95215 11.2305V0H30.8799V0.0634766ZM30.8799 11.3564C28.7219 11.1986 15.882 11.302 11.4531 11.3428C16.2383 12.0662 19.9062 16.1966 19.9062 21.1836C19.9062 26.1365 16.288 30.2432 11.5508 31.0078H30.8799C33.2407 30.4973 39.1744 27.7535 38.6641 20.2891C38.2557 14.3174 33.3045 11.8457 30.8799 11.3564Z"
fill="currentColor"></path>
</svg>
<span>CRM系统</span>
</div>
<button class="sidebar-toggle" id="sidebarToggle" title="收起侧边栏">
<i class="fas fa-chevron-left"></i>
</button>
</div>
<nav class="sidebar-nav">
<!-- 数据概览分组 -->
<div class="nav-group">
<div class="nav-group-title">
<i class="fas fa-chart-bar"></i>
<span>数据概览</span>
</div>
<a href="#" class="nav-item active" data-section="dashboard">
<i class="fas fa-chart-line"></i>
<span>数据仪表板</span>
</a>
</div>
<!-- 客户管理分组 -->
<div class="nav-group">
<div class="nav-group-title">
<i class="fas fa-users"></i>
<span>客户管理</span>
</div>
<a href="#" class="nav-item" data-section="trialPeriods">
<i class="fas fa-clock"></i>
<span>客户信息</span>
</a>
<a href="#" class="nav-item" data-section="customer">
<i class="fas fa-user-plus"></i>
<span>每周进度</span>
</a>
<a href="#" class="nav-item" data-section="followup">
<i class="fas fa-tasks"></i>
<span>客户跟进</span>
</a>
</div>
</nav>
<div class="sidebar-footer">
<div class="user-info">
<i class="fas fa-user-circle"></i>
<span>管理员</span>
</div>
</div>
</aside>
<!-- Main Content -->
<div class="main-content">
<!-- Top Header -->
<header class="top-header">
<div class="header-left">
<button class="menu-toggle" id="menuToggle">
<i class="fas fa-bars"></i>
</button>
<h1 id="pageTitle">数据仪表板</h1>
</div>
<div class="header-right">
<!-- Global Search Box -->
<div class="global-search-container">
<div class="search-box">
<i class="fas fa-search"></i>
<input type="text" id="globalSearchInput" placeholder="搜索客户、进度、跟进..." autocomplete="off">
<kbd class="search-shortcut">⌘K</kbd>
</div>
<!-- Search Results Dropdown -->
<div class="search-results-dropdown" id="searchResultsDropdown" style="display: none;">
<div class="search-history" id="searchHistory">
<div class="search-section-title"><i class="fas fa-history"></i> 搜索历史</div>
<div class="search-history-items" id="searchHistoryItems"></div>
</div>
<div class="search-results" id="searchResults">
<div class="search-section-title"><i class="fas fa-search"></i> 搜索结果</div>
<div class="search-results-items" id="searchResultsItems">
<div class="search-empty">输入关键词开始搜索...</div>
</div>
</div>
</div>
</div>
<!-- Quick Add Button -->
<div class="quick-add-dropdown-container">
<button class="btn-primary quick-add-btn" id="headerQuickAddBtn">
<i class="fas fa-plus"></i>
<span>快速添加</span>
<i class="fas fa-caret-down"></i>
</button>
<div class="quick-add-dropdown" id="headerQuickAddDropdown" style="display: none;">
<div class="quick-add-menu-item" data-action="trial">
<i class="fas fa-clock"></i>
<span>添加试用客户</span>
</div>
<div class="quick-add-menu-item" data-action="customer">
<i class="fas fa-user-plus"></i>
<span>添加客户进度</span>
</div>
<div class="quick-add-menu-item" data-action="followup">
<i class="fas fa-tasks"></i>
<span>添加跟进记录</span>
</div>
</div>
</div>
<button class="icon-btn" id="logoutBtn" title="退出登录">
<i class="fas fa-sign-out-alt"></i>
</button>
</div>
</header>
<!-- Content Area -->
<main class="content-area">
<!-- Customer Management Section -->
<section id="customerSection" class="content-section">
<div class="action-bar">
<button id="addCustomerBtn" class="btn-primary">
<i class="fas fa-plus"></i>
添加客户
</button>
<button id="importBtn" class="btn-secondary">
<i class="fas fa-file-import"></i>
导入CSV
</button>
</div>
<div class="filter-bar">
<div class="filter-group">
<label for="customerFilter">筛选客户:</label>
<select id="customerFilter" class="filter-select">
<option value="">全部客户</option>
</select>
</div>
<div class="filter-group">
<label for="typeFilter">筛选类型:</label>
<select id="typeFilter" class="filter-select">
<option value="">全部类型</option>
</select>
</div>
<div class="filter-group">
<label for="statusProgressFilter">状态与进度:</label>
<select id="statusProgressFilter" class="filter-select">
<option value="">全部状态</option>
<option value="已完成">已完成</option>
<option value="进行中">进行中</option>
<option value="待排期">待排期</option>
<option value="已驳回">已驳回</option>
<option value="已上线">已上线</option>
</select>
</div>
<div class="filter-group">
<label for="customerStartDate">开始日期:</label>
<input type="date" id="customerStartDate" class="filter-input">
</div>
<div class="filter-group">
<label for="customerEndDate">结束日期:</label>
<input type="date" id="customerEndDate" class="filter-input">
</div>
</div>
<!-- Customer List -->
<div class="card table-card">
<div class="card-header">
<h3><i class="fas fa-list"></i> 客户进度</h3>
<div class="table-actions">
<button id="refreshCustomersBtn" class="icon-btn" title="刷新">
<i class="fas fa-sync-alt"></i>
</button>
<button id="exportCustomersBtn" class="icon-btn" title="导出">
<i class="fas fa-download"></i>
</button>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table id="customerTable">
<thead>
<tr>
<th>客户</th>
<th>咨询时间</th>
<th>版本</th>
<th>描述</th>
<th>解决方案</th>
<th>类型</th>
<th>模块</th>
<th>状态与进度</th>
<th>操作</th>
</tr>
</thead>
<tbody id="customerTableBody">
</tbody>
</table>
</div>
<!-- Pagination -->
<div class="pagination">
<div class="pagination-info">
<span id="paginationInfo">显示 0-0 共 0 条</span>
</div>
<div class="pagination-controls">
<button id="firstPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-left"></i>
</button>
<button id="prevPage" class="pagination-btn" disabled>
<i class="fas fa-angle-left"></i>
</button>
<div id="pageNumbers" class="page-numbers">
</div>
<button id="nextPage" class="pagination-btn" disabled>
<i class="fas fa-angle-right"></i>
</button>
<button id="lastPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-right"></i>
</button>
</div>
<div class="pagination-size">
<select id="pageSizeSelect">
<option value="10">10条/页</option>
<option value="20">20条/页</option>
<option value="50">50条/页</option>
<option value="100">100条/页</option>
</select>
</div>
</div>
</div>
</div>
</section>
<!-- Trial Periods Section -->
<section id="trialPeriodsSection" class="content-section">
<div class="section-title" style="justify-content: flex-end;">
<button id="addTrialBtn" class="btn-primary">
<i class="fas fa-plus"></i>
添加试用时间
</button>
</div>
<!-- Filter Bar for Trial Periods -->
<div class="filter-bar">
<div class="filter-group">
<label for="trialStartDateFilter">开始日期:</label>
<input type="date" id="trialStartDateFilter" class="filter-input">
</div>
<div class="filter-group">
<label for="trialEndDateFilter">结束日期:</label>
<input type="date" id="trialEndDateFilter" class="filter-input">
</div>
<div class="filter-group">
<label for="trialSortOrder">排序:</label>
<select id="trialSortOrder" class="filter-select">
<option value="desc">结束时间倒序</option>
<option value="asc">结束时间顺序</option>
</select>
</div>
</div>
<div class="trial-periods-container">
<div class="table-container">
<table>
<thead>
<tr>
<th>客户名称</th>
<th>是否试用</th>
<th>开始时间</th>
<th>结束时间</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody id="trialPeriodsBody">
<!-- Trial periods will be loaded here -->
</tbody>
</table>
</div>
<!-- Pagination for trial periods -->
<div class="pagination">
<div class="pagination-info">
<span id="trialPaginationInfo">显示 0-0 共 0 条</span>
</div>
<div class="pagination-controls">
<button id="trialFirstPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-left"></i>
</button>
<button id="trialPrevPage" class="pagination-btn" disabled>
<i class="fas fa-angle-left"></i>
</button>
<div id="trialPageNumbers" class="page-numbers">
</div>
<button id="trialNextPage" class="pagination-btn" disabled>
<i class="fas fa-angle-right"></i>
</button>
<button id="trialLastPage" class="pagination-btn" disabled>
<i class="fas fa-angle-double-right"></i>
</button>
</div>
<div class="pagination-size">
<select id="trialPageSizeSelect">
<option value="10">10条/页</option>
<option value="20">20条/页</option>
<option value="50">50条/页</option>
<option value="100">100条/页</option>
</select>
</div>
</div>
</div>
</section>
<!-- Dashboard Section -->
<section id="dashboardSection" class="content-section active">
<div class="dashboard-stats">
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-users"></i>
</div>
<div class="stat-info">
<h3 id="totalCustomers">0</h3>
<p>总客户数</p>
</div>
</div>
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-user-plus"></i>
</div>
<div class="stat-info">
<h3 id="newCustomers">0</h3>
<p>本月新增</p>
</div>
</div>
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-check-circle"></i>
</div>
<div class="stat-info">
<h3 id="completedTasks">0</h3>
<p>已完成</p>
</div>
</div>
<div class="stat-card stat-card-highlight">
<div class="stat-icon">
<i class="fas fa-user-check"></i>
</div>
<div class="stat-info">
<h3 id="followUpCount">0</h3>
<p>跟进客户次数</p>
</div>
</div>
</div>
<div class="dashboard-filters">
<div class="filter-group">
<label>日期范围:</label>
<input type="date" id="startDate">
<span></span>
<input type="date" id="endDate">
<button id="applyFilters" class="btn-primary">
<i class="fas fa-filter"></i>
应用筛选
</button>
</div>
</div>
<div class="dashboard-grid">
<div class="card chart-card">
<div class="card-header">
<h3><i class="fas fa-chart-pie"></i> 数据分布</h3>
<div class="chart-controls">
<select id="chartFieldSelect" class="chart-field-select">
<option value="customerName">客户</option>
<option value="type">类型</option>
<option value="module">模块</option>
</select>
<input type="text" id="statusChartTitle" class="chart-title-input"
placeholder="自定义标题" value="数据分布">
</div>
</div>
<div class="card-body">
<canvas id="statusChart"></canvas>
</div>
</div>
<div class="card chart-card">
<div class="card-header">
<h3><i class="fas fa-chart-doughnut"></i> 客户类型</h3>
<div class="chart-controls">
<select id="typeChartFieldSelect" class="chart-field-select">
<option value="customerName">客户</option>
<option value="type">类型</option>
<option value="module">模块</option>
</select>
<input type="text" id="typeChartTitle" class="chart-title-input" placeholder="自定义标题"
value="客户类型">
</div>
</div>
<div class="card-body">
<canvas id="typeChart"></canvas>
</div>
</div>
</div>
<!-- Trend Line Chart -->
<div class="dashboard-grid" style="margin-top: 20px;">
<div class="card chart-card" style="grid-column: 1 / -1;">
<div class="card-header">
<h3><i class="fas fa-chart-line"></i> 时间趋势分析</h3>
<div class="chart-controls">
<select id="trendTypeSelect" class="chart-field-select">
<option value="customer">客户</option>
<option value="demand">需求</option>
<option value="issue">问题</option>
<option value="all">全部</option>
</select>
</div>
</div>
<div class="card-body">
<canvas id="trendChart"></canvas>
</div>
</div>
</div>
</section>
<!-- Follow-up Section -->
<section id="followupSection" class="content-section">
<!-- Smart Reminder Banner -->
<div class="smart-reminder" id="followupReminder">
<div class="reminder-item warning" id="todayFollowupReminder" style="display: none;">
<i class="fas fa-exclamation-circle"></i>
<span>今日待跟进:<strong id="todayFollowupCount">0</strong> 个客户</span>
</div>
<div class="reminder-item urgent" id="overdueReminder" style="display: none;">
<i class="fas fa-bell"></i>
<span>逾期未跟进:<strong id="overdueCount">0</strong> 个客户</span>
</div>
</div>
<div class="action-bar">
<button id="addFollowUpBtn" class="btn-primary">
<i class="fas fa-plus"></i>
添加跟进
</button>
</div>
<!-- Follow-up Form -->
<div class="card" id="followupFormCard" style="display: none; margin-bottom: 20px;">
<div class="card-header">
<h3><i class="fas fa-plus-circle"></i> 新增客户跟进</h3>
</div>
<div class="card-body">
<form id="followupForm">
<div class="form-row">
<div class="form-group">
<label for="followupCustomerName">客户名称 <span
style="color: red;">*</span></label>
<select id="followupCustomerName" name="customerName" required>
<option value="">请选择客户</option>
</select>
</div>
<div class="form-group">
<label for="followupDealStatus">成交状态 <span style="color: red;">*</span></label>
<select id="followupDealStatus" 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="followupCustomerLevel">客户级别 <span
style="color: red;">*</span></label>
<select id="followupCustomerLevel" 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="followupIndustry">客户行业 <span style="color: red;">*</span></label>
<input type="text" id="followupIndustry" name="industry" required>
</div>
</div>
<div class="form-group">
<label for="followupTime">跟进时间 <span style="color: red;">*</span></label>
<input type="datetime-local" id="followupTime" 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" id="cancelFollowupBtn">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
<!-- Follow-up List -->
<div class="card table-card">
<div class="card-header">
<h3><i class="fas fa-list"></i> 客户跟进列表</h3>
<div class="table-actions">
<button id="refreshFollowupsBtn" class="icon-btn" title="刷新">
<i class="fas fa-sync-alt"></i>
</button>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table id="followupTable">
<thead>
<tr>
<th>客户名称</th>
<th>成交状态</th>
<th>客户级别</th>
<th>客户行业</th>
<th>跟进时间</th>
<th>通知状态</th>
<th>操作</th>
</tr>
</thead>
<tbody id="followupTableBody">
</tbody>
</table>
</div>
<!-- Pagination -->
<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 class="pagination-size">
<select id="followupPageSizeSelect">
<option value="10">10条/页</option>
<option value="20">20条/页</option>
<option value="50">50条/页</option>
<option value="100">100条/页</option>
</select>
</div>
</div>
</div>
</div>
</section>
</main>
</div>
</div>
<!-- Modal for creating customer -->
<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="createCustomerForm">
<div class="form-row">
<div class="form-group">
<label for="createIntendedProduct">咨询时间</label>
<input type="date" id="createIntendedProduct" name="intendedProduct">
</div>
<div class="form-group">
<label for="createCustomerName">客户名称</label>
<select id="createCustomerName" name="customerName" required>
<option value="">请选择客户</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="createVersion">版本</label>
<input type="text" id="createVersion" name="version">
</div>
<div class="form-group">
<label for="createType">类型</label>
<input type="text" id="createType" name="type">
</div>
</div>
<div class="form-group">
<label for="createDescription">描述</label>
<textarea id="createDescription" name="description" rows="3"></textarea>
</div>
<div class="form-group">
<label for="createSolution">解决方案</label>
<textarea id="createSolution" name="solution" rows="3"></textarea>
</div>
<div class="form-row">
<div class="form-group">
<label for="createModule">模块</label>
<select id="createModule" name="module">
<option value="">请选择模块</option>
<option value="数据生成">数据生成</option>
<option value="数据集">数据集</option>
<option value="数据空间">数据空间</option>
<option value="模型工坊">模型工坊</option>
<option value="模型广场">模型广场</option>
<option value="镜像管理">镜像管理</option>
</select>
</div>
<div class="form-group">
<label for="createStatusProgress">状态与进度</label>
<select id="createStatusProgress" name="statusProgress">
<option value="">请选择状态</option>
<option value="已完成">已完成</option>
<option value="进行中">进行中</option>
<option value="待排期">待排期</option>
<option value="已驳回">已驳回</option>
<option value="已上线">已上线</option>
</select>
</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-create">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for importing customers -->
<div id="importModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-file-import"></i> 导入客户</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="importFileForm" enctype="multipart/form-data">
<div class="form-group">
<label for="importFile">选择文件支持CSV和XLSX</label>
<div class="file-upload">
<i class="fas fa-cloud-upload-alt"></i>
<input type="file" id="importFile" name="file" accept=".csv,.xlsx" required>
<span id="fileName">选择文件...</span>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn-primary">
<i class="fas fa-upload"></i>
导入
</button>
<button type="button" class="btn-secondary cancel-import">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for editing customer -->
<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">
<!-- Customer Form -->
<form id="editCustomerForm">
<input type="hidden" id="editCustomerId">
<div class="form-row">
<div class="form-group">
<label for="editIntendedProduct">咨询时间</label>
<input type="date" id="editIntendedProduct" name="intendedProduct">
</div>
<div class="form-group">
<label for="editCustomerName">客户名称</label>
<input type="text" id="editCustomerName" name="customerName">
</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">类型</label>
<input type="text" id="editType" name="type">
</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>
<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>
</select>
</div>
<div class="form-group">
<label for="editStatusProgress">状态与进度</label>
<select id="editStatusProgress" name="statusProgress">
<option value="">请选择状态</option>
<option value="已完成">已完成</option>
<option value="进行中">进行中</option>
<option value="待排期">待排期</option>
<option value="已驳回">已驳回</option>
<option value="已上线">已上线</option>
</select>
</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 trial period -->
<div id="addTrialPeriodModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-clock"></i> 添加试用时间</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="addTrialPeriodForm">
<div class="form-group">
<label for="trialCustomerInput">客户名称</label>
<input type="text" id="trialCustomerInput" name="customerName" placeholder="请输入客户名称" required>
</div>
<div class="form-group">
<label>是否试用</label>
<div style="display: flex; gap: 20px; align-items: center;">
<label style="display: flex; align-items: center; gap: 5px; cursor: pointer;">
<input type="radio" name="isTrial" value="true" checked>
<span></span>
</label>
<label style="display: flex; align-items: center; gap: 5px; cursor: pointer;">
<input type="radio" name="isTrial" value="false">
<span></span>
</label>
</div>
</div>
<div class="form-group">
<label for="trialStartTime">开始时间</label>
<input type="datetime-local" id="trialStartTime" name="startTime" required>
</div>
<div class="form-group">
<label for="trialEndTime">结束时间</label>
<input type="datetime-local" id="trialEndTime" name="endTime" 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-trial">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for editing trial period -->
<div id="editTrialPeriodModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h3><i class="fas fa-clock"></i> 编辑试用时间</h3>
<span class="close">&times;</span>
</div>
<div class="modal-body">
<form id="editTrialPeriodForm">
<input type="hidden" id="editTrialPeriodId">
<div class="form-group">
<label>是否试用</label>
<div style="display: flex; gap: 20px; align-items: center;">
<label style="display: flex; align-items: center; gap: 5px; cursor: pointer;">
<input type="radio" name="editIsTrial" value="true" checked>
<span></span>
</label>
<label style="display: flex; align-items: center; gap: 5px; cursor: pointer;">
<input type="radio" name="editIsTrial" value="false">
<span></span>
</label>
</div>
</div>
<div class="form-group">
<label for="editTrialStartTime">开始时间</label>
<input type="datetime-local" id="editTrialStartTime" name="startTime" required>
</div>
<div class="form-group">
<label for="editTrialEndTime">结束时间</label>
<input type="datetime-local" id="editTrialEndTime" name="endTime" 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-trial">
<i class="fas fa-times"></i>
取消
</button>
</div>
</form>
</div>
</div>
</div>
<script src="/static/js/trial-periods.js"></script>
<script src="/static/js/trial-periods-page.js"></script>
<script src="/static/js/main.js"></script>
</body>
</html>