Browse Source

录入弹框、编辑弹框、文件、视频上传

pull/1/head
zq 2 months ago
parent
commit
c63d463995
  1. 220
      home.html
  2. 398
      style/css/index.css
  3. 1
      style/css/ui.css
  4. BIN
      style/img/a.jpeg
  5. 1
      style/img/add.svg
  6. BIN
      style/img/b.jpeg
  7. 1
      style/img/close_modal.svg
  8. 1
      style/img/delete-icon.svg
  9. 1
      style/img/img_upload.svg
  10. 1
      style/img/radio_active.svg
  11. 1
      style/img/radio_normal.svg
  12. 1
      style/img/vedio_upload.svg
  13. 694
      style/js/index.js

220
home.html

@ -17,14 +17,12 @@
<div class="header-right flex">
<img src="./style/img/home-more.png" alt="">
<div class="dropdown">
<button class="dropdown-toggle" onclick="toggleDropdown()">
<button class="dropdown-toggle">
学术论文出版
<img class="icon" src="./style/img/drop-icon.svg" alt="">
</button>
<div class="dropdown-panel">
<a href="#">Item 1</a>
<a href="#">Item 2</a>
<a href="#">Item 3</a>
<a href="#">退出</a>
</div>
</div>
</div>
@ -38,132 +36,18 @@
<li class="index-nav-wrap-li" type="2"><span>已审批</span></li>
<li class="index-nav-wrap-li" type="3"><span>已删除</span></li>
</ul>
<button>
<img src="" alt="">新增自录入
<button class="addNewBtn">
<img src="./style/img/add.svg" alt="">新增自录入
</button>
</div>
<div class="list_all">
<div class="list_item ">
<div class="list_item_top flex">
<div class="list_item_top_l">
<span class="green">微博</span>
<span>麻辣烫一号选手</span>
<span>录入:2025.01.13 23:00</span>
</div>
<div class="list_item_top_r">
<img src="./style/img/edit.svg" alt="">
编辑
</div>
</div>
<p class="desc_text">
华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。
</p>
<!-- 图片合集 -->
<div class="img_list">
<img class="small-image" src="./style/img/viewimg1.png" alt="Small Image">
<img class="small-image" src="./style/img/viewimg2.png" alt="Small Image">
<img class="small-image" src="./style/img/viewimg3.png" alt="Small Image">
</div>
<!-- 视频 -->
<div class="flex btngroups">
<button class="button button-normal">删除</button>
<button class="button button-primary">通过</button>
<button class="button button-normal">恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
<button>恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
</div>
</div>
<div class="list_item ">
<div class="list_item_top flex">
<div class="list_item_top_l">
<span class="green">微博</span>
<span>麻辣烫一号选手</span>
<span>录入:2025.01.13 23:00</span>
</div>
<div class="list_item_top_r">
<img src="./style/img/edit.svg" alt="">
编辑
</div>
</div>
<p class="desc_text">
华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。
</p>
<div class="img_list">
<div class="small-image">
<span class="small-image-desc">视频</span>
<img class="small-video-cover small-image" src="./style/img/vedio_img.png" href="https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4" alt="Video Cover">
<img src="./style/img/play.png" class="play-video" alt="">
</div>
</div>
<div class="flex btngroups">
<button class="button button-normal">删除</button>
<button class="button button-primary">通过</button>
<button class="button button-normal">恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
<button>恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
</div>
</div>
<div class="list_item ">
<div class="list_item_top flex">
<div class="list_item_top_l">
<span class="blue">自录入</span>
<!-- 是自录入问答的时候 -->
<b>有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?</b>
<span>麻辣烫一号选手</span>
<span>录入:2025.01.13 23:00</span>
</div>
<div class="list_item_top_r">
<img src="./style/img/edit.svg" alt="">
编辑
</div>
</div>
<p class="desc_text">
对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位
</p>
<div class="img_list">
<div class="small-image">
<span class="small-image-desc">图片</span>
<img src="./style/img/viewimg1.png" alt="Small Image">
</div>
<div class="small-image">
<span class="small-image-desc">图片</span>
<img src="./style/img/viewimg2.png" alt="Small Image">
</div>
<div class="small-image">
<span class="small-image-desc">图片</span>
<img src="./style/img/viewimg3.png" alt="Small Image">
</div>
</div>
<div class="flex btngroups">
<button class="button button-normal">删除</button>
<button class="button button-primary">通过</button>
<button class="button button-normal">恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
<button>恢复待审批</button>
</div>
<div class="flex hide">
<button>删除</button>
</div>
</div>
<div class="list_all" id="data-list">
</div>
<!-- 数据列表 -->
<ul id="data-list"></ul>
<!-- <ul id="data-list"></ul> -->
<!-- 分页控件 -->
<div class="pagination">
@ -188,11 +72,101 @@
<!-- 放大后的视频容器 -->
<div id="large-video-container">
<video id="large-video" controls>
<source id="large-viedo-url" src="https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4" type="video/mp4">
<source id="large-viedo-url" src="" type="video/mp4">
Your browser does not support the video tag.
</video>
<button id="close-btn">×</button>
</div>
<!-- 弹框 -->
<div class="modal-overlay"></div>
<div class="modal">
<div class="modal_top">
<b id="header_title">编辑</b>
<img src="./style/img/close_modal.svg" id="close_modal" alt="">
</div>
<div class="add-form">
<div class="form-item radio-form">
<div class="form-left">
录入形式
</div>
<div class="form-right radio-wrap flex">
<div class="radio_box radio_box_active">
<input value="1" type="radio"id="edu1">
<div></div>
<label >信息段录入</label>
</div>
<div class="radio_box">
<input value="2" type="radio"id="edu2">
<div></div>
<label >问答式录入</label>
</div>
</div>
</div>
<div class="form-item">
<div class="form-left common-input">
录入信息
</div>
<div class="form-right">
<div class="text-area-container">
<textarea class="edit-input normal-input" ></textarea>
<div class="char-count wordNum">0/100</div>
</div>
</div>
</div>
<div class="form-item answer-form" style="display: none;">
<div class="form-left">
回答信息
</div>
<div class="form-right">
<div class="text-area-container">
<textarea class="edit-input answer-input" ></textarea>
<div class="char-count1 wordNum">0/100</div>
</div>
</div>
</div>
</div>
<script>
const maxLength = 100; // 设置最大字数限制
$('.normal-input').on('input', function () {
var currentLength = $(this).val().length;
$('.char-count').text(currentLength + '/' + maxLength);
if (currentLength > maxLength) {
$('.normal-input').val($('.normal-input').val().slice(0, maxLength))
$('.char-count').text(maxLength + '/' + maxLength);
}
});
$('.answer-input').on('input', function () {
var currentLength = $(this).val().length;
$('.char-count1').text(currentLength + '/' + maxLength);
if (currentLength > maxLength) {
$('.answer-input').val($('.answer-input').val().slice(0, maxLength))
$('.char-count1').text(maxLength + '/' + maxLength);
}
});
</script>
<div class="img_list2" style="display: none;"></div>
<div class="preview"></div>
<div class="modal_upload_btn flex">
<div class="flex modal_btns">
<button id="upload-image-btn" class="button upload_btn">
<img src="./style/img/img_upload.svg" alt="">上传图片
</button>
<button id="upload-video-btn" class="button upload_btn">
<img src="./style/img/vedio_upload.svg" alt="">上传视频
</button>
</div>
<p>支持 jpg、png、mp4 格式,单个文件不超过 10MB</p>
</div>
<input type="file" id="upload-image" accept="image/*" style="display: none;" multiple>
<input type="file" id="upload-video" accept="video/*" style="display: none;" multiple>
<div class="buttons flex">
<button id="submit" class="button ">仅保存</button>
<button id="cancel" class="button button-primary">保存并通过审批</button>
</div>
</div>
</div>
</div>
</body>

398
style/css/index.css

@ -1,5 +1,55 @@
.flex{
.flex {
display: flex;
display: -ms-flexbox;
}
.hide{
display: none;
}
.radio-wrap{}
.radio_box,.check_Box{
display: flex;
display: -ms-flexbox;
align-items: center;
margin-right: 24px;
position: relative;
cursor: pointer;
font-weight: 500;
color: #2C394B;
transition: all .3s ease;
}
.check_Box input,.radio_box input{
opacity: 0;
position: absolute;
left: 0;
width: 100%;
cursor: pointer;
}
.radio_box div{
width: 18px;
height: 18px;
margin-right: 8px;
cursor: pointer;
}
/* @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.radio_box div{
width: 20px;
height: 20px;
}
} */
.radio_box_active,.check_Box_active{
color: #006AFF;
}
.radio_box div{
background: url(../img/radio_normal.svg);
background-size: contain;
}
.radio_box_active div{
width: 18px;
height: 18px;
animation: radio_scale .3s;
background: url(../img/radio_active.svg);
}
#page-numbers {
display: flex;
@ -22,30 +72,37 @@
#page-numbers span {
margin-left: 10px;
}
#page-numbers span:hover {
color: #006AFF;
}
#page-numbers .pagActive:hover {
color: #fff;
}
#next-page{
#next-page {
margin-right: 16px;
}
.input-page span{
.input-page span {
display: inline-block;
}
/* 分页容器样式 */
.pagination {
margin-top: 20px;
display: flex;
justify-content: center;
justify-content: flex-end;
align-items: center;
}
.pagination input {
width: 50px;
padding: 5px;
text-align: center;
}
.pagActive {
background: #006AFF;
color: #fff;
@ -142,6 +199,20 @@
.tab-list {
justify-content: space-between;
padding-top: 13px;
align-items: center;
border-bottom: 1px solid #DFE2E6;;
}
.tab-list::after{
content: '';
display: block;
position: absolute;
width: 100%;
height: 1px;
left: 50%;
transform: translateX(-50%);
bottom: -8px;
background: linear-gradient(270deg, rgba(140, 145, 157, 0.1) 0%, rgba(140, 145, 157, 0.2) 50%, rgba(140, 145, 157, 0.1) 100%);
}
.index-nav-wrap ul {
@ -153,10 +224,11 @@
letter-spacing: 1px;
box-sizing: border-box;
position: relative;
margin: 9px 0;
}
.index-nav-wrap ul::after {
content: '';
/* content: '';
display: block;
position: absolute;
width: 500px;
@ -164,7 +236,7 @@
left: 50%;
transform: translateX(-50%);
bottom: -8px;
background: linear-gradient(270deg, rgba(140, 145, 157, 0.1) 0%, rgba(140, 145, 157, 0.2) 50%, rgba(140, 145, 157, 0.1) 100%);
background: linear-gradient(270deg, rgba(140, 145, 157, 0.1) 0%, rgba(140, 145, 157, 0.2) 50%, rgba(140, 145, 157, 0.1) 100%); */
}
.index-nav-wrap ul li {
@ -180,7 +252,6 @@
.index-nav-wrap ul li span {
position: relative;
color: #3D4B54;
font-size: 14px;
font-weight: 500;
}
@ -200,7 +271,7 @@
border-radius: 2px;
left: 50%;
margin-left: -50%;
bottom: -11px;
bottom: -12px;
}
/* 小版视频容器 */
@ -210,11 +281,7 @@
}
/* 小版视频封面图 */
#small-video-cover {
width: 100%;
height: auto;
border: 2px solid #ccc;
}
/* vedio */
/* 初始小版视频样式 */
@ -241,7 +308,8 @@
}
/* 关闭按钮 */
#close-btn ,#close-btn1{
#close-btn,
#close-btn1 {
position: absolute;
top: 10px;
right: 10px;
@ -258,6 +326,7 @@
cursor: pointer;
font-size: 16px;
}
/* 小版图片容器 */
#small-image-container {
width: 170px;
@ -265,13 +334,16 @@
}
/* 小版图片 */
.small-image {
/* width: 100%; */
/* height: 100%; */
.small-image,
.small-video-cover {
width: 170px;
height: 107px;
border-radius: 5px;
position: relative;
margin-right: 8px;
}
.small-image-desc{
.small-image-desc {
position: absolute;
left: 6px;
bottom: 8px;
@ -284,18 +356,23 @@
letter-spacing: 0.08em;
color: #FFFFFF;
}
.play-video{
.play-video {
width: 40px;
height: 40px;
position: absolute;
left: 50%;
top: 50%;transform: translate(-50%,-50%);
top: 50%;
transform: translate(-50%, -50%);
}
/* 放大后的图片容器 */
#large-image-container {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
/* width: 800px; */
/* height: 100%; */
background: rgba(0, 0, 0, 0.8);
@ -303,7 +380,8 @@
text-align: center;
border-radius: 16px;
}
#large-image-container h2{
#large-image-container h2 {
color: #fff;
}
@ -328,9 +406,9 @@
cursor: pointer;
font-size: 20px;
}
.button {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 7px 22px;
@ -343,9 +421,13 @@
color: #23242B;
cursor: pointer;
}
button:hover{
.upload_btn{
margin-left: 0;
}
button:hover {
opacity: .8;
}
.button-primary {
background: #006AFF;
color: #FFFFFF;
@ -358,54 +440,77 @@ button:hover{
}
/* 数据列表样式 */
#data-list {
list-style: none;
padding: 0;
}
#data-list li {
padding: 10px;
border-bottom: 1px solid #ccc;
.addNewBtn {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 7px 12px;
border-radius: 3px;
opacity: 1;
height: 32px;
border:none;
/* main/main_stardard */
background: #006AFF;
font-weight: normal;
line-height: normal;
letter-spacing: 0.08em;
color: #FFFFFF;
}
.list_all{
.list_all {
display: flex;
flex-direction: column;
align-items: center;
}
.list_item{
.list_item {
margin: 18px 12px;
padding-bottom: 18px;
width: 100%;
border-bottom: 1px solid #eee;
}
.list_item_top{
.list_item_top {
color: #8A9099;
display: flex;
justify-content: space-between;
}
.list_item_top b{
.list_item_top .list_item_top_l b {
color: #1E2226;
}
.desc_text{
.list_item_top_r {
display: flex;
align-items: center;
cursor: pointer;
}
.list_item_top_r img {
margin-right: 4px;
}
.desc_text {
line-height: 18px;
letter-spacing: 0.08em;
color: #1E2226;
margin-top: 12px;
}
.img_list{
.img_list ,.img_list2{
margin: 8px 0;
display: flex;
flex-wrap: wrap;
}
.img_list img{
.img_list img ,.img_list2 img{
width: 170px;
margin-right: 8px;
cursor: pointer;
}
.green,.blue{
.green,
.blue {
padding: 2px 10px;
border-radius: 4px;
opacity: 1;
@ -415,8 +520,213 @@ button:hover{
box-sizing: border-box;
border: 1px solid rgba(0, 194, 97, 0.6);
}
.blue{
.blue {
color: #006AFF;
background: #F2F7FF;
border: 1px solid #BFDAFF;
}
.form-item{
display: flex;
align-items: center;
padding: 12px 0;
}
.form-left{
width: 60px;
margin-right: 24px;
}
.form-right{
flex: 1;
}
.editmodal .add-form .form-left{
display: none;
}
.addmodal .add-form .form-left{
display: block;
}
/* 弹框样式 */
.modal {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 660px;
padding: 0 24px 12px;
background: #fff;
border-radius: 6px;
opacity: 1;
background: #FFFFFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
z-index: 1000;
}
#close_modal{
cursor: pointer;
}
.modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
}
.modal textarea {
width: calc(100% - 24px);
height: 64px;
margin-bottom: 10px;
padding: 10px 12px 28px;
letter-spacing: 0.08em;
font-variation-settings: "opsz" auto;
color: #1E2226;
}
.text-area-container{
position: relative;
}
.wordNum{
position: absolute;
right: 13px;
bottom: 20px;
}
.modal .modal_top{
display: flex;
justify-content: space-between;
align-items: center;
margin: 16px 0;
}
.modal .modal_top b{
font-size: 16px;
}
.modal .preview {
margin-bottom: 10px;
display: flex;
flex-wrap: wrap;
}
.modal .preview .small-image{
margin-right: 10px;
margin-bottom: 10px;
}
.modal .preview img,
.modal .preview video {
max-width: 170px;
position: relative;
}
.modal .preview .delete-btn {
position: absolute;
top: 0;
right: 0;
background: red;
color: white;
border: none;
cursor: pointer;
}
.modal .img_list2 .delete-btn {
position: absolute;
top: 0;
right: 0;
width: 24px;
color: white;
border: none;
cursor: pointer;
}
.modal .progress-bar {
width: 100%;
height: 10px;
background: #f0f0f0;
margin-bottom: 10px;
}
.modal .progress-bar .progress {
height: 100%;
width: 0;
background: #4caf50;
}
.modal .buttons {
justify-content: flex-end;
}
.modal .buttons button {
margin-left: 10px;
}
.modal_btn_column{
flex-direction: column;
justify-content: flex-end;
}
.modal_upload_btn{
align-items: center;
}
.modal_upload_btn p{
font-size: 12px;
font-weight: normal;
line-height: 13px;
letter-spacing: 0.08em;
font-variation-settings: "opsz" auto;
color: #8A9099;
margin-left: 10px;
}
.modal_btns button:first-child{
margin-right: 10px;
}
/* 上传区域样式 */
.upload-container {
width: 400px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ccc;
background: #f9f9f9;
}
.upload-container input[type="file"] {
display: none;
}
.upload-container button {
margin-right: 10px;
}
.preview {
margin-top: 20px;
}
.preview .item {
position: relative;
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
}
.preview img,
.preview video {
/* max-width: 100px;
max-height: 100px; */
}
.preview .delete-btn {
position: absolute;
top: 0;
right: 0;
background: red;
color: white;
border: none;
cursor: pointer;
}
.progress-bar {
width: 100%;
height: 10px;
background: #f0f0f0;
margin-top: 5px;
}
.progress-bar .progress {
height: 100%;
width: 0;
background: #4caf50;
}
.status {
font-size: 12px;
color: #666;
margin-top: 5px;
}
.status.uploading {
color: #2196f3;
}
.status.success {
color: #4caf50;
}
.status.failed {
color: #f44336;
}

1
style/css/ui.css

File diff suppressed because one or more lines are too long

BIN
style/img/a.jpeg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

1
style/img/add.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><defs><clipPath id="master_svg0_1_11113"><rect x="0" y="0" width="14" height="14" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1_11113)"><g><path d="M12.65602685546875,5.25Q12.92202685546875,5.25,13.16702685546875,5.355Q13.41202685546875,5.46,13.58702685546875,5.635Q13.76202685546875,5.81,13.86702685546875,6.055Q13.97202685546875,6.3,13.97202685546875,6.566Q13.97202685546875,6.846,13.86702685546875,7.084Q13.76202685546875,7.322,13.58702685546875,7.497Q13.41202685546875,7.672,13.16702685546875,7.777Q12.92202685546875,7.882,12.65602685546875,7.882L8.72202685546875,7.882L8.72202685546875,11.816Q8.72202685546875,12.096,8.617026855468751,12.334Q8.51202685546875,12.572,8.33702685546875,12.747Q8.16202685546875,12.922,7.91702685546875,13.027Q7.67202685546875,13.132,7.40602685546875,13.132Q7.12602685546875,13.132,6.88802685546875,13.027Q6.65002685546875,12.922,6.47502685546875,12.747Q6.30002685546875,12.572,6.19502685546875,12.334Q6.09002685546875,12.096,6.09002685546875,11.816L6.09002685546875,7.882L2.15602685546875,7.882Q1.87602685546875,7.882,1.63802685546875,7.777Q1.40002685546875,7.672,1.22502685546875,7.497Q1.05002685546875,7.322,0.94502685546875,7.084Q0.84002685546875,6.846,0.84002685546875,6.566Q0.84002685546875,6.3,0.94502685546875,6.055Q1.05002685546875,5.81,1.22502685546875,5.635Q1.40002685546875,5.46,1.63802685546875,5.355Q1.87602685546875,5.25,2.15602685546875,5.25L6.09002685546875,5.25L6.09002685546875,1.316Q6.09002685546875,1.05,6.19502685546875,0.805Q6.30002685546875,0.56,6.47502685546875,0.385Q6.65002685546875,0.21,6.88802685546875,0.105Q7.12602685546875,0,7.40602685546875,0Q7.95202685546875,0,8.33702685546875,0.385Q8.72202685546875,0.77,8.72202685546875,1.316L8.72202685546875,5.25L12.65602685546875,5.25Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
style/img/b.jpeg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 KiB

1
style/img/close_modal.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_1_02773"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1_02773)"><g><path d="M11.937545073699951,3.359494684814453C11.937545073699951,3.359494684814453,8.000045073699951,7.296995684814453,8.000045073699951,7.296995684814453C8.000045073699951,7.296995684814453,4.062544073699951,3.359494684814453,4.062544073699951,3.359494684814453C3.9582100736999513,3.265827684814453,3.841044073699951,3.218994484814453,3.7110440736999513,3.218994484814453C3.5810440736999514,3.218994484814453,3.466377073699951,3.268494484814453,3.367044073699951,3.367494684814453C3.2677104736999514,3.466494684814453,3.218210273699951,3.5811606848144533,3.2185436736999513,3.711494684814453C3.218876973699951,3.841827684814453,3.2657103736999513,3.9589946848144533,3.359044073699951,4.062994684814453C3.359044073699951,4.062994684814453,7.296545073699951,8.000495684814453,7.296545073699951,8.000495684814453C7.296545073699951,8.000495684814453,3.359044073699951,11.937995684814453,3.359044073699951,11.937995684814453C3.223710373699951,12.073325684814453,3.179377173699951,12.234825684814453,3.226043773699951,12.422495684814454C3.2727104736999513,12.610165684814453,3.3873770736999513,12.727325684814453,3.5700440736999512,12.773995684814453C3.752710073699951,12.820665684814454,3.916710073699951,12.776325684814454,4.062043073699951,12.640995684814452C4.062043073699951,12.640995684814452,7.999545073699951,8.703495684814452,7.999545073699951,8.703495684814452C7.999545073699951,8.703495684814452,11.93704507369995,12.640995684814452,11.93704507369995,12.640995684814452C12.041375073699951,12.734665684814454,12.158545073699951,12.781495684814454,12.288545073699952,12.781495684814454C12.418545073699951,12.781495684814454,12.533205073699952,12.731995684814454,12.632545073699951,12.632995684814453C12.731875073699952,12.533995684814453,12.781375073699952,12.419325684814453,12.781045073699952,12.288995684814454C12.78070507369995,12.158665684814453,12.73387507369995,12.041495684814453,12.64054507369995,11.937495684814452C12.64054507369995,11.937495684814452,8.70304507369995,7.999995684814453,8.70304507369995,7.999995684814453C8.70304507369995,7.999995684814453,12.64054507369995,4.062494684814453,12.64054507369995,4.062494684814453C12.775875073699952,3.927160684814453,12.82020507369995,3.765660684814453,12.773545073699951,3.577994684814453C12.72687507369995,3.3903276848144532,12.609705073699951,3.2731610848144532,12.422045073699952,3.226494384814453C12.234375073699951,3.179827784814453,12.07287507369995,3.224160984814453,11.937545073699951,3.359494684814453C11.937545073699951,3.359494684814453,11.937545073699951,3.359494684814453,11.937545073699951,3.359494684814453C11.937545073699951,3.359494684814453,11.937545073699951,3.359494684814453,11.937545073699951,3.359494684814453Z" fill="#626573" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

1
style/img/delete-icon.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

1
style/img/img_upload.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_1_03702"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1_03702)"><g transform="matrix(1,0,0,-1,0,30.6875)"><g><path d="M0,27.34375Q0.03125,28.18755,0.59375,28.74995Q1.15625,29.31255,2,29.34375L14,29.34375Q14.8438,29.31255,15.4062,28.74995Q15.9688,28.18755,16,27.34375L16,17.34375Q15.9688,16.5,15.4062,15.9375Q14.8438,15.375,14,15.34375L2,15.34375Q1.15625,15.375,0.59375,15.9375Q0.03125,16.5,0,17.34375L0,27.34375ZM10.125,24Q9.875,24.34375,9.5,24.34375Q9.09375,24.34375,8.875,24L6.15625,20.03125L5.34375,21.0625Q5.09375,21.34375,4.75,21.34375Q4.40625,21.34375,4.15625,21.0625L2.15625,18.5625Q1.90625,18.1875,2.0625,17.78125Q2.28125,17.375,2.75,17.34375L5.75,17.34375L13.25,17.34375Q13.6875,17.34375,13.9062,17.75Q14.0938,18.15625,13.875,18.5L10.125,24ZM3.5,24.34375Q4.34375,24.375,4.8125,25.09375Q5.1875,25.84375,4.8125,26.59375Q4.34375,27.31255,3.5,27.34375Q2.65625,27.31255,2.1875,26.59375Q1.8125,25.84375,2.1875,25.09375Q2.65625,24.375,3.5,24.34375Z" fill="#8A9099" fill-opacity="1"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
style/img/radio_active.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.2 KiB

1
style/img/radio_normal.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

1
style/img/vedio_upload.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="16" viewBox="0 0 18 16"><defs><clipPath id="master_svg0_1_03758"><rect x="0" y="0" width="18" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1_03758)"><g transform="matrix(1,0,0,-1,0,28.6875)"><g><path d="M0,24.34375Q0.03125,25.18755,0.59375,25.74995Q1.15625,26.31255,2,26.34375L10,26.34375Q10.8438,26.31255,11.4062,25.74995Q11.9688,25.18755,12,24.34375L12,16.34375Q11.9688,15.5,11.4062,14.9375Q10.8438,14.375,10,14.34375L2,14.34375Q1.15625,14.375,0.59375,14.9375Q0.03125,15.5,0,16.34375L0,24.34375ZM17.4688,25.21875Q17.9688,24.93755,18,24.34375L18,16.34375Q17.9688,15.75,17.4688,15.46875Q16.9375,15.1875,16.4375,15.5L13.4375,17.5L13,17.8125L13,18.34375L13,22.34375L13,22.875L13.4375,23.1875L16.4375,25.18755Q16.9375,25.46875,17.4688,25.21875Z" fill="#8A9099" fill-opacity="1"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 946 B

694
style/js/index.js

@ -1,123 +1,402 @@
$(document).ready(function () {
var imgurl=''
var vediourl=''
var list = [
'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
''
]
// viedo
// 点击小版视频封面图时放大
$('.small-video-cover').click(function () {
vediourl = $(this).attr('href')
imgurl = $(this).attr('src')
$('#large-viedo-url').attr('src',imgurl)
$('#large-video-container').fadeIn(); // 显示放大后的视频容器
$('#large-video').get(0).play(); // 播放视频
});
// 点击关闭按钮时关闭放大视频
$('#close-btn').click(function () {
$('#large-video').get(0).pause(); // 暂停视频
$('#large-video-container').fadeOut(); // 隐藏放大后的视频容器
});
// 图片
$('.small-image').click(function () {
imgurl = $(this).attr('src')
$('#large-image').attr('src',imgurl)
$('#large-image-container').fadeIn(); // 显示放大后的图片容器
});
// 点击关闭按钮时关闭放大图片
$('#close-btn2').click(function () {
$('#large-image-container').fadeOut(); // 隐藏放大后的图片容器
});
// 点击背景区域时关闭放大图片
$('#large-image-container').click(function (e) {
if (e.target === this) {
$('#large-image-container').fadeOut(); // 隐藏放大后的图片容器
}
});
var imgurl = ''
var tabActive = '1';
var cur_editdata = {}; //当前编辑数据
var vediourl = ''
// 假数据假数据-----
var waitCheck = [
{
source: '0',
var waitCheck = [{
id: 1,
source: '微博',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
vedios: [
'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
''
]
vedios: [{
img_show: 'viewimg1.png',
url: 'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
},
{
img_show: 'viewimg2.png',
url: 'https://cloud.video.taobao.com/vod/BYqzWJAb0TEleeeLZG-L5qFoBnmmKt0WC8qxw4hVDFc.mp4',
},
],
desc: '111111华佗医生真是医术献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。',
},
{
id: 2,
imgs: [
'viewimg1.png',
'viewimg2.png',
'viewimg3.png',
],
source: '1',
source: '自录入',
desc: '22222对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位',
question: '有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
answer: '对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位'
},
{
source: '0',
id: 3,
source: '自录入',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
vedios: [
'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
''
]
vedios: [{
img_show: 'viewimg1.png',
url: 'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
},
{
img_show: 'viewimg1.png',
url: 'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
},
],
desc: '333333浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医',
},
{
id: 4,
imgs: [
'viewimg1.png',
'viewimg2.png',
'viewimg3.png',
],
source: '1',
source: '自录入',
question: '有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
answer: '对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位'
answer: '对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位',
desc: '4444浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医',
},
{
source: '0',
id: 5,
source: '微博',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
vedios: [
'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
''
]
vedios: [{
img_show: 'viewimg1.png',
url: 'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
},
{
img_show: 'viewimg1.png',
url: 'https://s10.mogucdn.com/mlcdn/c45406/240506_303f82ha577j13gc73j71faj880gi.mp4',
},
],
desc: '55555浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医',
},
{
id: 6,
imgs: [
'viewimg1.png',
'viewimg2.png',
'viewimg3.png',
],
source: '1',
source: '自录入',
question: '有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?',
name: '麻辣烫---',
lurutime: '2025.01.13 23:00',
answer: '对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位'
answer: '对于中医按摩时穴位定位的问题,确实有不少初学者会遇到找不准穴位的情况。以下是一些技巧和建议,以及辅助工具,可以帮助您更准确地找到穴位',
desc: '6666浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医的智慧和精髓,真是受益匪浅!感谢您为中医事业做出的贡献💐。华佗医生真是医术高明,每次看您的微博都能学到很多中医。',
},
]; //待审批
var checkList = []; //已审批
var deletedList = []; //已删除
function toggleDropdown() {
var checkList = [{
id: 1,
source: '微博',
name: '待审批11-',
lurutime: '2025.01.13 23:00',
vedios: [{
img_show: 'viewimg1.png',
url: 'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
},
{
img_show: 'viewimg2.png',
url: 'https://cloud.video.taobao.com/vod/BYqzWJAb0TEleeeLZG-L5qFoBnmmKt0WC8qxw4hVDFc.mp4',
},
],
desc: '审批审批----------审批',
},
{
id: 2,
imgs: [
'viewimg1.png',
'viewimg2.png',
'viewimg3.png',
],
source: '自录入',
desc: '审批审批----------审批',
question: '有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?',
name: '待审批-2222',
lurutime: '2025.01.13 23:00',
},
]; //已审批
var deletedList = [{
id: 1,
source: '微博',
name: '已删除111-',
lurutime: '2025.01.13 23:00',
vedios: [{
img_show: 'viewimg1.png',
url: 'https://cloud.video.taobao.com/vod/QveMufgzEwjhHPj1wo_KI_KF7vbZwUJhbOpGtVCXN3Y.mp4',
},
{
img_show: 'viewimg2.png',
url: 'https://cloud.video.taobao.com/vod/BYqzWJAb0TEleeeLZG-L5qFoBnmmKt0WC8qxw4hVDFc.mp4',
},
],
desc: '删除----删除',
},
{
id: 2,
imgs: [
'viewimg1.png',
'viewimg2.png',
'viewimg3.png',
],
source: '自录入',
desc: '删除----删除',
question: '有没有什么技巧或者辅助工具可以帮助我们更准确地找到穴位呢?',
name: '已删除-2222',
lurutime: '2025.01.13 23:00',
},
]; //已删除
$('.radio-wrap').on('click', '.radio_box input', function () {
var radio_val = $(this).attr('value')
$('.edit-input').val('')
if(radio_val == '1'){
$('.answer-form').hide()
$('.common-input').html('录入信息')
}else{
$('.common-input').html('提问信息')
$('.answer-form').show()
}
$('.radio-wrap .radio_box').removeClass('radio_box_active');
$(this).parent().addClass('radio_box_active');
})
//编辑 打开弹框
$('#data-list').on('click', '.list_item_top_r', function () {
var cur_id = $(this).attr('id');
cur_editdata = allData.filter(item => item.id == cur_id)[0];
console.log(cur_editdata, 'cur_editdata');
$('.edit-input').val('')
$('.radio-form').hide();
$('.answer-form').hide();
$('.normal-input').val(cur_editdata.desc);
$('.char-count').text(cur_editdata.desc.length + '/100');
if ($('.modal').hasClass('addmodal')) {
$('.modal').removeClass('addmodal')
$('.modal').addClass('editmodal')
} else {
$('.modal').addClass('editmodal')
}
$('#header_title').html('编辑');
// $('.edit-input').show();
$('.img_list2').html('')
$('.img_list2').show()
imagesHTML1 = ''
renderImages(cur_editdata)
$('.modal, .modal-overlay').fadeIn();
})
// 打开弹框
$('.addNewBtn').click(function () {
$('.edit-input').val('')
$('.radio-form').show();
$('.img_list2').html('')
$('.img_list2').show()
imagesHTML1 = ''
var radio_val = $('.radio-wrap').find('.radio_box_active input').val();
if(radio_val == '1'){
$('.answer-form').hide()
$('.common-input').html('录入信息')
}else{
$('.answer-form').show()
$('.common-input').html('提问信息')
}
if ($('.modal').hasClass('editmodal')) {
$('.modal').removeClass('editmodal')
$('.modal').addClass('addmodal')
} else {
$('.modal').addClass('addmodal')
}
$('#header_title').html('新录入')
$('.modal, .modal-overlay').fadeIn();
});
var imagesHTML1 =''
function renderImages(item){
if (item.imgs) {
item.imgs.forEach(image => {
imagesHTML1 += `
<div class="small-image">
<span class="small-image-desc">图片</span>
<img src="./style/img/${image}" alt="Small Image">
<img class="delete-btn" src="./style/img/delete-icon.svg" alt="Small Image">
</div>
`;
});
} else if (item.vedios) {
item.vedios.forEach(v => {
imagesHTML1 += `
<div class="small-video-cover" href="${v.url}">
<span class="small-image-desc">视频</span>
<img class="small-video-show" src="./style/img/${v.img_show}" alt="Video Cover">
<img src="./style/img/play.svg" class="play-video" alt="...丢了">
<img class="delete-btn" src="./style/img/delete-icon.svg" alt="Small Image">
</div>
`;
});
}
$('.img_list2').html(imagesHTML1)
}
// 关闭弹框
$('#cancel, .modal-overlay').click(function () {
$('.modal, .modal-overlay').fadeOut();
$('.edit-input').val('')
$('.wordNum').html('0/100')
});
$('#close_modal').click(function () {
$('.modal, .modal-overlay').fadeOut();
$('.edit-input').val('')
$('.wordNum').html('0/100')
});
// 上传图片
$('#upload-image-btn').click(function () {
$('#upload-image').click(); // 触发文件选择
});
$('#upload-image').change(function (e) {
const files = e.target.files;
for (let i = 0; i < files.length; i++) {
uploadFile(files[i], 'image');
}
});
// 上传视频
$('#upload-video-btn').click(function () {
$('#upload-video').click(); // 触发文件选择
});
$('#upload-video').change(function (e) {
const files = e.target.files;
for (let i = 0; i < files.length; i++) {
uploadFile(files[i], 'video');
}
});
// 文件上传函数
function uploadFile(file, type) {
const item = $(`
<div class="item">
<div class="progress-bar">
<div class="progress"></div>
</div>
<div class="status uploading">上传中...</div>
<button class="delete-btn">×</button>
</div>
`);
$('.preview').append(item);
// 模拟上传过程
const formData = new FormData();
formData.append('file', file);
// 模拟接口上传
$.ajax({
url: 'https://aitest.chachongz.com/upload_file', // 模拟接口地址
type: 'POST',
data: formData,
processData: false,
contentType: false,
xhr: function () {
var xhr = $.ajaxSettings.xhr();
xhr.upload.addEventListener('progress', function (e) {
if (e.lengthComputable) {
const percent = (e.loaded / e.total) * 100;
item.find('.progress').css('width', percent + '%');
}
}, false);
return xhr;
},
success: function (response) {
item.find('.status').removeClass('uploading').addClass('hidden').text('上传成功');
item.find('.progress-bar').addClass('hide'); // 隐藏进度条
const reader = new FileReader();
reader.onload = function (event) {
if (type === 'image') {
item.prepend(` <div class="small-image">
<span class="small-image-desc">图片</span>
<img src="${event.target.result}" alt="Small Image">
</div>`);
} else if (type === 'video') {
item.prepend(` <div class="small-video-cover" href="">
<span class="small-image-desc">视频</span>
<img class="small-video-show" src="${event.target.result}" alt="Video Cover">
<img src="./style/img/play.svg" class="play-video" alt="...丢了">
</div>`);
}
};
reader.readAsDataURL(file);
},
error: function () {
item.find('.status').removeClass('uploading').addClass('failed').text('上传失败');
}
});
}
// 删除功能
$(document).on('click', '.delete-btn', function () {
$(this).parent().remove();
});
// 三个按钮操作
// viedo
// 点击小版视频封面图时放大
$('#data-list').on('click', '.list_item .small-video-cover', function () {
console.log($(this), '900000');
vediourl = $(this).attr('href')
console.log(vediourl, '------8988989');
// $('#large-viedo-url').attr('src', vediourl)
var dom = document.getElementById('large-viedo-url')
dom.src = vediourl
$('#large-video-container').fadeIn(); // 显示放大后的视频容器
$('#large-video').get(0).load(); // 播放视频
setTimeout(() => {
$('#large-video').get(0).play(); // 播放视频
}, 500);
});
// 点击关闭按钮时关闭放大视频
$('#close-btn').click(function () {
$('#large-video').get(0).pause(); // 暂停视频
$('#large-video-container').fadeOut(); // 隐藏放大后的视频容器
});
// 图片
$('#data-list').on('click', '.list_item .small-image', function () {
imgurl = $(this).attr('src')
$('#large-image').attr('src', imgurl)
$('#large-image-container').fadeIn(); // 显示放大后的图片容器
});
// 点击关闭按钮时关闭放大图片
$('#close-btn2').click(function () {
$('#large-image-container').fadeOut(); // 隐藏放大后的图片容器
});
// 点击背景区域时关闭放大图片
$('#large-image-container').click(function (e) {
if (e.target === this) {
$('#large-image-container').fadeOut(); // 隐藏放大后的图片容器
}
});
$('.dropdown-toggle').click(function () {
const dropdownPanel = document.querySelector('.dropdown-panel');
const icon = document.querySelector('.icon');
// 切换面板的显示/隐藏
if (dropdownPanel.style.display === 'block') {
dropdownPanel.style.display = 'none';
@ -126,7 +405,7 @@ $(document).ready(function () {
dropdownPanel.style.display = 'block';
icon.classList.add('rotate'); // 添加旋转效果
}
}
})
// 点击页面其他区域关闭面板
document.addEventListener('click', (event) => {
@ -142,16 +421,16 @@ $(document).ready(function () {
});
var list = waitCheck
var currentPage = 1; // 定义变量,用于存储当前的页码
var pageSize = 2;// 定义变量,用于存储当前页条数
var pageSize = 2; // 定义变量,用于存储当前页条数
renderList(list)
// 当文档加载完成后执行以下函数
function renderList (list) {
function renderList(list) {
function createPagination(currentPage, totalPages) {
var paginationHtml = ""; // 初始化一个字符串,用于存放分页条的HTML代码
// 如果当前页不是第一页,则生成一个“上一页”按钮
// if (currentPage > 1) {
paginationHtml += "<li>&lt;</li>";
paginationHtml += "<li>&lt;</li>";
// }
// 始终显示第一页的页码
@ -204,7 +483,7 @@ $(document).ready(function () {
function selectPage(pageNumber) {
// 更新当前页码的变量,并重新生成分页条
currentPage = pageNumber;
$("#pagination").html(createPagination(currentPage, Math.ceil(list.length /pageSize)));
$("#pagination").html(createPagination(currentPage, Math.ceil(list.length / pageSize)));
}
// 为分页条上的每个按钮绑定点击事件
@ -218,8 +497,8 @@ $(document).ready(function () {
}
// 根据点击的按钮,调用selectPage函数更新当前页码
if (pageNumber === "<" ) {
if(currentPage <2){
if (pageNumber === "<") {
if (currentPage < 2) {
return
}
selectPage(currentPage - 1);
@ -234,114 +513,181 @@ $(document).ready(function () {
});
// 初始化分页条,总页数为20,默认显示第一页
$("#pagination").html(createPagination(currentPage, Math.ceil(list.length /pageSize)));
$("#pagination").html(createPagination(currentPage, Math.ceil(list.length / pageSize)));
}
// 模拟数据
const allData = [
"数据 1", "数据 2", "数据 3", "数据 4", "数据 5",
"数据 6", "数据 7", "数据 8", "数据 9", "数据 10",
"数据 11", "数据 12", "数据 13", "数据 14", "数据 15",
"数据 16", "数据 17", "数据 18", "数据 19", "数据 20",
"数据 21", "数据 22", "数据 23", "数据 24", "数据 25",
"数据 26", "数据 27", "数据 28", "数据 29", "数据 30"
];
// 总页数
const totalPages = Math.ceil(allData.length / pageSize);
// 渲染数据
function renderData() {
const start = (currentPage - 1) * pageSize;
const end = start + pageSize;
const pageData = allData.slice(start, end);
// 清空列表
$('#data-list').empty();
// 渲染当前页数据
pageData.forEach(item => {
$('#data-list').append(`<li>${item}</li>`);
});
// 模拟数据
var allData = [
"数据 1", "数据 2", "数据 3", "数据 4", "数据 5",
"数据 6", "数据 7", "数据 8", "数据 9", "数据 10",
"数据 11", "数据 12", "数据 13", "数据 14", "数据 15",
"数据 16", "数据 17", "数据 18", "数据 19", "数据 20",
"数据 21", "数据 22", "数据 23", "数据 24", "数据 25",
"数据 26", "数据 27", "数据 28", "数据 29", "数据 30"
];
allData = waitCheck;
// 总页数
var totalPages = Math.ceil(allData.length / pageSize);
// 渲染数据
function renderData() {
totalPages = Math.ceil(allData.length / pageSize);
const start = (currentPage - 1) * pageSize;
const end = start + pageSize;
const pageData = allData.slice(start, end);
// 清空列表
$('#data-list').empty();
var html1 = '';
// 渲染当前页数据
pageData.forEach(item => {
let imagesHTML = '';
if (item.imgs) {
item.imgs.forEach(image => {
imagesHTML += `
<div class="small-image">
<span class="small-image-desc">图片</span>
<img src="./style/img/${image}" alt="Small Image">
</div>
`;
});
} else if (item.vedios) {
item.vedios.forEach(v => {
imagesHTML += `
<div class="small-video-cover" href="${v.url}">
<span class="small-image-desc">视频</span>
<img class="small-video-show" src="./style/img/${v.img_show}" alt="Video Cover">
<img src="./style/img/play.svg" class="play-video" alt="...丢了">
</div>
`;
});
}
html1 += `<div class="list_item ">
<div class="list_item_top flex">
<div class="list_item_top_l">
<span class="${item.source == '微博' ? 'green' : 'blue'}">` + item.source + `</span>
${item.question ? `<b>${item.question}</b>` :''}
<span>` + item.name + `</span>
<span>录入` + item.lurutime + `</span>
</div>
${
tabActive == '1' ? ' <div class="list_item_top_r" id="${item.id}"><img src="./style/img/edit.svg" alt="">编辑</div>' :''
}
</div>
<p class="desc_text">
${item.desc}
</p>
<!-- 图片合集 -->
<div class="img_list">
${imagesHTML}
</div>
<div class="flex btngroups">
${tabActive == '1' || tabActive == '2' ? '<button class="button button-normal deleteBtn">删除</button>' : ''}
${tabActive == '1' ? '<button class="button button-primary passBtn">通过</button>' : ''}
${tabActive == '3' || tabActive == '2' ? '<button class="button button-normal checkBtn">恢复待审批</button>' : ''}
</div>
</div>`
$('#data-list').html(html1);
});
// 渲染分页按钮
renderPagination();
}
// 渲染分页按钮
renderPagination();
}
// 渲染分页按钮
function renderPagination() {
const pageNumbers = $('#page-numbers');
pageNumbers.empty();
// 总页数小于等于 7 时,显示所有页码
if (totalPages <= 7) {
for (let i = 1; i <= totalPages; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
} else {
// 总页数大于 7 时,显示部分页码并用省略号代替
if (currentPage <= 4) {
// 前 5 页 + 省略号 + 最后一页
for (let i = 1; i <= 5; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
pageNumbers.append('<span>...</span>');
pageNumbers.append(`<span>${totalPages}</span>`);
} else if (currentPage >= totalPages - 3) {
// 第一页 + 省略号 + 最后 5 页
pageNumbers.append('<span>1</span>');
pageNumbers.append('<span>...</span>');
for (let i = totalPages - 4; i <= totalPages; i++) {
function renderPagination() {
const pageNumbers = $('#page-numbers');
pageNumbers.empty();
// 总页数小于等于 7 时,显示所有页码
if (totalPages <= 7) {
for (let i = 1; i <= totalPages; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
} else {
// 第一页 + 省略号 + 当前页及前后两页 + 省略号 + 最后一页
pageNumbers.append('<span>1</span>');
pageNumbers.append('<span>...</span>');
for (let i = currentPage - 2; i <= currentPage + 2; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
// 总页数大于 7 时,显示部分页码并用省略号代替
if (currentPage <= 4) {
// 前 5 页 + 省略号 + 最后一页
for (let i = 1; i <= 5; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
pageNumbers.append('<span>...</span>');
pageNumbers.append(`<span>${totalPages}</span>`);
} else if (currentPage >= totalPages - 3) {
// 第一页 + 省略号 + 最后 5 页
pageNumbers.append('<span>1</span>');
pageNumbers.append('<span>...</span>');
for (let i = totalPages - 4; i <= totalPages; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
} else {
// 第一页 + 省略号 + 当前页及前后两页 + 省略号 + 最后一页
pageNumbers.append('<span>1</span>');
pageNumbers.append('<span>...</span>');
for (let i = currentPage - 2; i <= currentPage + 2; i++) {
pageNumbers.append(`<span class="${i === currentPage ? 'pagActive' : ''}">${i}</span>`);
}
pageNumbers.append('<span>...</span>');
pageNumbers.append(`<span>${totalPages}</span>`);
}
pageNumbers.append('<span>...</span>');
pageNumbers.append(`<span>${totalPages}</span>`);
}
// 绑定页码点击事件
pageNumbers.find('span').click(function () {
const page = parseInt($(this).text());
if (!isNaN(page)) {
currentPage = page;
renderData();
}
});
}
// 绑定页码点击事件
pageNumbers.find('span').click(function () {
const page = parseInt($(this).text());
if (!isNaN(page)) {
currentPage = page;
// 初始化渲染
renderData();
// 上一页
$('#prev-page').click(function () {
if (currentPage > 1) {
currentPage--;
renderData();
}
});
}
// 初始化渲染
renderData();
// 下一页
$('#next-page').click(function () {
if (currentPage < totalPages) {
currentPage++;
renderData();
}
});
// 上一页
$('#prev-page').click(function () {
if (currentPage > 1) {
currentPage--;
renderData();
}
});
// 跳转到指定页
$('#go-to-page').click(function () {
const page = parseInt($('#jump-to-page').val());
if (page >= 1 && page <= totalPages) {
currentPage = page;
renderData();
} else {
alert(`请输入有效的页码(1-${totalPages}`);
}
});
// 下一页
$('#next-page').click(function () {
if (currentPage < totalPages) {
currentPage++;
renderData();
}
});
// 跳转到指定页
$('#go-to-page').click(function () {
const page = parseInt($('#jump-to-page').val());
if (page >= 1 && page <= totalPages) {
currentPage = page;
renderData();
} else {
alert(`请输入有效的页码(1-${totalPages}`);
}
});
$('.index-nav-wrap-li').click(function () {
tabActive = $(this).attr('type');
switch (tabActive) {
case '1':
allData = waitCheck
break
case '2':
allData = checkList
break
case '3':
allData = deletedList
break
}
currentPage = 1;
$('.index-nav-wrap-li span').removeClass('active')
$(this).find('span').addClass('active')
renderData()
})
});
Loading…
Cancel
Save