Browse Source

新增功能及修改项、验收0605

qianduan 9 months ago
parent
commit
8a68791942

+ 8 - 1
components/x-orderCard.vue

@@ -3,7 +3,7 @@
 	<view class="card_ordercard">
 		<view class="title_detail"><span>姓名:</span>{{list.name}}</view>
 		<view class="title_detail"><span>联系方式:</span>{{list.phone}}</view>
-		<view class="title_detail"><span>地址:</span>{{list.address}}</view>
+		<view class="title_detail" v-if="deliverer"><span>地址:</span>{{list.address}}</view>
 	</view>
 </template>
 
@@ -17,6 +17,13 @@
 					return {}
 				}
 			},
+			// 配送人是否显示地址
+			deliverer: {
+				type: Boolean,
+				default () {
+					return true
+				}
+			}
 		},
 		data() {
 			return {

+ 2 - 0
components/x-orderManagement.vue

@@ -189,6 +189,8 @@
 						consigneeAddressName: this.antiList.consigneeAddressName,
 						consigneeAddressPhone: this.antiList.consigneeAddressPhone,
 						consigneeAddressDetails: this.antiList.consigneeAddressDetails,
+						deliveryName: this.antiList.deliveryName,
+						deliveryPhone: this.antiList.deliveryPhone,
 						...this.goodsModel,
 					}
 					uni.showLoading();

+ 10 - 0
pages.json

@@ -57,6 +57,16 @@
 			"navigationStyle": "custom"
 		}
 	}, {
+		"path": "pages/order/addressBook",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
+		"path": "pages/order/addAddress",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
 		"path": "pages/mine/password",
 		"style": {
 			"navigationStyle": "custom"

+ 9 - 0
pages/home/index.vue

@@ -35,6 +35,11 @@
 				homeUserType: 1,
 				tableList: [],
 				userList: [{
+					id: 'book',
+					title: '地址簿',
+					icon: 'icon-dizhibu',
+					color: '#ffdc00',
+				}, {
 					id: 'add',
 					title: '添加运单',
 					icon: 'icon-tianjiadingdan',
@@ -57,6 +62,10 @@
 						uni.navigateTo({
 							url: '/pages/order/addWaybill?title=添加订单&type=1'
 						});
+					} else if (value.id == 'book') {
+						uni.navigateTo({
+							url: '/pages/order/addressBook'
+						});
 					} else if (value.id == 'details') {
 						uni.navigateTo({
 							url: '/pages/home/particulars?title=true'

+ 127 - 0
pages/order/addAddress.vue

@@ -0,0 +1,127 @@
+<template>
+	<!-- 新增地址 -->
+	<view>
+		<u-navbar :title="headline" autoBack placeholder></u-navbar>
+		<x-form ref="recipients" :list="list" :model="recipientsModel" :rules="rules"></x-form>
+		<view class="btn_print" @click="addAddress()">
+			<u-button type="primary" text="确定" shape="circle"></u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		formRules,
+		pickupRulesil
+	} from "./waybill.js";
+	export default {
+		data() {
+			return {
+				headline: '地址簿',
+				list: pickupRulesil(),
+				recipientsModel: {
+					name: '',
+					phone: '',
+					address: '',
+				},
+				rules: {
+					name: {
+						required: true,
+						message: '请输入姓名',
+						trigger: ['blur', 'change']
+					},
+					phone: {
+						required: true,
+						message: '请输入电话',
+						trigger: ['blur', 'change']
+					},
+					address: {
+						required: true,
+						message: '请输入地址',
+						trigger: ['blur', 'change']
+					},
+				},
+				valueNewly: '',
+				operationType: 'sender',
+			}
+		},
+		onUnload() {
+			// console.log('页面销毁')
+			uni.removeStorageSync('currentAddress')
+		},
+		onLoad(value) {
+			this.valueNewly = value.newly
+			this.operationType = value.type
+			let address = uni.getStorageSync('currentAddress')
+			if (address) {
+				this.recipientsModel = address
+			}
+			if (value.newly == 'true') {
+				if (value.type == 'sender') {
+					this.headline = '新增寄件地址'
+				} else if (value.type == 'consignee') {
+					this.headline = '新增收件地址'
+				}
+			} else {
+				if (value.type == 'sender') {
+					this.headline = '编辑寄件地址'
+				} else if (value.type == 'consignee') {
+					this.headline = '编辑收件地址'
+				}
+			}
+		},
+		methods: {
+			addAddress() {
+				let params = {
+					id: '',
+					name: this.recipientsModel.name,
+					phone: this.recipientsModel.phone,
+					address: this.recipientsModel.address,
+					addressType: this.operationType,
+				}
+				if (this.valueNewly == 'true') {
+					// 新增
+					delete params.id
+					console.log(params, 22)
+					this.$api.post('/api/address', params).then(res => {
+						if (res.code == 200) {
+							uni.showLoading({
+								icon: 'success',
+								title: '新增成功'
+							});
+							setTimeout(function() {
+								uni.hideLoading();
+								uni.navigateBack({
+									delta: 1
+								});
+							}, 1000);
+						}
+					})
+				} else {
+					params.id = this.recipientsModel.id
+					// 修改
+					this.$api.put('/api/address', params).then(res => {
+						if (res.code == 200) {
+							uni.showLoading({
+								icon: 'success',
+								title: '修改成功'
+							});
+							setTimeout(function() {
+								uni.hideLoading();
+								uni.navigateBack({
+									delta: 1
+								});
+							}, 1000);
+						}
+					})
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff !important;
+	}
+</style>

+ 213 - 9
pages/order/addWaybill.vue

@@ -2,23 +2,68 @@
 	<!-- 添加运单 -->
 	<view>
 		<u-navbar :title="headline" autoBack placeholder></u-navbar>
-		<view class="title_waybill">寄件人:</view>
+		<view class="space_between card_Address">
+			<view class="title_waybill">寄件人:</view>
+			<view class="card_flex_il" @click="addressBook('sender')">
+				<u-icon name="order" size="22"></u-icon>
+				<view class="title_sou">寄件人簿</view>
+			</view>
+		</view>
 		<x-form ref="sender" :list="list" :model="senderModel" :rules="rules"></x-form>
-		<view class="title_waybill">收件人:</view>
+		<view class="space_between card_Address">
+			<view class="title_waybill">收件人:</view>
+			<view class="card_flex_il" @click="addressBook('consignee')">
+				<u-icon name="order" size="22"></u-icon>
+				<view class="title_sou">收件人簿</view>
+			</view>
+		</view>
 		<x-form ref="recipients" :list="list" :model="recipientsModel" :rules="rules"></x-form>
+		<view class="space_between card_Address">
+			<view class="title_waybill">配送员:</view>
+			<view class="card_flex_il" @click="deliveryBook">
+				<u-icon name="order" size="22"></u-icon>
+				<view class="title_sou">配送员簿</view>
+			</view>
+		</view>
+		<x-form ref="recipients" :list="courierList" :model="courierModel" :rules="rules"></x-form>
 		<view class="title_waybill1"></view>
 		<x-form ref="goods" :list="goodsList" :model="goodsModel" :rules="goodsRules"></x-form>
 		<view style="width: 100%;height: 150rpx;"></view>
 		<view class="btn_print" @click="printWaybill">
-			<u-button type="primary" :text="headline"></u-button>
+			<u-button type="primary" shape="circle" :text="headline"></u-button>
 		</view>
+		<u-popup :show="courierShow" mode="bottom" closeable :round="10" :closeOnClickOverlay="false" @close="close">
+			<view class="card_courier">
+				<view class="headline">选择配送员</view>
+				<view class="search_card">
+					<u-search :showAction="false" v-model="keyword" @change="searchChange"
+						placeholder="输入姓名、电话、地址快速查找"></u-search>
+				</view>
+				<scroll-view class="scroll-view" scroll-y="true" @scrolltolower="loadMore">
+					<view class="courier" v-if="courieList.length > 0">
+						<view class="courier_item space_between" v-for="(item,index) in courieList" :key="index"
+							@click="bindingDistributor(item)">
+							<view class="courier_name">
+								<view class="title_name">{{item.nickName}}</view>
+								<view class="title_phone">{{item.phone}}</view>
+							</view>
+							<view class="xd_title center_in">下单给TA</view>
+						</view>
+					</view>
+					<view style="margin-top: 30rpx;" v-else>
+						<u-empty mode="list" text="暂无配送员"></u-empty>
+					</view>
+				</scroll-view>
+			</view>
+		</u-popup>
 	</view>
 </template>
 
 <script>
 	import {
 		formRules,
-		pickupRulesil
+		pickupRulesil,
+		printList
 	} from "./waybill.js";
 	export default {
 		name: 'addWaybill',
@@ -34,6 +79,10 @@
 					phone: '',
 					address: '',
 				},
+				courierModel: {
+					name: '',
+					phone: '',
+				},
 				goodsModel: {
 					tamperProofLabel: '',
 					tamperProofLabelImg: '',
@@ -69,10 +118,36 @@
 					},
 				},
 				list: pickupRulesil(),
+				courierList: printList(),
 				goodsList: formRules(),
 				userInfo: {},
 				headline: '添加运单',
 				type: 1,
+				operationType: 'sender',
+				courierShow: false,
+				courieList: [],
+				keyword: '',
+				incubatorMore: true,
+				Pagination: 1,
+				pageSize: 10,
+				saveSenderAddress: true,
+				saveConsigneeAddress: true,
+			}
+		},
+		onUnload() {
+			// console.log('页面销毁')
+			uni.removeStorageSync('selectAddress')
+		},
+		onShow() {
+			let address = uni.getStorageSync('selectAddress')
+			if (address) {
+				if (this.operationType == 'sender') {
+					this.senderModel = address
+					this.saveSenderAddress = false
+				} else {
+					this.recipientsModel = address
+					this.saveConsigneeAddress = false
+				}
 			}
 		},
 		onLoad(value) {
@@ -86,6 +161,8 @@
 				this.recipientsModel.name = orderList.consigneeAddressName
 				this.recipientsModel.phone = orderList.consigneeAddressPhone
 				this.recipientsModel.address = orderList.consigneeAddressDetails
+				this.courierModel.name = orderList.deliveryName
+				this.courierModel.phone = orderList.deliveryPhone
 				this.goodsModel.tamperProofLabel = orderList.tamperProofLabel
 				this.goodsModel.tamperProofLabelImg = orderList.tamperProofLabelImg
 				this.goodsModel.remark = orderList.remark
@@ -123,6 +200,10 @@
 						consigneeAddressName: this.recipientsModel.name,
 						consigneeAddressPhone: this.recipientsModel.phone,
 						consigneeAddressDetails: this.recipientsModel.address,
+						deliveryName: this.courierModel.name,
+						deliveryPhone: this.courierModel.phone,
+						saveSenderAddress: this.saveSenderAddress,
+						saveConsigneeAddress: this.saveConsigneeAddress,
 						...this.goodsModel,
 					}
 					uni.showLoading();
@@ -159,6 +240,62 @@
 				} else {
 					uni.$u.toast('请先完善表单')
 				}
+			},
+			// 选择类型
+			addressBook(type) {
+				this.operationType = type
+				uni.navigateTo({
+					url: '/pages/order/addressBook?type=' + type
+				});
+			},
+			// 配送员
+			deliveryBook() {
+				this.courierShow = true
+				this.getDelivery()
+			},
+			// 获取配送员
+			getDelivery() {
+				this.$api.get('/api/sys-user', {
+					page: this.Pagination,
+					pageSize: this.pageSize,
+					name: this.keyword,
+					type: 3,
+				}).then(res => {
+					if (res.code == 200) {
+						const data = res.data.list
+						if (this.incubatorMore == true) {
+							this.courieList = this.courieList.concat(data);
+						}
+						if (data.length < this.pageSize) {
+							this.incubatorMore = false
+						} else {
+							this.incubatorMore = true
+						}
+					}
+				})
+			},
+			// 配送员
+			bindingDistributor(value) {
+				this.courierShow = false
+				this.courierModel.name = value.nickName
+				this.courierModel.phone = value.phone
+			},
+			// 滚动加载更多
+			loadMore() {
+				if (this.incubatorMore) {
+					this.Pagination++
+					this.getDelivery()
+				}
+			},
+			// 搜索配送员
+			searchChange() {
+				this.Pagination = 1
+				this.incubatorMore = true
+				this.courieList = []
+				this.getDelivery()
+			},
+			close() {
+				this.courierShow = false
 			}
 		}
 	}
@@ -170,10 +307,7 @@
 	}
 
 	.title_waybill {
-		position: relative;
-		margin: 20rpx;
-		border-bottom: 1rpx;
-		padding-bottom: 20rpx;
+		padding: 20rpx;
 	}
 
 	.title_waybill1 {
@@ -183,7 +317,21 @@
 		padding-bottom: 20rpx;
 	}
 
-	.title_waybill:before {
+	.card_Address {
+		position: relative;
+	}
+
+	.card_flex_il {
+		display: flex;
+		align-items: center;
+		padding: 20rpx;
+	}
+
+	.title_sou {
+		font-size: 30rpx;
+	}
+
+	.card_Address:before {
 		content: " ";
 		position: absolute;
 		left: 0;
@@ -196,4 +344,60 @@
 		-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);
+	}
+
+	.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: 10rpx 20rpx;
+		border-radius: 35rpx;
+		border: 3rpx solid #82848a;
+	}
 </style>

+ 264 - 0
pages/order/addressBook.vue

@@ -0,0 +1,264 @@
+<template>
+	<!-- 地址簿 -->
+	<view>
+		<u-navbar title="地址簿" autoBack placeholder></u-navbar>
+		<view class="card_ship">
+			<view class="addres_title" :class="pickUpFlag ? 'pitch' : ''" @click="pickUp('sender')">寄件地址</view>
+			<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>
+		<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">
+					<view class="head_title">
+						<view class="title_name">{{item.name}}</view>
+						<view class="title_name">{{item.phone}}</view>
+					</view>
+					<view class="title_address">{{item.address}}</view>
+				</view>
+				<view class="keepRight">
+					<view class="flex_row" @click.stop="redact(item)">
+						<u-icon name="edit-pen" color="#82848a" size="22" style="margin-right: 10rpx;"></u-icon>
+						编辑
+					</view>
+					<view class="flex_row" @click.stop="delAddress(item)">
+						<u-icon name="trash" color="#82848a" size="22" style="margin-right: 10rpx;"></u-icon>
+						删除
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="margin-top: 20%;" v-else>
+			<u-empty mode="address" text="暂无地址"></u-empty>
+		</view>
+		<view style="width: 100%;height: 150rpx;"></view>
+		<view class="btn_print" @click="addAddress(pickUpFlag)">
+			<u-button type="primary" text="新增地址" shape="circle"></u-button>
+		</view>
+		<u-modal :show="modalShow" showCancelButton :content='reminder' @confirm="confirm"
+			@cancel="modalShow = false"></u-modal>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				pickUpFlag: true,
+				keyword: '',
+				list: [],
+				operationType: '',
+				stateType: true,
+				PageIndex: 1,
+				PageSize: 10,
+				modalShow: false,
+				reminder: '您确定要删除该地址信息吗?',
+				loadingMore: true,
+				addressId: null,
+			}
+		},
+		onReachBottom() {
+			if (!this.loadingMore) {
+				this.getList()
+			}
+		},
+		onShow() {
+			if (this.operationType) {
+				this.PageIndex = 1
+				this.list = []
+				this.loadingMore = true
+				this.getList()
+			}
+		},
+		onLoad(value) {
+			if (value.type) {
+				if (value.type == 'sender') {
+					this.pickUpFlag = true
+				} else {
+					this.pickUpFlag = false
+				}
+				this.operationType = value.type
+				this.stateType = true
+			} else {
+				this.operationType = 'sender'
+				this.stateType = false
+			}
+		},
+		methods: {
+			// 搜索
+			searchChange(value) {
+				this.PageIndex = 1
+				this.list = []
+				this.loadingMore = true
+				this.getList()
+			},
+			getList() {
+				this.loadingMore = true;
+				this.$api.get('/api/address', {
+					page: this.PageIndex,
+					pageSize: this.PageSize,
+					name: this.keyword,
+					addressType: this.operationType,
+				}).then(res => {
+					if (res.code == 200) {
+						const data = res.data.list
+						if (this.loadingMore == true && data) {
+							this.list = this.list.concat(data);
+						}
+						if (data.length < this.PageSize) {
+							this.loadingMore = true
+						} else {
+							this.loadingMore = false
+							this.PageIndex++
+						}
+					}
+				})
+			},
+			pickUp(type) {
+				this.PageIndex = 1
+				this.list = []
+				this.loadingMore = true
+				this.operationType = type
+				if (type == 'sender') {
+					this.pickUpFlag = true
+				} else if (type == 'consignee') {
+					this.pickUpFlag = false
+				}
+				this.getList()
+			},
+			// 新增地址
+			addAddress() {
+				uni.navigateTo({
+					url: '/pages/order/addAddress?type=' + this.operationType + '&newly=true'
+				});
+			},
+			// 编辑
+			redact(row) {
+				uni.setStorageSync('currentAddress', row)
+				uni.navigateTo({
+					url: '/pages/order/addAddress?type=' + this.operationType + '&newly=false'
+				});
+			},
+			// 删除
+			delAddress(row) {
+				this.modalShow = true
+				this.addressId = row.id
+			},
+			// 确定删除
+			confirm() {
+				this.$api.delete('/api/address', {
+					id: this.addressId,
+				}).then(res => {
+					if (res.code == 200) {
+						this.modalShow = false
+						uni.showLoading({
+							icon: 'success',
+							title: '删除成功'
+						});
+						this.PageIndex = 1
+						this.list = []
+						this.loadingMore = true
+						this.getList()
+						setTimeout(function() {
+							uni.hideLoading();
+						}, 1000);
+					}
+				})
+			},
+			// 选择地址
+			selectAddress(row) {
+				if (this.stateType) {
+					uni.navigateBack({
+						delta: 1
+					});
+					uni.setStorageSync('selectAddress', row)
+				}
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.card_ship {
+		display: flex;
+		justify-content: space-evenly;
+		align-items: center;
+		background-color: #fff;
+		padding: 20rpx 0rpx;
+	}
+
+	.line_title {
+		color: #c8c9cc;
+	}
+
+	.addres_title {
+		font-size: 30rpx;
+		padding-bottom: 10rpx;
+		border-bottom: 4rpx solid #fff;
+	}
+
+	.search_card {
+		background-color: #fff;
+		padding: 20rpx;
+	}
+
+	.pitch {
+		font-weight: 500;
+		color: #2979ff;
+		border-bottom: 4rpx solid #2979ff;
+	}
+
+	.address_book {
+		margin-top: 20rpx;
+		display: flex;
+		flex-direction: column;
+	}
+
+	.card_item_address {
+		margin: 0rpx 20rpx 20rpx 20rpx;
+		background-color: #fff;
+		border-radius: 10rpx;
+		padding: 20rpx 0rpx;
+	}
+
+	.address_border {
+		padding: 0rpx 20rpx;
+		padding-bottom: 30rpx;
+		border-bottom: 2rpx solid #f4f4f5;
+	}
+
+	.head_title {
+		display: flex;
+		margin-bottom: 10rpx;
+	}
+
+	.title_address {
+		font-size: 28rpx;
+		color: #82848a;
+	}
+
+	.title_name {
+		font-weight: 600;
+		font-size: 32rpx;
+		margin-left: 10rpx;
+	}
+
+	.keepRight {
+		padding-top: 20rpx;
+		padding-right: 20rpx;
+		display: flex;
+		justify-content: flex-end;
+	}
+
+	.flex_row {
+		display: flex;
+		align-items: center;
+		margin-left: 20rpx;
+		color: #82848a;
+		font-size: 30rpx;
+	}
+</style>

+ 1 - 1
pages/order/index.vue

@@ -112,7 +112,7 @@
 						if (this.loadingMore == true && data) {
 							this.orderList = this.orderList.concat(data);
 						}
-						if (this.orderList.length < this.pageSize) {
+						if (data.length < this.pageSize) {
 							this.loadingMore = true
 							this.loading = '没有更多了'
 						} else {

+ 10 - 1
pages/order/orderDetails.vue

@@ -10,6 +10,8 @@
 				<span class="card_state"
 					:style="{color:getState(orderList.status)}">{{orderStatus(orderList.status)}}</span>
 			</view>
+			<view class="title_delivery">配送人:</view>
+			<x-orderCard :list="delivererList" :deliverer="false"></x-orderCard>
 			<view class="title_delivery">寄件人:</view>
 			<x-orderCard :list="senderList"></x-orderCard>
 			<view class="title_delivery">收件人:</view>
@@ -24,7 +26,8 @@
 				<view class="card_anti_dismantle" v-if="orderList.tamperProofLabelImg">
 					<span>防拆标签图片:</span>
 					<view style="display: flex;">
-						<view style="margin-right: 20rpx;" v-for="(item,index) in getimagetamper(orderList)" :key="index">
+						<view style="margin-right: 20rpx;" v-for="(item,index) in getimagetamper(orderList)"
+							:key="index">
 							<u-image radius="4" :showLoading="true" :src="item" width="80px" height="80px"></u-image>
 						</view>
 					</view>
@@ -60,6 +63,10 @@
 		data() {
 			return {
 				type: 'details',
+				delivererList: {
+					name: '',
+					phone: '',
+				},
 				senderList: {
 					name: '',
 					phone: '',
@@ -98,6 +105,8 @@
 			this.consigneeList.name = orderList.consigneeAddressName
 			this.consigneeList.phone = orderList.consigneeAddressPhone
 			this.consigneeList.address = orderList.consigneeAddressDetails
+			this.delivererList.name = orderList.deliveryName
+			this.delivererList.phone = orderList.deliveryPhone
 			if (orderList.status == 8) {
 				const arr = orderList.ReceiptImg.split(',')
 				this.srcList[0].url = arr[0]

+ 11 - 87
pages/order/waybill.js

@@ -42,92 +42,16 @@ export const pickupRulesil = () => {
 }
 export const printList = () => {
 	return [{
-		arr: [{
-			arr: [
-				[{
-						T_sn: '2024117235321460',
-						T_id: 1,
-						T_rh: 59.8,
-						T_t: 3.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 2,
-						T_rh: 59.8,
-						T_t: 2.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 3,
-						T_rh: 59.8,
-						T_t: 23.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 4,
-						T_rh: 59.8,
-						T_t: 23.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					}
-				]
-			],
-			time: "2024-04-24"
-		}],
-		id: 38,
-		title: '测试',
-		isChecked: true,
-		endTime: '2024-04-24 15:31:18',
-		startTime: '2024-04-24 15:31:18'
+		field: 'name',
+		label: '姓名',
+		placeholder: '请输入姓名',
+		type: 'input',
+		required: true,
 	}, {
-		arr: [{
-			arr: [
-				[{
-						T_sn: '2024117235321460',
-						T_id: 1,
-						T_rh: 59.8,
-						T_t: 3.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 2,
-						T_rh: 59.8,
-						T_t: 2.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 3,
-						T_rh: 59.8,
-						T_t: 23.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					},
-					{
-						T_sn: '2024117235321460',
-						T_id: 4,
-						T_rh: 59.8,
-						T_t: 23.1,
-						T_time: '2024-04-24',
-						time: '15:30',
-					}
-				]
-			],
-			time: "2024-04-24"
-		}],
-		id: 37,
-		title: '测试1',
-		isChecked: true,
-		endTime: '2024-04-24 15:31:18',
-		startTime: '2024-04-24 15:31:18'
-	}, ]
+		field: 'phone',
+		label: '电话',
+		placeholder: '请输入电话',
+		type: 'input',
+		required: true,
+	}]
 }

+ 49 - 3
static/fonts/demo_index.html

@@ -55,6 +55,18 @@
           <ul class="icon_lists dib-box">
           
             <li class="dib">
+              <span class="icon iconfont">&#xe601;</span>
+                <div class="name">地址簿</div>
+                <div class="code-name">&amp;#xe601;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe63c;</span>
+                <div class="name">展开</div>
+                <div class="code-name">&amp;#xe63c;</div>
+              </li>
+          
+            <li class="dib">
               <span class="icon iconfont">&#xe60a;</span>
                 <div class="name">添加订单</div>
                 <div class="code-name">&amp;#xe60a;</div>
@@ -138,9 +150,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1716520790453') format('woff2'),
-       url('iconfont.woff?t=1716520790453') format('woff'),
-       url('iconfont.ttf?t=1716520790453') format('truetype');
+  src: url('iconfont.woff2?t=1718094244463') format('woff2'),
+       url('iconfont.woff?t=1718094244463') format('woff'),
+       url('iconfont.ttf?t=1718094244463') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -167,6 +179,24 @@
         <ul class="icon_lists dib-box">
           
           <li class="dib">
+            <span class="icon iconfont icon-dizhibu"></span>
+            <div class="name">
+              地址簿
+            </div>
+            <div class="code-name">.icon-dizhibu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhankai1"></span>
+            <div class="name">
+              展开
+            </div>
+            <div class="code-name">.icon-zhankai1
+            </div>
+          </li>
+          
+          <li class="dib">
             <span class="icon iconfont icon-tianjiadingdan"></span>
             <div class="name">
               添加订单
@@ -294,6 +324,22 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dizhibu"></use>
+                </svg>
+                <div class="name">地址簿</div>
+                <div class="code-name">#icon-dizhibu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhankai1"></use>
+                </svg>
+                <div class="name">展开</div>
+                <div class="code-name">#icon-zhankai1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-tianjiadingdan"></use>
                 </svg>
                 <div class="name">添加订单</div>

+ 11 - 3
static/fonts/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4559910 */
-  src: url('@/static/fonts/iconfont.woff2?t=1716520790453') format('woff2'),
-       url('@/static/fonts/iconfont.woff?t=1716520790453') format('woff'),
-       url('@/static/fonts/iconfont.ttf?t=1716520790453') format('truetype');
+  src: url('@/static/fonts/iconfont.woff2?t=1718094244463') format('woff2'),
+       url('@/static/fonts/iconfont.woff?t=1718094244463') format('woff'),
+       url('@/static/fonts/iconfont.ttf?t=1718094244463') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,14 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-dizhibu:before {
+  content: "\e601";
+}
+
+.icon-zhankai1:before {
+  content: "\e63c";
+}
+
 .icon-tianjiadingdan:before {
   content: "\e60a";
 }

File diff suppressed because it is too large
+ 0 - 0
static/fonts/iconfont.js


+ 14 - 0
static/fonts/iconfont.json

@@ -6,6 +6,20 @@
   "description": "",
   "glyphs": [
     {
+      "icon_id": "39827265",
+      "name": "地址簿",
+      "font_class": "dizhibu",
+      "unicode": "e601",
+      "unicode_decimal": 58881
+    },
+    {
+      "icon_id": "28908540",
+      "name": "展开",
+      "font_class": "zhankai1",
+      "unicode": "e63c",
+      "unicode_decimal": 58940
+    },
+    {
       "icon_id": "9002997",
       "name": "添加订单",
       "font_class": "tianjiadingdan",

BIN
static/fonts/iconfont.ttf


BIN
static/fonts/iconfont.woff


BIN
static/fonts/iconfont.woff2


Some files were not shown because too many files changed in this diff