瀏覽代碼

冰排释冷

unknown 1 周之前
父節點
當前提交
6de7e1fcdd

+ 6 - 6
.env.js

@@ -1,10 +1,10 @@
 const UNI_APP = {
-	APP_DEV_URL: 'https://colddelivery.coldbaozhida.com/cold_delivery',
-	APP_PROD_URL: 'https://colddelivery.coldbaozhida.com/cold_delivery',
-	APP_LINK_URL: 'https://colddelivery.coldbaozhida.com',
-	// APP_DEV_URL: 'http://192.168.11.77:6280', //测试
-	// APP_PROD_URL: 'http://192.168.11.77:6280', //测试
-	// APP_LINK_URL: 'http://192.168.11.77:6280', //测试
+	// APP_DEV_URL: 'https://colddelivery.coldbaozhida.com/cold_delivery',
+	// APP_PROD_URL: 'https://colddelivery.coldbaozhida.com/cold_delivery',
+	// APP_LINK_URL: 'https://colddelivery.coldbaozhida.com',
+	APP_DEV_URL: 'http://192.168.11.77:6280', //测试
+	APP_PROD_URL: 'http://192.168.11.77:6280', //测试
+	APP_LINK_URL: 'http://192.168.11.77:6280', //测试
 
 	AES_KEY: "675I3123J3Toq10L",
 	AES_IV: "AdC01PoIU3LnSh10",

+ 2 - 2
components/waybill.js

@@ -4,12 +4,12 @@ export const formRules = () => {
 		label: '防拆标签码',
 		placeholder: '请输入防拆标签码',
 		type: 'input',
-		required: true,
+		required: false,
 	}, {
 		field: 'tamperProofLabelImg',
 		label: '防拆标签图片',
 		placeholder: '请上传防拆标签图片',
 		type: 'upload',
-		required: true,
+		required: false,
 	}]
 }

+ 12 - 2
components/x-form.vue

@@ -8,7 +8,8 @@
 					<view class="card_form_item">
 						<u-input v-model="model[`${item.field}`]" :disabled="item.disabled ? true : false"
 							:placeholder="item.placeholder"></u-input>
-						<view class="card_sweep" v-if="item.field == 'tamperProofLabel'" @click="sweep(item.field)">
+						<view class="card_sweep" v-if="item.field == 'tamperProofLabel' || item.field == 'code'"
+							@click="sweep(item.field)">
 							<u-icon name="scan" size="18px"></u-icon>
 							<span>扫一扫</span>
 						</view>
@@ -120,7 +121,16 @@
 			},
 			// 选择弹窗滚动
 			changeil(value) {
-				this.$emit('selector', value)
+				if (value.field == "status") {
+					this.columns = []
+					this.fieldType = value.field
+					this.show = true
+					this.$nextTick(() => {
+						this.columns.push(value.options)
+					})
+				} else {
+					this.$emit('selector', value)
+				}
 			},
 			// 选择确定
 			confirm(value, type) {

+ 1 - 1
components/x-orderCard.vue

@@ -35,7 +35,7 @@
 
 <style lang="scss">
 	.card_ordercard {
-		border-radius: 20rpx;
+		border-radius: 10rpx;
 		padding: 20rpx;
 		background-color: #fff;
 	}

+ 5 - 5
components/x-orderManagement.vue

@@ -6,8 +6,8 @@
 				<span class="card_state" :style="{color:getState(item.status)}">{{orderStatus(item.status)}}</span>
 			</view>
 			<view class="title_ordermang"><span>订单号:</span>{{item.orderNo}}</view>
-			<view class="title_ordermang"><span>收货地址:</span>{{item.consigneeAddressDetails}}</view>
-			<view class="title_ordermang"><span>收货电话:</span>{{item.consigneeAddressPhone}}</view>
+			<view class="title_ordermang"><span>收货地址:</span>{{item.consigneeAddressDetails}}</view>
+			<view class="title_ordermang"><span>收货电话:</span>{{item.consigneeAddressPhone}}</view>
 			<view class="title_ordermang"><span>下单时间:</span>{{item.orderTime}}</view>
 			<view style="display: flex;margin-top: 15rpx;"
 				v-if="item.status == 1 || item.status == 2 || item.status == 3">
@@ -437,7 +437,7 @@
 	.card_ordermang {
 		background-color: #fff;
 		padding: 20rpx;
-		border-radius: 20rpx;
+		border-radius: 10rpx;
 		margin: 20rpx;
 	}
 
@@ -458,7 +458,7 @@
 	}
 
 	.waybill_title {
-		font-size: 32rpx;
+		font-size: 30rpx;
 
 		span {
 			margin-left: 10rpx;
@@ -467,7 +467,7 @@
 
 	.card_state {
 		color: #606266;
-		font-size: 32rpx;
+		font-size: 28rpx;
 	}
 
 	.card_specification {

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
     "name" : "冷链送药",
     "appid" : "__UNI__49186F9",
     "description" : "",
-    "versionName" : "1.1.4",
-    "versionCode" : 114,
+    "versionName" : "1.1.5",
+    "versionCode" : 115,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {

+ 6 - 3
pages.json

@@ -93,9 +93,7 @@
 		}
 	}, {
 		"path": "pages/order/logisticsDetails",
-		"style": {
-			"navigationStyle": "custom"
-		}
+		"style": {}
 	}, {
 		"path": "pages/order/humiture",
 		"style": {
@@ -117,6 +115,11 @@
 			"navigationStyle": "custom"
 		}
 	}, {
+		"path": "pages/order/iceCold",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
 		"path": "pages/order/addIceRaft",
 		"style": {
 			"navigationStyle": "custom"

+ 13 - 5
pages/home/IceManagement.vue

@@ -18,6 +18,7 @@
 						{{matchingType(item.iceRaftRecord.status)}}
 					</view>
 				</view>
+				<view class="title_itemIce">冰排备注:冰排1</view>
 				<view class="title_itemIce" v-if="item.iceRaftRecord.inStorageTime">入库时间:
 					{{item.iceRaftRecord.inStorageTime}}
 				</view>
@@ -33,9 +34,10 @@
 					{{item.iceRaftRecord.coolerBox.name}}
 				</view>
 				<view class="title_itemIce" v-if="item.iceRaftRecord.status != ''">冷冻要求:
-					≥{{item.iceRaftRecord.freezeClaim}}h</view>
+					<span>≥{{item.iceRaftRecord.freezeClaim}}h</span>
+				</view>
 				<view class="title_itemIce" v-if="item.iceRaftRecord.status != ''">冷冻时间:
-					{{formatMinutes(item.iceRaftRecord.freezeDuration)}}
+					<span>{{formatMinutes(item.iceRaftRecord.freezeDuration)}}</span>
 				</view>
 			</view>
 			<view style="width: 100%;">
@@ -54,7 +56,7 @@
 			return {
 				list: [],
 				typeList: [{
-					bgcolor: '#000000',
+					bgcolor: '#909399',
 					label: '未入库',
 					value: '',
 				}, {
@@ -75,7 +77,7 @@
 					value: '4',
 				}],
 				PageIndex: 1,
-				PageSize: 10,
+				PageSize: 15,
 				loadStatus: 'loadmore', //loading 、nomore
 				loadingMore: true,
 				keyword: '',
@@ -206,7 +208,7 @@
 		padding: 20rpx;
 		margin: 20rpx;
 		background-color: #fff;
-		border-radius: 20rpx;
+		border-radius: 10rpx;
 	}
 
 	.top_title {
@@ -214,12 +216,18 @@
 	}
 
 	.title_Icecode {
+		color: #000000;
 		font-size: 32rpx;
 	}
 
 	.title_itemIce {
+		color: #000000;
 		font-size: 30rpx;
 		margin-top: 10rpx;
+
+		span {
+			color: #19be6b;
+		}
 	}
 
 	.card_input_fa {

+ 18 - 1
pages/homePage.vue

@@ -1,6 +1,9 @@
 <template>
 	<view class="home_app_bgc">
 		<u-navbar placeholder bgColor="#a9e3f1" leftIcon="" @rightClick="rightClick">
+			<!-- <view class="u-nav-slot" slot="left">
+				贵州宝智达科技有限公司
+			</view> -->
 			<view class="u-nav-slot" slot="right">
 				<u-icon name="list-dot" size="30" color="#fff"></u-icon>
 			</view>
@@ -53,6 +56,13 @@
 					</view>
 				</view>
 			</view>
+			<view class="card_bottom_add" @click="getOperate('iceCold')" v-if="iceColdFlag">
+				<view style="display: flex;align-items: center;">
+					<span class="iconfont icon-bingpaiguanli icon_bottom"></span>
+					<span>冰排释冷</span>
+				</view>
+				<u-icon name="arrow-right" size="20"></u-icon>
+			</view>
 			<view class="card_bottom_add" @click="getOperate('iceRaft')">
 				<view style="display: flex;align-items: center;">
 					<span class="iconfont icon-bingpaiguanli icon_bottom"></span>
@@ -160,6 +170,8 @@
 				title: '确定退出?',
 				content: '退出登录后将无法查看运单,重新登录后即可查看',
 				height: '',
+				// 是否释冷
+				iceColdFlag: true,
 			}
 		},
 		onShow() {
@@ -236,6 +248,10 @@
 						uni.navigateTo({
 							url: '/pages/order/iceRaft'
 						});
+					} else if (type == 'iceCold') {
+						uni.navigateTo({
+							url: '/pages/order/iceCold'
+						});
 					} else if (type == 'wait') {
 						uni.$u.toast('敬请期待!')
 					}
@@ -271,9 +287,10 @@
 </script>
 
 <style lang="scss">
-	.home_app_bgc{
+	.home_app_bgc {
 		background-image: linear-gradient(#a9e3f1, #a9e3f1, #f3f4f6);
 	}
+
 	// page {
 	// 	background-image: linear-gradient(#a9e3f1, #a9e3f1, #f3f4f6);
 	// }

+ 138 - 4
pages/order/Incubator.vue

@@ -9,9 +9,40 @@
 			</view>
 		</u-sticky>
 		<view class="card_incubator" v-if="orderList.length > 0">
-			<view class="item_bator" v-for="(item,index) in orderList" :key="index" @click="selectIncubator(item)">
-				<span class="iconfont imagebwx icon-incubator"></span>
-				<view>{{item.name}}</view>
+			<view :class="iceColdFlag ? 'item_bator' : 'item_bator_cold'" v-for="(item,index) in orderList" :key="index"
+				@click.stop="selectIncubator(item)">
+				<view style="display: flex;align-items: center;">
+					<span class="iconfont icon-incubator" :class="iceColdFlag ? 'imagebwx' : 'imagebwx_cold'"></span>
+					<view>{{item.name}}</view>
+				</view>
+				<view class="floe_card" v-if="item.ice_raft.length > 0 && iceColdFlag">
+					<view class="card_ice_list">
+						<view class="card_ice_item" v-for="(item1,index) in item.ice_raft">
+							<view style="display: flex;align-items: center;height: 60rpx;">
+								<span class="iconfont icon-bingpaiguanli icon_ice"></span>
+								<view style="margin-left: 5rpx;">
+									<view class="ice_title">{{item1.label}}</view>
+									<view class="ice_code">{{item1.code}}</view>
+								</view>
+							</view>
+							<view style="display: flex;align-items: center;">
+								<view class="title_cryophilic" style="margin-right: 5rpx;">
+									适冷温度:<span v-if="item1.iceRaftRecord">{{item1.iceRaftRecord.suitableForCold || 0}}℃
+									</span></view>
+								<view class="title_cryophilic">适冷时间:<span>≥{{item1.suitableForColdTime}}min</span>
+								</view>
+							</view>
+							<view class="title_cryophilic" v-if="item1.iceRaftRecord">
+								出库时间:{{item1.iceRaftRecord.outStorageTime}}</view>
+						</view>
+						<view class="card_ice_item" style="border: unset;flex: 1;padding: 0rpx;margin: 0rpx;"></view>
+					</view>
+					<view class="card_ice_list"></view>
+				</view>
+				<view class="btn_printil markd10" v-if="item.ice_raft.length > 0 && getIceState(item.ice_raft)"
+					@click.stop="endCooling(item.ice_raft)">
+					<u-button size="small" type="warning" text="结束适冷"></u-button>
+				</view>
 			</view>
 			<view style="width: 100%;">
 				<u-loadmore lineColor="#ffffff" :status="loadStatus" :key="Math.random()" />
@@ -35,6 +66,19 @@
 				incubatorValue: '',
 				orderList: [],
 				detailsFlag: false,
+				iceData: [{
+					label: '冰排1',
+					code: '202409091350938276'
+				}, {
+					label: '冰排1',
+					code: '202409091350938276'
+				}, {
+					label: '冰排1',
+					code: '202409091350938276'
+				}],
+				showFlag: true,
+				// 是否释冷
+				iceColdFlag: true,
 			}
 		},
 		onReachBottom() {
@@ -73,6 +117,7 @@
 						const data = res.data.list
 						if (this.loadingMore == true && data) {
 							this.orderList = this.orderList.concat(data);
+							// console.log(this.orderList, 245)
 						}
 						if (data.length < this.pageSize) {
 							this.loadingMore = true
@@ -87,6 +132,22 @@
 					}
 				})
 			},
+			// 结束适冷
+			endCooling(event) {
+				let list = event.filter(item => item.iceRaftRecord.isSuitableForCold == 0);
+				const idsString = list.map(item => item.iceRaftRecordId);
+				this.$api.post('/api/ice-raft-record/end-for-cold', {
+					iceRaftRecordId: idsString,
+				}).then(res => {
+					console.log(res, 235)
+					if (res.code == 200) {
+						uni.$u.toast('操作成功')
+						this.currentPage = 1
+						this.orderList = []
+						this.getIncubator()
+					}
+				})
+			},
 			// 选择保温箱
 			selectIncubator(value) {
 				if (this.detailsFlag) {
@@ -98,6 +159,19 @@
 					});
 				}
 			},
+			// 保温箱下所有冰排适冷状态
+			getIceState(event) {
+				let arrList = event
+				let bol = true
+				// isSuitableForCold 0 未适冷 1 已适冷
+				for (let i = 0; i < arrList.length; i++) {
+					if (arrList[i].iceRaftRecord.isSuitableForCold == 1) {
+						bol = false
+						break //减少循环次数
+					}
+				}
+				return bol
+			},
 			navbarHeight() {
 				let systemInfo = uni.getSystemInfoSync();
 				/* (750 / systemInfo.windowWidth) */
@@ -131,7 +205,16 @@
 
 	.item_bator {
 		display: flex;
-		align-items: center;
+		flex-direction: column;
+		background-color: #fff;
+		border-radius: 10rpx;
+		padding: 15rpx;
+		margin: 10rpx 20rpx;
+	}
+
+	.item_bator_cold {
+		display: flex;
+		flex-direction: column;
 		background-color: #fff;
 		border-radius: 10rpx;
 		padding: 30rpx;
@@ -143,4 +226,55 @@
 		font-size: 60rpx;
 		margin-right: 20rpx;
 	}
+
+	.imagebwx_cold {
+		color: #2b85e4;
+		font-size: 70rpx;
+		margin-right: 20rpx;
+	}
+
+	.floe_card {
+		padding: 15rpx 0rpx;
+		display: flex;
+		flex-direction: column;
+	}
+
+	.card_ice_list {
+		display: flex;
+		flex-direction: row;
+		flex-wrap: wrap;
+		justify-content: space-between;
+	}
+
+	.card_ice_item {
+		flex: none;
+		margin: 0rpx 10rpx;
+		margin-bottom: 10rpx;
+		padding: 6rpx 10rpx;
+		border-radius: 6rpx;
+		border: 1rpx solid #e7e6e4;
+	}
+
+	.ice_title {
+		font-size: 28rpx;
+	}
+
+	.icon_ice {
+		font-size: 44rpx;
+		color: #19be6b;
+		margin-right: 5rpx;
+	}
+
+	.ice_code {
+		font-size: 24rpx;
+	}
+
+	.title_cryophilic {
+		margin-top: 5rpx;
+		font-size: 23rpx;
+
+		span {
+			color: #19be6b;
+		}
+	}
 </style>

+ 57 - 8
pages/order/addIceRaft.vue

@@ -19,9 +19,13 @@
 		data() {
 			return {
 				recipientsModel: {
+					id: null,
 					code: '',
+					label: '',
 					status: '',
 					freezeClaim: '',
+					suitableForColdTime: '',
+					suitableForCold: '',
 				},
 				rules: {
 					code: {
@@ -29,6 +33,11 @@
 						message: '请输入编号',
 						trigger: ['blur', 'change']
 					},
+					label: {
+						required: true,
+						message: '请输入冰排备注',
+						trigger: ['blur', 'change']
+					},
 					status: {
 						required: true,
 						message: '请选择状态',
@@ -39,6 +48,16 @@
 						message: '请输入冷冻要求',
 						trigger: ['blur', 'change']
 					},
+					suitableForColdTime: {
+						required: true,
+						message: '请输入适冷时间',
+						trigger: ['blur', 'change']
+					},
+					suitableForCold: {
+						required: true,
+						message: '请输入适冷温度',
+						trigger: ['blur', 'change']
+					},
 				},
 				list: iceRaftRulesil(),
 				userInfo: {},
@@ -47,7 +66,21 @@
 			}
 		},
 		onShow() {},
-		onLoad(value) {},
+		onLoad(option) {
+			let arrValue = JSON.parse(option.list)
+			if (arrValue.id) {
+				this.headline = '编辑冰排'
+				this.recipientsModel = arrValue
+				this.recipientsModel.freezeClaim = String(arrValue.freezeClaim)
+				if (arrValue.status == '2') {
+					this.recipientsModel.status = '正常'
+				} else {
+					this.recipientsModel.status = '停用'
+				}
+			} else {
+				this.headline = '添加冰排'
+			}
+		},
 		mounted() {
 			var userInfo = this.$cache.getCache('userInfo')
 			this.userInfo = userInfo
@@ -59,7 +92,10 @@
 				if (flag1) {
 					let params = {
 						codeList: [],
+						label: this.recipientsModel.label,
 						freezeClaim: Number(this.recipientsModel.freezeClaim),
+						suitableForColdTime: Number(this.recipientsModel.suitableForColdTime),
+						suitableForCold: Number(this.recipientsModel.suitableForCold),
 						status: null,
 					}
 					if (this.recipientsModel.status == '正常') {
@@ -68,13 +104,26 @@
 						params.status = '1'
 					}
 					params.codeList.push(this.recipientsModel.code)
-					this.$api.post('/api/ice-raft', params).then(res => {
-						if (res.code == 200) {
-							uni.redirectTo({
-								url: '/pages/order/iceRaft'
-							})
-						}
-					})
+					if (this.recipientsModel.id) {
+						params.id = this.recipientsModel.id
+						params.code = this.recipientsModel.code
+						delete params.codeList
+						this.$api.put('/api/ice-raft', params).then(res => {
+							if (res.code == 200) {
+								uni.redirectTo({
+									url: '/pages/order/iceRaft'
+								})
+							}
+						})
+					} else {
+						this.$api.post('/api/ice-raft', params).then(res => {
+							if (res.code == 200) {
+								uni.redirectTo({
+									url: '/pages/order/iceRaft'
+								})
+							}
+						})
+					}
 				} else {
 					uni.$u.toast('请先完善表单')
 				}

+ 31 - 6
pages/order/delivery.vue

@@ -27,10 +27,17 @@
 						@focus="focus(false)"></u-input> -->
 				</view>
 			</view>
+			<!-- <view class="card_search" v-if="selectiveType == 'out'">
+				<view class="details_title">冰排适冷温度 <span class="line_title">*</span></view>
+				<view class="card_input">
+					<u-input placeholder="请输入冰排适冷温度" border="surround" v-model="suitableForCold"></u-input>
+				</view>
+				<view class="title_hour"> ℃ </view>
+			</view> -->
 			<!-- <view class="card_search" v-if="selectiveType == 'enter'">
 				<view class="details_title">冷冻要求 <span class="line_title">*</span></view>
 				<view class="card_input">
-					<u-input placeholder="请输入" border="surround" v-model="freezingDuration"></u-input>
+					<u-input placeholder="请输入冷冻要求" border="surround" v-model="freezingDuration"></u-input>
 				</view>
 				<view class="title_hour">小时</view>
 			</view> -->
@@ -107,6 +114,7 @@
 				list: [],
 				orderId: '',
 				freezingDuration: '',
+				suitableForCold: null,
 
 				keyword: '',
 				courierHeadline: '选择冷冻柜',
@@ -130,10 +138,22 @@
 				},
 			}
 		},
+		onUnload() {
+			uni.removeStorageSync('incubatorValue');
+		},
 		onLoad(receive) {
 			this.navTitle = receive.title
 			this.selectiveType = receive.id
 		},
+		onShow() {
+			let incubator = uni.getStorageSync('incubatorValue')
+			if (incubator) {
+				if (incubator.id != this.incubator.id) {
+					this.incubator.id = incubator.id
+					this.incubator.name = incubator.name
+				}
+			}
+		},
 		methods: {
 			focus(flag) {
 				this.typeFlag = flag
@@ -144,12 +164,15 @@
 					this.courierHeadline = '选择冷冻柜'
 					this.textEmpty = '暂无冷冻柜'
 					this.getFreezer()
+					this.courierShow = true
 				} else {
-					this.courierHeadline = '选择保温箱'
-					this.textEmpty = '暂无保温箱'
-					this.getIncubator()
+					uni.navigateTo({
+						url: '/pages/order/Incubator'
+					});
+					// this.courierHeadline = '选择保温箱'
+					// this.textEmpty = '暂无保温箱'
+					// this.getIncubator()
 				}
-				this.courierShow = true
 			},
 			// 关键字搜索
 			searchChange(value) {
@@ -266,10 +289,11 @@
 						this.$api.post('/api/ice-raft/out-storage', {
 							code: this.list,
 							coolerBoxId: this.incubator.id,
+							suitableForCold: Number(this.suitableForCold),
 						}).then(res => {
 							if (res.code == 200) {
 								this.list = []
-								this.freezingDuration = ''
+								this.suitableForCold = null
 								this.frequencyCoding = ''
 								this.incubator.id = null
 								this.incubator.name = ''
@@ -507,6 +531,7 @@
 		background-color: #fff;
 		padding-bottom: constant(safe-area-inset-bottom); //兼容 IOS<11.2
 		padding-bottom: env(safe-area-inset-bottom); //兼容 IOS>11.2
+		border-top: 1rpx solid #E4E7ED;
 	}
 
 	.deleteCurrent {

+ 4 - 3
pages/order/dispatching.vue

@@ -69,12 +69,12 @@
 				},
 				goodsRules: {
 					tamperProofLabel: {
-						required: true,
+						required: false,
 						message: '请输入防拆标签码',
 						trigger: ['blur', 'change']
 					},
 					tamperProofLabelImg: {
-						required: true,
+						required: false,
 						message: '请上传防拆标签图片',
 						trigger: ['blur', 'change']
 					},
@@ -90,8 +90,9 @@
 				deliveryId: null,
 			}
 		},
-		beforeDestroy() {
+		onUnload() {
 			// console.log('页面销毁')
+			uni.removeStorageSync('incubatorValue');
 			this.getempty()
 		},
 		onLoad() {

+ 218 - 0
pages/order/iceCold.vue

@@ -0,0 +1,218 @@
+<template>
+	<view>
+		<u-navbar title="冰排释冷" autoBack placeholder></u-navbar>
+		<view class="card_order_details">
+			<view class="card_search">
+				<view class="details_title">冰排编号 <span class="line_title">*</span></view>
+				<view class="card_input">
+					<u-input border="surround" v-model="frequencyCoding">
+						<template slot="suffix">
+							<u-icon name="scan" size="24" @click="sweep"></u-icon>
+						</template>
+					</u-input>
+				</view>
+				<view class="add_card center_in" @click="addIce">
+					<u-icon name="plus" size="18"></u-icon>
+				</view>
+			</view>
+			<view class="card_frequency">
+				<view class="card_high space_between">
+					<view class="card_frequency_title">已录入冰排编号</view>
+					<view class="card_bottle">已扫<span>{{list.length}}</span></view>
+				</view>
+				<view style="width: 100%;" v-if="list.length > 0">
+					<view class="item_coding" v-for="(item,index) in list" :key="index">
+						<view class="title_coding">{{item}}</view>
+						<u-icon name="close-circle-fill" color="#c0c4cc" size="20"
+							@click="removeWaybill(item)"></u-icon>
+					</view>
+				</view>
+			</view>
+			<view style="width: 100%;height: 120rpx;"></view>
+			<view class="card_btn">
+				<u-button style="margin-bottom: 20rpx;" type="primary" @click="submit">提交</u-button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				frequencyCoding: '',
+				list: [],
+			}
+		},
+		methods: {
+			submit() {
+
+			},
+			// 扫一扫
+			sweep() {
+				// 允许从相机和相册扫码
+				uni.scanCode({
+					scanType: ['barCode'],
+					// scanType: ['qrCode'],
+					autoZoom: false,
+					success: (res) => {
+						console.log(res);
+						if (res.result) {
+							let url = res.result;
+							this.frequencyCoding = url
+							this.$api.get('/api/ice-raft/code/' + this.frequencyCoding).then(res => {
+								if (res.code == 200) {
+									this.list.push(url)
+
+									function methods1(arr) {
+										return Array.from(new Set(arr));
+									}
+									this.list = methods1(this.list)
+								} else {
+									uni.showToast({
+										icon: 'none',
+										title: res.msg,
+										duration: 3000
+									});
+								}
+							})
+						} else {
+							console.log('请重新扫描');
+							return false;
+						}
+					},
+					fail: (res) => {
+						console.log('未识别到条形码');
+					}
+				})
+			},
+			// 添加冰排 
+			addIce() {
+				if (this.frequencyCoding) {
+					this.$api.get('/api/ice-raft/code/' + this.frequencyCoding).then(res => {
+						if (res.code == 200) {
+							this.list.push(this.frequencyCoding)
+							this.list = this.uniqueArray(this.list)
+							this.frequencyCoding = ''
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: res.msg,
+								duration: 3000
+							});
+						}
+					})
+				}
+			},
+			// 去重
+			uniqueArray(arr) {
+				return [...new Set(arr)];
+			},
+			// 移除错误运单号
+			removeWaybill(value) {
+				if (this.frequencyCoding == value) {
+					this.frequencyCoding = ''
+				}
+				const arr = deleteElementById(this.list, value)
+				this.list = arr
+
+				function deleteElementById(arr, key) {
+					return arr.filter((item) => item !== key);
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff !important;
+	}
+
+	.card_order_details {
+		margin: 10rpx 30rpx 30rpx 30rpx;
+	}
+
+	.card_search {
+		display: flex;
+		align-items: center;
+		margin: 20rpx 0rpx;
+	}
+
+	.details_title {
+		width: 150rpx;
+		flex: none;
+		color: #333;
+		font-size: 32rpx;
+		font-weight: 500;
+		margin-bottom: 10rpx;
+		// margin-right: 15rpx;
+	}
+
+	.line_title {
+		color: red;
+	}
+
+	.card_input {
+		width: 100%;
+		margin-left: 30rpx;
+	}
+
+	.add_card {
+		margin-left: 10rpx;
+		width: 50rpx;
+		height: 46rpx;
+		border-radius: 8rpx;
+		padding: 6px 9px;
+		border: 1px solid #dadbde;
+	}
+
+	.card_high {
+		margin-top: 20rpx;
+	}
+
+	.card_frequency {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.card_frequency_title {
+		font-size: 32rpx;
+	}
+
+	.card_bottle {
+		font-size: 30rpx;
+
+		span {
+			color: red;
+		}
+	}
+
+	.item_coding {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		width: 100%;
+		margin-top: 10px;
+		padding: 25rpx 0rpx;
+		border-bottom: 2rpx solid #dfdfdf;
+	}
+
+	.title_coding {
+		font-size: 30rpx;
+	}
+
+	.card_btn {
+		position: fixed;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		padding-left: 30rpx;
+		padding-right: 30rpx;
+		padding-top: 20rpx;
+		background-color: #fff;
+		padding-bottom: constant(safe-area-inset-bottom); //兼容 IOS<11.2
+		padding-bottom: env(safe-area-inset-bottom); //兼容 IOS>11.2
+		border-top: 1rpx solid #E4E7ED;
+	}
+</style>

+ 28 - 8
pages/order/iceRaft.vue

@@ -14,14 +14,19 @@
 			</view>
 		</u-sticky>
 		<view class="card_incubator" v-if="orderList.length > 0">
-			<view class="item_bator" v-for="(item,index) in orderList" :key="index" @click="selectIncubator(item)">
+			<view class="item_bator" v-for="(item,index) in orderList" :key="index">
 				<span class="iconfont imagebwx icon-bingpaiguanli"></span>
 				<view style="width: 100%;">
 					<view class="space_between">
 						<view class="title_ice">{{item.code}}</view>
 						<view :style="{color:geticeColor(item.status)}">{{geticeState(item.status)}}</view>
 					</view>
-					<view class="title_ice1">冷冻要求:{{item.freezeClaim}}</view>
+					<view class="space_between">
+						<view class="title_ice1">冷冻要求:{{item.freezeClaim}}</view>
+						<view class="card_btn_emit center_in" @click="selectIncubator(item)">
+							编辑<u-icon name="edit-pen" size="26"></u-icon>
+						</view>
+					</view>
 				</view>
 			</view>
 			<view style="width: 100%;">
@@ -53,15 +58,11 @@
 				this.getIncubator()
 			}
 		},
-		onLoad(option) {
-			console.log(option, 25)
-		},
 		mounted() {
 			this.getIncubator()
 		},
 		methods: {
 			rightClick() {
-				console.log(14)
 				uni.navigateTo({
 					url: '/pages/order/addIceRaft'
 				});
@@ -102,7 +103,16 @@
 			},
 			// 选择冰排
 			selectIncubator(value) {
-				console.log('详情')
+				let arr = {
+					id: value.id,
+					code: value.code,
+					status: value.status,
+					freezeClaim: value.freezeClaim,
+				}
+				uni.navigateTo({
+					url: '/pages/order/addIceRaft?list=' + JSON.stringify(arr)
+				});
+				console.log(value, '详情')
 			},
 			geticeState(event) {
 				let title = ''
@@ -164,7 +174,7 @@
 
 	.imagebwx {
 		color: #19be6b;
-		font-size: 60rpx;
+		font-size: 80rpx;
 		margin-right: 20rpx;
 	}
 
@@ -192,4 +202,14 @@
 			margin-left: 5rpx;
 		}
 	}
+
+	.card_btn_emit {
+		margin-top: 4rpx;
+		display: flex;
+		justify-content: flex-end;
+		width: 150rpx;
+		color: #606266;
+		font-size: 30rpx;
+		border-radius: 40rpx;
+	}
 </style>

+ 1 - 2
pages/order/index.vue

@@ -120,7 +120,7 @@
 				waybillId: null,
 			}
 		},
-		beforeDestroy() {
+		onUnload() {
 			// console.log('页面销毁')
 			this.getempty()
 		},
@@ -140,7 +140,6 @@
 			//注册监听事件签字图片
 			uni.$on('sign', (data) => {
 				if (this.$refs.order) {
-					console.log(data,3333)
 					this.$refs.order.imageData = data.replace(/[\r\n]/g, "");
 				}
 				this.getUpload(data)

+ 326 - 0
pages/order/logisticsDetails.nvue

@@ -0,0 +1,326 @@
+<template>
+	<!-- 物流详情 -->
+	<view class="card_logist">
+		<view class="map_card">
+			<map style="width: 100%;" :style="{height:windowHeight * 2 + 'rpx'}" :latitude="latitude"
+				:longitude="longitude" :enable-3D="true" :scale="scale" :polyline="polylineList" :markers="markers" :v-if="showmap">
+			</map>
+		</view>
+		<view class="card_logistics">
+			<view class="img_head" @click="clickImg">
+				<image style="width: 80rpx;height: 40rpx;transform: rotate(0deg);" v-if="logisticsFlag"
+					src="../../static/unfold.png"></image>
+				<image style="width: 80rpx;height: 40rpx;transform: rotate(180deg);" v-else
+					src="../../static/unfold.png"></image>
+			</view>
+			<view class="card_wlxq" v-if="logisticsFlag">
+				<text class="title_logistics_il">物流详情</text>
+				<view class="card_steps" v-if="activitiesList.length > 0">
+					<view class="steps">
+						<view class="steps_item" v-for="(i, index) in activitiesList" :key="index">
+							<view class="s_r">
+								<text class="line"
+									:style="{ backgroundColor: index != 0 ? '#EAEAEA' : 'rgba(0,0,0,0)' }"></text>
+								<text class="index_title" :style="{ backgroundColor: i.backgroundColor, color: color }">
+								</text>
+								<text class="line1"
+									:style="{ backgroundColor: index != activitiesList.length - 1 ? '#EAEAEA' : 'rgba(0,0,0,0)' }">
+								</text>
+							</view>
+							<view class="s_l">
+								<text class="title_scacm_34">{{ i.text }}
+									<text v-if="i.phone">
+										联系电话:<text style="color: #f29100;margin-right: 15rpx;">{{i.phone}}</text>
+									</text>
+									{{ i.text1 }}
+								</text>
+								<text class="date_scacm">{{ i.createdAt || ''}}</text>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="not_card" v-else style="padding-bottom: 20rpx;">
+					<image style="width: 280rpx;height: 220rpx;padding: 30rpx;" src="../../static/task/not.png"></image>
+					<text class="not_title">暂无物流信息</text>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	const ENV = require('../../.env.js')
+	export default {
+		data() {
+			return {
+				windowHeight: uni.getSystemInfoSync().windowHeight, //屏幕高度
+				orderList: {},
+				trackList: [],
+				map: null,
+				longitude: 106.6282014,
+				latitude: 26.64669,
+				scale: 13,
+				activitiesList: [],
+				active: 0,
+				statusList: [{
+					id: 3,
+					title: '待配送',
+				}, {
+					id: 4,
+					title: '配送中',
+				}, {
+					id: 5,
+					title: '已送达',
+				}, {
+					id: 6,
+					title: '已拒收',
+				}],
+				polylineList: [],
+				markers: [],
+				logisticsFlag: true,
+				showmap: false,
+				color: '#fff',
+			}
+		},
+		mounted() {
+			uni.setNavigationBarTitle({
+				title: '物流详情',
+			})
+			var orderList = uni.getStorageSync('orderDetails')
+			this.orderList = orderList
+			this.$nextTick(() => {
+				setTimeout(() => {
+					this.getList()
+				})
+			})
+		},
+		methods: {
+			getList() {
+				uni.request({
+					url: ENV.APP_DEV_URL + '/api/waybill-logistics',
+					method: 'GET',
+					data: {
+						waybillNo: this.orderList.waybillNo,
+					},
+					success: (res) => {
+						if (res.data.code == 200) {
+							var arrList = res.data.data.list
+							arrList.forEach(async (item) => {
+								item.backgroundColor = '#ffffff'
+								item.text = ''
+								let arr = ''
+								this.statusList.forEach((item1) => {
+									if (item.status == item1.id) {
+										arr = item1.title
+									}
+								});
+								let yonTitle = ''
+								if (item.coolerBox.id) {
+									yonTitle = item.coolerBox.name
+								}
+								item.text = item.address + '【' + yonTitle + '】' + '  ' + '您的货物' +
+									arr
+							})
+							arrList[0].backgroundColor = '#2979ff'
+							this.activitiesList = arrList.reverse()
+							this.getTrack()
+						}
+					},
+					fail: (err) => {
+						// 处理请求失败情况
+					}
+				});
+			},
+			// 获取轨迹
+			getTrack() {
+				uni.request({
+					url: ENV.APP_DEV_URL + '/api/waybill-task/locus',
+					method: 'GET',
+					data: {
+						waybillNo: this.orderList.waybillNo,
+					},
+					success: (res) => {
+						if (res.data.code == 200) {
+							let arr = res.data.data
+							let arrList = []
+							if (arr.length > 0) {
+								arr.forEach(item => {
+									if (item.T_site != '0,0' && item.T_site) {
+										const arr1 = item.T_site.split(',')
+										const list = {
+											latitude: arr1[1],
+											longitude: arr1[0],
+										}
+										arrList.push(list)
+									}
+								})
+
+								let polyline = [{
+									points: arrList,
+									color: '#3591FC',
+									width: 15,
+									arrowLine: true,
+								}]
+								this.polylineList = polyline
+								const markers0 = {
+									latitude: arrList[0].latitude,
+									longitude: arrList[0].longitude,
+									id: 0,
+									iconPath: '/static/task/startpoint.png',
+									width: 35,
+									height: 35,
+								}
+								const markers1 = {
+									latitude: arrList[arrList.length - 1].latitude,
+									longitude: arrList[arrList.length - 1].longitude,
+									id: 1,
+									iconPath: '/static/task/endpoint.png',
+									width: 35,
+									height: 35,
+								}
+								let markers = []
+								markers.push(markers0)
+								markers.push(markers1)
+								this.markers = markers
+								this.latitude = arrList[arrList.length - 1].latitude
+								this.longitude = arrList[arrList.length - 1].longitude
+								this.$forceUpdate()
+								this.showmap = true;
+							}
+						}
+					},
+					fail: (err) => {
+						// 处理请求失败情况
+					}
+				});
+			},
+			clickImg() {
+				if (this.logisticsFlag) {
+					this.logisticsFlag = false
+				} else {
+					this.logisticsFlag = true
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.card_logist {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		display: flex;
+	}
+
+	.card_logistics {
+		z-index: 2023;
+		position: absolute;
+		display: flex;
+		bottom: 0;
+		left: 20rpx;
+		right: 20rpx;
+		// width: calc(100% - 40rpx);
+		// margin: 20rpx 20rpx 0rpx 20rpx;
+		background-color: #fff;
+		border-top-right-radius: 10rpx;
+		border-top-left-radius: 10rpx;
+	}
+
+	.img_head {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		padding: 10rpx 0rpx;
+	}
+
+	.card_wlxq {
+		display: flex;
+		flex: 1;
+	}
+
+	.title_logistics_il {
+		font-size: 30rpx;
+		font-weight: 600;
+		padding: 0rpx 20rpx 0rpx 20rpx;
+	}
+
+	.card_steps {
+		display: flex;
+		padding: 20rpx;
+	}
+
+	.overturn {
+		transform: rotate(180deg);
+	}
+
+	.steps {
+		display: flex;
+		flex-direction: column;
+		flex: 1;
+	}
+
+	.steps_item {
+		display: flex;
+		flex-direction: row;
+		flex: 1;
+	}
+
+	.s_r {
+		padding: 0 20rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		width: 50rpx;
+	}
+
+	.line {
+		width: 5rpx;
+		height: 20rpx;
+	}
+
+	.line1 {
+		width: 5rpx;
+		height: 90rpx;
+	}
+
+	.index_title {
+		width: 24rpx;
+		height: 24rpx;
+		border-radius: 50rpx;
+		border: 4rpx solid #e3eeff;
+	}
+
+	.s_l {
+		flex: 1;
+		height: 120rpx;
+		display: flex;
+		flex-direction: column;
+		padding-bottom: 20rpx;
+	}
+
+	.date_scacm {
+		font-size: 23rpx;
+		color: #afb4be;
+	}
+
+	.title_scacm_34 {
+		font-size: 28rpx;
+		font-weight: 500;
+		color: rgba(102, 102, 102, 1);
+	}
+
+	.not_card {
+		display: flex;
+		justify-content: center;
+		flex-direction: column;
+		align-items: center;
+	}
+
+	.not_title {
+		font-size: 30rpx;
+		color: #afb4be;
+	}
+</style>

+ 0 - 206
pages/order/logisticsDetails.vue

@@ -1,206 +0,0 @@
-<template>
-	<!-- 物流详情 -->
-	<view class="card_logist">
-		<u-navbar title="物流详情" autoBack placeholder></u-navbar>
-		<map style="width: 100%;height: 500rpx;z-index: 2" id="container" :latitude="latitude" :longitude="longitude"
-			:scale="scale" :polyline="polylineList" :markers="markersList">
-		</map>
-		<view class="card_logistics">
-			<!-- <view class="center_in img_head" @click="clickImg">
-				<u-image :class="logisticsFlag ? '' : 'overturn'" src="../../static/unfold.png" width="80rpx"
-					height="50rpx"></u-image>
-			</view> -->
-			<view v-if="logisticsFlag">
-				<view class="title_logistics">物流详情</view>
-				<view class="card_steps" :key="Math.random()" v-if="activitiesList.length > 0">
-					<x-steps :infoList="activitiesList"></x-steps>
-				</view>
-				<view v-else style="padding-bottom: 20rpx;">
-					<u-empty mode="data" text="暂无物流信息"></u-empty>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				orderList: {},
-				trackList: [],
-				map: null,
-				longitude: 106.6282014,
-				latitude: 26.64669,
-				scale: 14,
-				activitiesList: [],
-				active: 0,
-				statusList: [{
-					id: 3,
-					title: '待配送',
-				}, {
-					id: 4,
-					title: '配送中',
-				}, {
-					id: 5,
-					title: '已送达',
-				}, {
-					id: 6,
-					title: '已拒收',
-				}, {
-					id: 6,
-					title: '已拒收',
-				}],
-				polylineList: [],
-				markersList: [],
-				logisticsFlag: true,
-			}
-		},
-		mounted() {
-			var orderList = this.$cache.getCache('orderDetails')
-			this.orderList = orderList
-			this.$nextTick(() => {
-				setTimeout(() => {
-					this.getList()
-				})
-			})
-		},
-		methods: {
-			getList() {
-				this.$api.get('/api/waybill-logistics', {
-					waybillNo: this.orderList.waybillNo,
-				}).then(res => {
-					if (res.code == 200) {
-						var arrList = res.data.list
-						arrList.forEach(async (item) => {
-							item.backgroundColor = '#ffffff'
-							item.text = ''
-							let arr = ''
-							this.statusList.forEach((item1) => {
-								if (item.status == item1.id) {
-									arr = item1.title
-								}
-							});
-							let yonTitle = ''
-							if (item.coolerBox.id) {
-								yonTitle = item.coolerBox.name
-							}
-							item.text = item.address + '【' + yonTitle + '】' + '  ' + '您的货物' + arr
-						})
-						arrList[0].backgroundColor = '#2979ff'
-						this.activitiesList = arrList.reverse()
-						this.getTrack()
-					}
-				})
-			},
-			// 获取轨迹
-			getTrack() {
-				this.$api.get('/api/waybill-task/locus', {
-					waybillNo: this.orderList.waybillNo,
-				}).then(res => {
-					if (res.code == 200) {
-						let arr = res.data
-						let arrList = []
-						if (arr.length > 0) {
-							arr.forEach(item => {
-								if (item.T_site != '0,0' && item.T_site) {
-									const arr1 = item.T_site.split(',')
-									const list = {
-										latitude: arr1[1],
-										longitude: arr1[0],
-									}
-									arrList.push(list)
-								}
-							})
-
-							let polyline = [{
-								width: 30,
-								points: arrList,
-								color: '#3591FC',
-								arrowLine: true,
-								arrowIconPath: '/static/task/arrows.png',
-							}]
-							this.polylineList = polyline
-							const markers0 = {
-								latitude: arrList[0].latitude,
-								longitude: arrList[0].longitude,
-								id: 0,
-								iconPath: '/static/task/startpoint.png',
-								width: 20,
-								height: 23
-							}
-							const markers1 = {
-								latitude: arrList[arrList.length - 1].latitude,
-								longitude: arrList[arrList.length - 1].longitude,
-								id: 1,
-								iconPath: '/static/task/endpoint.png',
-								width: 20,
-								height: 23
-							}
-							this.markersList[0] = markers0
-							this.markersList[1] = markers1
-							this.latitude = arrList[arrList.length - 1].latitude
-							this.longitude = arrList[arrList.length - 1].longitude
-							// console.log(this.polylineList, this.markersList, 266)
-							this.$forceUpdate()
-						}
-					}
-				})
-			},
-			clickImg() {
-				if (this.logisticsFlag) {
-					this.logisticsFlag = false
-				} else {
-					this.logisticsFlag = true
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	#map {
-		width: 100%;
-		height: 500rpx;
-	}
-
-	.loading-icon {
-		color: #333;
-		font-size: 28rpx;
-		padding: 10px;
-		background-color: rgba(255, 255, 255, 0.8);
-		border-radius: 5px;
-		text-align: center;
-	}
-
-	.card_logist ::v-deep .u-navbar__content {
-		z-index: 2004;
-	}
-
-	.card_logistics {
-		// width: calc(100% - 40rpx);
-		// margin: 20rpx 20rpx 0rpx 20rpx;
-		width: 100%;
-		height: auto;
-		background-color: #fff;
-		border-top-right-radius: 10rpx;
-		border-top-left-radius: 10rpx;
-	}
-
-	.img_head {
-		padding: 10rpx 0rpx;
-	}
-
-	.title_logistics {
-		font-weight: 600;
-		padding: 30rpx 20rpx 0rpx 20rpx;
-	}
-
-	.card_steps {
-		padding: 20rpx;
-	}
-
-	.overturn {
-		transform: rotate(180deg);
-	}
-</style>

+ 75 - 9
pages/order/orderDetails.vue

@@ -23,12 +23,21 @@
 						<u-tag :text="orderList.coolerBox.name" plain size="mini" type="success"></u-tag>
 					</view>
 				</view>
-				<view class="title_claim" v-if="orderList.iceRaftCode">
+				<view class="title_claim">
 					<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>
 					</view>
 				</view>
+				<!-- <view class="card_ice_list" v-if="orderList.iceRaftCode">
+					<view class="card_ice_item" v-for="(item1,index1) in orderList.iceRaftCode">
+						<view style="display: flex;align-items: center;">
+							<span class="iconfont icon-bingpaiguanli icon_ice"></span>
+							<view class="ice_title">冰排12</view>
+						</view>
+						<view class="ice_code">{{item1}}</view>
+					</view>
+				</view> -->
 				<view class="card_anti_dismantle" v-if="orderList.tamperProofLabelImg">
 					<span>防拆标签图片:</span>
 					<view style="display: flex;">
@@ -46,16 +55,24 @@
 				</view>
 				<view class="title_claim"><span>备注:</span>{{orderList.remark}}</view>
 			</view>
+			<view class="card_examine" v-if="orderList.status != 1">
+				<view class="examine_title center_in">
+					<view class="line_back" @click="logistics">查看物流详情</view>
+				</view>
+				<view class="examine_title center_in">
+					<view class="line_back" @click="goHumiture">查看温湿度</view>
+				</view>
+			</view>
 			<view class="card_humiture1" v-if="orderList.status == 8">
 				<view class="order_iamge_item" v-for="(item,index) in srcList" :key="index">
 					<u-image :showLoading="true" :src="item.url" width="80px" height="80px" radius="2"></u-image>
 					<view class="order_item_title">{{item.title}}</view>
 				</view>
 			</view>
-			<view v-if="orderList.status != 1">
+			<!-- <view v-if="orderList.status != 1">
 				<view class="line_back" style="margin-top: 40rpx;" @click="logistics">查看物流详情</view>
 				<view class="line_back" @click="goHumiture">查看温湿度</view>
-			</view>
+			</view> -->
 			<view style="width: 100%;height: 80rpx;"></view>
 		</view>
 		<!-- <view class="btn_print" v-if="type == 'details' && orderList.status == 2 || orderList.status == 3">
@@ -173,7 +190,7 @@
 		justify-content: space-between;
 		align-items: center;
 		background-color: #fff;
-		border-radius: 20rpx;
+		border-radius: 10rpx;
 		padding: 15rpx;
 	}
 
@@ -193,14 +210,16 @@
 	.title_delivery {
 		font-size: 30rpx;
 		font-weight: 600;
-		margin: 20rpx 0rpx 10rpx 10rpx;
+		margin: 10rpx 0rpx 10rpx 10rpx;
 	}
 
 	.card_humiture {
 		margin-top: 30rpx;
-		border-radius: 20rpx;
+		// border-radius: 20rpx;
 		padding: 1rpx 20rpx;
 		background-color: #fff;
+		border-top-right-radius: 10rpx;
+		border-top-left-radius: 10rpx;
 	}
 
 	.card_humiture1 {
@@ -209,7 +228,7 @@
 		align-items: center;
 		flex-wrap: wrap;
 		margin-top: 10rpx;
-		border-radius: 20rpx;
+		border-radius: 10rpx;
 		padding: 20rpx;
 		background-color: #fff;
 	}
@@ -228,9 +247,11 @@
 
 	.title_claim {
 		display: flex;
-		margin: 20rpx 0rpx;
+		margin: 20rpx 0rpx 6rpx 0rpx;
 
 		span {
+			display: flex;
+			align-items: center;
 			font-size: 28rpx;
 			color: #909399;
 			margin-right: 10rpx;
@@ -251,7 +272,52 @@
 			font-size: 28rpx;
 			color: #909399;
 			margin-bottom: 10rpx;
-			margin-top: 10rpx;
 		}
 	}
+
+	.card_ice_list {
+		display: flex;
+		flex-direction: row;
+		flex-wrap: wrap;
+	}
+
+	.card_ice_item {
+		margin-right: 10rpx;
+		margin-bottom: 10rpx;
+		padding: 6rpx 10rpx;
+		border-radius: 6rpx;
+		border: 1rpx solid #e7e6e4;
+	}
+
+	.ice_title {
+		font-size: 28rpx;
+	}
+
+	.icon_ice {
+		font-size: 34rpx;
+		color: #19be6b;
+		margin-right: 5rpx;
+	}
+
+	.ice_code {
+		font-size: 24rpx;
+	}
+
+	.card_examine {
+		display: flex;
+		align-items: center;
+		border-top: 1rpx solid #e7e6e4;
+		background-color: #fff;
+		border-bottom-left-radius: 10rpx;
+		border-bottom-right-radius: 10rpx;
+	}
+
+	.examine_title {
+		flex: 1;
+		height: 80rpx;
+	}
+
+	.examine_title:nth-child(1) {
+		border-right: 1rpx solid #e7e6e4;
+	}
 </style>

+ 19 - 1
pages/order/waybill.js

@@ -60,10 +60,16 @@ export const iceRaftRulesil = () => {
 		type: 'input',
 		required: true,
 	}, {
+		field: 'label',
+		label: '冰排备注',
+		placeholder: '请输入冰排备注',
+		type: 'input',
+		required: true,
+	}, {
 		field: 'status',
 		label: '状态',
 		placeholder: '请选择状态',
-		type: 'select',
+		type: 'selectiveSearch',
 		required: true,
 		options: [{
 			value: '2',
@@ -78,6 +84,18 @@ export const iceRaftRulesil = () => {
 		placeholder: '请输入冷冻时间',
 		type: 'input',
 		required: true,
+	}, {
+		field: 'suitableForColdTime',
+		label: '适冷时间',
+		placeholder: '请输入适冷时间',
+		type: 'input',
+		required: true,
+	}, {
+		field: 'suitableForCold',
+		label: '适冷温度',
+		placeholder: '请输入适冷温度',
+		type: 'input',
+		required: true,
 	}]
 }
 export const printList = () => {

二進制
static/task/destination.png


二進制
static/task/endpoint.png


二進制
static/task/not.png


二進制
static/task/startpoint.png


二進制
static/task/transport.png