From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新
---
pda/pages/index/login.vue | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 221 insertions(+), 0 deletions(-)
diff --git a/pda/pages/index/login.vue b/pda/pages/index/login.vue
new file mode 100644
index 0000000..e07389e
--- /dev/null
+++ b/pda/pages/index/login.vue
@@ -0,0 +1,221 @@
+<template>
+ <view class="login">
+ <image class="login_bg" src="@/static/login_bg@2x.png" />
+ <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
+ <view class="login_title" style="marginTop: 40rpx;">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
+ <view class="login_title" style="marginBottom: 60rpx;">鏁板瓧鍖栨湀鍙拌皟搴﹀钩鍙�</view>
+ <view class="login_list">
+ <view class="login_list_item">
+ <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
+ <input v-model="form.username" maxlength="18" placeholder="鎵嬫満鍙�" />
+ </view>
+ <view class="login_list_item">
+ <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
+ <input v-model="form.password" type="password" placeholder="瀵嗙爜" />
+ </view>
+ <!-- <view class="login_list_item">
+ <image src="@/static/ic_captcha.png" mode="widthFix"></image>
+ <input v-model="form.code" placeholder="楠岃瘉鐮�" type="text" />
+ <image
+ @click="initCaptcha"
+ :src="captcha.image"
+ class="captcha"
+ mode="widthFix"
+ />
+ </view> -->
+ </view>
+ <view class="login_btn">
+ <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
+ <!-- <view @click="$jump('/pages/staffLogin/forgetPsd')" class="for_psd"
+ >蹇樿瀵嗙爜</view
+ > -->
+ </view>
+ </view>
+</template>
+
+<script>
+import { loginPost, loginCaptcha, getUserInfo, getSystemDictData } from '@/api'
+import { mapState, mapMutations } from 'vuex'
+export default {
+ name: 'login',
+
+ data() {
+ return {
+ form: {
+ username: '',
+ password: '',
+ },
+ err: '',
+ isShowProtocol: false,
+ ProtocolFlag: false,
+ captcha: {},
+ htmlText: ''
+ }
+ },
+
+ onLoad() {
+ this.initCaptcha()
+ },
+
+ methods: {
+ ...mapMutations(["setToken", "setUserInfo"]),
+ changeFalg() {
+ this.ProtocolFlag = !this.ProtocolFlag
+ },
+ onLogin() {
+ const { form, ProtocolFlag } = this
+ if (!form.username) return uni.showToast({
+ title: '璐﹀彿涓嶈兘涓虹┖',
+ icon: 'none'
+ })
+ if (!form.password) return uni.showToast({
+ title: '瀵嗙爜涓嶈兘涓虹┖',
+ icon: 'none'
+ })
+ loginPost({
+ ...form,
+ code: 1,
+ uuid: this.captcha.uuid,
+ openId: this.$store.state.openId
+ }).then(res => {
+ if (res.code === 200) {
+ this.setToken(res.data)
+ getUserInfo().then(ress => {
+ this.setUserInfo(ress.data)
+ uni.redirectTo({
+ url: "/pages/index/index"
+ })
+ })
+ }
+ }, err => {
+ // this.err = JSON.stringify(err)
+ })
+ },
+ getContent() {
+ getSystemDictData({
+ dictCode: 'SYSTEM',
+ label: 'USER_PROTOCOL'
+ }).then(res => {
+ this.htmlText = res.data.code
+ this.isShowProtocol = true
+ })
+ },
+ showContent() {
+ this.getContent()
+ },
+ initCaptcha() {
+ loginCaptcha().then(res => {
+ this.captcha = res.data
+ })
+ },
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.login {
+ width: 100%;
+ display: flex;
+ padding-top: 100rpx;
+ box-sizing: border-box;
+ align-items: center;
+ flex-direction: column;
+ background: linear-gradient(
+ 180deg,
+ rgba(39, 155, 170, 0.2) 0%,
+ rgba(39, 155, 170, 0) 100%
+ );
+ .login_logo {
+ width: 180rpx;
+ height: 180rpx;
+ }
+ .login_bg {
+ position: absolute;
+ top: 0;
+ width: 750rpx;
+ }
+ .login_title {
+ font-size: 44rpx;
+ font-weight: 600;
+ color: #333333;
+ }
+ .login_list {
+ width: 100%;
+ padding: 0 60rpx;
+ box-sizing: border-box;
+ .login_list_item {
+ width: 100%;
+ border-radius: 50rpx;
+ height: 98rpx;
+ padding: 0 40rpx;
+ box-sizing: border-box;
+ background: #ffffff;
+ margin-bottom: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ image {
+ flex-shrink: 0;
+ width: 40rpx;
+ height: 40rpx;
+ }
+ .captcha {
+ width: 200rpx;
+ }
+ input {
+ flex: 1;
+ height: 100%;
+ color: #666666;
+ margin-left: 24rpx;
+ border: none;
+ }
+ }
+ }
+ .login_btn {
+ width: 100%;
+ padding: 0 60rpx;
+ box-sizing: border-box;
+ margin-top: 60rpx;
+ .login_btn_n {
+ width: 100%;
+ height: 98rpx;
+ background: $uni-color-primary;
+ box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #ffffff;
+ border-radius: 50rpx;
+ }
+ }
+ .deal_wrap {
+ position: absolute;
+ width: 100%;
+ left: 0;
+ text-align: center;
+ bottom: 108rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ .deal {
+ color: $uni-color-primary;
+ }
+ .checked{
+ width: 48rpx;
+ margin-right: 12rpx;
+ }
+ }
+}
+.modal {
+ width: 690rpx;
+ min-height: 920rpx;
+ max-height: 720px;
+ border-radius: 24rpx;
+ padding: 32rpx;
+}
+</style>
--
Gitblit v1.9.3