Commit e6e06976 by 肖康

build1.0

parent 32cb5419
Showing with 1848 additions and 620 deletions
......@@ -51,7 +51,15 @@
<style>
/*每个页面公共css */
@import './assets/css/font/iconfont.css';
.img-style {
max-width: 100%;
height: auto;
display: block;
margin:0 auto;
}
#mobile .mobile-header{
background: red!important;
}
page {
padding-top: 175rpx;
}
......
......@@ -24,7 +24,7 @@
.input-box{
height:70rpx;
border-bottom:1px solid #D1D1D1;
border-bottom:1px solid #e7e7e7;
width:630rpx;
margin:0 auto;
margin-top:54rpx;
......@@ -59,10 +59,10 @@
}
}
&:hover{
border-bottom:1px solid #000;
border-bottom:1px solid #D0121B;
}
&.nobd{
border-bottom:1px solid #D1D1D1;
border-bottom:1px solid #e7e7e7;
}
}
......
......@@ -19,7 +19,7 @@
}
.input-box{
height:70rpx;
border-bottom:1px solid #D1D1D1;
border-bottom:1px solid #e7e7e7;
width:630rpx;
margin:0 auto;
margin-top:40rpx;
......@@ -46,21 +46,28 @@
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
padding-right: 8rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:8rpx;
// &::after{
// position: absolute;
// content:"";
// height:24rpx;
// width:1rpx;
// background:#000;
// right:0rpx;
// top:6rpx;
// }
}
.areabox-box{
height:70rpx;
.icon-arrowxia{
font-size: 16rpx;
color:#898989;
margin-right:20rpx;
}
}
.icon-searchclose {
......@@ -86,7 +93,7 @@
}
}
&:hover{
border-bottom:1px solid #000;
border-bottom:1px solid #D0121B;
}
}
......
......@@ -17,14 +17,14 @@
margin-bottom: 15rpx;
}
text{
font-size: 19rpx;
font-size: 20rpx;
color: #808080;
}
}
.input-box{
height:70rpx;
border-bottom:1px solid #D1D1D1;
border-bottom:1px solid #e7e7e7;
width:630rpx;
margin:0 auto;
margin-top:54rpx;
......@@ -37,11 +37,12 @@
color: #000000;
}
.link-forget{
height:38rpx;
font-size: 26rpx;
color: #808080;
border-left:1rpx solid #D1D1D1;
border-left:1rpx solid #e7e7e7;
padding-left:20rpx;
margin-left:20rpx;
}
......@@ -57,24 +58,33 @@
color: #808080;
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
padding-right: 8rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:6rpx;
// &::after{
// position: absolute;
// content:"";
// height:24rpx;
// width:1rpx;
// background:#000;
// right:0rpx;
// top:6rpx;
// }
}
.areabox-box{
height:70rpx;
.icon-arrowxia{
font-size: 16rpx;
color:#898989;
margin-right:20rpx;
}
}
.icon-searchclose {
font-size: 28rpx;
color: #898989;
......@@ -98,7 +108,7 @@
}
}
&:hover{
border-bottom:1px solid #000;
border-bottom:1px solid #D0121B;
}
}
......@@ -116,17 +126,17 @@
}
.link{
color:#523F3F;
font-size: 18rpx;
font-size: 20rpx;
}
text{
font-size: 18rpx;
font-size: 20rpx;
color: #808080;
}
}
.login-btn{
width: 630rpx;
height: 90rpx;
background: #D0121B;
background: #EF9EA2;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
......@@ -134,11 +144,14 @@
line-height: 90rpx;
margin:0 auto;
margin-top:94rpx;
&.yes{
background: #D0121B;
}
}
.self{
width: 630rpx;
margin:0 auto;
font-size: 18rpx;
font-size: 20rpx;
color: #808080;
margin-top:16rpx;
}
......@@ -164,7 +177,7 @@
margin-top:150rpx;
text-align: center;
text{
font-size: 18rpx;
font-size: 20rpx;
color: #808080;
}
button{
......
......@@ -53,19 +53,27 @@
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
padding-right: 8rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:5rpx;
// &::after{
// position: absolute;
// content:"";
// height:24rpx;
// width:1rpx;
// background:#000;
// right:0rpx;
// top:5rpx;
// }
}
.areabox-box{
height:70rpx;
.icon-arrowxia{
font-size: 16rpx;
color:#898989;
margin-right:20rpx;
}
}
.icon-searchclose {
......
......@@ -9,11 +9,12 @@
background: #fff;
padding:30rpx 22rpx;
border-radius: 20rpx;
padding-top:15rpx;
.address-box{
display: block;
padding-top: 10rpx;
.noadd{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
.icon{
......@@ -31,11 +32,11 @@
}
.ad{height:62rpx;}
.csq{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
}
.ad1{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
height:35rpx;
line-height: 35rpx;
......@@ -43,7 +44,7 @@
margin-top:4rpx;
}
.cnnk{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
line-height: 40rpx;
height:40rpx;
......@@ -58,7 +59,7 @@
border: 1rpx solid #D0121B;
text-align: center;
line-height: 35rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #D0121B;
margin-left:20rpx;
}
......@@ -71,28 +72,28 @@
padding:30rpx 23rpx;
padding-top:0rpx;
border-radius: 20rpx;
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;}
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;border-radius: 5rpx;}
.group{
padding-bottom: 38rpx;
padding-top:30rpx;
border-bottom: 1rpx solid #E7E7E7;
.ganme{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 40rpx;
height:80rpx;
line-height: 45rpx;
height:90rpx;
width:440rpx;
}
.hqs{
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
height:40rpx;
line-height: 40rpx;
margin-top:25rpx;
margin-top:20rpx;
}
.price{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
......@@ -109,7 +110,7 @@
color: #000000;
line-height: 62rpx;
.r{
font-size: 24rpx;
font-size: 26rpx;
color: #D0121B;
height:62rpx;
.icon{
......@@ -128,13 +129,13 @@
}
}
.pur-sn-box{
background: #fff;
// background: #fff;
margin-top:25rpx;
padding:20rpx;
padding-bottom:32rpx;
border-radius: 20rpx;
// padding:20rpx;
// padding-bottom:32rpx;
// border-radius: 20rpx;
.tit{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
......@@ -145,7 +146,7 @@
line-height: 80rpx;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
padding:0 20rpx;
&:hover{
......@@ -153,7 +154,7 @@
}
&.placeholder-class{
color: #808080;
font-size: 24rpx;
font-size: 26rpx;
}
}
}
......@@ -163,12 +164,12 @@
border-radius: 20rpx;
padding:30rpx 22rpx;
.tit{
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
margin-bottom: 20rpx;
}
.item{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
.price{
......@@ -190,14 +191,12 @@
margin-top:25rpx;
border-radius: 20rpx;
.item{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
}
.top{border-bottom:1rpx solid #E7E7E7;padding-bottom:20rpx;}
.bottom{
padding-top:25rpx;
.price-pay{
color:#D0121B;
}
......@@ -220,7 +219,7 @@
padding-right:25rpx;
border-top:1rpx solid #E7E7E7;
.l{
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text{
font-size: 32rpx;
......
......@@ -9,8 +9,9 @@
background: #fff;
padding:30rpx 22rpx;
border-radius: 20rpx;
padding-top:15rpx;
.tit{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
height:92rpx;
line-height: 92rpx;
......@@ -26,11 +27,11 @@
}
.ad{height:62rpx;}
.csq{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
}
.ad1{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
height:35rpx;
line-height: 35rpx;
......@@ -38,7 +39,7 @@
margin-top:4rpx;
}
.cnnk{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
line-height: 40rpx;
height:40rpx;
......@@ -53,7 +54,7 @@
border: 1rpx solid #D0121B;
text-align: center;
line-height: 35rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #D0121B;
margin-left:20rpx;
}
......@@ -66,28 +67,28 @@
padding:30rpx 23rpx;
padding-top:0rpx;
border-radius: 20rpx;
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;}
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;border-radius: 5rpx;}
.group{
padding-bottom: 38rpx;
padding-top:30rpx;
border-bottom: 1rpx solid #E7E7E7;
.ganme{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 40rpx;
height:80rpx;
line-height: 45rpx;
height:90rpx;
width:440rpx;
}
.hqs{
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
height:40rpx;
line-height: 40rpx;
margin-top:25rpx;
margin-top:20rpx;
}
.price{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
......@@ -100,11 +101,11 @@
border-radius: 20rpx;
margin-top:25rpx;
height:62rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
.r{
font-size: 24rpx;
font-size: 26rpx;
color: #D0121B;
height:62rpx;
.icon{
......@@ -129,7 +130,7 @@
padding-bottom:32rpx;
border-radius: 20rpx;
.tit{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
......@@ -140,7 +141,7 @@
line-height: 80rpx;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
padding:0 20rpx;
&:hover{
......@@ -148,7 +149,7 @@
}
&.placeholder-class{
color: #808080;
font-size: 24rpx;
font-size: 26rpx;
}
}
}
......@@ -158,7 +159,7 @@
margin-top:25rpx;
border-radius: 20rpx;
.item{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
......@@ -181,7 +182,7 @@
color:#D0121B;
}
.tklink{
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
margin-left: 16rpx;
}
......@@ -202,7 +203,7 @@
padding-right:25rpx;
border-top:1rpx solid #E7E7E7;
.l{
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text{
font-size: 32rpx;
......
.carListPage{
background: #F6F6F6;
background: #f6f6f6;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
padding-bottom: 300rpx;
padding-bottom: 330rpx;
padding-top:75rpx;
.car-head{
background: #F6F6F6;
......@@ -17,12 +17,12 @@
left:0rpx;
width:100%;
right:0rpx;
z-index: 3;
z-index: 10;
.l{
height:75rpx;
width:550rpx;
padding-left:35rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
.icon{
font-size: 35rpx;
......@@ -32,7 +32,7 @@
}
.r{
height:75rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
padding-right:25rpx;
.it{
......@@ -46,17 +46,17 @@
.list-box{
background: #fff;
border-radius: 20rpx;
padding:40rpx 0 ;
padding:40rpx 0;
.item-group{
height:190rpx;
padding:0 20rpx;
padding-right: 25rpx;
margin-bottom:63rpx;
&:last-child{
margin-bottom:0rpx;
}
//margin-bottom:63rpx;
// &:last-child{
// margin-bottom:0rpx;
// }
.l{
height:190rpx;
height:194rpx;
.icon{
font-size: 30rpx;
color:#e5e5e5;
......@@ -68,6 +68,7 @@
width:190rpx;
height:190rpx;
margin-left:20rpx;
border-radius: 10rpx;
border: 2rpx solid #F6F6F6;
flex-shrink: 0;
}
......@@ -76,39 +77,44 @@
margin-left:20rpx;
.skun{
font-weight: 400;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
line-height: 45rpx;
height:45rpx;
width:390rpx;
}
.txt{
font-size: 20rpx;
font-size: 22rpx;
color: #666666;
line-height: 32rpx;
margin-bottom:5rpx;
}
.price{
font-size: 30rpx;
font-size: 32rpx;
color: #D91800;
height: 40rpx;
line-height: 40rpx;
position: relative;
top:5rpx;
}
.hbha{
width: 156rpx;
height: 40rpx;
border-radius: 5rpx;
.icon{
color:#666;
color:#898989;
font-size: 22rpx;
}
input{
height: 40rpx;
width:66rpx;
margin:0 10rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
width: 80rpx;
height: 40rpx;
background: #F6F6F6;
border-radius: 5rpx;
}
}
}
......@@ -118,7 +124,7 @@
.no-data{
padding-top:90rpx;
text-align: center;
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
background: #fff;
image{
......@@ -155,14 +161,14 @@
position: fixed;
left:0rpx;
right:0rpx;
bottom:98rpx;
z-index: 2;
bottom:130rpx;
z-index: 10;
background: #fff;
padding-left:44rpx;
padding-right:25rpx;
border-top: 1rpx solid #E7E7E7;
.checked-box{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
.icon{
font-size: 30rpx;
......@@ -187,7 +193,7 @@
padding-top:20rpx;
.t{margin-bottom:26rpx;}
.pbx{
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
.price{
font-size: 32rpx;
......@@ -203,7 +209,7 @@
border: 1rpx solid #D0121B;
line-height: 70rpx;
text-align: center;
font-size: 26rpx;
font-size: 28rpx;
color: #D0121B;
}
.add-car{
......@@ -211,7 +217,7 @@
height: 70rpx;
background: linear-gradient( 90deg, #FDC860 0%, #FCAE3A 100%);
border-radius: 35rpx 0rpx 0rpx 35rpx;
font-size: 26rpx;
font-size: 28rpx;
color: #FFFFFF;
line-height: 70rpx;
text-align: center;
......@@ -222,7 +228,7 @@
height: 70rpx;
background: linear-gradient( 90deg, #F66F15 0%, #FE3014 100%);
border-radius: 0rpx 35rpx 35rpx 0rpx;
font-size: 26rpx;
font-size: 28rpx;
color: #FFFFFF;
line-height: 70rpx;
text-align: center;
......@@ -234,6 +240,8 @@
}
}
/**加入清单**/
.pop-add-list{
width: 100%;
......@@ -249,7 +257,7 @@
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
......@@ -261,19 +269,19 @@
justify-content: flex-end;
margin-bottom:37rpx;
.new-btn{
padding:0 13rpx;
height: 36rpx;
padding:5rpx 16rpx;
height: 38rpx;
background: linear-gradient( 180deg, #FFFFFF 0%, #FFEDE0 100%);
border-radius: 5rpx;
border: 1rpx solid #E9C3AB;
font-size: 24rpx;
font-size: 26rpx;
color: #FF3800;
.icon{
font-size: 16rpx;
color: #FF3800;
margin-left:8rpx;
position: relative;
top:-5rpx;
top:-4rpx;
}
}
}
......@@ -287,6 +295,7 @@
border-radius: 10rpx;
padding-left:20rpx;
padding-right:30rpx;
margin-bottom:30rpx;
.l{
.icon{
font-size: 30rpx;
......@@ -300,7 +309,7 @@
.c{
width:400rpx;
view{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
height: 50rpx;
line-height: 50rpx;
......@@ -308,14 +317,14 @@
}
text{
display: block;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
height:50rpx;
line-height: 50rpx;
}
}
.r{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
.icon{
color:#898989;
......@@ -333,7 +342,7 @@
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
}
......@@ -369,7 +378,7 @@
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
......@@ -387,7 +396,7 @@
border-radius: 5rpx;
border: 1rpx solid #898989;
margin:0 auto;
font-size: 22rpx;
font-size: 24rpx;
color: #000;
}
}
......@@ -406,5 +415,3 @@
}
}
......@@ -24,11 +24,13 @@
border-radius: 5rpx;
border: 1rpx solid #fff;
margin-right:25rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
flex-shrink: 0;
&.act{
border: 1rpx solid #D0121B;
background: #FFF5F5;
color: #D0121B;
}
}
......@@ -60,7 +62,7 @@
.tit{
padding: 11rpx 30rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
margin-bottom: 35rpx;
}
......@@ -86,7 +88,7 @@
display: block;
width:135rpx;
text-align: center;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
height:30rpx;
line-height: 30rpx;
......@@ -100,7 +102,7 @@
}
.foot{
height:87rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
border-top:1rpx solid #D1D1D1;
border-radius: 0rpx 0rpx 20rpx 20rpx;
......@@ -127,21 +129,26 @@
}
.two-c-box{
margin-top:20rpx;
height:calc(100vh - 175rpx);
height:calc(100vh - 175rpx - 130rpx);
.lc{
width:225rpx;
height:100%;
padding-top:40rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
padding-left:35rpx;
padding-right:50rpx;
overflow-y: auto;
background: #f8f8f8;
.item{
margin-bottom: 56rpx;
padding:15rpx 0;
padding-left:35rpx;
padding-right:50rpx;
margin-bottom: 10rpx;
height:92rpx;
&.act{
color: #000000;
background: #fff;
border-radius: 100rpx 0 0 100rpx;
}
}
}
......@@ -154,7 +161,7 @@
margin-right: 35rpx;
width: 130rpx;
padding-bottom:20rpx;
margin-bottom:30rpx;
//margin-bottom:10rpx;
display: inline-block;
height:227rpx;
&:nth-child(3n){
......@@ -163,7 +170,7 @@
image{
width: 130rpx;
height: 130rpx;
margin-bottom: 7rpx;
margin-bottom: 12rpx;
display: block;
}
text{
......@@ -173,7 +180,7 @@
line-height: 30rpx;
height:30rpx;
text-align: center;
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
}
}
......@@ -188,7 +195,7 @@
/* #ifdef H5 */
.classNavPage{
.two-c-box{
height:calc(100vh - 202rpx);
height:calc(100vh - 90rpx - 130rpx);
}
}
/* #endif */
\ No newline at end of file
.goodsDetailPage{
padding-top:75rpx;
background: #F6F6F6;
padding-bottom:200rpx;
.header{
width:100%;
height:75rpx;
......@@ -15,7 +18,7 @@
.icon{
font-size: 35rpx;
color:#898989;
margin-right:200rpx;
margin-right:185rpx;
}
.tab-item{
font-size: 28rpx;
......@@ -75,6 +78,11 @@
font-size: 34rpx;
color: #1969F9;
}
.qytip{
font-size: 24rpx;
color: #1969F9;
margin-left:16rpx;
}
.qy{
width: 80rpx;
height: 26rpx;
......@@ -107,16 +115,16 @@
}
}
.goods-name{
max-height: 80rpx;
//max-height: 92rpx;
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
line-height: 46rpx;
margin-bottom:40rpx;
margin-top:28rpx;
}
.attr-box{
.item{
font-size: 22rpx;
font-size: 24rpx;
line-height: 50rpx;
text{
color: #000000;
......@@ -157,13 +165,10 @@
width:100%;
}
&.act{display: block;}
text-align: center;
}
::v-deep .tabcon{text-align: center;}
::v-deep .tabcon1{
img{display: block;margin:0 auto;width:100%;}
}
}
.foot{
height:150rpx;
......@@ -195,6 +200,16 @@
line-height: 70rpx;
}
.kefzx{
width: 165rpx;
height: 70rpx;
background: linear-gradient( 90deg, #FDC860 0%, #FCAE3A 100%);
border-radius: 35rpx;
font-size: 26rpx;
color: #FFFFFF;
line-height: 70rpx;
margin-left:270rpx;
}
.add-confirm{
width: 165rpx;
height: 70rpx;
......@@ -236,7 +251,7 @@
.hbha{
width: 206rpx;
height: 40rpx;
background: #F6F6F6;
background: #fff;
border-radius: 5rpx;
.icon{
color:#666;
......@@ -249,6 +264,7 @@
background: #F6F6F6;
font-size: 24rpx;
color: #000000;
border-radius: 5rpx;
text-align: center;
}
}
......@@ -277,7 +293,10 @@
padding:0 12rpx;
}
&.act{
text{border: 1rpx solid #D0121B;}
text{
border: 1rpx solid #D0121B;
background: #FFF5F5;
}
}
}
}
......@@ -323,7 +342,7 @@
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
......@@ -335,19 +354,19 @@
justify-content: flex-end;
margin-bottom:37rpx;
.new-btn{
padding:0 13rpx;
height: 36rpx;
padding:5rpx 16rpx;
height: 38rpx;
background: linear-gradient( 180deg, #FFFFFF 0%, #FFEDE0 100%);
border-radius: 5rpx;
border: 1rpx solid #E9C3AB;
font-size: 24rpx;
font-size: 26rpx;
color: #FF3800;
.icon{
font-size: 16rpx;
color: #FF3800;
margin-left:8rpx;
position: relative;
top:-5rpx;
top:-4rpx;
}
}
}
......@@ -361,6 +380,7 @@
border-radius: 10rpx;
padding-left:20rpx;
padding-right:30rpx;
margin-bottom:30rpx;
.l{
.icon{
font-size: 30rpx;
......@@ -374,7 +394,7 @@
.c{
width:400rpx;
view{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
height: 50rpx;
line-height: 50rpx;
......@@ -382,14 +402,14 @@
}
text{
display: block;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
height:50rpx;
line-height: 50rpx;
}
}
.r{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
.icon{
color:#898989;
......@@ -407,7 +427,7 @@
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
}
......@@ -443,7 +463,7 @@
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
......@@ -461,7 +481,7 @@
border-radius: 5rpx;
border: 1rpx solid #898989;
margin:0 auto;
font-size: 22rpx;
font-size: 24rpx;
color: #000;
}
}
......
.indexPage{
background: #f6f6f6;
padding-bottom: 110rpx;
padding-bottom: 140rpx;
padding-top:230rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
......@@ -9,6 +10,15 @@
height:230rpx;
background: #BF0009;
position: relative;
width:100%;
position:fixed;
top:175rpx;
/* #ifdef H5 */
top:90rpx;
/* #endif */
z-index: 3;
left:0rpx;
right:0rpx;
.menber{
width: 116rpx;
height: 38rpx;
......@@ -93,12 +103,9 @@
padding-bottom:10rpx;
.item{
margin-bottom: 23rpx;
margin-right: 15rpx;
width:120rpx;
text-align: center;
&:nth-child(5n){
margin-right: 0rpx;
}
image{
width:102rpx;
height:102rpx;
......@@ -115,6 +122,7 @@
line-height: 28rpx;
}
}
}
.recommend-box{
......@@ -138,11 +146,11 @@
margin-right: 0rpx;
}
image{
width: 295rpx;
height: 295rpx;
width: 280rpx;
height: 280rpx;
}
.title{
width: 295rpx;
width: 280rpx;
height: 70rpx;
font-weight: 400;
font-size: 22rpx;
......@@ -151,11 +159,35 @@
margin-top:60rpx;
margin-bottom: 11rpx;
}
.price{
font-weight: 600;
font-size: 30rpx;
.xunj{
color: #F61500;
line-height: 30rpx;
font-size: 28rpx;
}
.price{
.price0{
font-weight: 600;
font-size: 30rpx;
color: #F61500;
line-height: 30rpx;
margin-bottom:13rpx;
}
.price1{
font-size: 28rpx;
color: #1969F9;
}
.qytag{
width: 76rpx;
height: 26rpx;
background: #1969F9;
border-radius: 5rpx;
color:#fff;
line-height: 27rpx;
text-align: center;
margin-left: 10rpx;
font-size: 18rpx;
position: relative;
top:-2rpx;
}
text{
font-size: 22rpx;
}
......@@ -174,7 +206,7 @@
/* #endif */
left:0rpx;
padding-top:14rpx;
z-index: 1;
z-index: 4;
.input-box{
margin-top:0rpx;
input{
......
......@@ -19,8 +19,8 @@
background-size: 100% 100%;
width:30rpx;
height:30rpx;
left:33rpx;
top:10rpx;
left:52rpx;
top:8rpx;
}
// .item{
// height: 30rpx;
......@@ -70,9 +70,7 @@
margin-bottom: 30rpx;
padding-left:20rpx;
padding-right: 20rpx;
&:hover{
background: #F4F4F4;
}
background: #F4F4F4;
}
}
}
......
......@@ -52,6 +52,7 @@
font-size: 22rpx;
color: #000000;
padding-bottom:100rpx;
height:1200rpx;
image{
margin:0 auto;
width:442rpx;
......@@ -94,7 +95,7 @@
margin-bottom: 40rpx;
.names{
color:#000;
font-size: 26rpx;
font-size: 30rpx;
width:450rpx;
}
.status-box{
......@@ -119,13 +120,13 @@
.citem{
width: 170rpx;
height: 46rpx;
background: #FFF5F5;
background: #f8f8f8;
border-radius: 5rpx;
border: 1rpx solid #FFF5F5;
font-size: 20rpx;
border: 1rpx solid #f8f8f8;
font-size: 22rpx;
color: #000000;
text-align: center;
line-height: 44rpx;
line-height: 46rpx;
padding:0 8rpx;
margin-right: 20rpx;
margin-bottom:30rpx;
......@@ -136,6 +137,7 @@
&.act{
border: 1rpx solid #D0121B;
color: #D0121B;
background: #FFF5F5;
}
}
}
......
......@@ -17,9 +17,12 @@
border-radius: 20rpx;
padding:22rpx;
margin-bottom: 25rpx;
&.hkk{
border:1rpx solid #D0121B;
}
.t{
height:62rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
margin-bottom: 8rpx;
.mr{
......@@ -78,6 +81,7 @@
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
height:1200rpx;
image{
width:442rpx;
height:254rpx;
......
......@@ -26,12 +26,15 @@
line-height: 40rpx;
height:40rpx;
}
input{
input,picker{
font-size: 28rpx;
color:#000;
line-height: 40rpx;
height:40rpx;
}
.color666{
color: #666666;
}
.areabox-but{
margin-right: 20rpx;
height:40rpx;
......
......@@ -16,7 +16,7 @@
/* #endif */
z-index: 3;
.item{
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
position: relative;
padding:0 29rpx;
......@@ -107,14 +107,14 @@
}
.alread{
width: 146rpx;
height: 58rpx;
height: 54rpx;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
border: 2rpx solid #D0121B;
font-size: 26rpx;
color: #D0121B;
font-weight: bold;
text-align: center;
line-height: 58rpx;
line-height: 54rpx;
}
}
}
......@@ -125,6 +125,7 @@
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
height:1200rpx;
image{
width:442rpx;
height:254rpx;
......
......@@ -5,18 +5,22 @@
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.data-box{
margin:0 auto;
width:700rpx;
padding-top:6rpx;
.nofps{font-size: 24rpx;}
.group{
min-height: 230rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:0 26rpx;
margin-bottom: 25rpx;
&.hkk{
border:1rpx solid #D0121B;
}
.t{
border-bottom: 1rpx solid #E7E7E7;
height:80rpx;
......@@ -89,6 +93,7 @@
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
height:1200rpx;
image{
width:442rpx;
height:254rpx;
......
......@@ -13,7 +13,7 @@
right:0rpx;
z-index: 3;
padding-left:35rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
padding-right:15rpx;
.l{
......@@ -22,7 +22,7 @@
}
.handle-box{
height:75rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
.ite{
height:75rpx;
......@@ -50,7 +50,7 @@
/* #endif */
z-index: 3;
.item{
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
position: relative;
padding:0 29rpx;
......@@ -96,7 +96,7 @@
width:45rpx;
margin-right: 27rpx;
}
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
view{
width:550rpx;
......@@ -116,7 +116,7 @@
}
}
.c{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 45rpx;
margin-bottom: 30rpx;
......@@ -129,7 +129,7 @@
height:86rpx;
border-top: 1rpx solid #E7E7E7;
.l{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
height:86rpx;
.line{
......@@ -147,7 +147,7 @@
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
margin-left:26rpx;
padding:0 21rpx;
......@@ -168,19 +168,20 @@
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
height:1200rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
}
.pagebot{
height: 80rpx;
line-height: 80rpx;
font-size: 24rpx;
font-size: 26rpx;
text-align: center;
color:#C6C7CC;
}
......
......@@ -158,7 +158,7 @@
border-radius:0 0 20rpx 20rpx ;
.t{
font-weight: 600;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height:42rpx;
.icon{
......@@ -168,7 +168,7 @@
}
}
.b{
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
line-height: 62rpx;
padding-left:48rpx;
......@@ -184,19 +184,19 @@
.addbx{
.ad{height:62rpx;}
.csq{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
min-height:28rpx;
}
.ad1{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 35rpx;
font-weight: bold;
margin-top:4rpx;
}
.cnnk{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
line-height: 40rpx;
height:40rpx;
......@@ -211,7 +211,7 @@
border: 1rpx solid #D0121B;
text-align: center;
line-height: 35rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #D0121B;
margin-left:20rpx;
}
......@@ -224,27 +224,27 @@
padding:30rpx 23rpx;
padding-top:0rpx;
border-radius: 20rpx;
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;}
image{width:190rpx;height:190rpx;margin-right: 29rpx;border: 2rpx solid #F6F6F6;border-radius: 5rpx;}
.group{
padding-bottom: 38rpx;
padding-top:30rpx;
.ganme{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 40rpx;
height:80rpx;
line-height: 45rpx;
height:90rpx;
width:440rpx;
}
.hqs{
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
height:40rpx;
line-height: 40rpx;
margin-top:25rpx;
margin-top:20rpx;
}
.price{
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
......@@ -260,12 +260,12 @@
border-radius: 20rpx;
padding:30rpx 22rpx;
.tit{
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
margin-bottom: 20rpx;
}
.item{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 62rpx;
.price{
......@@ -287,7 +287,7 @@
left:0rpx;
right:0rpx;
background: #fff;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
padding:0 36rpx;
text-align: center;
......@@ -296,7 +296,7 @@
color:#000;
}
.item{
width:90rpx;
width:100rpx;
display: block;
}
.add-car{
......
......@@ -33,7 +33,7 @@
border: 1rpx solid #D0121B;
padding-left: 20rpx;
input {
font-size: 22rpx;
font-size: 24rpx;
line-height: 30rpx;
padding-left: 10rpx;
width: 550rpx;
......@@ -57,7 +57,7 @@
.tabs{
height:60rpx;
padding:30rpx;
font-size: 26rpx;
font-size: 28rpx;
color: #000000;
.act{
font-size: 28rpx;
......@@ -81,14 +81,14 @@
&:last-child{margin-bottom:0rpx;}
.t{
height:36rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
.tag{
width: 76rpx;
height: 36rpx;
background: #D5232C;
border-radius: 2rpx;
font-size: 22rpx;
font-size: 24rpx;
color: #FFFFFF;
text-align: center;
line-height: 36rpx;
......@@ -112,6 +112,7 @@
margin-right: 20rpx;
border: 2rpx solid #F6F6F6;
flex-shrink: 0;
border-radius: 5rpx;
}
.r{
padding:8rpx 0;
......@@ -120,7 +121,7 @@
width:430rpx;
flex-shrink: 0;
view{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 35rpx;
font-weight: bold;
......@@ -128,26 +129,26 @@
height:35rpx;
}
text{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
line-height: 35rpx;
}
margin-bottom: 15rpx;
}
.cr{
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
}
.br{
margin-top:22rpx;
text-align: right;
font-weight: bold;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 40rpx;
text{
font-weight: 400;
font-size: 22rpx;
font-size: 24rpx;
color: #666666;
}
}
......@@ -162,7 +163,7 @@
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
text-align: center;
line-height: 52rpx;
......@@ -173,14 +174,27 @@
height: 52rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #FFFFFF;
text-align: center;
line-height: 52rpx;
margin-left:20rpx;
}
}
.hsprice{
font-size: 26rpx;
color: #000000;
line-height: 35rpx;
font-weight: bold;
margin-bottom:20rpx;
text{
font-size: 24rpx;
color: #666666;
line-height: 35rpx;
font-weight: normal;
}
}
}
}
.no-data{
......@@ -189,19 +203,20 @@
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
height:1200rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
}
.pagebot{
height: 80rpx;
line-height: 80rpx;
font-size: 24rpx;
font-size: 26rpx;
text-align: center;
color:#C6C7CC;
}
......
......@@ -116,6 +116,7 @@
font-size: 22rpx;
color: #000000;
background: #fff;
height:1200rpx;
image{
display: block;
margin: 0 auto;
......
......@@ -22,7 +22,7 @@
height:75rpx;
width:550rpx;
padding-left:35rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
.icon{
font-size: 35rpx;
......@@ -32,7 +32,7 @@
}
.r{
height:75rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #666666;
padding-right:25rpx;
.it{
......@@ -41,12 +41,12 @@
}
}
.name-box{
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
padding:0 25rpx;
height:70rpx;
.icon{
font-size: 24rpx;
font-size: 26rpx;
color:#898989;
margin-left:13rpx;
}
......@@ -79,6 +79,7 @@
width:190rpx;
height:190rpx;
margin-left:20rpx;
border-radius: 10rpx;
border: 2rpx solid #F6F6F6;
flex-shrink: 0;
}
......@@ -87,39 +88,44 @@
margin-left:20rpx;
.skun{
font-weight: 400;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
line-height: 45rpx;
height:45rpx;
width:390rpx;
}
.txt{
font-size: 20rpx;
font-size: 22rpx;
color: #666666;
line-height: 32rpx;
margin-bottom:5rpx;
}
.price{
font-size: 30rpx;
font-size: 32rpx;
color: #D91800;
height: 40rpx;
line-height: 40rpx;
position: relative;
top:5rpx;
}
.hbha{
width: 156rpx;
height: 40rpx;
border-radius: 5rpx;
.icon{
color:#666;
color:#898989;
font-size: 22rpx;
}
input{
height: 40rpx;
width:66rpx;
margin:0 10rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
width: 80rpx;
height: 40rpx;
background: #F6F6F6;
border-radius: 5rpx;
}
}
}
......@@ -132,6 +138,7 @@
font-size: 22rpx;
color: #000000;
background: #fff;
height:1200rpx;
image{
display: block;
margin: 0 auto;
......@@ -235,7 +242,7 @@
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
......
.userInfoPage{
background: #f6f6f6;
padding-bottom: 98rpx;
padding-bottom: 130rpx;
height:calc(100vh - 175rpx);
/* #ifdef H5 */
height:calc(100vh - 90rpx);
......@@ -122,9 +122,9 @@
padding-right: 24rpx;
.yhq{
position: relative;
&:hover{
view{color:#D0121B;}
}
// &:hover{
// view{color:#D0121B;}
// }
}
.count{
position: absolute;
......@@ -169,14 +169,14 @@
text-align: center;
.icon{
font-size: 50rpx;
color:#000;
color:#444444;
}
view{
margin-top:15rpx;
}
&:hover{
view{color:#D0121B;}
}
// &:hover{
// view{color:#D0121B;}
// }
}
}
......
<template>
<view class="box-slideLeft" >
<view class="touch-item touch-slideLeft " @touchstart="touchS" @touchmove="touchM" @touchend="touchE" :style="item_show.txtStyle">
<slot />
</view>
<view class="touch-item del-box-touch-slideLeft cf-shuCenter" @click="delItem(item_show)">
删除
</view>
</view>
</template>
<script>
export default {
components: {
},
props: {
data_transit: {
type: Object,
default () {
return {}
}
},
//可不传参
item: {
type: Object,
default () {
return {}
}
},
},
computed: {
},
data() {
return {
item_show : {},
delBtnWidth: 60, //删除按钮宽度单位(rpx)
startX: '',
};
},
created:function(){
//专门处理检查对象中,某字段是否存在的,如果存在返回 true 不存在返回 false
let that = this ;
let item = that.item ;
if(!item.hasOwnProperty("txtStyle")){
this.$set(this.item,'txtStyle','');//不需要初始化了
}
this.item_show = this.item ;
},
watch: {
item(e){
this.item_show = e ;
},
},
methods: {
//点击删除按钮事件
delItem: function(e) {
let that = this;
let data ={
item : e ,
data : that.data_transit ,
};
this.$emit('delItem', data);
},
touchS: function(e) {
let that = this;
if (e.touches.length == 1) {
//设置触摸起始点水平方向位置
this.startX = e.touches[0].clientX
}
},
touchM: function(e) {
let that = this;
if (e.touches.length == 1) {
//手指移动时水平方向位置
var moveX = e.touches[0].clientX;
//手指起始点位置与移动期间的差值
var disX = this.startX - moveX;
var delBtnWidth = this.delBtnWidth;
var txtStyle = "";
if (disX == 0 || disX < 0) { //如果移动距离小于等于0,说明向右滑动,文本层位置不变
txtStyle = "left:0px";
} else if (disX > 0) { //移动距离大于0,文本层left值等于手指移动距离
txtStyle = "left:-" + disX + "px";
if (disX >= delBtnWidth) {
//控制手指移动距离最大值为删除按钮的宽度
txtStyle = "left:-" + delBtnWidth + "px";
}
}
//获取手指触摸的是哪一项
that.item_show.txtStyle = txtStyle;
}
},
touchE: function(e) {
let that = this;
if (e.changedTouches.length == 1) {
//手指移动结束后水平位置
var endX = e.changedTouches[0].clientX;
//触摸开始与结束,手指移动的距离
var disX = this.startX - endX;
var delBtnWidth = this.delBtnWidth;
//如果距离小于删除按钮的1/2,不显示删除按钮
var txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "px" : "left:0px";
//获取手指触摸的是哪一项
that.item_show.txtStyle = txtStyle;
}
},
}
}
</script>
<style scoped lang="scss">
.box-slideLeft {
background: #fff;
margin-bottom: 63rpx !important;
height:194rpx;
background: #fff;
view {
box-sizing: border-box;
}
position: relative;
overflow: hidden;
.touch-item {
position: absolute;
top: 0;
background-color: #FFFFFF;
border-radius: 20px;
overflow: hidden;
height:194rpx;
}
.touch-slideLeft {
position: relative;
width: 100%;
z-index: 5;
transition: left 0.2s ease-in-out;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.del-box-touch-slideLeft {
right: 1rpx;
top:2rpx;
float: left;
width: 150rpx;
height: 190rpx;
background-color: #FF3700;
border-radius: 0 20px 20px 0;
color: #fff;
font-size: 26rpx;
padding-left:32rpx;
text-align: center;
}
.cf-shuCenter{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
}
</style>
......@@ -51,7 +51,7 @@
width:100%;
height:175rpx;
z-index: 999;
background: #fff;
background: #F8F8F8;
&.type1{
background:#BF0009;
}
......
<template>
<view class="bottom-nav-fixed row">
<navigator url="/pages/index/index" class="navitem" :class="{ act: actval == 1 }">
<text class="icon iconfont icon-home"></text>
<view>首页</view>
</navigator>
<navigator url="/pages/class/nav" class="navitem" :class="{ act: actval == 2 }">
<text class="icon iconfont icon-choose"></text>
<view>选型</view>
</navigator>
<navigator url="/pages/car/list" class="cartbgo navitem" :class="{ act: actval == 3 }">
<text class="icon iconfont icon-car"></text>
<view>
购物车
<text class="counts" v-if="count>0">{{ count }}</text>
</view>
</navigator>
<navigator url="/pages/user/userInfo" class="navitem" :class="{ act: actval == 4 }">
<text class="icon iconfont icon-user"></text>
<view>个人中心</view>
</navigator>
</view>
<view class="bottom-nav-fixed row">
<navigator url="/pages/index/index" class="navitem" :class="{ act: actval == 1 }">
<text class="icon iconfont icon-home"></text>
<view>首页</view>
</navigator>
<navigator url="/pages/class/nav" class="navitem" :class="{ act: actval == 2 }">
<text class="icon iconfont icon-choose"></text>
<view>选型</view>
</navigator>
<navigator url="/pages/car/list" class="cartbgo navitem" :class="{ act: actval == 3 }">
<text class="icon iconfont icon-car"></text>
<view>
购物车
<text class="counts" v-if="count>0">{{ count }}</text>
</view>
</navigator>
<navigator url="/pages/user/userInfo" class="navitem" :class="{ act: actval == 4 }">
<text class="icon iconfont icon-user"></text>
<view>个人中心</view>
</navigator>
</view>
</template>
<script>
import { Api_Url } from '@/util/api.js';
export default {
name: 'bottom_nav',
props: {
actval: {
type: String,
default: 1
},
carcount: {
type: Number,
default: 0
}
},
created() {
this.getData();
},
data() {
return {
count: 0,
isLogin:uni.getStorageSync('token')?true:false,
};
},
methods: {
getData() {
if(!this.isLogin){return}
this.request(Api_Url + '/api/cart/getCartCount', 'POST', {}, false).then(res => {
if (res.code === 0) {
this.count=res.data.count
uni.getStorageSync('carCount',res.data.count)
}
});
},
updateCar(){
this.getData()
import {
Api_Url
} from '@/util/api.js';
export default {
name: 'bottom_nav',
props: {
actval: {
type: String,
default: 1
},
carcount: {
type: Number,
default: 0
}
},
created() {
this.getData();
},
data() {
return {
count: 0,
isLogin: uni.getStorageSync('token') ? true : false,
};
},
methods: {
getData() {
if (!this.isLogin) {
return
}
this.request(Api_Url + '/api/cart/getCartCount', 'POST', {}, false).then(res => {
if (res.code === 0) {
this.count = res.data.count
uni.getStorageSync('carCount', res.data.count)
}
});
},
updateCar() {
this.getData()
}
}
}
};
};
</script>
<style scoped lang="scss">
.bottom-nav-fixed {
width: 100%;
height: 98rpx;
background: #fff;
position: fixed;
bottom: 0rpx;
left: 0;
right: 0;
z-index: 6;
padding-top: 14rpx;
z-index: 9;
border-top:1rpx solid #E8E8E8;
.navitem {
display: block;
color: #666;
font-size: 20rpx;
width: 25%;
text-align: center;
transition: all 0.4s ease;
.iconfont {
font-size: 44rpx;
color:#cdcdcd;
}
&.act {
color: #D0121B;
text {
color:#D0121B;
.bottom-nav-fixed {
width: 100%;
height: 130rpx;
background: #fff;
position: fixed;
bottom: 0rpx;
left: 0;
right: 0;
z-index: 6;
z-index: 9;
border-top: 1rpx solid #E8E8E8;
.navitem {
height:130rpx;
display: block;
color: #666;
font-size: 20rpx;
width: 25%;
text-align: center;
transition: all 0.4s ease;
padding-top:18rpx;
.iconfont {
font-size: 44rpx;
color: #cdcdcd;
}
&.act {
color: #D0121B;
text {
color: #D0121B;
}
}
}
&.cartbgo {
position: relative;
.counts {
width: 46rpx;
height: 32rpx;
background: #ff3700;
border-radius: 16rpx;
border: 2rpx solid #ffffff;
position: absolute;
right: 40rpx;
top: -5rpx;
color: #fff;
font-size: 24rpx;
line-height: 32rpx;
text-align: center;
}
}
}
}
</style>
&.cartbgo {
position: relative;
.counts {
width: 46rpx;
height: 32rpx;
background: #ff3700;
border-radius: 16rpx;
border: 2rpx solid #ffffff;
position: absolute;
right: 40rpx;
top: 7rpx;
color: #fff;
font-size: 24rpx;
line-height: 32rpx;
text-align: center;
}
}
}
}
</style>
\ No newline at end of file
......@@ -19,6 +19,7 @@
<text class="price1" v-else>¥****</text>
<text class="qytag" v-if="obj.ladder_price[1].price_cn">企业价</text>
<!-- <text class="qytip" v-if="!isLogin">登录后查看企业价</text> -->
</view>
<view class="price-box row" v-else>
<text class="xunj" @click.stop.prevent="goxj()">立即询价</text>
......@@ -85,7 +86,7 @@ export default {
.name{
width: 475rpx;
height: 90rpx;
font-size: 24rpx;
font-size: 26rpx;
color: #000000;
line-height: 45rpx;
margin-bottom: 10rpx;
......@@ -99,7 +100,7 @@ export default {
border: 1rpx solid #1969F9;
line-height: 32rpx;
color:#1969F9;
font-size: 20rpx;
font-size: 22rpx;
text-align: center;
margin-right: 15rpx;
padding:0 15rpx;
......@@ -117,7 +118,7 @@ export default {
font-size: 24rpx;
}
.price0{
margin-right: 22rpx;
margin-right: 24rpx;
font-weight: 600;
font-size: 30rpx;
color: #D91800;
......@@ -140,6 +141,11 @@ export default {
position: relative;
top:4rpx;
}
.qytip{
font-size: 24rpx;
color: #1969F9;
margin-left:16rpx;
}
}
}
}
......
......@@ -4,7 +4,7 @@
<view class="search-box row verCenter">
<text class="icon iconfont icon-search"></text>
<input class="uni-input" placeholder="请输入商品名称、品牌、型号、商品编码" :value="inputClearValue" @input="clearInput"
confirm-type="search" @confirm="onConfirm" />
confirm-type="search" @confirm="onConfirm" @click="goUrl" :focus="isFocus"/>
<text class="icon iconfont icon-searchclose" v-if="showClearIcon" @click="clearIcon()"></text>
</view>
<navigator class="kfbtn" :url='$globalData.KFQQ' ></navigator>
......@@ -19,6 +19,10 @@
type: String,
default: ""
},
isFocus:{
type:Boolean,
default:false
},
backurl:{
type: String,
default: ""
......@@ -50,9 +54,12 @@
methods: {
goBack() {
if(this.backurl){
uni.redirectTo({
uni.reLaunch({
url: this.backurl
});
// uni.redirectTo({
// url: this.backurl
// });
return
}
this.$goBack()
......@@ -60,6 +67,9 @@
onConfirm(e) {
this.$emit('confirm', e);
},
goUrl(e){
this.$emit('goUrl', e);
},
clearInput: function(event) {
this.inputClearValue = event.detail.value;
if (event.detail.value.length > 0) {
......@@ -99,14 +109,14 @@
margin-right: 34rpx;
input {
font-size: 22rpx;
font-size: 24rpx;
line-height: 30rpx;
padding-left: 10rpx;
width: 450rpx;
width: 435rpx;
}
.icon-searchclose {
font-size: 26rpx;
font-size: 36rpx;
color: #898989;
cursor: pointer;
}
......
<template>
<view class="titsk-head row verCenter">
<view class="leftbox row verCenter">
<text class="icon iconfont icon-arrowleft" @click="$goBack"></text>
<text class="icon iconfont icon-arrowleft" @click="back"></text>
</view>
<view class="title">{{title}}</view>
......@@ -15,7 +15,11 @@
title: {
type: String,
default: '爱智工业品'
}
},
backurl:{
type: String,
default: ""
}
},
created() {
......@@ -26,7 +30,15 @@
}
},
methods: {
back(){
if(this.backurl){
uni.reLaunch({
url: this.backurl
});
return
}
this.$goBack()
}
}
};
</script>
......@@ -56,7 +68,7 @@
.title{
margin-left:50rpx;
width: 500rpx;
font-size: 28rpx;
font-size: 30rpx;
color: #000000;
text-align: center;
}
......
......@@ -9,7 +9,14 @@
"enablePullDownRefresh": false
}
},
{"path": "pages/index/kf"},
{"path": "pages/index/kf",
"style": {
"navigationBarTitleText": "iEdge爱智 - 在线咨询",
"navigationBarBackgroundColor": "#BF0009",
"navigationBarTextStyle": "white",
"enablePullDownRefresh": false
}
},
{"path": "pages/class/nav"},
{"path": "pages/class/list"},
......@@ -51,7 +58,7 @@
"globalStyle": {
"navigationBarTextStyle": "black",
// "navigationBarTitleText": "爱智工业品平台",
"navigationBarBackgroundColor": "#fff",
"navigationBarBackgroundColor": "#F8F8F8",
// "backgroundColor": "#fff"
"navigationStyle": "custom"
},
......
......@@ -56,10 +56,11 @@
}
view{
margin-top:45rpx;
font-size: 30rpx;
margin-bottom: 17rpx;
}
text{
font-size: 18rpx;
font-size: 24rpx;
color: #808080;
}
}
......
......@@ -8,7 +8,10 @@
<view class="cons" v-if="step==1">
<view class="input-box row verCenter">
<picker @change="bindPickerChange($event, 1)" :value="areaIndex" :range="areaArray" :range-key="'name'">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
<view class="areabox-box row verCenter">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
<text :class="['icon','iconfont','icon-arrowxia']"></text>
</view>
</picker>
<input type="text" v-model="mobile" @input="clearInput" placeholder="请输入手机号"
placeholder-class="placeholder-class" />
......@@ -29,16 +32,16 @@
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<input :type="passwordShow?'text':'password'" v-model="password" placeholder="请输入新密码"
placeholder-class="placeholder-class" />
<input type="text" v-if="passwordShow" v-model="password" placeholder="请输入新密码" placeholder-class="placeholder-class" />
<input type="password" v-else v-model="password" placeholder="请输入新密码" placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow}"
@click="passwordShow=!passwordShow"></text>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<input :type="passwordShow1?'text':'password'" v-model="password1" placeholder="请确认新密码"
placeholder-class="placeholder-class" />
<input type="text" v-if="passwordShow1" v-model="password1" placeholder="请输入新密码" placeholder-class="placeholder-class" />
<input type="password" v-else v-model="password1" placeholder="请输入新密码" placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow1}"
@click="passwordShow1=!passwordShow1"></text>
......
......@@ -9,7 +9,10 @@
<view class="input-box row verCenter">
<text class="icon iconfont icon-mobile ics"></text>
<picker @change="bindPickerChange($event, 1)" :value="areaIndex" :range="areaArray" :range-key="'name'">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
<view class="areabox-box row verCenter">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
<text :class="['icon','iconfont','icon-arrowxia']"></text>
</view>
</picker>
<input type="text" v-model="mobile" @blur="checkIsReg" @input="clearInput" placeholder="请输入手机号"
placeholder-class="placeholder-class" />
......@@ -31,8 +34,9 @@
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<text class="icon iconfont icon-password ics"></text>
<input :type="passwordShow?'text':'password'" v-model="password" placeholder="请设置登录密码(6-20个字符)"
placeholder-class="placeholder-class" />
<input type="text" v-if="passwordShow" v-model="password" placeholder="请设置登录密码(6-20个字符)" placeholder-class="placeholder-class" />
<input type="password" v-else v-model="password" placeholder="请设置登录密码(6-20个字符)" placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow}"
@click="passwordShow=!passwordShow"></text>
......@@ -40,8 +44,8 @@
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<text class="icon iconfont icon-password ics"></text>
<input :type="passwordShow1?'text':'password'" v-model="password1" placeholder="确认登录密码(6-20个字符)"
placeholder-class="placeholder-class" />
<input type="text" v-if="passwordShow1" v-model="password1" placeholder="确认登录密码(6-20个字符)" placeholder-class="placeholder-class" />
<input type="password" v-else v-model="password1" placeholder="确认登录密码(6-20个字符)" placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow1}"
@click="passwordShow1=!passwordShow1"></text>
......
......@@ -5,9 +5,7 @@
<text class="icon iconfont icon-arrowleft" @click="$goBack"></text>
<view>{{id==1?'爱智网站服务协议':'爱智网隐私政策'}}</view>
</view>
<view class="content">
{{content}}
</view>
<view class="content" v-html="content"></view>
</view>
</template>
......
<template>
<view class="confirmOrderPage">
<barX />
<titleNav :title="'确认订单'"/>
<titleNav :title="'确认订单'" :backurl="confirmOrderBackUrl"/>
<view class="cons">
<view class="top-box">
<navigator :url="'/pages/user/address?form=confirmOrder&coupon_id='+coupon_id+'&invoice_id='+invoice_id" class="address-box" v-if="addressInfo">
<navigator :url="'/pages/user/address?form=confirmOrder&address_id='+address_id+'&coupon_id='+coupon_id+'&invoice_id='+invoice_id" class="address-box" v-if="addressInfo">
<view class="addbx row bothSide verCenter">
<view class="l">
<view class="ad row verCenter">
......@@ -17,7 +17,7 @@
<text class="icon iconfont icon-arrowright"></text>
</view>
</navigator>
<navigator :url="'/pages/user/address?form=confirmOrder&coupon_id='+coupon_id+'&invoice_id='+invoice_id" class="address-box" v-else>
<navigator :url="'/pages/user/address?form=confirmOrder&address_id='+address_id+'&coupon_id='+coupon_id+'&invoice_id='+invoice_id" class="address-box" v-else>
<view class="noadd row verCenter bothSide">
<text>收货地址</text>
<view>
......@@ -52,15 +52,16 @@
</view>
<view class="cginfo" >
<view class="tit">采购信息确认</view>
<navigator :url="'/pages/user/invoice?form=confirmOrder&coupon_id='+coupon_id+'&address_id='+address_id" >
<view class="row bothSide item"><text>发票信息</text><view><text>{{invoiceInfo?invoiceInfo.tax_title:'暂无发票去设置'}}</text><text class="icon iconfont icon-arrowright"></text></view></view>
<navigator :url="'/pages/user/invoice?form=confirmOrder&invoice_id='+invoice_id+'&coupon_id='+coupon_id+'&address_id='+address_id" >
<view class="row bothSide item"><text>发票信息</text><view><text>{{invoice_id_org=="460053411"?'不开发票':(invoiceInfo?invoiceInfo.tax_title:'暂无发票去设置')}}</text><text class="icon iconfont icon-arrowright"></text></view></view>
</navigator>
<view class="row bothSide item"><text>支付方式</text><text>微信支付</text></view>
</view>
<view class="pur-sn-box">
<view class="tit">订单备注</view>
<input type="text" class="pur-sn-val" v-model="order_remark" placeholder-class="placeholder-class" placeholder="请输入订单备注"/>
<view class="pur-sn-box">
<view class="tit">订单备注</view>
<input type="text" class="pur-sn-val" v-model="order_remark" placeholder-class="placeholder-class" placeholder="请输入订单备注"/>
</view>
<!-- <view class="row bothSide item"><text>支付方式</text><text>微信支付</text></view> -->
</view>
<view class="price-infos" v-if="priceInfo">
<view class="top ">
<view class="item row bothSide"><text>商品含税总额</text><text>{{priceInfo.currency_sign}}{{priceInfo.total_amount}}</text></view>
......@@ -73,7 +74,7 @@
</view>
<view class="foot row verCenter bothSide " >
<view class="l row verCenter" v-if="priceInfo">应付金额:<text>{{priceInfo.currency_sign}}{{priceInfo.pay_amount}}</text> </view>
<view class="l row verCenter" v-if="priceInfo">含税总额:<text>{{priceInfo.currency_sign}}{{priceInfo.pay_amount}}</text> </view>
<view class="submit-btn" @click="createOrder">提交订单</view>
</view>
......@@ -98,12 +99,12 @@
<text>{{item.start_time}} - {{item.end_time}}</text>
</view>
</view>
<view class="r">
<!-- <view class="r">
<view class="rbtn row verCenter rowCenter">
<view>选择</view>
<text ></text>
</view>
</view>
</view> -->
</view>
</view>
<view class="add-btn" @click="confirmYhq">确认</view>
......@@ -119,12 +120,14 @@
export default {
data() {
return {
confirmOrderBackUrl:uni.getStorageSync('confirmOrderBackUrl')||"",
carList:[],
coupon_list:[],
coupon_id:"",
address_id:"",
addressInfo:"",
invoice_id:"",
invoice_id_org:"",
invoiceInfo:"",
priceInfo:"",
order_remark:"",
......@@ -134,6 +137,10 @@
onLoad(options) {
this.address_id=options.address_id||""
this.invoice_id=options.invoice_id||""
this.invoice_id_org=options.invoice_id||""
// if(!this.invoice_id_org){
// this.invoice_id_org="460053411"
// }
this.coupon_id=options.coupon_id||""
},
onShow(){
......@@ -179,6 +186,11 @@
})
},
getinvoice(){
if(this.invoice_id_org=="460053411"){
this.invoice_id=""
this.invoiceInfo=""
return
}
this.request(Api_Url + '/api/invoice/getList', 'GET', {}, true).then(res => {
if(res.code==0){
let arr_=res.data.list||[]
......@@ -193,6 +205,7 @@
}
}
})
if(arr_.length>0&&(!this.invoiceInfo)){
this.invoiceInfo=arr_[0]
}
......
......@@ -5,7 +5,7 @@
<view class="cons">
<view class="top-box">
<view class="tit">询价人:{{create_name}}</view>
<navigator :url="'/pages/user/address?form=confirmQuote&coupon_id='+coupon_id" class="address-box">
<navigator :url="'/pages/user/address?form=confirmQuote&address_id='+address_id+'&coupon_id='+coupon_id" class="address-box">
<view class="addbx row bothSide verCenter">
<view class="l">
<view class="ad row verCenter">
......@@ -103,12 +103,12 @@
<text>{{item.start_time}} - {{item.end_time}}</text>
</view>
</view>
<view class="r">
<!-- <view class="r">
<view class="rbtn row verCenter rowCenter">
<view>选择</view>
<text ></text>
</view>
</view>
</view> -->
</view>
</view>
<view class="add-btn" @click="confirmYhq">确认</view>
......@@ -124,7 +124,7 @@
export default {
data() {
return {
isTest:false,
isTest:true,
pdf_email:"",
purchase_sn:"",
userInfo:"",
......
......@@ -14,6 +14,7 @@
<text @click="isEdit=!isEdit">退出管理</text>
</view>
</view>
<view class="cons">
<view class="no-data" v-if="(!isLogin)||(dataInited&&carList.length==0)">
<image src="https://img.ichunt.com/images/ichunt/202502/19/7fdab385a25db187f8e57370875f7546.png"/>
......@@ -24,32 +25,33 @@
</view>
<view class="list-box" v-if="carList.length>0">
<view class="item-group row verCenter bothSide" v-for="(item,index) in carList" :key="index">
<view class="l row verCenter">
<text class="icon iconfont icon-checked1" :class="{'icon-checked':item.checked}" @click.stop="checkboxchange(item.sku_id)"></text>
<navigator :url="'/pages/goods/detail?goods_id='+item.sku_id" >
<image :src="item.goods_info.goods_images||'https://www.iedge.net/assets/images/common/defaultnew.png'"/>
</navigator>
</view>
<view class="r">
<navigator :url="'/pages/goods/detail?goods_id='+item.sku_id" >
<view class="elep skun">{{item.goods_info.sku_name}}</view>
<view class="txt">型号:{{item.goods_info.goods_name}}</view>
<view class="txt">品牌:{{item.goods_info.brand_name}}</view>
<view class="txt">货期:{{item.goods_info.cn_delivery_time}}</view>
</navigator>
<view class="row verCenter bothSide">
<view class="price">¥{{item.price}}</view>
<view class="hbha row verCenter bothSide">
<text class="icon iconfont icon-jian" @click="addjNum(item.sku_id,1)"></text>
<input type="number" v-model="item.goods_num" @input="changeNum(item.sku_id)"/>
<text class="icon iconfont icon-jia" @click="addjNum(item.sku_id,2)"></text>
<delSlideLeft v-for="(item,index) in carList" :key="index" @delItem="dels(item.sku_id)">
<view class="item-group row verCenter bothSide" >
<view class="l row verCenter">
<text class="icon iconfont icon-checked1" :class="{'icon-checked':item.checked}" @click.stop="checkboxchange(item.sku_id)"></text>
<navigator :url="'/pages/goods/detail?goods_id='+item.sku_id" >
<image :src="item.goods_info.goods_images||'https://www.iedge.net/assets/images/common/defaultnew.png'"/>
</navigator>
</view>
<view class="r">
<navigator :url="'/pages/goods/detail?goods_id='+item.sku_id" >
<view class="elep skun">{{item.goods_info.sku_name}}</view>
<view class="txt">型号:{{item.goods_info.goods_name}}</view>
<view class="txt">品牌:{{item.goods_info.brand_name}}</view>
<view class="txt">货期:{{item.goods_info.cn_delivery_time}}</view>
</navigator>
<view class="row verCenter bothSide">
<view class="price">¥{{item.price}}</view>
<view class="hbha row verCenter bothSide">
<text class="icon iconfont icon-jian" @click="addjNum(item.sku_id,1)"></text>
<input type="number" v-model="item.goods_num" @input="changeNum(item.sku_id)"/>
<text class="icon iconfont icon-jia" @click="addjNum(item.sku_id,2)"></text>
</view>
</view>
</view>
</view>
</view>
</delSlideLeft>
</view>
</view>
<view class="car-foot row verCenter bothSide " v-if="isEdit">
......@@ -130,6 +132,7 @@
<script>
import {Api_Url} from '@/util/api.js'
import barX from '@/components/barx.vue';
import delSlideLeft from '@/components/ay-operate/del_slideLeft.vue'
import bottomNavFixed from '@/components/bottom_nav.vue';
export default {
......@@ -285,9 +288,12 @@
this.listUi()
return false
},
dels(){
dels(sku_id){
let result=this.carList.filter(item=>item.checked)
let ids=result.map(item=>item.sku_id).join(',')
if(sku_id){
ids=String(sku_id)
}
if(!ids){
uni.showToast({
title: '请选择至少一个商品',
......@@ -298,7 +304,7 @@
}
uni.showModal({
title:"删除",
content:"是否删除当前选中商品?",
content:"是否删除当前"+(sku_id?"选中":"")+"商品?",
success:(resp)=>{
if (resp.confirm) {
this.request(Api_Url + '/api/cart/delCart', 'POST', {sku_id: ids}, true).then(res => {
......@@ -336,6 +342,7 @@
return
}
uni.setStorageSync('car_ids', ids);
uni.setStorageSync('confirmOrderBackUrl',`/pages/car/list`)
uni.navigateTo({
url: type==1?'/pages/car/confirmOrder':'/pages/car/confirmQuote'
});
......@@ -357,7 +364,7 @@
chooseQd(list_id){
this.qDList.forEach(item=>{
if(item.list_id==list_id){
item.checked=true
item.checked=!item.checked
}else{
item.checked=false
}
......@@ -460,7 +467,8 @@
},
components: {
barX,
bottomNavFixed
bottomNavFixed,
delSlideLeft
}
}
</script>
......
......@@ -2,7 +2,7 @@
<view class="searchPage">
<barX />
<view class="fixed-tp">
<searchHead @confirm="onConfirm" />
<searchHead @confirm="onConfirm" @goUrl="goUrl"/>
<view class="shiftbox row bothSide verCenter">
<view class="rank1 rank row " @click="tab(1)" :class="{'act':tabType==1}">综合排序</view>
<view class="rank2 rank row verCenter" @click="tab(2)" :class="{'act':tabType==2}">库存<text
......@@ -30,23 +30,21 @@
<view class="pop-consx">
<view class="section">
<view v-if="aggs.length>0">
<view class="item-group" v-for="(item,index) in aggs" :key="index" v-if="item.namex!='分类'">
<view class="item-group" v-for="(item,index) in aggs" :key="index">
<view class="item-t row bothSide verCenter">
<text class="names elep">{{item.namex}}</text>
<view class="row verCenter status-box" v-if="item.listx.length>6"
@click="uiChage(item.namex)">
<view class="row verCenter status-box" v-if="item.listx.length>6" @click="uiChage(item.namex)">
<text class="status-name">{{item.hideAll?'收起':'展开'}}</text>
<text
:class="['icon','iconfont',item.hideAll?'icon-arrowshang':'icon-arrowxia']"></text>
<text :class="['icon','iconfont',item.hideAll?'icon-arrowshang':'icon-arrowxia']"></text>
</view>
</view>
<view class="item-c row" :class="{'showAll':item.hideAll}">
<view class="item-c row" :class="{'showAll':item.hideAll}">
<view class="citem elep" :class="{'act':item1.checked==1}"
@click="changeAttr(item.namex,item1.attr_value_id)"
v-for="(item1,index1) in item.listx" :key="index">{{item1.value}}</view>
@click="changeAttr(item.namex,item1.attr_value_id)" v-for="(item1,index1) in item.listx"
:key="index1">{{item1.value}}</view>
</view>
</view>
</view>
</view>
</view>
......@@ -71,6 +69,7 @@
export default {
data() {
return {
isHasAttr:false,//记录是否加载属性
isInit: false, //记录是否加载了数据
class_id2: "", //搜索值
tabType: 1,
......@@ -185,16 +184,24 @@
}
if (res.code == 0) {
if (!this.isInit) {
if (!this.isHasAttr) {
let agl_ = res.data.aggs ? JSON.parse(JSON.stringify(res.data.aggs)) : [];
this.aggs = Object.keys(agl_).map(item => {
return {
namex: item,
listx: agl_[item] || [],
hideAll: false
this.aggs = []
Object.keys(agl_).forEach(item => {
let arrpo_=agl_[item] || []
if(item!='分类'){
this.aggs.push({
namex: item,
listx:arrpo_ ,
hideAll: false
})
}
})
}
this.isHasAttr=1
this.isInit = 1;
this.list = [...this.list, ...(res.data.lists || [])]
......@@ -229,6 +236,11 @@
this.list = []
this.getData()
},
goUrl(){
uni.navigateTo({
url: '/pages/search/nav'
});
},
onConfirm(e) {
let key_ = e.detail.value
if (key_.length < 2) {
......
......@@ -2,7 +2,7 @@
<view class="classNavPage">
<barX />
<view class="bugc-ceng">
<searchHead @confirm="onConfirm" />
<searchHead @confirm="onConfirm" @goUrl="goUrl"/>
</view>
<view class="cons">
......@@ -10,8 +10,8 @@
<view class="lb row">
<view class="itemo" :class="{'act':item.checkedx}" v-for="(item,index) in pageData" :key="index" @click="tab(1,item.base_id)">{{item.title}}</view>
</view>
<view class="rb row verCenter rowCenter">
<text :class="['icon','iconfont','icon-arrowxia']" @click="isShowClassOne=!isShowClassOne"></text>
<view class="rb row verCenter rowCenter" @click="isShowClassOne=!isShowClassOne">
<text :class="['icon','iconfont','icon-arrowxia']" ></text>
</view>
<view class="one-c-hide-cons">
<view class="tit">全部分类</view>
......@@ -28,7 +28,7 @@
</view>
<view class="two-c-box row bothSide">
<view class="lc">
<view class="item" :class="{'act':item.checkedx}" v-for="(item,index) in erJList" :key="index" @click="tab(2,item.class_id)">{{item.class_name}}</view>
<view class="item row verCenter" :class="{'act':item.checkedx}" v-for="(item,index) in erJList" :key="index" @click="tab(2,item.class_id)">{{item.class_name}}</view>
</view>
<view class="rc ">
<navigator :url="'/pages/class/list?class_id2='+item.class_id" class="item" v-for="(item,index) in sanJlist" :key="index">
......@@ -163,6 +163,11 @@
url: '/pages/search/list?k=' + key_
});
},
goUrl(){
uni.navigateTo({
url: '/pages/search/nav'
});
},
},
components: {
searchHead,
......
<template>
<view class="goodsDetailPage">
<view class="goodsDetailPage" v-if="goods_info">
<barX />
<view class="header row verCenter">
<view class="header row verCenter" >
<text class="icon iconfont icon-arrowleft" @click="$goBack"></text>
<text class="tab-item" :class="{'act':pageTab==1}" @click="tab(1)">商品</text>
<text class="tab-item " :class="{'act':pageTab==2}" @click="tab(2)">详情</text>
</view>
<view class="goods_info" v-if="goods_info">
<view class="goods_info">
<view class="swiper-box" v-if="images.length>0">
<swiper class="swiper" @change="handleSwiperChange" :indicator-dots="false" :autoplay="false"
:interval="3000" :duration="500">
......@@ -20,21 +20,22 @@
<view class="price-box row verCenter" v-if="goods_info.ladder_price&&goods_info.ladder_price.length>0">
<text class="price1" v-if="goods_info.ladder_price[0]['price_cn']">¥
{{goods_info.ladder_price[0]['price_cn']}}</text>
<text class="price1" v-else>暂无价格</text>
<text class="price1" v-else>¥立即咨询</text>
<view v-if="isLogin">
<view class="row verCenter" v-if="goods_info.ladder_price[1]['price_cn']">
<text class="price2">¥ {{goods_info.ladder_price[1]['price_cn']||'暂无价格'}}</text>
<text class="price2">¥ {{goods_info.ladder_price[1]['price_cn']||'立即咨询'}}</text>
<text class="qy">企业价</text>
</view>
</view>
<view class="row verCenter" v-else>
<text class="price2">¥ ****</text>
<text class="qy">企业价</text>
<text class="qytip">登录后查看企业价</text>
</view>
</view>
<view class="price-box row verCenter" v-else>
<text class="price1 price1no">暂无价格</text>
<text class="price1 price1no">¥立即咨询</text>
</view>
......@@ -87,20 +88,23 @@
</view>
<view class="foot row verCenter bothSide">
<view class="foot row verCenter bothSide" >
<navigator class="item" :url='$globalData.KFQQ'>
<text class="icon iconfont icon-kfd"></text>
<view>客服</view>
</navigator>
<navigator class="item" url="/pages/car/list">
<navigator class="item" url="/pages/car/list" >
<text class="icon iconfont icon-card"></text>
<view>购物车</view>
</navigator>
<navigator class="kefzx" :url='$globalData.KFQQ' v-if="goods_info.is_buy!=1">
立即咨询
</navigator>
<view class="item" @click="openAddList()" v-if="goods_info.is_buy==1">
<text class="icon iconfont icon-qdd"></text>
<view>加入清单</view>
</view>
<view class="row">
<view class="row" v-if="goods_info.is_buy==1">
<view class="add-car" @click="open(1)">加入购物车</view>
<view class="add-confirm" @click="open(2)">立即订购</view>
</view>
......@@ -210,14 +214,55 @@
goods_series:[],
addType: 1,
list_name:"",//清单名字
qDList:[]
qDList:[],
miniShareOptions: {
title: '爱智工业平台',
path: '/pages/goods/detail?goods_id=',
imageUrl: 'https://img.ichunt.com/images/ichunt/202503/11/8bd43dcc1b28a3fd8c417ac0c6410406.png',
desc: ''
}
}
},
onShareAppMessage() {
return {
...this.miniShareOptions,
success: () => {
uni.showToast({
title: '分享成功',
icon: 'success'
});
},
fail: () => {
uni.showToast({
title: '分享失败',
icon: 'none'
});
}
};
},
onShareTimeline() {
return {
...this.miniShareOptions,
success: () => {
uni.showToast({
title: '分享成功',
icon: 'success'
});
},
fail: () => {
uni.showToast({
title: '分享失败',
icon: 'none'
});
}
};
},
onLoad(option) {
this.goods_id_page=option.goods_id
this.goods_id = option.goods_id
this.getData()
this.getQdList()
this.miniShareOptions.path='/pages/goods/detail?goods_id='+option.goods_id
},
onPageScroll(e) {
this.pageTab = 1
......@@ -252,6 +297,7 @@
this.close()
}else{
uni.setStorageSync('car_ids',this.goods_id);
uni.setStorageSync('confirmOrderBackUrl',`/pages/goods/detail?goods_id=${this.goods_id_page}`)
uni.navigateTo({
url:'/pages/car/confirmOrder'
});
......@@ -344,6 +390,12 @@
}, true).then(res => {
if (res.code == 0) {
this.goods_info = res.data.goods_info
this.miniShareOptions.title=this.goods_info.goods_name+" "+this.goods_info.class_name
if(this.goods_info.sku_detail){
this.goods_info.sku_detail=this.goods_info.sku_detail.replace(/<img/gi, '<img class="img-style"')
}
this.goods_numberx=Number(this.goods_info.moq)
this.buyPrice=0;
if(this.goods_info.ladder_price&&this.goods_info.ladder_price.length>0){
......@@ -408,7 +460,7 @@
chooseQd(list_id){
this.qDList.forEach(item=>{
if(item.list_id==list_id){
item.checked=true
item.checked=!item.checked
}else{
item.checked=false
}
......
<template>
<view class="indexPage">
<barX :pageTitle="pageTitle" :type="type"/>
<view class="header" >
<view class="header" v-if="scrollTop <= 180">
<image class="logo" src="/static/images/logo.png" ></image>
<navigator url="/pages/user/userInfo" class="menber" >会员入口</navigator>
<view class="input-box row verCenter">
......@@ -20,7 +20,7 @@
</navigator>
</swiper-item>
</swiper>
<view class="cate-box row " v-if="pageData.quick_links&&pageData.quick_links.length>0">
<view class="cate-box row bothSide" v-if="pageData.quick_links&&pageData.quick_links.length>0">
<navigator :url="item.url" class="item" v-for="(item,index) in pageData.quick_links" :key="index">
<image :src="item.images"></image>
<text class="elep">{{item.title}}</text>
......@@ -32,15 +32,23 @@
<navigator :url="'/pages/goods/detail?goods_id='+item.goods_id" class="item" v-for="(item,index) in pageData.recommend_goods" :key="index">
<image :src="item.goods_images||'https://www.iedge.net/assets/images/common/defaultnew.png'"></image>
<view class="title elep2">{{item.sku_name}}</view>
<view class="price">
<text></text>{{item.red_price}}
<view class="price " v-if="item.ladder_price&&item.ladder_price.length>0">
<view class="price0">¥{{item.ladder_price[0].price_cn||''}}</view>
<view class="row verCenter qibox">
<text class="price1" v-if="isLogin"><text class="price1" v-if="item.ladder_price[1].price_cn">¥{{item.ladder_price[1].price_cn}}</text></text>
<text class="price1" v-else>¥****</text>
<text class="qytag" v-if="item.ladder_price[1].price_cn">企业价</text>
</view>
</view>
<view class="price-c" v-else>
<text class="xunj" @click.stop.prevent="goxj()">立即询价</text>
</view>
</navigator>
</view>
</view>
<view class="fixed-search" v-if="scrollTop > 48">
<view class="fixed-search" v-if="scrollTop > 180">
<view class="input-box row verCenter">
<text class="icon iconfont icon-search"></text>
<input type="text" @click="goSearch()" placeholder="请输入商品名称、品牌、型号、商品编码" />
......@@ -60,6 +68,7 @@
export default {
data() {
return {
isLogin:uni.getStorageSync('token')?true:false,
pageTitle:"",
type:1,
scrollTop: 0,
......@@ -68,12 +77,12 @@
},
onPageScroll(e) {
this.scrollTop = e.scrollTop;
if (e.scrollTop > 48) {
if (e.scrollTop > 180) {
this.pageTitle='爱智工业品平台'
this.type=0
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
backgroundColor: '#F8F8F8',
animation: {
duration: 300, // 动画持续时间(毫秒)
timingFunc: 'ease-in-out' // 动画效果
......@@ -98,7 +107,11 @@
},
methods: {
goxj(){
uni.navigateTo({
url: this.$globalData.KFQQ
});
},
getData(){
this.request(Api_Url + '/api/xcx/homepage', 'GET', {}, true).then(res => {
if(res.code==0){
......
<template>
<view class="kfPage">
<web-view :src="'https://11012981.saas.53kf.com/code/xcx/a4d13c38cc838fb6be490633eff7260b6/1'"></web-view>
<view class="kfPage" >
<barX :type="1" :pageTitle="'iEdge爱智 - 在线咨询'"/>
<web-view :src="'https://11012981.saas.53kf.com/code/xcx/a4d13c38cc838fb6be490633eff7260b6/1?header=none'"></web-view>
</view>
</template>
......@@ -30,5 +31,6 @@
</script>
<style scoped lang="scss">
</style>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<view class="searchPage">
<barX />
<view class="fixed-tp">
<searchHead @confirm="onConfirm" :searchVal="searchVal" />
<searchHead @confirm="onConfirm" :searchVal="searchVal" :backurl="'/pages/index/index'" />
<view class="shiftbox row bothSide verCenter">
<view class="rank1 rank row " @click="tab(1)" :class="{'act':tabType==1}">综合排序</view>
<view class="rank2 rank row verCenter" @click="tab(2)" :class="{'act':tabType==2}">库存<text
......@@ -29,7 +29,7 @@
<view class="pop-consx">
<view class="section">
<view v-if="aggs.length>0">
<view class="item-group" v-for="(item,index) in aggs" :key="index">
<view class="item-group" v-for="(item,index) in aggs" :key="index" >
<view class="item-t row bothSide verCenter">
<text class="names elep">{{item.namex}}</text>
<view class="row verCenter status-box" v-if="item.listx.length>6" @click="uiChage(item.namex)">
......@@ -40,12 +40,13 @@
<view class="item-c row" :class="{'showAll':item.hideAll}">
<view class="citem elep" :class="{'act':item1.checked==1}"
@click="changeAttr(item.namex,item1.attr_value_id)" v-for="(item1,index1) in item.listx"
:key="index">{{item1.value}}</view>
:key="index1">{{item1.value}}</view>
</view>
</view>
</view>
</view>
<view class="foot row bothSide">
<view class="cz" @click="clearAttr">重置</view>
<view class="cx" @click="close">确认({{totals}}个型号)</view>
......@@ -67,7 +68,7 @@
export default {
data() {
return {
isHasAttr:false,//记录是否加载属性
isInit: false, //记录是否加载了数据
searchVal: "", //搜索值
tabType: 1,
......@@ -183,7 +184,7 @@
this.list = []
}
if (res.code == 0) {
if (!this.isInit) {
if (!this.isHasAttr) {
let agl_ = res.data.aggs?JSON.parse(JSON.stringify(res.data.aggs)):[];
this.aggs = Object.keys(agl_).map(item => {
return {
......@@ -193,6 +194,7 @@
}
})
}
this.isHasAttr = 1;
this.isInit = 1;
this.list = [...this.list, ...(res.data.lists || [])]
this.totals = res.data.total||0
......
<template>
<view class="searchNavPage">
<barX />
<searchHead @confirm="onConfirm" />
<searchHead @confirm="onConfirm" :isFocus="true"/>
<view class="hot-search" v-if="hot_search_list.length>0">
<view class="tit row bothSide verCenter">
<text class="word-name" >热搜</text>
......@@ -14,10 +14,11 @@
</view>
</view>
<view :class="['content-box', 'row', { 'hidex': showToggle&&(!isExpanded) }]">
<navigator :style="{ color: item.content, fontWeight: (item.mark_bold==1?'bold':'') }" :url="'/pages/search/list?k='+item.title" class="item" v-for="(item,index) in hot_search_list" :key="index">{{item.title}}</navigator>
<!-- :style="{ color: item.content, fontWeight: (item.mark_bold==1?'bold':'') }" -->
<navigator :url="'/pages/search/list?k='+item.title" class="item" v-for="(item,index) in hot_search_list" :key="index">{{item.title}}</navigator>
</view>
</view>
<view class="history-search" v-if="searchHistory.length>0">
<view class="history-search">
<view class="tit row bothSide verCenter">
<text class="word-name">历史搜索</text>
<view class="rt row verCenter">
......@@ -44,7 +45,7 @@
data() {
return {
isExpanded: false, // 是否展开
showToggle: false,
showToggle: true,
hot_search_list:[],
searchHistory: [],
}
......@@ -86,23 +87,30 @@
});
},
getContentHeight() {
const query = uni.createSelectorQuery().in(this);
query.select('.content-box').boundingClientRect((data) => {
if (data) {
this.showToggle = data.height > 90;
}
}).exec();
// const query = uni.createSelectorQuery().in(this);
// query.select('.content-box').boundingClientRect((data) => {
// if (data) {
// this.showToggle = data.height > 90;
// }
// }).exec();
},
toggleContent() {
this.isExpanded = !this.isExpanded;
},
getsearchHistory() {
let listhis_ = uni.getStorageSync('historyItems');
this.searchHistory = []
if (listhis_) {
this.searchHistory = listhis_.split("|")
} else {
this.searchHistory = []
}
let arr_=listhis_.split("|")
arr_.forEach(item=>{
if(item){
this.searchHistory.push(item)
}
})
}
console.log(this.searchHistory)
},
delsearchHistory() {
uni.showModal({
......
......@@ -5,7 +5,7 @@
<view class="cons">
<view class="data-box">
<view class="group " v-for="(item,index) in list" :key="index">
<view class="group " :class="{'hkk':item.checkedx}" v-for="(item,index) in list" :key="index" @click="setChoose(item.address_id)">
<view class="t row verCenter">
<text class="tet">{{item.nation_cn!="中国"?item.nation_cn:''}} {{item.province_val}}
{{item.city_val}} {{item.district_val}} {{item.consignee}}</text>
......@@ -18,16 +18,17 @@
:class="{'icon-checked':item.is_default==1}"></text>
<text>{{item.is_default==1?"已默认":"设为默认"}}</text>
</view>
<view class="l row verCenter" @click="setChoose(item.address_id)" v-else>
<view v-else></view>
<!-- <view class="l row verCenter" @click="setChoose(item.address_id)" v-else>
<text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.checkedx==1}"></text>
<text>{{item.checkedx==1?"已选择":"选择"}}</text>
</view>
</view> -->
<view class="r row verCenter">
<text @click="deleteAdress(item.address_id)">删除</text>
<text @click="copy(item)">复制</text>
<view><navigator :url="'/pages/user/addressEdit?address_id=' + item.address_id" >修改</navigator></view>
<text @click.stop="deleteAdress(item.address_id)">删除</text>
<text @click.stop="copy(item)">复制</text>
<view @click.stop="goUpdate(item.address_id)">修改</view>
</view>
</view>
</view>
......@@ -55,6 +56,7 @@
return {
isInit: false, //记录是否加载了数据
form:"",
address_id:"",
invoice_id:"",
coupon_id:"",
list: [],
......@@ -62,6 +64,7 @@
},
onLoad: function(options) {
this.form=options.form||""
this.address_id=options.address_id||""
this.invoice_id=options.invoice_id||""
this.coupon_id=options.coupon_id||""
......@@ -70,7 +73,13 @@
this.getData();
},
methods: {
goUpdate(address_id){
uni.navigateTo({
url:'/pages/user/addressEdit?address_id=' + address_id
})
},
setChoose(address_id){
if(!this.form){return}
let address_id_go=""
this.list.forEach(item=>{
item.checkedx=false
......@@ -91,7 +100,7 @@
uni.navigateTo({
url: '/pages/car/confirmOrder?address_id='+address_id_go+'&coupon_id='+this.coupon_id+'&invoice_id='+this.invoice_id
});
},1000);
},200);
},
copy(item){
uni.setClipboardData({
......@@ -161,6 +170,9 @@
let arr_ = res.data.list || []
arr_.forEach(item=>{
item.checkedx=false
if(item.address_id==this.address_id){
item.checkedx=true
}
})
this.list = arr_
} else {
......
......@@ -22,7 +22,7 @@
<view class="input-group row verCenter">
<text class="label">收货地区</text>
<picker mode="multiSelector" @change="pickerChange" @columnchange="bindMultiPickerColumnChange" :value="multiIndex" :range="multiArray" :range-key="'name'">
<view class="uni-input">{{ selectText }}</view>
<view class="uni-input" :class="{'color666':selectText=='请选择省市区'}">{{ selectText }}</view>
</picker>
</view>
<view class="input-group row verCenter">
......
......@@ -11,16 +11,16 @@
</view>
<view class="input-group row verCenter" >
<text class="label required ">公司税号</text>
<input type="text" v-model="formParams.tax_no" placeholder="请输入公司税号" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.tax_no" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" >
<text class="label required">公司电话</text>
<input type="text" v-model="formParams.com_tel" placeholder="请输入公司电话" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.com_tel" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" >
<text class="label required">注册地址</text>
<input type="text" v-model="formParams.com_addr" placeholder="请输入注册地址" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.com_addr" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
......
......@@ -5,37 +5,53 @@
<view class="cons">
<view class="data-box" v-if="list.length>0">
<view class="group " v-for="(item,index) in list" :key="index">
<view class="t row verCenter">
{{item.inv_type==3?'增值税专票':(item.inv_type==2?'增值税普票(个人)':'增值税普票(公司)')}}
<text v-if="item.is_default==1">默认</text>
</view>
<view class="c">
<view><text>公司名称</text>{{item.tax_title}}</view>
<view><text>公司税号</text>{{item.tax_no}}</view>
<view><text>收票邮箱</text>{{item.email}}</view>
</view>
<view class="b row bothSide">
<view class="l row verCenter" @click="setdefault(item.tax_id)" v-if="!form">
<text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.is_default==1}"></text>
<text>{{item.is_default==1?"已默认":"设为默认"}}</text>
<view class="group " v-for="(item,index) in list" :key="index" :class="{'hkk':item.checkedx}" @click="setChoose(item.tax_id)">
<view v-if="item.tax_id!='460053411'">
<view class="t row verCenter">
{{item.inv_type==3?'增值税专票':(item.inv_type==2?'增值税普票(个人)':'增值税普票(公司)')}}
<text v-if="item.is_default==1">默认</text>
</view>
<view class="l row verCenter" @click="setChoose(item.tax_id)" v-else>
<text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.checkedx==1}"></text>
<text>{{item.checkedx?"已选择":"选择"}}</text>
<view class="c">
<view><text>公司名称</text>{{item.tax_title}}</view>
<view><text>公司税号</text>{{item.tax_no}}</view>
<view><text>收票邮箱</text>{{item.email}}</view>
</view>
<view class="r row verCenter">
<text @click="deleteAdress(item.tax_id)">删除</text>
<view><navigator :url="'/pages/user/invoiceEdit?tax_id=' + item.tax_id" >修改</navigator></view>
<view class="b row bothSide">
<view class="l row verCenter" @click="setdefault(item.tax_id)" v-if="!form">
<text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.is_default==1}"></text>
<text>{{item.is_default==1?"已默认":"设为默认"}}</text>
</view>
<view v-else></view>
<!-- <view class="l row verCenter" @click="setChoose(item.tax_id)" v-else>
<text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.checkedx}"></text>
<text>{{item.checkedx?"已选择":"选择"}}</text>
</view> -->
<view class="r row verCenter">
<text @click.stop="deleteAdress(item.tax_id)">删除</text>
<view @click.stop="goUpdate(item.tax_id)">修改</view>
</view>
</view>
</view>
<view v-else>
<view class="t row verCenter">不开发票</view>
<view class="b row bothSide">
<view class="l row verCenter" @click="setChoose(item.tax_id)" >
<view class="nofps">暂时无需发票</view>
<!-- <text class="icon iconfont icon-checked1"
:class="{'icon-checked':item.checkedx}"></text>
<text>{{item.checkedx?"已选择":"选择"}}</text> -->
</view>
</view>
</view>
</view>
</view>
<view class="no-data" v-if="isInit&&list.length==0">
<image src="https://img.ichunt.com/images/ichunt/202502/07/676f987065320e89a68d473ec62c8cea.png" />
<view>暂无发票信息!</view>
<view >暂无发票信息!</view>
</view>
</view>
<view class="foot">
......@@ -58,10 +74,12 @@
form:"",
address_id:"",
coupon_id:"",
invoice_id:"",
list: [],
}
},
onLoad: function(options) {
this.invoice_id=options.invoice_id||""
this.form=options.form||""
this.address_id=options.address_id||""
this.coupon_id=options.coupon_id||""
......@@ -71,6 +89,11 @@
this.getData();
},
methods: {
goUpdate(tax_id){
uni.navigateTo({
url:'/pages/user/invoiceEdit?tax_id=' + tax_id
})
},
setChoose(tax_id){
let invoice_id=""
this.list.forEach(item=>{
......@@ -84,7 +107,7 @@
uni.navigateTo({
url: '/pages/car/confirmOrder?invoice_id='+invoice_id+'&coupon_id='+this.coupon_id+'&address_id='+this.address_id
});
},1000);
},200);
},
deleteAdress(tax_id) {
uni.showModal({
......@@ -143,7 +166,20 @@
let arr_ = res.data.list || []
arr_.forEach(item=>{
item.checkedx=false
if(this.invoice_id==item.tax_id){
item.checkedx=true
}
})
if(this.form&&arr_.length>0){
let ab_={
tax_id:"460053411",
checkedx:false
}
if(!this.invoice_id){
ab_.checkedx=true
}
arr_.push(ab_)
}
this.list = arr_
} else {
this.isInit = 1;
......
......@@ -29,16 +29,16 @@
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type!=2">
<text class="label required ">公司税号</text>
<input type="text" v-model="formParams.tax_no" placeholder="请输入公司税号" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.tax_no" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type!=2">
<text class="label required">公司电话</text>
<input type="text" v-model="formParams.company_phone" placeholder="请输入公司电话" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.company_phone" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type==3">
<text class="label required">注册地址</text>
<input type="text" v-model="formParams.consignee_address" placeholder="请输入注册地址" placeholder-class="placeholder-class" />
<input type="text" v-model="formParams.consignee_address" placeholder="系统自动查询后补充" placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type==3">
<text class="label required">开户银行</text>
......
......@@ -32,18 +32,18 @@
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type!=2">
<text class="label required ">公司税号</text>
<input type="text" v-model="formParams.tax_no" placeholder="请输入公司税号"
<input type="text" v-model="formParams.tax_no" placeholder="系统自动查询后补充"
placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type!=2">
<text class="label required">公司电话</text>
<input type="text" v-model="formParams.company_phone" placeholder="请输入公司电话"
<input type="text" v-model="formParams.company_phone" placeholder="系统自动查询后补充"
placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type==3">
<text class="label required">注册地址</text>
<input type="text" v-model="formParams.consignee_address" placeholder="请输入注册地址"
<input type="text" v-model="formParams.consignee_address" placeholder="系统自动查询后补充"
placeholder-class="placeholder-class" />
</view>
<view class="input-group row verCenter" v-if="formParams.inv_type==3">
......
......@@ -89,6 +89,8 @@
</view>
<view class="row bothSide item"><text>下单时间</text><text>{{pageData.order_info.create_time}}</text>
</view>
<view class="row bothSide item"><text>订单备注</text><text>{{pageData.order_info.order_remark}}</text>
</view>
</view>
<view class="price-infos">
<view class="tit">结算信息</view>
......@@ -108,7 +110,7 @@
</view>
<view class="foot row verCenter bothSide" v-if="pageData">
<navigator class="item" url="">
<navigator class="item" :url='$globalData.KFQQ'>
<text class="icon iconfont icon-kfd"></text>
<view>我的客服</view>
</navigator>
......@@ -134,6 +136,7 @@
data() {
return {
pageData: "",
order_id:"",
wlInfo: []
}
......@@ -200,6 +203,7 @@
if (res.code == 0) {
if (type) {
uni.setStorageSync('car_ids', ids.join(","));
uni.setStorageSync('confirmOrderBackUrl',`/pages/user/orderDetail?order_id=${this.order_id}`)
uni.navigateTo({
url: '/pages/car/confirmOrder'
});
......
......@@ -44,11 +44,11 @@
<view class="cr">货期:{{item1.delivery_time}}</view>
<view class="br">
<view>{{item1.price_has_tax_format}}</view>
<view><text>(含税总额)</text>{{item1.order_amount_format}}</view>
</view>
</view>
</view>
<view class="hsprice"><text>(含税总额)</text>{{item.order_amount_format}}</view>
<view class="handle row" v-if="item.status!=-1&&item.status!=10&&item.status!=4">
<view class="cancel" v-if="item.status==1||item.status==2||item.status==3" @click.stop.prevent="cancelOrder(item.order_id)">取消订单</view>
<view class="pay" v-if="item.status==2||item.status==3" @click.stop.prevent="payOrder(item.order_id)">确认付款</view>
......@@ -119,6 +119,7 @@
this.request(Api_Url + '/api/cart/batchAddCart', 'POST', {sku_json:JSON.stringify(json_arr)}, true).then(res => {
if (res.code == 0) {
uni.setStorageSync('car_ids',ids.join(","));
uni.setStorageSync('confirmOrderBackUrl',`/pages/user/orderList?status=${this.status}`)
uni.navigateTo({
url:'/pages/car/confirmOrder'
});
......
......@@ -47,7 +47,7 @@
<view class="car-foot car-foot1 row bothSide">
<view class="t row bothSide verCenter">
<view class="checked-box row verCenter" @click.stop="checkboxchange(460053411)"><text class="icon iconfont icon-checked1" :class="{'icon-checked':allcheck}"></text>全选</view>
<view class="pbx">含税总额:<view class="price">¥ {{totalprice}}</view></view>
<view class="pbx">已选{{checkcount}}件,含税总额:<view class="price">¥ {{totalprice}}</view></view>
</view>
<view class="b row bothSide verCenter">
<view class="row verCenter bothSide">
......@@ -81,6 +81,7 @@
export default {
data() {
return {
checkcount:0,
timeout:"",//请求延迟定时器
dataInited:false,//是否加载过数据
allcheck:true,
......@@ -90,10 +91,11 @@
list_id:"",
share_uuid:"",
list_name:"",//清单名字
isCompany:(uni.getStorageSync('user_info')&&JSON.parse(uni.getStorageSync('user_info')).company_name)?true:false,
miniShareOptions: {
title: '爱智工业平台',
title: '给您分享我的清单',
path: '/pages/user/qdDetail',
imageUrl: 'https://imgscdn.ichunt.com/show/origin/e931e0f10zo0aw000000sd7sn523v',
imageUrl: 'https://img.ichunt.com/images/ichunt/202503/11/8bd43dcc1b28a3fd8c417ac0c6410406.png',
desc: ''
}
}
......@@ -155,6 +157,11 @@
let arr_ = res.data.list || []
arr_.forEach(item => {
item.checked = true
item.buyPrice=item.goods_price
if(item.ladder_price&&item.ladder_price.length>0){
item.buyPrice=this.isCompany?(item['ladder_price'][1]['price_cn']||0):(item['ladder_price'][0]['price_cn']||0)
}
item.goods_price=item.buyPrice
this.carList.push(item)
})
this.listUi()
......@@ -163,8 +170,10 @@
},
listUi(){
this.totalprice=0
this.checkcount=0
this.carList.forEach(item=>{
if(item.checked){
this.checkcount++
this.totalprice+=Number(item.goods_price*item.goods_count)
}
})
......@@ -332,6 +341,7 @@
if (res.code == 0) {
if(type==1){
uni.setStorageSync('car_ids',ids.join(","));
uni.setStorageSync('confirmOrderBackUrl',`/pages/user/qdDetail?list_id=${this.list_id}`)
uni.navigateTo({
url:'/pages/car/confirmOrder'
});
......
......@@ -12,7 +12,7 @@
<image @click="chooseImageChange" :src="userinfo.avatar_url?userinfo.avatar_url:'https://img.ichunt.com/images/ichunt/202502/24/e3f1f226b93f791de65faf46be2cdf9f.png'"/>
</view>
<view>
<view class="namen">{{userinfo.wx_nickname||'微信用户'}}</view>
<view class="namen">{{userinfo.wx_nickname||userinfo.phone||userinfo.email||'微信用户'}}</view>
<navigator :url="'/pages/user/companyInfo?id='+companyId">
<view class="com row verCenter" v-if="certification.length>0">
<view >{{userinfo.company_name}}</view>
......@@ -112,9 +112,10 @@
export default {
data() {
return {
isInit:false,
couponCount:0,
certification:[],
userinfo:"",
userinfo:JSON.parse(uni.getStorageSync('user_info')),
companyId:"",
orderCount:{
"1":0,
......@@ -137,7 +138,8 @@
methods: {
getInfo(){
//获取用户信息
this.request(Api_Url + '/api/user/info', 'GET', {}, true).then(res => {
this.request(Api_Url + '/api/user/info', 'GET', {}, (this.isInit?false:true)).then(res => {
this.isInit=true
if (res.code == 0) {
this.certification=res.data.certification||[]
......@@ -178,8 +180,11 @@
title: '上传成功',
icon: 'success'
});
this.userinfo.avatar_url=resP.data.show_url
this.request(Api_Url + '/api/user/editAvatar', 'POST', {url:resP.data.show_url}, false).then(res => {});
this.request(Api_Url + '/api/user/editAvatar', 'POST', {url:resP.data.show_url}, false).then(resg => {
if(resg.code==0){
this.getInfo();
}
});
}else{
uni.showToast({
title: resP.msg,
......
## 1.0.13(2023-12-06)
1. 优化
## 1.0.12(2023-12-06)
1. 阻止事件冒泡处理
## 1.0.11(2023-10-29)
1. imgMode默认值改成aspectFit
## 1.0.10(2023-08-13)
1. 优化nvue,方便自定义图标
## 1.0.9(2023-07-28)
1. 修改几个对应错误图标的BUG
## 1.0.8(2023-07-24)
1. 优化 支持base64图片
## 1.0.7(2023-07-17)
1. 修复 uv-icon 恢复uv-empty相关的图标
## 1.0.6(2023-07-13)
1. 修复icon设置name属性对应图标错误的BUG
## 1.0.5(2023-07-04)
1. 更新图标,删除一些不常用的图标
2. 删除base64,修改成ttf文件引入读取图标
3. 自定义图标文档说明:https://www.uvui.cn/guide/customIcon.html
## 1.0.4(2023-07-03)
1. 修复主题颜色在APP不生效的BUG
## 1.0.3(2023-05-24)
1. 将线上ttf字体包替换成base64,避免加载时或者网络差时候显示白色方块
## 1.0.2(2023-05-16)
1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
2. 优化部分功能
## 1.0.1(2023-05-10)
1. 修复小程序中异常显示
## 1.0.0(2023-05-04)
新发版
export default {
'uvicon-level': 'e68f',
'uvicon-checkbox-mark': 'e659',
'uvicon-folder': 'e694',
'uvicon-movie': 'e67c',
'uvicon-star-fill': 'e61e',
'uvicon-star': 'e618',
'uvicon-phone-fill': 'e6ac',
'uvicon-phone': 'e6ba',
'uvicon-apple-fill': 'e635',
'uvicon-backspace': 'e64d',
'uvicon-attach': 'e640',
'uvicon-empty-data': 'e671',
'uvicon-empty-address': 'e68a',
'uvicon-empty-favor': 'e662',
'uvicon-empty-car': 'e657',
'uvicon-empty-order': 'e66b',
'uvicon-empty-list': 'e672',
'uvicon-empty-search': 'e677',
'uvicon-empty-permission': 'e67d',
'uvicon-empty-news': 'e67e',
'uvicon-empty-history': 'e685',
'uvicon-empty-coupon': 'e69b',
'uvicon-empty-page': 'e60e',
'uvicon-empty-wifi-off': 'e6cc',
'uvicon-reload': 'e627',
'uvicon-order': 'e695',
'uvicon-server-man': 'e601',
'uvicon-search': 'e632',
'uvicon-more-dot-fill': 'e66f',
'uvicon-scan': 'e631',
'uvicon-map': 'e665',
'uvicon-map-fill': 'e6a8',
'uvicon-tags': 'e621',
'uvicon-tags-fill': 'e613',
'uvicon-eye': 'e664',
'uvicon-eye-fill': 'e697',
'uvicon-eye-off': 'e69c',
'uvicon-eye-off-outline': 'e688',
'uvicon-mic': 'e66d',
'uvicon-mic-off': 'e691',
'uvicon-calendar': 'e65c',
'uvicon-trash': 'e623',
'uvicon-trash-fill': 'e6ce',
'uvicon-play-left': 'e6bf',
'uvicon-play-right': 'e6b3',
'uvicon-minus': 'e614',
'uvicon-plus': 'e625',
'uvicon-info-circle': 'e69f',
'uvicon-info-circle-fill': 'e6a7',
'uvicon-question-circle': 'e622',
'uvicon-question-circle-fill': 'e6bc',
'uvicon-close': 'e65a',
'uvicon-checkmark': 'e64a',
'uvicon-checkmark-circle': 'e643',
'uvicon-checkmark-circle-fill': 'e668',
'uvicon-setting': 'e602',
'uvicon-setting-fill': 'e6d0',
'uvicon-heart': 'e6a2',
'uvicon-heart-fill': 'e68b',
'uvicon-camera': 'e642',
'uvicon-camera-fill': 'e650',
'uvicon-more-circle': 'e69e',
'uvicon-more-circle-fill': 'e684',
'uvicon-chat': 'e656',
'uvicon-chat-fill': 'e63f',
'uvicon-bag': 'e647',
'uvicon-error-circle': 'e66e',
'uvicon-error-circle-fill': 'e655',
'uvicon-close-circle': 'e64e',
'uvicon-close-circle-fill': 'e666',
'uvicon-share': 'e629',
'uvicon-share-fill': 'e6bb',
'uvicon-share-square': 'e6c4',
'uvicon-shopping-cart': 'e6cb',
'uvicon-shopping-cart-fill': 'e630',
'uvicon-bell': 'e651',
'uvicon-bell-fill': 'e604',
'uvicon-list': 'e690',
'uvicon-list-dot': 'e6a9',
'uvicon-zhifubao-circle-fill': 'e617',
'uvicon-weixin-circle-fill': 'e6cd',
'uvicon-weixin-fill': 'e620',
'uvicon-qq-fill': 'e608',
'uvicon-qq-circle-fill': 'e6b9',
'uvicon-moments-circel-fill': 'e6c2',
'uvicon-moments': 'e6a0',
'uvicon-car': 'e64f',
'uvicon-car-fill': 'e648',
'uvicon-warning-fill': 'e6c7',
'uvicon-warning': 'e6c1',
'uvicon-clock-fill': 'e64b',
'uvicon-clock': 'e66c',
'uvicon-edit-pen': 'e65d',
'uvicon-edit-pen-fill': 'e679',
'uvicon-email': 'e673',
'uvicon-email-fill': 'e683',
'uvicon-minus-circle': 'e6a5',
'uvicon-plus-circle': 'e603',
'uvicon-plus-circle-fill': 'e611',
'uvicon-file-text': 'e687',
'uvicon-file-text-fill': 'e67f',
'uvicon-pushpin': 'e6d1',
'uvicon-pushpin-fill': 'e6b6',
'uvicon-grid': 'e68c',
'uvicon-grid-fill': 'e698',
'uvicon-play-circle': 'e6af',
'uvicon-play-circle-fill': 'e62a',
'uvicon-pause-circle-fill': 'e60c',
'uvicon-pause': 'e61c',
'uvicon-pause-circle': 'e696',
'uvicon-gift-fill': 'e6b0',
'uvicon-gift': 'e680',
'uvicon-kefu-ermai': 'e660',
'uvicon-server-fill': 'e610',
'uvicon-coupon-fill': 'e64c',
'uvicon-coupon': 'e65f',
'uvicon-integral': 'e693',
'uvicon-integral-fill': 'e6b1',
'uvicon-home-fill': 'e68e',
'uvicon-home': 'e67b',
'uvicon-account': 'e63a',
'uvicon-account-fill': 'e653',
'uvicon-thumb-down-fill': 'e628',
'uvicon-thumb-down': 'e60a',
'uvicon-thumb-up': 'e612',
'uvicon-thumb-up-fill': 'e62c',
'uvicon-lock-fill': 'e6a6',
'uvicon-lock-open': 'e68d',
'uvicon-lock-opened-fill': 'e6a1',
'uvicon-lock': 'e69d',
'uvicon-red-packet': 'e6c3',
'uvicon-photo-fill': 'e6b4',
'uvicon-photo': 'e60d',
'uvicon-volume-off-fill': 'e6c8',
'uvicon-volume-off': 'e6bd',
'uvicon-volume-fill': 'e624',
'uvicon-volume': 'e605',
'uvicon-download': 'e670',
'uvicon-arrow-up-fill': 'e636',
'uvicon-arrow-down-fill': 'e638',
'uvicon-play-left-fill': 'e6ae',
'uvicon-play-right-fill': 'e6ad',
'uvicon-arrow-downward': 'e634',
'uvicon-arrow-leftward': 'e63b',
'uvicon-arrow-rightward': 'e644',
'uvicon-arrow-upward': 'e641',
'uvicon-arrow-down': 'e63e',
'uvicon-arrow-right': 'e63c',
'uvicon-arrow-left': 'e646',
'uvicon-arrow-up': 'e633',
'uvicon-skip-back-left': 'e6c5',
'uvicon-skip-forward-right': 'e61f',
'uvicon-arrow-left-double': 'e637',
'uvicon-man': 'e675',
'uvicon-woman': 'e626',
'uvicon-en': 'e6b8',
'uvicon-twitte': 'e607',
'uvicon-twitter-circle-fill': 'e6cf'
}
\ No newline at end of file
export default {
props: {
// 图标类名
name: {
type: String,
default: ''
},
// 图标颜色,可接受主题色
color: {
type: String,
default: '#606266'
},
// 字体大小,单位px
size: {
type: [String, Number],
default: '16px'
},
// 是否显示粗体
bold: {
type: Boolean,
default: false
},
// 点击图标的时候传递事件出去的index(用于区分点击了哪一个)
index: {
type: [String, Number],
default: null
},
// 触摸图标时的类名
hoverClass: {
type: String,
default: ''
},
// 自定义扩展前缀,方便用户扩展自己的图标库
customPrefix: {
type: String,
default: 'uvicon'
},
// 图标右边或者下面的文字
label: {
type: [String, Number],
default: ''
},
// label的位置,只能右边或者下边
labelPos: {
type: String,
default: 'right'
},
// label的大小
labelSize: {
type: [String, Number],
default: '15px'
},
// label的颜色
labelColor: {
type: String,
default: '#606266'
},
// label与图标的距离
space: {
type: [String, Number],
default: '3px'
},
// 图片的mode
imgMode: {
type: String,
default: 'aspectFit'
},
// 用于显示图片小图标时,图片的宽度
width: {
type: [String, Number],
default: ''
},
// 用于显示图片小图标时,图片的高度
height: {
type: [String, Number],
default: ''
},
// 用于解决某些情况下,让图标垂直居中的用途
top: {
type: [String, Number],
default: 0
},
// 是否阻止事件传播
stop: {
type: Boolean,
default: false
},
...uni.$uv?.props?.icon
}
}
\ No newline at end of file
<template>
<view
class="uv-icon"
@tap="clickHandler"
:class="['uv-icon--' + labelPos]"
>
<image
class="uv-icon__img"
v-if="isImg"
:src="name"
:mode="imgMode"
:style="[imgStyle, $uv.addStyle(customStyle)]"
></image>
<text
v-else
class="uv-icon__icon"
:class="uClasses"
:style="[iconStyle, $uv.addStyle(customStyle)]"
:hover-class="hoverClass"
>{{icon}}</text>
<!-- 这里进行空字符串判断,如果仅仅是v-if="label",可能会出现传递0的时候,结果也无法显示 -->
<text
v-if="label !== ''"
class="uv-icon__label"
:style="{
color: labelColor,
fontSize: $uv.addUnit(labelSize),
marginLeft: labelPos == 'right' ? $uv.addUnit(space) : 0,
marginTop: labelPos == 'bottom' ? $uv.addUnit(space) : 0,
marginRight: labelPos == 'left' ? $uv.addUnit(space) : 0,
marginBottom: labelPos == 'top' ? $uv.addUnit(space) : 0
}"
>{{ label }}</text>
</view>
</template>
<script>
import mpMixin from '@/uni_modules/uv-ui-tools/libs/mixin/mpMixin.js'
import mixin from '@/uni_modules/uv-ui-tools/libs/mixin/mixin.js'
// #ifdef APP-NVUE
// nvue通过weex的dom模块引入字体,相关文档地址如下:
// https://weex.apache.org/zh/docs/modules/dom.html#addrule
import iconUrl from './uvicons.ttf';
const domModule = weex.requireModule('dom')
domModule.addRule('fontFace', {
'fontFamily': "uvicon-iconfont",
'src': "url('" + iconUrl + "')"
})
// #endif
// 引入图标名称,已经对应的unicode
import icons from './icons';
import props from './props.js';
/**
* icon 图标
* @description 基于字体的图标集,包含了大多数常见场景的图标。
* @tutorial https://www.uvui.cn/components/icon.html
* @property {String} name 图标名称,见示例图标集
* @property {String} color 图标颜色,可接受主题色 (默认 color['uv-content-color'] )
* @property {String | Number} size 图标字体大小,单位px (默认 '16px' )
* @property {Boolean} bold 是否显示粗体 (默认 false )
* @property {String | Number} index 点击图标的时候传递事件出去的index(用于区分点击了哪一个)
* @property {String} hoverClass 图标按下去的样式类,用法同uni的view组件的hoverClass参数,详情见官网
* @property {String} customPrefix 自定义扩展前缀,方便用户扩展自己的图标库 (默认 'uicon' )
* @property {String | Number} label 图标右侧的label文字
* @property {String} labelPos label相对于图标的位置,只能right或bottom (默认 'right' )
* @property {String | Number} labelSize label字体大小,单位px (默认 '15px' )
* @property {String} labelColor 图标右侧的label文字颜色 ( 默认 color['uv-content-color'] )
* @property {String | Number} space label与图标的距离,单位px (默认 '3px' )
* @property {String} imgMode 图片的mode
* @property {String | Number} width 显示图片小图标时的宽度
* @property {String | Number} height 显示图片小图标时的高度
* @property {String | Number} top 图标在垂直方向上的定位 用于解决某些情况下,让图标垂直居中的用途 (默认 0 )
* @property {Boolean} stop 是否阻止事件传播 (默认 false )
* @property {Object} customStyle icon的样式,对象形式
* @event {Function} click 点击图标时触发
* @event {Function} touchstart 事件触摸时触发
* @example <uv-icon name="photo" color="#2979ff" size="28"></uv-icon>
*/
export default {
name: 'uv-icon',
emits: ['click'],
mixins: [mpMixin, mixin, props],
data() {
return {
colorType: [
'primary',
'success',
'info',
'error',
'warning'
]
}
},
computed: {
uClasses() {
let classes = []
classes.push(this.customPrefix)
classes.push(this.customPrefix + '-' + this.name)
// 主题色,通过类配置
if (this.color && this.colorType.includes(this.color)) classes.push('uv-icon__icon--' + this.color)
// 阿里,头条,百度小程序通过数组绑定类名时,无法直接使用[a, b, c]的形式,否则无法识别
// 故需将其拆成一个字符串的形式,通过空格隔开各个类名
//#ifdef MP-ALIPAY || MP-TOUTIAO || MP-BAIDU
classes = classes.join(' ')
//#endif
return classes
},
iconStyle() {
let style = {}
style = {
fontSize: this.$uv.addUnit(this.size),
lineHeight: this.$uv.addUnit(this.size),
fontWeight: this.bold ? 'bold' : 'normal',
// 某些特殊情况需要设置一个到顶部的距离,才能更好的垂直居中
top: this.$uv.addUnit(this.top)
}
// 非主题色值时,才当作颜色值
if (this.color && !this.colorType.includes(this.color)) style.color = this.color
return style
},
// 判断传入的name属性,是否图片路径,只要带有"/"均认为是图片形式
isImg() {
const isBase64 = this.name.indexOf('data:') > -1 && this.name.indexOf('base64') > -1;
return this.name.indexOf('/') !== -1 || isBase64;
},
imgStyle() {
let style = {}
// 如果设置width和height属性,则优先使用,否则使用size属性
style.width = this.width ? this.$uv.addUnit(this.width) : this.$uv.addUnit(this.size)
style.height = this.height ? this.$uv.addUnit(this.height) : this.$uv.addUnit(this.size)
return style
},
// 通过图标名,查找对应的图标
icon() {
// 如果内置的图标中找不到对应的图标,就直接返回name值,因为用户可能传入的是unicode代码
const code = icons['uvicon-' + this.name];
// #ifdef APP-NVUE
if(!code) {
return code ? unescape(`%u${code}`) : ['uvicon'].indexOf(this.customPrefix) > -1 ? unescape(`%u${this.name}`) : '';
}
// #endif
return code ? unescape(`%u${code}`) : ['uvicon'].indexOf(this.customPrefix) > -1 ? this.name : '';
}
},
methods: {
clickHandler(e) {
this.$emit('click', this.index)
// 是否阻止事件冒泡
this.stop && this.preventEvent(e)
}
}
}
</script>
<style lang="scss" scoped>
@import '@/uni_modules/uv-ui-tools/libs/css/components.scss';
@import '@/uni_modules/uv-ui-tools/libs/css/color.scss';
// 变量定义
$uv-icon-primary: $uv-primary !default;
$uv-icon-success: $uv-success !default;
$uv-icon-info: $uv-info !default;
$uv-icon-warning: $uv-warning !default;
$uv-icon-error: $uv-error !default;
$uv-icon-label-line-height: 1 !default;
/* #ifndef APP-NVUE */
// nvue下加载字体
@font-face {
font-family: 'uvicon-iconfont';
src: url('./uvicons.ttf') format('truetype');
}
/* #endif */
.uv-icon {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
align-items: center;
&--left {
flex-direction: row-reverse;
align-items: center;
}
&--right {
flex-direction: row;
align-items: center;
}
&--top {
flex-direction: column-reverse;
justify-content: center;
}
&--bottom {
flex-direction: column;
justify-content: center;
}
&__icon {
font-family: uvicon-iconfont;
position: relative;
@include flex;
align-items: center;
&--primary {
color: $uv-icon-primary;
}
&--success {
color: $uv-icon-success;
}
&--error {
color: $uv-icon-error;
}
&--warning {
color: $uv-icon-warning;
}
&--info {
color: $uv-icon-info;
}
}
&__img {
/* #ifndef APP-NVUE */
height: auto;
will-change: transform;
/* #endif */
}
&__label {
/* #ifndef APP-NVUE */
line-height: $uv-icon-label-line-height;
/* #endif */
}
}
</style>
\ No newline at end of file
{
"id": "uv-icon",
"displayName": "uv-icon 图标 全面兼容vue3+2、app、h5、小程序等多端",
"version": "1.0.13",
"description": "基于字体的图标集,包含了大多数常见场景的图标,支持自定义,支持自定义图片图标等。可自定义颜色、大小。",
"keywords": [
"uv-ui,uvui,uv-icon,icon,图标,字体图标"
],
"repository": "",
"engines": {
"HBuilderX": "^3.1.0"
},
"dcloudext": {
"type": "component-vue",
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "无",
"data": "插件不采集任何数据",
"permissions": "无"
},
"npmurl": ""
},
"uni_modules": {
"dependencies": [
"uv-ui-tools"
],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"Vue": {
"vue2": "y",
"vue3": "y"
},
"App": {
"app-vue": "y",
"app-nvue": "y"
},
"H5-mobile": {
"Safari": "y",
"Android Browser": "y",
"微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y"
},
"H5-pc": {
"Chrome": "y",
"IE": "y",
"Edge": "y",
"Firefox": "y",
"Safari": "y"
},
"小程序": {
"微信": "y",
"阿里": "y",
"百度": "y",
"字节跳动": "y",
"QQ": "y",
"钉钉": "u",
"快手": "u",
"飞书": "u",
"京东": "u"
},
"快应用": {
"华为": "u",
"联盟": "u"
}
}
}
}
}
\ No newline at end of file
## uv-icon 图标库
> **组件名:uv-icon**
基于字体的图标集,包含了大多数常见场景的图标,支持自定义,支持自定义图片图标等。
# <a href="https://www.uvui.cn/components/icon.html" target="_blank">查看文档</a>
## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui)
### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png)
#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:<a href="https://www.uvui.cn/components/addQQGroup.html" target="_blank">官方QQ群</a>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment