lilei 9 månader sedan
förälder
incheckning
cb586154d5

+ 65 - 14
pagesA/digitalShelf/choosePart.vue

@@ -114,7 +114,7 @@
 					</view>
 				</view>
 				<div>
-					<button class="submitBtn" type="primary" :loading="saveLoading" @click="submitForm">确认拿货</button>
+					<button class="submitBtn" type="warn" size="mini" :loading="saveLoading" @click="submitForm">确认拿货</button>
 				</div>
 			</view>
 			<view :style="{height:safeAreaBottom+'px'}"></view>
@@ -161,7 +161,12 @@
 											<text class="item-price" :style="{color:!item.cost?'#666':''}" v-if="showCostPrice">{{item.cost?'¥'+item.cost:'暂无价格'}}</text>
 										</view>
 										<view class="item-detail-text">
-											<uni-number-box @change="e=>updateCartNums({value:e,index:'cart_'+item.productSn})" v-model="item.qty" :index="'cart_'+item.productSn" :min="0" :max="item.currentInven||999999"></uni-number-box>
+											<view class="flex align_center qty-box">
+												<view class="qty-btn" @click="updateCartNums(item.qty-1,'cart_'+item.productSn,item.currentInven||999999,1)" :class="(item.qty <= 0)?'qty-disabled':''">-</view>
+												<view class="qty-num"><input type="number" @blur="e=>updateCartNums(Number(e.detail.value),'cart_'+item.productSn,item.currentInven||999999,0)" :value="item.qty"/></view>
+												<view class="qty-btn" @click="updateCartNums(item.qty+1,'cart_'+item.productSn,item.currentInven||999999,1)" :class="(item.qty >= (item.currentInven||999999))?'qty-disabled':''">+</view>
+											</view>
+											<!-- <uni-number-box @change="e=>updateCartNums({value:e,index:'cart_'+item.productSn})" v-model="item.qty" :index="'cart_'+item.productSn" :min="0" :max="item.currentInven||999999"></uni-number-box> -->
 										</view>
 									</view>
 								</view>
@@ -175,17 +180,17 @@
 		<!-- 去认证 -->
 		<uni-popup ref="showPopup" type="center" :is-mask-click="false">
 			<view class="popu-modal">
-				<view class="popu-close" @click="$refs.showPopup.close()"><uni-icons type="closeempty" size="26"></uni-icons></view>
+				<view class="popu-close" @click="$refs.showPopup.close()"><uni-icons type="closeempty" size="28"></uni-icons></view>
 				<image width="533" height="415" style="width: 533rpx;height: 415rpx;" src="/static/authimg.jpg"></image>
 				<view style="padding-top:1rem;" class="flex justify_center">
-					<button @click="toAuthStore()" shape="circle" :style="{background:'#066cff',color:'#fff',width:'350rpx'}">开始认证</button>
+					<button @click="toAuthStore()" type="primary" :style="{background:'#066cff',color:'#fff',width:'350rpx',borderRadius:'100px'}">开始认证</button>
 				</view>
 			</view>
 		</uni-popup>
 		<!-- 价格查看 -->
 		<uni-popup ref="showPriceModal" type="center">
 			<view class="show-price-modal popu-modal" v-if="tempData">
-				<view class="popu-close" @click="$refs.showPriceModal.close()"><uni-icons type="closeempty" size="26"></uni-icons></view>
+				<view class="popu-close" @click="$refs.showPriceModal.close()"><uni-icons type="closeempty" size="28"></uni-icons></view>
 				<view class="itemlist">
 					<text>产品编码</text>
 					<text>{{tempData.code||'--'}}</text>
@@ -599,32 +604,49 @@
 					// 更新数量
 					this.partListData[index].qty = data.value
 					this.partListData.splice()
+					// 更新页面数据
+					this.updateListData(data.index,type,data.value,true)
 				}
 			},
 			// 修改适配配件上数量
 			updateVinNums(data){
+				console.log(data)
 				this.updatePartList(data,'vinPartList')
 			},
 			// 修改其它配件上的数量
 			updateNums(data){
+				console.log(data)
 				this.updatePartList(data,'partList')
 			},
 			// 点击购物车修改数量
-			updateCartNums(data){
-				console.log(data)
-				if(!data.value){
-					const index = this.partListData.findIndex(item => 'cart_'+item.productSn == data.index)
+			updateCartNums(value,sn,max,type){
+				if(!value){
+					// 删除
+					const index = this.partListData.findIndex(item => 'cart_'+item.productSn == sn)
 					if(index>=0){
 						this.partListData.splice(index,1)
 					}
 					if(this.partListData.length==0){
 						this.showCart = false
 					}
+				}else{
+					const row = this.partListData.find(item => 'cart_'+item.productSn == sn)
+					const v = value > max ? max : value
+					if(value > max && type == 0){
+						if(row){
+							row.qty = value
+							this.$nextTick(()=>{
+								row.qty = v
+							})
+						}
+					}else{
+						row.qty = v
+					}
 				}
 				// 同步更新Vin适配配件列表上的
-				this.updateListData(data.index.split('_')[1],'vinPartList',data.value,!!data.value)
+				this.updateListData(sn.split('_')[1],'vinPartList',value,!!value)
 				// 同步更新其它配件列表上的
-				this.updateListData(data.index.split('_')[1],'partList',data.value,!!data.value)
+				this.updateListData(sn.split('_')[1],'partList',value,!!value)
 			},
 			// 打开购物车
 			openCart(){
@@ -889,9 +911,9 @@
 				height: 50px;
 				align-items: center;
 				.submitBtn{
-					background-color: #FB1E1E;
-					font-size: 28rpx;
-					border-radius: 100px;
+					width: 140rpx;
+					border-radius: 100rpx;
+					height: 36px;
 				}
 			}
 		}
@@ -935,6 +957,35 @@
 			font-size: 36rpx;
 			border-bottom: 1px solid #eee;
 		}
+		.qty-box{
+			display: flex;
+			.qty-btn{
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 22px;
+				height: 22px;
+				border-radius: 50px;
+				font-size: 18px;
+				background-color: #066cff;
+				color: #fff;
+				&.qty-disabled{
+					background-color: #c0c0c0;
+				}
+			}
+			.qty-num{
+				width: 25px;
+				height: 22px;
+				line-height: 22px;
+				padding:0 3px;
+				input{
+					width: 100%;
+					height: 100%;
+					text-align: center;
+					color: #333;
+				}
+			}
+		}
 		.cpb_cart-list{
 			flex-grow: 1;
 			.nav-right-item{

+ 55 - 13
pagesA/digitalShelf/components/otherPartItem.vue

@@ -38,17 +38,25 @@
 							</view>
 							<view class="item-detail-text flex align_center" v-if="item.currentInven">
 								<view 
-								class="addbtn flex align_center justify_center"
+								class="qty-btn flex align_center justify_center"
 								@click="addPart(item)" 
 								v-if="!item.checked"
-								>
-									<uni-icons type="plusempty" color="#fff" size="18"></uni-icons>
+								>+</view>
+								<view class="flex align_center qty-box" v-else>
+									<view class="qty-btn" @click="changeQty(item.qty-1,item,1)" :class="(item.qty <= 0)?'qty-disabled':''">-</view>
+									<view class="qty-num"><input type="number" @blur="e=>changeQty(Number(e.detail.value),item,0)" v-model="item.qty"/></view>
+									<view class="qty-btn" @click="changeQty(item.qty+1,item,1)" :class="(item.qty >= item.currentInven)?'qty-disabled':''">+</view>
 								</view>
-								<uni-number-box v-else :hideInput="true" @change="e=>updateNums(e,item.productSn)" v-model="item.qty" :min="0" :max="item.currentInven"></uni-number-box>
+								<!-- <uni-number-box v-else :hideInput="true" @change="e=>updateNums(e,item.productSn)" v-model="item.qty" :min="0" :max="item.currentInven"></uni-number-box> -->
 							</view>
 							<view class="item-detail-text flex align_center" v-else>
 								<text @click="addPart(item)" v-if="!item.checked" class="phtxt">我要急送</text>
-								<uni-number-box v-else :hideInput="true" @change="e=>updateNums(e,item.productSn)" v-model="item.qty" :min="0"></uni-number-box>
+								<view class="flex align_center qty-box" v-else>
+									<view class="qty-btn" @click="changeQty(item.qty-1,item,1)" :class="(item.qty <= 0)?'qty-disabled':''">-</view>
+									<view class="qty-num"><input type="number" @blur="e=>changeQty(Number(e.detail.value),item,0)" v-model="item.qty"/></view>
+									<view class="qty-btn" @click="changeQty(item.qty+1,item,1)" :class="(item.qty >= 999999)?'qty-disabled':''">+</view>
+								</view>
+								<!-- <uni-number-box v-else :hideInput="true" @change="e=>updateNums(e,item.productSn)" v-model="item.qty" :min="0"></uni-number-box> -->
 							</view>
 						</view>
 					</view>
@@ -104,6 +112,18 @@
 			addPart(item) {
 				this.$emit('addPart', item, 'other')
 			},
+			changeQty(value,item,type) {
+				const max = item.currentInven || 999999
+				const v = value > max ? max : value
+				if(value > max && type == 0){
+					this.updateNums(value,item.productSn)
+					this.$nextTick(()=>{
+						this.updateNums(v,item.productSn)
+					})
+				}else{
+					this.updateNums(v,item.productSn)
+				}
+			},
 			updateNums(value, id) {
 				this.$emit('updateNums', {
 					value: value,
@@ -117,9 +137,37 @@
 	}
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 	@import '/flex.css';
-
+	.qty-box{
+		display: flex;
+		.qty-num{
+			width: 25px;
+			height: 22px;
+			line-height: 22px;
+			padding:0 3px;
+			input{
+				width: 100%;
+				height: 100%;
+				text-align: center;
+				color: #333;
+			}
+		}
+	}
+	.qty-btn{
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 22px;
+		height: 22px;
+		border-radius: 50px;
+		font-size: 18px;
+		background-color: #066cff;
+		color: #fff;
+		&.qty-disabled{
+			background-color: #c0c0c0;
+		}
+	}
 	.nav-right-item {
 		padding: 15upx 25upx;
 		border-bottom: 2rpx solid #f5f5f5;
@@ -169,12 +217,6 @@
 
 						.item-detail-text {
 							color: #999;
-							.addbtn{
-								width:44rpx;
-								height:44rpx;
-								background:#066cff;
-								border-radius:50px;
-							}
 
 							.phtxt {
 								color: #0485F6;

+ 60 - 14
pagesA/digitalShelf/components/vinPartItem.vue

@@ -42,17 +42,25 @@
 							</view>
 							<view class="item-detail-text" v-if="item.currentInven">
 								<view
-								class="addbtn flex align_center justify_center"
+								class="qty-btn flex align_center justify_center"
 								@click="addPart(item)" 
 								v-if="!item.checked"
-								>
-									<uni-icons type="plusempty" color="#fff" size="18"></uni-icons>
+								>+</view>
+								<view class="flex align_center qty-box" v-else>
+									<view class="qty-btn" @click="changeQty(item.qty-1,item,1)" :class="(item.qty <= 0)?'qty-disabled':''">-</view>
+									<view class="qty-num"><input type="number" @blur="e=>changeQty(Number(e.detail.value),item,0)" :value="item.qty"/></view>
+									<view class="qty-btn" @click="changeQty(item.qty+1,item,1)" :class="(item.qty >= item.currentInven)?'qty-disabled':''">+</view>
 								</view>
-								<uni-number-box v-else :hideInput="true" @change="e=>updateVinNums(e,item.productSn)" v-model="item.qty" :min="0" :max="item.currentInven"></uni-number-box>
+								<!-- <uni-number-box v-else :hideInput="true" @change="e=>updateVinNums(e,item.productSn)" v-model="item.qty" :min="0" :max="item.currentInven"></uni-number-box> -->
 							</view>
 							<view class="item-detail-text" v-if="item.affiliation=='NON_SHELF'||!item.currentInven">
 								<text v-if="!item.checked" @click="addPart(item)" class="phtxt">我要急送</text>
-								<uni-number-box v-else :hideInput="true" @change="e=>updateVinNums(e,item.productSn)" v-model="item.qty" :min="0"></uni-number-box>
+								<view class="flex align_center qty-box" v-else>
+									<view class="qty-btn" @click="changeQty(item.qty-1,item,1)" :class="(item.qty <= 0)?'qty-disabled':''">-</view>
+									<view class="qty-num"><input type="number" @blur="e=>changeQty(Number(e.detail.value),item,0)" :value="item.qty"/></view>
+									<view class="qty-btn" @click="changeQty(item.qty+1,item,1)" :class="(item.qty >= 999999)?'qty-disabled':''">+</view>
+								</view>
+								<!-- <uni-number-box v-else :hideInput="true" @change="e=>updateVinNums(e,item.productSn)" v-model="item.qty" :min="0"></uni-number-box> -->
 							</view>
 						</view>
 					</view>
@@ -115,8 +123,23 @@
 			addPart(item) {
 				this.$emit('addPart', item, 'vin')
 			},
-			updateVinNums(value,id) {
-				this.$emit('updateVinNums', {value:value,index:id})
+			changeQty(value,item,type) {
+				const max = item.currentInven || 999999
+				const v = value > max ? max : value
+				if(value > max && type == 0){
+					this.updateNums(value,item.productSn)
+					this.$nextTick(()=>{
+						this.updateNums(v,item.productSn)
+					})
+				}else{
+					this.updateNums(v,item.productSn)
+				}
+			},
+			updateNums(value, id) {
+				this.$emit('updateVinNums', {
+					value: value,
+					index: id
+				})
 			},
 			viewImg(item){
 				this.$emit('viewImg',item)
@@ -125,8 +148,37 @@
 	}
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 	@import '/flex.css';
+	.qty-box{
+		display: flex;
+		.qty-num{
+			width: 25px;
+			height: 22px;
+			line-height: 22px;
+			padding:0 3px;
+			input{
+				width: 100%;
+				height: 100%;
+				text-align: center;
+				color: #333;
+			}
+		}
+	}
+	.qty-btn{
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 22px;
+		height: 22px;
+		border-radius: 50px;
+		font-size: 18px;
+		background-color: #066cff;
+		color: #fff;
+		&.qty-disabled{
+			background-color: #c0c0c0;
+		}
+	}
 	.nav-right-item{
 		padding: 15upx 25upx;
 		border-bottom: 2rpx solid #f5f5f5;
@@ -167,12 +219,6 @@
 						align-items: center;
 						.item-detail-text{
 							color: #999;
-							.addbtn{
-								width:44rpx;
-								height:44rpx;
-								background:#066cff;
-								border-radius:50px;
-							}
 							.phtxt{
 								color: #0485F6;
 								font-size: 28upx;

+ 7 - 2
pagesB/cart/index.vue

@@ -72,8 +72,8 @@
 								<text>清空购物车</text>
 							</view>
 							<view class="cart-footer-right-button">
-								<u-button v-if="!editFlag" type="error" shape="circle" @click="settlement">去结算</u-button>
-								<u-button v-else type="error" plain style="border:none;" shape="circle" @click="batchRemove">删除</u-button>
+								<button class="btns" v-if="!editFlag" type="warn" size="mini" @click="settlement">去结算</button>
+								<button v-else class="btns" type="warn" plain size="mini" @click="batchRemove">删除</button>
 							</view>
 						</view>
 					</view>
@@ -499,6 +499,11 @@
 					align-items: center;
 					margin-left: 20rpx;
 					text-align: right;
+					.btns{
+						width: 120rpx;
+						border-radius: 100rpx;
+						height: 36px;
+					}
 				}
 			}
 		}

+ 5 - 5
pagesB/cart/productitem.vue

@@ -22,11 +22,10 @@
 						<view class="price-txt">¥<text>{{item.cost}}</text></view>
 						<view>
 							<view :style="{opacity:!item.edit?1:0,width:!item.edit?'auto':0}">
-								<!-- <uni-number-box v-model="item.qty" :min="1" :max="999999" @change="v=>{changeQty(v,item.id)}"></uni-number-box> -->
 								<view class="flex align_center qty-box">
-									<view class="qty-btn" @click="changeQty(item.qty-1,item.id)" :class="(item.qty <= 1)?'qty-disabled':''">-</view>
-									<view class="qty-num"><input v-model="item.qty"/></view>
-									<view class="qty-btn" @click="changeQty(item.qty+1,item.id)" :class="(item.qty >= 999999)?'qty-disabled':''">+</view>
+									<view class="qty-btn" @click="changeQty(item.qty-1,item.id,1)" :class="(item.qty <= 1)?'qty-disabled':''">-</view>
+									<view class="qty-num"><input type="number" @blur="changeQty(item.qty,item.id,0)" v-model="item.qty"/></view>
+									<view class="qty-btn" @click="changeQty(item.qty+1,item.id,1)" :class="(item.qty >= 999999)?'qty-disabled':''">+</view>
 								</view>
 							</view>
 							<view v-if="item.edit" class="edit-qty">
@@ -85,7 +84,7 @@
 			width: 22px;
 			height: 22px;
 			border-radius: 50px;
-			font-size: 14px;
+			font-size: 18px;
 			background-color: #066cff;
 			color: #fff;
 			&.qty-disabled{
@@ -101,6 +100,7 @@
 				width: 100%;
 				height: 100%;
 				text-align: center;
+				color: #333;
 			}
 		}
 	}

+ 0 - 4
pagesB/components/chooseProductItemSkline.vue

@@ -33,12 +33,8 @@
 </template>
 
 <script>
-	import uniNumberBox from '@/components/uni-number-box/uni-number-box.vue'
 	export default {
 		name: 'chooseProductItemSkline',
-		components: {
-			uniNumberBox
-		},
 		props: {
 			index: {
 				type: Number,

+ 39 - 0
uni_modules/uni-number-box/changelog.md

@@ -0,0 +1,39 @@
+## 1.2.8(2024-04-26)
+- 修复 在vue2下H5黑边的bug
+## 1.2.7(2024-04-26)
+- 修复 在vue2手动输入后失焦导致清空数值的严重bug
+## 1.2.6(2024-02-22)
+- 新增 设置宽度属性width(单位:px)
+## 1.2.5(2024-02-21)
+- 修复 step步长小于1时,键盘类型为number的bug
+## 1.2.4(2024-02-02)
+- 修复 加减号垂直位置偏移样式问题
+## 1.2.3(2023-05-23)
+- 更新示例工程
+## 1.2.2(2023-05-08)
+- 修复 change 事件执行顺序错误的问题
+## 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 端

+ 18 - 36
components/uni-number-box/uni-number-box.vue → uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue

@@ -1,17 +1,12 @@
 <template>
 	<view class="uni-numbox">
-		<view @click="_calcValue('minus')" class="uni-numbox__minus uni-numbox-btns">
-			<!-- <text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue <= min || disabled }"
-				:style="{color}">-</text> -->
-			<uni-icons type="minus-filled" class="uni-numbox--text" size="24" :color="(inputValue <= min || disabled)?'#c0c0c0':btnBg"></uni-icons>
+		<view @click="_calcValue('minus')" class="uni-numbox__minus uni-numbox-btns" :class="{ 'uni-numbox--disabled': inputValue <= min || disabled }">
+			<text class="uni-numbox--text">-</text>
 		</view>
-		<input v-if="!hideInput" :disabled="disabled" @focus="_onFocus" @blur="_onBlur" class="uni-numbox__value"
+		<input :disabled="disabled" @focus="_onFocus" @blur="_onBlur" class="uni-numbox__value"
 			:type="step<1?'digit':'number'" v-model="inputValue" :style="{background, color, width:widthWithPx}" />
-		<view class="uni-numbox-read__value" v-else>{{inputValue}}</view>
-		<view @click="_calcValue('plus')" class="uni-numbox__plus uni-numbox-btns">
-			<!-- <text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue >= max || disabled }"
-				:style="{color}">+</text> -->
-			<uni-icons type="plus-filled" class="uni-numbox--text" size="24" :color="(inputValue >= max || disabled)?'#c0c0c0':btnBg"></uni-icons>
+		<view @click="_calcValue('plus')" class="uni-numbox__plus uni-numbox-btns" :class="{ 'uni-numbox--disabled': inputValue >= max || disabled }">
+			<text class="uni-numbox--text">+</text>
 		</view>
 	</view>
 </template>
@@ -72,14 +67,6 @@
 			width: {
 				type: Number,
 				default: 40,
-			},
-			hideInput:{
-				type:Boolean,
-				default:false
-			},
-			btnBg:{
-				type: String,
-				default: '#066cff'
 			}
 		},
 		data() {
@@ -144,7 +131,6 @@
 				this.$emit("change", +this.inputValue);
 			},
 			_getDecimalScale() {
-
 				let scale = 1;
 				// 浮点型
 				if (~~this.step !== this.step) {
@@ -178,8 +164,8 @@
 	};
 </script>
 <style lang="scss">
-	$box-height: 26px;
-	$bg: #f5f5f5;
+	$box-height: 22px;
+	$bg: #066cff;
 	$br: 2px;
 	$color: #333;
 
@@ -194,12 +180,13 @@
 		/* #ifndef APP-NVUE */
 		display: flex;
 		/* #endif */
+		width: $box-height;
+		height: $box-height;
 		flex-direction: row;
 		align-items: center;
 		justify-content: center;
-		width: $box-height;
-		height: $box-height;
-		line-height: $box-height;
+		background-color: $bg;
+		border-radius: 50px;
 		/* #ifdef H5 */
 		cursor: pointer;
 		/* #endif */
@@ -208,17 +195,8 @@
 	.uni-numbox__value {
 		margin: 0 2px;
 		background-color: $bg;
-		width: 40px;
-		height: $box-height;
-		text-align: center;
-		font-size: 14px;
-		border-width: 0;
-		color: $color;
-	}
-	.uni-numbox-read__value{
-		margin: 0 5px;
+		width: 30px;
 		height: $box-height;
-		line-height: $box-height;
 		text-align: center;
 		font-size: 14px;
 		border-width: 0;
@@ -227,11 +205,15 @@
 
 	.uni-numbox--text {
 		// fix nvue
-		color: #2196f3;
+		line-height: 20px;
+		margin-bottom: 2px;
+		font-size: 20px;
+		font-weight: 300;
+		color: #fff;
 	}
 
 	.uni-numbox .uni-numbox--disabled {
-		color: #c0c0c0 !important;
+		background-color: #c0c0c0 !important;
 		/* #ifdef H5 */
 		cursor: not-allowed;
 		/* #endif */

+ 83 - 0
uni_modules/uni-number-box/package.json

@@ -0,0 +1,83 @@
+{
+  "id": "uni-number-box",
+  "displayName": "uni-number-box 数字输入框",
+  "version": "1.2.8",
+  "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "数字输入框"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+    "type": "component-vue"
+  },
+  "uni_modules": {
+    "dependencies": ["uni-scss"],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y",
+        "alipay": "n"
+      },
+      "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"
+        }
+      }
+    }
+  }
+}

+ 13 - 0
uni_modules/uni-number-box/readme.md

@@ -0,0 +1,13 @@
+
+
+## NumberBox 数字输入框
+> **组件名:uni-number-box**
+> 代码块: `uNumberBox`
+
+
+带加减按钮的数字输入框。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 
+
+