From 5470b3652246095d9d73d8aa03ce8830459af8c9 Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期四, 20 六月 2024 14:10:07 +0800
Subject: [PATCH] 静态页面添加

---
 policy/components/mine.vue          |  124 ++++++++++++
 policy/components/index.vue         |  117 +++++++++++
 policy/policyIndex/policyIndex.vue  |   27 +
 policy/policyApply/policyApply.vue  |  193 ++++++++++++++++++
 policy/policyIndex/policyIndex.scss |    0 
 pages.json                          |   10 
 policy/changePhone/changePhone.vue  |   22 ++
 policy/components/tabs.vue          |   57 +++++
 8 files changed, 532 insertions(+), 18 deletions(-)

diff --git a/pages.json b/pages.json
index 52eb5c9..0167170 100644
--- a/pages.json
+++ b/pages.json
@@ -46,7 +46,8 @@
 					"path" : "policyIndex/policyIndex",
 					"style" : 
 					{
-						"navigationBarTitleText" : "棣栭〉"
+						"navigationBarTitleText" : "棣栭〉",
+						"navigationStyle": "custom"
 					}
 				},
 				{
@@ -55,6 +56,13 @@
 					{
 						"navigationBarTitleText" : "鎵ф硶鐢宠"
 					}
+				},
+				{
+					"path" : "changePhone/changePhone",
+					"style" : 
+					{
+						"navigationBarTitleText" : ""
+					}
 				}
 			]
 		}
diff --git a/policy/changePhone/changePhone.vue b/policy/changePhone/changePhone.vue
new file mode 100644
index 0000000..8183fd0
--- /dev/null
+++ b/policy/changePhone/changePhone.vue
@@ -0,0 +1,22 @@
+<template>
+	<view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>
diff --git a/policy/components/index.vue b/policy/components/index.vue
new file mode 100644
index 0000000..0a5f936
--- /dev/null
+++ b/policy/components/index.vue
@@ -0,0 +1,117 @@
+<template>
+	<view class="page-content">
+	
+		<view class="banner">
+			<image src="https://picsum.photos/200/200" mode=""></image>
+		</view>
+		<view class="main-page-box">
+			<view class="second-box">
+				<image src="/static/index.png" class="icon"></image>
+				<view class="driver"></view>
+				<view class="right-box">
+					<view>
+						<view class="u-line-1 margin-bottom">娴峰叧鎬荤讲璐告槗鎸佺画鍙戝睍2024骞寸珛娉曞眬...</view>
+						<view class="u-line-1">鍥藉鍖荤枟淇濋殰灞�鍔炲叕瀹ゅ叧浜庡彂甯冪鐞�... </view>
+					</view>
+					<view class="icon-box">
+						<u-icon name="arrow-right" size="14" color="#868C98FF"></u-icon>
+					</view>
+				</view>
+			</view>
+			<view class="policy-list">
+				<u-button @click="applyPulicy">鎵ф硶鐢宠</u-button>
+				<u-button v-if="isJudge">鎵ф硶瀹℃壒</u-button>
+				<u-button>鎵ф硶缁撴灉涓婃姤</u-button>
+				<u-button>璁板綍鏌ヨ</u-button>
+				<u-button>鏁版嵁鐪嬫澘</u-button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {  getInfo } from '@/api/auth.js'
+	import tabsCom from '@/policy/components/tabs.vue'
+	export default {
+		components: {
+			tabsCom
+		},
+		data() {
+			return {
+				isJudge: false
+			}
+		},
+		onShow() {
+			this.getInfo()
+		},
+		methods: {
+			getInfo() {
+				getInfo().then(val =>{
+					// console.log()
+					this.isJudge = val.data.roles.some(item => item.includes('check_enforce'))
+				})
+			},
+			applyPulicy() {
+				uni.navigateTo({
+					url: '/policy/policyApply/policyApply'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.page-content{
+		.banner{
+			width: 100%;
+			height: 400rpx;
+			image{
+				width: 100%;
+				height: 100%;
+			}
+		}
+		.main-page-box{
+			position: relative;
+			top: -60rpx;
+		}
+		.second-box{
+			margin: 0 32rpx;
+			background-color: white;
+			border-radius: 20rpx;
+			padding: 34rpx 24rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			.icon{
+				width: 76rpx;
+				height: 76rpx;
+				
+			}
+			.driver{
+				height: 50rpx;
+				width: 2rpx;
+				background-color: #F1F1F1;
+				margin: 0 24rpx;
+			}
+			.right-box{
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				width: calc(100% - 76rpx - 50rpx);
+				font-size: 26rpx;
+				color: #4A4E60FF;
+				.icon-box{
+					background-color: #F1F1F1;
+					border-radius: 50%;
+					padding: 10rpx;
+				}
+				.margin-bottom{
+					margin-bottom: 10rpx;
+				}
+			}
+		}
+		.policy-list{
+			margin: 22rpx 32rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/policy/components/mine.vue b/policy/components/mine.vue
new file mode 100644
index 0000000..bcc1b48
--- /dev/null
+++ b/policy/components/mine.vue
@@ -0,0 +1,124 @@
+<template>
+	<view class="page-mine-box">
+		<view class="top-box">
+			<view class="user-news">
+				<u-avatar :src="src"></u-avatar>
+				<view class="user-info">
+					<view class="user-name">
+						<view class="inckname">鍒樺皬闆�</view>
+						<view class="direc"></view>
+						<view class="dept-per">鎵ф硶浜哄憳</view>
+					</view>
+					<view class="dept-name">
+						鐜繚灞�--绗竴閮ㄩ棬
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="main-box">
+			<view class="show-phone-number">
+				<text class="label">鑱旂郴鐢佃瘽</text>
+				<text>168****4164</text>
+			</view>
+			<view class="show-phone-number">
+				<view class="set-flex">
+					<u-icon name="phone" size="22"></u-icon>
+					<text class="change">淇敼鎵嬫満鍙�</text>
+				</view>
+				<u-icon name="arrow-right"></u-icon>
+			</view>
+		</view>
+		<view class="logout">
+			閫�鍑虹櫥褰�
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data(){
+			return {
+				src: ''
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.page-mine-box{
+		.top-box{
+			height: 380rpx;
+			width: 100%;
+			background-color: #1171E0FF;
+			padding-top: 204rpx;
+			box-sizing: border-box;
+			.user-news{
+				margin: 0 48rpx;
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				.user-info{
+					margin-left: 24rpx;
+					color: white;
+					.user-name{
+						display: flex;
+						justify-content: flex-start;
+						align-items: center;
+						.direc{
+							width: 2rpx ;
+							height: 20rpx;
+							background-color: white;
+							vertical-align: middle;
+							margin: 0 16rpx;
+						}
+					}
+					.dept-name{
+						font-size: 28rpx;
+						color: #FFFFFFB3;
+					}
+					.dept-per{
+						font-size: 24rpx;
+					}
+				}
+			}
+		}
+		.main-box{
+			position: relative;
+			top: -45rpx;
+		}
+		.show-phone-number{
+			background-color: white;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			margin: 0 40rpx;
+			border-radius: 10rpx;
+			padding: 28rpx 24rpx;
+			font-size: 32rpx;
+			color: #202D44FF;
+			font-weight: normal;
+			margin-bottom: 20rpx;
+			.label{
+				color: #7E8596FF;
+			}
+			.change{
+				margin-left: 20rpx;
+				color: #202D44FF;
+			}
+		}
+		.logout{
+			text-align: center;
+			padding: 20rpx 0;
+			justify-content: center;
+			align-items: center;
+			border-radius: 38rpx;
+			background: #FFF;
+			font-size: 32rpx;
+			color: #4a4e60ff;
+			width: calc(100% - 64rpx);
+			left: 32rpx;
+			position: fixed;
+			bottom: 140rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/policy/components/tabs.vue b/policy/components/tabs.vue
new file mode 100644
index 0000000..3627e6b
--- /dev/null
+++ b/policy/components/tabs.vue
@@ -0,0 +1,57 @@
+<template>
+	<view class="fixed-down">
+		<view  @click="activeClick(0)" :class="{ active: active == 0}">
+			<view>宸ヤ綔鍙�</view>
+		</view>
+		<view @click="scode">
+			鎵爜
+		</view>
+		<view @click="activeClick(1)" :class="{ active: active == 1}">
+			<view>鎴戠殑</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				active: 0
+			}
+		},
+		methods: {
+			scode() {
+				uni.scanCode({
+					success: val => {
+						if(val.errMsg === 'scanCode:ok'){
+							console.log(val.result)
+						}
+					}
+				})
+			},
+			activeClick(number) {
+				this.active = number
+				this.$emit('update:activeNumber', number)
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.fixed-down{
+		position: fixed;
+		bottom: 0;
+		width: 100%;
+		display: flex;
+		justify-content: space-around;
+		align-items: center;
+		padding-bottom: 29rpx;
+		padding-top: 20rpx;
+		background-color: white;
+		font-size: 20rpx;
+		color: #7E8596FF;
+		.active{
+			color: #1171E0FF;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/policy/policyApply/policyApply.vue b/policy/policyApply/policyApply.vue
index 0e2722f..45e2bb8 100644
--- a/policy/policyApply/policyApply.vue
+++ b/policy/policyApply/policyApply.vue
@@ -1,6 +1,85 @@
 <template>
 	<view class="page-box">
-		<u-form label-position="top" label-width="120px">
+		<view class="content-box">
+			<view class="form">
+				<view class="form-item">
+					<view class="form-label require">
+						鎵ф硶涓婚
+					</view>
+					<input type="text" placeholder="璇疯緭鍏�" v-model="form.enforceReason"/>
+				</view>
+				<view class="form-item">
+					<view class="form-label require">
+						鎵ф硶瀵硅薄
+					</view>
+					<view class="input">
+						<input type="text" placeholder="璇疯緭鍏�" v-model="form.companyName"/>
+						<!-- <u-icon name="arrow-right"></u-icon> -->
+						<u-text text='鎼滅储' type="primary"></u-text>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="form-label require">
+						鎵ф硶鏃堕棿
+					</view>
+					<view class="input">
+						<input type="text" placeholder="璇疯緭鍏�"/>
+						<u-icon name="arrow-right"></u-icon>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="form-label require">
+						鎵ф硶绫诲瀷
+					</view>
+					<view class="input">
+						<input type="text" placeholder="璇疯緭鍏�"/>
+						<u-icon name="arrow-right"></u-icon>
+					</view>
+				</view>
+				<view class="form-item last">
+					<view class="form-label require">
+						鎵ф硶鍐呭
+					</view>
+					<view class="back">
+						<u--textarea :height="120" v-model="form.regionReason" placeholder="璇疯緭鍏�" count maxlength="500"></u--textarea>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="content-box">
+			<view class="form ">
+				<view class="form-item">
+					<view class="form-label">
+						鎵ф硶浜哄憳
+					</view>
+					<input type="text" placeholder="璇疯緭鍏�"/>
+				</view>
+				<view class="form-item">
+					<view class="form-label">
+						鎵ф硶閮ㄩ棬
+					</view>
+					<input type="text" placeholder="璇疯緭鍏�"/>
+				</view>
+				<view class="form-item">
+					<view class="form-label require">
+						闅忚浜哄憳鏁伴噺
+					</view>
+					<input type="text" placeholder="璇疯緭鍏�"/>
+				</view>
+				<view class="form-item down-2">
+					<view class="form-label">
+						鏄惁閫氱煡浼佷笟
+					</view>
+					<u-switch v-model="form.isNoticeCompany" :activeValue="1" :inactiveValue="0"></u-switch>
+				</view>
+				
+			</view>
+		</view>
+		<view class="down-options">
+			<view class="button record" >鐢宠璁板綍</view>
+			<view class="button submit" @click="submitApply">鎻愪氦鐢宠</view>
+		</view>
+		<!-- <u-form label-position="top" label-width="120px">
 			<u-form-item label="鎵ф硶涓婚">
 				<u-input placeholder="璇疯緭鍏�" v-model="form.enforceReason"></u-input>
 			</u-form-item>
@@ -32,9 +111,9 @@
 			<u-form-item label="鏄惁閫氱煡浼佷笟">
 				<u-switch v-model="form.isNoticeCompany" :activeValue="1" :inactiveValue="0"></u-switch>
 			</u-form-item>
-		</u-form>
-		<u-button @click="submitApply">鎻愪氦鐢宠</u-button>
-		<u-button @click="applyRecord">鐢宠璁板綍</u-button>
+		</u-form> -->
+<!-- 		<u-button @click="submitApply">鎻愪氦鐢宠</u-button>
+		<u-button @click="applyRecord">鐢宠璁板綍</u-button> -->
 		<u-picker :show="show" @close="show = false" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></u-picker>
 		<u-datetime-picker
 					:show="showTime"
@@ -65,7 +144,8 @@
 					applyName: '',
 					applyDeptName: '',
 					enforceType: 1,
-					isNoticeCompany: 0
+					isNoticeCompany: 0,
+					regionReason: ''
 				},
 				show: false,
 				columns: [],
@@ -168,12 +248,107 @@
 		}
 	}
 </script>
-
+<style>
+	page{
+		background-color: #F4F4F4;
+	}
+</style>
 <style scoped lang="scss">
 .page-box{
-	padding:0 30rpx;
+	padding-bottom: 140rpx;
+	.content-box{
+		margin:20rpx 32rpx;
+		background-color: white;
+		padding: 24rpx;
+		border-radius: 10rpx;
+	}
+	.form{
+		.form-item{
+			display: flex;
+			justify-content: flex-start;
+			align-items: center;
+			border-bottom: 2rpx solid #F1F1F1;
+			padding-bottom: 26rpx;
+			margin-bottom: 24rpx;
+			.form-label{
+				font-size: 30rpx;
+				color: #4A4E60;
+				width: 40%;
+			}
+			.input{
+				width: 60%;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+			}
+			.require{
+				&::after{
+					content: '*';
+					color: #FF7500;
+				}
+			}
+		
+		}
+		.down-2{
+			margin-bottom: 0;
+			padding-bottom: 0;
+			border: none;
+		}
+		.last{
+			margin-bottom: 0;
+			padding-bottom: 0;
+			border-bottom: none;
+			display: block;
+			.form-label{
+				margin-bottom: 16rpx;
+				
+			}
+			.back{
+				/deep/ .u-textarea{
+					background-color: #F4F4F4;
+					border: none;
+					.u-textarea__count{
+						background: none !important;
+					}
+				}
+			}
+		}
+		
+	}
 }
-/deep/ .u-picker__view{
-	
+.down-options{
+	background-color: white;
+	position: fixed;
+	bottom: 0;
+	padding-bottom: 40rpx;
+	width: 100%;
+	padding: 22rpx 30rpx 40rpx;
+	z-index: 1000;
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	box-sizing: border-box;
+	.record{
+		box-sizing: border-box;
+		border-radius: 20rpx;
+		border: 2rpx solid #ABD2FF;
+		background: #F0F8FF;
+		color: #1171E0;
+		font-size: 32rpx;
+		padding: 20rpx 30rpx;
+		width: 30%;
+		text-align: center;
+	}
+	.submit{
+		border-radius: 20rpx;
+		border: 2rpx solid #1171E0;
+		background-color: #1171E0;
+		color: white;
+		width: 65%;
+		box-sizing: border-box;
+		padding: 20rpx 30rpx;
+		text-align: center;
+	}
 }
+
 </style>
diff --git a/policy/policyIndex/policyIndex.scss b/policy/policyIndex/policyIndex.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/policy/policyIndex/policyIndex.scss
diff --git a/policy/policyIndex/policyIndex.vue b/policy/policyIndex/policyIndex.vue
index f7f0383..3c67b3f 100644
--- a/policy/policyIndex/policyIndex.vue
+++ b/policy/policyIndex/policyIndex.vue
@@ -1,19 +1,26 @@
 <template>
 	<view>
-		<u-button @click="applyPulicy">鎵ф硶鐢宠</u-button>
-		<u-button v-if="isJudge">鎵ф硶瀹℃壒</u-button>
-		<u-button>鎵ф硶缁撴灉涓婃姤</u-button>
-		<u-button>璁板綍鏌ヨ</u-button>
-		<u-button>鏁版嵁鐪嬫澘</u-button>
+		<policyIndexVue v-if="activeNumber == 0"></policyIndexVue>
+		<minePage v-if="activeNumber == 1"></minePage>
+		<tabsCom :activeNumber.sync="activeNumber"></tabsCom>
 	</view>
 </template>
 
 <script>
 	import {  getInfo } from '@/api/auth.js'
+	import tabsCom from '@/policy/components/tabs.vue'
+	import policyIndexVue from '@/policy/components/index.vue'
+	import minePage from '@/policy/components/mine.vue'
 	export default {
+		components: {
+			tabsCom,
+			policyIndexVue,
+			minePage
+		},
 		data() {
 			return {
-				isJudge: false
+				isJudge: false,
+				activeNumber: 1
 			}
 		},
 		onShow() {
@@ -34,7 +41,11 @@
 		}
 	}
 </script>
-
 <style>
-
+	page{
+		background-color: #F7F7F7;
+	}
+</style>
+<style scoped lang="scss">
+@import "./policyIndex.scss";
 </style>

--
Gitblit v1.9.1