Procházet zdrojové kódy

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun-app

wangchao před 3 roky
rodič
revize
d24ba2eabd

+ 307 - 0
components/master-keyboard/master-keyboard.scss

@@ -0,0 +1,307 @@
+.master_wrap{
+	width: 100%;
+	background-color: #eee;
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	z-index:11;
+	padding-top: 10rpx;
+	padding-bottom: 20rpx;
+	.down_wrap{
+		width: 100%;
+		height: 50rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		image{
+			width: 48rpx;
+			height: 48rpx;
+		}
+	}
+	.kerboard_number{
+		width: 100%;
+		display: flex;
+		justify-content: space-evenly;
+		flex-flow: wrap;
+		.number_item{
+			width: 30%;
+			height: 80rpx;
+			margin-top: 10rpx;
+			background-color: white;
+			border-radius: 10rpx;
+			text-align: center;
+			line-height: 80rpx;
+			box-sizing: border-box;
+			display: block;
+		}
+		.number_item_active{
+			width: 30%;
+			height: 80rpx;
+			margin-top: 10rpx;
+			background-color: #888;
+			border-radius: 10rpx;
+			text-align: center;
+			line-height: 80rpx;
+			box-sizing: border-box;
+			display: block;
+			color: white;
+		}
+		.number_empty{
+			background-color: #eeeeee;
+			width: 30%;
+			height: 80rpx;
+			margin-top: 10rpx;
+			border-radius: 10rpx;
+		}
+		.number_empty_active{
+			background-color: #eeeeee;
+		}
+		.number_delete{
+			width: 30%;
+			height: 80rpx;
+			margin-top: 10rpx;
+			background-color: white;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			.delete_img{
+				width: 65rpx;
+				height: 64rpx;
+			}
+		}
+		.number_delete_active{
+			width: 30%;
+			height: 80rpx;
+			margin-top: 10rpx;
+			background-color: #e64d3a;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			border-radius: 10rpx;
+			.delete_img{
+				width: 65rpx;
+				height: 64rpx;
+			}
+		}
+	}
+	
+	.keyboard_car{
+		width: 100%;
+		display: flex;
+		flex-direction: column;
+		position: relative;
+		.car_down{
+			position: absolute;
+			top: 10rpx;
+			left: 15rpx;
+			width: 48rpx;
+			height: 48rpx;
+		}
+		.tab_wrap{
+			height: 65rpx;
+			margin: 0 auto;
+			background-color: white;
+			border-radius: 20rpx;
+			display: flex;
+			padding-left: 25rpx;
+			padding-right: 25rpx;
+			image{
+				width: 48rpx;
+				height: 48rpx;
+			}
+			.tab_item{
+				height: 100%;
+				text-align: center;
+				line-height: 65rpx;
+				font-size: 26rpx;
+				margin: 0 20rpx;
+			}
+			.tab_item_active{
+				height: 100%;
+				text-align: center;
+				line-height: 65rpx;
+				font-size: 26rpx;
+				margin: 0 20rpx;
+				text-decoration: underline;
+				color: #e64d3a;
+			}
+		}
+		
+		.car_content{
+			width: 100%;
+			position: relative;
+			.car_province{
+				width: 100%;
+				display: flex;
+				justify-content: space-evenly;
+				flex-flow: wrap;
+				margin: 0;
+				.province_item{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: white;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+				}
+				.province_item_active{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #888;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					color: white;
+				}
+				.province_item_disable{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #fff;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					opacity: 0.5;
+				}
+			}
+			.car_province_1{
+				width: 100%;
+				display: flex;
+				margin: 0;
+				.province_item1{
+					margin: 0;
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: white;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+				}
+				.province_item_active{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #888;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					color: white;
+				}
+				.province_item_disable{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #fff;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					opacity: 0.5;
+				}
+			}
+			.car_latter{
+				width: 100%;
+				display: flex;
+				justify-content: space-evenly;
+				flex-flow: wrap;
+				.latter_item{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: white;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+				}
+				.province_item_active{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #888;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					color: white;
+				}
+				.province_item_disable{
+					width: 9.5%;
+					height: 80rpx;
+					margin-top: 10rpx;
+					background-color: #fff;
+					border-radius: 10rpx;
+					text-align: center;
+					line-height: 80rpx;
+					box-sizing: border-box;
+					display: block;
+					font-size: 28rpx;
+					font-weight: 450;
+					opacity: 0.5;
+				}
+			}
+			.car_delete{
+				width: 15%;
+				height: 80rpx;
+				margin-top: 10rpx;
+				background-color: white;
+				border-radius: 10rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				position: absolute;
+				.delete_img{
+					width: 65rpx;
+					height: 64rpx;
+				}
+			}
+			.car_delete_active{
+				width: 15%;
+				height: 80rpx;
+				margin-top: 10rpx;
+				background-color: #e64d3a;
+				border-radius: 10rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				position: absolute;
+				.delete_img{
+					width: 65rpx;
+					height: 64rpx;
+				}
+			}
+		}
+	}
+}

+ 306 - 0
components/master-keyboard/master-keyboard.vue

@@ -0,0 +1,306 @@
+<template>
+	<view class="master_wrap" v-show="show" hover-stop-propagation>
+		<block v-if="keyboardtype == 'number' || keyboardtype == 'digit' || keyboardtype == 'idcard'">
+			<view class="down_wrap">
+				<image src="../../static/icon_down.png" @tap.stop="handleCloseKeyboard(false)"></image>
+			</view>
+			<view class="kerboard_number">
+				<view @tap.stop="handleNumberKeyboardClick(item)" :hover-stay-time="100"
+					:class="item== '-1' ? keyboardtype == 'number' ?  'number_empty' :'number_item' : item=='-2' ? 'number_delete' : 'number_item' "
+					:hover-class="item== '-1' ?  keyboardtype == 'number' ?  'number_empty_active' : 'number_item_active' : item=='-2' ? 'number_delete_active' : 'number_item_active'"
+					v-for="(item,index) in  randomNumberArr" :key="index">
+					<block v-if="item == '-1'">
+						<view v-if="keyboardtype == 'digit'">
+							·
+						</view>
+						<view v-else-if=" keyboardtype ==  'idcard'">
+							X
+						</view>
+					</block>
+					<block v-else-if="item == '-2'">
+						<image class="delete_img" src="../../static/icon_delete.png"></image>
+					</block>
+					<block v-else>
+						{{item}}
+					</block>
+				</view>
+			</view>
+		</block>
+		<block v-else-if="keyboardtype == 'car'">
+			<view class="keyboard_car">
+				<image @tap.stop="handleCloseKeyboard(false)" class="car_down" src="../../static/icon_down.png"></image>
+				<view class="tab_wrap">
+					<view @tap.stop="handleCarTabItemClick(index)"
+						:class=" carType === index ?'tab_item_active' : 'tab_item'" hover-class="tab_item_active"
+						v-for="(item,index) in carTabArr" :key="index">
+						{{item}}
+					</view>
+				</view>
+				<view class="car_content">
+					<block v-if="carType === 0">
+						<view class="car_province">
+							<view @tap.stop="handleCarKerboardClick(item)"
+								:class="computedDefaultValueLength ===0 ?  'province_item' :'province_item_disable'"
+								:hover-class="computedDefaultValueLength ===0 ? 'province_item_active' : 'none'"
+								:hover-stay-time="100" v-for="(item,index) in sliceProvinceArr" :key="index">
+								{{item}}
+							</view>
+						</view>
+						<view class="car_province_1">
+							<view @tap.stop="handleCarKerboardClick(item)"
+								:class=" (formatCarProvinceFirst(item) === -1 && computedDefaultValueLength ===0 )  ? 'province_item1' :
+								 ((newCar && computedDefaultValueLength ===7 && formatCarProvinceFirst(item) !== -1) || 
+								 (!newCar && computedDefaultValueLength ===6 && formatCarProvinceFirst(item) !== -1) ) ? 'province_item1' :  'province_item_disable'"
+								:hover-class=" (formatCarProvinceFirst(item) === -1 && computedDefaultValueLength ===0) ? 'province_item_active' : 'none'"
+								:hover-stay-time="100" :style="{'margin-left' : computeItemSpace + '%'}"
+								v-for="(item,index) in sliceSecondProvinceArr" :key="index">
+								{{item}}
+							</view>
+						</view>
+					</block>
+					<block v-else="carType === 1">
+						<view class="car_latter">
+							<view @tap.stop="handleCarKerboardClick(item)"
+								:class=" (computedDefaultValueLength ===1 && formatCarProvinceSecond(item) >-1 || computedDefaultValueLength ===0) ? 'province_item_disable' : 'latter_item'"
+								:hover-class=" (computedDefaultValueLength ===1 && formatCarProvinceSecond(item) >-1 || computedDefaultValueLength ===0) ? 'none' : 'province_item_active'"
+								:hover-stay-time="100" v-for="(item,index) in sliceLatterArr" :key="index">
+								<text>{{item}}</text>
+							</view>
+						</view>
+						<view class="car_province_1">
+							<view @tap.stop="handleCarKerboardClick(item)"
+								:class=" (computedDefaultValueLength ===1 && formatCarProvinceSecond(item) >-1 || computedDefaultValueLength ===0)  ? 'province_item_disable' : 'province_item1'"
+								:hover-class=" (computedDefaultValueLength ===1 && formatCarProvinceSecond(item) >-1 || computedDefaultValueLength ===0) ? 'none' : 'province_item_active'"
+								:hover-stay-time="100" :style="{'margin-left' : computeItemSpace + '%'}"
+								v-for="(item,index) in sliceSecondLatterArr" :key="index">
+								{{item}}
+							</view>
+						</view>
+					</block>
+					<view @tap.stop="handleCarKerboardDeleteClick" class="car_delete" hover-class="car_delete_active"
+						:hover-stay-time="100"
+						:style="{'top':computeDeleteTop + 'rpx','right' :computeItemSpace + '%' }">
+						<image class="delete_img" src="../../static/icon_delete.png"></image>
+					</view>
+				</view>
+			</view>
+		</block>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "master-keyboard",
+		props: {
+			keyboardtype: {
+				type: String,
+				default: 'number' // number=数字键盘 digit=带小数点的数字键盘  idcard=身份证号键盘  car=车牌号键盘
+			},
+			defaultValue: {
+				type: String,
+				default: ''
+			},
+			newCar: {
+				type: Boolean,
+				default: false
+			},
+			randomNumber: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				numberArr: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
+				carProvinceArr: ['京', '津', '渝', '沪', '冀', '晋', '辽', '吉', '黑', '苏', '浙', '皖', '闽', '赣', '鲁', '豫',
+					'鳄', '湘', '粤', '琼', '川', '贵', '云', '陕', '甘', '青', '蒙', '桂', '宁', '新', '藏', '使',
+					'领', '警', '学', '港', '澳'
+				],
+				carLatterArr: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
+					'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R',
+					'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
+				],
+				carTabArr: ['省份', '字母'],
+				carType: 0,
+				show: false,
+			};
+		},
+		computed: {
+			sliceProvinceArr: function() {
+				return this.carProvinceArr.slice(0, 30)
+			},
+			sliceSecondProvinceArr: function() {
+				return this.carProvinceArr.slice(30, this.carProvinceArr.length)
+			},
+			sliceLatterArr: function() {
+				return this.carLatterArr.slice(0, 30)
+			},
+			sliceSecondLatterArr: function() {
+				return this.carLatterArr.slice(30, this.carLatterArr.length)
+			},
+			computeDeleteTop: function() {
+				return 80 * 3 + 10 * 3
+			},
+			computeItemSpace: function() {
+				return (1 - 0.095 * 10) / 11 * 100
+			},
+			computedDefaultValueLength: function() {
+				return this.$props.defaultValue.length
+			},
+			randomNumberArr: function() {
+				if(this.$props.randomNumber){
+					this.numberArr.sort(function() {
+						return 0.5 - Math.random()
+					})
+				}
+				const size = this.numberArr.length
+				this.numberArr.splice(size - 1, 0, "-1")
+				this.numberArr.push("-2")
+				return this.numberArr
+			}
+		},
+		watch: {
+			show: function(value) {
+
+			}
+		},
+		onLoad() {},
+		methods: {
+			formatCarProvinceFirst(value) {
+				const list = ['使', '领', '警', '学', '港', '澳', ]
+				return list.indexOf(value)
+			},
+			formatCarProvinceSecond(value) {
+				const list = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
+				return list.indexOf(value)
+			},
+			handleCloseKeyboard() {
+				this.open(false)
+			},
+			open(value) {
+				this.show = value
+			},
+			//车牌tab点击事件
+			handleCarTabItemClick(index) {
+				this.carType = index
+			},
+			//车牌键盘点击事件
+			handleCarKerboardClick(e) {
+				const keyValue = e
+				let value = this.$props.defaultValue
+				if (/^[\u4e00-\u9fa5]*$/.test(value) && value.length >= 2) {
+					value = ''
+				}
+				var pattern = new RegExp("[\u4E00-\u9FA5]+");
+				var pattern2 = new RegExp("[A-Za-z]+");
+				var pattern3 = new RegExp("[0-9]+");
+
+				if (value.length == 0) {
+					if (!pattern.test(keyValue) || this.formatCarProvinceFirst(keyValue) !== -1) {
+						return
+					}
+					this.carType = 1
+				} else if (value.length == 1) {
+					if (!pattern2.test(keyValue)) {
+						return
+					}
+				} else {
+					if (value.length === (this.$props.newCar ? 7 : 6) && pattern.test(keyValue) && this
+						.formatCarProvinceFirst(keyValue) == -1) {
+						return
+					}
+					if (pattern.test(keyValue) && value.length !== (this.$props.newCar ? 7 : 6)) {
+						return
+					}
+				}
+
+				if (value.length < 7 && !this.$props.newCar) {
+					this.$emit('keyboardClick', {
+						value: value + keyValue
+					})
+				}
+				if (value.length < 8 && this.$props.newCar) {
+					this.$emit('keyboardClick', {
+						value: value + keyValue
+					})
+				}
+			},
+			//车牌键盘删除事件
+			handleCarKerboardDeleteClick() {
+				let deleteValue = this.$props.defaultValue
+				if (deleteValue == '' || (/^[\u4e00-\u9fa5]*$/.test(deleteValue) && deleteValue.length !== 1)) {
+					return
+				}
+				if (deleteValue.length > 0) {
+					let count = deleteValue.length
+					this.$emit('keyboardClick', {
+						value: deleteValue.substr(0, count - 1)
+					})
+				}
+			},
+			//数字键盘点击事件
+			handleNumberKeyboardClick(e) {
+				const keyValue = e
+				if (this.$props.keyboardtype == 'number' || this.$props.keyboardtype == 'digit' || this.$props
+					.keyboardtype == 'idcard') {
+					switch (keyValue) {
+						case '-1':
+							if (this.$props.keyboardtype == 'number' || this.$props.defaultValue == '') {
+								return
+							}
+							let value = this.$props.defaultValue
+							if (/^[\u4e00-\u9fa5]*$/.test(value) || value.indexOf('.') > -1 || value.indexOf('X') > -1) {
+								return
+							}
+							if (this.$props.keyboardtype == 'idcard') {
+								if (value.length === 17) {
+									this.$emit('keyboardClick', {
+										value: value + 'X'
+									})
+								}
+							}
+							if (this.$props.keyboardtype == 'digit') {
+								this.$emit('keyboardClick', {
+									value: value + '.'
+								})
+							}
+							break
+						case '-2':
+							let deleteValue = this.$props.defaultValue
+							if (deleteValue == '' || /^[\u4e00-\u9fa5]*$/.test(deleteValue)) {
+								return
+							}
+							if (deleteValue.length > 0) {
+								let count = deleteValue.length
+								this.$emit('keyboardClick', {
+									value: deleteValue.substr(0, count - 1)
+								})
+							}
+							break
+						default:
+							let initValue = this.$props.defaultValue
+							if (/^[\u4e00-\u9fa5]*$/.test(initValue)) {
+								initValue = ''
+							}
+							if (this.$props.keyboardtype == 'idcard') {
+								if (initValue.length < 18) {
+									this.$emit('keyboardClick', {
+										value: initValue + keyValue
+									})
+								}
+								return
+							}
+							this.$emit('keyboardClick', {
+								value: initValue + keyValue
+							})
+							break
+					}
+				}
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	@import './master-keyboard.scss';
+</style>

+ 12 - 12
pages/erp/deliveryfeedback/otherfeedback.vue

@@ -52,33 +52,33 @@
 				<view class="c-row">
 					<view class="title">箱号-1</view>
 					<view class="con-list">
-						<input v-model='v_item.caseNo' placeholder="请输入箱号" name="input" maxlength="20"></input>
+						<input v-model='v_item.caseNo' placeholder="请输入箱号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<view class="c-row">
 					<view class="title">箱号-2</view>
 					<view class="con-list">
-						<input v-model='v_item.caseNoOther' placeholder="请输入箱号" name="input" maxlength="20"></input>
+						<input v-model='v_item.caseNoOther' placeholder="请输入箱号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<!-- 封号 -->
 				<view class="c-row">
 					<view class="title">封号-1</view>
 					<view class="con-list">
-						<input v-model='v_item.titleNo' placeholder="请输入封号" name="input" maxlength="20"></input>
+						<input v-model='v_item.titleNo' placeholder="请输入封号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<view class="c-row">
 					<view class="title">封号-2</view>
 					<view class="con-list">
-						<input v-model='v_item.titleNoOther' placeholder="请输入封号" name="input" maxlength="20"></input>
+						<input v-model='v_item.titleNoOther' placeholder="请输入封号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装车净重 -->
 				<view class="c-row">
 					<view class="title">装车净重(吨)</view>
 					<view class="con-list">
-						<input v-model='v_item.loadNetWeight' placeholder="请输入净重" name="input"></input>
+						<input v-model='v_item.loadNetWeight' placeholder="请输入净重" name="input" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装车日期 -->
@@ -173,20 +173,20 @@
 				<view class="c-row">
 					<view class="title">车厢号-1</view>
 					<view class="con-list">
-						<input v-model='item_add1.boxNo1' placeholder="请输入车厢号" name="input" maxlength="20"></input>
+						<input v-model='item_add1.boxNo1' placeholder="请输入车厢号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<view class="c-row">
 					<view class="title">车厢号-2</view>
 					<view class="con-list">
-						<input v-model='item_add1.boxNo2' placeholder="请输入车厢号" name="input" maxlength="20"></input>
+						<input v-model='item_add1.boxNo2' placeholder="请输入车厢号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装车净重 -->
 				<view class="c-row">
 					<view class="title">装车净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item_add1.loadNetWeight' placeholder="请输入净重" name="input" ></input>
+						<input v-model='item_add1.loadNetWeight' placeholder="请输入净重" name="input" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装车日期 -->
@@ -268,7 +268,7 @@
 				<view class="c-row">
 					<view class="title">装船净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item_add3.loadNetWeight' placeholder="请输入装船净重" name="input"></input>
+						<input v-model='item_add3.loadNetWeight' placeholder="请输入装船净重" name="input" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装船日期 -->
@@ -330,20 +330,20 @@
 				<view class="c-row">
 					<view class="title">箱号</view>
 					<view class="con-list">
-						<input v-model='item_add4.caseNo' placeholder="请输入箱号" name="input" maxlength="20"></input>
+						<input v-model='item_add4.caseNo' placeholder="请输入箱号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<view class="c-row">
 					<view class="title">封号</view>
 					<view class="con-list">
-						<input v-model='item_add4.titleNo' placeholder="请输入封号" name="input" maxlength="20"></input>
+						<input v-model='item_add4.titleNo' placeholder="请输入封号" name="input" maxlength="20" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装船日期 -->
 				<view class="c-row">
 					<view class="title">装船净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item_add4.loadNetWeight' placeholder="请输入装船净重" name="input"></input>
+						<input v-model='item_add4.loadNetWeight' placeholder="请输入装船净重" name="input" type="digit"></input>
 					</view>
 				</view>
 				<!-- 装船日期 -->

+ 6 - 6
pages/erp/exWarehousing/exWarehousing.vue

@@ -120,23 +120,23 @@
 			<view v-if='detailData.outType=="集装箱船"||!detailData.outType||detailData.outType=="汽运"'
 				class="row row-bottom">
 				<view class="left">箱号</view>
-				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号"></input>
-				<input v-model='detailData.boxNoOther' class="right-bottom"
+				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
+				<input v-model='detailData.boxNoOther' class="right-bottom" type="digit"
 					placeholder="请输入箱号"></input>
 			</view>
 			<view v-if='!detailData.outType||detailData.outType=="汽运" || detailData.outType=="集装箱船"' class="row row-bottom">
 				<view class="left">封号</view>
 				<input v-model='detailData.titleNo' class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 				<input v-model='detailData.titleNoOther' class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="火运"' class="row row-bottom">
 				<view class="left">车厢号</view>
 				<input v-model='detailData.wingNumber' @input="toUpperCase2" class="right-bottom"
-					placeholder="请输入车厢号"></input>
+					placeholder="请输入车厢号" type="digit"></input>
 				<input v-model='detailData.wingNumberOther' @input="toUpperCase3" class="right-bottom"
-					placeholder="请输入车厢号"></input>
+					placeholder="请输入车厢号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="散船"' class="row row-bottom">
 				<view class="left">航次</view>

+ 7 - 7
pages/erp/improvedExWaehousing/improvedExWaehousingDetail.vue

@@ -59,7 +59,7 @@
 			</view>
 			<view class="row row-bottom" v-if="detailData.type == '潮粮'">
 				<view class="left">纯重(吨)</view>
-				<input v-model='detailData.pureWeight' class="right-bottom" placeholder="不可编辑,自动计算"></input>
+				<input v-model='detailData.pureWeight' class="right-bottom" placeholder="不可编辑,自动计算" type="digit"></input>
 			</view>
 			<view class="row">
 				<view class="left">品级</view>
@@ -107,22 +107,22 @@
 			<view v-if='detailData.outType=="集装箱船"||!detailData.outType||detailData.outType=="汽运"'
 				class="row row-bottom">
 				<view class="left">箱号</view>
-				<input v-model='detailData.boxNo'  class="right-bottom" placeholder="请输入箱号"></input>
-				<input v-model='detailData.boxNoOther' class="right-bottom"
+				<input v-model='detailData.boxNo'  class="right-bottom" placeholder="请输入箱号" type="digit"></input>
+				<input v-model='detailData.boxNoOther' class="right-bottom" type="digit"
 					placeholder="请输入箱号"></input>
 			</view>
 			<view v-if='!detailData.outType||detailData.outType=="汽运"' class="row row-bottom">
 				<view class="left">封号</view>
-				<input v-model='detailData.titleNo' class="right-bottom"
+				<input v-model='detailData.titleNo' class="right-bottom" type="digit"
 					placeholder="请输入封号"></input>
-				<input v-model='detailData.titleNoOther' class="right-bottom"
+				<input v-model='detailData.titleNoOther' class="right-bottom" type="digit"
 					placeholder="请输入封号"></input>
 			</view>
 			<view v-if='detailData.outType=="火运"' class="row row-bottom">
 				<view class="left">车厢号</view>
-				<input v-model='detailData.wingNumber' @input="toUpperCase2" class="right-bottom"
+				<input v-model='detailData.wingNumber' @input="toUpperCase2" class="right-bottom" type="digit"
 					placeholder="请输入车厢号"></input>
-				<input v-model='detailData.wingNumberOther' @input="toUpperCase3" class="right-bottom"
+				<input v-model='detailData.wingNumberOther' @input="toUpperCase3" class="right-bottom" type="digit"
 					placeholder="请输入车厢号"></input>
 			</view>
 			<view v-if='detailData.outType=="散船"' class="row row-bottom">

+ 7 - 8
pages/erp/improvedWrehousing/improvedWrehousingDetail.vue

@@ -67,7 +67,7 @@
 			</view>
 			<view class="row row-bottom" v-if="detailData.type=='潮粮'">
 				<view class="left">纯重(吨)</view>
-				<input type="number" @input='calculate' v-model='detailData.pureWeight' class="right-bottom" placeholder="不可编辑,自动计算"
+				<input type="digit" @input='calculate' v-model='detailData.pureWeight' class="right-bottom" placeholder="不可编辑,自动计算"
 					:disabled="true"></input>
 			</view>
 			<view class="row">
@@ -124,21 +124,20 @@
 			<view v-if='detailData.outType=="集装箱船"||!detailData.outType||detailData.outType=="汽运"'
 				class="row row-bottom">
 				<view class="left">箱号</view>
-				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号"></input>
-				<input v-model='detailData.boxNoOther' class="right-bottom"
-					placeholder="请输入箱号"></input>
+				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
+				<input v-model='detailData.boxNoOther' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
 			</view>
 			<view v-if='!detailData.outType||detailData.outType=="汽运" || detailData.outType=="集装箱船"' class="row row-bottom">
 				<view class="left">封号</view>
 				<input v-model='detailData.titleNo' class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 				<input v-model='detailData.titleNoOther' class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="火运"' class="row row-bottom">
 				<view class="left">车厢号</view>
-				<input v-model='detailData.boxNo' @input="toUpperCase" class="right-bottom" placeholder="请输入车厢号"></input>
-				<input v-model='detailData.boxNoOther' @input="toUpperCase1" class="right-bottom" placeholder="请输入车厢号"></input>
+				<input v-model='detailData.boxNo' @input="toUpperCase" class="right-bottom" placeholder="请输入车厢号" type="digit"></input>
+				<input v-model='detailData.boxNoOther' @input="toUpperCase1" class="right-bottom" placeholder="请输入车厢号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="散船"' class="row row-bottom">
 				<view class="left">仓位号</view>

+ 0 - 1
pages/erp/receivingfeedback/list.vue

@@ -127,7 +127,6 @@
 					url: '/pages/erp/receivingfeedback/details?id=' + val.id,
 				    })
 				}
-				
 			}
 		}
 	}

+ 4 - 81
pages/erp/receivingfeedback/otherfeedback.vue

@@ -76,7 +76,7 @@
 				<view class="c-row">
 					<view class="title">卸车净重(吨)</view>
 					<view class="con-list">  
-						<input v-model='item.unloadNetWeight' placeholder="请输入卸车净重" :disabled="item.status == '已送达'" name="input"></input>
+						<input v-model='item.unloadNetWeight' placeholder="请输入卸车净重" :disabled="item.status == '已送达'" name="input" type="digit"></input>
 					</view>
 				</view>
 				<view class="flex">
@@ -123,7 +123,7 @@
 				<view class="c-row">
 					<view class="title">卸车净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item.unloadNetWeight' placeholder="请输入卸车净重" :disabled="item.status == '已送达'" name="input"></input>
+						<input v-model='item.unloadNetWeight' placeholder="请输入卸车净重" :disabled="item.status == '已送达'" name="input" type="digit"></input>
 					</view>
 				</view>
 				<view class="flex">
@@ -163,7 +163,7 @@
 				<view class="c-row">
 					<view class="title">装船净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item.unloadNetWeight' placeholder="请输入卸船净重" :disabled="item.status == '已送达'"  name="input"></input>
+						<input v-model='item.unloadNetWeight' placeholder="请输入卸船净重" :disabled="item.status == '已送达'" name="input" type="digit"></input>
 					</view>
 				</view>
 				<view class="flex">
@@ -203,7 +203,7 @@
 				<view class="c-row">
 					<view class="title">卸船净重(吨)</view>
 					<view class="con-list">
-						<input v-model='item.unloadNetWeight' placeholder="请输入卸船净重" :disabled="item.status == '已送达'" name="input"></input>
+						<input v-model='item.unloadNetWeight' placeholder="请输入卸船净重" :disabled="item.status == '已送达'" name="input" type="digit"></input>
 					</view>
 				</view>
 				<view class="flex">
@@ -241,9 +241,6 @@
 				action: this.$uploadUrl, //磅单上传地址
 				detailData: {},
 				show: false,
-				show1: false,
-				show2: false,
-				val: "", //假
 				carShow: false,
 				carurl: "../../../static/img/authentication/up2.png",
 				trainCarShow: false,
@@ -261,7 +258,6 @@
 				trainCarList: "",
 				shipList: "",
 				containerList: "",
-
 			}
 		},
 		onLoad(options) {
@@ -309,19 +305,6 @@
 					this.containerUrl = "../../../static/img/authentication/up2.png"
 				}
 			},
-
-			dateChange(e, num) {
-				this.sendCar[num].loadingDate = e.year + "-" + e.month + "-" + e.day
-			},
-			dateChange1(e, num) {
-				this.huoYun[num].loadingDate = e.year + "-" + e.month + "-" + e.day
-			},
-			dateChange2(e, num) {
-				this.looseShip[num].loadingDate = e.year + "-" + e.month + "-" + e.day
-			},
-			dateChange3(e, num) {
-				this.container[num].loadingDate = e.year + "-" + e.month + "-" + e.day
-			},
 			//完货
 			finishedgoods() {
 				for(let i = 0 ; i < this.detailData.tranCarInfoList1.length;i++){
@@ -370,66 +353,6 @@
 					}
 				})
 			},
-			//添加
-			add(index) {
-				if (index == 1) {
-					let _a = []
-					this.sendCar.push({
-						tranCarNo: "",
-						carNo: "",
-						caseNo: "",
-						caseNoOther: "",
-						titleNo: "",
-						titleNoOther: "",
-						loadNetWeight: "",
-						loadingDate: "",
-					})
-				} else if (index == 2) {
-					this.huoYun.push({
-						carNo: "",
-						boxNo1: "",
-						boxNo2: "",
-						loadNetWeight: "",
-						loadingDate: "",
-					})
-				} else if (index == 3) {
-					this.looseShip.push({
-						shipName: "",
-						shipNo: "",
-						loadNetWeight: "",
-						loadingDate: "",
-					})
-				} else if (index == 4) {
-					this.container.push({
-						caseNo: "",
-						titleNo: "",
-						loadNetWeight: "",
-						loadingDate: "",
-					})
-				}
-			},
-			// 删除
-			del(num, index) {
-				var that = this
-				uni.showModal({
-					content: "确定删除反馈信息?",
-					success(res) {
-						if (res.confirm) {
-							if (num == 1) {
-								that.sendCar.splice(index, 1)
-								// array.splice(start,delCount);//从start的位置开始向后删除delCount个元素
-							} else if (num == 2) {
-								that.huoYun.splice(index, 1)
-							} else if (num == 3) {
-								that.loadingDate.splice(index, 1)
-							} else if (num == 4) {
-								that.container.splice(index, 1)
-							}
-						}
-					}
-				})
-
-			},
 			//保存
 			pass(num, index) {
 				if(num == 1){

+ 7 - 7
pages/erp/warehousing/warehousing.vue

@@ -72,7 +72,7 @@
 			</view>
 			<view class="row row-bottom" v-if="detailData.type=='潮粮'">
 				<view class="left">纯重(吨)</view>
-				<input type="number" @input='calculate' v-model='detailData.pureWeight' class="right-bottom"
+				<input type="digit" @input='calculate' v-model='detailData.pureWeight' class="right-bottom"
 					placeholder="不可编辑,自动计算" :disabled="true"></input>
 			</view>
 			<view class="row">
@@ -130,22 +130,22 @@
 			<view v-if='detailData.outType=="集装箱船"||!detailData.outType||detailData.outType=="汽运"'
 				class="row row-bottom">
 				<view class="left">箱号</view>
-				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号"></input>
-				<input v-model='detailData.boxNoOther' class="right-bottom" placeholder="请输入箱号"></input>
+				<input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
+				<input v-model='detailData.boxNoOther' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
 			</view>
 			<view v-if='!detailData.outType||detailData.outType=="汽运" || detailData.outType=="集装箱船"' class="row row-bottom">
 				<view class="left">封号</view>
 				<input v-model='detailData.titleNo'  class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 				<input v-model='detailData.titleNoOther' class="right-bottom"
-					placeholder="请输入封号"></input>
+					placeholder="请输入封号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="火运"' class="row row-bottom">
 				<view class="left">车厢号</view>
 				<input v-model='detailData.wingNumber' @input="toUpperCase2" class="right-bottom"
-					placeholder="请输入车厢号"></input>
+					placeholder="请输入车厢号" type="digit"></input>
 				<input v-model='detailData.wingNumberOther' @input="toUpperCase3" class="right-bottom"
-					placeholder="请输入车厢号"></input>
+					placeholder="请输入车厢号" type="digit"></input>
 			</view>
 			<view v-if='detailData.outType=="散船"' class="row row-bottom">
 				<view class="left">仓位号</view>

+ 21 - 4
pages/erpbusiness/add_quality_testing.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class='wrap'>
+		<view @click='hidden' class='wrap'>
 			<view class='title_b'>基本信息</view>
 			<view class="c-row ">
 				<view class="title">仓库</view>
@@ -28,7 +28,8 @@
 			<view class="c-row ">
 				<view class="title">车牌号</view>
 				<view class="con-list">
-					<input v-model='gridList.carNumber' placeholder="请输入车牌号" name="input"></input>
+					<input v-model='gridList.carNumber' @click.stop="handleShowKeyboard":disabled="true" placeholder="请输入车牌号" name="input"></input>
+					<master-keyboard ref="keyboard" keyboardtype="car" :randomNumber="true" :newCar="false" :defaultValue="gridList.carNumber" @keyboardClick="handleClick"></master-keyboard>
 				</view>
 			</view>
 			<view v-if="gridList.paramType != '1'" class="c-row ">
@@ -64,7 +65,7 @@
 			<view class="c-row ">
 				<view class="title">囤位号</view>
 				<view class="con-list">
-					<input type='number' v-model='gridList.storageTagNo' placeholder="请输入囤位号" name="input"></input>
+					<input type="digit" v-model='gridList.storageTagNo' placeholder="请输入囤位号" name="input"></input>
 				</view>
 			</view>
 			<view class="c-row ">
@@ -167,6 +168,7 @@
 
 <script>
 	import dragButton from "@/components/drag-button/drag-button.vue";
+	import keyboard from "@/components/master-keyboard/master-keyboard.vue";
 	import {
 		mapState
 	} from 'vuex';
@@ -175,7 +177,8 @@
 		pageAtTop = true;
 	export default {
 		components: {
-			dragButton
+			dragButton,
+			keyboard
 		},
 		data() {
 			return {
@@ -216,6 +219,7 @@
 					tidalGrainPrice: '',
 					dryGrainPrice: '',
 					buckleMiscellaneous: '',
+					carNumber:''
 				},
 				typeList: ['潮粮', '干粮'],
 				managementType: '',
@@ -365,6 +369,19 @@
 			})
 		},
 		methods: {
+			hidden(){
+				this.$refs.keyboard.open(false)
+			},
+			handleShowKeyboard(){
+				if(this.$refs.keyboard.open){
+					this.$refs.keyboard.open(true)//true 键盘显示 false 键盘隐藏
+				}else{
+					this.$refs.keyboard[0].open(true)
+				}
+			},
+			handleClick(e){
+				this.gridList.carNumber = e.value //键盘输入值
+			},
 			// confirmInfo() {
 			// 	this.isShowAlert = true	
 			// },

+ 92 - 43
pages/erpbusiness/edit_quality_testing.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class='wrap'>
+		<view @click='hidden' class='wrap'>
 			<view class='title_b'>基本信息</view>
 			<view class="c-row ">
 				<view class="title">仓库</view>
@@ -23,7 +23,9 @@
 			<view class="c-row ">
 				<view class="title">车牌号</view>
 				<view class="con-list">
-					<input :disabled='flag==1' v-model='gridList.carNumber' placeholder="请输入车牌号" name="input"></input>
+					<input v-model='gridList.carNumber' @click.stop="handleShowKeyboard":disabled="true" placeholder="请输入车牌号" name="input"></input>
+					<master-keyboard ref="keyboard" keyboardtype="car" :randomNumber="true" :newCar="false" :defaultValue="gridList.carNumber" @keyboardClick="handleClick"></master-keyboard>
+					<!-- <input :disabled='flag==1' v-model='gridList.carNumber' placeholder="请输入车牌号" name="input"></input> -->
 				</view>
 			</view>
 			<view v-if="gridList.paramType != '1'" class="c-row ">
@@ -97,7 +99,7 @@
 					<input v-model='gridList.dryGrainPrice' placeholder="请输入干粮单价" name="input"></input>
 				</view>
 			</view>
-			<view class="c-row-fj" v-if="flag==1">
+			<view class="c-row-fj" v-if="flag==2">
 				<view style="margin: 0px 0px 30rpx 10rpx;">复检备注</view>
 					<textarea class='textarea-style' v-model='gridList.reMemo' placeholder="请输入复检备注" maxlength="300"></textarea>
 			</view>
@@ -105,7 +107,11 @@
 		</view>
 		<view style='padding-bottom:300rpx;'>
 			<view class='wrap'>
-				<view class='title_b'>化验信息</view>
+				<view style='margin-right:10px;' class='flex justify-between align-item-center'>
+					<view class='title_b'>化验信息</view>
+					<u-switch v-if='flag!=1' v-model="value" @change="change"></u-switch>
+				</view>
+				
 
 				<view class="c-row ">
 					<view class="title">等级</view>
@@ -166,7 +172,7 @@
 		</view>
 
 		<view class="footer">
-			<view @click='confirmInfo' class="button">确认初检信息</view>
+			<view v-if='!value&&flag==1' @click='confirmInfo' class="button">确认初检信息</view>
 			<view @click='submit' class="button">提交</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
@@ -177,6 +183,7 @@
 
 <script>
 	import dragButton from "@/components/drag-button/drag-button.vue";
+	import keyboard from "@/components/master-keyboard/master-keyboard.vue";
 	import {
 		mapState
 	} from 'vuex';
@@ -185,7 +192,8 @@
 		pageAtTop = true;
 	export default {
 		components: {
-			dragButton
+			dragButton,
+			keyboard
 		},
 		data() {
 			return {
@@ -220,7 +228,8 @@
 					natureOfGrainPurchase: '贸易粮',
 					type: '潮粮',
 					tidalGrainPrice: '',
-					dryGrainPrice: ''
+					dryGrainPrice: '',
+					carNumber:''
 				},
 				managementType: '',
 				warehouseName: '',
@@ -228,6 +237,7 @@
 				showTran: true,
 				companyId: 1,
 				current: 4,
+				value:false,
 				gradeList: [{
 						key: 1,
 						value: '一等品'
@@ -288,12 +298,18 @@
 			this.managementType = options.managementType
 		},
 		onShow() {
+			console.log(this.flag)
 			var that = this
 			this.$api.doRequest('get', '/qualityInspectionManagement/api/getQualityInspection', {
 				id: this.id
 			}).then(res => {
 				if (res.data.data) {
 					let data = res.data.data
+					if(data.supplementaryRecording==1){
+						that.value=true
+					}else{
+						that.value=false
+					}
 					that.gridList = data
 					that.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {
 						id: this.cangid
@@ -315,21 +331,52 @@
 			this.gridList.gradeKey = this.gradeList[0].key
 		},
 		methods: {
+			hidden(){
+				this.$refs.keyboard.open(false)
+			},
+			handleShowKeyboard(){
+				if(this.flag==0){
+					if(this.$refs.keyboard.open){
+						this.$refs.keyboard.open(true)//true 键盘显示 false 键盘隐藏
+					}else{
+						this.$refs.keyboard[0].open(true)
+					}
+				}
+			},
+			handleClick(e){
+				this.gridList.carNumber = e.value //键盘输入值
+			},
+			change(e){
+				if(e){
+					this.gridList.supplementaryRecording=1
+				}else{
+					this.gridList.supplementaryRecording=0
+				}
+				
+			},
 			confirmInfo() {
 				this.isShowAlert = true	
 			},
 			alertBtn() {
+				var that = this
 				this.$api.doRequest('post', '/qualityInspectionManagement/api/editQualityInspection', {
 					id: this.id,
 					flag:2
 				}).then(res => {
 					if(res.data.code=="200"){
-						this.$api.msg('提交成功!')
-						setTimeout(function(){
-								uni.navigateBack({})
-						},1000)
+						that.gridList.flag=1
+						that.$api.doRequest('post', '/qualityInspectionManagement/api/editQualityInspection', that.gridList).then(res => {
+							if(res.data.code=="200"){
+								that.$api.msg('提交成功!')
+								setTimeout(function(){
+										uni.navigateBack({})
+								},1000)
+							}else{
+								that.$api.msg('提交失败')
+							}
+						})
 					}else{
-						this.$api.msg('提交失败')
+						that.$api.msg('提交失败')
 					}
 				})
 			},
@@ -452,37 +499,39 @@
 					this.$api.msg('购粮性质不能为空')
 					return
 				}
-				if (!this.gridList.grade) {
-					this.$api.msg('等级不能为空')
-					return
-				}
-				if (!this.gridList.impurity) {
-					this.$api.msg('杂质不能为空')
-					return
-				}
-				if (!this.gridList.waterContent) {
-					this.$api.msg('初检水分不能为空')
-					return
-				}
-				// if (!this.gridList.reWaterContent) {
-				// 	this.$api.msg('复检水分不能为空')
-				// 	return
-				// }
-				if (!this.gridList.mildewGrain) {
-					this.$api.msg('霉变粒不能为空')
-					return
-				}
-				if (!this.gridList.bulkDensity) {
-					this.$api.msg('容重不能为空')
-					return
-				}
-				if (!this.gridList.jiaorenli) {
-					this.$api.msg('热损伤不能为空')
-					return
-				}
-				if (!this.gridList.imperfectGrain) {
-					this.$api.msg('不完整粒不能为空')
-					return
+				if(this.value==false){
+					if (!this.gridList.grade) {
+						this.$api.msg('等级不能为空')
+						return
+					}
+					if (!this.gridList.impurity) {
+						this.$api.msg('杂质不能为空')
+						return
+					}
+					if (!this.gridList.waterContent) {
+						this.$api.msg('初检水分不能为空')
+						return
+					}
+					// if (!this.gridList.reWaterContent) {
+					// 	this.$api.msg('复检水分不能为空')
+					// 	return
+					// }
+					if (!this.gridList.mildewGrain) {
+						this.$api.msg('霉变粒不能为空')
+						return
+					}
+					if (!this.gridList.bulkDensity) {
+						this.$api.msg('容重不能为空')
+						return
+					}
+					if (!this.gridList.jiaorenli) {
+						this.$api.msg('热损伤不能为空')
+						return
+					}
+					if (!this.gridList.imperfectGrain) {
+						this.$api.msg('不完整粒不能为空')
+						return
+					}
 				}
 				uni.showModal({
 					content: "确定提交质检信息?",

+ 10 - 6
pages/erpbusiness/quality_testing.vue

@@ -29,12 +29,16 @@
 			<view class="item-style" v-for='item in gridList' @click='examine(item)'>
 				<view class="row1">
 					<view class="row1-left">
-						<view class="left status1" v-if="item.status=='已质检'">检</view>
-						<view class="left status2" v-if="item.status=='已称皮重'">皮</view>
-						<view class="left status3" v-if="item.status=='已称毛重'">毛</view>
-						<view class="left status1" v-if="item.status=='已初检'">初</view>
-						<view class="left status2" v-if="item.status=='已复检'&&item.confirm!='1'">复</view>
 						<view class="left status3" v-if="item.confirm=='1'">确</view>
+						<view v-else>
+							<view class="left status1" v-if="item.status=='已质检'">检</view>
+							<view class="left status2" v-if="item.status=='已称皮重'">皮</view>
+							<view class="left status3" v-if="item.status=='已称毛重'">毛</view>
+							<view class="left status1" v-if="item.status=='已初检'">初</view>
+							<view class="left status2" v-if="item.status=='已复检'">复</view>
+							<view class="left status3" v-if="item.confirm=='1'">确</view>
+						</view>
+						
 						<view>
 							<view class="top-title">
 								<view v-if='managementType==1'>{{item.qualityNo}}</view>
@@ -59,7 +63,7 @@
 						@click.stop='edit(item,0)' class='button'>初检</view>
 					<view
 						v-if='getRoles("acquisitionQuality.con")&&item.confirm!="1"&&item.status=="已复检"&&managementType==1'
-						@click.stop='edit(item,2)' class='button'>确认</view>
+						@click.stop='edit(item,1)' class='button'>确认</view>
 					<view v-if='getRoles("acquisitionQuality.again")&&item.confirm!="1"&&managementType==1'
 						@click.stop='edit(item,1)' class='button'>复检</view>
 					<view v-if='getRoles("acquisitionQualityOut.edit")&&item.status=="已称毛重"&&managementType==3'

+ 86 - 4
pages/user/depotAcquisition/grainDeliveryRegistration.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="content">
+	<view @click='hidden' class="content">
 		<view class="content1">
 			<view class="row1">
 				<view class="title">{{dataList.warehouseName}}</view>
@@ -42,7 +42,9 @@
 						车牌号-{{index1+1}}
 					</view>
 					<view class="right">
-						<u-input v-model="item1.carNo" placeholder="输入7位车牌号" />
+						<input v-model='item1.carNo' @click.stop="handleShowKeyboard(index,index1)":disabled="true" placeholder="输入7位车牌号" name="input"></input>
+						
+						<!-- <u-input v-model="item1.carNo" placeholder="输入7位车牌号" /> -->
 						<view class="btn">
 							<view @click="addCarNumber(item.carNumberList)" style="margin-right: 20rpx;">
 								<image class='row4-img'
@@ -56,6 +58,7 @@
 					</view>
 
 				</view>
+				
 			</view>
 			<view class='add-good-people' @click='addGoodPeople'>
 				<image class="img"
@@ -63,6 +66,7 @@
 					@click="reduceBtn(index)"></image>增加货主
 			</view>
 		</view>
+		<master-keyboard ref="keyboard" keyboardtype="car" :randomNumber="true" :newCar="false" :defaultValue="carNo" @keyboardClick="handleClick"></master-keyboard>
 		<u-button class='submit' @click='submit'>提交</u-button>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
 			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
@@ -77,15 +81,17 @@
 	import {
 		mapState
 	} from 'vuex';
-
+	import keyboard from "@/components/master-keyboard/master-keyboard.vue";
 	export default {
 		components: {
-
+			keyboard
 		},
 		data() {
 			return {
 				isShowAlert: false,
 				isShowAlert1: false,
+				index:0,
+				index1:0,
 				content: '当前登入信息验证失败,是否重新登录?',
 				content1: '确定提交送粮信息?',
 				// show: false,
@@ -94,6 +100,7 @@
 					name: '123'
 				}],
 				nameList: [],
+				carNo:'',
 				warehouseNameAddress: '',
 				startDate: "",
 				dataList: {
@@ -138,10 +145,85 @@
 			console.log("hasLogin", this.hasLogin)
 		},
 		methods: {
+			hidden(){
+				this.carNo=''
+				if(this.$refs.keyboard.open){
+					this.$refs.keyboard.open(false)//true 键盘显示 false 键盘隐藏
+				}else{
+					this.$refs.keyboard[0].open(false)
+				}
+			},
+			handleShowKeyboard(index,index1){
+				if(this.dataList.shippingInformationList[this.index].carNumberList[this.index1].carNo==''){
+					this.carNo=''
+					
+				}else{
+					this.carNo=this.dataList.shippingInformationList[this.index].carNumberList[this.index1].carNo
+				}
+				if(this.$refs.keyboard.open){
+						this.$refs.keyboard.open(false)//true 键盘显示 false 键盘隐藏
+					}else{
+						this.$refs.keyboard[0].open(false)
+					}
+				this.index=index
+				this.index1=index1
+				if(this.$refs.keyboard.open){
+					this.$refs.keyboard.open(true)//true 键盘显示 false 键盘隐藏
+				}else{
+					this.$refs.keyboard[0].open(true)
+				}
+				
+			},
+			handleClick(e){
+				this.carNo=e.value
+				this.dataList.shippingInformationList[this.index].carNumberList[this.index1].carNo = e.value //键盘输入值
+			},
 			showCustomerName(value, index) {
 				this.selectObj = value
 				this.selectObj.index = index
 				value.showCustomerName = true
+				that.$api.doRequest('get', '/paymentManagement/cumulant', {
+					compId: JSON.parse(localStorage.getItem('pcUserInfo')).data.compId,
+					customerNumberCard: that.detailData.customerNumberCard,
+					goodsName: that.detailData.goodsName,
+				}).then(res => {
+					if (res.data.code == 200) {
+						for (let i = 0; i < that.purchasePriceList.length; i++) {
+							if (
+								that.detailData.goodsName == that.purchasePriceList[i]
+								.goodsName
+							) {
+								let count = (that.purchasePriceList[i].saleLimit -
+									res.data.data / 1000).toFixed(2)
+								if (Number(count) - that.detailData.grossWeight / 1000 <= 0) {
+									that.$api.msg('该客户累计销售' + that.detailData.goodsName + (
+											res.data.data / 1000).toFixed(2) +
+										'吨,还可售粮' +
+										count + '吨', )
+				
+								} else {
+									that.$api.doRequest('post',
+										'/weighingManagement/api/editGrossWeight', that
+										.detailData).then(res => {
+										if (res.data.code == 200) {
+											that.$refs.uToast.show({
+												title: '提交成功',
+												type: 'success'
+											})
+											uni.navigateBack({})
+										} else {
+											that.$refs.uToast.show({
+												title: '提交失败',
+												type: 'error',
+											})
+										}
+									})
+				
+								}
+							}
+						}
+					}
+				})
 			},
 			getCustomer() {
 				let _data = {

binární
static/icon_delete.png


binární
static/icon_down.png