Compare commits
7 Commits
61821f8d6e
...
531633fdef
Author | SHA1 | Date |
---|---|---|
deng | 531633fdef | 5 months ago |
罗玲玲 | daa063df79 | 5 months ago |
游小雨 | 7274d882e6 | 5 months ago |
sandow | ecd3b3f05c | 5 months ago |
deng | d291abdce3 | 5 months ago |
黄敏 | 18c4f4da50 | 5 months ago |
黄敏 | 3a115ab665 | 5 months ago |
@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
* 工具类css
|
||||||
|
*/
|
||||||
|
/* 嵌套文字横线 */
|
||||||
|
.line-container {
|
||||||
|
width: 100%;
|
||||||
|
background: url(../img/line.jpg) left center repeat-x;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.line {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 10px;
|
||||||
|
text-align: center;
|
||||||
|
font-family: 'Microsoft Yahei';
|
||||||
|
font-size: 24px;
|
||||||
|
background: #fff;
|
||||||
|
color: #000000;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 工具类css end
|
||||||
|
*/
|
@ -0,0 +1,701 @@
|
|||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 980px;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 导航栏 */
|
||||||
|
.nav {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav * {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 轮播图 */
|
||||||
|
.swiper-item {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-carousel-ind li {
|
||||||
|
width: 80px;
|
||||||
|
height: 5px;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 商品推荐标题 */
|
||||||
|
.recommend-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-title {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 980px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 42px;
|
||||||
|
font-family: "Times New Roman", Times, serif;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recommend-list {
|
||||||
|
width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
height: 360px;
|
||||||
|
padding: 0px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recommend-item {
|
||||||
|
float: left;
|
||||||
|
width: 1000px;
|
||||||
|
padding: 20px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recommend-item li {
|
||||||
|
float: left;
|
||||||
|
width: 218px;
|
||||||
|
position: relative;
|
||||||
|
display: inline;
|
||||||
|
margin: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recommend-item li a.img {
|
||||||
|
float: left;
|
||||||
|
width: 218px;
|
||||||
|
height: 218px;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
background: url(../img/yuan.png) left top no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recommend-item li a.wor {
|
||||||
|
float: left;
|
||||||
|
width: 218px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #000;
|
||||||
|
display: inline;
|
||||||
|
margin: 10px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 首页新闻样式(手风琴) */
|
||||||
|
.news-home-container {
|
||||||
|
padding-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-collapse {
|
||||||
|
border: 0;
|
||||||
|
margin: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-item {
|
||||||
|
margin-top: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-content {
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 40px;
|
||||||
|
height: 115px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-title {
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .card-container {
|
||||||
|
margin-top: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-card-header {
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 底部导航 */
|
||||||
|
.nav-bottom {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 底部栏 */
|
||||||
|
.footer {
|
||||||
|
margin: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-item {
|
||||||
|
color: #515151;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 留言 */
|
||||||
|
.message-container {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-form {
|
||||||
|
margin-top: 20px;
|
||||||
|
border-bottom: 1px dotted #888888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-list {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.message-container .message-list .message-item {
|
||||||
|
margin-top: 20px;
|
||||||
|
border-bottom: 1px solid #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-list .message-item .username-container {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-list .message-item .username-container .avator {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-list .message-item .content {
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-container .message-list .message-item .replay {
|
||||||
|
background: #EEEEEE;
|
||||||
|
margin: 10px;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 论坛 */
|
||||||
|
.forum-container {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list {
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 20px;
|
||||||
|
border-bottom: 3px dotted #EEEEEE;
|
||||||
|
border-top: 3px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item.line {
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item .h2 {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item .create-time {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .title {
|
||||||
|
font-size: 22px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .content {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 30px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .auth-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
color: #888888;
|
||||||
|
border-bottom: 1px dotted #888888;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .bottom-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #EEEEEE;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .bottom-container .title {
|
||||||
|
margin-left: 30px;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .bottom-container .btn {
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .message-list {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.forum-container .message-list .message-item {
|
||||||
|
margin-top: 20px;
|
||||||
|
border-bottom: 1px solid #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .message-list .message-item .username-container {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .message-list .message-item .username-container .avator {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .message-list .message-item .content {
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .message-list .message-item .replay {
|
||||||
|
background: #EEEEEE;
|
||||||
|
margin: 10px;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 考试 */
|
||||||
|
.paper-container {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-container thead {
|
||||||
|
border-radius: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-container thead tr th {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: blod;
|
||||||
|
line-height: 50px;
|
||||||
|
height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-container tbody tr td {
|
||||||
|
font-size: 16px;
|
||||||
|
height: 50px;
|
||||||
|
border-bottom: 5px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-container tbody tr {
|
||||||
|
border: 3px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 个人中心 */
|
||||||
|
.center-container {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .left-container {
|
||||||
|
border: 2px dotted #EEEEEE;
|
||||||
|
background: #FFFFFF;
|
||||||
|
width: 200px;
|
||||||
|
padding-top: 20px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .right-container {
|
||||||
|
flex: 1;
|
||||||
|
border: 2px dotted #EEEEEE;
|
||||||
|
background: #FFFFFF;
|
||||||
|
text-align: left;
|
||||||
|
padding: 20px;
|
||||||
|
padding-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 购物车 */
|
||||||
|
.btn-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: right;
|
||||||
|
margin-bottom: 60px;
|
||||||
|
border: 2px dotted #EEEEEE;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 登陆注册 */
|
||||||
|
.login-container {
|
||||||
|
background: #FFFFFF;
|
||||||
|
z-index: 9;
|
||||||
|
position: relative;
|
||||||
|
width: 480px;
|
||||||
|
margin: 0 auto;
|
||||||
|
border-radius: 20px;
|
||||||
|
margin-top: 100px;
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-form {
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0.8;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-container .bottom-container {
|
||||||
|
text-align: center;
|
||||||
|
color: #888888;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-container .bottom-container a {
|
||||||
|
margin-left: 10px;
|
||||||
|
border: 2px dotted #888888;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 确认下单页面 */
|
||||||
|
.address-table {
|
||||||
|
border: 3px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图文列表 */
|
||||||
|
.data-container {
|
||||||
|
margin: 20px 0;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item {
|
||||||
|
padding: 20px;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
min-height: 330px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item:hover {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .cover {
|
||||||
|
width: 100%;
|
||||||
|
height: 200px;
|
||||||
|
object-fit: cover;
|
||||||
|
border: 1px solid #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .title {
|
||||||
|
text-align: center;
|
||||||
|
padding: 10px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .price {
|
||||||
|
font-size: 20px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .data {
|
||||||
|
font-size: 16px;
|
||||||
|
border: 1px solid #EEEEEE;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .data .item {
|
||||||
|
width: 40%;
|
||||||
|
text-align: center;
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
border: 0;
|
||||||
|
font-size: 16px;
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 数据详情页 */
|
||||||
|
|
||||||
|
.data-detail {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail-breadcrumb {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 20px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .title {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
border: 3px dotted #EEEEEE;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .count-container {
|
||||||
|
background: url(../img/seckilling.jpg);
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 15px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .count-container .text {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: blod;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .count-container .number {
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: blod;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .tool-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bolder;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .price {
|
||||||
|
color: red;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .detail-item {
|
||||||
|
background: #EEEEEE;
|
||||||
|
padding: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .desc {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-container {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.num-picker {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.num-picker button {
|
||||||
|
border: 0;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.num-picker input {
|
||||||
|
width: 50px;
|
||||||
|
text-align: center;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-add-container{
|
||||||
|
width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
padding: 20px;
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 详情页选座 */
|
||||||
|
.seat-list {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
background: #FFFFFF;
|
||||||
|
margin: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seat-item {
|
||||||
|
width: 10%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seat-icon {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* banner */
|
||||||
|
.banner {
|
||||||
|
width: 100%;
|
||||||
|
height: 50px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 新闻列表 */
|
||||||
|
.news-container {
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .pager {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item {
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 1px solid #EEEEEE;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .cover-container {
|
||||||
|
margin: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .cover-container .cover {
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .detail-container .h2 {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .detail-container .desc {
|
||||||
|
height: 140px;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .title {
|
||||||
|
font-size: 22px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .content {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 30px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .auth-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
color: #888888;
|
||||||
|
border-bottom: 1px dotted #888888;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.news-container .bottom-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #EEEEEE;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .bottom-container .title {
|
||||||
|
margin-left: 30px;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .bottom-container .btn {
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
@ -0,0 +1,265 @@
|
|||||||
|
/* 导航栏 */
|
||||||
|
.nav {
|
||||||
|
background: #f7f7f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav .layui-nav-item a {
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav .layui-this:after,
|
||||||
|
.layui-nav-bar,
|
||||||
|
.layui-nav-tree .layui-nav-itemed:after {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav .layui-nav-item a:hover {
|
||||||
|
color: #FFFFFF;
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav .layui-nav-child dd.layui-this a,
|
||||||
|
.layui-nav-child dd.layui-this {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-nav-tree .layui-nav-child dd.layui-this, .layui-nav-tree .layui-nav-child dd.layui-this a, .layui-nav-tree .layui-this, .layui-nav-tree .layui-this>a, .layui-nav-tree .layui-this>a:hover {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 轮播图 */
|
||||||
|
.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-carousel-ind li.layui-this {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-carousel-ind li {
|
||||||
|
background-color: #888888;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 首页标题 */
|
||||||
|
.index-title {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 首页新闻 */
|
||||||
|
.news-home-container {
|
||||||
|
background: #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-item {
|
||||||
|
border: 1px solid #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-content {
|
||||||
|
background: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-title {
|
||||||
|
background: #d1d1d1;
|
||||||
|
border: 1px solid #EEEEEE;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-colla-title:hover {
|
||||||
|
background: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-home-container .layui-card-header {
|
||||||
|
background: #d1d1d1;
|
||||||
|
border: 1px solid #FFFFFF;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图文列表 */
|
||||||
|
|
||||||
|
.data-container .data-list .data-item:hover {
|
||||||
|
border: 1px solid #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .title:hover {
|
||||||
|
background: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .title {
|
||||||
|
background: #515151;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-container .data-list .data-item .price {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 详情页 */
|
||||||
|
.data-detail {
|
||||||
|
background: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail-breadcrumb {
|
||||||
|
background: #EEEEEE;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .title {
|
||||||
|
color: #515151;
|
||||||
|
border: 3px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .count-container {
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .count-container .number {
|
||||||
|
background: #443b3b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .tool-container{
|
||||||
|
border: 3px dotted #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-detail .price{
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.layui-tab-card>.layui-tab-title .layui-this {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 底部导航栏 */
|
||||||
|
.nav-bottom {
|
||||||
|
background: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-bottom .layui-nav-item a {
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* banner */
|
||||||
|
.banner {
|
||||||
|
background: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 新闻资讯 */
|
||||||
|
.news-container .news-list .news-item .detail-container .h2 {
|
||||||
|
color: #4e6990;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .detail-container .desc {
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .news-list .news-item .detail-container .create-time {
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news-container .title {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.news-container .bottom-container .btn {
|
||||||
|
background: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 论坛 */
|
||||||
|
|
||||||
|
.forum-container .bottom-container .btn {
|
||||||
|
background: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item:hover {
|
||||||
|
background: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forum-container .forum-list .forum-item.line:hover {
|
||||||
|
background: #ce0b07;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 考试 */
|
||||||
|
.paper-container thead tr{
|
||||||
|
background: #ce0b07 ;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-container tbody tr:hover{
|
||||||
|
color: #FFFFFF;
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 个人中心 */
|
||||||
|
|
||||||
|
.center-container .layui-nav .layui-nav-more {
|
||||||
|
border-color: #515151 transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .layui-nav-itemed>a, .layui-nav-tree .layui-nav-title a, .layui-nav-tree .layui-nav-title a:hover {
|
||||||
|
color: #515151 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .layui-nav .layui-nav-mored, .layui-nav-itemed>a .layui-nav-more {
|
||||||
|
border-color: transparent transparent #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .layui-nav {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
color: #515151;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .layui-nav-itemed>.layui-nav-child {
|
||||||
|
background-color: #FFFFFF !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container .layui-nav-tree .layui-nav-bar {
|
||||||
|
width: 5px;
|
||||||
|
height: 0;
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 分页插件 */
|
||||||
|
.layui-laypage .layui-laypage-curr .layui-laypage-em {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-laypage a:hover {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-submit {
|
||||||
|
background: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-theme{
|
||||||
|
background: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* checkbox */
|
||||||
|
.layui-form-radio>i:hover, .layui-form-radioed>i {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-form-select dl dd.layui-this {
|
||||||
|
background-color: #ce0b07;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-tab-brief>.layui-tab-title .layui-this {
|
||||||
|
color: #ce0b07;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-tab-brief>.layui-tab-more li.layui-this:after, .layui-tab-brief>.layui-tab-title .layui-this:after {
|
||||||
|
border-bottom: 2px solid #ce0b07;
|
||||||
|
}
|
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -0,0 +1,302 @@
|
|||||||
|
<!-- 首页 -->
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<title>首页</title>
|
||||||
|
<link rel="stylesheet" href="./layui/css/layui.css">
|
||||||
|
<link rel="stylesheet" href="./xznstatic/css/common.css"/>
|
||||||
|
<link rel="stylesheet" href="./xznstatic/css/style.css"/>
|
||||||
|
</head>
|
||||||
|
<style type="text/css">
|
||||||
|
html, body {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#iframe {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 38px;
|
||||||
|
padding-top: 100px;
|
||||||
|
}
|
||||||
|
#header {
|
||||||
|
height: auto;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .nav-top {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #2a8a15;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 38px;
|
||||||
|
background-color: rgba(127, 78, 22, 1);
|
||||||
|
box-shadow: 0 1px 6px rgba(0,0,0,.3);
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .nav-top-img {
|
||||||
|
width: 124px;
|
||||||
|
height: 40px;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(0,0,0,.3);
|
||||||
|
box-shadow: 0 0 6px rgba(0,0,0,.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .nav-top-title {
|
||||||
|
line-height: 40px;
|
||||||
|
font-size: 25px;
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 10px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(127, 78, 22, 1);
|
||||||
|
box-shadow: 0 0 0px rgba(0,0,0,.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .nav-top-tel {
|
||||||
|
line-height: 40px;
|
||||||
|
font-size: 25px;
|
||||||
|
color: rgba(222, 222, 222, 1);
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(179, 172, 172, 1);
|
||||||
|
box-shadow: 0 0 0px rgba(0,0,0,.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .navs {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 20px;
|
||||||
|
align-items: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 100px;
|
||||||
|
background-color: rgba(69, 69, 69, 1);
|
||||||
|
box-shadow: 0 1px 6px rgba(0,0,0,0);
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
#header .navs .title {
|
||||||
|
width: auto;
|
||||||
|
line-height: 40px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333;
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 5px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(0,0,0,.3);
|
||||||
|
box-shadow: 0 0 6px rgba(0,0,0,0);
|
||||||
|
}
|
||||||
|
#header .navs li {
|
||||||
|
display: inline-block;
|
||||||
|
width: auto;
|
||||||
|
line-height: 34px;
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 5px;
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 20px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(0,0,0,.3);
|
||||||
|
background-color: $template2.front.base.nav.list.item.backgroundColor;
|
||||||
|
box-shadow: 0 0 6px rgba(0,0,0,.1);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#header .navs li a{
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
#header .navs li.current a{
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
#header .navs li a:hover{
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
#header .navs li.current {
|
||||||
|
color: rgba(247, 197, 30, 1);
|
||||||
|
font-size: 21px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: $template2.front.base.nav.list.activeBox.borderColor;
|
||||||
|
background-color: $template2.front.base.nav.list.activeBox.backgroundColor;
|
||||||
|
box-shadow: 0 0 0px rgba(255,0,0,.8);
|
||||||
|
}
|
||||||
|
#header .navs li:hover {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 20px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-width: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(0,0,0,.3);
|
||||||
|
background-color: rgba(247, 197, 30, 1);
|
||||||
|
box-shadow: 0 0 0px rgba(0,0,0,.3);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<!-- start 顶部导航栏 -->
|
||||||
|
<div id="header">
|
||||||
|
<div v-if='true' class="nav-top">
|
||||||
|
<img v-if='false' class="nav-top-img" src='https://www.baidu.com/img/flexible/logo/pc/result@2.png'>
|
||||||
|
<div v-if="true" class="nav-top-title">{{projectName}}</div>
|
||||||
|
<div class="nav-top-tel"></div>
|
||||||
|
</div>
|
||||||
|
<div class="navs">
|
||||||
|
<!-- <div class="logo" style="font-size: 20px;top: 32px;color: #fff;font-weight: bold;margin-left: -200px;width: 240px;" v-text="projectName"></div> -->
|
||||||
|
<div class="title" v-if="false" v-text="projectName"></div>
|
||||||
|
<div class="list">
|
||||||
|
<ul>
|
||||||
|
<li class='current'><a href="javascript:navPage('./pages/home/home.html')" class="menumain"><i v-if="false" class="layui-icon layui-icon-home"></i>首页</a></li>
|
||||||
|
<li v-for="(item,index) in indexNav" v-bind:key="index"><a :href="'javascript:navPage(\''+item.url+'\')'" class="menumain" style="cursor: pointer;"><i v-if="false" class="layui-icon" :class="iconArr[index]"></i>{{item.name}}</a></li>
|
||||||
|
<li><a href="javascript:centerPage();" class="menumain"><i v-if="false" class="layui-icon layui-icon-username"></i>个人中心</a></li>
|
||||||
|
<li v-if="cartFlag"><a href="javascript:navPage('./pages/shop-cart/list.html')" class="menumain"><i v-if="false" class="layui-icon"></i>购物车</a></li>
|
||||||
|
<li v-if="chatFlag"><a href="javascript:chatTap()" class="menumain"><i v-if="false" class="layui-icon"></i>客服</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end 顶部导航栏 -->
|
||||||
|
|
||||||
|
<iframe src="./pages/home/home.html" id="iframe" frameborder="0" scrolling="no" width="100%" onload="changeFrameHeight"></iframe>
|
||||||
|
|
||||||
|
<div id="tabbar" v-if="true" class="tabbar" :style='{"padding":"20px 0","boxShadow":"0 0 6px #F2F2F2","margin":"10px 0 0 0","borderColor":"rgba(0,0,0,.3)","backgroundColor":"rgba(242, 242, 242, 1)","borderRadius":"0","borderWidth":"0","borderStyle":"solid"}' style="position: relative;z-index: 999;">
|
||||||
|
<img v-if='false' :style='{"boxShadow":"0 0 6px rgba(255,0,0,.8)","margin":"0 auto","borderColor":"rgba(0,0,0,.3)","borderRadius":"100%","borderWidth":"1px","width":"44px","borderStyle":"solid","height":"44px"}' style='display: block;' src='http://codegen.caihongy.cn/20201024/ed5e326ca66f403aa3197b5fbb4ec733.jpg' />
|
||||||
|
<div :style='{"padding":"0 10px","boxShadow":"0 0 6px #F2F2F2","margin":"10px auto","borderColor":"rgba(242, 242, 242, 1)","backgroundColor":"rgba(242, 242, 242, 1)","color":"#fff","textAlign":"center","borderRadius":"0","borderWidth":"0","width":"100%","lineHeight":"32px","fontSize":"14px","borderStyle":"solid"}' class="company"></div>
|
||||||
|
<div :style='{"padding":"0 10px","boxShadow":"0 0 6px #F2F2F2","margin":"10px auto","borderColor":"rgba(242, 242, 242, 1)","backgroundColor":"rgba(242, 242, 242, 1)","color":"rgba(64, 59, 59, 1)","textAlign":"center","borderRadius":"0","borderWidth":"0","width":"100%","lineHeight":"32px","fontSize":"14px","borderStyle":"solid"}' class="record">© 2020-2021 毕业设计所有</div>
|
||||||
|
<div :style='{"padding":"0 10px","boxShadow":"0 0 6px rgba(255,0,0,0)","margin":"10px auto 30px auto","borderColor":"rgba(255,255,255,1)","backgroundColor":"#000","color":"#fff","textAlign":"center","borderRadius":"0","borderWidth":"1px 0","width":"40%","lineHeight":"32px","fontSize":"14px","borderStyle":"solid"}' class="desc"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="./xznstatic/js/jquery-1.11.3.min.js"></script>
|
||||||
|
<script src="./layui/layui.js"></script>
|
||||||
|
<script src="./js/vue.js"></script>
|
||||||
|
<script src="./js/config.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var vue1 = new Vue({el: '#tabbar'})
|
||||||
|
|
||||||
|
var vue = new Vue({
|
||||||
|
el: '#header',
|
||||||
|
data: {
|
||||||
|
iconArr: ['layui-icon-gift','layui-icon-email','layui-icon-logout','layui-icon-transfer','layui-icon-slider','layui-icon-print','layui-icon-cols','layui-icon-snowflake','layui-icon-note','layui-icon-flag','layui-icon-theme','layui-icon-website','layui-icon-console','layui-icon-face-surprised','layui-icon-template-1','layui-icon-app','layui-icon-read','layui-icon-component','layui-icon-file-b','layui-icon-unlink','layui-icon-tabs','layui-icon-form','layui-icon-chat'],
|
||||||
|
indexNav: indexNav,
|
||||||
|
cartFlag: cartFlag,
|
||||||
|
adminurl: adminurl,
|
||||||
|
chatFlag: chatFlag,
|
||||||
|
projectName: projectName,
|
||||||
|
},
|
||||||
|
mounted: function() {
|
||||||
|
this.bindClickOnLi();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.iconArr.sort(()=>{
|
||||||
|
return (0.5-Math.random())
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
jump(url) {
|
||||||
|
jump(url)
|
||||||
|
},
|
||||||
|
bindClickOnLi() {
|
||||||
|
let list = document.getElementsByTagName("li");
|
||||||
|
for(var i = 0;i<list.length;i++){
|
||||||
|
list[i].onclick = function(){
|
||||||
|
$(this).addClass("current").siblings().removeClass("current");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
layui.use(['element','layer'], function() {
|
||||||
|
var element = layui.element;
|
||||||
|
var layer = layui.layer;
|
||||||
|
});
|
||||||
|
|
||||||
|
function chatTap(){
|
||||||
|
var userTable = localStorage.getItem('userTable');
|
||||||
|
if (userTable) {
|
||||||
|
layui.layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '客服',
|
||||||
|
area: ['600px', '600px'],
|
||||||
|
content: './pages/chat/chat.html'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
window.location.href = './pages/login/login.html'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导航栏跳转
|
||||||
|
function navPage(url) {
|
||||||
|
localStorage.setItem('iframeUrl', url);
|
||||||
|
document.getElementById('iframe').src = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 跳转到个人中心也
|
||||||
|
function centerPage() {
|
||||||
|
var userTable = localStorage.getItem('userTable');
|
||||||
|
if (userTable) {
|
||||||
|
localStorage.setItem('iframeUrl', './pages/' + userTable + '/center.html');
|
||||||
|
document.getElementById('iframe').src = './pages/' + userTable + '/center.html';
|
||||||
|
} else {
|
||||||
|
window.location.href = './pages/login/login.html'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var iframeUrl = localStorage.getItem('iframeUrl');
|
||||||
|
document.getElementById('iframe').src = iframeUrl || './pages/home/home.html';
|
||||||
|
|
||||||
|
// var i = 0;
|
||||||
|
setInterval(function(){
|
||||||
|
// i++;
|
||||||
|
// if(i<50) changeFrameHeight();
|
||||||
|
changeFrameHeight();
|
||||||
|
},200)
|
||||||
|
|
||||||
|
function changeFrameHeight() {
|
||||||
|
var iframe = document.getElementById('iframe');
|
||||||
|
// iframe.height = 'auto';
|
||||||
|
if (iframe) {
|
||||||
|
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
|
||||||
|
if (iframeWin.document.body) {
|
||||||
|
iframe.height = iframeWin.document.body.scrollHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 窗口变化时候iframe自适应
|
||||||
|
// function changeFrameHeight() {
|
||||||
|
// var header = document.getElementById('header').scrollHeight;
|
||||||
|
// let isshow = true
|
||||||
|
// var tabbar = 0
|
||||||
|
// if(isshow) {
|
||||||
|
// tabbar = document.getElementById('tabbar').scrollHeight
|
||||||
|
// }
|
||||||
|
// var ifm = document.getElementById("iframe");
|
||||||
|
// ifm.height = document.documentElement.clientHeight - header - tabbar;
|
||||||
|
// ifm.width = document.documentElement.clientWidth;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// reasize 事件 窗口大小变化后执行的方法
|
||||||
|
window.onresize = function() {
|
||||||
|
changeFrameHeight();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,707 @@
|
|||||||
|
/**
|
||||||
|
* BootstrapAMapPositionPicker v0.8.3
|
||||||
|
* @author: Kinegratii
|
||||||
|
*/
|
||||||
|
(function (factory) {
|
||||||
|
'use strict';
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
define(['jquery', 'AMap'], factory);
|
||||||
|
} else if (typeof exports === 'object') {
|
||||||
|
module.exports = factory(require('jquery'), require('AMap'));
|
||||||
|
} else {
|
||||||
|
if (typeof jQuery === 'undefined') {
|
||||||
|
throw 'AMapPositionPicker requires jQuery to be loaded first';
|
||||||
|
}
|
||||||
|
if (typeof AMap == 'undefined') {
|
||||||
|
throw 'AMapPositionPicker requires AMap to be loaded first';
|
||||||
|
}
|
||||||
|
factory(jQuery, AMap);
|
||||||
|
}
|
||||||
|
}(function ($, AMap) {
|
||||||
|
// Global tool functions
|
||||||
|
String.prototype.format = function (data) {
|
||||||
|
var result = this;
|
||||||
|
for (var key in data) {
|
||||||
|
if (data[key] != undefined) {
|
||||||
|
var reg = new RegExp("({" + key + "})", "g");
|
||||||
|
result = result.replace(reg, data[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
if (typeof String.prototype.startsWith != 'function') {
|
||||||
|
String.prototype.startsWith = function (prefix) {
|
||||||
|
return this.slice(0, prefix.length) === prefix;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function wrapFormat(formatter, data) {
|
||||||
|
if (typeof formatter == 'function') {
|
||||||
|
return formatter(data);
|
||||||
|
} else if (typeof formatter == 'string') {
|
||||||
|
return formatter.format(data);
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data Structure Start
|
||||||
|
var Position = (function () {
|
||||||
|
function Position(longitude, latitude, address, label) {
|
||||||
|
this.longitude = longitude;
|
||||||
|
this.latitude = latitude;
|
||||||
|
this.address = address || '';
|
||||||
|
this.label = label || '';
|
||||||
|
}
|
||||||
|
|
||||||
|
Position.prototype.isValid = function () {
|
||||||
|
return this.longitude != undefined && this.longitude != null && this.latitude != undefined && this.latitude != null;
|
||||||
|
};
|
||||||
|
Position.prototype.copy = function (data) {
|
||||||
|
if (data == undefined) {
|
||||||
|
return new Position(this.longitude, this.latitude, this.address, this.label);
|
||||||
|
} else {
|
||||||
|
return new Position(
|
||||||
|
data.longitude || this.longitude,
|
||||||
|
data.latitude || this.latitude,
|
||||||
|
data.address || this.address,
|
||||||
|
data.label || this.label
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Position.prototype.getDisplayString = function () {
|
||||||
|
if (this.label) {
|
||||||
|
return this.label;
|
||||||
|
} else {
|
||||||
|
return this.address;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Position.fromOptions = function (options) {
|
||||||
|
if (options instanceof Position) {
|
||||||
|
return options;
|
||||||
|
} else {
|
||||||
|
return new Position(options.longitude, options.latitude, options.address, options.label);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Position.empty = function () {
|
||||||
|
return new Position(null, null, "", "");
|
||||||
|
};
|
||||||
|
Position.validate = function (position) {
|
||||||
|
if (position) {
|
||||||
|
return position.isValid();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Position.validateLngLat = function (lnglatStr) {
|
||||||
|
var result = /^([+-]?(0?\d{1,2}(\.\d{1,6})?|1[0-7]?\d{1}(\.\d{1,6})?|180\.0{1,6}))[-;,]([-+]?([0-8]?\d{1}(\.\d{1,6})?|90(\.0{1,6})?))$/.exec(lnglatStr);
|
||||||
|
if (result) {
|
||||||
|
return {longitude: parseFloat(result[1]), latitude: parseFloat(result[5])};
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Position.LNGLAT_FORMATTER = ['{longitude}-{latitude}', '{longitude};{latitude}', '{longitude},{latitude}'];
|
||||||
|
return Position;
|
||||||
|
}());
|
||||||
|
|
||||||
|
var Field = (function () {
|
||||||
|
var idIndex = -1;
|
||||||
|
|
||||||
|
function generateSelectorId(selector) {
|
||||||
|
if (selector.startsWith('#')) {
|
||||||
|
return selector.substring(1);
|
||||||
|
} else {
|
||||||
|
idIndex += 1;
|
||||||
|
return 'id_ampp_i' + idIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Field(options) {
|
||||||
|
this.name = options.name;
|
||||||
|
if (options.selector instanceof jQuery) {
|
||||||
|
this.$widget = options.selector;
|
||||||
|
this.created = true;
|
||||||
|
}
|
||||||
|
else if ($(options.selector).length > 0) {
|
||||||
|
this.$widget = $(options.selector);
|
||||||
|
this.created = true;
|
||||||
|
} else {
|
||||||
|
var inputHtml = '<input type="hidden" id="{id}" name="{name}"/>'.format({
|
||||||
|
id: generateSelectorId(options.selector),
|
||||||
|
name: options.name
|
||||||
|
});
|
||||||
|
this.$widget = $(inputHtml);
|
||||||
|
this.created = false;
|
||||||
|
}
|
||||||
|
this.formatter = function (position) {
|
||||||
|
return wrapFormat(options.formatter, position);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Field.prototype.render = function (position, hasPicked) {
|
||||||
|
|
||||||
|
var v;
|
||||||
|
if (hasPicked) {
|
||||||
|
v = this.formatter(position);
|
||||||
|
} else {
|
||||||
|
v = '';
|
||||||
|
}
|
||||||
|
console.log(v);
|
||||||
|
if (this.$widget.is('input') || this.$widget.is('textarea')) {
|
||||||
|
this.$widget.val(v);
|
||||||
|
} else if (this.$widget.is('div') || this.$widget.is('td') || this.$widget.is('p')) {
|
||||||
|
this.$widget.html(v);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return Field;
|
||||||
|
|
||||||
|
}());
|
||||||
|
|
||||||
|
var FieldManager = (function () {
|
||||||
|
var fields = [];
|
||||||
|
|
||||||
|
function FieldManager() {
|
||||||
|
fields = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
FieldManager.prototype.addField = function (field) {
|
||||||
|
fields.push(field);
|
||||||
|
};
|
||||||
|
|
||||||
|
FieldManager.prototype.render = function (position, hasPicked) {
|
||||||
|
for (var i = 0.; i < fields.length; i++) {
|
||||||
|
fields[i].render(position, hasPicked);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
return FieldManager;
|
||||||
|
|
||||||
|
}());
|
||||||
|
|
||||||
|
// Data Structure End
|
||||||
|
|
||||||
|
function buildBootstrapModalHTML() {
|
||||||
|
var toolsHtml = '<div class="btn-group">'
|
||||||
|
+ '<button id="idAMapPositionPickerLocation" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-map-marker"></span> 定位</button>'
|
||||||
|
+ '<button id="idAMapPositionPickerReset" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-repeat"></span> 重置</button>'
|
||||||
|
+ '<button id="idAMapPositionPickerClear" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-remove"></span> 清除</button>'
|
||||||
|
+ '<button id="idAMapPositionPickerSearch" type="button" class="btn btn-default btn-sm" data-toggle="collapse" data-target="#idAMapPositionPickerSearchPanel"><span class="glyphicon glyphicon-search"></span> 搜索</button>'
|
||||||
|
+ '</div>';
|
||||||
|
var searchPanelHtml = '<div id="idAMapPositionPickerSearchPanel" class="collapse"><input class="form-control input-sm" id="idAMapPositionPickerSearchInput"/><ul id="idAMapPositionPickerSearchResult" class="list-group"></ul></div>';
|
||||||
|
var mapPanelHtml = '<div id="idAMapPositionPickerFloatContainer" style="position: absolute;z-index: 2;top:5px;right: 5px;">' + toolsHtml + searchPanelHtml + '</div>';
|
||||||
|
var modalHtml = '<div class="modal fade" id="idAMapPositionPickerModal">'
|
||||||
|
+ '<div class="modal-dialog">'
|
||||||
|
+ '<div class="modal-content">'
|
||||||
|
+ '<div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><h4 class="modal-title">请选择地址</h4><small id="idAMapPositionPickerAlert" style="color: red">必须选择一个位置</small></div>'
|
||||||
|
+ '<div class="modal-body">'
|
||||||
|
+ '<div id="idAMapPositionPickerMap" style="height: 500px;" class="form-control">'
|
||||||
|
+ mapPanelHtml
|
||||||
|
+ '</div>' //End of Map container
|
||||||
|
+ '<input class="form-control input-sm" style="margin-top:5px;" id="idAMapPositionPickerAddress"/>'
|
||||||
|
+ '</div>' //End of modal-Body
|
||||||
|
+ '<div class="modal-footer">'
|
||||||
|
+ '<button id="idAMapPositionPickerSelect" type="button" class="btn btn-primary btn-sm">确定</button><button id="idAMapPositionPickerCancelBtn" type="button" class="btn btn-default btn-sm" data-dismiss="modal">取消</button>'
|
||||||
|
+ '</div>' //End of Modal-footer
|
||||||
|
+ '</div>' //End of Modal-content
|
||||||
|
+ '</div>' // End of Modal-dialog
|
||||||
|
+ '</div>';//End of Modal
|
||||||
|
return modalHtml;
|
||||||
|
}
|
||||||
|
|
||||||
|
var PICKER_CONTROLLER = (function () {
|
||||||
|
// Common Modal Controller for all elements
|
||||||
|
|
||||||
|
// Context pick
|
||||||
|
var mPicker = null;
|
||||||
|
var mapObj = null;
|
||||||
|
|
||||||
|
var isShowOrPickMode = false;
|
||||||
|
|
||||||
|
var $modal = null, $map, $addressInput, $alert, $pickBtn, $locationBtn, $resetBtn, $clearBtn, $cancelBtn;
|
||||||
|
|
||||||
|
// Current picked
|
||||||
|
var selectedMarker = null;
|
||||||
|
var cachePosition = Position.empty();
|
||||||
|
// Search plugin
|
||||||
|
var $searchBtn, $searchPanel, $searchInput, $searchResultList;
|
||||||
|
var markerList = [];
|
||||||
|
|
||||||
|
var geolocation;
|
||||||
|
|
||||||
|
|
||||||
|
var mapClickClickHandler = function (e) {
|
||||||
|
$alert.hide();
|
||||||
|
selectMarker(createMarkerFromLnglat(e.lnglat.lng, e.lnglat.lat));
|
||||||
|
};
|
||||||
|
|
||||||
|
function activate(picker) {
|
||||||
|
mPicker = picker;
|
||||||
|
showModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
function deactivate() {
|
||||||
|
mPicker = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function showModal() {
|
||||||
|
initializeController();
|
||||||
|
initializePicker();
|
||||||
|
|
||||||
|
var p = mPicker.position();
|
||||||
|
if (p && p.isValid()) {
|
||||||
|
selectMarker(createMarkerFromPosition(p));
|
||||||
|
} else {
|
||||||
|
if (selectedMarker) {
|
||||||
|
selectedMarker.setMap(null);
|
||||||
|
}
|
||||||
|
$addressInput.val('');
|
||||||
|
if (mPicker.opts.center.longitude && mPicker.opts.center.latitude) {
|
||||||
|
mapObj.setCenter(new AMap.LngLat(mPicker.opts.center.longitude, mPicker.opts.center.latitude));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$modal.modal('show');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function initializeController() {
|
||||||
|
// Initialize global options
|
||||||
|
if ($modal == null) {
|
||||||
|
$modal = $(buildBootstrapModalHTML());
|
||||||
|
$(document.body).append($modal);
|
||||||
|
mapObj = new AMap.Map("idAMapPositionPickerMap", {
|
||||||
|
zoom: 15
|
||||||
|
});
|
||||||
|
AMap.plugin(['AMap.ToolBar', 'AMap.Scale', 'AMap.OverView'],
|
||||||
|
function () {
|
||||||
|
mapObj.addControl(new AMap.ToolBar());
|
||||||
|
mapObj.addControl(new AMap.Scale());
|
||||||
|
mapObj.addControl(new AMap.OverView({isOpen: true}));
|
||||||
|
});
|
||||||
|
mapObj.on('click', mapClickClickHandler);
|
||||||
|
mapObj.plugin('AMap.Geolocation', function () {
|
||||||
|
geolocation = new AMap.Geolocation({
|
||||||
|
enableHighAccuracy: true,
|
||||||
|
timeout: 3000,
|
||||||
|
maximumAge: 0,
|
||||||
|
convert: true,
|
||||||
|
panToLocation: true,
|
||||||
|
zoomToAccuracy: true,
|
||||||
|
markerOptions: {}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// DOM Selectors and events
|
||||||
|
$map = $("#idAMapPositionPickerMap");
|
||||||
|
$pickBtn = $("#idAMapPositionPickerSelect");
|
||||||
|
$locationBtn = $("#idAMapPositionPickerLocation");
|
||||||
|
$resetBtn = $("#idAMapPositionPickerReset");
|
||||||
|
$clearBtn = $("#idAMapPositionPickerClear");
|
||||||
|
$addressInput = $("#idAMapPositionPickerAddress");
|
||||||
|
$cancelBtn = $("#idAMapPositionPickerCancelBtn");
|
||||||
|
$alert = $("#idAMapPositionPickerAlert");
|
||||||
|
|
||||||
|
$searchBtn = $("#idAMapPositionPickerSearch");
|
||||||
|
$searchPanel = $("#idAMapPositionPickerSearchPanel");
|
||||||
|
$searchInput = $("#idAMapPositionPickerSearchInput");
|
||||||
|
$searchResultList = $("#idAMapPositionPickerSearchResult");
|
||||||
|
|
||||||
|
$pickBtn.on('click', pickPosition);
|
||||||
|
$resetBtn.on('click', resetInitialPosition);
|
||||||
|
$clearBtn.on('click', clearPosition);
|
||||||
|
$locationBtn.on('click', location);
|
||||||
|
$searchPanel.on('show.bs.collapse', function () {
|
||||||
|
$searchBtn.removeClass('btn-default').addClass('btn-primary');
|
||||||
|
startSearch();
|
||||||
|
}).on('hide.bs.collapse', function () {
|
||||||
|
$searchBtn.removeClass('btn-primary').addClass('btn-default');
|
||||||
|
endSearch();
|
||||||
|
});
|
||||||
|
$('ul#idAMapPositionPickerSearchResult').on('click', 'li[data-poi-index]', highlightMarker);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initializePicker() {
|
||||||
|
toggleMode(false);
|
||||||
|
$map.css('height', mPicker.opts.height);
|
||||||
|
$modal.find('h4.modal-title').html(mPicker.opts.title);
|
||||||
|
$alert.hide();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function location() {
|
||||||
|
$alert.hide();
|
||||||
|
geolocation.getCurrentPosition(function (status, result) {
|
||||||
|
if (status == 'complete') {
|
||||||
|
selectMarker(createMarkerFromLnglat(result.position.lng, result.position.lat, result.formattedAddress))
|
||||||
|
} else {
|
||||||
|
$alert.html(result.message).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearPosition() {
|
||||||
|
cachePosition = Position.empty();
|
||||||
|
if (selectedMarker != null) {
|
||||||
|
selectedMarker.setMap(null);
|
||||||
|
}
|
||||||
|
$addressInput.val('');
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetInitialPosition() {
|
||||||
|
cachePosition = mPicker.getInitialPosition();
|
||||||
|
if (Position.validate(cachePosition)) {
|
||||||
|
selectMarker(createMarkerFromPosition(cachePosition));
|
||||||
|
} else if (selectedMarker != null) {
|
||||||
|
selectedMarker.setMap(null);
|
||||||
|
$addressInput.val('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function isPositionPicked() {
|
||||||
|
return cachePosition.isValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
function pickPosition() {
|
||||||
|
if (isShowOrPickMode) {
|
||||||
|
$modal.modal('hide');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var address = $addressInput.val();
|
||||||
|
cachePosition.address = address;
|
||||||
|
|
||||||
|
// Always use new position instance
|
||||||
|
var pickedPosition;
|
||||||
|
var hasPicked = isPositionPicked();
|
||||||
|
if (hasPicked) {
|
||||||
|
pickedPosition = cachePosition.copy();
|
||||||
|
} else {
|
||||||
|
pickedPosition = Position.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mPicker.opts.required && !hasPicked) {
|
||||||
|
$alert.html(mPicker.opts.errorTip).show();
|
||||||
|
} else {
|
||||||
|
$alert.hide();
|
||||||
|
$modal.modal('hide');
|
||||||
|
mPicker._onPickedCallback(pickedPosition, hasPicked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search Start
|
||||||
|
function highlightMarker(e) {
|
||||||
|
|
||||||
|
var index = $(this).data('poiIndex');
|
||||||
|
if (index < markerList.length) {
|
||||||
|
markerList[index].resumeMove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function startSearch() {
|
||||||
|
mapObj.off('click', mapClickClickHandler);
|
||||||
|
$resetBtn.prop('disabled', true);
|
||||||
|
$clearBtn.prop('disabled', true);
|
||||||
|
$locationBtn.prop('disabled', true);
|
||||||
|
|
||||||
|
$searchInput.on('keydown', function (e) {
|
||||||
|
var searchKeyword = $searchInput.val();
|
||||||
|
if (e.which == '13' && searchKeyword.length > 0) { //Enter
|
||||||
|
AMap.service('AMap.PlaceSearch', function () {
|
||||||
|
var placeSearch = new AMap.PlaceSearch({
|
||||||
|
pageSize: 6,
|
||||||
|
pageIndex: 1,
|
||||||
|
extensions: 'all' // return full address for POI
|
||||||
|
});
|
||||||
|
// Search in the given bound
|
||||||
|
placeSearch.searchInBounds(searchKeyword, mapObj.getBounds(), function (status, result) {
|
||||||
|
$searchResultList.children('li').remove();
|
||||||
|
for (var i in markerList) {
|
||||||
|
markerList[i].setMap(null);
|
||||||
|
}
|
||||||
|
markerList = [];
|
||||||
|
if (status == 'complete') {
|
||||||
|
for (var i in result.poiList.pois) {
|
||||||
|
var poi = result.poiList.pois[i];
|
||||||
|
var li = $('<li data-poi-index="{i}" class="list-group-item"><small>{name}</small></li>'.format({
|
||||||
|
i: i,
|
||||||
|
name: poi.name
|
||||||
|
}));
|
||||||
|
$searchResultList.append(li);
|
||||||
|
// delay to username poi.address
|
||||||
|
var mMarker = createMarkerFromLnglat(poi.location.lng, poi.location.lat);
|
||||||
|
mMarker.on('click', function (e) {
|
||||||
|
selectMarker(e.target);
|
||||||
|
});
|
||||||
|
markerList.push(mMarker);
|
||||||
|
}
|
||||||
|
mapObj.panTo(markerList[0].getPosition());
|
||||||
|
} else {
|
||||||
|
$searchPanel.append('<li class="list-group-item disabled"><small>抱歉,暂无找到符合条件的结果。</small></li>');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function endSearch() {
|
||||||
|
mapObj.on('click', mapClickClickHandler);
|
||||||
|
$resetBtn.prop('disabled', false);
|
||||||
|
$clearBtn.prop('disabled', false);
|
||||||
|
$locationBtn.prop('disabled', false);
|
||||||
|
$searchInput.val('').off('keydown');
|
||||||
|
for (var i in markerList) {
|
||||||
|
markerList[i].setMap(null);
|
||||||
|
}
|
||||||
|
markerList = [];
|
||||||
|
$searchResultList.children('li').remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search End
|
||||||
|
|
||||||
|
|
||||||
|
// New tools
|
||||||
|
|
||||||
|
function createMarkerFromPosition(position) {
|
||||||
|
var markerOpts = {
|
||||||
|
map: mapObj,
|
||||||
|
position: new AMap.LngLat(position.longitude, position.latitude),
|
||||||
|
topWhenClick: true,
|
||||||
|
offset: new AMap.Pixel(-5, -30),
|
||||||
|
animation: 'AMAP_ANIMATION_DROP',
|
||||||
|
extData: position
|
||||||
|
};
|
||||||
|
if (position.address) {
|
||||||
|
markerOpts.title = position.address;
|
||||||
|
}
|
||||||
|
var marker = new AMap.Marker(markerOpts);
|
||||||
|
return marker;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createMarkerFromLnglat(longitude, latitude, address) {
|
||||||
|
var position = new Position(longitude, latitude, address, "");
|
||||||
|
return createMarkerFromPosition(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectMarker(marker) {
|
||||||
|
clearPosition();
|
||||||
|
selectedMarker = marker;
|
||||||
|
var position = marker.getExtData();
|
||||||
|
var lngLat = marker.getPosition();
|
||||||
|
|
||||||
|
cachePosition.longitude = position.longitude;
|
||||||
|
cachePosition.latitude = position.latitude;
|
||||||
|
if (!position.address) {
|
||||||
|
var geocoder;
|
||||||
|
mapObj.plugin(["AMap.Geocoder"], function () {
|
||||||
|
geocoder = new AMap.Geocoder({
|
||||||
|
radius: 1000,
|
||||||
|
extensions: "base"
|
||||||
|
});
|
||||||
|
AMap.event.addListener(geocoder, "complete", function (GeocoderResult) {
|
||||||
|
if (GeocoderResult["info"] == "OK") {
|
||||||
|
var address = GeocoderResult.regeocode.formattedAddress;
|
||||||
|
position.address = address;
|
||||||
|
selectedMarker.setExtData(position);
|
||||||
|
cachePosition.address = address;
|
||||||
|
$addressInput.val(address);
|
||||||
|
mapObj.panTo(lngLat);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
geocoder.getAddress(lngLat);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
cachePosition.address = position.address;
|
||||||
|
mapObj.panTo(lngLat);
|
||||||
|
$addressInput.val(position.address);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// End Tool functions
|
||||||
|
|
||||||
|
function toggleMode(isShowOrPick) {
|
||||||
|
isShowOrPickMode = isShowOrPick;
|
||||||
|
|
||||||
|
$addressInput.prop('readonly', isShowOrPick);
|
||||||
|
if (isShowOrPick) {
|
||||||
|
mapObj.off('click', mapClickClickHandler);
|
||||||
|
$cancelBtn.hide();
|
||||||
|
$alert.hide();
|
||||||
|
$('#idAMapPositionPickerFloatContainer').hide();
|
||||||
|
} else {
|
||||||
|
mapObj.on('click', mapClickClickHandler);
|
||||||
|
$('#idAMapPositionPickerFloatContainer').show();
|
||||||
|
$cancelBtn.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function showPositionInMap(position) {
|
||||||
|
initializeController();
|
||||||
|
toggleMode(true);
|
||||||
|
clearPosition();
|
||||||
|
var mMarker = createMarkerFromPosition(position);
|
||||||
|
mapObj.panTo(mMarker.getPosition());
|
||||||
|
$modal.find('h4.modal-title').html(position.getDisplayString());
|
||||||
|
$addressInput.val(position.address);
|
||||||
|
$modal.modal('show');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
activate: activate,
|
||||||
|
deactivate: activate,
|
||||||
|
//Tools
|
||||||
|
showPositionInMap: showPositionInMap
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
var aMapPositionPicker = function (element, options) {
|
||||||
|
|
||||||
|
var picker = {
|
||||||
|
isFirstLoad: false,
|
||||||
|
initialPosition: null,
|
||||||
|
fieldManager: new FieldManager()
|
||||||
|
};
|
||||||
|
var $inputEl = null;
|
||||||
|
|
||||||
|
function triggerPickedComplete(mPosition, hasPicked) {
|
||||||
|
if (options.onPicked) {
|
||||||
|
options.onPicked(mPosition)
|
||||||
|
} else {
|
||||||
|
element.trigger('AMPP.PickCompleted', [mPosition, hasPicked]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// API for PICKER_CONTROLLER
|
||||||
|
picker._onPickedCallback = function (mPosition, hasPicked) {
|
||||||
|
element.data('position', mPosition);
|
||||||
|
$inputEl.val(wrapFormat(options.formatter, mPosition));
|
||||||
|
picker.fieldManager.render(mPosition, hasPicked);
|
||||||
|
triggerPickedComplete(mPosition, hasPicked);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Public API
|
||||||
|
|
||||||
|
picker.getInitialPosition = function () {
|
||||||
|
return initialPosition;
|
||||||
|
};
|
||||||
|
|
||||||
|
picker.position = function () {
|
||||||
|
var s = JSON.stringify(element.data('position'));
|
||||||
|
return element.data('position');
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
if (element.is('input') || element.is('textarea')) {
|
||||||
|
$inputEl = element;
|
||||||
|
} else {
|
||||||
|
$inputEl = element.children('input');
|
||||||
|
}
|
||||||
|
$inputEl.prop("readonly", true);
|
||||||
|
//Handle initial data
|
||||||
|
if (Position.LNGLAT_FORMATTER.indexOf(options.formatter)) {
|
||||||
|
var result = Position.validateLngLat($inputEl.val());
|
||||||
|
if (result) {
|
||||||
|
options.value.longitude = parseFloat(result.longitude);
|
||||||
|
options.value.latitude = parseFloat(result.latitude);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var initialPosition = new Position(options.value.longitude, options.value.latitude, options.value.address, options.value.label);
|
||||||
|
element.data('position', initialPosition.copy());
|
||||||
|
// Register events
|
||||||
|
element.on('click', function () {
|
||||||
|
//show modal/
|
||||||
|
PICKER_CONTROLLER.activate(picker);
|
||||||
|
});
|
||||||
|
// 处理fields
|
||||||
|
var fields = options.fields || [];
|
||||||
|
for (var i in fields) {
|
||||||
|
var iEl = new Field(fields[i] || {});
|
||||||
|
if (!iEl.created) {
|
||||||
|
$inputEl.after(iEl.$widget);
|
||||||
|
}
|
||||||
|
picker.fieldManager.addField(iEl);
|
||||||
|
}
|
||||||
|
|
||||||
|
picker.opts = options;
|
||||||
|
return picker;
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.AMapPositionPicker = function (options) {
|
||||||
|
options = options || {};
|
||||||
|
var args = Array.prototype.slice.call(arguments, 1),
|
||||||
|
isInstance = true,
|
||||||
|
thisMethods = [], //可级联函数列表
|
||||||
|
returnValue;
|
||||||
|
if (typeof options == 'object') {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this);
|
||||||
|
if (!$this.data('AMapPositionPicker')) {
|
||||||
|
var dataOptions = {
|
||||||
|
formatter: $this.data('formatter'),
|
||||||
|
title: $this.data('title'),
|
||||||
|
errorTip: $this.data('errorTip'),
|
||||||
|
height: $this.data('height'),
|
||||||
|
required: $this.data('required'),
|
||||||
|
value: {
|
||||||
|
longitude: $this.data('valueLongitude'),
|
||||||
|
latitude: $this.data('valueLatitude'),
|
||||||
|
address: $this.data('valueAddress'),
|
||||||
|
label: $this.data('valueLabel')
|
||||||
|
},
|
||||||
|
center: {
|
||||||
|
longitude: $this.data('centerLongitude'),
|
||||||
|
latitude: $this.data('centerLatitude')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
options = $.extend(true, {}, $.fn.AMapPositionPicker.defaults, dataOptions, options);
|
||||||
|
$this.data('AMapPositionPicker', aMapPositionPicker($this, options));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (typeof options == 'string') {
|
||||||
|
this.each(function () {
|
||||||
|
var $this = $(this),
|
||||||
|
instance = $this.data('AMapPositionPicker');
|
||||||
|
if (!instance) {
|
||||||
|
throw new Error('AMapPositionPicker("' + options + '") method was called on an element that is not using AMapPositionPicker');
|
||||||
|
}
|
||||||
|
returnValue = instance[options].apply(instance, args);
|
||||||
|
isInstance = returnValue === instance;
|
||||||
|
});
|
||||||
|
if (isInstance || $.inArray(options, thisMethods) > -1) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnValue;
|
||||||
|
}
|
||||||
|
throw new TypeError('Invalid arguments for AMapPositionPicker: ' + options);
|
||||||
|
};
|
||||||
|
$.fn.AMapPositionPicker.defaults = {
|
||||||
|
formatter: '{address}',
|
||||||
|
onPicked: null,
|
||||||
|
value: {
|
||||||
|
longitude: null,
|
||||||
|
latitude: null,
|
||||||
|
address: null
|
||||||
|
},
|
||||||
|
required: true,
|
||||||
|
title: '请选择地址',
|
||||||
|
errorTip: '请选择地址',
|
||||||
|
height: '500px',
|
||||||
|
fields: []
|
||||||
|
};
|
||||||
|
$.extend({AMapPositionPicker: {}});
|
||||||
|
$.extend($.AMapPositionPicker, {
|
||||||
|
showPositionInMap: function (position) {
|
||||||
|
PICKER_CONTROLLER.showPositionInMap(Position.fromOptions(position));
|
||||||
|
},
|
||||||
|
pluginVersion: '0.8.3'
|
||||||
|
});
|
||||||
|
$(function () {
|
||||||
|
$('[data-provide="AMapPositionPicker"]').AMapPositionPicker();
|
||||||
|
});
|
||||||
|
}))
|
||||||
|
;
|
@ -0,0 +1,2 @@
|
|||||||
|
/** layui-v2.5.6 MIT License By https://www.layui.com */
|
||||||
|
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
|
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 299 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 777 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.0 KiB |