shish 4 سال پیش
والد
کامیت
847ba1f044

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
ghsPad/dist/dev/app-plus/app-config-service.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
ghsPad/dist/dev/app-plus/manifest.json


+ 1 - 1
ghsPad/src/admin/billing/affirm.vue

@@ -47,7 +47,7 @@
           </view>
         </view>
 
-        <modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+        <modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" >
           <template slot="customContent">
             <view class="select-cmd_bx" v-if="customData">
               <view class="kc"><text class="unit_price">库存 {{ parseFloat(customData.stock) }}</text><text class="unit_price"> 单价 {{ parseFloat(customData.price) }}</text>1扎={{customData.ratio}}支</view>

+ 1 - 1
ghsPad/src/admin/billing/index.vue

@@ -56,7 +56,7 @@
 
 		</view>
 
-		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" >
 			<template slot="customContent">
 				<view class="select-cmd_bx" v-if="customData">
 					<view class="kc"><text class="unit_price">库存 {{ parseFloat(customData.stock) }}</text><text class="unit_price"> 单价 {{ parseFloat(customData.price) }}</text>1扎={{customData.ratio}}支</view>

+ 1 - 1
ghsPad/src/admin/breakage/index.vue

@@ -46,7 +46,7 @@
 
 		</view>
 		
-		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" >
 			<template slot="customContent">
 				<view class="select-cmd_bx" v-if="customData">
 					<view class="kc"><text class="unit_price">库存 {{ customData.stock }}</text></view>

+ 12 - 12
ghsPad/src/admin/home/components/select-settle.vue

@@ -190,27 +190,27 @@ export default {
     height: 90vh;
     .select-left {
         flex: 1;
-        padding: 10rpx;
+        padding: 10upx;
         & .select-item_box {
             & > .title {
-                font-size: 12rpx;
+                font-size: 12upx;
             }
             & .item-list_box {
                     display: flex;
                     align-items: center;
                     justify-content: flex-start;
                     flex-wrap: wrap;
-                    padding: 8rpx 0;
+                    padding: 8upx 0;
                     & > view {
-                        width: 85rpx;
-                        height: 30rpx;
+                        width: 85upx;
+                        height: 30upx;
                         text-align: center;
-                        line-height: 30rpx;
-                        font-size: 12rpx;
+                        line-height: 30upx;
+                        font-size: 12upx;
                         border: 1px solid #eee;
-                        margin: 0 5rpx 5rpx 0;
+                        margin: 0 5upx 5upx 0;
                         color: #333333;
-                        border-radius: 3rpx;
+                        border-radius: 3upx;
                         &.active {
                             background-color: #468c71;
                             color: #ffffff;
@@ -225,13 +225,13 @@ export default {
     }
     .select-right {
         flex: 1;
-        padding: 10rpx;
+        padding: 10upx;
         display: flex;
         flex-direction: column;
         & .shop-distoracn {
             text-align: right;
-            font-size: 14rpx;
-            margin-top: 10rpx;
+            font-size: 14upx;
+            margin-top: 10upx;
             color: #008000;
         }
     }

+ 33 - 56
ghsPad/src/admin/home/components/select-user.vue

@@ -2,47 +2,23 @@
   <view class="app-select_user">
     <view class="title">客户列表</view>
     <view class="app-userList_box">
-      <view
-							:key="item.id"
-							@click="selectUser(item)"
-							class="userList-item_box" v-for="item in list">
+      <view :key="item.id" @click="selectUser(item)" class="userList-item_box" v-for="item in list">
         <view class="head-box">
-          <image
-            class="img"
-            :src="item.avatar"
-            mode=""
-          ></image>
+          <image class="img" :src="item.avatar" mode="" ></image>
           <view class="name">{{item.name}}</view>
         </view>
         <view class="footer-box">
-          <view> {{item.updateTime}} </view>
-          <view>欠{{item.debtAmount}}</view>
+          <view> {{item.updateTime.substr(5,11)}} </view>
+          <!-- <view>欠{{parseFloat(item.debtAmount)}}</view> -->
         </view>
       </view>
     </view>
-	<input
-		disabled
-		class="input-serach_box"
-		v-model="searchUser"
-		type="text"
-		@change="changSearch"
-		placeholder-class="input-placeholder"
-		placeholder="搜索客户"/>
-	 <view class="keyboard-body_box">
-
-		<VKeyboard
-		ref="keyboard"
-		:pointIsShow="false"
-		:digital="false"
-		:disorderly="false"
-		@typing="typing"
-		@enter="enter"
-		>
-		</VKeyboard>
-	</view>
+    <input disabled class="input-serach_box" v-model="searchUser" type="text" @change="changSearch" placeholder-class="input-placeholder" placeholder="搜索客户"/>
+    <view class="keyboard-body_box">
+      <VKeyboard ref="keyboard" :pointIsShow="false" :digital="false" :disorderly="false" @typing="typing" @enter="enter" > </VKeyboard>
+    </view>
   </view>
 </template>
-
 <script>
 import VKeyboard from "@/components/plugin/vKeyboard/VKeyboard.vue";
 import { customList } from '@/api/home/index'
@@ -100,48 +76,49 @@ export default {
 <style lang="scss">
 .app-select_user {
   background-color: #ffffff;
-  padding: 5rpx;
+  padding: 5upx;
   height: 90vh;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   & .title {
-    font-size: 14rpx;
-    color: #666666;
+    font-size: 12upx;
+    color: #CCCCCC;
   }
   & .app-userList_box {
-    padding: 5rpx;
+    padding: 5upx;
     display: flex;
     // align-items: center;
     flex-wrap: wrap;
-				min-height: 140rpx;
-				overflow-y: scroll;
+    min-height: 130upx;
+    overflow-y: scroll;
     & .userList-item_box {
-      margin: 0 5rpx 5rpx 0;
-      width: 130rpx;
-      height: 60rpx;
+      margin: 0 5upx 5upx 0;
+      width: 90upx;
+      height: 55upx;
       border: 1px solid #333;
-      padding: 3rpx;
-      border-radius: 3rpx;
+      padding: 3upx;
+      border-radius: 3upx;
       display: flex;
       flex-direction: column;
       justify-content: center;
       & .head-box {
         display: flex;
-        font-size: 12rpx;
+        font-size: 12upx;
         align-items: center;
-        margin-bottom: 10rpxs;
+        margin-bottom: 10upxs;
         & .name {
-          padding-left: 5rpx;
+          padding-left: 5upx;
         }
         & > .img {
-          width: 30rpx;
-          height: 30rpx;
+          width: 20upx;
+          height: 20upx;
           border-radius: 50%;
         }
       }
       & .footer-box {
-        font-size: 12rpx;
+        font-size: 12upx;
+        color:#cccccc;
         display: flex;
         justify-content: space-between;
         align-items: center;
@@ -149,19 +126,19 @@ export default {
     }
   }
   & .keyboard-body_box {
-			flex: 1;
+		flex: 1;
 	  overflow: hidden;
   }
   & .input-serach_box {
-	  font-size: 20rpx;
-	  line-height: 28rpx;
+	  font-size: 20upx;
+	  line-height: 28upx;
 	  text-align: center;
-	  height: 28rpx;
-
+	  height: 28upx;
+    color:#CCCCCC;
   }
   & .input-placeholder {
-		font-size: 18rpx!important;
-		color: #333!important;
+		font-size: 18upx!important;
+		color: #CCCCCC!important;
 	}
 }
 </style>

+ 142 - 140
ghsPad/src/admin/home/components/shopTypeSelect.vue

@@ -18,157 +18,159 @@
     </view>
 </template>
 <script>
-    import uniPopup from '@/components/uni-popup'
-    import selectSettle from './select-settle.vue'
-    import keyboardSetFlower from '@/components/app-boardSet-flower.vue'
-    import { showClass,showList } from '@/api/home/index'
-    export default {
-        name:'shopTypeSelect',
-        components:{
-            uniPopup,
-            selectSettle,
-            keyboardSetFlower
-        },
-        data(){
-            return {
-                shopListType:[],
-                selectTypeId: '',
-                arrShop:[],
-                currenTypeShopList:[],
-                isShowSettle: false,
-                selectItem:{}
+import uniPopup from '@/components/uni-popup'
+import selectSettle from './select-settle.vue'
+import keyboardSetFlower from '@/components/app-boardSet-flower.vue'
+import { showClass,showList } from '@/api/home/index'
+export default {
+    name:'shopTypeSelect',
+    components:{
+        uniPopup,
+        selectSettle,
+        keyboardSetFlower
+    },
+    data(){
+        return {
+            shopListType:[],
+            selectTypeId: '',
+            arrShop:[],
+            currenTypeShopList:[],
+            isShowSettle: false,
+            selectItem:{}
+        }
+    },
+    created(){
+        this.init()
+    },
+    watch:{
+            selectItem(){
+                console.log(3333,this.selectItem)
             }
-        },
-        created(){
-            this.init()
-        },
-        watch:{
-                selectItem(){
-                    console.log(3333,this.selectItem)
-                }
-        },
-        methods:{
-           async init(){
-               try {
+    },
+    methods:{
+        async init(){
+            try {
                 let { data } =  await showClass()
                 this.shopListType = data
                 this.selectTypeId = this.shopListType[0].id
                 this.getShowList()
-               }catch(err){
-               }
-            },
-           async getShowList(){
-               try {
+            }catch(err){
+            }
+        },
+        async getShowList(){
+            try {
                 let { data:{list} } =  await showList({})
                 this.arrShop = list
                 this.updateCurrentShop()
-               }catch(err){
-               }
-            },
-            updateCurrentShop(){
-              this.currenTypeShopList = this.arrShop[this.selectTypeId]
-            },
-            changeType(item){
-                if(item.id === this.selectTypeId) return false
-                this.selectTypeId = item.id
-                this.updateCurrentShop()
-            },
-            selectItemChange(item){
-			    this.$emit('selectItemChange',item)
-            },
-            settle(){
-                this.isShowSettle = true
+            }catch(err){
+            }
+        },
+        updateCurrentShop(){
+            this.currenTypeShopList = this.arrShop[this.selectTypeId]
+        },
+        changeType(item){
+            if(item.id === this.selectTypeId){
+                return false
             }
+            this.selectTypeId = item.id
+            this.updateCurrentShop()
+        },
+        selectItemChange(item){
+            this.$emit('selectItemChange',item)
+        },
+        settle(){
+            this.isShowSettle = true
         }
     }
+}
 </script>
-
 <style lang="scss" scoped>
-    .shop-listType_box {
-			height: 100%;
-			border: 1px solid #eee;
-			display: flex;
-			flex-direction: column;
-            box-sizing: border-box;
-			& .shop-type_box {
-				max-height: 300rpx;
-				display: flex;
-				align-items: center;
-                flex-wrap: wrap;
-                overflow-y: scroll;
-				& > view {
-					border:1px solid #e4e4e4;
-					padding: 12rpx 0rpx;
-					font-size: 15px;
-                    min-width: 75rpx;
-                    text-align: center;
-					&.active {
-						background-color: #428369;
-						color: #ffffff;
-					}
-				}
-			}
-			& .shop-show_box {
-				flex: 1;
-				padding: 5rpx;
-				display: flex;
-				flex-wrap: wrap;
-                overflow-y: scroll;
-                overflow-x: hidden;
-				& .show-shop_box {
-					position: relative;
-					width: 18%;
-                    margin-right: 8upx;
-                    margin-bottom: 6upx;
-					height: 70rpx;
-					& .img {
-						height: 100%;
-					}
-					.shop-info_price {
-						position: absolute;
-						background-color: rgba(0, 0, 0, 0.5);
-						bottom: 0;
-						width: 100%;
-						font-size: 12rpx;
-						color: #ffffff;
-						& > view {
-                            font-size: 12rpx;
-                            & > view:nth-child(1) {
-                                overflow: hidden;
-                                text-overflow:ellipsis;
-                                white-space: nowrap;
-                                width:90%;
-							}
-							& > view:nth-child(2) {
-								font-size:10upx;
-							}
-						}
-					}
-				}
-			}
-			& .shop-footer_box {
-				height: 40rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				& > view {
-					height: 40rpx;
-					padding: 5rpx 25rpx;
-					border-radius: 5rpx;
-					font-size: 14rpx;
-					margin: 0 10rpx;
-					vertical-align: middle;
-					display: flex;
-					align-items: center;
-					&.btn-breakage {
-						background-color: #da9f5a;
-						color: #ffffff;
-					}
-					&.btn-account {
-						background-color: #009966;
-						color: #ffffff;
-					}
-				}
-			}
-		}
+.shop-listType_box {
+    height: 100%;
+    border: 1px solid #eee;
+    display: flex;
+    flex-direction: column;
+    box-sizing: border-box;
+    & .shop-type_box {
+        max-height: 300upx;
+        display: flex;
+        align-items: center;
+        flex-wrap: wrap;
+        overflow-y: scroll;
+        & > view {
+            border:1px solid #e4e4e4;
+            padding: 12upx 0upx;
+            font-size: 15px;
+            min-width: 75upx;
+            text-align: center;
+            &.active {
+                background-color: #428369;
+                color: #ffffff;
+            }
+        }
+    }
+    & .shop-show_box {
+        flex: 1;
+        padding: 5upx;
+        display: flex;
+        flex-wrap: wrap;
+        overflow-y: scroll;
+        overflow-x: hidden;
+        & .show-shop_box {
+            position: relative;
+            width: 18%;
+            margin-right: 8upx;
+            margin-bottom: 6upx;
+            height: 70upx;
+            & .img {
+                height: 100%;
+            }
+            .shop-info_price {
+                position: absolute;
+                background-color: rgba(0, 0, 0, 0.5);
+                bottom: 0;
+                width: 100%;
+                font-size: 12upx;
+                color: #ffffff;
+                height:25upx;
+                & > view {
+                    font-size: 10upx;
+                    & > view:nth-child(1) {
+                        overflow: hidden;
+                        text-overflow:ellipsis;
+                        white-space: nowrap;
+                        width:90%;
+                    }
+                    & > view:nth-child(2) {
+                        font-size:8upx;
+                    }
+                }
+            }
+        }
+    }
+    & .shop-footer_box {
+        height: 40upx;
+        display: flex;
+        align-items: center;
+        justify-content: flex-end;
+        & > view {
+            height: 40upx;
+            padding: 5upx 25upx;
+            border-radius: 5upx;
+            font-size: 14upx;
+            margin: 0 10upx;
+            vertical-align: middle;
+            display: flex;
+            align-items: center;
+            &.btn-breakage {
+                background-color: #da9f5a;
+                color: #ffffff;
+            }
+            &.btn-account {
+                background-color: #009966;
+                color: #ffffff;
+            }
+        }
+    }
+}
 </style>

+ 28 - 28
ghsPad/src/admin/home/login.vue

@@ -3,17 +3,17 @@
 		<view class="login-model">
 			<view class="experFrame">
 				<view>
-					<view style="text-align:center;margin-bottom:20rpx;">
+					<view style="text-align:center;margin-bottom:20upx;">
 						<image :src="`${constant.imgUrl}/logo3.png`" class="logo" mode="widthFix"></image> 
 					</view>
-					<view style="color:#666666;text-align:center;margin-bottom:10rpx;font-size:20rpx;">销花宝</view>
+					<view style="color:#666666;text-align:center;margin-bottom:10upx;font-size:20upx;">销花宝</view>
 					<view>
 						<input @focus="mobile=''" v-model="mobile" class="experInput" placeholder="手机号" type="number" />
 					</view>
 					<view>
 						<input @focus="password=''" v-model="password" class="experInput" placeholder="密码" type="password" />
 					</view>
-					<view style="margin-top:10rpx;">
+					<view style="margin-top:10upx;">
 						<button class="admin-button-com small blue buttonText" @click="loginFun">登陆</button>
 					</view>
 				</view>
@@ -101,62 +101,62 @@ export default {
   overflow: hidden;
   text-align: center;
   & > .noData_img {
-    width: 100rpx;
-    height: 100rpx;
-    margin: 100rpx auto 0;
+    width: 100upx;
+    height: 100upx;
+    margin: 100upx auto 0;
   }
   & > .no_data_text {
-    font-size: 32rpx;
+    font-size: 32upx;
     color: #ffffff;
     text-align: center;
-    margin: 30rpx 0;
+    margin: 30upx 0;
   }
   & > .freeApply {
-    width: 376rpx;
-    height: 88rpx;
-    line-height: 88rpx;
+    width: 376upx;
+    height: 88upx;
+    line-height: 88upx;
     background: linear-gradient(90deg, #3385ff, #33b0ff);
-    border-radius: 44rpx;
+    border-radius: 44upx;
     margin: 0 auto;
-    font-size: 32rpx;
+    font-size: 32upx;
     color: #ffffff;
     text-align: center;
   }
   &>.experience{
-    margin-top: 20rpx;
+    margin-top: 20upx;
     color: #fff;
-    font-size: 20rpx;
+    font-size: 20upx;
   }
   &>.experFrame{
-      margin-top: 25rpx;
-      height: 0rpx;
+      margin-top: 25upx;
+      height: 0upx;
       .experInput{
-        height: 60rpx;
-        width: 600rpx;
-        margin-bottom:14rpx;
+        height: 60upx;
+        width: 600upx;
+        margin-bottom:14upx;
         display: inline-block;
         vertical-align: middle;
         background-color: #f5f5f5;
         border:none;
         border-bottom: 1px solid #CCCCCC;
         color: #666;
-        padding-left: 20rpx;
+        padding-left: 20upx;
         box-sizing: border-box;
         text-align: left;
       }
       .buttonText{
         display: inline-block;
-        line-height:60rpx;
-        padding: 0 20rpx;
+        line-height:60upx;
+        padding: 0 20upx;
         vertical-align: middle;
-        font-size: 25rpx;
-        width: 600rpx;
-        height:60rpx;
+        font-size: 25upx;
+        width: 600upx;
+        height:60upx;
       }
       .logo{
-        width:100rpx;
+        width:100upx;
         margin:0 auto;
-		border-radius:5rpx;
+		border-radius:5upx;
       }
   }
 }

+ 46 - 50
ghsPad/src/admin/home/workbench.vue

@@ -22,35 +22,28 @@
 				</view>
 			</view>
 			<view class="shopList-footer_box">
-				<view> 数量: <text style="fontWeight:bold"> {{totalShop.bigUnit}}扎 {{totalShop.smallUnit}}支 </text> </view>
-				<view> 合计: <text style="color:red">¥{{totalShop.totalPrice}}</text> </view>
+				<view> 数量
+					<text style="margin-left:5upx;">
+						<text v-if="Number(totalShop.bigUnit)>0">{{totalShop.bigUnit}}扎</text>
+						<text v-if="Number(totalShop.smallUnit)>0">{{totalShop.smallUnit}}支</text>
+					</text>
+				</view>
+				<view> 合计 <text style="margin-left:5upx;">¥{{totalShop.totalPrice}}</text> </view>
 			</view>
 		</view>
 		<view class="open-box">
-			<view @click="selectUser">
-				客户
-			</view>
-			<view @click="deleteShop">
-				删除商品
-			</view>
-			<view @click="clearShop">
-				清空商品
-			</view>
-			<view @click="logout">
-				退出
-			</view>
+			<view @click="logout"> 退出 </view>
+			<view @click="selectUser"> 客户 </view>
+			<view @click="deleteShop"> 删除商品 </view>
+			<view @click="clearShop"> 清空商品 </view>
+			<view @click="breakage"> 报损 </view>
+			<view @click="settle"> 结算 </view>
 		</view>
 		<view class="shop-list">
-			<shopTypeSelect @selectItemChange="selectItemChange">
-				<view slot="footer" class="shop-footer_box">
-					<view @tap="breakage" class="btn-breakage"> 报损 </view>
-					<view @click="settle" class="btn-account"> 结算 </view>
-				</view>
-			</shopTypeSelect>
+			<shopTypeSelect @selectItemChange="selectItemChange"> </shopTypeSelect>
 		</view>
 		<uniPopup :show.sync="isShowUser" type="top" maxHeight="90vh" >
-			<selectUser @selectUser="selectUserReturn">
-			</selectUser>
+			<selectUser @selectUser="selectUserReturn"> </selectUser>
 		</uniPopup>
 		<uniPopup :show.sync="isShowFllowNum" type="top" maxHeight="90vh">
 			<keyboardSetFlower @enterNum="enterReturn" :selectItem.sync="selectItem"></keyboardSetFlower>
@@ -295,16 +288,18 @@ export default {
 		flex: 63;
 		height: 100%;
 		& .shop-footer_box {
-			height: 40rpx;
+			height: 40upx;
 			display: flex;
+			background:red;
+			width:150upx;
 			align-items: center;
 			justify-content: flex-end;
 			& > view {
-				height: 40rpx;
-				padding: 5rpx 25rpx;
-				border-radius: 5rpx;
-				font-size: 14rpx;
-				margin: 0 10rpx;
+				height: 40upx;
+				padding: 5upx 25upx;
+				border-radius: 5upx;
+				font-size: 14upx;
+				margin: 0 10upx;
 				vertical-align: middle;
 				display: flex;
 				align-items: center;
@@ -321,15 +316,13 @@ export default {
 	}
 	& .nav-left {
 		height: 100%;
-		// width: 50rpx;
 		flex: 5;
 		background-color: rgba(72, 91, 107, 1);
-		// #599981
 		& .item-list {
-			margin-top: 50rpx;
-			font-size: 16rpx;
+			margin-top: 30upx;
+			font-size: 16upx;
 			text-align: center;
-			padding: 15rpx 0;
+			padding: 15upx 0;
 			background-color: #599981;
 			color: #FFFFFF;
 		}
@@ -340,19 +333,21 @@ export default {
 		display: flex;
 		flex-direction: column;
 		& .title {
-			padding: 3rpx;
-			font-size: 12rpx;
+			padding: 3upx;
+			font-size: 12upx;
 			background-color: rgba(72, 91, 107, 1);
 			color: #FFFFFF;
 		}
 		& .shopList-item_box {
+			overflow-y: auto;
 			flex: 1;
 			border: 1px solid #eee;
 			& .shop-item_box {
-				padding: 5rpx;
+				padding: 5upx;
 				& .shop-body_box {
-					padding: 5rpx;
-					font-size: 14rpx;
+					border-radius: 3upx;
+					padding: 5upx;
+					font-size: 14upx;
 					&.active {
 						background-color: #b2b4b4;
 					}
@@ -360,7 +355,7 @@ export default {
 						background-color: #e1e4e4;
 					}
 					& .flower-name_box {
-						padding: 0 5rpx;
+						padding: 0 5upx;
 						& .name {
 							color: #333333;
 							font-weight: bold;
@@ -370,15 +365,15 @@ export default {
 						display: flex;
 						align-items: center;
 						justify-content: space-between;
-						padding-top: 15rpx;
+						padding-top: 15upx;
 					}
 				}
 			}
 		}
 		& .shopList-footer_box {
-			height: 50rpx;
+			height: 20upx;
 			border: 1px solid #eee;
-			font-size: 12rpx;
+			font-size: 10upx;
 			display: flex;
 			align-items: center;
 			justify-content: space-around;
@@ -389,20 +384,21 @@ export default {
 		height: 100vh;
 		display: flex;
 		flex-direction: column;
-		padding: 5rpx;
-		padding-top: 10rpx;
+		padding: 5upx;
+		padding-top: 12upx;
 		& > view {
-			border: 1px solid #eee;
+			border: 1upx solid #CCCCCC;
+			border-radius: 5upx;
 			text-align: center;
-			padding: 10rpx 0;
-			color: #333333;
-			margin-bottom: 15rpx;
-			font-size: 14rpx;
+			padding: 10upx 0;
+			color: #666666;
+			margin-bottom: 10upx;
+			font-size: 10upx;
 			text-align: center;
 			&.active {
 				color: #008000;
 				border-color: #008000;
-				border-radius: 2rpx;
+				border-radius: 2upx;
 			}
 		}
 	}

+ 29 - 29
ghsPad/src/admin/item/components/htz-image-upload/htz-image-upload.vue

@@ -511,16 +511,16 @@
 
 	.preview-full-close {
 		position: fixed;
-		right: 32rpx;
-		top: 25rpx;
-		width: 80rpx;
-		height: 80rpx;
-		line-height: 60rpx;
+		right: 32upx;
+		top: 25upx;
+		width: 80upx;
+		height: 80upx;
+		line-height: 60upx;
 		text-align: center;
 		z-index: 1003;
 		/* 	background-color: #808080; */
 		color: #fff;
-		font-size: 65rpx;
+		font-size: 65upx;
 		font-weight: bold;
 		text-shadow: 1px 2px 5px rgb(0 0 0);
 	}
@@ -533,10 +533,10 @@
 		top: 50%;
 		left: 50%;
 		content: '';
-		height: 60rpx;
-		margin-top: -30rpx;
-		width: 6rpx;
-		margin-left: -3rpx;
+		height: 60upx;
+		margin-top: -30upx;
+		width: 6upx;
+		margin-left: -3upx;
 		background-color: #FFFFFF;
 		z-index: 20000;
 	}
@@ -557,23 +557,23 @@
 	}
 
 	.htz-image-upload-Item {
-		width: 160rpx;
-		height: 160rpx;
-		margin: 13rpx;
-		border-radius: 10rpx;
+		width: 160upx;
+		height: 160upx;
+		margin: 13upx;
+		border-radius: 10upx;
 		position: relative;
 	}
 
 	.htz-image-upload-Item image {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 	}
 
 	.htz-image-upload-Item-video {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 		position: relative;
 
 	}
@@ -585,7 +585,7 @@
 		bottom: 0;
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 		z-index: 996;
 
 	}
@@ -593,13 +593,13 @@
 	.htz-image-upload-Item video {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 
 	}
 
 	.htz-image-upload-Item-add {
-		font-size: 105rpx;
-		/* line-height: 160rpx; */
+		font-size: 105upx;
+		/* line-height: 160upx; */
 		text-align: center;
 		border: 1px dashed #d9d9d9;
 		color: #d9d9d9;
@@ -607,11 +607,11 @@
 
 	.htz-image-upload-Item-del {
 		background-color: #f5222d;
-		font-size: 24rpx;
+		font-size: 24upx;
 		position: absolute;
-		width: 35rpx;
-		height: 35rpx;
-		line-height: 35rpx;
+		width: 35upx;
+		height: 35upx;
+		line-height: 35upx;
 		text-align: center;
 		top: 0;
 		right: 0;
@@ -621,19 +621,19 @@
 
 	.htz-image-upload-Item-del-cover {
 		background-color: #f5222d;
-		font-size: 24rpx;
+		font-size: 24upx;
 		position: absolute;
-		width: 35rpx;
-		height: 35rpx;
+		width: 35upx;
+		height: 35upx;
 		text-align: center;
 		top: 0;
 		right: 0;
 		color: #fff;
 		/* #ifdef APP-PLUS */
-		line-height: 25rpx;
+		line-height: 25upx;
 		/* #endif */
 		/* #ifndef APP-PLUS */
-		line-height: 35rpx;
+		line-height: 35upx;
 		/* #endif */
 		z-index: 997;
 

+ 90 - 87
ghsPad/src/components/app-boardSet-flower.vue

@@ -1,8 +1,7 @@
 <template>
     <view class="boardset-flowert">
-         <!-- <textarea @tap="activeKeyboard" disabled :value="input" placeholder="点击调起键盘输入"></textarea> -->
         <view class="flower-input_box">
-            <view class="flower-title">粉佳人</view>
+            <view class="flower-title">{{selectItem.name}}</view>
             <view class="flower-open_box">
                 <view>
                     <view class="desc">数量</view>
@@ -11,7 +10,6 @@
                         <span>{{selectItem.currentUnit}}</span>
                     </div>
                 </view>
-                <image @tap="changeUnit" class="change-unit" src="https://bpic.51yuansu.com/pic3/cover/03/80/68/5c0607c96e49d_610.jpg" mode="scaleToFill"></image>
                 <view>
                     <view class="desc">单价</view>
                     <div class="flower-unit_box">
@@ -19,7 +17,10 @@
                     </div>
                 </view>
             </view>
-            <view class="set-residue_box"> 还剩5扎2支 </view>
+            <view class="set-residue_box">还剩{{parseFloat(selectItem.stock)||0}}{{selectItem.bigUnit}}</view>
+            <view class="switch-button">
+                <image @tap="changeUnit" class="change-unit" :src="`${constant.imgUrl}/icon/switch/switch128.png`"></image>
+            </view>
         </view>
         <view class="keyboard-body_box">
          <VKeyboard ref="keyboard" :pointIsShow="true" :digital="true" :disorderly="false" @typing="typing" @enter="enter"> </VKeyboard>
@@ -27,84 +28,78 @@
     </view>
 </template>
 <script>
-    import VKeyboard from '@/components/plugin/vKeyboard/VKeyboard.vue'
-    // import keyboardModule from '@/components/keyboard.vue'
-    export default {
-        name:'keyboardSetFlower',
-        components:{
-            VKeyboard,
-            // keyboardModule
+import VKeyboard from '@/components/plugin/vKeyboard/VKeyboard.vue'
+export default {
+    name:'keyboardSetFlower',
+    components:{
+        VKeyboard
+    },
+    props:{
+        selectItem:{
+            type:Object,
+            default:()=>{}
+        }
+    },
+    data() {
+        return {
+            keyShow: false,
+            enterType:'currentNum',
+        };
+    },
+    mounted(){
+        this.activeKeyboard()
+    },
+    methods: {
+        focus() {
+        },
+        focusSelect(event){
+            event.currentTarget.select();
+        },
+        changeType(type){
+            this.enterType = type
         },
-        props:{
-            selectItem:{
-                type:Object,
-                default:()=>{}
+        //键盘方法
+        activeKeyboard() {
+            this.$refs.keyboard.activate();
+        },
+        typing(e) {
+            if (e.backspace) {
+                if (this.selectItem[this.enterType].length > 0) {
+                    this.selectItem[this.enterType] = this.selectItem[this.enterType].substring(0, this.selectItem[this.enterType].length - 1);
+                }
+            }else {
+                if(this.selectItem[this.enterType] == 0|| this.$util.isEmpty(this.selectItem[this.enterType])) {
+                    this.selectItem[this.enterType] = e.char
+                }else {
+                    this.selectItem[this.enterType] += e.char;
+                }
             }
+            this.$emit('update:selectItem', this.selectItem)
         },
-        data() {
-            return {
-                    keyShow: false,
-                    enterType:'currentNum',
-            };
-		},
-		mounted(){
-            this.activeKeyboard()
-            // this.focus()
-		},
-		methods: {
-            focus() {
-                // this.$refs.input.focus()
-            },
-            focusSelect(event){
-                event.currentTarget.select();
-            },
-			changeType(type){
-					this.enterType = type
-			},
-			//键盘方法
-			activeKeyboard() {
-				this.$refs.keyboard.activate();
-			},
-			typing(e) {
-				if (e.backspace) {
-					if (this.selectItem[this.enterType].length > 0) {
-						this.selectItem[this.enterType] = this.selectItem[this.enterType].substring(0, this.selectItem[this.enterType].length - 1);
-					}
-				}else {
-								if(this.selectItem[this.enterType] == 0|| this.$util.isEmpty(this.selectItem[this.enterType])) {
-												this.selectItem[this.enterType] = e.char
-								}else {
-												this.selectItem[this.enterType] += e.char;
-								}
-				}
-				this.$emit('update:selectItem', this.selectItem)
-			},
-			enter() {
-				//this.$refs.keyboard.deactivate();
-				if(this.selectItem.currentNum  <= 0) {
-							this.$msg('数量不能为空')
-				}
-				this.$emit('enterNum', this.selectItem)
-
-			},
-			changeUnit(){
-                this.selectItem.unitType = this.selectItem.unitType === 0?1:0
-                this.selectItem.currentUnit = this.selectItem.unitType ===0?this.selectItem.bigUnit:this.selectItem.smallUnit
-                this.selectItem.currentUnitPrice = this.selectItem.unitType ===0?this.selectItem.bigPrice:this.selectItem.smallPrice
-                this.$emit('update:selectItem', this.selectItem)
-			}
-			//键盘方法end
-		}
+        enter() {
+            if(this.selectItem.currentNum  <= 0) {
+                this.$msg('数量不能为空')
+                return
+            }
+            this.$emit('enterNum', this.selectItem)
+        },
+        changeUnit(){
+            this.selectItem.unitType = this.selectItem.unitType === 0?1:0
+            this.selectItem.currentUnit = this.selectItem.unitType ===0?this.selectItem.bigUnit:this.selectItem.smallUnit
+            this.selectItem.currentUnitPrice = this.selectItem.unitType ===0?this.selectItem.bigPrice:this.selectItem.smallPrice
+            this.$emit('update:selectItem', this.selectItem)
+        }
+        //键盘方法end
     }
+}
 </script>
 <style lang="scss" scoped>
 .boardset-flowert {
-    width:60vh;
+    width:70vh;
     background-color: #ffffff;
     margin: 0 auto;
-    border-radius: 5rpx;
-    padding: 10rpx;
-    // overflow: hidden;
+    border-radius: 5upx;
+    padding: 10upx;
     overflow-y: auto;
     display: flex;
     height: 90vh;
@@ -115,39 +110,47 @@
         & .flower-title {
             text-align: center;
             color: #333333;
-            font-size: 14rpx;
+            font-size: 14upx;
         }
         & .set-residue_box {
-            font-size: 14rpx;
-            color: #666666;
-            margin-top: 10rpx;
+            font-size: 14upx;
+            color: #CCCCCC;
+            margin-top: 10upx;
             text-align: left;
         }
     }
     & .flower-open_box {
         display: flex;
         align-items: center;
-        justify-content: center;
+        justify-content: space-between;
         & > view {
+            width:90upx;
             & .desc {
-                font-size: 12rpx;
-                margin-bottom: 8rpx;
+                text-align: center;
+                font-size: 12upx;
+                margin-bottom: 8upx;
+                color:#CCCCCC;
             }
             & .flower-unit_box {
                 display: flex;
+                font-size:15upx;
                 align-items: center;
                 & > input {
                     flex: 1;
-                    height: 40rpx;
-                    font-size: 14rpx;
+                    text-align:center;
+                    height: 40upx;
+                    font-size: 20upx;
                     border-bottom: 1px solid #eee;
                 }
             }
         }
-        & .change-unit {
-            width: 35rpx;
-            height: 35rpx;
-            padding: 0 7rpx;
+    }
+    .switch-button{
+        display: flex;
+        justify-content: center;
+        .change-unit {
+            width: 35upx;
+            height: 35upx;
         }
     }
     & .keyboard-body_box {
@@ -155,4 +158,4 @@
         overflow: hidden;
     }
 }
-</style>
+</style>

+ 18 - 18
ghsPad/src/components/app_input_all.vue

@@ -149,42 +149,42 @@ export default {
         align-items: center;
         justify-content: center;
         box-sizing: content-box;
-        padding-bottom: 0rpx;
+        padding-bottom: 0upx;
         & .line{
             position: absolute;
             width: 100%;
-            height: 1rpx;
+            height: 1upx;
             left: 0;
             bottom: 0;
-            border-bottom: 1rpx solid #ebedf0;
+            border-bottom: 1upx solid #ebedf0;
         }
         .my-input{
             position: relative;
             flex: 1;
             box-sizing: content-box;
             & .text-textarea {
-                min-height: 150rpx;
+                min-height: 150upx;
                 display: inline-block;
                 width: 100%;
-                padding: 20rpx 20rpx 20rpx 10rpx;
+                padding: 20upx 20upx 20upx 10upx;
                 box-sizing: border-box;
             }
            &  input{
-                min-height: 35rpx;
-                padding-left: 10rpx;
-                padding-right: 0rpx;
+                min-height: 35upx;
+                padding-left: 10upx;
+                padding-right: 0upx;
            }
            &.isLink::after{
                 content: "";
                 display: inline-block;
-                width: 15rpx;
-                height: 15rpx;
-                border-width:2rpx 2rpx 0 0;
+                width: 15upx;
+                height: 15upx;
+                border-width:2upx 2upx 0 0;
                 border-color:#C8C8CD;
                 border-style:solid;
                 position: absolute;
                 top: 50%;
-                right: 30rpx;
+                right: 30upx;
                 transform: translate(0,-50%) matrix(0.71, 0.71, -0.71, 0.71, 0, 0);
             }
         }
@@ -194,26 +194,26 @@ export default {
         outline:0;
         background-color:transparent;
         border:0;
-        font-size: 14rpx;
+        font-size: 14upx;
         font-weight: normal;
         font-stretch: normal;
-        letter-spacing: 0rpx;
+        letter-spacing: 0upx;
         color: #4d4d4d;
         display: block;
     }
     .icon-butongguo{
         color: #cccccc;
-        font-size: 14rpx;
+        font-size: 14upx;
         position: absolute;
-        padding: 10rpx 5rpx 10rpx 10rpx;
+        padding: 10upx 5upx 10upx 10upx;
         right: 0;
         top: 50%;
         transform: translate(0,-50%);
     }
     .my-title {
         color: #666;
-        font-size: 14rpx;
-        width: 180rpx;
+        font-size: 14upx;
+        width: 180upx;
 
     }
 </style>

+ 15 - 15
ghsPad/src/components/collect-money.vue

@@ -92,8 +92,8 @@
     .app-collect_money {
         background-color: #ffffff;
         margin: 0 auto;
-        border-radius: 5rpx;
-        padding: 10rpx;
+        border-radius: 5upx;
+        padding: 10upx;
         // overflow: hidden;
         overflow-y: auto;
         display: flex;
@@ -101,18 +101,18 @@
         flex-direction: column;
         box-sizing: border-box;
         & .price-box {
-            min-height: 100rpx;
+            min-height: 100upx;
             & > .title {
                 text-align: center;
-                font-size: 14rpx;
-                padding: 5rpx 0;
+                font-size: 14upx;
+                padding: 5upx 0;
                 
             }
             & > input {
                 text-align: center;
-                line-height: 40rpx;
-                height: 40rpx;
-                font-size: 14rpx;
+                line-height: 40upx;
+                height: 40upx;
+                font-size: 14upx;
             }
         }
         & .keyboard-body_box {
@@ -125,20 +125,20 @@
             justify-content: center;
             flex-direction: column;
             & > .img {
-                width: 100rpx;
-                height: 100rpx;
+                width: 100upx;
+                height: 100upx;
             }
             & .btn-default {
-                height: 40rpx;
-                width: 100rpx;
+                height: 40upx;
+                width: 100upx;
                 text-align: center;
-                line-height: 40rpx;
+                line-height: 40upx;
                 border: 1px solid #eee;
-                font-size: 14rpx;
+                font-size: 14upx;
                 color: #333333;
             }
             & > .result {
-                margin: 30rpx 0;
+                margin: 30upx 0;
             }
         }
     }

+ 5 - 5
ghsPad/src/components/plugin/list-cell.vue

@@ -18,19 +18,19 @@ export default {
 			type: Boolean,
 			default: true
 		},
-		// left 30rpx
+		// left 30upx
 		lineLeft: {
 			type: Boolean,
 			default: true
 		},
-		// right 30rpx
+		// right 30upx
 		lineRight: {
 			type: Boolean,
 			default: true
 		},
 		padding: {
 			type: String,
-			default: '26rpx 30rpx'
+			default: '26upx 30upx'
 		},
 		last: {
 			type: Boolean,
@@ -96,11 +96,11 @@ export default {
 		left: 0;
 	}
 	.tui-line-left::after {
-		left: 30rpx !important;
+		left: 30upx !important;
 	}
 
 	.tui-line-right::after {
-		right: 30rpx !important;
+		right: 30upx !important;
 	}
 
 	.tui-cell-last::after {

+ 16 - 16
ghsPad/src/components/plugin/modal.vue

@@ -1,6 +1,6 @@
 <template>
 	<view @touchmove.stop.prevent>
-		<view class="tui-modal-box" style="margin-top: -150rpx" :style="{padding:padding,borderRadius:radius,background:bgcolor}" :class="[(fadein || show)?'tui-modal-normal':'tui-modal-scale',show?'tui-modal-show':'']">
+		<view class="tui-modal-box" style="margin-top: -150upx" :style="{padding:padding,borderRadius:radius,background:bgcolor}" :class="[(fadein || show)?'tui-modal-normal':'tui-modal-scale',show?'tui-modal-show':'']">
 			<view v-if="!custom">
 				<view class="tui-modal-title" v-if="title">{{title}}</view>
 				<!-- <view class="tui-modal-content" :class="[title?'':'tui-mtop']"> -->
@@ -44,11 +44,11 @@ export default {
 		},
 		padding: {
 			type: String,
-			default: '40rpx 30rpx'
+			default: '40upx 30upx'
 		},
 		radius: {
 			type: String,
-			default: '24rpx'
+			default: '24upx'
 		},
 		// 标题
 		title: {
@@ -193,24 +193,24 @@ export default {
 
 	.tui-modal-title {
 		text-align: center;
-		font-size: 40rpx;
+		font-size: 40upx;
 		color: #333;
 	}
 
 	.tui-modal-content {
 		text-align: center;
 		// color: #999;
-		font-size: 24rpx;
-		padding-top: 50rpx;
-		padding-bottom: 60rpx;
+		font-size: 24upx;
+		padding-top: 50upx;
+		padding-bottom: 60upx;
 	}
 
 	.tui-mtop {
-		margin-top: 30rpx;
+		margin-top: 30upx;
 	}
 
 	.tui-mbtm {
-		margin-bottom: 30rpx;
+		margin-bottom: 30upx;
 	}
 
 	.tui-modalBtn-box {
@@ -226,11 +226,11 @@ export default {
 
 	.tui-modal-btn {
 		width: 46%;
-		height: 90rpx;
-		line-height: 90rpx;
+		height: 90upx;
+		line-height: 90upx;
 		position: relative;
-		border-radius: 4rpx;
-		font-size: 32rpx;
+		border-radius: 4upx;
+		font-size: 32upx;
 		overflow: visible;
 		margin-left: 0;
 		margin-right: 0;
@@ -247,7 +247,7 @@ export default {
 		transform: scale(0.5, 0.5);
 		left: 0;
 		top: 0;
-		border-radius: 4rpx;
+		border-radius: 4upx;
 	}
 
 	.tui-btn-width {
@@ -278,10 +278,10 @@ export default {
 	}
 
 	.tui-circle-btn {
-		border-radius: 40rpx !important;
+		border-radius: 40upx !important;
 	}
 
 	.tui-circle-btn::after {
-		border-radius: 80rpx !important;
+		border-radius: 80upx !important;
 	}
 </style>

+ 266 - 286
ghsPad/src/components/plugin/vKeyboard/VKeyboard.vue

@@ -1,6 +1,5 @@
 <template>
-	<view v-if="showKeyboard"
-	:class="['enl-size', digital?'enl-size_custom':'',keyboardStyle]">
+	<view v-if="showKeyboard" :class="['enl-size', digital?'enl-size_custom':'',keyboardStyle]">
 		<view class="digit-keyboard" v-if="mode === 'digit' || digital">
 			<view class="digit-button-box">
 				<template v-for="(digit, index) in digits">
@@ -16,10 +15,8 @@
 			</view>
 			<view class="special-button-box">
 				<view class="enl-key-button special-button enl-gray" @tap="backspace"><i class="iconfont icon-backspace enl-large"></i></view>
-				<view class="enl-key-button special-button enl-gray" @tap="enter">
-						<!-- <i class="iconfont icon-huiche enl-large"></i> -->
-						<text>确定</text>
-				</view>
+				<view class="enl-key-button special-button enl-gray" @tap="enter"> <text style="color:#666666;font-size:15upx;">取消</text> </view>
+				<view class="enl-key-button special-button enl-gray" @tap="enter"> <text style="color:green;font-size:15upx;">确定</text> </view>
 			</view>
 		</view>
 		<view class="full-keyboard" v-else>
@@ -31,338 +28,321 @@
 				</view>
 				<view class="enl-letter enl-key-button special-key enl-gray" v-if="index === 2" @tap="backspace"><i class="iconfont icon-backspace"></i></view>
 			</view>
+
 			<view class="line special-line">
 				<view class="enl-letter enl-key-button swith-key enl-gray">
 					<i class="iconfont icon-fuhao" @tap="typingSymbol" v-if="mode === 'letter'"></i>
 					<i class="iconfont icon-ABC" @tap="typingLetter" v-if="mode === 'symbol'"></i>
 				</view>
-				<view class="enl-letter enl-key-button space" @tap="typing(' ')"><text class="enl-logo">spacebar</text></view>
+				<view class="enl-letter enl-key-button space" @tap="typing(' ')"><text class="enl-logo"> </text></view>
 				<view class="enl-letter enl-key-button swith-key enl-gray" @tap="typingDigit"><i class="iconfont icon-shuzi"></i></view>
-				<view class="enl-letter enl-key-button swith-key enl-gray" @tap="enter">
-					<text>确定</text>
-				</view>
+				<view class="enl-letter enl-key-button swith-key enl-gray" @tap="enter"><text style="color:#666666;font-size:15upx;">清</text></view>
+				<view class="enl-letter enl-key-button swith-key enl-gray" @tap="enter"><text style="color:#666666;font-size:15upx;">取消</text></view>
 			</view>
+
 		</view>
 	</view>
 </template>
-
 <script>
-	import {
-		natural,
-		order,
-		disorder,
-		symbols,
-		digits,
-		KEYBOARD_MODE
-	} from './utils'
-	export default {
-		props: {
-			//是否为纯数字键盘
-			digital: {
-				type: [Boolean, String],
-				default: false
-			},
-			//是否无序的排序键盘
-			disorderly: {
-				type: [Boolean, String],
-				default: false
-			},
-			pointIsShow:{
-				type: Boolean,
-				default: true
-			},
-			isEffect:{
-				type:Boolean,
-				default: false
-			}
-			/* ,
-						value: String */
+import { natural, order, disorder, symbols, digits, KEYBOARD_MODE } from './utils'
+export default {
+	props: {
+		//是否为纯数字键盘
+		digital: {
+			type: [Boolean, String],
+			default: false
 		},
-		//app中不生效,不知道为什么
-		/* model: {
-			prop: 'value',
-			event: 'typing'
-		}, */
-		computed: {
-			keyboardStyle() {
-				return 'v-keyboard ' + this.cls;
-			}
+		//是否无序的排序键盘
+		disorderly: {
+			type: [Boolean, String],
+			default: false
 		},
-		data() {
-			return {
-				cls: '',
-				visible: false, //是否显示
-				showKeyboard: false, //是否隐藏
-				digits: [], //自然数数组
-				lines: [], //字母+数字数组
-				lowercase: true, //是否小写输入状态
-				mode: KEYBOARD_MODE.LETTER, //键盘模式
-				keys: [] //键入的键值
-			}
+		pointIsShow:{
+			type: Boolean,
+			default: true
 		},
-		methods: {
-			//大小写转换
-			toggleCase() {
-				this.lowercase = !this.lowercase;
-			},
-			//输入符号
-			typingSymbol() {
-				this.mode = KEYBOARD_MODE.SYMBOL;
-				this.lines = symbols;
-			},
-			//输入字母
-			typingLetter() {
-				this.mode = KEYBOARD_MODE.LETTER;
-				this.lines = this.disorderly ? disorder() : order;
-			},
-			//键入数字
-			typingDigit() {
-				this.mode = KEYBOARD_MODE.DIGIT;
-			},
-			//键盘键入
-			typing(input) {
-				this.keys.push(input);
-				//app中v-model不生效,改用事件方式在外处理
-				//this.$emit('typing', this.keys.join(''));
-
-				this.$emit('typing', {
-					backspace: false,
-					char: input
-				})
-			},
-			//退格键
-			backspace() {
-				if (this.keys.length) {
-					this.keys.pop()
-				}
-				//this.$emit('typing', this.keys.join(''));
-				this.$emit('typing', {
-					backspace: true
-				})
-			},
-			//键入回车
-			enter() {
-				//this.deactivate();
-				this.$emit('enter');
-			},
-			//激活键盘
-			activate() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-				this.showKeyboard = true
-				this.$nextTick(() => {
-					this.visible = true;
-				})
-			},
-			//隐藏键盘
-			deactivate() {
-				this.visible = false;
-				setTimeout(() => {
-					this.showKeyboard = false
-				}, 250)
+		isEffect:{
+			type:Boolean,
+			default: false
+		}
+	},
+	computed: {
+		keyboardStyle() {
+			return 'v-keyboard ' + this.cls;
+		}
+	},
+	data() {
+		return {
+			cls: '',
+			visible: false, //是否显示
+			showKeyboard: false, //是否隐藏
+			digits: [], //自然数数组
+			lines: [], //字母+数字数组
+			lowercase: true, //是否小写输入状态
+			mode: KEYBOARD_MODE.LETTER, //键盘模式
+			keys: [] //键入的键值
+		}
+	},
+	methods: {
+		//大小写转换
+		toggleCase() {
+			this.lowercase = !this.lowercase;
+		},
+		//输入符号
+		typingSymbol() {
+			this.mode = KEYBOARD_MODE.SYMBOL;
+			this.lines = symbols;
+		},
+		//输入字母
+		typingLetter() {
+			this.mode = KEYBOARD_MODE.LETTER;
+			this.lines = this.disorderly ? disorder() : order;
+		},
+		//键入数字
+		typingDigit() {
+			this.mode = KEYBOARD_MODE.DIGIT;
+		},
+		//键盘键入
+		typing(input) {
+			this.keys.push(input);
+			//app中v-model不生效,改用事件方式在外处理
+			//this.$emit('typing', this.keys.join(''))
+			this.$emit('typing', {
+				backspace: false,
+				char: input
+			})
+		},
+		//退格键
+		backspace() {
+			if (this.keys.length) {
+				this.keys.pop()
 			}
+			//this.$emit('typing', this.keys.join(''));
+			this.$emit('typing', {
+				backspace: true
+			})
+		},
+		//键入回车
+		enter() {
+			//this.deactivate();
+			this.$emit('enter');
 		},
-		watch: {
-			lowercase(val) {
-				let [...temp] = this.lines;
-				temp.forEach(line => {
-					line.forEach((letter, index) => {
-						line[index] = val ? letter.toLowerCase() : letter.toUpperCase();
-					});
+		//激活键盘
+		activate() {
+			// #ifdef APP-PLUS
+			plus.key.hideSoftKeybord();
+			// #endif
+			this.showKeyboard = true
+			this.$nextTick(() => {
+				this.visible = true;
+			})
+		},
+		//隐藏键盘
+		deactivate() {
+			this.visible = false;
+			setTimeout(() => {
+				this.showKeyboard = false
+			}, 250)
+		}
+	},
+	watch: {
+		lowercase(val) {
+			let [...temp] = this.lines;
+			temp.forEach(line => {
+				line.forEach((letter, index) => {
+					line[index] = val ? letter.toLowerCase() : letter.toUpperCase();
 				});
-				this.lines = temp;
-			},
-			visible(val) {
-				if(this.isEffect) {
-					this.cls = val ? 'slideup' : 'slidedown';
-				}
-			}
+			});
+			this.lines = temp;
 		},
-		created() {
-			this.lines = this.disorderly ? disorder() : order;
-			this.digits = this.disorderly ? digits() : natural;
-
-			if(!this.pointIsShow) {
-				this.digits = this.digits.filter(i=>i!=='.')
+		visible(val) {
+			if(this.isEffect) {
+				this.cls = val ? 'slideup' : 'slidedown';
 			}
+		}
+	},
+	created() {
+		this.lines = this.disorderly ? disorder() : order;
+		this.digits = this.disorderly ? digits() : natural;
 
+		if(!this.pointIsShow) {
+			this.digits = this.digits.filter(i=>i!=='.')
 		}
+
 	}
+}
 </script>
 
 <style lang="scss" scoped>
-	@import './css.scss'; //引入键盘样式
-	@import './icon.css'; //引入键盘icon
+@import './css.scss'; //引入键盘样式
+@import './icon.css'; //引入键盘icon
 
-	.iconfont {
-		font-family: "iconfont" !important;
-		font-size: 24rpx;
-		font-style: normal;
-		-webkit-font-smoothing: antialiased;
-		-moz-osx-font-smoothing: grayscale;
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 24upx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+.enl-size {
+	// font-size: 24upx;
+	height: 100%;
+}
+.enl-size_custom {
+	// width: 700upx!important;
+}
+.enl-key-button {
+	display: inline-block;
+	overflow: hidden;
+	// vertical-align: middle;
+	border: 1px solid #e6e6e6;
+	color: #333;
+	background-color: #fff;
+	box-shadow: 0 2px 2px rgba(230, 230, 230, .7);
+	border-radius: 3upx;
+	text-align: center;
+	white-space: nowrap;
+	user-select: none;
+	cursor: pointer;
+	&:active {
+		background: #d6d6d6;
+		scale: 0.7;
 	}
+}
 
-	.enl-size {
-		// font-size: 24rpx;
-		height: 100%;
-	}
-	.enl-size_custom {
-		// width: 700rpx!important;
-
-	}
-	.enl-key-button {
-		display: inline-block;
-		overflow: hidden;
-		// vertical-align: middle;
-		border: 1px solid #e6e6e6;
-		color: #333;
-		background-color: #fff;
-		box-shadow: 0 2px 2px rgba(230, 230, 230, .7);
-		border-radius: 3upx;
-		text-align: center;
-		white-space: nowrap;
-		user-select: none;
-		cursor: pointer;
-		&:active {
-			background: #d6d6d6;
-			scale: 0.7;
-		}
-	}
-
-	.v-keyboard {
-		width: 100%;
-		position: relative;
-		bottom: 0;
-		left: 0;
-		background: #f5f5f5;
-		padding: 1% 0;
-		height: 100%;
-		z-index: 100;
-		/*全键盘*/
-		.full-keyboard {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			height: 100%;
-			.line {
-				text-align: center;
-				flex: 1;
-				width: 100%;
+.v-keyboard {
+	width: 100%;
+	position: relative;
+	bottom: 0;
+	left: 0;
+	background: #f5f5f5;
+	padding: 1% 0;
+	height: 100%;
+	z-index: 100;
+	/*全键盘*/
+	.full-keyboard {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		height: 42vh;
+		.line {
+			text-align: center;
+			flex: 1;
+			width: 100%;
+			&:not(:last-child) {
+				// margin-bottom: 1%;
+			}
+			.enl-letter {
+				height: 95%;
+				font-size: 20upx;
+				padding: 0upx 0upx;
 				&:not(:last-child) {
-					// margin-bottom: 1%;
-				}
-				.enl-letter {
-					height: 95%;
-					font-size: 20rpx;
-					padding: 0rpx 0rpx;
-					&:not(:last-child) {
-						margin-right: 1%;
-					}
+					margin-right: 1%;
 				}
+			}
 
-				.normal {
-					// width: 1.73em;
-					width: 9%;
-				}
+			.normal {
+				// width: 1.73em;
+				width: 9%;
+			}
 
-				.special-key {
-					width: 9%;
-				}
+			.special-key {
+				width: 9%;
 			}
+		}
 
-			.special-line {
-				padding: 0 1%;
-				display: flex !important;
-				justify-content: space-around;
-				font-size: 24rpx;
-				.space {
-					flex: 1;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-				}
+		.special-line {
+			padding: 0 1%;
+			display: flex !important;
+			justify-content: space-around;
+			font-size: 24upx;
+			.space {
+				flex: 1;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
 
-				.swith-key {
-					width: 13%;
+			.swith-key {
+				width: 13%;
 
-				}
+			}
 
-				.enl-logo {
-					font-size: 30rpx;
-				}
+			.enl-logo {
+				font-size: 30upx;
 			}
 		}
+	}
 
-		/*数字键盘*/
-		.digit-keyboard {
+	/*数字键盘*/
+	.digit-keyboard {
+		display: flex;
+		flex-direction: row;
+		font-size: 24upx;
+		justify-content: center;
+		height: 100%;
+		.digit-button-box {
+			padding: 0 1%;
+			flex: 80;
 			display: flex;
-			flex-direction: row;
-			font-size: 24rpx;
-			justify-content: center;
-			height: 100%;
-			.digit-button-box {
-				padding: 0 1%;
-				flex: 80;
-				display: flex;
-				align-items: center;
-				flex-wrap: wrap;
-				.enl-digit {
-					width: 32%;
-					height: 23%;
-					// line-height: 20%;
-					margin-bottom: 1%;
-					// vertical-align: middle;
-					// display: flex;
-					// align-items: center;
-					&:nth-child(10),
-					&:nth-child(11),
-					&:nth-child(12) {
-						margin-bottom: 0;
-					}
-					&:not(:last-child) {
-						margin-right: 1%;
-					}
+			align-items: center;
+			flex-wrap: wrap;
+			.enl-digit {
+				width: 32%;
+				height: 23%;
+				// line-height: 20%;
+				margin-bottom: 1%;
+				// vertical-align: middle;
+				// display: flex;
+				// align-items: center;
+				&:nth-child(10),
+				&:nth-child(11),
+				&:nth-child(12) {
+					margin-bottom: 0;
 				}
-			    & .enl-key-button {
-					display: flex;
-					align-items: center;
-					justify-content: center;
+				&:not(:last-child) {
+					margin-right: 1%;
 				}
 			}
+			& .enl-key-button {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+		}
 
-			.special-button-box {
-				flex: 20;
-				padding: 0 3% 0 0;
-				.special-button {
-					line-height: 20%;
-					height: 45%;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					&:not(:last-child) {
-						margin-bottom: 3%;
-					}
+		.special-button-box {
+			flex: 20;
+			padding: 0 3% 0 0;
+			.special-button {
+				line-height: 20%;
+				height: 32%;
+				width: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				&:not(:last-child) {
+					margin-bottom: 3%;
 				}
 			}
 		}
+	}
 
-		.enl-gray {
-			background: #e1e1e1 !important;
+	.enl-gray {
+		background: #e1e1e1 !important;
 
-			&:active {
-				background: #fff !important;
-			}
+		&:active {
+			background: #fff !important;
 		}
+	}
 
-		.enl-large {
-			font-size: 24rpx !important;
-		}
+	.enl-large {
+		font-size: 24upx !important;
+	}
 
-		.enl-middle {
-			font-size: 24rpx !important;
-			display: block;
-		}
+	.enl-middle {
+		font-size: 24upx !important;
+		display: block;
 	}
+}
 </style>

+ 1 - 2
ghsPad/src/pages.json

@@ -373,10 +373,9 @@
 		"navigationBarTextStyle": "black",
 		"backgroundColor": "#f9fbfc",
 		"onReachBottomDistance": 300,
-		"app-plus":{"titleNView":false},
+		"app-plus":{"titleNView":false,"bounce":"none"},
 		"navigationStyle":"custom",
 		"rpxCalcMaxDeviceWidth": 2000,
 		"rpxCalcBaseDeviceWidth": 1440
-
 	}
 }

+ 29 - 29
ghsPad/src/pagesClient/components/htz-image-upload/htz-image-upload.vue

@@ -512,16 +512,16 @@
 
 	.preview-full-close {
 		position: fixed;
-		right: 32rpx;
-		top: 25rpx;
-		width: 80rpx;
-		height: 80rpx;
-		line-height: 60rpx;
+		right: 32upx;
+		top: 25upx;
+		width: 80upx;
+		height: 80upx;
+		line-height: 60upx;
 		text-align: center;
 		z-index: 1003;
 		/* 	background-color: #808080; */
 		color: #fff;
-		font-size: 65rpx;
+		font-size: 65upx;
 		font-weight: bold;
 		text-shadow: 1px 2px 5px rgb(0 0 0);
 	}
@@ -534,10 +534,10 @@
 		top: 50%;
 		left: 50%;
 		content: '';
-		height: 60rpx;
-		margin-top: -30rpx;
-		width: 6rpx;
-		margin-left: -3rpx;
+		height: 60upx;
+		margin-top: -30upx;
+		width: 6upx;
+		margin-left: -3upx;
 		background-color: #FFFFFF;
 		z-index: 20000;
 	}
@@ -558,23 +558,23 @@
 	}
 
 	.htz-image-upload-Item {
-		width: 160rpx;
-		height: 160rpx;
-		margin: 13rpx;
-		border-radius: 10rpx;
+		width: 160upx;
+		height: 160upx;
+		margin: 13upx;
+		border-radius: 10upx;
 		position: relative;
 	}
 
 	.htz-image-upload-Item image {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 	}
 
 	.htz-image-upload-Item-video {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 		position: relative;
 
 	}
@@ -586,7 +586,7 @@
 		bottom: 0;
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 		z-index: 996;
 
 	}
@@ -594,13 +594,13 @@
 	.htz-image-upload-Item video {
 		width: 100%;
 		height: 100%;
-		border-radius: 10rpx;
+		border-radius: 10upx;
 
 	}
 
 	.htz-image-upload-Item-add {
-		font-size: 105rpx;
-		/* line-height: 160rpx; */
+		font-size: 105upx;
+		/* line-height: 160upx; */
 		text-align: center;
 		border: 1px dashed #d9d9d9;
 		color: #d9d9d9;
@@ -608,11 +608,11 @@
 
 	.htz-image-upload-Item-del {
 		background-color: #f5222d;
-		font-size: 24rpx;
+		font-size: 24upx;
 		position: absolute;
-		width: 35rpx;
-		height: 35rpx;
-		line-height: 35rpx;
+		width: 35upx;
+		height: 35upx;
+		line-height: 35upx;
 		text-align: center;
 		top: 0;
 		right: 0;
@@ -622,19 +622,19 @@
 
 	.htz-image-upload-Item-del-cover {
 		background-color: #f5222d;
-		font-size: 24rpx;
+		font-size: 24upx;
 		position: absolute;
-		width: 35rpx;
-		height: 35rpx;
+		width: 35upx;
+		height: 35upx;
 		text-align: center;
 		top: 0;
 		right: 0;
 		color: #fff;
 		/* #ifdef APP-PLUS */
-		line-height: 25rpx;
+		line-height: 25upx;
 		/* #endif */
 		/* #ifndef APP-PLUS */
-		line-height: 35rpx;
+		line-height: 35upx;
 		/* #endif */
 		z-index: 997;
 

+ 1 - 1
ghsPad/src/pagesPurchase/add.vue

@@ -43,7 +43,7 @@
 			</scroll-view>
 		</view>
 
-		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" :button="showButton" >
+		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" :button="showButton" >
 			<template slot="customContent">
 				<view class="select-view">
 					<view class="select-cmd_bx">

+ 2 - 2
ghsPad/src/pagesStorehouse/allot/exSelect.vue

@@ -42,7 +42,7 @@
 				</view>
 			</block>
 		</view>
-		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" >
 			<template slot="customContent">
 				<view class="select-cmd_bx" v-if="customData">
 					<view class="kc"> 库存{{ customData.stock }} </view>
@@ -62,7 +62,7 @@
 			</template>
 		</modal-module>
 
-		<modal-module :show="showSubmitModel" @cancel="cancelEvent" @click="submitEvent" :title="confirmContent" color="#333" :size="32" padding="30rpx 30rpx" >
+		<modal-module :show="showSubmitModel" @cancel="cancelEvent" @click="submitEvent" :title="confirmContent" color="#333" :size="32" padding="30upx 30upx" >
 		</modal-module>
 
 		<FooterCart :price="allPrice" :count="allCount" @confirm="confirmOut" ></FooterCart>

+ 1 - 1
ghsPad/src/pagesStorehouse/inventory/select.vue

@@ -41,7 +41,7 @@
 			</block>
 		</view>
 
-		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
+		<modal-module :show="isAddModel" @cancel="addItemModelHidden" @click="confirmAddItemModel" :title="customData.itemName" color="#333" :size="32" padding="30upx 30upx" >
 			<template slot="customContent">
 				<view class="select-cmd_bx" v-if="customData">
 					<view class="kc"> 库存{{ customData.stock }} </view>

+ 1 - 1
hdPad/src/pages.json

@@ -821,6 +821,6 @@
 		"navigationBarTitleText": "花惠宝",
 		"navigationBarTextStyle": "black",
 		"backgroundColor": "#f9fbfc",
-		"app-plus":{"titleNView":false}
+		"app-plus":{"titleNView":false,"bounce":"none"}
 	}
 }

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است