dm-design/商家端web/2.1 营销工具/2.1.1 会员功能/积分商城/积分兑换商城.html

665 lines
22 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>积分商城</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', 'Microsoft YaHei', sans-serif;
font-size: 14px;
color: #333;
background-color: #f5f5f5;
padding: 20px;
}
.container {
background-color: white;
padding: 20px;
border: 1px dashed #ccc;
max-width: 1200px;
margin: 0 auto;
}
.page-title {
font-size: 18px;
font-weight: bold;
margin-bottom: 20px;
color: #333;
}
.search-section {
border: 1px dashed #ccc;
padding: 15px;
margin-bottom: 20px;
background-color: #fafafa;
position: relative;
}
.search-row {
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
}
.form-group {
display: flex;
align-items: center;
gap: 8px;
}
.form-group label {
white-space: nowrap;
font-size: 14px;
}
.form-control {
padding: 6px 10px;
border: 1px dashed #ccc;
background-color: white;
font-size: 14px;
min-width: 150px;
}
.form-control:focus {
outline: none;
border-color: #999;
}
.btn {
padding: 6px 20px;
font-size: 14px;
cursor: pointer;
background-color: white;
border: 1px dashed #ccc;
transition: all 0.2s;
}
.btn:hover {
background-color: #f0f0f0;
}
.btn-primary {
border-color: #007bff;
color: #007bff;
}
.btn-primary:hover {
background-color: #e6f3ff;
}
.btn-success {
border-color: #28a745;
color: #28a745;
}
.btn-success:hover {
background-color: #e6f7ea;
}
.add-btn {
position: absolute;
top: 15px;
right: 15px;
}
.table-container {
border: 1px dashed #ccc;
overflow-x: auto;
}
.data-table {
width: 100%;
border-collapse: collapse;
background-color: white;
}
.data-table th,
.data-table td {
padding: 10px;
text-align: left;
border: 1px dashed #ccc;
font-size: 14px;
}
.data-table th {
background-color: #f8f9fa;
font-weight: normal;
color: #333;
}
.data-table tbody tr:hover {
background-color: #f9f9f9;
}
.checkbox {
width: 16px;
height: 16px;
cursor: pointer;
}
.action-buttons {
display: flex;
gap: 8px;
}
.btn-edit {
color: #007bff;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
font-size: 14px;
}
.btn-delete {
color: #dc3545;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
font-size: 14px;
}
.btn-edit:hover {
color: #0056b3;
}
.btn-delete:hover {
color: #c82333;
}
.switch {
position: relative;
display: inline-block;
width: 44px;
height: 24px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
border-radius: 24px;
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 3px;
bottom: 3px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
border-radius: 50%;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(20px);
-ms-transform: translateX(20px);
transform: translateX(20px);
}
.tabs {
margin-bottom: 20px;
}
.tab-buttons {
display: flex;
border-bottom: 1px dashed #ccc;
background-color: #fafafa;
}
.tab-button {
padding: 12px 24px;
background: none;
border: none;
border-bottom: 2px solid transparent;
cursor: pointer;
font-size: 14px;
color: #666;
transition: all 0.2s;
}
.tab-button:hover {
color: #333;
background-color: #f0f0f0;
}
.tab-button.active {
color: #007bff;
border-bottom-color: #007bff;
background-color: white;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
@media (max-width: 768px) {
.search-row {
flex-direction: column;
align-items: flex-start;
}
.form-group {
width: 100%;
}
.form-control {
min-width: 200px;
}
.add-btn {
position: static;
margin-top: 10px;
}
}
</style>
</head>
<body>
<div class="container">
<div class="page-title">积分商城</div>
<div class="tabs">
<div class="tab-buttons">
<button class="tab-button active" onclick="switchTab(event, 'points-discount')">积分优惠</button>
<button class="tab-button" onclick="switchTab(event, 'double-points')">双倍积分</button>
</div>
</div>
<div id="points-discount" class="tab-content active">
<div class="search-section">
<div class="search-row">
<div class="form-group">
<label>商铺:</label>
<select class="form-control">
<option value="">生生蔬菜店</option>
<option value="">其他店铺</option>
</select>
</div>
<div class="form-group">
<label>商品ID</label>
<input type="text" class="form-control" placeholder="请输入商品ID">
</div>
<div class="form-group">
<label>商品名称:</label>
<input type="text" class="form-control" placeholder="请输入商品名称">
</div>
<div class="form-group">
<button class="btn btn-primary">查询</button>
<button class="btn">重置</button>
</div>
</div>
<button class="btn btn-success add-btn">添加</button>
</div>
<div class="table-container">
<table class="data-table">
<thead>
<tr>
<th width="50">
<input type="checkbox" class="checkbox">
</th>
<th width="100">商品ID</th>
<th width="150">商品名称</th>
<th width="150">规格名称</th>
<th width="150">归属店铺</th>
<th width="100">商品原价</th>
<th width="120">原有商品状态</th>
<th width="120">积分使用模式</th>
<th width="120">剩余库存</th>
<th width="100">启用状态</th>
<th width="100">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>001</td>
<td>黑木耳</td>
<td>小份</td>
<td>生生蔬菜店</td>
<td>¥5.00</td>
<td>上架</td>
<td>积分换购</td>
<td>10</td>
<td>
<label class="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>002</td>
<td>黑木耳</td>
<td>大份</td>
<td>生生蔬菜店</td>
<td>¥8.00</td>
<td>上架</td>
<td>积分优惠购</td>
<td>10</td>
<td>
<label class="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>003</td>
<td>番茄</td>
<td></td>
<td>生生蔬菜店</td>
<td>¥3.50</td>
<td>下架</td>
<td>积分换购</td>
<td>2</td>
<td>
<label class="switch">
<input type="checkbox">
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>004</td>
<td>冬瓜</td>
<td>大份</td>
<td>生生蔬菜店</td>
<td>¥12.00</td>
<td>上架</td>
<td>双倍积分</td>
<td>5</td>
<td>
<label class="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>005</td>
<td>土豆</td>
<td>中份</td>
<td>生生蔬菜店</td>
<td>¥6.00</td>
<td>上架</td>
<td>双倍积分</td>
<td>8</td>
<td>
<label class="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>006</td>
<td>白萝卜</td>
<td>大份</td>
<td>生生蔬菜店</td>
<td>¥4.50</td>
<td>上架</td>
<td>双倍积分</td>
<td>15</td>
<td>
<label class="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</td>
<td>
<div class="action-buttons">
<button class="btn-edit">编辑</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="double-points" class="tab-content">
<div class="search-section">
<div class="search-row">
<div class="form-group">
<label>商铺:</label>
<select class="form-control">
<option value="">生生蔬菜店</option>
<option value="">其他店铺</option>
</select>
</div>
<div class="form-group">
<label>商品ID</label>
<input type="text" class="form-control" placeholder="请输入商品ID">
</div>
<div class="form-group">
<label>商品名称:</label>
<input type="text" class="form-control" placeholder="请输入商品名称">
</div>
<div class="form-group">
<button class="btn btn-primary">查询</button>
<button class="btn">重置</button>
</div>
</div>
<button class="btn btn-success add-btn">添加</button>
</div>
<div class="table-container">
<table class="data-table">
<thead>
<tr>
<th width="50">
<input type="checkbox" class="checkbox">
</th>
<th width="100">商品ID</th>
<th width="150">商品名称</th>
<th width="150">归属店铺</th>
<th width="100">商品原价</th>
<th width="120">原有商品状态</th>
<th width="120">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>001</td>
<td>黑木耳</td>
<td>生生蔬菜店</td>
<td>¥5.00</td>
<td>上架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>002</td>
<td>黑木耳</td>
<td>生生蔬菜店</td>
<td>¥8.00</td>
<td>上架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>003</td>
<td>番茄</td>
<td>生生蔬菜店</td>
<td>¥3.50</td>
<td>下架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>004</td>
<td>冬瓜</td>
<td>生生蔬菜店</td>
<td>¥12.00</td>
<td>上架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>005</td>
<td>土豆</td>
<td>生生蔬菜店</td>
<td>¥6.00</td>
<td>上架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="checkbox">
</td>
<td>006</td>
<td>白萝卜</td>
<td>生生蔬菜店</td>
<td>¥4.50</td>
<td>上架</td>
<td>
<div class="action-buttons">
<button class="btn-delete">删除</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<script>
function switchTab(evt, tabName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tab-content");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].classList.remove("active");
}
tablinks = document.getElementsByClassName("tab-button");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].classList.remove("active");
}
document.getElementById(tabName).classList.add("active");
evt.currentTarget.classList.add("active");
}
</script>
</body>
</html>Test line