From 88a34566f7c3f77d90daa3fd57fb0abca3e1b5e6 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 09:12:06 +0800
Subject: [PATCH] ll

---
 h5/pages/staff/task/visitorApprove.vue |  926 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 554 insertions(+), 372 deletions(-)

diff --git a/h5/pages/staff/task/visitorApprove.vue b/h5/pages/staff/task/visitorApprove.vue
index 5e30fde..e70f8d3 100644
--- a/h5/pages/staff/task/visitorApprove.vue
+++ b/h5/pages/staff/task/visitorApprove.vue
@@ -1,372 +1,554 @@
-<template>
-	<view class="main_app">
-		<view class="status_wrap">
-			<view class="name">涓佹仼鍑殑璁垮鐢宠</view>
-			<view class="desc">绛夊緟鎴戝鐞�</view>
-			<view class="status">瀹℃壒涓�</view>
-		</view>
-		<!--  -->
-		<view class="emyty"></view>
-		<view class="module_list">
-			<view class="item">
-				<view class="label">鎷滆浜�</view>
-				<view class="value">寤栨垚鐟�</view>
-			</view>
-			<view class="item">
-				<view class="label">棰勮鍏�/绂诲巶鏃堕棿</view>
-				<view class="value">05/01 8:00 - 05/01 18:00</view>
-			</view>
-			<view class="emyty"></view>
-			<view class="item">
-				<view class="label">璁垮淇℃伅</view>
-				<view class="value">
-					<image class="avatar" src="@/static/logo@2x.png" mode="widthFix"></image>
-					<view class="info">
-						<text class="name">瀛欏織 18177665678</text>
-						<text>韬唤璇佸彿锛�3309****2910</text>
-						<text>鍏ュ洯杞﹁締锛氱殩A88789</text>
-					</view>
-				</view>
-			</view>
-			<view class="item">
-				<view class="label">鍏徃鍚嶇О</view>
-				<view class="value">涓浗绉诲姩</view>
-			</view>
-			<view class="item">
-				<view class="label">鏂藉伐浜哄憳</view>
-				<view class="value">鍚�</view>
-			</view>
-			<view class="item">
-				<view class="label">鏉ヨ浜嬬敱</view>
-				<view class="value">涓氬姟娲借皥</view>
-			</view>
-		</view>
-		<!-- 娴佺▼ -->
-		<view class="flow_wrap">
-			<view class="flow_title">娴佺▼</view>
-			<view class="list">
-				<view class="item">
-					<view class="avatar">
-						<image class="img" src="@/static/logo@2x.png" mode="widthFix" />
-						<image class="status" src="@/static/staff/liucheng_success@2x.png" mode="widthFix" />
-						<view class="separate"></view>
-					</view>
-					<view class="content">
-						<view class="head">
-							<view class="event">鏌愭煇鎻愪氦鐨勬嫓璁跨敵璇�</view>
-							<view class="time">time</view>
-						</view>
-						<view class="name_wrap">
-							<text>鏉庝笢(<text class="status">澶勭悊涓�</text>)</text>
-						</view>
-						<view class="remark">鍚屾剰鏀捐</view>
-					</view>
-				</view>
-				<view class="item">
-					<view class="avatar">
-						<image class="img" src="@/static/logo@2x.png" mode="widthFix" />
-						<image class="status" src="@/static/staff/liucheng_success@2x.png" mode="widthFix" />
-					</view>
-					<view class="content">
-						<view class="head">
-							<view class="event">鏌愭煇鎻愪氦鐨勬嫓璁跨敵璇�</view>
-							<view class="time">time</view>
-						</view>
-						<view class="name_wrap">
-							<text>鏉庝笢(<text class="status">澶勭悊涓�</text>)</text>
-						</view>
-						<view class="carbon">
-							<view class="carbon_item" v-for="i in 12">
-								<image src="../../../static/logo@2x.png" mode="widthFix"></image>
-								<view class="text">name</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="emyty"></view>
-		<view class="main_footer">
-			<view class="btn" @click="handleSub('0')">鎷掔粷</view>
-			<view class="btn agree" @click="handleSub('1')">鍚屾剰</view>
-		</view>
-
-		<!--  -->
-		<u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false">
-			<view class="appr_modal">
-				<view class="title">鍚屾剰</view>
-				<textarea placeholder="鍚屾剰璇存槑锛岄潪蹇呭~" placeholder-class="placeholder9" />
-				<view class="main_footer">
-					<view class="btn" @click="showApprModal = false">鍙栨秷</view>
-					<view class="btn agree">鎻愪氦</view>
-				</view>
-			</view>
-		</u-popup>
-	</view>
-</template>
-
-<script>
-export default {
-	data() {
-		return {
-			showApprModal: false,
-			param: {}
-		}
-	},
-	methods: {
-		handleSub(flag) {
-			// this.param.flag = 
-			if (flag === '1') {
-
-			} else {
-
-			}
-			this.showApprModal = true
-		}
-	},
-}
-</script>
-<style>
-page {
-	background-color: #F7F7F7;
-}
-</style>
-<style lang="scss">
-.main_app {
-	background-color: #fff;
-	padding-bottom: 0;
-
-	.flow_wrap {
-		padding: 30rpx 0;
-
-		.flow_title {
-			font-weight: 500;
-			font-size: 32rpx;
-			color: #222222;
-			margin-bottom: 24rpx;
-		}
-
-		.list {
-			.item {
-				display: flex;
-				margin-bottom: 48rpx;
-
-				.avatar {
-					width: 80rpx;
-					height: 80rpx;
-					position: relative;
-					margin-right: 20rpx;
-
-					.img {
-						width: 80rpx;
-						height: 80rpx;
-						border-radius: 50%;
-					}
-
-					.status {
-						width: 28rpx;
-						height: 28rpx;
-						border-radius: 50%;
-						position: absolute;
-						right: 0;
-						bottom: 0;
-					}
-
-					.separate {
-						position: absolute;
-						width: 4rpx;
-						height: 100%;
-						background-color: #EEEEEE;
-						left: 50%;
-						transform: translate(-50%, 0);
-						bottom: -80rpx;
-					}
-				}
-
-				.content {
-					flex: 1;
-
-					.head {
-						display: flex;
-						justify-content: space-between;
-						margin-bottom: 4rpx;
-
-						.event {
-							font-size: 30rpx;
-						}
-
-						.time {
-							font-size: 26rpx;
-							color: #999999;
-						}
-					}
-
-					.name_wrap {
-						font-size: 26rpx;
-						color: #777777;
-
-						.status {
-							color: #279BAA;
-						}
-					}
-
-					.remark {
-						margin-top: 12rpx;
-						background-color: #f7f7f7;
-						padding: 14rpx 20rpx;
-						border-radius: 8rpx;
-						font-size: 26rpx;
-						color: #666666;
-						line-height: 36rpx;
-					}
-				}
-				.carbon{
-					display: flex;
-					width: 590rpx;
-					overflow-x: auto;
-					margin-top: 12rpx;
-					.carbon_item{
-						text-align: center;
-						flex-shrink: 0;
-						width: 100rpx;
-						image{
-							width: 60rpx;
-							height: 60rpx;
-							margin: 0 auto;
-						}
-						view{
-							font-size: 26rpx;
-							color: #777777;
-							
-						}
-					}
-				}
-			}
-		}
-	}
-
-	.module_list {
-		.item {
-			padding: 30rpx 0;
-			border-bottom: 1rpx solid #E5E5E5;
-
-			.label {
-				font-size: 26rpx;
-				color: #666666;
-				margin-bottom: 20rpx;
-			}
-
-			.value {
-				font-size: 30rpx;
-				display: flex;
-				align-items: center;
-
-				.avatar {
-					margin-right: 20rpx;
-					width: 120rpx;
-					height: 120rpx;
-					border-radius: 8rpx;
-					border: 2rpx solid #E5E5E5;
-				}
-
-				.info {
-					flex: 1;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					font-size: 26rpx;
-					color: #666666;
-
-					.name {
-						font-size: 30rpx;
-						color: #333333;
-					}
-				}
-			}
-		}
-	}
-
-	.status_wrap {
-		position: relative;
-		padding: 30rpx 0;
-
-		.name {
-			font-weight: 500;
-			font-size: 32rpx;
-			margin-bottom: 20rpx;
-			color: #222222;
-		}
-
-		.desc {
-			font-size: 26rpx;
-			color: #ED4545;
-		}
-
-		.status {
-			position: absolute;
-			right: -30rpx;
-			top: 0;
-			height: 60rpx;
-			line-height: 60rpx;
-			padding: 0 32rpx;
-			border-radius: 0rpx 0rpx 0rpx 30rpx;
-			background-color: #e9edff;
-			color: #279BAA;
-		}
-	}
-
-	.main_footer {
-		padding-bottom: 64rpx;
-		display: flex;
-		justify-content: space-between;
-
-		.btn {
-			width: 336rpx;
-			height: 88rpx;
-			line-height: 88rpx;
-			background: #FFFFFF;
-			border-radius: 44rpx;
-			border: 1rpx solid #999999;
-			font-size: 32rpx;
-			text-align: center;
-			margin: 16rpx 0;
-		}
-
-		.agree {
-			background: #279BAA;
-			color: #fff;
-			border: 1rpx solid #279BAA;
-		}
-	}
-
-	.appr_modal {
-		padding: 36rpx 30rpx 0;
-
-		.title {
-			font-weight: 500;
-			font-size: 32rpx;
-			color: #222222;
-			margin-bottom: 40rpx;
-			text-align: center;
-		}
-
-		textarea {
-			box-sizing: border-box;
-			width: 690rpx;
-			background-color: #f7f7f7;
-			font-size: 28rpx;
-			color: #333333;
-			padding: 24rpx;
-			border-radius: 8rpx;
-			margin-bottom: 30rpx;
-		}
-	}
-
-	.emyty {
-		width: 750rpx;
-		height: 20rpx;
-		background-color: #f7f7f7;
-		margin: 0 -30rpx;
-	}
-}
-</style>
+<template>
+	<view class="main_app">
+		<view class="status_wrap">
+			<view class="name">{{ info.name }}鎻愪氦鐨勮瀹㈢敵璇�</view>
+			<view class="desc" :class="{
+          gray: info.businessStatus == '2' || info.businessStatus == '3' || info.businessStatus == '4',
+        }">{{ statusMap[info.businessStatus] }}</view>
+			<view v-if="info.businessStatus == '0' || info.businessStatus == '1'" class="status">{{
+        info.info
+      }}</view>
+			<image v-if="info.businessStatus == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img">
+			</image>
+			<image v-if="info.businessStatus == '3'" src="@/static/ic_refused@2x.png" mode="widthFix" class="status_img">
+			</image>
+		</view>
+		<!--  -->
+		<view class="emyty"></view>
+		<view class="module_list">
+			<view class="item">
+				<view class="label">琚浜�</view>
+				<view class="value">{{ info.visitUserName }}</view>
+			</view>
+			<view class="item">
+				<view class="label">棰勮鍏�/绂诲洯鏃堕棿</view>
+				<view class="value" v-if="info.visitTime">{{ info.visitTime }}</view>
+			</view>
+			<view class="emyty"></view>
+			<view class="item">
+				<view class="label">璁垮淇℃伅</view>
+				<view class="value">
+					<image class="avatar" :src="
+              info.prefix
+                ? info.prefix + info.faceImg
+                : require('@/static/meeting/common/default_user@2x.png')
+            " mode="widthFix"></image>
+					<view class="info">
+						<text class="name">{{ info.name }} {{ info.phone }}</text>
+						<text>韬唤璇佸彿锛歿{ info.idCardDecode }}</text>
+						<text>鍏ュ洯杞﹁締锛歿{ info.carNos }}</text>
+					</view>
+				</view>
+			</view>
+			<view class="item">
+				<view class="label">鍏徃鍚嶇О</view>
+				<view class="value">{{ info.companyName }}</view>
+			</view>
+			<view class="item">
+				<view class="label">鏂藉伐浜哄憳</view>
+				<view class="value">{{ info.type == 0 ? "鍚�" : "鏄�" }}</view>
+			</view>
+			<view class="item">
+				<view class="label">鏉ヨ浜嬬敱</view>
+				<view class="value">{{ info.visitReason }}</view>
+			</view>
+			<view v-if="info.constructionReason" class="item">
+				<view class="label">鏂藉伐鍐呭</view>
+				<view class="value">{{ info.constructionReason }}</view>
+			</view>
+		</view>
+		<!-- 娴佺▼ -->
+		<view class="flow_wrap">
+			<view class="flow_title">娴佺▼</view>
+			<view class="list" v-if="
+          info.approveDateVO != null && info.approveDateVO.approveList != null
+        ">
+				<view class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id">
+					<view class="separate"></view>
+					<view class="avatar">
+						<image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" />
+						<image v-else-if="item.approveType == 1 || item.approveType == 0" class="img"
+							src="@/static/staff/ic_shenpiren@2x.png" />
+						<image v-else-if="item.faceImg" :src="item.faceImg" class="img"></image>
+						<span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span>
+						<image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png"
+							mode="widthFix" />
+						<image v-if="item.status == 3" class="status" src="@/static/staff/liucheng_fail@2x.png" mode="widthFix" />
+					</view>
+					<view class="content">
+						<view class="head">
+							<view class="event">{{ item.title }}</view>
+							<view class="time">{{ item.checkDate }}</view>
+						</view>
+						<view class="name_wrap">
+							<text>{{ item.memberName
+                }}<text :class="{ status: item.statusInfo == '澶勭悊涓�' || item.status == '1'  }"
+									v-if="item.statusInfo">({{ item.statusInfo }})</text></text>
+						</view>
+						<view v-if="item.checkInfo" class="remark">{{
+              item.checkInfo
+            }}</view>
+						<!-- 鎶勯�佷汉 -->
+						<view v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="children">
+							<view class="child" v-for="child in item.approveList" :key="child.id">
+								<image v-if="child.faceImg" class="child_img" :src="child.faceImg" />
+								<view v-else class="child_name">{{ child.memberName && child.memberName.slice(0,1) }}</view>
+								<view>{{ child.memberName }}</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="emyty"></view>
+		<view v-if="
+        info.approveDateVO != null &&
+        info.approveDateVO.canBeApproved != null &&
+        info.approveDateVO.canBeApproved == 1
+      " class="main_footer">
+			<view class="btn" @click="handleSub(3)">鎷掔粷</view>
+			<view class="btn agree" @click="handleSub(2)">鍚屾剰</view>
+		</view>
+
+		<u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false">
+			<view class="appr_modal">
+				<view class="title">{{ param.status == 2 ? "鍚屾剰" : "鎷掔粷" }}</view>
+				<textarea v-model="param.checkInfo" :placeholder="
+            param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑锛屽繀濉�'
+          " placeholder-class="placeholder9" />
+				<view class="main_footer">
+					<view class="btn" @click="showApprModal = false">鍙栨秷</view>
+					<view class="btn agree" @click="onSubmit">鎻愪氦</view>
+				</view>
+			</view>
+		</u-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		getVisitedDetail, // 璁垮棰勭害璇︽儏
+		carUseBookAppr
+	} from '@/api'
+	export default {
+		data() {
+			return {
+				showApprModal: false,
+				param: {},
+				info: {},
+
+				id: '',
+				type: '',
+				infoStatus: '',
+				cateList: [{
+						name: '璁垮鐢宠',
+						id: 0
+					},
+					{
+						name: '璁垮鎶ュ',
+						id: 1
+					},
+					{
+						name: '鐢ㄨ溅鐢宠',
+						id: 2
+					},
+					{
+						name: '闅愭偅闅忔墜鎷�',
+						id: 3
+					},
+					{
+						name: '鐗╂祦杞︾敵璇�',
+						id: 4
+					},
+				],
+				statusMap: {
+					0: '寰呭鎵�',
+					1: '瀹℃壒涓�',
+					2: '宸查�氳繃',
+					3: '宸叉嫆缁�',
+					4: '宸插彇娑�',
+				}
+			}
+		},
+		onLoad(op) {
+			uni.setStorageSync('ywinfo',{})
+			this.id = op.id
+			this.getDetail()
+		},
+		methods: {
+			getDetail() {
+				const {
+					id
+				} = this
+				getVisitedDetail({
+					id
+				}).then(res => {
+					this.info = res.data
+					if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) {
+						this.info.approveDateVO.approveList.forEach(item => {
+							if (item.approveList && item.approveList.length == 1 && item.type !== 1) {
+								item.title = item.approveList[0].title
+								item.faceImg = item.approveList[0].faceImg
+								item.memberName = item.approveList[0].memberName
+								item.statusInfo = item.approveList[0].statusInfo
+								item.status = item.approveList[0].status
+								item.approveList = []
+							}
+						})
+					}
+				})
+			},
+			onSubmit() {
+				const {
+					param,
+					info
+				} = this
+				if (param.status == '3' && !param.checkInfo) {
+					return uni.showToast({
+						title: '璇疯緭鍏ユ嫆缁濊鏄�',
+						icon: 'none'
+					})
+				}
+				carUseBookAppr({
+					status: param.status,
+					objType: info.type,
+					objId: this.id,
+					// driverId: param.driverId,
+					checkInfo: param.checkInfo
+				}).then(res => {
+					if (res.code === 200) {
+						this.showApprModal = false
+						setTimeout(() => {
+							uni.showToast({
+								title: '鎿嶄綔鎴愬姛',
+								icon: 'success'
+							})
+						})
+						uni.navigateBack()
+					}
+				})
+			},
+			handleSub(status) {
+				// this.param.flag = 
+				this.param = {
+					status
+				}
+				this.showApprModal = true
+			},
+		},
+	}
+</script>
+<style>
+	page {
+		background-color: #f7f7f7;
+	}
+</style>
+<style lang="scss">
+	.main_app {
+		background-color: #fff;
+		padding-bottom: 0;
+
+		.flow_wrap {
+			padding: 30rpx 0;
+			.flow_title {
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #222222;
+				margin-bottom: 24rpx;
+			}
+
+			.list {
+				.item {
+					display: flex;
+					margin-bottom: 48rpx;
+					position: relative;
+
+					.separate {
+						position: absolute;
+						width: 4rpx;
+						height: 100%;
+						background-color: #eeeeee;
+						left: 40rpx;
+						transform: translate(-50%, 0);
+						top: 80rpx;
+					}
+
+					.avatar {
+						width: 80rpx;
+						height: 80rpx;
+						position: relative;
+						margin-right: 20rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+
+						.img {
+							width: 80rpx;
+							height: 80rpx;
+							border-radius: 50%;
+						}
+
+						.img_name {
+							font-size: 32rpx;
+							color: #FFFFFF;
+						}
+
+						.status {
+							width: 28rpx;
+							height: 28rpx;
+							border-radius: 50%;
+							position: absolute;
+							right: 0;
+							bottom: 0;
+						}
+					}
+
+					.content {
+						flex: 1;
+
+						.head {
+							display: flex;
+							justify-content: space-between;
+							margin-bottom: 4rpx;
+
+							.event {
+								font-size: 30rpx;
+							}
+
+							.time {
+								font-size: 26rpx;
+								color: #999999;
+							}
+						}
+
+						.name_wrap {
+							font-size: 26rpx;
+							color: #777777;
+
+							.status {
+								color: $uni-color-primary;
+							}
+						}
+
+						.children {
+							display: flex;
+							flex-wrap: wrap;
+							margin-top: 12rpx;
+
+							.child {
+								display: flex;
+								flex-direction: column;
+								justify-content: center;
+								align-items: center;
+								margin-right: 12rpx;
+								font-size: 26rpx;
+								color: #777777;
+
+								.child_img {
+									width: 48rpx;
+									height: 48rpx;
+									border-radius: 50%;
+									margin-bottom: 2rpx;
+								}
+
+								.child_name {
+									margin-bottom: 2rpx;
+									width: 48rpx;
+									height: 48rpx;
+									text-align: center;
+									justify-content: center;
+									padding-top: 4rpx;
+									font-size: 28rpx;
+									border-radius: 50%;
+									color: #FFFFFF;
+									background-color: $uni-color-primary;
+								}
+							}
+						}
+
+						.remark {
+							margin-top: 12rpx;
+							background-color: #f7f7f7;
+							padding: 14rpx 20rpx;
+							border-radius: 8rpx;
+							font-size: 26rpx;
+							color: #666666;
+							line-height: 36rpx;
+						}
+					}
+
+					.carbon {
+						display: flex;
+						width: 590rpx;
+						overflow-x: auto;
+						margin-top: 12rpx;
+
+						.carbon_item {
+							text-align: center;
+							flex-shrink: 0;
+							width: 100rpx;
+
+							image {
+								width: 60rpx;
+								height: 60rpx;
+								margin: 0 auto;
+							}
+
+							view {
+								font-size: 26rpx;
+								color: #777777;
+							}
+						}
+					}
+
+					&:nth-last-child(1) {
+						.separate {
+							height: 0;
+						}
+					}
+				}
+			}
+		}
+
+		.module_list {
+			.item {
+				padding: 30rpx 0;
+				border-bottom: 1rpx solid #e5e5e5;
+
+				.label {
+					font-size: 26rpx;
+					color: #666666;
+					margin-bottom: 20rpx;
+				}
+
+				.value {
+					font-size: 30rpx;
+					display: flex;
+					align-items: center;
+
+					.avatar {
+						margin-right: 20rpx;
+						width: 120rpx;
+						height: 120rpx;
+						border-radius: 8rpx;
+						border: 2rpx solid #e5e5e5;
+					}
+
+					.info {
+						flex: 1;
+						display: flex;
+						flex-direction: column;
+						justify-content: space-between;
+						font-size: 26rpx;
+						color: #666666;
+
+						.name {
+							font-size: 30rpx;
+							color: #333333;
+						}
+					}
+				}
+			}
+		}
+
+		.status_wrap {
+			position: relative;
+			padding: 30rpx 0;
+
+			.name {
+				font-weight: 600;
+				font-size: 32rpx;
+				margin-bottom: 20rpx;
+				color: #222222;
+			}
+
+			.desc {
+				font-size: 26rpx;
+				color: #ed4545;
+			}
+
+			.gray {
+				color: #999999;
+			}
+
+			.status {
+				position: absolute;
+				right: -30rpx;
+				top: 0;
+				height: 60rpx;
+				line-height: 60rpx;
+				padding: 0 32rpx;
+				border-radius: 0rpx 0rpx 0rpx 30rpx;
+				background-color: #e9edff;
+				color: $uni-color-primary;
+			}
+
+			.status_img {
+				position: absolute;
+				right: 0rpx;
+				top: 20rpx;
+				width: 120rpx;
+			}
+		}
+
+		.main_footer {
+			padding-bottom: 64rpx;
+			display: flex;
+			justify-content: space-between;
+			width: 100%;
+			left: 0;
+			// padding: 30rpx 10rpx 60rpx;
+			display: flex;
+			justify-content: space-between;
+			background: #ffffff;
+
+			.btn {
+				width: 336rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				background: #ffffff;
+				border-radius: 44rpx;
+				border: 1rpx solid #999999;
+				font-size: 32rpx;
+				text-align: center;
+				margin: 16rpx 0;
+			}
+
+			.agree {
+				background: $uni-color-primary;
+				color: #fff;
+				border: 1rpx solid $uni-color-primary;
+			}
+		}
+
+		.appr_modal {
+			padding: 36rpx 30rpx 0;
+
+			.title {
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #222222;
+				margin-bottom: 40rpx;
+				text-align: center;
+			}
+
+			textarea {
+				box-sizing: border-box;
+				width: 690rpx;
+				background-color: #f7f7f7;
+				font-size: 28rpx;
+				color: #333333;
+				padding: 24rpx;
+				border-radius: 8rpx;
+				margin-bottom: 30rpx;
+			}
+		}
+
+		.emyty {
+			width: 750rpx;
+			height: 20rpx;
+			background-color: #f7f7f7;
+			margin: 0 -30rpx;
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3