Răsfoiți Sursa

冰排管理、保温箱管理、首页页面重构

unknown 4 săptămâni în urmă
părinte
comite
1b33fc4750

+ 115 - 44
components/x-orderManagement.vue

@@ -5,12 +5,13 @@
 				<view class="waybill_title">运单号:<span>{{item.waybillNo}}</span></view>
 				<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.orderTime}}</view>
-
-			<view style="display: flex;margin-top: 15rpx;" v-if="item.status == 1">
-				<view class="btn_printil markd10" v-if="item.status == 1 || item.status == 2 || item.status == 3"
+			<view style="display: flex;margin-top: 15rpx;"
+				v-if="item.status == 1 || item.status == 2 || item.status == 3">
+				<!-- <view class="btn_printil markd10"
 					@click.stop="modifyOrder(item)">
 					<u-button size="small" type="warning" text="修改运单"></u-button>
 				</view>
@@ -19,9 +20,12 @@
 				</view>
 				<view class="btn_printil markd10" @click.stop="sendOrders(item)">
 					<u-button size="small" type="success" text="派单"></u-button>
+				</view> -->
+				<view class="btn_printil markd10" @click.stop="toDeliver(item)">
+					<u-button size="small" type="success" text="去配送"></u-button>
 				</view>
 			</view>
-			<view style="display: flex;" v-if="item.status == 2">
+			<view style="display: flex;" v-if="item.status == 4">
 				<view class="btn_printil markd10" @click.stop="rejection(item)">
 					<u-button size="small" type="error" text="拒收"></u-button>
 				</view>
@@ -34,30 +38,39 @@
 			<view class="center_in title_sign">{{signRejection}}</view>
 			<view class="card_sign_for">
 				<view class="img_sign_rejection">运单号: {{orderNumber}}</view>
-				<view v-if="!rejectionFlag">
-					<u-radio-group v-model="value">
+				<view style="margin-bottom: 20rpx;" v-if="!rejectionFlag">
+					<u-radio-group v-model="modePayment">
 						<span style="font-size: 30rpx;margin: 0rpx 20rpx 15rpx 0rpx;">支付方式:</span>
 						<u-radio style="margin: 0rpx 20rpx 15rpx 0rpx;" v-for="(item, index) in radiolist" :key="index"
 							:label="item.name" :name="item.value"></u-radio>
 					</u-radio-group>
 				</view>
-				<view style="display: flex;">
-					<view class="card_image_sign">
-						<view class="img_sign_rejection center_in">{{signRejection}}图片</view>
-						<u-upload :fileList="fileList1" name="1" multiple :maxCount="10" @afterRead="afterRead"
-							@delete="deletePic"></u-upload>
-					</view>
-					<view class="card_image_sign">
-						<view class="img_sign_rejection center_in" @click="goSignature('client')">客户签字</view>
-						<u-image :showLoading="true" :src="imageData" width="200rpx" height="155rpx"
-							@click="goSignature('client')"></u-image>
+				<view style="margin-bottom: 20rpx;" v-if="!rejectionFlag">
+					<u-radio-group v-model="statePayment">
+						<span style="font-size: 30rpx;margin: 0rpx 20rpx 15rpx 0rpx;">支付状态:</span>
+						<u-radio style="margin: 0rpx 20rpx 15rpx 0rpx;" v-for="(item, index) in stateList" :key="index"
+							:label="item.name" :name="item.value"></u-radio>
+					</u-radio-group>
+					<view v-if="statePayment == 2">
+						<u--input placeholder="请输入未结清备注" border="surround" v-model="remarksSettled"></u--input>
 					</view>
 				</view>
+				<view class="card_image_sign">
+					<view class="img_sign_rejection">{{signRejection}}图片</view>
+					<u-upload :fileList="fileList1" name="1" multiple :maxCount="10" @afterRead="afterRead"
+						@delete="deletePic"></u-upload>
+				</view>
+				<view class="card_image_sign">
+					<view class="img_sign_rejection" @click="goSignature('client')">客户签字</view>
+					<u-image :showLoading="true" :src="imageData" width="300rpx" height="155rpx"
+						@click="goSignature('client')" mode="scaleToFill"></u-image>
+				</view>
 				<view class="rejection_card" v-if="rejectionFlag">
 					<view class="img_sign_rejection">拒收原因</view>
 					<u-textarea v-model="rejectionValue" placeholder="请输入拒收原因" autoHeight></u-textarea>
 				</view>
-				<u-button size="small" type="primary" text="确定" @click="confirm()"></u-button>
+				<u-button style="margin-top: 30rpx;" size="small" type="primary" text="确定"
+					@click="confirm()"></u-button>
 			</view>
 		</u-popup>
 		<u-popup :show="antiShow" mode="center" closeable :closeOnClickOverlay="false" round="6" @close="close">
@@ -120,20 +133,30 @@
 				imageData: '',
 				radiolist: [{
 					name: '现金',
-					value: 0,
+					value: 1,
 				}, {
 					name: '线上支付',
-					value: 1,
+					value: 2,
 				}, {
 					name: '银行卡',
-					value: 2,
+					value: 3,
 				}, {
 					name: '医保',
-					value: 3,
+					value: 4,
 				}, {
 					name: '其他',
-					value: 4,
-				}]
+					value: 5,
+				}],
+				stateList: [{
+					name: '已结清',
+					value: 1,
+				}, {
+					name: '未结清',
+					value: 2,
+				}],
+				modePayment: null,
+				statePayment: null,
+				remarksSettled: '',
 			}
 		},
 		mounted() {
@@ -172,6 +195,14 @@
 					})
 				}
 			},
+			// 去配送
+			toDeliver(event) {
+				uni.setStorageSync('incubatorValue', event.coolerBox)
+				uni.setStorageSync('orderValue', JSON.stringify(event))
+				uni.navigateTo({
+					url: '/pages/order/dispatching'
+				});
+			},
 			// 拒收
 			rejection(value) {
 				this.orderNumber = value.waybillNo
@@ -191,23 +222,58 @@
 				let params = {
 					waybillNo: this.orderNumber,
 					receiptImg: this.imageUrl,
-					status: 3,
+					status: 5,
 					rejectionReason: this.rejectionValue,
+					receiptsign: this.imageData,
+					paymentType: this.modePayment,
+					paymentStatus: this.statePayment,
+					paymentremark: this.remarksSettled,
 				}
+				let verify = false
 				if (this.rejectionFlag) {
-					params.status = 4
+					params.status = 6
+					verify = this.verification(params)
 				} else {
-					params.status = 3
+					params.status = 5
+					verify = this.verification(params)
+				}
+				if (verify) {
+					this.$api.post('/api/waybill/receipt', params).then(res => {
+						if (res.code == 200) {
+							this.signForShow = false
+							uni.$u.toast(res.msg)
+							this.$emit('operateSuccessfully')
+						} else {
+							uni.$u.toast(res.msg)
+						}
+					})
 				}
-				this.$api.post('/api/waybill/receipt', params).then(res => {
-					if (res.code == 200) {
-						uni.$u.toast(res.msg)
-						this.signForShow = false
-						this.$emit('operateSuccessfully')
+			},
+			// 拒收签收验证
+			verification(params) {
+				let flag = false
+				if (this.rejectionFlag) {
+					if (params.receiptImg) {
+						flag = true
 					} else {
-						uni.$u.toast(res.msg)
+						uni.$u.toast('请上传' + this.signRejection + '图片')
 					}
-				})
+				} else {
+					if (params.paymentType) {
+						if (params.paymentStatus) {
+							if (params.receiptImg) {
+								flag = true
+							} else {
+								uni.$u.toast('请上传' + this.signRejection + '图片')
+							}
+						} else {
+							uni.$u.toast('请选择支付状态')
+						}
+					} else {
+						uni.$u.toast('请选择支付方式')
+					}
+				}
+				return flag
 			},
 			// 修改防拆标签
 			async modifiedTamper() {
@@ -263,25 +329,25 @@
 			},
 			// 运单状态
 			orderStatus(value) {
-				if (value == 1) {
-					return '已下单'
-				} else if (value == 2) {
+				if (value == 3) {
+					return '待配送'
+				} else if (value == 4) {
 					return '配送中'
-				} else if (value == 3) {
+				} else if (value == 5) {
 					return '已送达'
-				} else if (value == 4) {
+				} else if (value == 6) {
 					return '已拒收'
 				}
 			},
 			// 运单文字颜色
 			getState(value) {
-				if (value == 1) {
+				if (value == 3) {
 					return '#9ddd54'
-				} else if (value == 2) {
+				} else if (value == 4) {
 					return '#4bc7fc'
-				} else if (value == 3) {
+				} else if (value == 5) {
 					return '#1cc723'
-				} else if (value == 4) {
+				} else if (value == 6) {
 					return '#fe880e'
 				}
 			},
@@ -354,8 +420,13 @@
 				})
 			},
 			close() {
-				console.log(22)
 				this.signForShow = false
+				this.modePayment = null
+				this.statePayment = null
+				this.remarksSettled = ''
+				this.fileList1 = []
+				this.imageData = ''
+				this.rejectionValue = ''
 				this.antiShow = false
 			},
 		}
@@ -447,7 +518,7 @@
 
 	.img_sign_rejection {
 		font-size: 30rpx;
-		margin-bottom: 10rpx;
+		margin-bottom: 20rpx;
 	}
 
 	.card_dismantle {

+ 1 - 1
components/x-statistics.vue

@@ -36,7 +36,7 @@
 				list1: [{
 					sign: 'waitDeliveryNum',
 					id: 'detailsil',
-					title: '已下单',
+					title: '待配送',
 					icon: 'icon-cancel',
 					color: '#9ddd54',
 					value: null,

+ 2 - 2
manifest.json

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

+ 15 - 0
pages.json

@@ -106,6 +106,21 @@
 		"style": {
 			"navigationStyle": "custom"
 		}
+	}, {
+		"path": "pages/order/dispatching",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
+		"path": "pages/order/iceRaft",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
+		"path": "pages/order/addIceRaft",
+		"style": {
+			"navigationStyle": "custom"
+		}
 	}],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",

+ 7 - 0
pages/home/IceManagement.vue

@@ -38,6 +38,9 @@
 					{{formatMinutes(item.iceRaftRecord.freezeDuration)}}
 				</view>
 			</view>
+			<view style="width: 100%;">
+				<u-loadmore lineColor="#ffffff" :status="loadStatus" :key="Math.random()" />
+			</view>
 		</view>
 		<view style="margin-top: 20%;" v-else>
 			<u-empty mode="list" text="暂无冰排信息"></u-empty>
@@ -73,6 +76,7 @@
 				}],
 				PageIndex: 1,
 				PageSize: 10,
+				loadStatus: 'loadmore', //loading 、nomore
 				loadingMore: true,
 				keyword: '',
 			}
@@ -95,6 +99,7 @@
 			},
 			// 获取冰排列表
 			getIceraftList() {
+				this.loadStatus = 'loading'
 				this.loadingMore = true
 				this.$api.get('/api/ice-raft/newest-record', {
 					page: this.PageIndex,
@@ -108,7 +113,9 @@
 						}
 						if (data.length < this.PageSize) {
 							this.loadingMore = true
+							this.loadStatus = 'nomore'
 						} else {
+							this.loadStatus = 'loading'
 							this.loadingMore = false
 							this.PageIndex++
 						}

+ 40 - 8
pages/homePage.vue

@@ -1,5 +1,5 @@
 <template>
-	<view>
+	<view class="home_app_bgc">
 		<u-navbar placeholder bgColor="#a9e3f1" leftIcon="" @rightClick="rightClick">
 			<view class="u-nav-slot" slot="right">
 				<u-icon name="list-dot" size="30" color="#fff"></u-icon>
@@ -53,6 +53,20 @@
 					</view>
 				</view>
 			</view>
+			<view class="card_bottom_add" @click="getOperate('iceRaft')">
+				<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('incubator')">
+				<view style="display: flex;align-items: center;">
+					<span class="iconfont icon-incubator icon_bottom"></span>
+					<span>保温箱管理</span>
+				</view>
+				<u-icon name="arrow-right" size="20"></u-icon>
+			</view>
 			<view class="card_bottom_add" @click="getOperate('add')">
 				<view style="display: flex;align-items: center;">
 					<span class="iconfont icon-tianjiadingdan icon_bottom"></span>
@@ -67,6 +81,7 @@
 				</view>
 				<u-icon name="arrow-right" size="20"></u-icon>
 			</view>
+			<view style="width: 100%;height: 100rpx;"></view>
 		</view>
 		<clh-popup position="right" round="0rpx" v-model="personalShow">
 			<view :style="{paddingTop:height + 'px'}">
@@ -75,10 +90,12 @@
 						<view class="card_rectangle">
 							<view class="card_circle"></view>
 							<view class="left_order_head" @click="getOperate('order',0)">
-								<u-icon name="order" size="30" color="#5ac725"></u-icon>
+								<!-- <u-icon name="order" size="30" color="#5ac725"></u-icon> -->
+								<span class="iconfont icon_fast icon-quanbudingdan"></span>
 							</view>
 							<view class="right_exit_head" @click="getOperate('wait')">
-								<u-icon name="edit-pen" size="30" color="#5ac725"></u-icon>
+								<!-- <u-icon name="edit-pen" size="30" color="#5ac725"></u-icon> -->
+								<span class="iconfont icon_fast icon-bianji"></span>
 							</view>
 							<view class="card_content_area">
 								<view class="card_name">姓名: <span>{{userInfo.username}}</span></view>
@@ -119,7 +136,7 @@
 					colorBg: '#4bc7fc',
 					bgColor: 'linear-gradient(to right, #84d4f6, #4bc7fc)',
 				}, {
-					title: '已下单',
+					title: '待配送',
 					icon: 'icon-cancel',
 					colorBg: '#9ddd54',
 					bgColor: 'linear-gradient(to right, #b9f377, #9ddd54)',
@@ -186,7 +203,6 @@
 				});
 			},
 			getOperate(type, value) {
-				console.log(type, value, 6655)
 				if (this.token) {
 					if (type == 'book') {
 						uni.navigateTo({
@@ -212,6 +228,14 @@
 						uni.navigateTo({
 							url: '/pages/order/index?current=' + value
 						});
+					} else if (type == 'incubator') {
+						uni.navigateTo({
+							url: '/pages/order/Incubator?detailsFlag=true'
+						});
+					} else if (type == 'iceRaft') {
+						uni.navigateTo({
+							url: '/pages/order/iceRaft'
+						});
 					} else if (type == 'wait') {
 						uni.$u.toast('敬请期待!')
 					}
@@ -247,9 +271,12 @@
 </script>
 
 <style lang="scss">
-	page {
+	.home_app_bgc{
 		background-image: linear-gradient(#a9e3f1, #a9e3f1, #f3f4f6);
 	}
+	// page {
+	// 	background-image: linear-gradient(#a9e3f1, #a9e3f1, #f3f4f6);
+	// }
 
 	.column_center_card {
 		display: flex;
@@ -474,10 +501,15 @@
 		left: 10rpx;
 	}
 
+	.icon_fast {
+		font-size: 45rpx;
+		color: #5ac725;
+	}
+
 	.right_exit_head {
 		position: absolute;
-		top: 10rpx;
-		right: 20rpx;
+		top: 12rpx;
+		right: 10rpx;
 	}
 
 	.card_content_area {

+ 1 - 1
pages/mine/index.vue

@@ -105,7 +105,7 @@
 					colorBg: '#4bc7fc',
 					bgColor: 'linear-gradient(to right, #84d4f6, #4bc7fc)',
 				}, {
-					title: '已下单',
+					title: '待配送',
 					icon: 'icon-cancel',
 					colorBg: '#9ddd54',
 					bgColor: 'linear-gradient(to right, #b9f377, #9ddd54)',

+ 22 - 4
pages/order/Incubator.vue

@@ -13,6 +13,9 @@
 				<span class="iconfont imagebwx icon-incubator"></span>
 				<view>{{item.name}}</view>
 			</view>
+			<view style="width: 100%;">
+				<u-loadmore lineColor="#ffffff" :status="loadStatus" :key="Math.random()" />
+			</view>
 		</view>
 		<view style="margin-top: 20%;" v-else>
 			<u-empty mode="list" text="暂无保温箱"></u-empty>
@@ -28,8 +31,10 @@
 				currentPage: 1,
 				pageSize: 15,
 				loadingMore: true,
+				loadStatus: 'loadmore', //loading 、nomore
 				incubatorValue: '',
 				orderList: [],
+				detailsFlag: false,
 			}
 		},
 		onReachBottom() {
@@ -37,6 +42,12 @@
 				this.getIncubator()
 			}
 		},
+		onLoad(option) {
+			if (option.detailsFlag) {
+				this.detailsFlag = true
+			}
+			console.log(option, 25)
+		},
 		mounted() {
 			this.getIncubator()
 		},
@@ -50,6 +61,7 @@
 			},
 			// 获取保温箱
 			getIncubator() {
+				this.loadStatus = 'loading'
 				this.loadingMore = true
 				this.$api.get('/api/cooler-box', {
 					page: this.currentPage,
@@ -65,8 +77,10 @@
 						if (data.length < this.pageSize) {
 							this.loadingMore = true
 							this.loading = '没有更多了'
+							this.loadStatus = 'nomore'
 						} else {
 							this.loading = '加载中'
+							this.loadStatus = 'loading'
 							this.loadingMore = false
 							this.currentPage++
 						}
@@ -75,10 +89,14 @@
 			},
 			// 选择保温箱
 			selectIncubator(value) {
-				uni.setStorageSync('incubatorValue', value)
-				uni.navigateBack({
-					delta: 1
-				});
+				if (this.detailsFlag) {
+					console.log('详情')
+				} else {
+					uni.setStorageSync('incubatorValue', value)
+					uni.navigateBack({
+						delta: 1
+					});
+				}
 			},
 			navbarHeight() {
 				let systemInfo = uni.getSystemInfoSync();

+ 188 - 0
pages/order/addIceRaft.vue

@@ -0,0 +1,188 @@
+<template>
+	<!-- 添加运单 -->
+	<view>
+		<u-navbar :title="headline" autoBack placeholder></u-navbar>
+		<x-form ref="recipients" :list="list" :model="recipientsModel" :rules="rules"></x-form>
+		<view style="width: 100%;height: 150rpx;"></view>
+		<view class="btn_print" @click="printWaybill">
+			<u-button type="primary" shape="circle" :text="headline"></u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		iceRaftRulesil
+	} from "./waybill.js";
+	export default {
+		name: 'addIceRaft',
+		data() {
+			return {
+				recipientsModel: {
+					code: '',
+					status: '',
+					freezeClaim: '',
+				},
+				rules: {
+					code: {
+						required: true,
+						message: '请输入编号',
+						trigger: ['blur', 'change']
+					},
+					status: {
+						required: true,
+						message: '请选择状态',
+						trigger: ['blur', 'change']
+					},
+					freezeClaim: {
+						required: true,
+						message: '请输入冷冻要求',
+						trigger: ['blur', 'change']
+					},
+				},
+				list: iceRaftRulesil(),
+				userInfo: {},
+				headline: '添加冰排',
+				type: 1,
+			}
+		},
+		onShow() {},
+		onLoad(value) {},
+		mounted() {
+			var userInfo = this.$cache.getCache('userInfo')
+			this.userInfo = userInfo
+		},
+		methods: {
+			// tianjia运单
+			async printWaybill() {
+				let flag1 = await this.$refs['recipients'].validateForm();
+				if (flag1) {
+					let params = {
+						codeList: [],
+						freezeClaim: Number(this.recipientsModel.freezeClaim),
+						status: null,
+					}
+					if (this.recipientsModel.status == '正常') {
+						params.status = '2'
+					} else {
+						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'
+							})
+						}
+					})
+				} else {
+					uni.$u.toast('请先完善表单')
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff !important;
+	}
+
+	.title_waybill {
+		font-size: 32rpx;
+		padding: 20rpx;
+	}
+
+	.title_waybill1 {
+		position: relative;
+		margin: 20rpx;
+		border-bottom: 1rpx;
+		padding-bottom: 20rpx;
+	}
+
+	.card_Address {
+		position: relative;
+	}
+
+	.card_flex_il {
+		display: flex;
+		align-items: center;
+		padding: 20rpx;
+	}
+
+	.title_sou {
+		font-size: 32rpx;
+	}
+
+	.card_Address:before {
+		content: " ";
+		position: absolute;
+		left: 0;
+		bottom: 0;
+		width: 100%;
+		height: 1px;
+		border-top: 1px solid #e7e6e4;
+		-webkit-transform-origin: 0 0;
+		transform-origin: 0 0;
+		-webkit-transform: scaleY(0.5);
+		transform: scaleY(0.5);
+	}
+
+	.card_courier {
+		min-height: 600rpx;
+		padding-bottom: 20rpx;
+	}
+
+	.scroll-view {
+		max-height: 60vh;
+		overflow: hidden;
+	}
+
+	.headline {
+		padding: 30rpx 30rpx 0rpx 30rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		padding-bottom: 30rpx;
+		font-size: 32rpx;
+		font-weight: 600;
+	}
+
+	.search_card {
+		padding: 0rpx 30rpx 10rpx 30rpx;
+	}
+
+	.courier_item {
+		margin: 20rpx 20rpx;
+		width: calc(100% - 80rpx);
+		padding: 20rpx;
+		border-radius: 20rpx;
+		// box-shadow: 0 2rpx 10rpx 0 rgba(0, 0, 0, .1);
+		border: 1rpx solid #e7e6e4;
+	}
+
+	.courier_name {
+		display: flex;
+		flex-direction: column;
+	}
+
+	.title_name {
+		font-weight: 600;
+		font-size: 32rpx;
+		margin-bottom: 10rpx;
+	}
+
+	.title_phone {
+		font-size: 28rpx;
+	}
+
+	.xd_title {
+		width: auto;
+		font-size: 28rpx;
+		font-weight: 500;
+		padding: 15rpx 30rpx;
+		border-radius: 35rpx;
+		// border: 3rpx solid #82848a;
+		background-color: #E4E7ED;
+	}
+</style>

+ 22 - 5
pages/order/addressBook.vue

@@ -7,10 +7,12 @@
 			<view class="line_title">|</view>
 			<view class="addres_title" :class="!pickUpFlag ? 'pitch' : ''" @click="pickUp('consignee')">收件地址</view>
 		</view> -->
-		<view class="search_card">
-			<u-search :showAction="false" v-model="keyword" @change="searchChange"
-				placeholder="输入姓名、电话、地址快速查找"></u-search>
-		</view>
+		<u-sticky :customNavHeight="navbarHeight()">
+			<view class="search_card">
+				<u-search :showAction="false" v-model="keyword" @change="searchChange"
+					placeholder="输入关键字快速查找"></u-search>
+			</view>
+		</u-sticky>
 		<view class="address_book" v-if="list.length > 0">
 			<view class="card_item_address" v-for="(item,index) in list" :key="index" @click="selectAddress(item)">
 				<view class="address_border">
@@ -177,7 +179,22 @@
 						delta: 1
 					});
 				}
-			}
+			},
+			navbarHeight() {
+				let systemInfo = uni.getSystemInfoSync();
+				/* (750 / systemInfo.windowWidth) */
+				/* 在uview navBar组件中有一个默认高度,当这个默认高度加上状态栏高度后就是吸顶的位置,由于这两者相加是px,所以最后还需要转为rpx */
+				let topHeight = 0
+				// #ifdef APP-PLUS
+				topHeight = 44 + systemInfo.statusBarHeight;
+				// #endif
+				// #ifdef MP
+				let height = systemInfo.platform == 'ios' ? 44 : 48;
+				topHeight = height + systemInfo.statusBarHeight
+				// #endif
+				/* 最后一步将px转为rpx */
+				return topHeight * (750 / systemInfo.windowWidth) / 2
+			},
 		},
 	}
 </script>

+ 418 - 0
pages/order/dispatching.vue

@@ -0,0 +1,418 @@
+<template>
+	<!-- 选择配送信息 -->
+	<view>
+		<u-navbar title="" autoBack placeholder></u-navbar>
+		<view class="card_incubator_anti_fake">
+			<view class="title_fake">保温箱/冰排</view>
+			<view class="card_input_send">
+				<view class="incubator_title"><span>*</span>保温箱</view>
+				<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>
+			</view>
+			<view class="card_input_send">
+				<view class="incubator_title"><span>*</span>冰排编号</view>
+				<u-input placeholder="请输入冰排编号" border="surround" v-model="iceNumber" @blur="iceRaftBlur">
+					<template slot="suffix">
+						<u-icon name="scan" size="24" @click="sweep"></u-icon>
+					</template>
+				</u-input>
+				<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>{{iceList.length}}</span></view>
+				</view>
+				<scroll-view :scroll-top="scrollTop" scroll-y="true" class="swept_card">
+					<view class="scrollView" style="width: 100%;" v-if="iceList.length > 0">
+						<view class="item_coding" v-for="(item,index) in iceList" :key="index">
+							<view style="display: flex;align-items: center;">
+								<view class="num_index">{{index + 1}}</view>
+								<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 v-else>
+						<u-empty mode="list"></u-empty>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+		<view class="card_incubator_anti_fake1">
+			<view class="title_fake" style="margin-left: 20rpx;">防拆标签</view>
+			<x-form ref="goods" :list="goodsList" :model="goodsModel" :rules="goodsRules"></x-form>
+		</view>
+		<view class="btn_confirm_ching center_in">
+			<u-button style="margin: 0rpx 30rpx;" size="small" type="primary" text="确定" @click="confirm()"></u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		formRules,
+	} from "../../components/waybill.js";
+	export default {
+		data() {
+			return {
+				goodsList: formRules(),
+				goodsModel: {
+					tamperProofLabel: '',
+					tamperProofLabelImg: '',
+				},
+				goodsRules: {
+					tamperProofLabel: {
+						required: true,
+						message: '请输入防拆标签码',
+						trigger: ['blur', 'change']
+					},
+					tamperProofLabelImg: {
+						required: true,
+						message: '请上传防拆标签图片',
+						trigger: ['blur', 'change']
+					},
+				},
+				incubator: {
+					id: null,
+					name: '',
+				},
+				iceNumber: '',
+				iceList: [],
+				scrollTop: null,
+				waybillId: null,
+				deliveryId: null,
+			}
+		},
+		beforeDestroy() {
+			// console.log('页面销毁')
+			this.getempty()
+		},
+		onLoad() {
+			let orderList = uni.getStorageSync('orderValue')
+			if (orderList) {
+				let arr = JSON.parse(orderList)
+				this.waybillId = arr.id
+				this.deliveryId = arr.deliveryId
+				this.goodsModel.tamperProofLabel = arr.tamperProofLabel
+				this.goodsModel.tamperProofLabelImg = arr.tamperProofLabelImg
+				if (arr.tamperProofLabelImg) {
+					let arrImg = arr.tamperProofLabelImg.split(',')
+					let arrImgList = []
+					arrImg.forEach((item) => {
+						const arr = {
+							url: item,
+						}
+						arrImgList.push(arr)
+					})
+					this.$nextTick(() => {
+						this.$refs.goods.fileList1 = arrImgList
+					})
+				}
+			}
+		},
+		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.getIceList(incubator.id)
+				}
+			}
+		},
+		methods: {
+			getempty() {
+				this.iceList = []
+				this.incubator.id = ''
+				this.incubator.name = ''
+				this.iceNumber = ''
+				uni.removeStorageSync('incubatorValue');
+			},
+			// 确定配送
+			async confirm() {
+				if (this.incubator.id) {
+					if (this.iceList.length > 0) {
+						let flag2 = await this.$refs['goods'].validateForm();
+						if (flag2) {
+							const arr = []
+							arr.push(this.waybillId)
+							this.$api.post('/api/waybill/delivery', {
+								waybillIds: arr,
+								deliveryId: Number(this.deliveryId),
+								coolerBoxId: this.incubator.id,
+								iceRaftCode: this.iceList,
+								tamperProofLabel: this.goodsModel.tamperProofLabel,
+								tamperProofLabelImg: this.goodsModel.tamperProofLabelImg,
+								status: 4,
+							}).then(res => {
+								if (res.code == 200) {
+									uni.$u.toast('操作成功')
+									uni.$emit('send', '成功');
+									uni.navigateBack({
+										delta: 1
+									});
+								} else if (res.code == 2000) {
+									let arrTitle = res.data
+									let title = ' ,请将冰排' + arrTitle.toString() + '重新入库'
+									uni.$u.toast(res.msg + title)
+								} else {
+									uni.$u.toast(res.msg)
+								}
+							})
+						}
+					} else {
+						uni.$u.toast('请先扫描冰排')
+					}
+				} else {
+					uni.$u.toast('请先选择保温箱')
+				}
+			},
+			// 获取保温箱存在冰排
+			getIceList(iceId) {
+				this.$api.get('/api/ice-raft/cooler-box', {
+					coolerBoxId: iceId,
+				}).then(res => {
+					if (res.code == 200) {
+						this.iceList = res.data
+					}
+				})
+			},
+			// 移除错误运单号
+			removeWaybill(value) {
+				if (this.iceNumber == value) {
+					this.iceNumber = ''
+				}
+				const arr = deleteElementById(this.iceList, value)
+				this.iceList = arr
+
+				function deleteElementById(arr, key) {
+					return arr.filter((item) => item !== key);
+				}
+			},
+			// 添加冰排 
+			addIce() {
+				if (this.iceNumber) {
+					this.iceList.push(this.iceNumber)
+					this.iceList = this.uniqueArray(this.iceList)
+					this.$nextTick(() => {
+						// 获取scroll-view的高度
+						const query = uni.createSelectorQuery().in(this);
+						query.select('.scrollView').boundingClientRect(data => {
+							this.scrollTop = data.height;
+						}).exec();
+					});
+					this.iceNumber = ''
+				}
+			},
+			// 冰排失去焦点
+			iceRaftBlur(value) {
+				if (value) {
+					this.iceList.push(value)
+					this.iceList = this.uniqueArray(this.iceList)
+				}
+			},
+			// 去重
+			uniqueArray(arr) {
+				return [...new Set(arr)];
+			},
+			// 扫一扫
+			sweep() {
+				// 允许从相机和相册扫码
+				uni.scanCode({
+					scanType: ['barCode'],
+					// scanType: ['qrCode'],
+					autoZoom: false,
+					success: (res) => {
+						console.log(res);
+						if (res.result) {
+							let url = res.result;
+							this.iceNumber = url
+							this.iceList.push(url)
+
+							function methods1(arr) {
+								return Array.from(new Set(arr));
+							}
+							this.iceList = methods1(this.iceList)
+						} else {
+							console.log('请重新扫描');
+							return false;
+						}
+					},
+					fail: (res) => {
+						console.log('未识别到二维码');
+					}
+				})
+			},
+			// 鼠标聚焦
+			focus() {
+				uni.navigateTo({
+					url: '/pages/order/Incubator'
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.card_send {
+		padding: 20rpx;
+		min-height: 600rpx;
+	}
+
+	.send_title {
+		text-align: center;
+		margin: 10px;
+	}
+
+	.card_input_send {
+		position: relative;
+		display: flex;
+		align-items: center;
+		margin-bottom: 20rpx;
+	}
+
+	.incubator_title {
+		width: 150rpx;
+		margin-right: 10rpx;
+		font-size: 34rpx;
+
+		span {
+			color: red;
+		}
+	}
+
+	.add_card {
+		margin-left: 10rpx;
+		width: 50rpx;
+		height: 46rpx;
+		border-radius: 8rpx;
+		padding: 6px 9px;
+		border: 1px solid #dadbde;
+	}
+
+	.scroll-view {
+		transition: max-height 1s ease-out;
+		max-height: 0;
+		overflow: hidden;
+	}
+
+	.card_frequency {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.swept_card {
+		padding: 0rpx 20rpx;
+		width: calc(100% - 40rpx);
+		max-height: 600rpx;
+		// overflow-y: auto;
+	}
+
+	.card_high {
+		margin-bottom: 20rpx;
+	}
+
+	.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%;
+		padding: 20rpx 0rpx;
+	}
+
+	.num_index {
+		font-size: 30rpx;
+		margin-right: 10rpx;
+	}
+
+	.title_coding {
+		font-size: 30rpx;
+	}
+
+
+	.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: 2rpx solid #e7e6e4;
+		border-radius: 16rpx;
+		width: 200%;
+		height: 200%;
+		top: 0;
+		left: 0;
+		transform: scale(0.5);
+		transform-origin: 0 0;
+		pointer-events: none;
+		/* 使伪元素不会阻止鼠标事件 */
+	}
+
+	.card_incubator_anti_fake {
+		padding: 20rpx;
+		width: calc(100% - 80rpx);
+		margin: 20rpx 20rpx;
+		border-radius: 10rpx;
+		background-color: #fff;
+	}
+
+	.card_incubator_anti_fake1 {
+		padding: 20rpx 0rpx;
+		width: calc(100% - 40rpx);
+		margin: 20rpx 20rpx;
+		border-radius: 10rpx;
+		background-color: #fff;
+	}
+
+	.title_fake {
+		margin-bottom: 20rpx;
+		font-size: 34rpx;
+		font-weight: bold;
+	}
+
+	.btn_confirm_ching {
+		position: absolute;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		height: 120rpx;
+		background-color: #fff;
+	}
+</style>

+ 195 - 0
pages/order/iceRaft.vue

@@ -0,0 +1,195 @@
+<template>
+	<!-- 冰排管理、 -->
+	<view>
+		<u-navbar autoBack placeholder @rightClick="rightClick">
+			<view class="u-nav-slot" slot="right">
+				<u-icon name="plus-circle" size="20"></u-icon>
+				<span>添加</span>
+			</view>
+		</u-navbar>
+		<u-sticky :customNavHeight="navbarHeight()">
+			<view class="search_card">
+				<u-search :showAction="false" v-model="keyword" @change="searchChange"
+					placeholder="输入关键字快速查找"></u-search>
+			</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-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>
+			</view>
+			<view style="width: 100%;">
+				<u-loadmore lineColor="#ffffff" :status="loadStatus" :key="Math.random()" />
+			</view>
+		</view>
+		<view style="margin-top: 20%;" v-else>
+			<u-empty mode="list" text="暂无冰排"></u-empty>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				keyword: '',
+				currentPage: 1,
+				pageSize: 10,
+				loadingMore: true,
+				loadStatus: 'loadmore', //loading 、nomore
+				incubatorValue: '',
+				orderList: [],
+				detailsFlag: false,
+			}
+		},
+		onReachBottom() {
+			if (!this.loadingMore) {
+				this.getIncubator()
+			}
+		},
+		onLoad(option) {
+			console.log(option, 25)
+		},
+		mounted() {
+			this.getIncubator()
+		},
+		methods: {
+			rightClick() {
+				console.log(14)
+				uni.navigateTo({
+					url: '/pages/order/addIceRaft'
+				});
+			},
+			// 搜索
+			searchChange(value) {
+				this.currentPage = 1
+				this.orderList = []
+				this.loadingMore = true
+				this.getIncubator()
+			},
+			// 获取冰排
+			getIncubator() {
+				this.loadStatus = 'loading'
+				this.loadingMore = true
+				this.$api.get('/api/ice-raft', {
+					page: this.currentPage,
+					pageSize: this.pageSize,
+					code: this.keyword,
+				}).then(res => {
+					if (res.code == 200) {
+						const data = res.data.list
+						if (this.loadingMore == true && data) {
+							this.orderList = this.orderList.concat(data);
+						}
+						if (data.length < this.pageSize) {
+							this.loadingMore = true
+							this.loading = '没有更多了'
+							this.loadStatus = 'nomore'
+						} else {
+							this.loading = '加载中'
+							this.loadStatus = 'loading'
+							this.loadingMore = false
+							this.currentPage++
+						}
+					}
+				})
+			},
+			// 选择冰排
+			selectIncubator(value) {
+				console.log('详情')
+			},
+			geticeState(event) {
+				let title = ''
+				if (event == '2') {
+					title = '正常'
+				} else {
+					title = '停用'
+				}
+				return title
+			},
+			geticeColor(event) {
+				let color = ''
+				if (event == '2') {
+					color = '#19be6b'
+				} else {
+					color = '#fa3534'
+				}
+				return color
+			},
+			navbarHeight() {
+				let systemInfo = uni.getSystemInfoSync();
+				/* (750 / systemInfo.windowWidth) */
+				/* 在uview navBar组件中有一个默认高度,当这个默认高度加上状态栏高度后就是吸顶的位置,由于这两者相加是px,所以最后还需要转为rpx */
+				let topHeight = 0
+				// #ifdef APP-PLUS
+				topHeight = 44 + systemInfo.statusBarHeight;
+				// #endif
+				// #ifdef MP
+				let height = systemInfo.platform == 'ios' ? 44 : 48;
+				topHeight = height + systemInfo.statusBarHeight
+				// #endif
+				/* 最后一步将px转为rpx */
+				return topHeight * (750 / systemInfo.windowWidth) / 2
+			},
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.card_incubator {
+		display: flex;
+		flex-direction: column;
+		margin-top: 10rpx;
+	}
+
+	.search_card {
+		background-color: #fff;
+		padding: 20rpx;
+	}
+
+	.item_bator {
+		display: flex;
+		align-items: center;
+		background-color: #fff;
+		border-radius: 10rpx;
+		padding: 30rpx;
+		margin: 10rpx 20rpx;
+	}
+
+	.imagebwx {
+		color: #19be6b;
+		font-size: 60rpx;
+		margin-right: 20rpx;
+	}
+
+	.title_ice {
+		font-size: 32rpx;
+	}
+
+	.title_ice1 {
+		font-size: 30rpx;
+	}
+
+	.space_between {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		width: 100%;
+	}
+
+	.u-nav-slot {
+		display: flex;
+		align-items: center;
+
+		span {
+			font-size: 32rpx;
+			margin-left: 5rpx;
+		}
+	}
+</style>

+ 19 - 28
pages/order/index.vue

@@ -14,8 +14,7 @@
 		</view>
 		<view class="card_order_mangement" v-if="orderList.length > 0">
 			<x-orderManagement ref="order" :orderList="orderList" @sendOrders="sendOrders"
-				@operateSuccessfully="operateSuccessfully" @proofRenewal="proofRenewal"
-				:key="keyId"></x-orderManagement>
+				@operateSuccessfully="operateSuccessfully" @proofRenewal="proofRenewal" :key="Math.random()"></x-orderManagement>
 			<view style="width: 50%;">
 				<u-loadmore :status="loadStatus" :key="Math.random()" />
 				<!-- <u-divider v-if="loadingMore" :text="loading"></u-divider> -->
@@ -32,24 +31,6 @@
 						<span class="title_gray" v-else>请选择保温箱</span>
 						<u-icon name="arrow-down" color="#c8c9cc" size="18"></u-icon>
 					</view>
-					<!-- 	<u-input :placeholder="hintTitle" border="surround" v-model="incubatorValue" @input="incubatorInput"
-						@focus="focus" @blur="blur"></u-input>
-					<view class="card_thermostat" v-if="searchShow">
-						<scroll-view class="scroll-view" :class="[searchShow ? 'is-fold' : '']" scroll-y="true"
-							@scrolltolower="loadMore">
-							<view v-if="thermostatList.length > 0">
-								<view class="card_item_option" :style="{backgroundColor:item.flag ? '#F5F7FA' : ''}"
-									v-for="(item,index) in thermostatList" :key="index"
-									@click.stop="selectIncubator(item)">
-									<view :style="{color:item.flag ? '#409EFF' : ''}">{{item.name}}</view>
-									<view v-if="item.flag"><u-icon :color="item.flag ? '#409EFF' : ''" name="checkmark"
-											size="20"></u-icon></view>
-								</view>
-							</view>
-							<view class="nomatchingData" v-else>暂无保温箱</view>
-						</scroll-view>
-						<view class="popper_arrow"></view>
-					</view> -->
 				</view>
 				<view class="card_input_send">
 					<view class="incubator_title"><span>*</span>冰排编号</view>
@@ -98,16 +79,16 @@
 				list: [{
 					name: '全部',
 				}, {
-					id: 1,
-					name: '已下单',
+					id: 3,
+					name: '待配送',
 				}, {
-					id: 2,
+					id: 4,
 					name: '配送中'
 				}, {
-					id: 3,
+					id: 5,
 					name: '已送达'
 				}, {
-					id: 4,
+					id: 6,
 					name: '已拒收'
 				}],
 				current: 0,
@@ -155,14 +136,23 @@
 				this.getList()
 			}
 		},
-		onLoad(value) {
+		async onLoad(value) {
 			//注册监听事件签字图片
 			uni.$on('sign', (data) => {
 				if (this.$refs.order) {
+					console.log(data,3333)
 					this.$refs.order.imageData = data.replace(/[\r\n]/g, "");
 				}
 				this.getUpload(data)
 			})
+			uni.$on('send', (data) => {
+				// try {
+				// } catch (error) {}
+				uni.$off('send')
+				this.currentPage = 1
+				this.orderList = []
+				this.getList()
+			})
 			if (value.current) {
 				this.current = Number(value.current)
 			}
@@ -222,6 +212,7 @@
 							this.currentPage++
 						}
 					}
+					this.$forceUpdate()
 				}).catch(() => {
 					this.loadingMore = true
 					this.loadStatus = 'nomore'
@@ -242,6 +233,7 @@
 			},
 			// 重新获取列表
 			operateSuccessfully() {
+				console.log(111)
 				this.currentPage = 1
 				this.orderList = []
 				this.getList()
@@ -446,9 +438,8 @@
 			// 签名板
 			async getUpload(file) {
 				const result = await this.uploadFilePromise(file)
-				// this.ruleForm.customerImg = result
 				if (this.$refs.order) {
-					// this.$refs.order.imageData = result
+					this.$refs.order.imageData = result
 				}
 			},
 			uploadFilePromise(url) {

+ 6 - 6
pages/order/logisticsDetails.vue

@@ -36,19 +36,19 @@
 				activitiesList: [],
 				active: 0,
 				statusList: [{
-					id: 1,
-					title: '已下单',
+					id: 3,
+					title: '待配送',
 				}, {
-					id: 2,
+					id: 4,
 					title: '配送中',
 				}, {
-					id: 3,
+					id: 5,
 					title: '已送达',
 				}, {
-					id: 4,
+					id: 6,
 					title: '已拒收',
 				}, {
-					id: 5,
+					id: 6,
 					title: '已拒收',
 				}],
 				polylineList: [],

+ 9 - 9
pages/order/orderDetails.vue

@@ -133,25 +133,25 @@
 			},
 			// 运单状态
 			orderStatus(value) {
-				if (value == 1) {
-					return '已下单'
-				} else if (value == 2) {
+				if (value == 3) {
+					return '待配送'
+				} else if (value == 4) {
 					return '配送中'
-				} else if (value == 3) {
+				} else if (value == 5) {
 					return '已送达'
-				} else if (value == 4) {
+				} else if (value == 6) {
 					return '已拒收'
 				}
 			},
 			// 运单文字颜色
 			getState(value) {
-				if (value == 1) {
+				if (value == 3) {
 					return '#9ddd54'
-				} else if (value == 2) {
+				} else if (value == 4) {
 					return '#4bc7fc'
-				} else if (value == 3) {
+				} else if (value == 5) {
 					return '#1cc723'
-				} else if (value == 4) {
+				} else if (value == 6) {
 					return '#fe880e'
 				}
 			},

+ 28 - 0
pages/order/waybill.js

@@ -52,6 +52,34 @@ export const pickupRulesil = () => {
 		required: true,
 	}]
 }
+export const iceRaftRulesil = () => {
+	return [{
+		field: 'code',
+		label: '编号',
+		placeholder: '请输入编号',
+		type: 'input',
+		required: true,
+	}, {
+		field: 'status',
+		label: '状态',
+		placeholder: '请选择状态',
+		type: 'select',
+		required: true,
+		options: [{
+			value: '2',
+			label: '正常'
+		}, {
+			value: '1',
+			label: '停用'
+		}]
+	}, {
+		field: 'freezeClaim',
+		label: '冷冻要求',
+		placeholder: '请输入冷冻时间',
+		type: 'input',
+		required: true,
+	}]
+}
 export const printList = () => {
 	return [{
 		field: 'name',

+ 49 - 26
static/fonts/demo_index.html

@@ -55,6 +55,18 @@
           <ul class="icon_lists dib-box">
           
             <li class="dib">
+              <span class="icon iconfont">&#xe6b0;</span>
+                <div class="name">编辑</div>
+                <div class="code-name">&amp;#xe6b0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe602;</span>
+                <div class="name">全部订单</div>
+                <div class="code-name">&amp;#xe602;</div>
+              </li>
+          
+            <li class="dib">
               <span class="icon iconfont">&#xe7f5;</span>
                 <div class="name">工具箱</div>
                 <div class="code-name">&amp;#xe7f5;</div>
@@ -67,12 +79,6 @@
               </li>
           
             <li class="dib">
-              <span class="icon iconfont">&#xe620;</span>
-                <div class="name">Party building busin</div>
-                <div class="code-name">&amp;#xe620;</div>
-              </li>
-          
-            <li class="dib">
               <span class="icon iconfont">&#xe608;</span>
                 <div class="name">保温箱管理</div>
                 <div class="code-name">&amp;#xe608;</div>
@@ -192,9 +198,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1719799412581') format('woff2'),
-       url('iconfont.woff?t=1719799412581') format('woff'),
-       url('iconfont.ttf?t=1719799412581') format('truetype');
+  src: url('iconfont.woff2?t=1729654709312') format('woff2'),
+       url('iconfont.woff?t=1729654709312') format('woff'),
+       url('iconfont.ttf?t=1729654709312') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -221,29 +227,38 @@
         <ul class="icon_lists dib-box">
           
           <li class="dib">
-            <span class="icon iconfont icon-incubator"></span>
+            <span class="icon iconfont icon-bianji"></span>
             <div class="name">
-              工具箱
+              编辑
             </div>
-            <div class="code-name">.icon-incubator
+            <div class="code-name">.icon-bianji
             </div>
           </li>
           
           <li class="dib">
-            <span class="icon iconfont icon-binggui"></span>
+            <span class="icon iconfont icon-quanbudingdan"></span>
             <div class="name">
-              冰柜
+              全部订单
             </div>
-            <div class="code-name">.icon-binggui
+            <div class="code-name">.icon-quanbudingdan
             </div>
           </li>
           
           <li class="dib">
-            <span class="icon iconfont icon-incubator1"></span>
+            <span class="icon iconfont icon-incubator"></span>
             <div class="name">
-              Party building busin
+              工具箱
             </div>
-            <div class="code-name">.icon-incubator1
+            <div class="code-name">.icon-incubator
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-binggui"></span>
+            <div class="name">
+              冰柜
+            </div>
+            <div class="code-name">.icon-binggui
             </div>
           </li>
           
@@ -429,6 +444,22 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-bianji"></use>
+                </svg>
+                <div class="name">编辑</div>
+                <div class="code-name">#icon-bianji</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-quanbudingdan"></use>
+                </svg>
+                <div class="name">全部订单</div>
+                <div class="code-name">#icon-quanbudingdan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-incubator"></use>
                 </svg>
                 <div class="name">工具箱</div>
@@ -445,14 +476,6 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
-                  <use xlink:href="#icon-incubator1"></use>
-                </svg>
-                <div class="name">Party building busin</div>
-                <div class="code-name">#icon-incubator1</div>
-            </li>
-          
-            <li class="dib">
-                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-baowenxiangguanli"></use>
                 </svg>
                 <div class="name">保温箱管理</div>

+ 11 - 7
static/fonts/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4559910 */
-  src: url('@/static/fonts/iconfont.woff2?t=1719799412581') format('woff2'),
-       url('@/static/fonts/iconfont.woff?t=1719799412581') format('woff'),
-       url('@/static/fonts/iconfont.ttf?t=1719799412581') format('truetype');
+  src: url('@/static/fonts/iconfont.woff2?t=1729654709312') format('woff2'),
+       url('@/static/fonts/iconfont.woff?t=1729654709312') format('woff'),
+       url('@/static/fonts/iconfont.ttf?t=1729654709312') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,14 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-bianji:before {
+  content: "\e6b0";
+}
+
+.icon-quanbudingdan:before {
+  content: "\e602";
+}
+
 .icon-incubator:before {
   content: "\e7f5";
 }
@@ -21,10 +29,6 @@
   content: "\e64a";
 }
 
-.icon-incubator1:before {
-  content: "\e620";
-}
-
 .icon-baowenxiangguanli:before {
   content: "\e608";
 }

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
static/fonts/iconfont.js


+ 14 - 7
static/fonts/iconfont.json

@@ -6,6 +6,20 @@
   "description": "",
   "glyphs": [
     {
+      "icon_id": "668429",
+      "name": "编辑",
+      "font_class": "bianji",
+      "unicode": "e6b0",
+      "unicode_decimal": 59056
+    },
+    {
+      "icon_id": "12700445",
+      "name": "全部订单",
+      "font_class": "quanbudingdan",
+      "unicode": "e602",
+      "unicode_decimal": 58882
+    },
+    {
       "icon_id": "27255944",
       "name": "工具箱",
       "font_class": "incubator",
@@ -20,13 +34,6 @@
       "unicode_decimal": 58954
     },
     {
-      "icon_id": "4750254",
-      "name": "Party building busin",
-      "font_class": "incubator1",
-      "unicode": "e620",
-      "unicode_decimal": 58912
-    },
-    {
       "icon_id": "31045562",
       "name": "保温箱管理",
       "font_class": "baowenxiangguanli",

BIN
static/fonts/iconfont.ttf


BIN
static/fonts/iconfont.woff


BIN
static/fonts/iconfont.woff2


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff