| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706 | 
							- <template>
 
- 	<!-- 出入库 -->
 
- 	<view>
 
- 		<u-navbar :title="navTitle" autoBack placeholder @leftClick="leftClick"></u-navbar>
 
- 		<view class="card_order_details">
 
- 			<view class="card_search" v-if="selectiveType == 'enter'">
 
- 				<view class="details_title">冷冻柜 <span class="line_title">*</span></view>
 
- 				<view class="card_input">
 
- 					<view class="card_search_gray frame" @click="focus(true)">
 
- 						<span v-if="coldCupboard.name">{{coldCupboard.name}}</span>
 
- 						<span class="title_gray" v-else>请选择冷冻柜</span>
 
- 						<u-icon name="arrow-down" color="#c8c9cc" size="18"></u-icon>
 
- 					</view>
 
- 					<!-- <u-input placeholder="请选择" border="surround" v-model="coldCupboard.name" suffixIcon="arrow-down"
 
- 						@focus="focus(true)"></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">
 
- 					<view class="card_search_gray frame" @click="focus(false)">
 
- 						<span v-if="incubator.name">{{incubator.name}}</span>
 
- 						<span class="title_gray" v-else>请选择保温箱</span>
 
- 						<u-icon name="arrow-down" color="#c8c9cc" size="18"></u-icon>
 
- 					</view>
 
- 					<!-- <u-input placeholder="请选择" border="surround" v-model="incubator.name" suffixIcon="arrow-down"
 
- 						@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>
 
- 				</view>
 
- 				<view class="title_hour">小时</view>
 
- 			</view> -->
 
- 			<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 class="deleteCurrent" @click="removeWaybill(frequencyCoding)">
 
- 					<u-icon class="icon_current" name="backspace" height="10" size="20"></u-icon>
 
- 					<view class="title_nape">删除</view>
 
- 				</view> -->
 
- 			</view>
 
- 			<view class="box_serial_number" v-if="iceRaftData.length > 0">
 
- 				<view class="card_frequency_title">选择冰排</view>
 
- 				<view class="card_ice_code">
 
- 					<view class="item_coding" v-for="(item,index) in iceRaftData" :key="index" @click="selectIce(item)">
 
- 						<view style="display: flex;align-items: center;">
 
- 							<span class="iconfont icon-bingpaiguanli iceIcon"></span>
 
- 							<view class="title_coding">{{item.value}}</view>
 
- 						</view>
 
- 						<view class="checked" v-if="item.flag"></view>
 
- 					</view>
 
- 				</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 style="display: flex;align-items: center;">
 
- 							<span class="iconfont icon-bingpaiguanli iceIcon"></span>
 
- 							<view class="title_coding">{{item}}</view>
 
- 						</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" :loading="loading" @click="submit">提交</u-button>
 
- 			</view>
 
- 		</view>
 
- 		<u-modal :show="logoutShow" showCancelButton :title="title" :content='content' @cancel="cancel"
 
- 			@confirm="confirm(200)"></u-modal>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	const ENV = require('@/.env.js')
 
- 	export default {
 
- 		data() {
 
- 			return {
 
- 				loading: false,
 
- 				frequencyCoding: '',
 
- 				navTitle: '',
 
- 				selectiveType: '',
 
- 				cmpCode: '',
 
- 				list: [],
 
- 				orderId: '',
 
- 				freezingDuration: '',
 
- 				suitableForCold: null,
 
- 				typeFlag: true,
 
- 				coldCupboard: {
 
- 					id: null,
 
- 					name: '',
 
- 				},
 
- 				incubator: {
 
- 					id: null,
 
- 					name: '',
 
- 				},
 
- 				logoutShow: false,
 
- 				title: '是否继续出库?',
 
- 				content: '',
 
- 				userInfo: {},
 
- 				iceRaftData: []
 
- 			}
 
- 		},
 
- 		onUnload() {
 
- 			uni.removeStorageSync('incubatorValue');
 
- 			uni.removeStorageSync('freezerValue');
 
- 		},
 
- 		onLoad(receive) {
 
- 			this.navTitle = receive.title
 
- 			this.selectiveType = receive.id
 
- 			if (receive.id == 'enter') {
 
- 				this.typeFlag = true
 
- 				this.getNotStoredIce()
 
- 			} else {
 
- 				this.typeFlag = false
 
- 			}
 
- 		},
 
- 		onShow() {
 
- 			let incubator = uni.getStorageSync('incubatorValue')
 
- 			if (incubator) {
 
- 				if (incubator.id != this.incubator.id) {
 
- 					this.incubator.id = incubator.id
 
- 					this.incubator.name = incubator.name
 
- 					this.list = []
 
- 					this.getAvailable(incubator.id)
 
- 				}
 
- 			}
 
- 			let freezer = uni.getStorageSync('freezerValue')
 
- 			if (freezer) {
 
- 				if (freezer.id != this.coldCupboard.id) {
 
- 					this.coldCupboard.id = freezer.id
 
- 					this.coldCupboard.name = freezer.name
 
- 				}
 
- 			}
 
- 			var userInfo = this.$cache.getCache('userInfo')
 
- 			this.userInfo = userInfo
 
- 		},
 
- 		methods: {
 
- 			// 获取未入库冰排
 
- 			getNotStoredIce() {
 
- 				this.$api.get('/api/ice-raft/GetCoolerIceRaft').then(res => {
 
- 					if (res.code == 200) {
 
- 						let iceArr = res.data
 
- 						let iceData = []
 
- 						iceArr.forEach(item => {
 
- 							let arrValue = {
 
- 								flag: false,
 
- 								value: item.code
 
- 							}
 
- 							iceData.push(arrValue)
 
- 						})
 
- 						this.iceRaftData = iceData
 
- 					}
 
- 				})
 
- 			},
 
- 			// 获取保温箱可使用冰排
 
- 			getAvailable(id) {
 
- 				this.$api.post('/api/ice-raft/GetCoolerBoxBindCieRaft', {
 
- 					id: String(id),
 
- 				}).then(res => {
 
- 					if (res.code == 200) {
 
- 						let iceArr = res.data
 
- 						let iceData = []
 
- 						iceArr.forEach(item => {
 
- 							let arrValue = {
 
- 								flag: false,
 
- 								value: item
 
- 							}
 
- 							iceData.push(arrValue)
 
- 						})
 
- 						this.iceRaftData = iceData
 
- 					}
 
- 				})
 
- 			},
 
- 			focus(flag) {
 
- 				this.typeFlag = flag
 
- 				if (flag) {
 
- 					uni.navigateTo({
 
- 						url: '/pages/order/iceCold'
 
- 					});
 
- 				} else {
 
- 					uni.navigateTo({
 
- 						url: '/pages/order/Incubator'
 
- 					});
 
- 				}
 
- 			},
 
- 			leftClick() {
 
- 				uni.$emit('refresh');
 
- 			},
 
- 			async submit() {
 
- 				await this.getEntering()
 
- 				if (this.list.length > 0) {
 
- 					this.loading = true
 
- 					uni.showLoading({
 
- 						mask: true
 
- 					});
 
- 					if (this.typeFlag) {
 
- 						// 入库
 
- 						if (this.coldCupboard.id) {
 
- 							this.$api.post('/api/ice-raft/in-storage', {
 
- 								code: this.list,
 
- 								iceLockerId: this.coldCupboard.id,
 
- 								freezeClaim: Number(this.freezingDuration),
 
- 							}).then(res => {
 
- 								if (res.code == 200) {
 
- 									this.list = []
 
- 									this.freezingDuration = ''
 
- 									this.frequencyCoding = ''
 
- 									this.coldCupboard.id = null
 
- 									this.coldCupboard.name = ''
 
- 									uni.showToast({
 
- 										icon: 'none',
 
- 										title: res.msg,
 
- 										duration: 3000
 
- 									});
 
- 									this.getNotStoredIce()
 
- 								} else {
 
- 									uni.showToast({
 
- 										icon: 'none',
 
- 										title: res.msg,
 
- 										duration: 3000
 
- 									});
 
- 								}
 
- 								this.loading = false
 
- 								this.getIncubator()
 
- 							}).catch(() => {
 
- 								uni.hideLoading();
 
- 							})
 
- 						} else {
 
- 							this.loading = false
 
- 							uni.showToast({
 
- 								icon: 'none',
 
- 								title: '请选择入库冷冻柜',
 
- 								duration: 3000
 
- 							});
 
- 						}
 
- 					} else {
 
- 						this.loading = false
 
- 						this.$api.post('/api/ice-raft/isoutstorage', {
 
- 							code: this.list,
 
- 						}).then(res => {
 
- 							if (res.code == 200) {
 
- 								this.content = res.msg
 
- 								this.logoutShow = true
 
- 							} else if (res.code == 1201) {
 
- 								this.confirm(1201)
 
- 							} else {
 
- 								uni.$u.toast(res.msg)
 
- 							}
 
- 							this.getIncubator()
 
- 						}).catch(() => {
 
- 							uni.hideLoading();
 
- 						})
 
- 					}
 
- 				} else {
 
- 					uni.$u.toast('请先录入冰排编号')
 
- 				}
 
- 			},
 
- 			// 确定
 
- 			confirm(event) {
 
- 				if (this.userInfo.dept) {
 
- 					if (!this.userInfo.dept.isOutStorage) {
 
- 						this.getOutStorage()
 
- 					} else {
 
- 						if (event == 200) {
 
- 							this.$message.error('冰排暂未到达冷冻要求');
 
- 						} else if (event == 1201) {
 
- 							this.getOutStorage()
 
- 						}
 
- 					}
 
- 				} else {
 
- 					this.$message.error('当前账户无公司信息');
 
- 				}
 
- 			},
 
- 			getOutStorage() {
 
- 				this.logoutShow = false
 
- 				this.loading = true
 
- 				// 出库
 
- 				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.suitableForCold = null
 
- 						this.frequencyCoding = ''
 
- 						// this.incubator.id = null
 
- 						// this.incubator.name = ''
 
- 						this.list = []
 
- 						this.getAvailable(this.incubator.id)
 
- 						uni.showToast({
 
- 							icon: 'none',
 
- 							title: res.msg,
 
- 							duration: 3000
 
- 						});
 
- 					} else {
 
- 						uni.showToast({
 
- 							icon: 'none',
 
- 							title: res.msg,
 
- 							duration: 3000
 
- 						});
 
- 					}
 
- 					this.loading = false
 
- 				})
 
- 			},
 
- 			// 取消
 
- 			cancel() {
 
- 				this.logoutShow = false
 
- 			},
 
- 			// 扫码录入
 
- 			async getEntering() {
 
- 				if (this.frequencyCoding) {
 
- 					await this.$api.get('/api/ice-raft/code/' + this.frequencyCoding).then(res => {
 
- 						if (res.code == 200) {
 
- 							this.list.push(this.frequencyCoding)
 
- 							function methods1(arr) {
 
- 								return Array.from(new Set(arr));
 
- 							}
 
- 							this.list = methods1(this.list)
 
- 						} else {
 
- 							uni.showToast({
 
- 								icon: 'none',
 
- 								title: res.msg,
 
- 								duration: 3000
 
- 							});
 
- 						}
 
- 					})
 
- 				}
 
- 			},
 
- 			// 扫一扫
 
- 			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 = ''
 
- 							this.iceRaftData.forEach(item => {
 
- 								item.flag = this.list.includes(item.value)
 
- 							})
 
- 						} else {
 
- 							uni.showToast({
 
- 								icon: 'none',
 
- 								title: res.msg,
 
- 								duration: 3000
 
- 							});
 
- 						}
 
- 					})
 
- 				}
 
- 			},
 
- 			// 选择冰排
 
- 			selectIce(value) {
 
- 				this.iceRaftData.forEach(item => {
 
- 					if (item.value == value.value) {
 
- 						if (item.flag) {
 
- 							item.flag = false
 
- 							let arr = this.list.filter(item1 => item1 !== value.value);
 
- 							this.list = arr
 
- 						} else {
 
- 							item.flag = true
 
- 							this.list.push(item.value)
 
- 							this.list = this.uniqueArray(this.list)
 
- 						}
 
- 					}
 
- 				})
 
- 			},
 
- 			// 去重
 
- 			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);
 
- 				}
 
- 				this.iceRaftData.forEach(item => {
 
- 					item.flag = this.list.includes(item.value)
 
- 				})
 
- 			},
 
- 		}
 
- 	}
 
- </script>
 
- <style lang="scss">
 
- 	page {
 
- 		background-color: #fff !important;
 
- 	}
 
- 	.card_order_details {
 
- 		margin: 10rpx 30rpx 30rpx 30rpx;
 
- 	}
 
- 	.details_title {
 
- 		width: 150rpx;
 
- 		flex: none;
 
- 		color: #333;
 
- 		font-size: 32rpx;
 
- 		font-weight: 500;
 
- 		margin-bottom: 10rpx;
 
- 		// margin-right: 15rpx;
 
- 	}
 
- 	.title_hour {
 
- 		flex: none;
 
- 		font-size: 30rpx;
 
- 		margin-left: 15rpx;
 
- 	}
 
- 	.card_time {
 
- 		width: 100%;
 
- 		border: 1rpx solid #dadbde;
 
- 		border-radius: 10rpx;
 
- 		padding: 6px 9px;
 
- 		margin-left: 10rpx;
 
- 		line-height: 48rpx;
 
- 	}
 
- 	.card_search {
 
- 		display: flex;
 
- 		align-items: center;
 
- 		margin: 20rpx 0rpx;
 
- 	}
 
- 	.card_sign_in {
 
- 		margin-top: 30rpx;
 
- 		display: flex;
 
- 	}
 
- 	.scan_title {
 
- 		font-size: 20rpx;
 
- 	}
 
- 	.card_sweep {
 
- 		display: flex;
 
- 		flex-direction: column;
 
- 		align-items: center;
 
- 		flex: none;
 
- 	}
 
- 	.card_input {
 
- 		width: 100%;
 
- 		margin-left: 30rpx;
 
- 	}
 
- 	.line_title {
 
- 		color: red;
 
- 	}
 
- 	.card_high {
 
- 		margin-top: 20rpx;
 
- 	}
 
- 	.box_serial_number {
 
- 		display: flex;
 
- 		flex-direction: column;
 
- 	}
 
- 	.card_ice_code {
 
- 		padding: 10rpx 0rpx;
 
- 		max-height: 25vh;
 
- 		overflow-y: auto;
 
- 	}
 
- 	.item_code_box {
 
- 		padding: 10rpx 0rpx;
 
- 	}
 
- 	.card_frequency {
 
- 		display: flex;
 
- 		flex-wrap: wrap;
 
- 	}
 
- 	.card_frequency_title {
 
- 		font-size: 32rpx;
 
- 	}
 
- 	.card_bottle {
 
- 		font-size: 30rpx;
 
- 		span {
 
- 			color: red;
 
- 			margin-left: 5rpx;
 
- 			font-size: 32rpx;
 
- 		}
 
- 	}
 
- 	.item_coding {
 
- 		display: flex;
 
- 		justify-content: space-between;
 
- 		align-items: center;
 
- 		width: 100%;
 
- 		// margin-top: 10px;
 
- 		padding: 25rpx 0rpx;
 
- 		border-bottom: 2rpx solid #E4E7ED;
 
- 	}
 
- 	.iceIcon {
 
- 		color: #19be6b;
 
- 		margin-right: 10rpx;
 
- 		font-size: 36rpx;
 
- 	}
 
- 	.title_coding {
 
- 		font-size: 30rpx;
 
- 	}
 
- 	.checked {
 
- 		position: relative;
 
- 		width: 40rpx;
 
- 		height: 40rpx;
 
- 	}
 
- 	.checked::after {
 
- 		content: "";
 
- 		background-color: #19be6b;
 
- 		width: 20rpx;
 
- 		height: 4rpx;
 
- 		position: absolute;
 
- 		top: 30rpx;
 
- 		left: 0rpx;
 
- 		transform: rotate(30deg);
 
- 		border-radius: 8rpx;
 
- 	}
 
- 	.checked::before {
 
- 		content: "";
 
- 		background-color: #19be6b;
 
- 		width: 30rpx;
 
- 		height: 4rpx;
 
- 		position: absolute;
 
- 		top: 22rpx;
 
- 		left: 12rpx;
 
- 		transform: rotate(-50deg);
 
- 		border-radius: 8rpx;
 
- 	}
 
- 	.card_empty {
 
- 		width: 100%;
 
- 		margin-top: 50rpx;
 
- 		display: flex;
 
- 		align-items: center;
 
- 		justify-content: center;
 
- 	}
 
- 	.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;
 
- 	}
 
- 	.deleteCurrent {
 
- 		display: flex;
 
- 		align-items: center;
 
- 		flex-direction: column;
 
- 		justify-content: center;
 
- 		border: 1px solid #e5e5e5;
 
- 		padding: 5rpx 0rpx 5rpx 5rpx;
 
- 		margin-left: 10rpx;
 
- 		border-radius: 8rpx;
 
- 		height: 66rpx;
 
- 		.icon_current {
 
- 			height: 15px;
 
- 		}
 
- 		.title_nape {
 
- 			margin: 0rpx 10rpx;
 
- 			display: flex;
 
- 			font-size: 20rpx;
 
- 			width: 40rpx;
 
- 		}
 
- 	}
 
- 	.add_card {
 
- 		margin-left: 10rpx;
 
- 		width: 50rpx;
 
- 		height: 46rpx;
 
- 		border-radius: 8rpx;
 
- 		padding: 6px 9px;
 
- 		border: 1px solid #dadbde;
 
- 	}
 
- 	::v-deep .u-border {
 
- 		border-width: 1px !important;
 
- 		border-color: #e5e5e5 !important;
 
- 		border-style: solid;
 
- 	}
 
- 	.card_search_gray {
 
- 		display: flex;
 
- 		flex-direction: row;
 
- 		align-items: center;
 
- 		justify-content: space-between;
 
- 		flex: 1;
 
- 		padding: 12rpx 18rpx;
 
- 		border-radius: 8rpx;
 
- 		line-height: 48rpx;
 
- 	}
 
- 	.title_gray {
 
- 		font-size: 30rpx;
 
- 		color: #c8c9cc;
 
- 	}
 
- 	// 伪元素1rpx边框
 
- 	.frame {
 
- 		position: relative; //重要
 
- 	}
 
- 	.frame::after {
 
- 		position: absolute;
 
- 		content: '';
 
- 		border: 4rpx solid #e7e6e4;
 
- 		border-radius: 16rpx;
 
- 		width: 200%;
 
- 		height: 200%;
 
- 		top: 0;
 
- 		left: 0;
 
- 		transform: scale(0.5);
 
- 		transform-origin: 0 0;
 
- 		pointer-events: none;
 
- 		/* 使伪元素不会阻止鼠标事件 */
 
- 	}
 
- </style>
 
 
  |