Browse Source

冷冻要求输入、扫码验证重叠、订单请求重复

AaronBruin 3 months ago
parent
commit
cb35fc90a9

+ 45 - 10
components/x-form.vue

@@ -44,7 +44,8 @@
 					v-else-if="item.type == 'selectiveSearch'">
 					<view class="card_form_item">
 						<view class="card_search_gray frame" @click="changeil(item)" v-if="item.field == 'freezeClaim'">
-							<span v-if="model[`${item.field}`].length">{{getTimeName(model[`${item.field}`])}}</span>
+							<span
+								v-if="model[`${item.field}`] && model[`${item.field}`].length">{{getTimeName(model[`${item.field}`])}}</span>
 							<span class="title_gray" v-else>{{item.placeholder}}</span>
 							<u-icon name="arrow-down" color="#c8c9cc" size="18"></u-icon>
 						</view>
@@ -99,10 +100,16 @@
 				</view>
 				<view class="freeze_content">
 					<view class="card_selected_list">
-						<view class="hint_freeze" v-if="selectedData.length == 0">请选择冷冻要求</view>
+						<!-- <view class="hint_freeze center_in" v-if="selectedData.length == 0">请选择冷冻要求</view> -->
 						<view v-for="(item,index) in selectedData" :key="index">
 							<u-tag :text="getTagName(item)" closable plain @close="closeFreeze(item)"></u-tag>
 						</view>
+						<view v-if="tagFlag">
+							<input class="input_tag" :focus="tagFocus" v-model="value" @blur="tagBlur"></input>
+						</view>
+						<view style="margin-top: 20rpx;" v-else>
+							<u-tag text="+新增" plain @click="addTagClick"></u-tag>
+						</view>
 					</view>
 					<view class="fontsize_freeze" v-for="(item,index) in freezeList" :key="index"
 						@click="freezeSelect(item)">
@@ -163,6 +170,9 @@
 				freezeShow: false,
 				freezeList: [],
 				selectedData: [],
+				tagFlag: false,
+				tagFocus: false,
+				value: '',
 			}
 		},
 		// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
@@ -206,13 +216,15 @@
 					this.freezeList.forEach(item => {
 						item.flag = false
 					})
-					this.model.freezeClaim.forEach(event => {
-						this.freezeList.filter(item1 => {
-							if (item1.value == event) {
-								item1.flag = true
-							}
+					if (this.model.freezeClaim) {
+						this.model.freezeClaim.forEach(event => {
+							this.freezeList.filter(item1 => {
+								if (item1.value == event) {
+									item1.flag = true
+								}
+							})
 						})
-					})
+					}
 					this.freezeShow = true
 					this.getSelected()
 				} else {
@@ -322,7 +334,7 @@
 			// 扫一扫
 			sweep(field, flag) {
 				if (flag) {
-					if (!this.addloading) {
+					if (!this.addloading && field == "drugBarCode") {
 						this.$emit('getSweep', this.model[field])
 					}
 				} else {
@@ -333,7 +345,9 @@
 						success: (res) => {
 							if (res.result) {
 								let url = res.result;
-								this.$emit('getSweep', url)
+								if (field == "drugBarCode") {
+									this.$emit('getSweep', url)
+								}
 								this.model[field] = url
 							} else {
 								console.log('请重新扫描');
@@ -404,6 +418,17 @@
 				})
 				this.selectedData = this.selectedData.filter(item => item !== event);
 			},
+			// 新增选择项
+			addTagClick() {
+				this.tagFlag = true
+				this.tagFocus = true
+			},
+			// 失去焦点
+			tagBlur(event) {
+				if (!event) {
+					this.tagFlag = false
+				}
+			},
 			// 单个表单验证
 			formValidation(event) {
 				this.$refs['uForm'].validateField(event)
@@ -520,6 +545,7 @@
 
 	.hint_freeze {
 		color: #909399;
+		height: 74rpx;
 		font-size: 30rpx;
 	}
 
@@ -544,4 +570,13 @@
 		display: flex;
 		margin-left: 10rpx;
 	}
+
+	.input_tag {
+		min-width: 110rpx;
+		margin-top: 20rpx;
+		padding: 0rpx 20rpx;
+		height: 56rpx;
+		border-radius: 6rpx;
+		border: 1rpx solid #dadbde;
+	}
 </style>

+ 5 - 0
components/x-orderManagement.vue

@@ -290,6 +290,11 @@
 						if (params.paymentStatus) {
 							if (params.receiptImg) {
 								flag = true
+								// if (params.receiptsign) {
+								// 	flag = true
+								// } else {
+								// 	uni.$u.toast('请上传客户签字图片')
+								// }
 							} else {
 								uni.$u.toast('请上传' + this.signRejection + '图片')
 							}

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
     "name" : "冷链送药",
     "appid" : "__UNI__49186F9",
     "description" : "",
-    "versionName" : "1.1.10",
-    "versionCode" : 120,
+    "versionName" : "1.2.0",
+    "versionCode" : 121,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {

+ 1 - 0
pages/order/Incubator.vue

@@ -119,6 +119,7 @@
 		},
 		mounted() {
 			var userInfo = this.$cache.getCache('userInfo')
+			console.log(userInfo,356)
 			this.isCoolerInfo = userInfo.dept
 			this.getIncubator()
 		},

+ 3 - 1
pages/order/addIceRaft.vue

@@ -95,7 +95,9 @@
 					this.$nextTick(() => {
 						this.headline = '编辑冰排'
 						this.recipientsModel = arrValue
-						this.recipientsModel.freezeClaim = arrValue.freezeClaim
+						if (arrValue.freezeClaim) {
+							this.recipientsModel.freezeClaim = arrValue.freezeClaim
+						}
 						this.recipientsModel.suitableForCold = String(arrValue.suitableForCold)
 						if (arrValue.status == '2') {
 							this.recipientsModel.status = '正常'

+ 6 - 0
pages/order/dispatching.vue

@@ -98,6 +98,7 @@
 			}
 		},
 		onUnload() {
+			uni.$off('send')
 			// console.log('页面销毁')
 			uni.removeStorageSync('incubatorValue');
 			this.getempty()
@@ -119,6 +120,11 @@
 						}
 						arrImgList.push(arr)
 					})
+					this.goodsList.forEach(item => {
+						if (item.field == 'tamperProofLabelImg') {
+							item.fileList1 = arrImgList
+						}
+					})
 					this.$nextTick(() => {
 						this.$refs.goods.fileList1 = arrImgList
 					})

+ 3 - 1
pages/order/distributionOrder.vue

@@ -63,6 +63,7 @@
 			}
 		},
 		onUnload() {
+			uni.$off('success')
 			// console.log('页面销毁')
 			uni.removeStorageSync('selectAddress')
 		},
@@ -105,12 +106,13 @@
 						}
 						this.$api.post('/api/waybill/assignment', params).then(res => {
 							if (res.code == 200) {
-								uni.$emit('success', '成功');
 								if (this.allocationSuccess) {
+									uni.$emit('success', '成功');
 									uni.navigateBack({
 										delta: 1
 									});
 								} else {
+									uni.$emit('success', '成功');
 									uni.navigateBack({
 										delta: 2
 									});

+ 9 - 7
pages/order/iceRaft.vue

@@ -136,13 +136,15 @@
 			},
 			// 冷冻要求
 			getFreeze(event) {
-			  let title = event
-			  let arrList = []
-			  title.forEach(item => {
-			    let arr = '≥' + item + 'h'
-			    arrList.push(arr)
-			  })
-			  return arrList.toString()
+				let title = event
+				let arrList = []
+				if (title && title.length > 0) {
+					title.forEach(item => {
+						let arr = '≥' + item + 'h'
+						arrList.push(arr)
+					})
+				}
+				return arrList.toString()
 			},
 			geticeState(event) {
 				let title = ''

+ 2 - 1
pages/order/index.vue

@@ -177,6 +177,7 @@
 			}
 			this.status = statusType
 			this.$nextTick(() => {
+				console.log(4)
 				this.getList()
 			})
 		},
@@ -420,7 +421,7 @@
 					// scanType: ['qrCode'],
 					autoZoom: false,
 					success: (res) => {
-						console.log(res);
+						// console.log(res);
 						if (res.result) {
 							let url = res.result;
 							this.iceNumber = url

+ 2 - 3
pages/order/orderDetails.vue

@@ -27,14 +27,14 @@
 			<x-orderCard :list="delivererList" :deliverer="false" v-if="userInfo.type != 3"></x-orderCard>
 			<view class="title_delivery">复核人:</view>
 			<x-orderCard :list="senderList" :deliverer="false"></x-orderCard>
-			<view class="card_humiture" v-if="orderList.status != 3">
+			<view class="card_humiture">
 				<view class="title_claim" v-if="orderList.coolerBox.id">
 					<span>保温箱:</span>
 					<view style="width: auto;">
 						<u-tag :text="orderList.coolerBox.name" plain size="mini" type="success"></u-tag>
 					</view>
 				</view>
-				<view class="title_claim">
+				<view class="title_claim" v-if="orderList.iceRaftCode && orderList.iceRaftCode.length > 0">
 					<span>冰排:</span>
 					<view style="width: auto;margin-left: 10rpx;" v-for="(item1,index1) in orderList.iceRaftCode">
 						<u-tag :text="item1" plain size="mini"></u-tag>
@@ -146,7 +146,6 @@
 		methods: {
 			// 查看图片
 			getUrl(event) {
-				console.log(event, 98)
 				this.overlayURL = event
 				this.overlayShow = true
 			},