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