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