Browse Source
Merge branch 'devlop' of http://git.qniao.cn/dengxiongfei/paper-shopkeeper-app into devlop
devlop
Merge branch 'devlop' of http://git.qniao.cn/dengxiongfei/paper-shopkeeper-app into devlop
devlop
27 changed files with 2421 additions and 383 deletions
Unified View
Diff Options
-
433components/bussiness-components/packingStationItem.vue
-
38pages.json
-
206pages/client-detail/base-paper-deals.vue
-
38pages/client-detail/basic-information.vue
-
249pages/client-detail/equipment-information.vue
-
10pages/client-detail/index.vue
-
291pages/client-detail/lv-select.vue
-
49pages/client-detail/no-data.vue
-
4pages/client-detail/waste-paper-trading.vue
-
264pages/mall/index.vue
-
48pages/my-offer/index.vue
-
667pages/submit-quotation/index.vue
-
21pages/trade/index.vue
-
66pages/trade/orderList.vue
-
77pages/trade/quotationList.vue
-
BINstatic/imgs/client-detail/arrow-right-icon.png
-
BINstatic/imgs/client-detail/no-data-icon.png
-
BINstatic/imgs/client-detail/yzjy-icon.png
-
BINstatic/imgs/mall/cut-icon.png
-
BINstatic/imgs/mall/grounding-icon.png
-
BINstatic/imgs/mall/sold-out-icon.png
-
BINstatic/imgs/mall/zsc-bg-icon.png
-
BINstatic/imgs/trade/myPrice.png
-
25uni_modules/uni-number-box/changelog.md
-
220uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
-
85uni_modules/uni-number-box/package.json
-
13uni_modules/uni-number-box/readme.md
@ -1,228 +1,229 @@ |
|||||
<template> |
<template> |
||||
<view class="packing-area"> |
|
||||
<view class="info"> |
|
||||
<image class="image" :src="info.enterpriseLogo || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif'"></image> |
|
||||
<view class="content"> |
|
||||
<view class="title"> |
|
||||
<text class="text">{{ info.enterpriseName }}</text> |
|
||||
<image |
|
||||
class="icon" |
|
||||
:src="info.whetherCooperation ? '/static/imgs/general/cooperation-icon.png' : '/static/imgs/general/no-cooperation-icon.png'" |
|
||||
></image> |
|
||||
</view> |
|
||||
<view class="desc"> |
|
||||
<text>{{ transformBusiness(info.business) }}</text> |
|
||||
</view> |
|
||||
<view v-show="info.whetherCooperation === 1" class="box-area"> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">月采购量</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ info.monthlyPurchaseQuantity ? `${info.monthlyPurchaseQuantity}吨` : '0' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">月采购额</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ info.monthlyTradingQuota ? `${info.monthlyTradingQuota}万` : '0' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">最近购买</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ transformDate(info.lastTradingDate) || '-' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view v-show="info.whetherCooperation === 0" class="box-area"> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">法定代表人</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ info.legalPerson ? `${info.legalPerson}` : '' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">注册资本</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ info.registeredCapital ? `${info.registeredCapital}万` : '0' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view><text class="title">成立时间</text></view> |
|
||||
<view style="margin-top: 16rpx"> |
|
||||
<text class="value">{{ transformDate(info.openingDate) || '-' }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="other"> |
|
||||
<view class="box"> |
|
||||
<image class="icon" src="/static/imgs/client-list/navigation-icon.png"></image> |
|
||||
<text class="text">{{ info.detailedAddress || '未知' }}</text> |
|
||||
</view> |
|
||||
<view class="divide"></view> |
|
||||
<view class="box"> |
|
||||
<image class="icon" src="/static/imgs/client-list/phone-icon.png"></image> |
|
||||
<text class="text">{{ info.legalPerson + ' ' + transformPhoneNum(info.contactNumber) }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
<view class="packing-area"> |
||||
|
<view class="info" @tap="goDetail"> |
||||
|
<image class="image" :src="info.enterpriseLogo || 'https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif'"></image> |
||||
|
<view class="content"> |
||||
|
<view class="title"> |
||||
|
<text class="text">{{ info.enterpriseName }}</text> |
||||
|
<image class="icon" :src="info.whetherCooperation ? '/static/imgs/general/cooperation-icon.png' : '/static/imgs/general/no-cooperation-icon.png'"></image> |
||||
|
</view> |
||||
|
<view class="desc"> |
||||
|
<text>{{ transformBusiness(info.business) }}</text> |
||||
|
</view> |
||||
|
<view v-show="info.whetherCooperation === 1" class="box-area"> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">月采购量</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ info.monthlyPurchaseQuantity ? `${info.monthlyPurchaseQuantity}吨` : '0' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">月采购额</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ info.monthlyTradingQuota ? `${info.monthlyTradingQuota}万` : '0' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">最近购买</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ transformDate(info.lastTradingDate) || '-' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view v-show="info.whetherCooperation === 0" class="box-area"> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">法定代表人</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ info.legalPerson ? `${info.legalPerson}` : '' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">注册资本</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ info.registeredCapital ? `${info.registeredCapital}万` : '0' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="box"> |
||||
|
<view><text class="title">成立时间</text></view> |
||||
|
<view style="margin-top: 16rpx"> |
||||
|
<text class="value">{{ transformDate(info.openingDate) || '-' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="other"> |
||||
|
<view class="box"> |
||||
|
<image class="icon" src="/static/imgs/client-list/navigation-icon.png"></image> |
||||
|
<text class="text">{{ info.detailedAddress || '未知' }}</text> |
||||
|
</view> |
||||
|
<view class="divide"></view> |
||||
|
<view class="box"> |
||||
|
<image class="icon" src="/static/imgs/client-list/phone-icon.png"></image> |
||||
|
<text class="text">{{ info.legalPerson + ' ' + transformPhoneNum(info.contactNumber) }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
import { go2 } from '@/utils/hook.js' |
||||
export default { |
export default { |
||||
props: { |
|
||||
info: { |
|
||||
type: Object, |
|
||||
default: () => ({ |
|
||||
enterpriseName: '广州市金骏彩色印务有限公司', |
|
||||
enterpriseLogo: '', |
|
||||
business: '生产画册、书刊、包装盒、手提袋子、快递箱', |
|
||||
whetherCooperation: 1, |
|
||||
monthlyPurchaseQuantity: 100, |
|
||||
monthlyTradingQuota: 200, |
|
||||
lastTradingDate: '2020-12-12', |
|
||||
openingDate: '2020-12-12', |
|
||||
legalPerson: '张三', |
|
||||
registeredCapital: 1000, |
|
||||
contactNumber: '13888888888', |
|
||||
detailedAddress: '广州市天河区天河路' |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
transformBusiness(business) { |
|
||||
let text = business?.trim() || '未知' |
|
||||
if (text.length > 17) { |
|
||||
text = text.substr(0, 17) + '...' |
|
||||
} |
|
||||
return '主营:' + text |
|
||||
}, |
|
||||
transformDate(date) { |
|
||||
if (date) { |
|
||||
return date.split('-').join('/') |
|
||||
} |
|
||||
return '' |
|
||||
}, |
|
||||
transformPhoneNum(phoneNum) { |
|
||||
if (phoneNum) { |
|
||||
if (this.hasLogin) { |
|
||||
return phoneNum |
|
||||
} else { |
|
||||
return phoneNum.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') |
|
||||
} |
|
||||
} |
|
||||
return '--' |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
hasLogin() { |
|
||||
return this.$store.state.qnToken != '' |
|
||||
} |
|
||||
} |
|
||||
|
props: { |
||||
|
info: { |
||||
|
type: Object, |
||||
|
default: () => ({ |
||||
|
enterpriseName: '广州市金骏彩色印务有限公司', |
||||
|
enterpriseLogo: '', |
||||
|
business: '生产画册、书刊、包装盒、手提袋子、快递箱', |
||||
|
whetherCooperation: 1, |
||||
|
monthlyPurchaseQuantity: 100, |
||||
|
monthlyTradingQuota: 200, |
||||
|
lastTradingDate: '2020-12-12', |
||||
|
openingDate: '2020-12-12', |
||||
|
legalPerson: '张三', |
||||
|
registeredCapital: 1000, |
||||
|
contactNumber: '13888888888', |
||||
|
detailedAddress: '广州市天河区天河路' |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
goDetail() { |
||||
|
go2('client-detail', { id: this.info.enterpriseId }) |
||||
|
}, |
||||
|
transformBusiness(business) { |
||||
|
let text = business?.trim() || '未知' |
||||
|
if (text.length > 17) { |
||||
|
text = text.substr(0, 17) + '...' |
||||
|
} |
||||
|
return '主营:' + text |
||||
|
}, |
||||
|
transformDate(date) { |
||||
|
if (date) { |
||||
|
return date.split('-').join('/') |
||||
|
} |
||||
|
return '' |
||||
|
}, |
||||
|
transformPhoneNum(phoneNum) { |
||||
|
if (phoneNum) { |
||||
|
if (this.hasLogin) { |
||||
|
return phoneNum |
||||
|
} else { |
||||
|
return phoneNum.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') |
||||
|
} |
||||
|
} |
||||
|
return '--' |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
hasLogin() { |
||||
|
return this.$store.state.qnToken != '' |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss"> |
<style lang="scss"> |
||||
.packing-area { |
.packing-area { |
||||
width: 750rpx; |
|
||||
background-color: #fff; |
|
||||
.info { |
|
||||
width: 750rpx; |
|
||||
padding: 30rpx 32rpx 48rpx; |
|
||||
border-bottom: 2rpx solid #dddddd; |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: flex-start; |
|
||||
.image { |
|
||||
width: 140rpx; |
|
||||
height: 140rpx; |
|
||||
flex-grow: 0; |
|
||||
flex-shrink: 0; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
.content { |
|
||||
flex-grow: 1; |
|
||||
.title { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: center; |
|
||||
justify-content: flex-start; |
|
||||
.text { |
|
||||
font-size: 32rpx; |
|
||||
color: #000000; |
|
||||
font-weight: 600; |
|
||||
} |
|
||||
.icon { |
|
||||
width: 100rpx; |
|
||||
height: 32rpx; |
|
||||
flex-grow: 0; |
|
||||
flex-shrink: 0; |
|
||||
margin-left: 8rpx; |
|
||||
} |
|
||||
} |
|
||||
.desc { |
|
||||
margin-top: 14rpx; |
|
||||
font-size: 26rpx; |
|
||||
color: #333333; |
|
||||
} |
|
||||
.box-area { |
|
||||
margin-top: 30rpx; |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: center; |
|
||||
justify-content: flex-end; |
|
||||
.box { |
|
||||
width: 170rpx; |
|
||||
.title { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: center; |
|
||||
font-size: 24rpx; |
|
||||
color: #888888; |
|
||||
} |
|
||||
.value { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: center; |
|
||||
font-size: 28rpx; |
|
||||
color: #333333; |
|
||||
font-weight: 500; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.other { |
|
||||
width: 750rpx; |
|
||||
padding: 24rpx 0; |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
.divide { |
|
||||
width: 2rpx; |
|
||||
height: 32rpx; |
|
||||
background: #d8d8d8; |
|
||||
} |
|
||||
.box { |
|
||||
width: 340rpx; |
|
||||
margin: 0 32rpx; |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: center; |
|
||||
.icon { |
|
||||
width: 52rpx; |
|
||||
height: 52rpx; |
|
||||
flex-grow: 0; |
|
||||
flex-shrink: 0; |
|
||||
margin-right: 10rpx; |
|
||||
} |
|
||||
.text { |
|
||||
font-size: 24rpx; |
|
||||
color: #555555; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
width: 750rpx; |
||||
|
background-color: #fff; |
||||
|
.info { |
||||
|
width: 750rpx; |
||||
|
padding: 30rpx 32rpx 48rpx; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: flex-start; |
||||
|
.image { |
||||
|
width: 140rpx; |
||||
|
height: 140rpx; |
||||
|
flex-grow: 0; |
||||
|
flex-shrink: 0; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
.content { |
||||
|
flex-grow: 1; |
||||
|
.title { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: flex-start; |
||||
|
.text { |
||||
|
font-size: 32rpx; |
||||
|
color: #000000; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.icon { |
||||
|
width: 100rpx; |
||||
|
height: 32rpx; |
||||
|
flex-grow: 0; |
||||
|
flex-shrink: 0; |
||||
|
margin-left: 8rpx; |
||||
|
} |
||||
|
} |
||||
|
.desc { |
||||
|
margin-top: 14rpx; |
||||
|
font-size: 26rpx; |
||||
|
color: #333333; |
||||
|
} |
||||
|
.box-area { |
||||
|
margin-top: 30rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
.box { |
||||
|
width: 170rpx; |
||||
|
.title { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: center; |
||||
|
font-size: 24rpx; |
||||
|
color: #888888; |
||||
|
} |
||||
|
.value { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: center; |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.other { |
||||
|
width: 750rpx; |
||||
|
padding: 24rpx 0; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
.divide { |
||||
|
width: 2rpx; |
||||
|
height: 32rpx; |
||||
|
background: #d8d8d8; |
||||
|
} |
||||
|
.box { |
||||
|
width: 340rpx; |
||||
|
margin: 0 32rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
.icon { |
||||
|
width: 52rpx; |
||||
|
height: 52rpx; |
||||
|
flex-grow: 0; |
||||
|
flex-shrink: 0; |
||||
|
margin-right: 10rpx; |
||||
|
} |
||||
|
.text { |
||||
|
font-size: 24rpx; |
||||
|
color: #555555; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
</style> |
</style> |
||||
@ -1,22 +1,204 @@ |
|||||
<template> |
<template> |
||||
<view> |
|
||||
原纸交易 |
|
||||
|
<view class="warpper"> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #FFFFFF;"> |
||||
|
<view class="sum-box"> |
||||
|
<view class=""> |
||||
|
<view class="title"> |
||||
|
交易金额 |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
458 682.00 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<view class="title"> |
||||
|
总交易量(吨) |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
125.7752 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="card-box"> |
||||
|
<view class="header"> |
||||
|
<view class="left-title"> |
||||
|
XJ 202112235389 |
||||
|
</view> |
||||
|
<view class="right-title"> |
||||
|
¥ 22045.78 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image> |
||||
|
<view class=""> |
||||
|
<view class="title"> |
||||
|
金蝶蓝白卡 |
||||
|
</view> |
||||
|
<view class="desc"> |
||||
|
白卡纸/金蝶蓝/350g/787*1092/2200张 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image> |
||||
|
<view class=""> |
||||
|
<view class="title"> |
||||
|
丽盈白卡 |
||||
|
</view> |
||||
|
<view class="desc"> |
||||
|
白卡纸/丽盈/350g/787*1092/2200张 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="other"> |
||||
|
<view class="time"> |
||||
|
2021-12-23 12:30:45 |
||||
|
</view> |
||||
|
<view class="btn"> |
||||
|
更多详情 |
||||
|
<image class="icon" src="/static/imgs/client-detail/arrow-right-icon.png"></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
|
|
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
components: { uGap }, |
||||
|
data() { |
||||
|
return { |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA', |
||||
|
disabled: false |
||||
|
} |
||||
} |
} |
||||
|
}, |
||||
|
methods: { |
||||
|
downCallback() {}, |
||||
|
upCallback() {} |
||||
} |
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style> |
|
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.warpper { |
||||
|
width: 750rpx; |
||||
|
.sum-box { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
// text-align: center; |
||||
|
height: 184rpx; |
||||
|
background: url('/static/imgs/client-detail/yzjy-icon.png') no-repeat; |
||||
|
background-size: 100%; |
||||
|
.title { |
||||
|
font-size: 26rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.value { |
||||
|
font-size: 56rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 500; |
||||
|
margin-top: 16rpx; |
||||
|
} |
||||
|
} |
||||
|
.card-box { |
||||
|
.header { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 88rpx; |
||||
|
background: #FFFFFF; |
||||
|
border-bottom: 2rpx solid #DDDDDD; |
||||
|
padding: 0rpx 32rpx; |
||||
|
.left-title { |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.right-title { |
||||
|
font-size: 30rpx; |
||||
|
color: #FF5368; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
} |
||||
|
.content { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
height: 148rpx; |
||||
|
background: #FFFFFF; |
||||
|
border-bottom: 2rpx solid #DDDDDD; |
||||
|
padding: 0rpx 32rpx; |
||||
|
.image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
flex: 0 0 100rpx; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
.title { |
||||
|
font-size: 30rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.desc { |
||||
|
padding-top: 26rpx; |
||||
|
font-size: 26rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
.other { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 80rpx; |
||||
|
background: #FFFFFF; |
||||
|
padding: 0rpx 32rpx; |
||||
|
.time { |
||||
|
font-size: 26rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.btn { |
||||
|
font-size: 28rpx; |
||||
|
color: #007AFF; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.icon { |
||||
|
width: 24rpx; |
||||
|
height: 24rpx; |
||||
|
margin-left: 6rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -1,22 +1,247 @@ |
|||||
<template> |
<template> |
||||
<view> |
|
||||
设备信息 |
|
||||
|
<view class="warpper"> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #FFFFFF;"> |
||||
|
<view class="card-box"> |
||||
|
<view class="header"> |
||||
|
<view class="title">全自动立体糊盒机</view> |
||||
|
<view class="desc">近30天</view> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<view class="info"> |
||||
|
<view class=""> |
||||
|
<view class="value">8900件</view> |
||||
|
<view class="title"> |
||||
|
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image> |
||||
|
设备产能 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<view class="value">89 h</view> |
||||
|
<view class="title"> |
||||
|
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image> |
||||
|
工作时长 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<view class="value">86%</view> |
||||
|
<view class="title"> |
||||
|
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image> |
||||
|
开机率 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="shrink-box" v-if="!seemoreFlag"> |
||||
|
<view class="row"> |
||||
|
<view class="left"> |
||||
|
<view class="title">设备图片:</view> |
||||
|
<view class="look-over">点击查看</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="title">购买年份:</view> |
||||
|
<view class="value">2019年</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="row"> |
||||
|
<view class="left"> |
||||
|
<view class="title">购买金额:</view> |
||||
|
<view class="value">2000万</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="title">设备产能:</view> |
||||
|
<view class="value">2000个/天</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="row"> |
||||
|
<view class="left"> |
||||
|
<view class="title">成色:</view> |
||||
|
<view class="value">9成新</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="title">设备类型:</view> |
||||
|
<view class="value">糊盒机</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="row"> |
||||
|
<view class="left"> |
||||
|
<view class="title">最大输纸 长度:</view> |
||||
|
<view class="value">2000mm</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="title">最大输纸 宽度:</view> |
||||
|
<view class="value">2000mm</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="row"> |
||||
|
<view class="left"> |
||||
|
<view class="title">最大输纸 厚度:</view> |
||||
|
<view class="value">2000mm</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="title">咬口:</view> |
||||
|
<view class="value">2000mm</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="see-more"> |
||||
|
<view class="" @tap="seemoreTap"> |
||||
|
<text>设备详情</text> |
||||
|
<image class="icon" :src="!seemoreFlag ? '/static/imgs/client-detail/arrow-up-icon.png' : '/static/imgs/client-detail/arrow-down-icon.png'"></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
|
|
||||
|
import lvSelect from './lv-select.vue' |
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
components: { lvSelect, uGap }, |
||||
|
data() { |
||||
|
return { |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA', |
||||
|
disabled: false |
||||
|
}, |
||||
|
seemoreFlag: true |
||||
} |
} |
||||
|
}, |
||||
|
methods: { |
||||
|
seemoreTap() { |
||||
|
this.seemoreFlag = !this.seemoreFlag |
||||
|
}, |
||||
|
downCallback() {}, |
||||
|
upCallback() {} |
||||
} |
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style> |
|
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.warpper { |
||||
|
.card-box { |
||||
|
.header { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 88rpx; |
||||
|
background: #ffffff; |
||||
|
padding: 0rpx 36rpx 0rpx 32rpx; |
||||
|
.title { |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.desc { |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
.content { |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
border-top: 2rpx solid #dddddd; |
||||
|
.info { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
text-align: center; |
||||
|
height: 148rpx; |
||||
|
background: #ffffff; |
||||
|
.value { |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.title { |
||||
|
margin-top: 16rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.icon { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
padding-right: 6rpx; |
||||
|
} |
||||
|
} |
||||
|
.shrink-box { |
||||
|
background: #f7f8fa; |
||||
|
padding: 8rpx 36rpx 16rpx 32rpx; |
||||
|
.row { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
margin-top: 16rpx; |
||||
|
.left { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
width: 60%; |
||||
|
} |
||||
|
.right { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
width: 40%; |
||||
|
} |
||||
|
.title { |
||||
|
flex: 0 0 140rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.value { |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.look-over { |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.see-more { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
height: 80rpx; |
||||
|
line-height: 80rpx; |
||||
|
background: #ffffff; |
||||
|
padding: 0rpx 32rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
.icon { |
||||
|
width: 24rpx; |
||||
|
height: 24rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -0,0 +1,291 @@ |
|||||
|
<template> |
||||
|
<view style="position: relative;" :class="size === 'small' ? 'small' : ''"> |
||||
|
<view class="uni-flex" :class="{unishadow :uniShadow}"> |
||||
|
<view class="uni-search-form uni-circular uni-background"> |
||||
|
<icon type="search" size="14" class="uni-icon-position"/> |
||||
|
<input |
||||
|
type="text" |
||||
|
:placeholder="placeholder" |
||||
|
v-model="inputVal" |
||||
|
@input="onInput" |
||||
|
@focus="onFocus" |
||||
|
></input> |
||||
|
<icon v-if="isShowClearIcon" type="clear" size="16" class="uni-icon-clear" @tap="clearInputValue"/> |
||||
|
</view> |
||||
|
<view class="uni-action"> |
||||
|
<button |
||||
|
:disabled="loading" |
||||
|
class="uni-cu-btn uni-bg-gradual-green uni-shadow-blur uni-round" |
||||
|
:class="[type === 'primary' ? 'uni-primary' : (type === 'success' ? 'uni-success' : (type === 'warning' ? 'uni-warning' : 'uni-error'))]" |
||||
|
hover-class="hover" |
||||
|
@click="handleSearch" |
||||
|
>搜索</button> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view v-if="isShowSelect"> |
||||
|
<view class="uni-combox__selector" v-if="inputIsShow"> |
||||
|
<scroll-view scroll-y="true" class="uni-combox__selector-scroll"> |
||||
|
<view class="uni-combox__selector-empty " v-if="loading"> |
||||
|
<view>加载中··· </view> |
||||
|
</view> |
||||
|
<view class="uni-combox__selector-empty " v-if="!loading && dataListLength === 0" @tap="closeDielog"> |
||||
|
<view>{{emptyTips}}</view> |
||||
|
</view> |
||||
|
<view class="uni-combox__selector-item" v-for="(item,index) in dataList" :key="index" @tap="onSelectorClick(index)"> |
||||
|
<text>{{item[showValue]}}</text> |
||||
|
</view> |
||||
|
</scroll-view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
<script> |
||||
|
export default { |
||||
|
name: 'select', |
||||
|
props: { |
||||
|
// placeholder: { |
||||
|
// type: String, |
||||
|
// default: '请输入信息' |
||||
|
// }, |
||||
|
infoList: { |
||||
|
type: Array, |
||||
|
default () { |
||||
|
return [] |
||||
|
} |
||||
|
}, |
||||
|
value: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
showValue: { |
||||
|
type: String, |
||||
|
default: 'name' |
||||
|
}, |
||||
|
emptyTips: { |
||||
|
type: String, |
||||
|
default: '暂无数据' |
||||
|
}, |
||||
|
loading: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
btnStyleColor: { |
||||
|
type: Object, |
||||
|
default() { |
||||
|
return {} |
||||
|
} |
||||
|
}, |
||||
|
uniShadow: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
}, |
||||
|
type: { |
||||
|
type: String, |
||||
|
default: 'primary' |
||||
|
}, |
||||
|
size: { |
||||
|
type: String, |
||||
|
default: 'medium' |
||||
|
}, |
||||
|
isShowSelect: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
inputIsShow: false, |
||||
|
inputVal: '', |
||||
|
dataList: [], |
||||
|
placeholder: '请输入信息', |
||||
|
isShowClearIcon: false |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataListLength() { |
||||
|
return this.dataList.length |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
value: { |
||||
|
handler(newVal) { |
||||
|
this.inputVal = newVal |
||||
|
}, |
||||
|
immediate: true |
||||
|
}, |
||||
|
infoList: { |
||||
|
handler(newVal) { |
||||
|
this.dataList = newVal |
||||
|
}, |
||||
|
deep: true, |
||||
|
immediate: true |
||||
|
}, |
||||
|
inputVal(val) { |
||||
|
if(!val.length) { |
||||
|
this.isShowClearIcon = false |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
closeDielog() { |
||||
|
this.inputIsShow = false |
||||
|
}, |
||||
|
onFocus() { |
||||
|
if(this.dataList.length) { |
||||
|
this.inputIsShow = true |
||||
|
this.isShowClearIcon = !!this.inputVal |
||||
|
} |
||||
|
}, |
||||
|
onSelectorClick(index) { |
||||
|
this.inputIsShow = false |
||||
|
this.isShowClearIcon = false |
||||
|
this.inputVal = this.dataList[index][this.showValue] |
||||
|
this.$emit('input', this.inputVal) |
||||
|
this.$emit('change', this.dataList[index]) |
||||
|
}, |
||||
|
onInput() { |
||||
|
this.$emit('input', this.inputVal) |
||||
|
}, |
||||
|
handleSearch() { |
||||
|
this.inputIsShow = true |
||||
|
this.$emit('handleSearch') |
||||
|
}, |
||||
|
clearInputValue() { |
||||
|
this.inputVal = '' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped lang="scss"> |
||||
|
// $selectWidth: 75%; // 下拉选择框宽度 |
||||
|
.small { |
||||
|
transform: scale(.9, .9); |
||||
|
} |
||||
|
.uni-primary { |
||||
|
background-color: $uni-color-primary; |
||||
|
} |
||||
|
.uni-success { |
||||
|
background-color: #67c23a; |
||||
|
} |
||||
|
.uni-warning { |
||||
|
background-color: $uni-color-warning; |
||||
|
} |
||||
|
.uni-error { |
||||
|
background-color: $uni-color-error; |
||||
|
} |
||||
|
.hover{ |
||||
|
transition: all .6s; |
||||
|
transform: scale(0.8,0.8); |
||||
|
} |
||||
|
.uni-flex{ |
||||
|
width: 100%; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
padding: 10rpx 20rpx; |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
.unishadow{ |
||||
|
box-shadow: 0rpx 1rpx 5rpx #DDDDDD; |
||||
|
} |
||||
|
.uni-search-form{ |
||||
|
position: relative; |
||||
|
width: 60%; |
||||
|
margin: 10rpx; |
||||
|
padding: 10rpx 80rpx; |
||||
|
font-size: 30rpx; |
||||
|
color: #999999; |
||||
|
} |
||||
|
.uniRound{ |
||||
|
border-radius: 5px; |
||||
|
} |
||||
|
.uni-circular{ |
||||
|
border-radius: 100rpx; |
||||
|
} |
||||
|
.uni-icon-position{ |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 26rpx; |
||||
|
transform: translate(0,-50%); |
||||
|
} |
||||
|
.uni-icon-clear{ |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
right: 26rpx; |
||||
|
transform: translate(0,-50%); |
||||
|
} |
||||
|
.uni-background{ |
||||
|
background-color: #F5F5F5; |
||||
|
} |
||||
|
/* button */ |
||||
|
.uni-action{ |
||||
|
width:120rpx; |
||||
|
height: 66rpx; |
||||
|
} |
||||
|
.uni-cu-btn{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
color: #FFFFFF; |
||||
|
font-size: 28rpx; |
||||
|
border: none; |
||||
|
// background-color: $uni-color-primary; |
||||
|
} |
||||
|
.uni-shadow-blur{ |
||||
|
box-shadow: 0rpx 1rpx 10rpx #C8C7CC; |
||||
|
} |
||||
|
.uni-round{ |
||||
|
border-radius: 100rpx; |
||||
|
} |
||||
|
.uni-combox__selector { |
||||
|
position: absolute; |
||||
|
top: 100rpx; |
||||
|
left: 40rpx; |
||||
|
box-sizing: border-box; |
||||
|
width: 75%; // 下拉框宽度 |
||||
|
background-color: #FFFFFF; |
||||
|
border-radius: 6px; |
||||
|
box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px; |
||||
|
z-index: 999; |
||||
|
} |
||||
|
.uni-combox__selector-scroll { |
||||
|
max-height: 200px; |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
.uni-combox__selector::before { |
||||
|
content: ''; |
||||
|
position: absolute; |
||||
|
width: 0; |
||||
|
height: 0; |
||||
|
border-bottom: solid 6px #FFFFFF; |
||||
|
border-right: solid 6px transparent; |
||||
|
border-left: solid 6px transparent; |
||||
|
left: 50%; |
||||
|
top: -6px; |
||||
|
margin-left: -6px; |
||||
|
} |
||||
|
.uni-combox__selector-empty{ |
||||
|
text-align: center; |
||||
|
color: #8F8F94; |
||||
|
padding: 20rpx 0; |
||||
|
font-size: 28rpx; |
||||
|
} |
||||
|
.uni-combox__selector-item { |
||||
|
/* #ifdef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
font-size: 24rpx; |
||||
|
margin: 0px 10px; |
||||
|
padding: 20rpx 10rpx; |
||||
|
color: #808080; |
||||
|
} |
||||
|
.uni-combox__selector-item:hover { |
||||
|
background-color: #DDDDDD; |
||||
|
} |
||||
|
.uni-combox__selector-empty:last-child, |
||||
|
.uni-combox__selector-item:last-child { |
||||
|
border-bottom: none; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,49 @@ |
|||||
|
<template> |
||||
|
<view class="warpper"> |
||||
|
<image class="icon" src="/static/imgs/client-detail/no-data-icon.png"></image> |
||||
|
<view class="text"> |
||||
|
{{ title }} |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
props: { |
||||
|
title:{ |
||||
|
type: String, |
||||
|
default: null |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.warpper { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
text-align: center; |
||||
|
margin-top: 25%; |
||||
|
.icon { |
||||
|
width: 560rpx; |
||||
|
height: 320rpx; |
||||
|
} |
||||
|
.text { |
||||
|
font-size: 30rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,40 +1,254 @@ |
|||||
<template> |
<template> |
||||
<view class="content"> |
|
||||
mall |
|
||||
|
<view class="warpper"> |
||||
|
<uni-nav-bar> |
||||
|
<view slot="left" class="left-title">纸商城</view> |
||||
|
<view slot="right" class="right-title">分享</view> |
||||
|
</uni-nav-bar> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #FFFFFF;"> |
||||
|
<view class="top-box"> |
||||
|
<view class=""> |
||||
|
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image> |
||||
|
</view> |
||||
|
<view class="center"> |
||||
|
<view class="title"> |
||||
|
东莞市隆兴纸业有限公司 |
||||
|
</view> |
||||
|
<view class="desc"> |
||||
|
全部商品 39 | 上新 9 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="cut"> |
||||
|
切换商城 |
||||
|
<image class="cut-icon" src="/static/imgs/mall/cut-icon.png" mode=""></image> |
||||
|
</view> |
||||
|
<view class="set"> |
||||
|
设置 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view v-for="(item,index) in 6" :key="index"> |
||||
|
<view class="content"> |
||||
|
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image> |
||||
|
<view class=""> |
||||
|
<view class="title"> |
||||
|
<view class=""> |
||||
|
金蝶蓝白卡 |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<image class="icon" :src="1 === 1 ? '/static/imgs/mall/grounding-icon.png' : '/static/imgs/mall/sold-out-icon.png'" mode=""></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="sub-title"> |
||||
|
金桂/白卡纸/金蝶蓝 |
||||
|
</view> |
||||
|
<view class="desc"> |
||||
|
克重(价格):200(3900) 235(3900) 255(390 |
||||
|
0)255(390 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="other"> |
||||
|
<view class="time"> |
||||
|
5分钟前 |
||||
|
</view> |
||||
|
<view class="btn"> |
||||
|
<view class=""> |
||||
|
编辑 |
||||
|
</view> |
||||
|
<view class="divide"></view> |
||||
|
<view class=""> |
||||
|
下架 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
|
||||
|
</scroll-list> |
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
|
||||
export default { |
|
||||
|
|
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
components: { uGap }, |
||||
|
data() { |
||||
|
return { |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA', |
||||
|
disabled: false |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
downCallback() {}, |
||||
|
upCallback() {} |
||||
} |
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style> |
|
||||
.content { |
|
||||
|
<style lang="scss"> |
||||
|
.warpper { |
||||
|
width: 750rpx; |
||||
|
.left-title { |
||||
|
font-size: 40rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.right-title { |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.top-box { |
||||
display: flex; |
display: flex; |
||||
flex-direction: column; |
|
||||
|
flex-direction: row; |
||||
align-items: center; |
align-items: center; |
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.logo { |
|
||||
height: 200rpx; |
|
||||
width: 200rpx; |
|
||||
margin-top: 200rpx; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
margin-bottom: 50rpx; |
|
||||
|
justify-content: space-around; |
||||
|
height: 180rpx; |
||||
|
background: url('/static/imgs/mall/zsc-bg-icon.png') no-repeat; |
||||
|
background-size: 100%; |
||||
|
.image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
border-radius: 50%; |
||||
|
} |
||||
|
.right { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.center { |
||||
|
position: relative; |
||||
|
left: -20rpx; |
||||
|
} |
||||
|
.title { |
||||
|
|
||||
|
font-size: 34rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 2rpx; |
||||
|
font-weight: 600; |
||||
|
margin-bottom: 12rpx; |
||||
|
|
||||
|
} |
||||
|
.desc { |
||||
|
opacity: 0.75; |
||||
|
font-size: 28rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
padding-right: 32rpx; |
||||
|
} |
||||
|
.cut { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
font-size: 24rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
.cut-icon { |
||||
|
width: 29.42rpx; |
||||
|
height: 26.67rpx; |
||||
|
margin-left: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
.set { |
||||
|
opacity: 0.75; |
||||
|
font-size: 28rpx; |
||||
|
color: #FFFFFF; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
position: relative; |
||||
|
top: 39rpx; |
||||
|
left: 60rpx; |
||||
|
} |
||||
} |
} |
||||
|
|
||||
.text-area { |
|
||||
|
.content { |
||||
|
background: #FFFFFF; |
||||
|
border-bottom: 2rpx solid #DDDDDD; |
||||
display: flex; |
display: flex; |
||||
justify-content: center; |
|
||||
|
flex-direction: row; |
||||
|
padding: 24rpx 0rpx 24rpx 32rpx; |
||||
|
.image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
flex: 0 0 100rpx; |
||||
|
margin-right: 18rpx; |
||||
|
} |
||||
|
.title { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
font-size: 32rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
.icon { |
||||
|
position: relative; |
||||
|
top: -22rpx; |
||||
|
width: 150rpx; |
||||
|
height: 50rpx; |
||||
|
} |
||||
|
} |
||||
|
.sub-title { |
||||
|
position: relative; |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
top: -4rpx; |
||||
|
} |
||||
|
.desc { |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
padding-top: 10rpx; |
||||
|
line-height: 1.4; |
||||
|
} |
||||
} |
} |
||||
|
|
||||
.title { |
|
||||
font-size: 36rpx; |
|
||||
color: #8f8f94; |
|
||||
|
.other { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 80rpx; |
||||
|
background: #FFFFFF; |
||||
|
padding: 0rpx 32rpx; |
||||
|
.time { |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.btn { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
font-size: 28rpx; |
||||
|
color: #007AFF; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.divide { |
||||
|
width: 2rpx; |
||||
|
height: 32rpx; |
||||
|
background: #d8d8d8; |
||||
|
margin: 0 32rpx; |
||||
|
} |
||||
|
.icon { |
||||
|
width: 24rpx; |
||||
|
height: 24rpx; |
||||
|
margin-left: 6rpx; |
||||
|
} |
||||
} |
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -0,0 +1,667 @@ |
|||||
|
<template> |
||||
|
<view class="submit-quotation"> |
||||
|
<view> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title=""> |
||||
|
<view class="submit-title">提交报价</view> |
||||
|
<view slot="left"></view> |
||||
|
<view slot="right"></view> |
||||
|
</uni-nav-bar> |
||||
|
</view> |
||||
|
<view class="submit-main"> |
||||
|
<view><text class="submit-main-title">交货要求</text></view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">询价客户:</text> |
||||
|
<text class="submit-main-subContant">东莞市隆兴纸业有限公司</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">交货区域:</text> |
||||
|
<text class="submit-main-subContant">广东省/广州市/天河区</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">交货时间:</text> |
||||
|
<text class="submit-main-subContant">2021/12/29 12:30</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-deadline"> |
||||
|
<view class="submit-text">报价截止</view> |
||||
|
<view class="submit-time"><text class="submit-time-text">12</text></view> |
||||
|
<view class="sbumit-colon">:</view> |
||||
|
<view class="submit-time"><text class="submit-time-text">12</text></view> |
||||
|
<view class="sbumit-colon">:</view> |
||||
|
<view class="submit-time"><text class="submit-time-text">12</text></view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant"> |
||||
|
<view class="submit-contant-head"> |
||||
|
<view class="submit-contant-title">丽品白卡|200g|787*1092|5000张</view> |
||||
|
<view class="" @click="commodityModify()"><image class="submit-image" src="../../static/imgs/trade/myPrice.png" mode=""></image></view> |
||||
|
</view> |
||||
|
<view class="submit-contant-body"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-body-title">重量(吨):</text> |
||||
|
<text class="submit-contant-body-subtitle">1.6544</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-contant-body-title">单价(元/吨):</text> |
||||
|
<text class="submit-contant-body-subtitle"> |
||||
|
1000 |
||||
|
<image @click="priceModify()" class="submit-image-price" src="../../static/imgs/trade/myPrice.png" mode=""></image> |
||||
|
</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-contant-body-title">小计(元):</text> |
||||
|
<text class="submit-contant-body-subtitle">1.6544</text> |
||||
|
</view> |
||||
|
<view class="submit-contant-body-input"> |
||||
|
<uni-easyinput maxlength="100" class="submit-contant-body-inputClass" v-model="value" placeholder="请输入内容"></uni-easyinput> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="submit-contant-order"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-order-title">其他费用:</text> |
||||
|
<text class="submit-contant-order-subtitle">¥ 80.00</text> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-order-title">合计:</text> |
||||
|
<text class="submit-contant-order-money">¥ 13800.32</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant-time"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-time-title">有效时间:</text> |
||||
|
<text class="submit-contant-time-title">24小时</text> |
||||
|
</view> |
||||
|
<view class="" @click="resetTime()"><text class="submit-contant-time-subtitle">设置</text></view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant-remark"> |
||||
|
<view class="submit-contant-remark-title">报价备注</view> |
||||
|
<view class=""><uni-easyinput maxlength="200" type="textarea" class="submit-contant-remark-input" v-model="value1" placeholder="请输入内容"></uni-easyinput></view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-btnBg"><button class="submit-btn" type="primary">提交报价</button></view> |
||||
|
<view class=""> |
||||
|
<uni-popup ref="popup" :mask-click="false"> |
||||
|
<view class="submit-popup"> |
||||
|
<view class="submit-line"> |
||||
|
<view class="submit-popup-close"> |
||||
|
<view class="submit-popup-title">纸品名称:</view> |
||||
|
<view class="" @click="close()"><image class="submit-popup-close-image" src="../../static/imgs/client/close-icon.png" mode=""></image></view> |
||||
|
</view> |
||||
|
<view><uni-data-picker class="submit-popup-input" :border="false" :localdata="items" @change="onchange"></uni-data-picker></view> |
||||
|
</view> |
||||
|
<view class="submit-line"> |
||||
|
<view class="submit-popup-close"><view class="submit-popup-title">克重(g)</view></view> |
||||
|
<view class=""><uni-easyinput :inputBorder="false" class="submit-popup-input" type="number" v-model="value" placeholder="请输入内容"></uni-easyinput></view> |
||||
|
</view> |
||||
|
<view class="submit-line"> |
||||
|
<view class="submit-popup-close"><view class="submit-popup-title">规格(mm)</view></view> |
||||
|
<view class="submit-popup-close"> |
||||
|
<view class=""> |
||||
|
<uni-easyinput |
||||
|
:inputBorder="false" |
||||
|
class="submit-popup-input submit-popup-specifications" |
||||
|
type="number" |
||||
|
v-model="value" |
||||
|
placeholder="请输入内容" |
||||
|
></uni-easyinput> |
||||
|
</view> |
||||
|
<view class="submit-popup-x">x</view> |
||||
|
<view class=""> |
||||
|
<uni-easyinput |
||||
|
:inputBorder="false" |
||||
|
class="submit-popup-input submit-popup-specifications" |
||||
|
type="number" |
||||
|
v-model="value" |
||||
|
placeholder="请输入内容" |
||||
|
></uni-easyinput> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="submit-popup-close submit-number-box"> |
||||
|
<view class=""><view class="submit-popup-title">购买数量(张)</view></view> |
||||
|
<view class="submit-number-line"> |
||||
|
<uni-number-box v-model="vModelValue"></uni-number-box> |
||||
|
<text class="submit-number-text">预估重量:1.6346吨</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class=""><button class="submit-btn submit-number-btn" type="primary">确认修改纸品</button></view> |
||||
|
</view> |
||||
|
</uni-popup> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<uni-popup ref="popupPrice" :mask-click="false"> |
||||
|
<view class="submit-popup"> |
||||
|
<view class="submit-line"> |
||||
|
<view class="submit-popup-close"> |
||||
|
<view class="submit-popup-title"> |
||||
|
单价(元/吨) |
||||
|
<text class="submit-number-text submit-price-subTitle">预估重量:1.6346吨</text> |
||||
|
</view> |
||||
|
<view class="" @click="close()"><image class="submit-popup-close-image" src="../../static/imgs/client/close-icon.png" mode=""></image></view> |
||||
|
</view> |
||||
|
<view> |
||||
|
<view class=""> |
||||
|
<uni-easyinput :inputBorder="false" class="submit-popup-input" type="number" v-model="value" placeholder="请输入内容"></uni-easyinput> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="submit-number-box submit-price"> |
||||
|
<view class="submit-popup-close"><view class="submit-popup-title">其他费用(元)</view></view> |
||||
|
<view class=""><uni-easyinput :inputBorder="false" class="submit-popup-input" type="number" v-model="value" placeholder="请输入内容"></uni-easyinput></view> |
||||
|
</view> |
||||
|
<view class="submit-price-total"> |
||||
|
<view class="submit-price-text">合计:</view> |
||||
|
<view class="submit-price-total-text">¥ 0</view> |
||||
|
</view> |
||||
|
<view class=""><button class="submit-btn submit-number-btn" type="primary">确认报价</button></view> |
||||
|
</view> |
||||
|
</uni-popup> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<uni-popup ref="popupTime" :mask-click="false"> |
||||
|
<view class="submit-check-time"> |
||||
|
<view class="submit-check-flex "> |
||||
|
<view class="submit-check-cancel" @click="pickerCancel()"> |
||||
|
取消 |
||||
|
</view> |
||||
|
<view class="submit-check-title"> |
||||
|
设置时间 |
||||
|
</view> |
||||
|
<view class="submit-check-sure" @click="pickerSure()"> |
||||
|
确认 |
||||
|
</view> |
||||
|
</view> |
||||
|
<picker-view v-if="visible" :indicator-style="indicatorStyle" :value="timeValue" @change="bindChange" class="picker-view"> |
||||
|
<picker-view-column> |
||||
|
<view class="item submit-check-text" v-for="(item, index) in years" :key="index">{{ item }}</view> |
||||
|
</picker-view-column> |
||||
|
<picker-view-column> |
||||
|
<view class="item submit-check-text" v-for="(item, index) in months" :key="index">{{ item }}小时</view> |
||||
|
</picker-view-column> |
||||
|
</picker-view> |
||||
|
</view> |
||||
|
</uni-popup> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { back, go2 } from '@/utils/hook.js' |
||||
|
import qnHeader from '@/components/qn-header/qn-header.vue' |
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
components: { |
||||
|
qnHeader, |
||||
|
uGap |
||||
|
}, |
||||
|
data() { |
||||
|
const date = new Date() |
||||
|
const years = ['长期'] |
||||
|
const year = date.getFullYear() |
||||
|
const months = [] |
||||
|
const month = date.getMonth() + 1 |
||||
|
const day = date.getDate() |
||||
|
for (let i = 0; i <= 31; i++) { |
||||
|
years.push(i+'天') |
||||
|
} |
||||
|
for (let i = 1; i <= 12; i++) { |
||||
|
months.push(i) |
||||
|
} |
||||
|
return { |
||||
|
value: '', |
||||
|
value1: '', |
||||
|
vModelValue: '', |
||||
|
indicatorStyle: `height: 50px;`, |
||||
|
visible: true, |
||||
|
title: 'picker-view', |
||||
|
years, |
||||
|
year, |
||||
|
months, |
||||
|
month, |
||||
|
timeValue: [0, 1], |
||||
|
pickerValue:[], |
||||
|
items: [ |
||||
|
{ |
||||
|
text: '一年级', |
||||
|
value: '1-0' |
||||
|
}, |
||||
|
{ |
||||
|
text: '二年级', |
||||
|
value: '2-0' |
||||
|
}, |
||||
|
{ |
||||
|
text: '三年级', |
||||
|
value: '3-0' |
||||
|
}, |
||||
|
{ |
||||
|
text: '一年级', |
||||
|
value: '1-0' |
||||
|
}, |
||||
|
{ |
||||
|
text: '二年级', |
||||
|
value: '2-0' |
||||
|
}, |
||||
|
{ |
||||
|
text: '三年级', |
||||
|
value: '3-0' |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
back, |
||||
|
// 商品操作按钮 |
||||
|
commodityModify(item) { |
||||
|
console.log(111) |
||||
|
this.$refs.popup.open('bottom') |
||||
|
}, |
||||
|
// 单价操作按钮 |
||||
|
priceModify() { |
||||
|
this.$refs.popupPrice.open('bottom') |
||||
|
}, |
||||
|
// 事件设置 |
||||
|
resetTime() { |
||||
|
this.$refs.popupTime.open('bottom') |
||||
|
}, |
||||
|
// 事件选择change事件 |
||||
|
bindChange(e) { |
||||
|
console.log(e.detail.value) |
||||
|
}, |
||||
|
close() { |
||||
|
this.$refs.popup.close() |
||||
|
this.$refs.popupPrice.close() |
||||
|
}, |
||||
|
// 纸张选择下拉change事件 |
||||
|
onchange(e) { |
||||
|
console.log(e) |
||||
|
this.pickerValue = e.detail.value |
||||
|
}, |
||||
|
// 时间设置取消 |
||||
|
pickerCancel(){ |
||||
|
this.$refs.popupTime.close() |
||||
|
}, |
||||
|
// 时间设置确认 |
||||
|
pickerSure(){ |
||||
|
this.$refs.popupTime.close() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.picker-view { |
||||
|
width: 750rpx; |
||||
|
height: 600rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.item { |
||||
|
height: 50rpx; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
text-align: center; |
||||
|
padding-top: 30rpx; |
||||
|
} |
||||
|
.submit-quotation { |
||||
|
.submit-title { |
||||
|
width: 100%; |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 36rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-main { |
||||
|
width: 750rpx; |
||||
|
height: 260rpx; |
||||
|
padding: 24rpx 0rpx 0rpx 32rpx; |
||||
|
line-height: 52rpx; |
||||
|
background: #ffffff; |
||||
|
.submit-main-title { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-main-subTitle { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-main-subContant { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
.submit-deadline { |
||||
|
width: 750rpx; |
||||
|
height: 75rpx; |
||||
|
background: #f4f9fc; |
||||
|
box-shadow: 0rpx 2rpx 12rpx 0rpx rgba(100, 101, 102, 0.12); |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
.submit-text { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
margin-top: 22rpx; |
||||
|
width: 130rpx; |
||||
|
} |
||||
|
.submit-time { |
||||
|
width: 40rpx; |
||||
|
height: 40rpx; |
||||
|
background: #ee0a24; |
||||
|
border-radius: 8rpx; |
||||
|
margin-top: 20rpx; |
||||
|
text-align: center; |
||||
|
} |
||||
|
.submit-time-text { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 24rpx; |
||||
|
color: #ffffff; |
||||
|
text-align: center; |
||||
|
line-height: 32rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.sbumit-colon { |
||||
|
width: 24rpx; |
||||
|
height: 32rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 24rpx; |
||||
|
color: #ee0a24; |
||||
|
text-align: center; |
||||
|
line-height: 32rpx; |
||||
|
font-weight: 400; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant { |
||||
|
background-color: #ffffff; |
||||
|
// height: 368rpx; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
padding-bottom: 20rpx; |
||||
|
.submit-contant-head { |
||||
|
line-height: 90rpx; |
||||
|
width: 750rpx; |
||||
|
height: 90rpx; |
||||
|
border-bottom: 2rpx dashed #d8d8d8; |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-contant-title { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 30rpx; |
||||
|
color: rgba(0, 0, 0, 0.75); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 600; |
||||
|
padding: 0rpx 0rpx 0rpx 32rpx; |
||||
|
} |
||||
|
.submit-contant-body { |
||||
|
line-height: 68rpx; |
||||
|
padding-left: 32rpx; |
||||
|
.submit-contant-body-title { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-body-subtitle { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
float: right; |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.submit-contant-body-input { |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.submit-contant-body-inputClass { |
||||
|
background-color: #f7f8fa; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-order { |
||||
|
width: 750rpx; |
||||
|
height: 90rpx; |
||||
|
line-height: 90rpx; |
||||
|
background: #ffffff; |
||||
|
display: flex; |
||||
|
padding-left: 32rpx; |
||||
|
padding-right: 32rpx; |
||||
|
justify-content: space-between; |
||||
|
.submit-contant-order-title { |
||||
|
width: 140rpx; |
||||
|
height: 40rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-order-subtitle { |
||||
|
width: 101rpx; |
||||
|
height: 40rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-order-money { |
||||
|
width: 172rpx; |
||||
|
height: 42rpx; |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 40rpx; |
||||
|
color: #f5222d; |
||||
|
letter-spacing: 0; |
||||
|
line-height: 42rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-time { |
||||
|
width: 750rpx; |
||||
|
height: 88rpx; |
||||
|
background: #ffffff; |
||||
|
line-height: 88rpx; |
||||
|
display: flex; |
||||
|
padding-left: 32rpx; |
||||
|
padding-right: 32rpx; |
||||
|
justify-content: space-between; |
||||
|
.submit-contant-time-title { |
||||
|
width: 230rpx; |
||||
|
height: 40rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-time-subtitle { |
||||
|
width: 56rpx; |
||||
|
height: 40rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-remark { |
||||
|
width: 750rpx; |
||||
|
height: 336rpx; |
||||
|
background: #ffffff; |
||||
|
.submit-contant-remark-title { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
padding: 28rpx 0rpx 0rpx 32rpx; |
||||
|
} |
||||
|
.submit-contant-remark-input { |
||||
|
background: #f7f8fa; |
||||
|
border-radius: 20rpx; |
||||
|
margin: 10rpx 32rpx 32rpx 32rpx; |
||||
|
width: 686rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-btnBg { |
||||
|
width: 750rpx; |
||||
|
height: 120rx; |
||||
|
background: #ffffff; |
||||
|
box-shadow: 0rpx 2rpx 12rpx 0rpx rgba(100, 101, 102, 0.12); |
||||
|
padding: 12rpx 32rpx 12rpx 32rpx; |
||||
|
} |
||||
|
.submit-btn { |
||||
|
width: 686rpx; |
||||
|
height: 96rpx; |
||||
|
background: #007aff; |
||||
|
border-radius: 10px; |
||||
|
} |
||||
|
.submit-image { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
margin-right: 32rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-image-price { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
margin-left: 14rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-popup { |
||||
|
width: 750rpx; |
||||
|
height: 960rpx; |
||||
|
background: #ffffff; |
||||
|
border-top-right-radius: 2rpx; |
||||
|
border-top-left-radius: 2rpx; |
||||
|
padding: 20rpx 32rpx 0rpx 32rpx; |
||||
|
// line-height: 124rpx; |
||||
|
.submit-popup-input { |
||||
|
background-color: #f5f5f5; |
||||
|
} |
||||
|
.submit-popup-close { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-popup-close-image { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-popup-title { |
||||
|
font-size: 30rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-popup-specifications { |
||||
|
width: 320rpx; |
||||
|
} |
||||
|
.submit-popup-x { |
||||
|
font-size: 32rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-line { |
||||
|
border-bottom: 2rpx solid #d8d8d8; |
||||
|
padding-bottom: 32rpx; |
||||
|
height: 194rpx; |
||||
|
line-height: 72rpx; |
||||
|
} |
||||
|
.submit-number-box { |
||||
|
margin-top: 24rpx; |
||||
|
} |
||||
|
.submit-number-text { |
||||
|
font-size: 24rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-number-line { |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
.submit-number-btn { |
||||
|
position: absolute; |
||||
|
bottom: 20rpx; |
||||
|
} |
||||
|
.submit-price { |
||||
|
line-height: 72rpx; |
||||
|
} |
||||
|
.submit-price-total { |
||||
|
display: flex; |
||||
|
justify-content: flex-end; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.submit-price-total-text { |
||||
|
font-size: 40rpx; |
||||
|
color: #f5222d; |
||||
|
letter-spacing: 0; |
||||
|
line-height: 42rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.submit-price-text { |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
text-align: right; |
||||
|
font-weight: 400; |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
.submit-price-subTitle { |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-check-time{ |
||||
|
background-color: #FFFFFF; |
||||
|
padding: 28rpx 32rpx 0px 28rpx; |
||||
|
.submit-check-flex { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-check-title{ |
||||
|
font-size: 32rpx; |
||||
|
color: #323233; |
||||
|
text-align: center; |
||||
|
line-height: 44rpx; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-check-cancel{ |
||||
|
font-size: 28rpx; |
||||
|
color: #969799; |
||||
|
line-height: 40rpx; |
||||
|
font-weight: 400; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-check-sure{ |
||||
|
font-size: 28rpx; |
||||
|
color: #007AFF; |
||||
|
line-height: 40rpx; |
||||
|
font-weight: 400; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-check-text{ |
||||
|
font-size: 36rpx; |
||||
|
color: #323233; |
||||
|
line-height: 48rpx; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,25 @@ |
|||||
|
## 1.2.1(2021-11-22) |
||||
|
- 修复 vue3中某些scss变量无法找到的问题 |
||||
|
## 1.2.0(2021-11-19) |
||||
|
- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) |
||||
|
- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box) |
||||
|
## 1.1.2(2021-11-09) |
||||
|
- 新增 提供组件设计资源,组件样式调整 |
||||
|
## 1.1.1(2021-07-30) |
||||
|
- 优化 vue3下事件警告的问题 |
||||
|
## 1.1.0(2021-07-13) |
||||
|
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) |
||||
|
## 1.0.7(2021-05-12) |
||||
|
- 新增 组件示例地址 |
||||
|
## 1.0.6(2021-04-20) |
||||
|
- 修复 uni-number-box 浮点数运算不精确的 bug |
||||
|
- 修复 uni-number-box change 事件触发不正确的 bug |
||||
|
- 新增 uni-number-box v-model 双向绑定 |
||||
|
## 1.0.5(2021-02-05) |
||||
|
- 调整为uni_modules目录规范 |
||||
|
|
||||
|
## 1.0.7(2021-02-05) |
||||
|
- 调整为uni_modules目录规范 |
||||
|
- 新增 支持 v-model |
||||
|
- 新增 支持 focus、blur 事件 |
||||
|
- 新增 支持 PC 端 |
||||
@ -0,0 +1,220 @@ |
|||||
|
<template> |
||||
|
<view class="uni-numbox"> |
||||
|
<view @click="_calcValue('minus')" class="uni-numbox__minus uni-numbox-btns" :style="{background}"> |
||||
|
<text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue <= min || disabled }" :style="{color}">-</text> |
||||
|
</view> |
||||
|
<input :disabled="disabled" @focus="_onFocus" @blur="_onBlur" class="uni-numbox__value" type="number" |
||||
|
v-model="inputValue" :style="{background, color}" /> |
||||
|
<view @click="_calcValue('plus')" class="uni-numbox__plus uni-numbox-btns" :style="{background}"> |
||||
|
<text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue >= max || disabled }" :style="{color}">+</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
<script> |
||||
|
/** |
||||
|
* NumberBox 数字输入框 |
||||
|
* @description 带加减按钮的数字输入框 |
||||
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=31 |
||||
|
* @property {Number} value 输入框当前值 |
||||
|
* @property {Number} min 最小值 |
||||
|
* @property {Number} max 最大值 |
||||
|
* @property {Number} step 每次点击改变的间隔大小 |
||||
|
* @property {String} background 背景色 |
||||
|
* @property {String} color 字体颜色(前景色) |
||||
|
* @property {Boolean} disabled = [true|false] 是否为禁用状态 |
||||
|
* @event {Function} change 输入框值改变时触发的事件,参数为输入框当前的 value |
||||
|
* @event {Function} focus 输入框聚焦时触发的事件,参数为 event 对象 |
||||
|
* @event {Function} blur 输入框失焦时触发的事件,参数为 event 对象 |
||||
|
*/ |
||||
|
|
||||
|
export default { |
||||
|
name: "UniNumberBox", |
||||
|
emits: ['change', 'input', 'update:modelValue', 'blur', 'focus'], |
||||
|
props: { |
||||
|
value: { |
||||
|
type: [Number, String], |
||||
|
default: 1 |
||||
|
}, |
||||
|
modelValue: { |
||||
|
type: [Number, String], |
||||
|
default: 1 |
||||
|
}, |
||||
|
min: { |
||||
|
type: Number, |
||||
|
default: 0 |
||||
|
}, |
||||
|
max: { |
||||
|
type: Number, |
||||
|
default: 100 |
||||
|
}, |
||||
|
step: { |
||||
|
type: Number, |
||||
|
default: 1 |
||||
|
}, |
||||
|
background: { |
||||
|
type: String, |
||||
|
default: '#f5f5f5' |
||||
|
}, |
||||
|
color: { |
||||
|
type: String, |
||||
|
default: '#333' |
||||
|
}, |
||||
|
disabled: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
inputValue: 0 |
||||
|
}; |
||||
|
}, |
||||
|
watch: { |
||||
|
value(val) { |
||||
|
this.inputValue = +val; |
||||
|
}, |
||||
|
modelValue(val) { |
||||
|
this.inputValue = +val; |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
if (this.value === 1) { |
||||
|
this.inputValue = +this.modelValue; |
||||
|
} |
||||
|
if (this.modelValue === 1) { |
||||
|
this.inputValue = +this.value; |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
_calcValue(type) { |
||||
|
if (this.disabled) { |
||||
|
return; |
||||
|
} |
||||
|
const scale = this._getDecimalScale(); |
||||
|
let value = this.inputValue * scale; |
||||
|
let step = this.step * scale; |
||||
|
if (type === "minus") { |
||||
|
value -= step; |
||||
|
if (value < (this.min * scale)) { |
||||
|
return; |
||||
|
} |
||||
|
if (value > (this.max * scale)) { |
||||
|
value = this.max * scale |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (type === "plus") { |
||||
|
value += step; |
||||
|
if (value > (this.max * scale)) { |
||||
|
return; |
||||
|
} |
||||
|
if (value < (this.min * scale)) { |
||||
|
value = this.min * scale |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
this.inputValue = (value / scale).toFixed(String(scale).length - 1); |
||||
|
this.$emit("change", +this.inputValue); |
||||
|
// TODO vue2 兼容 |
||||
|
this.$emit("input", +this.inputValue); |
||||
|
// TODO vue3 兼容 |
||||
|
this.$emit("update:modelValue", +this.inputValue); |
||||
|
}, |
||||
|
_getDecimalScale() { |
||||
|
|
||||
|
let scale = 1; |
||||
|
// 浮点型 |
||||
|
if (~~this.step !== this.step) { |
||||
|
scale = Math.pow(10, String(this.step).split(".")[1].length); |
||||
|
} |
||||
|
return scale; |
||||
|
}, |
||||
|
_onBlur(event) { |
||||
|
this.$emit('blur', event) |
||||
|
let value = event.detail.value; |
||||
|
if (!value) { |
||||
|
// this.inputValue = 0; |
||||
|
return; |
||||
|
} |
||||
|
value = +value; |
||||
|
if (value > this.max) { |
||||
|
value = this.max; |
||||
|
} else if (value < this.min) { |
||||
|
value = this.min; |
||||
|
} |
||||
|
const scale = this._getDecimalScale(); |
||||
|
this.inputValue = value.toFixed(String(scale).length - 1); |
||||
|
this.$emit("change", +this.inputValue); |
||||
|
this.$emit("input", +this.inputValue); |
||||
|
}, |
||||
|
_onFocus(event) { |
||||
|
this.$emit('focus', event) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
$box-height: 26px; |
||||
|
$bg: #f5f5f5; |
||||
|
$br: 2px; |
||||
|
$color: #333; |
||||
|
|
||||
|
.uni-numbox { |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
flex-direction: row; |
||||
|
} |
||||
|
|
||||
|
.uni-numbox-btns { |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
padding: 0 8px; |
||||
|
background-color: $bg; |
||||
|
/* #ifdef H5 */ |
||||
|
cursor: pointer; |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-numbox__value { |
||||
|
margin: 0 2px; |
||||
|
background-color: $bg; |
||||
|
width: 40px; |
||||
|
height: $box-height; |
||||
|
text-align: center; |
||||
|
font-size: 14px; |
||||
|
border-left-width: 0; |
||||
|
border-right-width: 0; |
||||
|
color: $color; |
||||
|
} |
||||
|
|
||||
|
.uni-numbox__minus { |
||||
|
border-top-left-radius: $br; |
||||
|
border-bottom-left-radius: $br; |
||||
|
} |
||||
|
|
||||
|
.uni-numbox__plus { |
||||
|
border-top-right-radius: $br; |
||||
|
border-bottom-right-radius: $br; |
||||
|
} |
||||
|
|
||||
|
.uni-numbox--text { |
||||
|
// fix nvue |
||||
|
line-height: 20px; |
||||
|
|
||||
|
font-size: 20px; |
||||
|
font-weight: 300; |
||||
|
color: $color; |
||||
|
} |
||||
|
|
||||
|
.uni-numbox .uni-numbox--disabled { |
||||
|
color: #c0c0c0 !important; |
||||
|
/* #ifdef H5 */ |
||||
|
cursor: not-allowed; |
||||
|
/* #endif */ |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,85 @@ |
|||||
|
{ |
||||
|
"id": "uni-number-box", |
||||
|
"displayName": "uni-number-box 数字输入框", |
||||
|
"version": "1.2.1", |
||||
|
"description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。", |
||||
|
"keywords": [ |
||||
|
"uni-ui", |
||||
|
"uniui", |
||||
|
"数字输入框" |
||||
|
], |
||||
|
"repository": "https://github.com/dcloudio/uni-ui", |
||||
|
"engines": { |
||||
|
"HBuilderX": "" |
||||
|
}, |
||||
|
"directories": { |
||||
|
"example": "../../temps/example_temps" |
||||
|
}, |
||||
|
"dcloudext": { |
||||
|
"category": [ |
||||
|
"前端组件", |
||||
|
"通用组件" |
||||
|
], |
||||
|
"sale": { |
||||
|
"regular": { |
||||
|
"price": "0.00" |
||||
|
}, |
||||
|
"sourcecode": { |
||||
|
"price": "0.00" |
||||
|
} |
||||
|
}, |
||||
|
"contact": { |
||||
|
"qq": "" |
||||
|
}, |
||||
|
"declaration": { |
||||
|
"ads": "无", |
||||
|
"data": "无", |
||||
|
"permissions": "无" |
||||
|
}, |
||||
|
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" |
||||
|
}, |
||||
|
"uni_modules": { |
||||
|
"dependencies": ["uni-scss"], |
||||
|
"encrypt": [], |
||||
|
"platforms": { |
||||
|
"cloud": { |
||||
|
"tcb": "y", |
||||
|
"aliyun": "y" |
||||
|
}, |
||||
|
"client": { |
||||
|
"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" |
||||
|
}, |
||||
|
"Vue": { |
||||
|
"vue2": "y", |
||||
|
"vue3": "y" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
|
||||
|
|
||||
|
## NumberBox 数字输入框 |
||||
|
> **组件名:uni-number-box** |
||||
|
> 代码块: `uNumberBox` |
||||
|
|
||||
|
|
||||
|
带加减按钮的数字输入框。 |
||||
|
|
||||
|
### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box) |
||||
|
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 |
||||
|
|
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save