瀏覽代碼

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

zhongtianhaoyuan 3 年之前
父節點
當前提交
ff70040e13
共有 49 個文件被更改,包括 973 次插入176 次删除
  1. 307 0
      components/master-keyboard/master-keyboard.scss
  2. 306 0
      components/master-keyboard/master-keyboard.vue
  3. 1 1
      demo.vue
  4. 2 2
      main.js
  5. 2 2
      pageA/product/buydetails.vue
  6. 3 3
      pageA/product/detail.vue
  7. 2 2
      pageA/product/detail_buy.vue
  8. 2 2
      pageA/product/saledetails.vue
  9. 3 3
      pageA/product/sales_detail.vue
  10. 2 2
      pageB/contract/collectLook.vue
  11. 2 2
      pageB/contract/contract.vue
  12. 2 2
      pageB/contract/look.vue
  13. 3 3
      pageB/trust/trust.vue
  14. 2 2
      pages/attestation/index.vue
  15. 1 1
      pages/attestation/indexTwo.vue
  16. 2 2
      pages/bill/index.vue
  17. 1 1
      pages/erp/contactCustomerService/contactCustomerService.vue
  18. 9 1
      pages/erp/exWarehousing/exWarehousing.vue
  19. 3 3
      pages/erp/index.vue
  20. 1 1
      pages/erp/openService/openService.vue
  21. 9 1
      pages/erp/warehousing/warehousing.vue
  22. 2 2
      pages/erpbusiness/QRCode/QRCode.vue
  23. 2 2
      pages/erpbusiness/acquisitionInformation.vue
  24. 2 2
      pages/erpbusiness/acquisitionInspection/acquisitionInspection.vue
  25. 2 2
      pages/erpbusiness/acquisitionInspection/warehouseWeighing.vue
  26. 57 30
      pages/erpbusiness/add_quality_testing.vue
  27. 3 2
      pages/erpbusiness/customer.vue
  28. 37 9
      pages/erpbusiness/edit_quality_testing.vue
  29. 4 4
      pages/erpbusiness/index.vue
  30. 1 1
      pages/erpbusiness/quality_testing.vue
  31. 3 3
      pages/grain_pulse/dynamic.vue
  32. 2 2
      pages/grain_pulse/home.vue
  33. 2 2
      pages/home/home.vue
  34. 2 2
      pages/release/release.vue
  35. 29 11
      pages/task/audit/Issueandreceipt_task_approval.vue
  36. 6 6
      pages/task/audit/Issueandreceipt_task_details.vue
  37. 1 1
      pages/task/audit/acquisition_information_approval.vue
  38. 11 1
      pages/task/my_task.vue
  39. 3 3
      pages/tran/car_detail.vue
  40. 2 2
      pages/tran/my_tran.vue
  41. 2 2
      pages/tran/tran_detail.vue
  42. 2 2
      pages/user/depotAcquisition/depotAcquisition.vue
  43. 2 2
      pages/user/depotAcquisition/grainDeliveryRecord.vue
  44. 123 39
      pages/user/depotAcquisition/grainDeliveryRegistration.vue
  45. 2 2
      pages/user/depotMonitoring.vue
  46. 2 2
      pages/user/task_detail_kn.vue
  47. 4 4
      pages/user/user.vue
  48. 二進制
      static/icon_delete.png
  49. 二進制
      static/icon_down.png

+ 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>

+ 1 - 1
demo.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="wrap">
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>

+ 2 - 2
main.js

@@ -133,7 +133,7 @@ const request = (_gp, _mt, data = {}, failCallback) => {
 							failCallback(res.data)
 						}
 						uni.showModal({
-							title: '登录提示',
+							title: '提示',
 							content: '您尚未登录,是否立即登录?',
 							showCancel: true,
 							confirmText: '登录',
@@ -150,7 +150,7 @@ const request = (_gp, _mt, data = {}, failCallback) => {
 						if (!loginLock) {
 							loginLock = true
 							// uni.showModal({
-							// 	title: '登录提示',
+							// 	title: '提示',
 							// 	content: '您尚未登录,是否立即登录?',
 							// 	showCancel: false,
 							// 	confirmText: '登录',

+ 2 - 2
pageA/product/buydetails.vue

@@ -170,7 +170,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -396,7 +396,7 @@
 				if (this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 3 - 3
pageA/product/detail.vue

@@ -227,7 +227,7 @@
 			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='去认证' title='温馨提示'
 			showCancelButton='false' :content="content" @confirm="goOpenService" @cancel="cancelClick"></u-modal>
 		<u-modal v-model="isShowAlert1" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content1" @confirm="alertBtn1" @cancel="cancelClick1"></u-modal>
 	</view>
 </template>
@@ -423,7 +423,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert1 = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -555,7 +555,7 @@
 				// })
 				// if (!this.hasLogin) {
 				// 	uni.showModal({
-				// 		title: '登录提示',
+				// 		title: '提示',
 				// 		content: '您尚未登录,是否立即登录?',
 				// 		showCancel: true,
 				// 		confirmText: '登录',

+ 2 - 2
pageA/product/detail_buy.vue

@@ -157,7 +157,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-					:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+					:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 					showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -241,7 +241,7 @@
 			tradeNow(){
 				if (!this.hasLogin) {
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pageA/product/saledetails.vue

@@ -170,7 +170,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -396,7 +396,7 @@
 				if (this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 3 - 3
pageA/product/sales_detail.vue

@@ -223,7 +223,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -401,7 +401,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -518,7 +518,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pageB/contract/collectLook.vue

@@ -70,7 +70,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 
 	</view>
@@ -291,7 +291,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pageB/contract/contract.vue

@@ -72,7 +72,7 @@
 			<!-- <button class="cu-btn commit margin-tb-sm lg" @click="commit">提交</button> -->
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 		<!-- </block> -->
 	</view>
@@ -360,7 +360,7 @@
 				if (this.hasLogin) {
 					this.isShowAlert = true;
 					// 	uni.showModal({
-					// 		title: '登录提示',
+					// 		title: '提示',
 					// 		content: '您尚未登录,是否立即登录?',
 					// 		showCancel: true,
 					// 		confirmText: '登录',

+ 2 - 2
pageB/contract/look.vue

@@ -91,7 +91,7 @@
 
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 
 	</view>
@@ -348,7 +348,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 3 - 3
pageB/trust/trust.vue

@@ -281,7 +281,7 @@
 			</view>
 			<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
 				:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定'
-				title='登录提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
+				title='提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
 			</u-modal>
 		</block>
 
@@ -400,7 +400,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -666,7 +666,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/attestation/index.vue

@@ -214,7 +214,7 @@
 			},
 			deleteLS(item) {
 				uni.showModal({
-					// title: '登录提示',
+					// title: '提示',
 					content: '身份信息删除后不可恢复,是否确定删除?',
 					showCancel: true,
 					confirmText: '确定',
@@ -255,7 +255,7 @@
 				this.deletes = {}
 				this.deletes.id = item.id
 				uni.showModal({
-					// title: '登录提示',
+					// title: '提示',
 					content: '身份信息删除后不可恢复,是否确定删除?',
 					showCancel: true,
 					confirmText: '确定',

+ 1 - 1
pages/attestation/indexTwo.vue

@@ -411,7 +411,7 @@
 			},
 			deleteLS(item) {
 				uni.showModal({
-					// title: '登录提示',
+					// title: '提示',
 					content: '身份信息删除后不可恢复,是否确定删除?',
 					showCancel: true,
 					confirmText: '确定',

+ 2 - 2
pages/bill/index.vue

@@ -74,7 +74,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -230,7 +230,7 @@
 				if(!this.hasLogin){
 					this.isShowAlert = true;
 				// 	ni.showModal({
-				// 		title: '登录提示',
+				// 		title: '提示',
 				// 		content: '您尚未登录,是否立即登录?',
 				// 		showCancel: true,
 				// 		confirmText: '登录',

+ 1 - 1
pages/erp/contactCustomerService/contactCustomerService.vue

@@ -88,7 +88,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 9 - 1
pages/erp/exWarehousing/exWarehousing.vue

@@ -454,7 +454,15 @@
 				this.detailData.grade = this.inOutNoList[e[0]].grade
 				this.detailData.inOutType = this.inOutNoList[e[0]].inOutType
 				if (this.detailData.inOutType == '销售出库') {
-					this.detailData.tips = '买方' + this.contractNoList[i].buyer
+					if(this.detailData.tips = '买方' + this.contractNoList[i].buyer){
+						this.detailData.tips = '买方' + this.contractNoList[i].buyer+
+						'( ' +
+						this.contractNoList[i].unitContractPrice +
+						'元/吨)'
+					}else{
+						this.detailData.tips = '买方' + this.contractNoList[i].buyer
+					}
+					
 				} else if (this.detailData.inOutType == '移库出库') {
 					this.detailData.tips = '入货库' + this.inOutNoList[e[0]].warehouseName
 				}

+ 3 - 3
pages/erp/index.vue

@@ -57,7 +57,7 @@
 			title='您尚未开通ERP业务' showCancelButton='false' :content="content" @confirm="goOpenService"
 			@cancel="cancelClick"></u-modal>
 		<u-modal v-model="isShowAlert1" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content1" @confirm="alertBtn1" @cancel="cancelClick1"></u-modal>
 	</view>
 </template>
@@ -219,7 +219,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert1 = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -309,7 +309,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert1 = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 1 - 1
pages/erp/openService/openService.vue

@@ -88,7 +88,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 9 - 1
pages/erp/warehousing/warehousing.vue

@@ -473,7 +473,15 @@
 					for (var i = 0; i < this.contractNoList.length; i++) {
 						if (this.contractNoList[i].contractNo == this.detailData.contractNo) {
 							if (this.detailData.inOutType == '采购入库') {
-								this.detailData.tips = '卖方' + this.contractNoList[i].seller
+								if(this.contractNoList[i].unitContractPrice){
+									this.detailData.tips = '卖方' + this.contractNoList[i].seller+
+              '( ' +
+              this.contractNoList[i].unitContractPrice +
+              '元/吨)'
+								}else{
+									this.detailData.tips = '卖方' + this.contractNoList[i].seller
+								}
+								
 							} else if (this.detailData.inOutType == '移库入库') {
 								this.detailData.tips = '出货库' + this.inOutNoList[0].warehouseName
 							} else if (this.detailData.inOutType == '退库') {

+ 2 - 2
pages/erpbusiness/QRCode/QRCode.vue

@@ -6,7 +6,7 @@
 			<!-- <view class="qrcode-text">客户扫码</view> -->
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -28,7 +28,7 @@
 					if (res.data.data == "INVALID") {
 						this.isShowAlert = true;
 						// uni.showModal({
-						// 	title: "登录提示",
+						// 	title: "提示",
 						// 	content: "Session过期需要重新登录,是否立即登录",
 						// 	showCancel: true,
 						// 	confirmText: '登录',

+ 2 - 2
pages/erpbusiness/acquisitionInformation.vue

@@ -29,7 +29,7 @@
 		</view>
 		<u-toast ref="uToast" />
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 		<u-modal v-model="isShowAlert1" :title-style="{fontSize: '18px',fontWeight:'500'}"
 			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='收购信息'
@@ -101,7 +101,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/erpbusiness/acquisitionInspection/acquisitionInspection.vue

@@ -65,7 +65,7 @@
 			<uni-load-more :status="loadStatus"></uni-load-more>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -102,7 +102,7 @@
 					if (res.data.data == "INVALID") {
 						this.isShowAlert = true;
 						// uni.showModal({
-						// 	title: "登录提示",
+						// 	title: "提示",
 						// 	content: "Session过期需要重新登录,是否立即登录",
 						// 	showCancel: true,
 						// 	confirmText: '登录',

+ 2 - 2
pages/erpbusiness/acquisitionInspection/warehouseWeighing.vue

@@ -69,7 +69,7 @@
 			<view @click='add' class="button" v-if='getRoles("acquisitionWeightOut.new")'>新增</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -104,7 +104,7 @@
 					if (res.data.data == "INVALID") {
 						this.isShowAlert = true;
 						// uni.showModal({
-						// 	title: "登录提示",
+						// 	title: "提示",
 						// 	content: "Session过期需要重新登录,是否立即登录",
 						// 	showCancel: true,
 						// 	confirmText: '登录',

+ 57 - 30
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>
@@ -14,6 +14,15 @@
 					{{gridList.qualityNo}}
 				</view>
 			</view>
+			<view class="c-row ">
+				<view class="title">货名</view>
+				<view class="con-list">
+					<view @click='show2=true'>{{gridList.goodsName}}</view>
+					<u-picker :range="goodsList" range-key="goodsName" @confirm='goodspicker($event)' v-model="show2"
+						mode="selector">
+					</u-picker>
+				</view>
+			</view>
 			<view class="c-row ">
 				<view class="title">客户</view>
 				<view class="con-list">
@@ -28,7 +37,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 ">
@@ -67,15 +77,6 @@
 					<input type="digit" v-model='gridList.storageTagNo' placeholder="请输入囤位号" name="input"></input>
 				</view>
 			</view>
-			<view class="c-row ">
-				<view class="title">货名</view>
-				<view class="con-list">
-					<view @click='show2=true'>{{gridList.goodsName}}</view>
-					<u-picker :range="goodsList" range-key="goodsName" @confirm='goodspicker($event)' v-model="show2"
-						mode="selector">
-					</u-picker>
-				</view>
-			</view>
 			<view class="c-row ">
 				<view class="title">类型</view>
 				<view v-if="!edit" class="con-list">
@@ -160,13 +161,14 @@
 			<view @click='submit' class="button">提交</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
 
 <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: '',
@@ -316,20 +320,6 @@
 			}
 			this.gridList.grade = this.gradeList[0].value
 			this.gridList.gradeKey = this.gradeList[0].key
-			this.$api.doRequest('get', '/identityAuthenticationInfo/identityAuthenticationInfoCustomer', {
-				compId: '',
-				authenticationStatusKey: 7
-			}).then(res => {
-				if (res.data.data) {
-					// let data = res.data.data
-					// that.gridList =data
-					that.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {
-						id: this.cangid
-					}).then(res => {
-						that.warehouseList = res.data.data.warehousePositionInfoList
-					})
-				}
-			})
 			this.$api.doRequest('get', '/qualityInspectionManagement/api/goodsName', {
 				warehouseId: this.cangid
 			}).then(res => {
@@ -346,6 +336,14 @@
 						} else {
 							that.edit = false
 						}
+						this.$api.doRequest('get', '/identityAuthenticationInfo/identityAuthenticationInfoCustomer', {
+							warehouseId: this.cangid,
+							goodsName: that.gridList.goodsName
+						}).then(res => {
+							if (res.data.data) {
+								uni.hideLoading()
+							}
+						})
 						uni.setStorageSync('purchasePriceList', that.goodsList)
 						that.purchasePriceList = uni.getStorageSync('purchasePriceList')
 						that.waterContentChange()
@@ -365,6 +363,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	
 			// },
@@ -435,8 +446,7 @@
 			},
 			gocustomer() {
 				uni.navigateTo({
-					url: '/pages/erpbusiness/customer?cangid=' + this.cangid + '&warehouseName=' + this.gridList
-						.warehouseName
+					url: '/pages/erpbusiness/customer?cangid=' + this.cangid + '&warehouseName=' + this.gridList.warehouseName + '&goodsName=' + this.gridList.goodsName
 				})
 			},
 			getdate() {
@@ -551,7 +561,6 @@
 												that.gridList.goodsName == that.purchasePriceList[i]
 												.goodsName
 											) {
-												debugger
 												let count = (that.purchasePriceList[i].saleLimit -
 													response.data.data / 1000).toFixed(2)
 													console.log(count,that.purchasePriceList[i].saleLimit,
@@ -593,6 +602,7 @@
 				this.waterContentChange()
 			},
 			setGoodName(e) {
+				uni.showLoading({title: '加载中',mask:true})
 				// [e[0]] = 0
 				// this.$set(this.gradeList,'grade',this.gradeList[e[0]].value)
 				if (this.goodsList[e[0]].goodsName == '玉米') {
@@ -605,7 +615,23 @@
 					this.gridList.type = '干粮'
 					this.edit = false
 				}
+				var that = this
 				this.gridList.goodsName = this.goodsList[e[0]].goodsName
+				this.$api.doRequest('get', '/identityAuthenticationInfo/identityAuthenticationInfoCustomer', {
+					warehouseId: this.cangid,
+					goodsName: this.gridList.goodsName
+				}).then(res => {
+					if (res.data.data) {
+						uni.hideLoading()
+						// let data = res.data.data
+						// that.gridList =data
+						that.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {
+							id: this.cangid
+						}).then(res => {
+							that.warehouseList = res.data.data.warehousePositionInfoList
+						})
+					}
+				})
 				uni.setStorageSync('goodsName', this.gridList.goodsName)
 				if (this.gridList.type == "干粮" && this.gridList.goodsName) {
 					this.$api.doRequest('get', '/purchasePrice/dryGrainPrice', {
@@ -613,6 +639,7 @@
 						goodsName: this.gridList.goodsName
 					}).then(res => {
 						this.gridList.dryGrainPrice = res.data.data
+						
 					})
 				}
 				this.waterContentChange()

+ 3 - 2
pages/erpbusiness/customer.vue

@@ -116,6 +116,7 @@
 		onLoad(options) {
 			this.cangid = options.cangid
 			this.warehouseName = options.warehouseName
+			this.goodsName = options.goodsName
 			this.$api.doRequest('get', '/qualityInspectionManagement/api/goodsName', {
 				warehouseId: this.cangid
 			}).then(res => {
@@ -371,8 +372,8 @@
 				if (this.searchKeyWord.length > 0) {
 					url = '/identityAuthenticationInfo/identityAuthenticationInfoCustomer'
 					data = {
-						compId: '',
-						authenticationStatusKey: 7,
+						warehouseId: that.cangid,
+						goodsName: that.goodsName,
 						searchKeyWord: this.searchKeyWord
 					}
 				} else {

+ 37 - 9
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 ">
@@ -179,6 +181,7 @@
 
 <script>
 	import dragButton from "@/components/drag-button/drag-button.vue";
+	import keyboard from "@/components/master-keyboard/master-keyboard.vue";
 	import {
 		mapState
 	} from 'vuex';
@@ -187,7 +190,8 @@
 		pageAtTop = true;
 	export default {
 		components: {
-			dragButton
+			dragButton,
+			keyboard
 		},
 		data() {
 			return {
@@ -222,7 +226,8 @@
 					natureOfGrainPurchase: '贸易粮',
 					type: '潮粮',
 					tidalGrainPrice: '',
-					dryGrainPrice: ''
+					dryGrainPrice: '',
+					carNumber:''
 				},
 				managementType: '',
 				warehouseName: '',
@@ -324,6 +329,21 @@
 			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
@@ -336,17 +356,25 @@
 				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('提交失败')
 					}
 				})
 			},

+ 4 - 4
pages/erpbusiness/index.vue

@@ -37,7 +37,7 @@
 			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='温馨提示'
 			showCancelButton='false' :content="content" @confirm="goOpenService" @cancel="cancelClick"></u-modal>
 		<u-modal v-model="isShowAlert1" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content1" @confirm="alertBtn1" @cancel="cancelClick1"></u-modal>
 	</view>
 </template>
@@ -199,7 +199,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert1 = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -417,7 +417,7 @@
 				}
 				if (!this.hasLogin) {
 					uni.showModal({
-						title: '登录提示',
+						title: '提示',
 						content: '您尚未登录,是否立即登录?',
 						showCancel: true,
 						confirmText: '登录',
@@ -442,7 +442,7 @@
 			setting() {
 				if (!this.hasLogin) {
 					uni.showModal({
-						title: '登录提示',
+						title: '提示',
 						content: '您尚未登录,是否立即登录?',
 						showCancel: true,
 						confirmText: '登录',

+ 1 - 1
pages/erpbusiness/quality_testing.vue

@@ -63,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'

+ 3 - 3
pages/grain_pulse/dynamic.vue

@@ -61,7 +61,7 @@
 		</view>
 		<u-back-top :scroll-top="scrollTop" mode="circle" icon="arrow-upward"></u-back-top>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -204,7 +204,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -258,7 +258,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/grain_pulse/home.vue

@@ -78,7 +78,7 @@
 		</view>
 		<u-back-top :scroll-top="scrollTop" mode="circle" icon="arrow-upward"></u-back-top>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -362,7 +362,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/home/home.vue

@@ -112,7 +112,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-					:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+					:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 					showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -232,7 +232,7 @@ export default {
 		if (!this.hasLogin) {
 			this.isShowAlert = true;
 			// uni.showModal({
-			// 	title: '登录提示',
+			// 	title: '提示',
 			// 	content: '您尚未登录,是否立即登录?',
 			// 	showCancel: true,
 			// 	confirmText: '登录',

+ 2 - 2
pages/release/release.vue

@@ -172,7 +172,7 @@
 				if (item.type == "买粮") {
 					var that = this
 					uni.showModal({
-						// title: '登录提示',
+						// title: '提示',
 						content: '确定删除该信息?',
 						showCancel: true,
 						confirmText: '确定',
@@ -203,7 +203,7 @@
 					})
 				} else if (item.type == "卖粮") {
 					uni.showModal({
-						// title: '登录提示',
+						// title: '提示',
 						content: '确定删除该信息?',
 						showCancel: true,
 						confirmText: '确定',

+ 29 - 11
pages/task/audit/Issueandreceipt_task_approval.vue

@@ -63,10 +63,10 @@
 							<view class="left">预计出库日期</view>
 							<view class="right">{{retreatList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{retreatList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">收货人</view>
 							<view class="right">{{retreatList.agent}}</view>
@@ -86,7 +86,7 @@
 						<u-form-item label="水分(%)<=" prop="waterContent" label-width="160">
 							<u-input v-model="retreatList.waterContent" input-align="right" placeholder="" />
 						</u-form-item>
-						<u-form-item label="单价(元/吨)" prop="unitPrice" label-width="160">
+						<u-form-item v-if='!retreatList.status' label="单价(元/吨)" prop="unitPrice" label-width="160">
 							<u-input v-model="retreatList.unitPrice" input-align="right" placeholder="" />
 						</u-form-item>
 					</view>
@@ -127,10 +127,10 @@
 							<view class="left">预计出库日期</view>
 							<view class="right">{{OutList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{OutList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">发货人</view>
 							<view class="right">{{OutList.agent}}</view>
@@ -152,8 +152,7 @@
 							v-if="retreatList.inOutType != '退库'">
 							<u-input v-model="OutList.waterContent" input-align="right" placeholder="" />
 						</u-form-item>
-						<u-form-item label="单价(元/吨)" prop="unitPrice" label-width="160"
-							v-if="retreatList.inOutType != '退库'">
+						<u-form-item v-if='!retreatList.status&&retreatList.inOutType != "退库"' label="单价(元/吨)" prop="unitPrice" label-width="160">
 							<u-input v-model="OutList.unitPrice" input-align="right" placeholder="" />
 						</u-form-item>
 						<u-form-item label="业务描述" prop="businessDescribe" label-width="160" label-position="top"
@@ -204,10 +203,10 @@
 							<view class="left">预计入库日期</view>
 							<view class="right">{{EnterList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{EnterList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">收货人</view>
 							<view class="right">{{EnterList.agent}}</view>
@@ -230,8 +229,7 @@
 							v-if="EnterList.inOutType != '移库入库'">
 							<u-input v-model="EnterList.waterContent" input-align="right" placeholder="请输入水分占比" />
 						</u-form-item>
-						<u-form-item label="单价(元/吨)" prop="unitPrice" label-width="160"
-							v-if="EnterList.inOutType != '移库入库'">
+						<u-form-item v-if='!EnterList.status&&EnterList.inOutType != "移库入库"' label="单价(元/吨)" prop="unitPrice" label-width="160">
 							<u-input v-model="EnterList.unitPrice" input-align="right" placeholder="请输入单价" />
 						</u-form-item>
 						<u-form-item label="业务描述" prop="businessDescribe" label-width="160" label-position="top">
@@ -340,6 +338,9 @@
 							relevanceId: res.data.data.relevanceId
 						}).then(res => {
 							if (res.data.code == 200) {
+								this.$api.doRequest('get', '/warehouseBaseInfo/selectContractNoList', {
+									compId:uni.getStorageSync('pcUserInfo').compId
+								}).then(res1 => {
 								for (let i = 0; i < res.data.data.length; i++) {
 									if (res.data.data[i].inOutType == "移库出库" || res.data.data[i]
 										.inOutType == "贸易服务出库" || res.data.data[i].inOutType == "销售出库" ||
@@ -357,6 +358,23 @@
 										this.retreatList.judge = 3
 									}
 								}
+								for(let i = 0; i < res1.data.data.length; i++) {
+									if(res1.data.data[i].contractNo==this.EnterList.contractNo){
+										if(res1.data.data[i].priceType=='随行就市'){
+											this.EnterList.status=true
+										}else{
+											this.EnterList.status=false
+										}
+									}
+									if(res1.data.data[i].contractNo==this.retreatList.contractNo){
+										if(res1.data.data[i].priceType=='随行就市'){
+											this.retreatList.status=true
+										}else{
+											this.retreatList.status=false
+										}
+									}
+								}
+								})
 							}
 						})
 					}

+ 6 - 6
pages/task/audit/Issueandreceipt_task_details.vue

@@ -60,10 +60,10 @@
 							<view class="left">预计出库日期</view>
 							<view class="right">{{retreatList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{retreatList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">收货人</view>
 							<view class="right">{{retreatList.agent}}</view>
@@ -122,10 +122,10 @@
 							<view class="left">预计出库日期</view>
 							<view class="right">{{OutList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{OutList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">发货人</view>
 							<view class="right">{{OutList.agent}}</view>
@@ -197,10 +197,10 @@
 							<view class="left">预计入库日期</view>
 							<view class="right">{{EnterList.predictDate}}</view>
 						</view>
-						<view class='row'>
+						<!-- <view class='row'>
 							<view class="left">预估运费(元/吨)</view>
 							<view class="right">{{EnterList.estimatedFreight}}</view>
-						</view>
+						</view> -->
 						<view class='row'>
 							<view class="left">收货人</view>
 							<view class="right">{{EnterList.agent}}</view>

+ 1 - 1
pages/task/audit/acquisition_information_approval.vue

@@ -24,7 +24,7 @@
 			<u-button v-if='isSHowBtn' @click='passSubmit' type="success" class="btn2">通过</u-button>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>

+ 11 - 1
pages/task/my_task.vue

@@ -80,6 +80,13 @@
 				copyTaskInfo: []
 			};
 		},
+		onBackPress(e) {
+			if (uni.getStorageSync("everyTask")) {
+				uni.switchTab({
+				    url: '/pages/user/user'
+				});
+			}
+		},
 		watch: {
 			checked(val) {
 				uni.setStorageSync("everyTask", this.checked)
@@ -189,7 +196,7 @@
 			this.$api.doRequest('get', '/commonUser/api/checkSession').then(res => {
 				if (res.data.data == "INVALID") {
 					uni.showModal({
-						title: '登录提示',
+						title: '提示',
 						content: '当前登入信息验证失败,是否重新登录?',
 						showCancel: true,
 						confirmText: '登录',
@@ -356,6 +363,9 @@
 							} else {
 								_str.showRow = true;
 							}
+							if(_str.businessType=='TRADE'){
+								_str.showRow = false
+							}
 							this.taskInfo[i].department = this.taskInfo[i].messageContent.split(' ')[0]
 							if (this.taskInfo[i].businessType == 'WAREHOUSE') {
 								if (this.taskInfo[i].businessCode == 'INOUTTASK-TASK-APPROVE') {

+ 3 - 3
pages/tran/car_detail.vue

@@ -80,7 +80,7 @@
 			</view>
 		</view> -->
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -157,7 +157,7 @@
 			showModal(e) {
 				// if (!this.hasLogin||this.userInfo.phone == undefined) {
 				// 	uni.showModal({
-				// 		title: '登录提示',
+				// 		title: '提示',
 				// 		content: '您尚未登录,是否立即登录?',
 				// 		showCancel: true,
 				// 		confirmText: '登录',
@@ -224,7 +224,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/tran/my_tran.vue

@@ -131,7 +131,7 @@
 			</swiper-item>
 		</swiper>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -252,7 +252,7 @@
 				if (!this.hasLogin || this.userInfo.phone == undefined) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/tran/tran_detail.vue

@@ -82,7 +82,7 @@
 			</view>
 			<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
 				:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定'
-				title='登录提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
+				title='提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
 			</u-modal>
 			<!-- <view class="d-header">
 				<text>承运信息</text>
@@ -579,7 +579,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/user/depotAcquisition/depotAcquisition.vue

@@ -43,7 +43,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -154,7 +154,7 @@
 					id: val.id,
 					commonId: uni.getStorageSync("userInfo").id,
 					loginPhone:uni.getStorageSync("userInfo").phone,
-					warehouseName:val.warehouseName
+					warehouseName:val.warehouseName,
 				}).then(res => {
 					if (res.data.code == "200") {
 						if (val.follow == '未关注') {

+ 2 - 2
pages/user/depotAcquisition/grainDeliveryRecord.vue

@@ -30,11 +30,11 @@
 			</view>
 			<u-modal v-model="isShowAlert1" :title-style="{fontSize: '18px',fontWeight:'500'}"
 				:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定'
-				title='登录提示' showCancelButton='false' :content="content1" @confirm="alertBtn" @cancel="cancelClick">
+				title='提示' showCancelButton='false' :content="content1" @confirm="alertBtn" @cancel="cancelClick">
 			</u-modal>
 			<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
 				:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定'
-				title='登录提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
+				title='提示' showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick">
 			</u-modal>
 		</view>
 	</mescroll-body>

+ 123 - 39
pages/user/depotAcquisition/grainDeliveryRegistration.vue

@@ -1,9 +1,9 @@
 <template>
-	<view class="content">
+	<view @click='hidden' class="content">
 		<view class="content1">
 			<view class="row1">
 				<view class="title">{{dataList.warehouseName}}</view>
-				<view class="validityDate"> {{dataList.validityDate}} 0时前有效</view>
+				<view class="validityDate"> {{dataList.validityDate}} 0时前有效</view>
 			</view>
 			<view class="row2">
 				<view class="start-time">{{startDate}}创建</view>
@@ -14,55 +14,70 @@
 					<view class="position">{{warehouseNameAddress}}</view>
 				</view>
 			</view>
+			<view style='justify-content: space-between;' class="flex">
+				<view class="left">货名</view>
+				<view class="flex" @click='showgoodsName'>
+					<view>{{goodsName}}</view>
+					<u-picker @confirm="goodsnameConfirm" range-key='goodsName' mode="selector"
+						v-model="goodsNameshow" :range="goodsnameList"></u-picker>
+					<u-icon name="arrow-right"></u-icon>
+				</view>
+			</view>
 		</view>
 		<view class="content2">
-			<view class="wrap wrap1" v-for="(item,index) in dataList.shippingInformationList" :key='index'>
-				<view class="row1 row">
-					<!-- -{{item.customerName}} -->
-					<view class="customerName">货主-{{index+1}}</view>
-					<image src="../../../static/img/sign/shanchu@2x.png" @click="reduceBtn(index)"></image>
-				</view>
-				<view class="row2 row">
-					<view class="left">姓名</view>
-					<view class="right" @click='showCustomerName(item,index)'>
-						<view>{{item.shipperName}}</view>
-						<u-picker @confirm="nameConfirm" range-key='customerName' mode="selector"
-							v-model="item.showCustomerName" :range="nameList"></u-picker>
-						<u-icon name="arrow-right"></u-icon>
+			<view v-if='!status'>
+				<view  class="wrap wrap1" v-for="(item,index) in dataList.shippingInformationList" :key='index'>
+					<view class="row1 row">
+						<!-- -{{item.customerName}} -->
+						<view class="customerName">货主-{{index+1}}</view>
+						<image src="../../../static/img/sign/shanchu@2x.png" @click="reduceBtn(index)"></image>
 					</view>
-				</view>
-				<view class="row3 row">
-					<view class="left">
-						供应商(送粮人)
+					<view class="row2 row">
+						<view class="left">姓名</view>
+						<view class="right" @click='showCustomerName(item,index)'>
+							<view>{{item.shipperName}}</view>
+							<u-picker @confirm="nameConfirm" range-key='customerName' mode="selector"
+								v-model="item.showCustomerName" :range="nameList"></u-picker>
+							<u-icon name="arrow-right"></u-icon>
+						</view>
 					</view>
-					<view class="right">{{item.supplier}}</view>
-				</view>
-				<view class="row4 row" v-for="(item1,index1) in item.carNumberList" :key='index1'>
-					<view class="left">
-						车牌号-{{index1+1}}
+					<view class="row3 row">
+						<view class="left">
+							供应商(送粮人)
+						</view>
+						<view class="right">{{item.supplier}}</view>
 					</view>
-					<view class="right">
-						<u-input v-model="item1.carNo" placeholder="输入7位车牌号" />
-						<view class="btn">
-							<view @click="addCarNumber(item.carNumberList)" style="margin-right: 20rpx;">
-								<image class='row4-img'
-									src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/jia%402x.png"></image>
-							</view>
-							<view @click="delCarNumber(item.carNumberList,index1)">
-								<image class='row4-img'
-									src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/jian%402x.png"></image>
+					<view class="row4 row" v-for="(item1,index1) in item.carNumberList" :key='index1'>
+						<view class="left">
+							车牌号-{{index1+1}}
+						</view>
+						<view class="right">
+							<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'
+										src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/jia%402x.png"></image>
+								</view>
+								<view @click="delCarNumber(item.carNumberList,index1)">
+									<image class='row4-img'
+										src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/jian%402x.png"></image>
+								</view>
 							</view>
 						</view>
+				
 					</view>
-
+					
 				</view>
 			</view>
-			<view class='add-good-people' @click='addGoodPeople'>
+			<view  v-if='!status' class='add-good-people' @click='addGoodPeople'>
 				<image class="img"
 					src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/ic_join_dialing_norm%402x.png"
 					@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 +92,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,8 +111,11 @@
 					name: '123'
 				}],
 				nameList: [],
+				carNo:'',
 				warehouseNameAddress: '',
 				startDate: "",
+				goodsName:'',
+				status:false,
 				dataList: {
 					warehouseName: "",
 					validityDate: '',
@@ -111,13 +131,17 @@
 						}]
 					}]
 				},
+				goodsnameList:[],
 				selectObj: {},
+				goodsNameshow:false,
 				nameListCopy: []
 			}
 		},
 
 		onLoad(options) {
+			
 			let _pageToData = JSON.parse(options.itemValue)
+			this.warehouseId=_pageToData.warehouseId
 			this.dataList.warehouseName = _pageToData.warehouseName
 			this.startDate = this.getTime()[0]
 			this.dataList.validityDate = this.getTime()[1]
@@ -135,27 +159,82 @@
 				}
 				this.getCustomer()
 			})
+			this.$api.doRequest('get', '/qualityInspectionManagement/api/goodsName', {
+				warehouseId: this.warehouseId
+			}).then(res => {
+				if (res.data.code == 200) {
+					this.goodsName=res.data.data[0].goodsName
+					this.goodsnameList = res.data.data
+				}
+			})
 			console.log("hasLogin", this.hasLogin)
 		},
 		methods: {
+			goodsnameConfirm(e){
+				this.goodsName=this.goodsnameList[e[0]].goodsName
+				this.getCustomer()
+			},
+			showgoodsName(){
+				this.goodsNameshow=true
+			},
+			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
 			},
 			getCustomer() {
+				var that=this
 				let _data = {
 					commonId: uni.getStorageSync("userInfo").id,
+					warehouseId:this.warehouseId,
+					goodsName:this.goodsName
 				}
 				this.$api.doRequest('get', '/identityAuthenticationInfo/identityAuthenticationInfoUser', _data).then(
 					res => {
 						if (res.data.code == 200) {
 							this.nameList = res.data.data
 							if(res.data.data.length>0){
+							that.status=false
 								this.dataList.shippingInformationList[0].identityId = res.data.data[0].id
 								this.dataList.shippingInformationList[0].shipperName = res.data.data[0].customerName
 								this.dataList.shippingInformationList[0].supplier = res.data.data[0].supplier ? res.data
 									.data[0].supplier : '无'
+							}else{
+								that.status=true
+								this.$api.msg('当前客户的'+this.goodsName+'送粮量达到上限')
 							}
 						}
 					})
@@ -163,7 +242,7 @@
 			getTime() {
 				let _startTime = new Date().format("yyyy-MM-dd");
 				var _endTime = new Date();
-				_endTime.setDate(_endTime.getDate() + 2);
+				_endTime.setDate(_endTime.getDate() + 3);
 				_endTime = _endTime.format("yyyy-MM-dd");
 				return [_startTime, _endTime]
 			},
@@ -260,6 +339,10 @@
 				this.isShowAlert1 = false
 			},
 			addGoodPeople() {
+				if(this.status==true){
+					this.$api.msg('当前客户的'+this.goodsName+'送粮量达到上限')
+					return
+				}
 				// 判断是否还有剩余的货主
 				if (this.nameList.length != this.dataList.shippingInformationList.length) {
 					this.dataList.shippingInformationList.push({
@@ -271,6 +354,7 @@
 							carNo: ''
 						}]
 					})
+					this.$forceUpdate()
 				} else {
 					this.$api.msg('无更多认证货主!')
 				}

+ 2 - 2
pages/user/depotMonitoring.vue

@@ -33,7 +33,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -90,7 +90,7 @@
 				if (res.data.data == "INVALID") {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '当前登入信息验证失败,是否重新登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

+ 2 - 2
pages/user/task_detail_kn.vue

@@ -92,7 +92,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 </template>
@@ -129,7 +129,7 @@
 			if (!this.hasLogin) {
 				this.isShowAlert = true;
 				// uni.showModal({
-				// 	title: '登录提示',
+				// 	title: '提示',
 				// 	content: '您尚未登录,是否立即登录?',
 				// 	showCancel: true,
 				// 	confirmText: '登录',

+ 4 - 4
pages/user/user.vue

@@ -50,7 +50,7 @@
 			</view>
 		</view>
 		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
-			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='登录提示'
+			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
 			showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
 	</view>
 	<!-- <view style="margin-top: 10rpx;">
@@ -421,7 +421,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -561,7 +561,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',
@@ -587,7 +587,7 @@
 				if (!this.hasLogin) {
 					this.isShowAlert = true;
 					// uni.showModal({
-					// 	title: '登录提示',
+					// 	title: '提示',
 					// 	content: '您尚未登录,是否立即登录?',
 					// 	showCancel: true,
 					// 	confirmText: '登录',

二進制
static/icon_delete.png


二進制
static/icon_down.png