新增加载更多动画
							parent
							
								
									a7b08fcf73
								
							
						
					
					
						commit
						3401446e65
					
				
							
								
								
									
										1
									
								
								App.vue
								
								
								
								
							
							
						
						
									
										1
									
								
								App.vue
								
								
								
								
							|  | @ -37,6 +37,7 @@ | |||
| 	/* 动画样式 start */ | ||||
| 	@import url("./commons/animate.min.css"); | ||||
| 	/* 动画样式 end */ | ||||
| 	@import url("./commons/loading.css"); | ||||
| 	 | ||||
| 	page {background-color: #f4f4f4;} | ||||
| 	.textc{ | ||||
|  |  | |||
|  | @ -329,11 +329,18 @@ button:after{content: none!important;} | |||
| .pad-s10{padding-top: 10rpx;} | ||||
| .pad-s20{padding-top: 20rpx;} | ||||
| .pad-s25{padding-top: 25rpx;} | ||||
| .pad-s28{padding-top: 28rpx;} | ||||
| .pad-s30{padding-top: 30rpx;} | ||||
| .pad-s32{padding-top: 32rpx;} | ||||
| .pad-s36{padding-top: 36rpx;} | ||||
| .pad-s40{padding-top: 40rpx;} | ||||
| .pad-s50{padding-top: 50rpx;} | ||||
| .pad-s60{padding-top: 60rpx;} | ||||
| .pad-s70{padding-top: 70rpx;} | ||||
| .pad-s80{padding-top: 80rpx;} | ||||
| .pad-s90{padding-top: 90rpx;} | ||||
| .pad-s100{padding-top: 100rpx;} | ||||
| .pad-s110{padding-top: 110rpx;} | ||||
| .pad-s120{padding-top: 120rpx;} | ||||
| .pad-s140{padding-top: 140rpx;} | ||||
| .pad-s160{padding-top: 160rpx;} | ||||
|  |  | |||
|  | @ -0,0 +1,874 @@ | |||
| .loading-box { | ||||
|     display: flex; | ||||
| 	justify-content: center; | ||||
| 	width: 100%; | ||||
| 	padding-top: 20px; | ||||
|     font-size: 30px; | ||||
|     color: rgba(253, 82, 75, 1); | ||||
|     vertical-align: top; | ||||
|     -webkit-transition: .3s color, .3s border; | ||||
|     transition: .3s color, .3s border; | ||||
| } | ||||
| /* .loading-box:hover { | ||||
|     color: #d60b52; | ||||
|     font-size: 0; | ||||
|     padding: 0; | ||||
|     border-width: 3px; | ||||
|     line-height: 200px; | ||||
| } | ||||
| .loading-box:hover [class*="loader-"] { | ||||
|     font-size: 70px; | ||||
|     line-height: 200px; | ||||
| } */ | ||||
| [class*="loader-"] { | ||||
|     display: inline-block; | ||||
|     width: 1em; | ||||
|     height: 1em; | ||||
|     color: inherit; | ||||
|     vertical-align: middle; | ||||
|     pointer-events: none; | ||||
| } | ||||
| .loader-01 { | ||||
|     border: .2em dotted currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s loader-01 linear infinite; | ||||
|     animation: 1s loader-01 linear infinite; | ||||
| } | ||||
| @-webkit-keyframes loader-01 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-01 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-02 { | ||||
|     border: .2em solid transparent; | ||||
|     border-left-color: currentcolor; | ||||
|     border-right-color: currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s loader-02 linear infinite; | ||||
|     animation: 1s loader-02 linear infinite; | ||||
| } | ||||
| @-webkit-keyframes loader-02 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-02 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-03 { | ||||
|     border: .2em solid currentcolor; | ||||
|     border-bottom-color: transparent; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s loader-03 linear infinite; | ||||
|     animation: 1s loader-03 linear infinite; | ||||
|     position: relative; | ||||
| } | ||||
| @-webkit-keyframes loader-03 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-03 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-04 { | ||||
|     border: 1px solid currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s loader-04 linear infinite; | ||||
|     animation: 1s loader-04 linear infinite; | ||||
|     position: relative; | ||||
| } | ||||
| .loader-04:before { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     width: 0; | ||||
|     height: 0; | ||||
|     position: absolute; | ||||
|     top: -.2em; | ||||
|     left: 50%; | ||||
|     border: .2em solid currentcolor; | ||||
|     border-radius: 50%; | ||||
| } | ||||
| @-webkit-keyframes loader-04 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-04 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-05 { | ||||
|     border: .2em solid transparent; | ||||
|     border-top-color: currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s loader-05 linear infinite; | ||||
|     animation: 1s loader-05 linear infinite; | ||||
|     position: relative; | ||||
| } | ||||
| .loader-05:before { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     position: absolute; | ||||
|     top: -.2em; | ||||
|     left: -.2em; | ||||
|     border: .2em solid currentcolor; | ||||
|     border-radius: 50%; | ||||
|     opacity: .5; | ||||
| } | ||||
| @-webkit-keyframes loader-05 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-05 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-06 { | ||||
|     border: .2em solid currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: loader-06 1s ease-out infinite; | ||||
|     animation: loader-06 1s ease-out infinite; | ||||
| } | ||||
| @-webkit-keyframes loader-06 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|         opacity: 0; | ||||
|     } | ||||
|     50% { | ||||
|         opacity: 1; | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-06 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|         opacity: 0; | ||||
|     } | ||||
|     50% { | ||||
|         opacity: 1; | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| .loader-07 { | ||||
|     border: 0 solid transparent; | ||||
|     border-radius: 50%; | ||||
|     position: relative; | ||||
| } | ||||
| .loader-07:before, | ||||
| .loader-07:after { | ||||
|     content: ''; | ||||
|     border: .2em solid currentcolor; | ||||
|     border-radius: 50%; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     left: 0; | ||||
|     -webkit-animation: loader-07 1s linear infinite; | ||||
|     animation: loader-07 1s linear infinite; | ||||
|     opacity: 0; | ||||
| } | ||||
| .loader-07:before { | ||||
|     -webkit-animation-delay: 1s; | ||||
|     animation-delay: 1s; | ||||
| } | ||||
| .loader-07:after { | ||||
|     -webkit-animation-delay: .5s; | ||||
|     animation-delay: .5s; | ||||
| } | ||||
| @-webkit-keyframes loader-07 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|         opacity: 0; | ||||
|     } | ||||
|     50% { | ||||
|         opacity: 1; | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-07 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|         opacity: 0; | ||||
|     } | ||||
|     50% { | ||||
|         opacity: 1; | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| .loader-08 { | ||||
|     position: relative; | ||||
| } | ||||
| .loader-08:before, | ||||
| .loader-08:after { | ||||
|     content: ''; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     border-radius: 50%; | ||||
|     background-color: currentcolor; | ||||
|     opacity: 0.6; | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     left: 0; | ||||
|     -webkit-animation: loader-08 2.0s infinite ease-in-out; | ||||
|     animation: loader-08 2.0s infinite ease-in-out; | ||||
| } | ||||
| .loader-08:after { | ||||
|     -webkit-animation-delay: -1.0s; | ||||
|     animation-delay: -1.0s; | ||||
| } | ||||
| @-webkit-keyframes loader-08 { | ||||
|     0%, 100% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-08 { | ||||
|     0%, 100% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|     } | ||||
| } | ||||
| .loader-09 { | ||||
|     background-color: currentcolor; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: loader-09 1.0s infinite ease-in-out; | ||||
|     animation: loader-09 1.0s infinite ease-in-out; | ||||
| } | ||||
| @-webkit-keyframes loader-09 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-09 { | ||||
|     0% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|         opacity: 0; | ||||
|     } | ||||
| } | ||||
| .loader-10 { | ||||
|     position: relative; | ||||
|     -webkit-animation: loader-10-1 2.0s infinite linear; | ||||
|     animation: loader-10-1 2.0s infinite linear; | ||||
| } | ||||
| .loader-10:before, | ||||
| .loader-10:after { | ||||
|     content: ''; | ||||
|     width: 0; | ||||
|     height: 0; | ||||
|     border: .5em solid currentcolor; | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     border-radius: 100%; | ||||
|     -webkit-animation: loader-10-2 2s infinite ease-in-out; | ||||
|     animation: loader-10-2 2s infinite ease-in-out; | ||||
| } | ||||
| .loader-10:before { | ||||
|     top: 0; | ||||
|     left: 50%; | ||||
| } | ||||
| .loader-10:after { | ||||
|     bottom: 0; | ||||
|     right: 50%; | ||||
|     -webkit-animation-delay: -1s; | ||||
|     animation-delay: -1s; | ||||
| } | ||||
| @-webkit-keyframes loader-10-1 { | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-10-1 { | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @-webkit-keyframes loader-10-2 { | ||||
|     0%, 100% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-10-2 { | ||||
|     0%, 100% { | ||||
|         -webkit-transform: scale(0); | ||||
|         transform: scale(0); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: scale(1); | ||||
|         transform: scale(1); | ||||
|     } | ||||
| } | ||||
| .loader-11 { | ||||
|     background-color: currentcolor; | ||||
|     -webkit-animation: loader-11 1.2s infinite ease-in-out; | ||||
|     animation: loader-11 1.2s infinite ease-in-out; | ||||
| } | ||||
| @-webkit-keyframes loader-11 { | ||||
|     0% { | ||||
|         -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); | ||||
|         transform: perspective(120px) rotateX(0deg) rotateY(0deg); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); | ||||
|         transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); | ||||
|         transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-11 { | ||||
|     0% { | ||||
|         -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); | ||||
|         transform: perspective(120px) rotateX(0deg) rotateY(0deg); | ||||
|     } | ||||
|     50% { | ||||
|         -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); | ||||
|         transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); | ||||
|         transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); | ||||
|     } | ||||
| } | ||||
| .loader-12 { | ||||
|     position: relative; | ||||
| } | ||||
| .loader-12:before, | ||||
| .loader-12:after { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     background-color: currentcolor; | ||||
|     left: 50%; | ||||
|     right: 0; | ||||
|     top: 0; | ||||
|     bottom: 50%; | ||||
|     box-shadow: -.5em 0 0 currentcolor; | ||||
|     -webkit-animation: loader-12 1s linear infinite; | ||||
|     animation: loader-12 1s linear infinite; | ||||
| } | ||||
| .loader-12:after { | ||||
|     top: 50%; | ||||
|     bottom: 0; | ||||
|     -webkit-animation-delay: .25s; | ||||
|     animation-delay: .25s; | ||||
| } | ||||
| @-webkit-keyframes loader-12 { | ||||
|     0%, 100% { | ||||
|         box-shadow: -.5em 0 0 transparent; | ||||
|         background-color: currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: -.5em 0 0 currentcolor; | ||||
|         background-color: transparent; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-12 { | ||||
|     0%, 100% { | ||||
|         box-shadow: -.5em 0 0 transparent; | ||||
|         background-color: currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: -.5em 0 0 currentcolor; | ||||
|         background-color: transparent; | ||||
|     } | ||||
| } | ||||
| .loader-13:before, | ||||
| .loader-13:after, | ||||
| .loader-13 { | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation-fill-mode: both; | ||||
|     animation-fill-mode: both; | ||||
|     -webkit-animation: loader-13 1.8s infinite ease-in-out; | ||||
|     animation: loader-13 1.8s infinite ease-in-out; | ||||
| } | ||||
| .loader-13 { | ||||
|     color: currentcolor; | ||||
|     position: relative; | ||||
|     -webkit-transform: translateZ(0); | ||||
|     transform: translateZ(0); | ||||
|     -webkit-animation-delay: -0.16s; | ||||
|     animation-delay: -0.16s; | ||||
|     top: -1em; | ||||
| } | ||||
| .loader-13:before { | ||||
|     right: 100%; | ||||
|     -webkit-animation-delay: -0.32s; | ||||
|     animation-delay: -0.32s; | ||||
| } | ||||
| .loader-13:after { | ||||
|     left: 100%; | ||||
| } | ||||
| .loader-13:before, | ||||
| .loader-13:after { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
| } | ||||
| @-webkit-keyframes loader-13 { | ||||
|     0%, 80%, 100% { | ||||
|         box-shadow: 0 1em 0 -1em; | ||||
|     } | ||||
|     40% { | ||||
|         box-shadow: 0 1em 0 -.2em; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-13 { | ||||
|     0%, 80%, 100% { | ||||
|         box-shadow: 0 1em 0 -1em; | ||||
|     } | ||||
|     40% { | ||||
|         box-shadow: 0 1em 0 -.2em; | ||||
|     } | ||||
| } | ||||
| .loader-14 { | ||||
|     border-radius: 50%; | ||||
|     box-shadow: 0 1em 0 -.2em currentcolor; | ||||
|     position: relative; | ||||
|     -webkit-animation: loader-14 0.8s ease-in-out alternate infinite; | ||||
|     animation: loader-14 0.8s ease-in-out alternate infinite; | ||||
|     -webkit-animation-delay: 0.32s; | ||||
|     animation-delay: 0.32s; | ||||
|     top: -1em; | ||||
| } | ||||
| .loader-14:after, | ||||
| .loader-14:before { | ||||
|     content: ''; | ||||
|     position: absolute; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     border-radius: inherit; | ||||
|     box-shadow: inherit; | ||||
|     -webkit-animation: inherit; | ||||
|     animation: inherit; | ||||
| } | ||||
| .loader-14:before { | ||||
|     left: -1em; | ||||
|     -webkit-animation-delay: 0.48s; | ||||
|     animation-delay: 0.48s; | ||||
| } | ||||
| .loader-14:after { | ||||
|     right: -1em; | ||||
|     -webkit-animation-delay: 0.16s; | ||||
|     animation-delay: 0.16s; | ||||
| } | ||||
| @-webkit-keyframes loader-14 { | ||||
|     0% { | ||||
|         box-shadow: 0 2em 0 -.2em currentcolor; | ||||
|     } | ||||
|     100% { | ||||
|         box-shadow: 0 1em 0 -.2em currentcolor; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-14 { | ||||
|     0% { | ||||
|         box-shadow: 0 2em 0 -.2em currentcolor; | ||||
|     } | ||||
|     100% { | ||||
|         box-shadow: 0 1em 0 -.2em currentcolor; | ||||
|     } | ||||
| } | ||||
| .loader-15 { | ||||
|     background: currentcolor; | ||||
|     position: relative; | ||||
|     -webkit-animation: loader-15 1s ease-in-out infinite; | ||||
|     animation: loader-15 1s ease-in-out infinite; | ||||
|     -webkit-animation-delay: 0.4s; | ||||
|     animation-delay: 0.4s; | ||||
|     width: .25em; | ||||
|     height: .5em; | ||||
| } | ||||
| .loader-15:after, | ||||
| .loader-15:before { | ||||
|     content: ''; | ||||
|     position: absolute; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     background: inherit; | ||||
|     -webkit-animation: inherit; | ||||
|     animation: inherit; | ||||
| } | ||||
| .loader-15:before { | ||||
|     right: .5em; | ||||
|     -webkit-animation-delay: 0.2s; | ||||
|     animation-delay: 0.2s; | ||||
| } | ||||
| .loader-15:after { | ||||
|     left: .5em; | ||||
|     -webkit-animation-delay: 0.6s; | ||||
|     animation-delay: 0.6s; | ||||
| } | ||||
| @-webkit-keyframes loader-15 { | ||||
|     0%, 100% { | ||||
|         box-shadow: 0 0 0 currentcolor, 0 0 0 currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: 0 -.25em 0 currentcolor, 0 .25em 0 currentcolor; | ||||
|     } | ||||
| } | ||||
| @keyframes loader-15 { | ||||
|     0%, 100% { | ||||
|         box-shadow: 0 0 0 currentcolor, 0 0 0 currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: 0 -.25em 0 currentcolor, 0 .25em 0 currentcolor; | ||||
|     } | ||||
| } | ||||
| .loader-16 { | ||||
|     -webkit-transform: rotateZ(45deg); | ||||
|     transform: rotateZ(45deg); | ||||
|     -webkit-perspective: 1000px; | ||||
|     perspective: 1000px; | ||||
|     border-radius: 50%; | ||||
| } | ||||
| .loader-16:before, | ||||
| .loader-16:after { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     left: 0; | ||||
|     width: inherit; | ||||
|     height: inherit; | ||||
|     border-radius: 50%; | ||||
|     -webkit-animation: 1s spin linear infinite; | ||||
|     animation: 1s spin linear infinite; | ||||
| } | ||||
| .loader-16:before { | ||||
|     -webkit-transform: rotateX(70deg); | ||||
|     transform: rotateX(70deg); | ||||
| } | ||||
| .loader-16:after { | ||||
|     -webkit-transform: rotateY(70deg); | ||||
|     transform: rotateY(70deg); | ||||
|     -webkit-animation-delay: .4s; | ||||
|     animation-delay: .4s; | ||||
| } | ||||
| @-webkit-keyframes rotate { | ||||
|     0% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotateZ(0deg); | ||||
|         transform: translate(-50%, -50%) rotateZ(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotateZ(360deg); | ||||
|         transform: translate(-50%, -50%) rotateZ(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes rotate { | ||||
|     0% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotateZ(0deg); | ||||
|         transform: translate(-50%, -50%) rotateZ(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotateZ(360deg); | ||||
|         transform: translate(-50%, -50%) rotateZ(360deg); | ||||
|     } | ||||
| } | ||||
| @-webkit-keyframes rotateccw { | ||||
|     0% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotate(0deg); | ||||
|         transform: translate(-50%, -50%) rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotate(-360deg); | ||||
|         transform: translate(-50%, -50%) rotate(-360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes rotateccw { | ||||
|     0% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotate(0deg); | ||||
|         transform: translate(-50%, -50%) rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: translate(-50%, -50%) rotate(-360deg); | ||||
|         transform: translate(-50%, -50%) rotate(-360deg); | ||||
|     } | ||||
| } | ||||
| @-webkit-keyframes spin { | ||||
|     0%, 100% { | ||||
|         box-shadow: .2em 0px 0 0px currentcolor; | ||||
|     } | ||||
|     12% { | ||||
|         box-shadow: .2em .2em 0 0 currentcolor; | ||||
|     } | ||||
|     25% { | ||||
|         box-shadow: 0 .2em 0 0px currentcolor; | ||||
|     } | ||||
|     37% { | ||||
|         box-shadow: -.2em .2em 0 0 currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: -.2em 0 0 0 currentcolor; | ||||
|     } | ||||
|     62% { | ||||
|         box-shadow: -.2em -.2em 0 0 currentcolor; | ||||
|     } | ||||
|     75% { | ||||
|         box-shadow: 0px -.2em 0 0 currentcolor; | ||||
|     } | ||||
|     87% { | ||||
|         box-shadow: .2em -.2em 0 0 currentcolor; | ||||
|     } | ||||
| } | ||||
| @keyframes spin { | ||||
|     0%, 100% { | ||||
|         box-shadow: .2em 0px 0 0px currentcolor; | ||||
|     } | ||||
|     12% { | ||||
|         box-shadow: .2em .2em 0 0 currentcolor; | ||||
|     } | ||||
|     25% { | ||||
|         box-shadow: 0 .2em 0 0px currentcolor; | ||||
|     } | ||||
|     37% { | ||||
|         box-shadow: -.2em .2em 0 0 currentcolor; | ||||
|     } | ||||
|     50% { | ||||
|         box-shadow: -.2em 0 0 0 currentcolor; | ||||
|     } | ||||
|     62% { | ||||
|         box-shadow: -.2em -.2em 0 0 currentcolor; | ||||
|     } | ||||
|     75% { | ||||
|         box-shadow: 0px -.2em 0 0 currentcolor; | ||||
|     } | ||||
|     87% { | ||||
|         box-shadow: .2em -.2em 0 0 currentcolor; | ||||
|     } | ||||
| } | ||||
| .loader-17 { | ||||
|     position: relative; | ||||
|     background-color: currentcolor; | ||||
|     border-radius: 50%; | ||||
| } | ||||
| .loader-17:after, | ||||
| .loader-17:before { | ||||
|     content: ""; | ||||
|     position: absolute; | ||||
|     width: .25em; | ||||
|     height: .25em; | ||||
|     border-radius: 50%; | ||||
|     opacity: .8; | ||||
| } | ||||
| .loader-17:after { | ||||
|     left: -.5em; | ||||
|     top: -.25em; | ||||
|     background-color: currentcolor; | ||||
|     -webkit-transform-origin: .75em 1em; | ||||
|     transform-origin: .75em 1em; | ||||
|     -webkit-animation: loader-17 1s linear infinite; | ||||
|     animation: loader-17 1s linear infinite; | ||||
|     opacity: .6; | ||||
| } | ||||
| .loader-17:before { | ||||
|     left: -1.25em; | ||||
|     top: -.75em; | ||||
|     background-color: currentcolor; | ||||
|     -webkit-transform-origin: 1.5em 1em; | ||||
|     transform-origin: 1.5em 1em; | ||||
|     -webkit-animation: loader-17 2s linear infinite; | ||||
|     animation: loader-17 2s linear infinite; | ||||
| } | ||||
| @-webkit-keyframes loader-17 { | ||||
|     0% { | ||||
|         -webkit-transform: rotateZ(0deg) translate3d(0, 0, 0); | ||||
|         transform: rotateZ(0deg) translate3d(0, 0, 0); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotateZ(360deg) translate3d(0, 0, 0); | ||||
|         transform: rotateZ(360deg) translate3d(0, 0, 0); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-17 { | ||||
|     0% { | ||||
|         -webkit-transform: rotateZ(0deg) translate3d(0, 0, 0); | ||||
|         transform: rotateZ(0deg) translate3d(0, 0, 0); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotateZ(360deg) translate3d(0, 0, 0); | ||||
|         transform: rotateZ(360deg) translate3d(0, 0, 0); | ||||
|     } | ||||
| } | ||||
| .loader-18 { | ||||
|     position: relative; | ||||
| } | ||||
| .loader-18:before, | ||||
| .loader-18:after { | ||||
|     content: ''; | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     border-radius: 50%; | ||||
|     border: .1em solid transparent; | ||||
|     border-bottom-color: currentcolor; | ||||
|     top: 0; | ||||
|     left: 0; | ||||
|     -webkit-animation: 1s loader-18 linear infinite; | ||||
|     animation: 1s loader-18 linear infinite; | ||||
| } | ||||
| .loader-18:before { | ||||
|     width: 1em; | ||||
|     height: 1em; | ||||
| } | ||||
| .loader-18:after { | ||||
|     width: .8em; | ||||
|     height: .8em; | ||||
|     top: .1em; | ||||
|     left: .1em; | ||||
|     -webkit-animation-direction: reverse; | ||||
|     animation-direction: reverse; | ||||
| } | ||||
| @-webkit-keyframes loader-18 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-18 { | ||||
|     0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|     } | ||||
|     100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| .loader-19 { | ||||
|     border-top: .2em solid currentcolor; | ||||
|     border-right: .2em solid transparent; | ||||
|     -webkit-animation: loader-19 1s linear infinite; | ||||
|     animation: loader-19 1s linear infinite; | ||||
|     border-radius: 100%; | ||||
|     position: relative; | ||||
| } | ||||
| @-webkit-keyframes loader-19 { | ||||
|     to { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
| @keyframes loader-19 { | ||||
|     to { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|     } | ||||
| } | ||||
|  | @ -59,7 +59,7 @@ | |||
| 	animation: scale_name 1s linear alternate infinite; | ||||
| } | ||||
| @keyframes scale_name{ | ||||
| 	from{transform: scale(1);} | ||||
| 	to{transform: scale(1.2);} | ||||
| 	from{transform: scale(.9);} | ||||
| 	to{transform: scale(1);} | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -15,12 +15,22 @@ | |||
| 				</view> | ||||
| 			</view> | ||||
| 		</view> | ||||
| 		<view class="mar-s60" v-if="total==dataList.length"> | ||||
| 			<pitera textStr="—— 到底啦 ——"></pitera> | ||||
| 		</view> | ||||
| 		<view class="loading-box mar-s60" v-show="ifLoading"> | ||||
| 		    <view class="loader-16"></view> | ||||
| 		</view> | ||||
| 	</view> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| 	import pitera from '@/components/nothing/pitera'; | ||||
| 	export default { | ||||
| 		name:"list-one", | ||||
| 		components:{ | ||||
| 			pitera | ||||
| 		}, | ||||
| 		props:{ | ||||
| 			// 是否显示标题 | ||||
| 			ifTitle:{ | ||||
|  | @ -47,10 +57,21 @@ | |||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'人气热销-16入海盐太妃糖',price:'2,000'}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'人气热销-16入海盐太妃糖',price:'2,000'}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'人气热销-16入海盐太妃糖',price:'2,000'}, | ||||
| 				] | ||||
| 				], | ||||
| 				ifLoading:false, | ||||
| 				total:0 | ||||
| 			}; | ||||
| 		}, | ||||
| 		methods:{ | ||||
| 			moreEv() { | ||||
| 				this.ifLoading = true; | ||||
| 				setTimeout(()=>{ | ||||
| 					this.total = this.dataList.length; | ||||
| 					this.ifLoading = false; | ||||
| 					console.log(this.total); | ||||
| 				},2000) | ||||
| 				console.log('触底了'); | ||||
| 			}, | ||||
| 			// 加入购物车 | ||||
| 			addCartEv(id) { | ||||
| 				this.$toolAll.tools.showToast('加入购物车成功(*^▽^*)') | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| 	<view class="pad-x120"> | ||||
| 		<view class="slide-box mar-x20 animated" v-for="(item, index) in listData" :key="index" :class="item.ifExit ? 'fadeInUp' : 'fadeOutDown'" :style="{display: item.ifShow ? 'flex' : 'none'}"> | ||||
| 		<view class="slide-box mar-x20 animated" v-for="(item, index) in listData" :key="index" :class="item.ifExit ? 'fadeIn' : 'fadeOutDown'" :style="{display: item.ifShow ? 'flex' : 'none'}"> | ||||
| 			<view class="slide-list"  | ||||
| 				@touchstart="touchStart($event, index)"  | ||||
| 				@touchend="touchEnd($event, index)" | ||||
|  | @ -50,7 +50,11 @@ | |||
| 			</view>  | ||||
| 		</view>  | ||||
| 		<nothing-page v-if="!ifLoading && !listData.length" content="你的购物车:这也空空,那也空空(*^▽^*)"></nothing-page> | ||||
| 		<pitera textStr="——到底啦——"></pitera> | ||||
| 		<view class="" v-if="total == listData.length"></view> | ||||
| 		<pitera textStr="—— 到底啦 ——"></pitera> | ||||
| 		<view class="loading-box" v-show="ifMore"> | ||||
| 		    <view class="loader-16"></view> | ||||
| 		</view> | ||||
| 	</view>  | ||||
| </template> | ||||
| 
 | ||||
|  | @ -141,6 +145,8 @@ | |||
| 				maxNum:20,//最大可输入数量 | ||||
| 				minNum:1,//最小可输入数量 | ||||
| 				ifLoading:true, | ||||
| 				total:0, | ||||
| 				ifMore:false | ||||
| 			}; | ||||
| 		}, | ||||
| 		mounted() { | ||||
|  | @ -149,6 +155,13 @@ | |||
| 		}, | ||||
| 		methods: { | ||||
| 			getList(){ | ||||
| 				console.log('触底'); | ||||
| 				this.total = 0; | ||||
| 				this.ifMore = true; | ||||
| 				setTimeout(()=>{ | ||||
| 					this.ifMore = false; | ||||
| 					this.total = this.listData.length; | ||||
| 				},2000) | ||||
| 				// for (let i = 0; i < 10; i++) { | ||||
| 				// 	this.listData.push({id: 1,image: 'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title: '标题',content: '描述描述描述描述描述描述',slide_x: 0,price:199,num:1,ifcheck:false,ifExit:true,ifShow:true}) | ||||
| 				// } | ||||
|  | @ -398,7 +411,7 @@ | |||
| 	} | ||||
| 	.countBtn{font-size: 36rpx;width: 40rpx;height: 40rpx;background-color: #000000;color: #FFFFFF; border-radius: 10rpx;} | ||||
| 	.countInput{background-color: #FFFFFF;width: 80rpx;height: 40rpx!important; border-radius: 10rpx;padding: 0rpx 0;margin: 0 10rpx;} | ||||
| 	.cart-foot-box{position: fixed;bottom: 0;right: 0;left: 0;background-color: #FFFFFF; padding: 20rpx 20rpx;box-shadow: -6rpx 0rpx 10rpx rgba(0, 0, 0, 0);} | ||||
| 	.cart-foot-box{position: fixed;bottom: 0;right: 0;left: 0;background-color: #FFFFFF;z-index: 2; padding: 20rpx 20rpx;box-shadow: -6rpx 0rpx 10rpx rgba(0, 0, 0, 0);} | ||||
| 	.cart-submit-btn{ | ||||
| 		 | ||||
| 		color: #FFFFFF; | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 		<status-container :ifReturn="false" titlet="分类"> | ||||
| 			<view slot="content" style="margin: -20rpx -20rpx 0 -20rpx;"> | ||||
| 				<view class="dis"> | ||||
| 					<view> | ||||
| 					<view class="cate-left-box"> | ||||
| 						<scroll-view scroll-y :style="{height: scrollHeight +'px'}" class="bacf"> | ||||
| 							<view class="pad-x160"> | ||||
| 								<view class="flexs clips1 pad-z20 fon24"  | ||||
|  | @ -16,26 +16,33 @@ | |||
| 						<view class="pad-sx20" :style="{width: newWidth+'px'}"> | ||||
| 							<swiper-tab-jl :list="secendCateList" v-model="activeIndex" @changeEv="clickTab" itemColor="#FFFFFF"></swiper-tab-jl> | ||||
| 						</view> | ||||
| 						<view class="disac bbt-d9 pad-sx30" @tap="goDetail(index)" v-for="(item,index) in dataList" :key="index"> | ||||
| 							<image class="radius30 flexs borbot-cc" :src="item.imgsrc" mode="aspectFill" style="width: 240rpx;height: 240rpx;"></image> | ||||
| 							<view class="width100 disjb fc mar-z20" style="height: 240rpx;"> | ||||
| 								<view class="fon30 colb clips2">{{item.title}}</view> | ||||
| 								<view class=""> | ||||
| 									<view class="fon36 textc mar-x36">¥{{$toolAll.tools.changeNum(item.price)}}</view> | ||||
| 									<view @tap.stop="addCartEv(index)" class="colf disjcac fon24 radius30  cate-btn"> | ||||
| 										<i class="icon icon-shop-cart mar-y10" style="font-size: 36rpx;"></i> | ||||
| 										立即选购 | ||||
| 						<scroll-view scroll-y="true" @scrolltolower="scrollBottomEv" :style="{height: scrollHeight +'px'}"> | ||||
| 							<view class=" posir" style="padding-bottom: 220rpx;"> | ||||
| 								<view class="disac bbt-d9 pad-sx30" @tap="goDetail(index)" v-for="(item,index) in dataList" :key="index"> | ||||
| 									<image class="radius30 flexs borbot-cc" :src="item.imgsrc" mode="aspectFill" style="width: 240rpx;height: 240rpx;"></image> | ||||
| 									<view class="width100 disjb fc mar-z20" style="height: 240rpx;"> | ||||
| 										<view class="fon30 colb clips2">{{item.title}}</view> | ||||
| 										<view class=""> | ||||
| 											<view class="fon36 textc mar-x36">¥{{$toolAll.tools.changeNum(item.price)}}</view> | ||||
| 											<view @tap.stop="addCartEv(index)" class="colf disjcac fon24 radius30  cate-btn"> | ||||
| 												<i class="icon icon-shop-cart mar-y10" style="font-size: 36rpx;"></i> | ||||
| 												立即选购 | ||||
| 											</view> | ||||
| 										</view> | ||||
| 									</view> | ||||
| 								</view> | ||||
| 								<view class="mar-s40" v-if="total==dataList.length"><pitera textStr="——到底啦——"></pitera></view> | ||||
| 								<view class="loading-box" v-show="ifLoading" style="position: absolute;left: 50%;transform: translateX(-50%);" :style="{bottom:footHeight+10+'px'}"> | ||||
| 								    <view class="loader-16"></view> | ||||
| 								</view> | ||||
| 							</view> | ||||
| 						</view> | ||||
| 						<view class="mar-s40"><pitera textStr="——到底啦——"></pitera></view> | ||||
| 						</scroll-view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</view> | ||||
| 		</status-container> | ||||
| 		<!-- 底部tab --> | ||||
| 		<foot-tab current="1"></foot-tab>  | ||||
| 		<foot-tab current="1"></foot-tab> | ||||
| 	</view> | ||||
| </template> | ||||
| 
 | ||||
|  | @ -45,6 +52,7 @@ | |||
| 	import swiperTabJl from '@/components/swiper-tab/swiper-tab-jl.vue'; | ||||
| 	// 底部组件 | ||||
| 	import footTab from '@/components/foot-tabs/foot-tab.vue'; | ||||
| 	import { mapState,mapGetters,mapMutations } from 'vuex'//引入mapState | ||||
| 	export default { | ||||
| 		components:{ | ||||
| 			'foot-tab' :footTab, | ||||
|  | @ -56,7 +64,7 @@ | |||
| 			return { | ||||
| 				current:0, | ||||
| 				scrollHeight:uni.getSystemInfoSync().windowHeight - uni.getSystemInfoSync().statusBarHeight - 50, | ||||
| 				newWidth:uni.getSystemInfoSync().windowWidth - 100, | ||||
| 				newWidth:uni.getSystemInfoSync().windowWidth, | ||||
| 				cateList:[ | ||||
| 					{id:1,title:'推荐套装'}, | ||||
| 					{id:1,title:'推荐套装'}, | ||||
|  | @ -84,34 +92,47 @@ | |||
| 				dataList:[ | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题',price:199}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 					{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg', title:'标题标题标题标题标题标题标题',price:20000}, | ||||
| 				], | ||||
| 				ifloading:false, | ||||
| 				flag:true | ||||
| 				total:0, | ||||
| 				flag:true, | ||||
| 				ifLoading:false | ||||
| 			} | ||||
| 		}, | ||||
| 		computed:{ | ||||
| 			...mapState({ | ||||
| 				footHeight: state => state.moduleA.footHeight, | ||||
| 			}), | ||||
| 		}, | ||||
| 		onLoad(op) { | ||||
| 			// 获取元素宽 | ||||
| 			const query = wx.createSelectorQuery().in(this) | ||||
| 			query.select('.cate-left-box').boundingClientRect((rect) => { | ||||
| 				this.newWidth = this.newWidth - rect.width - 20; | ||||
| 			}).exec() | ||||
| 			console.log(this.footHeight); | ||||
| 			this.scrollHeight = this.scrollHeight - this.footHeight; | ||||
| 			if(op.index) { | ||||
| 				this.current = op.index; | ||||
| 			} | ||||
| 		}, | ||||
| 		methods: { | ||||
| 			scrollBottomEv(e){ | ||||
| 				if(this.flag){ | ||||
| 					this.flag = false; | ||||
| 					this.ifloading = true; | ||||
| 					setTimeout(()=>{ | ||||
| 						for (let i = 0; i < 2; i++) { | ||||
| 							let obj = { | ||||
| 								title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99 | ||||
| 							} | ||||
| 							this.dataList[e].push(obj); | ||||
| 						} | ||||
| 						this.ifloading = false; | ||||
| 						this.flag = true; | ||||
| 					},1000) | ||||
| 					// 重新渲染组件 | ||||
| 					this.$forceUpdate(); | ||||
| 				} | ||||
| 			scrollBottomEv(){ | ||||
| 				console.log('触底了'); | ||||
| 				this.ifLoading = true; | ||||
| 				setTimeout(()=>{ | ||||
| 					this.total = this.dataList.length; | ||||
| 					this.ifLoading = false; | ||||
| 				},2000) | ||||
| 			}, | ||||
| 			// 一级分类选择 | ||||
| 			chooseCate(index) { | ||||
|  |  | |||
|  | @ -21,8 +21,8 @@ | |||
| 			</view> | ||||
| 		</view> | ||||
| 		<!-- 添加微信 --> | ||||
| 		<view class="" v-if="ifWx" :style="{top: padt+'px'}" @tap="ifWx=false" style="position: fixed;right: 0;bottom: 0;left: 0;background-color: rgba(0, 0, 0, 0.86);z-index: 4;"> | ||||
| 			<view class="pad-s120 pad-zy50"> | ||||
| 		<view class="addwxpop" v-if="ifWx" :style="{top: padt+'px'}" @tap="ifWx=false"> | ||||
| 			<view class="pad-s80 pad-zy50"> | ||||
| 				<view class="bacf pad20 disjcac" style="width: 420rpx;height: 420rpx;margin: 0 auto;"> | ||||
| 					<image :src="imgsrc" style="width: 380rpx;height: 380rpx;" mode="aspectFill"></image> | ||||
| 				</view> | ||||
|  | @ -119,4 +119,6 @@ | |||
| <style> | ||||
| 	page{background-color: #f7f7f7;} | ||||
| 	.navigate-to-where {height: 98rpx;line-height: 98rpx;background: linear-gradient(to right, #ff3772 0%,#fd5548 100%);box-shadow: 0rpx 6rpx 10rpx rgba(255, 55, 114, .6);} | ||||
| 	.addwxpop{position: fixed;right: 0;bottom: 0;left: 0;background-color: rgba(0, 0, 0, 0.86);z-index: 4;overflow: hidden;overflow-y: scroll;padding-bottom: 180rpx;} | ||||
| 	.addwxpop::-webkit-scrollbar{display: none;} | ||||
| </style> | ||||
|  |  | |||
|  | @ -16,12 +16,9 @@ | |||
| 			<gong-ge-function itemTop="40rpx" @chooseGe="chooseGe" :list="list"></gong-ge-function> | ||||
| 		</view> | ||||
| 		<view class="pad-zy20"> | ||||
| 			<list-one :ifTitle="true"></list-one> | ||||
| 			<list-one ref="listhome" :ifTitle="true"></list-one> | ||||
| 		</view> | ||||
| 		<view class="mar-s60"> | ||||
| 			<pitera textStr="——到底啦——"></pitera> | ||||
| 		</view> | ||||
| 		<customer-one></customer-one> | ||||
| 		<customer-one :nbottom="150"></customer-one> | ||||
| 		<!-- 底部tab --> | ||||
| 		<foot-tab></foot-tab> | ||||
| 	</view> | ||||
|  | @ -33,7 +30,6 @@ | |||
| 	import footTab from '@/components/foot-tabs/foot-tab.vue'; | ||||
| 	import gongGeFunction from '@/components/function-list/gong-ge/gong-ge-function.vue'; | ||||
| 	import listOne from '@/components/list/list-one'; | ||||
| 	import pitera from '@/components/nothing/pitera'; | ||||
| 	import customerOne from '@/components/customer/customer-one'; | ||||
| 	export default { | ||||
| 		components:{ | ||||
|  | @ -42,7 +38,6 @@ | |||
| 			statusNav, | ||||
| 			swiperPu, | ||||
| 			listOne, | ||||
| 			pitera, | ||||
| 			customerOne | ||||
| 		}, | ||||
| 		data() { | ||||
|  | @ -63,11 +58,12 @@ | |||
| 				], | ||||
| 				keyword:'', | ||||
| 				isplay:false, | ||||
| 				playTimer:null | ||||
| 				playTimer:null, | ||||
| 			} | ||||
| 		}, | ||||
| 		onReachBottom() { | ||||
| 			 | ||||
| 		onReachBottom(e) { | ||||
| 			console.log(e); | ||||
| 			this.$refs.listhome.moreEv(); | ||||
| 		}, | ||||
| 		onHide() { | ||||
| 			clearTimeout(this.playTimer); | ||||
|  |  | |||
|  | @ -2,8 +2,46 @@ | |||
| 	<view> | ||||
| 		<status-container titlet="订单管理" :ifCustomer='false'> | ||||
| 			<view slot="content" style="margin: -20rpx -20rpx 0 -20rpx;"> | ||||
| 				<view class="bacf"> | ||||
| 					<swiperTabSlide @scrollBottom="scrollBottomEv" :list="dataList" :ifloading="ifloading" :tagList="tagList" :tagIndex="tagIndex"></swiperTabSlide> | ||||
| 				<view class="bacf posir"> | ||||
| 					<view class="posi-sticky pad-x20 pad-zy20" :style="{top: newTop +'px'}"> | ||||
| 						<!-- <scrollTextSlide @changeEv="tabTap" :list="tagList" :activeIndex="activeIndex"></scrollTextSlide> --> | ||||
| 						<swiper-tab-jl :list="tagList" v-model="activeIndex" @changeEv="tabTap" itemColor="#FFFFFF"></swiper-tab-jl> | ||||
| 					</view> | ||||
| 					<swiper :style="{height: swiperHeight + 'px'}" class="fon30" style="background-color: #f4f4f4;" :current="activeIndex" @change="swiperChange"> | ||||
| 						<swiper-item v-for="(item,index) in dataList.length" :key="index" class="pad-s30"> | ||||
| 							<scroll-view scroll-y @scrolltolower="scrollBottomEv" style="height: 100%;"> | ||||
| 								<!-- 列表数据 --> | ||||
| 								<view class="radius20 bacf pad-zy30 mar-x25 mar-zy40" @tap="goDetail" v-for="(item1,index1) in dataList[index]" :key="index1"> | ||||
| 									<view class="disjbac bbot pad30" style="margin: 0 -30rpx;"> | ||||
| 										<view class="">订单号:2928392832</view> | ||||
| 										<view class="" :style="{color: ['#f83030','#f83030','#f83030','#a0a0a0','#a0a0a0'][0]}">{{['已下单','制作中','已发货','已完成','已取消'][0]}}</view> | ||||
| 									</view> | ||||
| 									<view class="disjb borbot pad-sx30" v-for="(item2,index2) in 2" :key="index2"> | ||||
| 										<image class="mar-y30 flexs radius40" src="https://s6.jpg.cm/2022/05/06/Lx4T45.jpg" mode="" style="width: 210rpx;height: 210rpx;"></image> | ||||
| 										<view class="width100 disjb fc" style="height: 210rpx;"> | ||||
| 											<view class="clips2 fon24">{{item1.title}}</view> | ||||
| 											<view class=""> | ||||
| 												<view class="fon24 mar-x30" style="color: #8c8c9b;">单位:{{item1.title}}</view> | ||||
| 												<view class="disjbac "> | ||||
| 													<view class="textc bold">¥{{$toolAll.tools.changeNum(item1.price)}}</view> | ||||
| 													<view class="fon24" style="color: #8c8c9b;">x1</view> | ||||
| 												</view> | ||||
| 											</view> | ||||
| 										</view> | ||||
| 									</view> | ||||
| 									<view class="disjbac tbot pad30" style="margin: 0 -30rpx;"> | ||||
| 										<view class="bold" style="color: #f83030;">合计:¥2390.00</view> | ||||
| 										<!-- <view class="btn" @tap.stop="cancleEv">取消订单</view> --> | ||||
| 										<view class="btn csbtn" @tap.stop="buyEv">再次购买</view> | ||||
| 									</view> | ||||
| 								</view> | ||||
| 								<view class="pad-sx40" v-if="total==dataList.length"><pitera textStr="—— 到底啦 ——"></pitera></view> | ||||
| 							</scroll-view> | ||||
| 						</swiper-item> | ||||
| 					</swiper> | ||||
| 					<view class="loading-box" v-show="ifLoading" style="position: absolute;bottom: 20rpx; left: 50%;transform: translateX(-50%);"> | ||||
| 					    <view class="loader-16"></view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</view> | ||||
| 		</status-container> | ||||
|  | @ -11,13 +49,15 @@ | |||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| 	import swiperTabSlide from '@/components/swiper-tab/swiper-tab-slide.vue'; | ||||
| 	// 底部组件 | ||||
| 	import footTab from '@/components/foot-tabs/foot-tab.vue'; | ||||
| 	import swiperTabJl from '@/components/swiper-tab/swiper-tab-jl.vue'; | ||||
| 	import pitera from '@/components/nothing/pitera'; | ||||
| 	export default { | ||||
| 		components:{ | ||||
| 			'foot-tab' :footTab, | ||||
| 			swiperTabSlide | ||||
| 			swiperTabJl, | ||||
| 			pitera | ||||
| 		}, | ||||
| 		data() { | ||||
| 			return { | ||||
|  | @ -29,71 +69,105 @@ | |||
| 					{title:'已完成'}, | ||||
| 					{title:'已取消'}, | ||||
| 				], | ||||
| 				tagIndex:0, | ||||
| 				activeIndex:0, | ||||
| 				dataList:[ | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 						[ | ||||
| 							{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						], | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 					ifloading:false, | ||||
| 					flag:true | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 					[ | ||||
| 						{title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99}, | ||||
| 					], | ||||
| 				], | ||||
| 				flag:true, | ||||
| 				swiperHeight:uni.getSystemInfoSync().windowHeight, | ||||
| 				newTop:uni.getSystemInfoSync().statusBarHeight + 50, | ||||
| 				ifLoading:false, | ||||
| 				total:0 | ||||
| 			} | ||||
| 		}, | ||||
| 		onLoad(op) { | ||||
| 			const query = wx.createSelectorQuery().in(this) | ||||
| 			query.select('.posi-sticky').boundingClientRect((rect) => { | ||||
| 				this.swiperHeight = this.swiperHeight - this.newTop - rect.height; | ||||
| 			}).exec() | ||||
| 			if(op.index) { | ||||
| 				this.tagIndex = op.index; | ||||
| 				this.activeIndex = op.index; | ||||
| 			} | ||||
| 		}, | ||||
| 		methods: { | ||||
| 			scrollBottomEv(e){ | ||||
| 				if(this.flag){ | ||||
| 					this.flag = false; | ||||
| 					this.ifloading = true; | ||||
| 					setTimeout(()=>{ | ||||
| 						for (let i = 0; i < 2; i++) { | ||||
| 							let obj = { | ||||
| 								title:'标题',content:'描述描述描述描述描述描述描述描述描述描述描述描述',price:199,xiaol:99 | ||||
| 							} | ||||
| 							this.dataList[e].push(obj); | ||||
| 						} | ||||
| 						this.ifloading = false; | ||||
| 						this.flag = true; | ||||
| 					},1000) | ||||
| 					// 重新渲染组件 | ||||
| 					this.$forceUpdate(); | ||||
| 				} | ||||
| 			tabTap(e) { | ||||
| 				this.activeIndex = e; | ||||
| 			}, | ||||
| 			swiperChange(e) { | ||||
| 				this.activeIndex = e.detail.current; | ||||
| 			}, | ||||
| 			scrollBottomEv(e) { | ||||
| 				this.ifLoading = true; | ||||
| 				this.total = 0; | ||||
| 				setTimeout(()=>{ | ||||
| 					this.ifLoading = false; | ||||
| 					this.total = this.dataList.length; | ||||
| 				},2000) | ||||
| 			}, | ||||
| 			// 去详情 | ||||
| 			goDetail(){ | ||||
| 				uni.navigateTo({ | ||||
| 					url:'/pagesB/order-detail/order-detail' | ||||
| 				}) | ||||
| 			}, | ||||
| 			// 取消订单 | ||||
| 			cancleEv(){ | ||||
| 				console.log('取消订单'); | ||||
| 			}, | ||||
| 			// 再次购买 | ||||
| 			buyEv(){ | ||||
| 				uni.navigateTo({ | ||||
| 					url:'/pagesB/settlement/settlement' | ||||
| 				}) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| </script> | ||||
| 
 | ||||
| <style> | ||||
| 
 | ||||
| .btn{ | ||||
| 	width: 150rpx; | ||||
| 	height: 64rpx; | ||||
| 	line-height: 64rpx; | ||||
| 	color: #8c8c9b; | ||||
| 	border: 2rpx solid #d3d3d3; | ||||
| 	border-radius: 20rpx; | ||||
| 	text-align: center; | ||||
| 	box-sizing: border-box; | ||||
| } | ||||
| .csbtn{ | ||||
| 	border: none; | ||||
| 	background: linear-gradient(to right,#ff3772 0%,#fd5549 100%); | ||||
| 	color: #FFFFFF; | ||||
| 	box-shadow: 0rpx 6rpx 10rpx rgba(255, 55, 114, .3); | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -9,10 +9,7 @@ | |||
| 					</view> | ||||
| 					<view class="fon30 bold" v-if="keyword && ifResult">结果:{{keyword}}<text v-if="num" class="textc">({{num}})</text></view> | ||||
| 				</view> | ||||
| 				<list-one></list-one> | ||||
| 				<view class="mar-s60"> | ||||
| 					<pitera textStr="——到底啦——"></pitera> | ||||
| 				</view> | ||||
| 				<list-one ref="list"></list-one> | ||||
| 			</view> | ||||
| 		</status-container> | ||||
| 	</view> | ||||
|  | @ -29,11 +26,15 @@ | |||
| 		data() { | ||||
| 			return { | ||||
| 				padt:uni.getSystemInfoSync().statusBarHeight + 50, | ||||
| 				windowHeigh:uni.getSystemInfoSync().windowHeight, | ||||
| 				keyword:'', | ||||
| 				num:11, | ||||
| 				ifResult:true | ||||
| 			} | ||||
| 		}, | ||||
| 		onReachBottom(e) { | ||||
| 			this.$refs.list.moreEv(); | ||||
| 		}, | ||||
| 		onLoad(op) { | ||||
| 			if(op.keyword) this.keyword = op.keyword; | ||||
| 		}, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue