From 7b410583795efd27548439021af4cb08ae648681 Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 18:10:52 +0800
Subject: [PATCH 1/8] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E7=95=8C?=
=?UTF-8?q?=E9=9D=A2=E5=BA=95=E9=83=A8=E4=B8=AD=E9=97=B4=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=80=A7=E9=97=AE=E9=A2=98,axios=E5=AE=9E?=
=?UTF-8?q?=E4=BE=8B=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D,=E7=9F=AD?=
=?UTF-8?q?=E4=BF=A1=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/http/axios/index.ts | 2 +-
src/views/login/components/Login.vue | 22 ++-
src/views/login/index.vue | 194 +++++++++++++--------------
3 files changed, 113 insertions(+), 105 deletions(-)
diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts
index 3fe822c..ecdfd9e 100644
--- a/src/utils/http/axios/index.ts
+++ b/src/utils/http/axios/index.ts
@@ -201,7 +201,7 @@ const transform: AxiosTransform = {
// eslint-disable-next-line ts/no-use-before-define
const instance = http.getAxios()
const config = response.config
- const whitelist = ['/api/captcha/captchatoken', '/api/captcha/captchaImage', '/api/backstage/adminlogin', '/api/oauthweb/token']
+ const whitelist = ['/api/captcha/captchatoken', '/api/captcha/captchaImage', '/api/backstage/adminlogin', '/api/oauthweb/token','/api/web/smslogin/login']
const expirationTime = storage.get(TOKEN_EXPIRATION_TIME)
// console.log('剩余失效时间(分):', (expirationTime - Date.now()) / 1000 / 60, config.url)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 99a1097..afdec29 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -54,7 +54,23 @@ const rules = {
enterprisecode: { required: true, message: "请输入企业编码", trigger: "blur" },
agentcode: { required: true, message: "请输入企业编码", trigger: "blur" },
phone: { required: true, message: "请输入手机号", trigger: "blur" },
- phonecode: { required: true, message: "请输入验证码", trigger: "blur" },
+ phonecode: [
+ { required: true, message: "请输入验证码", trigger: "blur" },
+ {
+ trigger: ["blur"],
+ level: "error",
+ validator(_rule, value) {
+ if (value.length < 4 && value.length > 0) {
+ return new Error("请正确填写4位手机短信验证码");
+ }
+ if (loginSuccess.value) {
+ return true;
+ } else {
+ return new Error("验证码错误");
+ }
+ },
+ },
+ ],
username: { required: true, message: "请输入用户名", trigger: "blur" },
password: { required: true, message: "请输入密码", trigger: "blur" },
captcha: { required: true, message: "请输入验证码", trigger: "blur" },
@@ -114,6 +130,7 @@ function handleSmsSubmit(e) {
});
const { code, message: msg } = res;
if (code === ResultEnum.SUCCESS) {
+ loginSuccess.value = true;
// const { code, message: msg } = await userStore.login(params)
await userStore.getInformation();
@@ -125,7 +142,10 @@ function handleSmsSubmit(e) {
} else {
message.destroyAll();
message.info(msg || "登录失败");
+ loginSuccess.value = false;
}
+ }
+ catch(e){
} finally {
loading.value = false;
}
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index a71842c..f351a77 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,18 +1,18 @@
@@ -20,87 +20,59 @@ function close() {
-

+
-
- Task approval
+

+

+

+

+
+
Task approval
-
- 企业级 SaaS 智能审批解决方案
-
-

-
+
企业级 SaaS 智能审批解决方案
+

+
立即登录 ->
-

-
- AI一键查重
-
-
- 一键查重,生成任务包
-
+

+
AI一键查重
+
一键查重,生成任务包
-

-
- AI工单管理
-
-
- 智能批量辨识真假,假图快速审批
-
+

+
AI工单管理
+
智能批量辨识真假,假图快速审批
-

-
- AI快速审批
-
-
- 智能图片比对,批量审批,一键确认
-
+

+
AI快速审批
+
智能图片比对,批量审批,一键确认
-

-
- OCR
-
-
- 图片自动识别、文档图片版面解析
-
+

+
OCR
+
图片自动识别、文档图片版面解析
-

-
- 更多功能
-
-
- 探索更多功能
-
+

+
更多功能
+
探索更多功能
-
+
@@ -111,54 +83,54 @@ function close() {
From 58eca990abc21a4764af74c28c727d8c22f043a8 Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 18:13:42 +0800
Subject: [PATCH 2/8] =?UTF-8?q?feat:=20=E9=80=BB=E8=BE=91=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index afdec29..a9896bd 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -42,6 +42,7 @@ const formInline: FormState = reactive({
username: '',
password: '',
});
+const loginSuccess = ref(true);
const formSms: FormSms = reactive({
agentcode: "",
From 547314a591a0aa532907c9fde26d96c63108f1da Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 18:19:21 +0800
Subject: [PATCH 3/8] =?UTF-8?q?feat:=20=E6=A0=B7=E5=BC=8F=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index a9896bd..3cd6c6b 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -423,6 +423,7 @@ function forget() {
color: #666666;
line-height: 33px;
margin-right: 24px;
+ cursor: pointer;
&-active {
width: 96px;
@@ -496,6 +497,7 @@ function forget() {
font-weight: Regular;
color: #507afd;
margin-left: 12px;
+ cursor: pointer;
&-count {
font-size: 14px;
From 97bd8a6fe21f5befaa8d60bda5f2aec1e88d8aef Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 20:21:43 +0800
Subject: [PATCH 4/8] =?UTF-8?q?feat:=20=E5=85=A8=E5=B1=80=E7=AD=9B?=
=?UTF-8?q?=E9=80=89=E5=BC=B9=E6=A1=86=E6=A0=B7=E5=BC=8F=E9=80=82=E9=85=8D?=
=?UTF-8?q?=EF=BC=8C=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91=E4=BF=AE=E8=A1=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/icons/switchsvg.svg | 15 +-
src/utils/http/axios/index.ts | 4 +-
src/views/final/comp/CustomFilterModalVue.vue | 315 ++++++++++--------
src/views/final/comp/CustomTabelModal.vue | 6 +
.../aside/comp/modals/CustomFilterModal.vue | 9 +-
src/views/login/components/Login.vue | 45 ++-
src/views/task/modal/CustomFieldModal.vue | 6 +
.../worksheet/modal/CustomFieldModal copy.vue | 6 +
.../worksheet/modal/CustomFieldModal.vue | 6 +
9 files changed, 258 insertions(+), 154 deletions(-)
diff --git a/src/assets/icons/switchsvg.svg b/src/assets/icons/switchsvg.svg
index 4bfdb2d..29226df 100644
--- a/src/assets/icons/switchsvg.svg
+++ b/src/assets/icons/switchsvg.svg
@@ -1 +1,14 @@
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts
index ecdfd9e..dc087ee 100644
--- a/src/utils/http/axios/index.ts
+++ b/src/utils/http/axios/index.ts
@@ -201,7 +201,7 @@ const transform: AxiosTransform = {
// eslint-disable-next-line ts/no-use-before-define
const instance = http.getAxios()
const config = response.config
- const whitelist = ['/api/captcha/captchatoken', '/api/captcha/captchaImage', '/api/backstage/adminlogin', '/api/oauthweb/token','/api/web/smslogin/login']
+ const whitelist = ['/api/captcha/captchatoken', '/api/captcha/captchaImage', '/api/backstage/adminlogin', '/api/oauthweb/token','/api/web/smslogin/login','/api/web/smslogin/sendcode']
const expirationTime = storage.get(TOKEN_EXPIRATION_TIME)
// console.log('剩余失效时间(分):', (expirationTime - Date.now()) / 1000 / 60, config.url)
@@ -264,7 +264,7 @@ const transform: AxiosTransform = {
if (err && err.includes('Network Error')) {
$dialog.info({
title: '网络异常',
- content: '请检查您的网络连接是否正常',
+ content: '网络错误,请重试!',
positiveText: '确定',
// negativeText: '取消',
closable: false,
diff --git a/src/views/final/comp/CustomFilterModalVue.vue b/src/views/final/comp/CustomFilterModalVue.vue
index 4539cbc..04536db 100644
--- a/src/views/final/comp/CustomFilterModalVue.vue
+++ b/src/views/final/comp/CustomFilterModalVue.vue
@@ -1,249 +1,249 @@
-
+
自定义筛选
@@ -255,7 +255,10 @@ const rightInputHandler = debounce((keyword) => {
@@ -264,17 +267,28 @@ const rightInputHandler = debounce((keyword) => {
-
+
-
+
@@ -283,12 +297,15 @@ const rightInputHandler = debounce((keyword) => {
-
+
@@ -300,17 +317,33 @@ const rightInputHandler = debounce((keyword) => {
-
-
+
+
{{ item.name }}
@@ -322,10 +355,8 @@ const rightInputHandler = debounce((keyword) => {
@@ -360,7 +391,7 @@ const rightInputHandler = debounce((keyword) => {
position: relative;
&:before {
- background-color: #1980FF;
+ background-color: #1980ff;
content: "";
width: 5px;
border-radius: 2px;
@@ -385,7 +416,7 @@ const rightInputHandler = debounce((keyword) => {
.textbtnStyle {
cursor: pointer;
- color: #1980FF;
+ color: #1980ff;
}
.draggable-ul {
@@ -412,6 +443,12 @@ const rightInputHandler = debounce((keyword) => {
::v-deep(.n-card > .n-card-header) {
--n-padding-top: 0px;
- --n-padding-bottom: 12px
+ --n-padding-bottom: 12px;
+}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
}
diff --git a/src/views/final/comp/CustomTabelModal.vue b/src/views/final/comp/CustomTabelModal.vue
index d0d6a8b..670b393 100644
--- a/src/views/final/comp/CustomTabelModal.vue
+++ b/src/views/final/comp/CustomTabelModal.vue
@@ -561,4 +561,10 @@ function removeHandler(id: string, type: "fix" | "unfix") {
--n-padding-top: 0px;
--n-padding-bottom: 12px;
}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
+}
diff --git a/src/views/home/aside/comp/modals/CustomFilterModal.vue b/src/views/home/aside/comp/modals/CustomFilterModal.vue
index 5d89737..1fd4558 100644
--- a/src/views/home/aside/comp/modals/CustomFilterModal.vue
+++ b/src/views/home/aside/comp/modals/CustomFilterModal.vue
@@ -433,6 +433,13 @@ onMounted(()=>{
::v-deep(.n-card > .n-card-header) {
--n-padding-top: 0px;
- --n-padding-bottom: 12px
+ --n-padding-bottom: 12px;
}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
+}
+
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 3cd6c6b..6c7144d 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -52,7 +52,17 @@ const formSms: FormSms = reactive({
const tab = ref(0);
const countTime = ref("获取验证码");
const rules = {
- enterprisecode: { required: true, message: "请输入企业编码", trigger: "blur" },
+ enterprisecode: [{ required: true, message: "请输入企业编码", trigger: "blur" },{
+ trigger: ["blur"],
+ level: "error",
+ validator(_rule, value) {
+ if (loginSuccess.value) {
+ return true;
+ } else {
+ return new Error(loginRejectMessge.value);
+ }
+ },
+ },],
agentcode: { required: true, message: "请输入企业编码", trigger: "blur" },
phone: { required: true, message: "请输入手机号", trigger: "blur" },
phonecode: [
@@ -84,7 +94,6 @@ function handleSubmit(e) {
const { username, password, enterprisecode } = formInline;
message.loading("登录中...");
loading.value = true;
-
const params = {
username,
password,
@@ -94,15 +103,17 @@ function handleSubmit(e) {
try {
const { code, message: msg } = await userStore.login(params);
+ loginRejectMessge.value = msg;
if (code === ResultEnum.SUCCESS) {
+ loginSuccess.value = true;
await userStore.getInformation();
message.destroyAll();
-
const toPath = decodeURIComponent((route.query?.redirect || "/") as string);
message.success("登录成功,即将进入系统");
if (route.name === LOGIN_NAME) router.replace("/");
else router.replace(toPath);
} else {
+ loginSuccess.value = false;
message.destroyAll();
message.info(msg || "登录失败");
}
@@ -145,8 +156,7 @@ function handleSmsSubmit(e) {
message.info(msg || "登录失败");
loginSuccess.value = false;
}
- }
- catch(e){
+ } catch (e) {
} finally {
loading.value = false;
}
@@ -167,18 +177,23 @@ function switchTab(type: number) {
}
function computedForm() {
- return !formInline.enterprisecode || !formInline.username || !formInline.password;
+ if (tab.value == 0) {
+ return !formInline.enterprisecode || !formInline.username || !formInline.password;
+ }
+ if (tab.value == 1) {
+ return !formSms.agentcode || !formSms.phone || !formSms.phonecode;
+ }
}
async function sendCode(value) {
- if (!formSms.phonecode) return;
+ if (!formSms.phone) return;
if (!flag.value) return;
flag.value = false;
const res = await getCode({
phone: formSms.phone,
- agentcode: "",
+ agentcode: formSms.agentcode,
});
startCount();
}
@@ -236,6 +251,7 @@ function forget() {
v-model:value="formInline.enterprisecode"
class="item-input"
placeholder="请输入企业编码"
+ maxlength="20"
>
@@ -247,6 +263,7 @@ function forget() {
v-model:value="formInline.username"
class="item-input"
placeholder="请输入用户名"
+ maxlength="16"
>
@@ -260,6 +277,7 @@ function forget() {
type="password"
show-password-on="click"
placeholder="请输入密码"
+ maxlength="16"
>
@@ -275,6 +293,7 @@ function forget() {
:loading="loading"
block
@click="handleSubmit"
+ :disabled="computedForm()"
>
登录
@@ -287,7 +306,7 @@ function forget() {
@@ -346,7 +365,10 @@ function forget() {
@@ -364,6 +386,7 @@ function forget() {
:loading="loading"
block
@click="handleSmsSubmit"
+ :disabled="computedForm()"
>
登录
@@ -376,7 +399,7 @@ function forget() {
diff --git a/src/views/task/modal/CustomFieldModal.vue b/src/views/task/modal/CustomFieldModal.vue
index 6b09747..2b4635c 100644
--- a/src/views/task/modal/CustomFieldModal.vue
+++ b/src/views/task/modal/CustomFieldModal.vue
@@ -497,4 +497,10 @@ onMounted(async () => {
--n-padding-top: 0px;
--n-padding-bottom: 12px;
}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
+}
diff --git a/src/views/worksheet/modal/CustomFieldModal copy.vue b/src/views/worksheet/modal/CustomFieldModal copy.vue
index 4a5ba29..635b7b5 100644
--- a/src/views/worksheet/modal/CustomFieldModal copy.vue
+++ b/src/views/worksheet/modal/CustomFieldModal copy.vue
@@ -483,4 +483,10 @@ onMounted(async () => {
--n-padding-top: 0px;
--n-padding-bottom: 12px;
}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
+}
diff --git a/src/views/worksheet/modal/CustomFieldModal.vue b/src/views/worksheet/modal/CustomFieldModal.vue
index bd8ad51..fb45c8a 100644
--- a/src/views/worksheet/modal/CustomFieldModal.vue
+++ b/src/views/worksheet/modal/CustomFieldModal.vue
@@ -497,4 +497,10 @@ onMounted(async () => {
--n-padding-top: 0px;
--n-padding-bottom: 12px;
}
+::v-deep(.n-card > .n-card-header .n-card-header__main){
+ font-weight: bolder !important;
+}
+::v-deep(.n-scrollbar){
+ border-top: none !important;
+}
From 29e6a1792a36273fe5a65a6332c13b250f83e3d2 Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 20:22:28 +0800
Subject: [PATCH 5/8] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=A8=E7=99=BB?=
=?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 6c7144d..4665ad1 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -33,16 +33,18 @@ const router = useRouter();
const route = useRoute();
const show = ref(false);
const flag = ref(true);
+const loginSuccess = ref(true);
+const loginRejectMessge = ref('');
const formInline: FormState = reactive({
- // enterprisecode: "演示公司",
- // username: "yanshi01",
- // password: "123456",
- enterprisecode: '',
- username: '',
- password: '',
+ enterprisecode: "演示公司",
+ username: "yanshi01",
+ password: "123456",
+
+ // enterprisecode: "",
+ // username: "",
+ // password: ""
});
-const loginSuccess = ref(true);
const formSms: FormSms = reactive({
agentcode: "",
From 2c6d4f15eed451ba849634bcdf4cbe7d4bfb239b Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 20:23:15 +0800
Subject: [PATCH 6/8] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E8=B4=A6=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 4665ad1..4bdb590 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -37,13 +37,12 @@ const loginSuccess = ref(true);
const loginRejectMessge = ref('');
const formInline: FormState = reactive({
- enterprisecode: "演示公司",
- username: "yanshi01",
- password: "123456",
-
- // enterprisecode: "",
- // username: "",
- // password: ""
+ // enterprisecode: "演示公司",
+ // username: "yanshi01",
+ // password: "123456",
+ enterprisecode: "",
+ username: "",
+ password: ""
});
const formSms: FormSms = reactive({
From e0f732a531baa61549210e1dbb376530aef434f7 Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 20:24:11 +0800
Subject: [PATCH 7/8] =?UTF-8?q?feat:=20=E8=AE=B0=E4=BD=8F=E8=B4=A6?=
=?UTF-8?q?=E5=8F=B7=E5=BA=94=E9=BB=98=E8=AE=A4=E5=8F=96=E6=B6=88=E5=8B=BE?=
=?UTF-8?q?=E9=80=89=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 2 +-
src/views/login/index1.vue | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 4665ad1..82684c7 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -26,7 +26,7 @@ const formRef = ref();
const formRefSms = ref();
const message = useMessage();
const loading = ref(false);
-const autoLogin = ref(true);
+const autoLogin = ref(false);
const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME;
const userStore = useUserStore();
const router = useRouter();
diff --git a/src/views/login/index1.vue b/src/views/login/index1.vue
index d9d7786..96b6a97 100644
--- a/src/views/login/index1.vue
+++ b/src/views/login/index1.vue
@@ -17,7 +17,7 @@ interface FormState {
const formRef = ref()
const message = useMessage()
const loading = ref(false)
-const autoLogin = ref(true)
+const autoLogin = ref(false)
const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME
const userStore = useUserStore()
const router = useRouter()
@@ -127,7 +127,7 @@ function handleSubmit(e) {
-
+
记住账号
@@ -162,7 +162,7 @@ function handleSubmit(e) {
-
+
记住账号
From 54e3296fc658af80e4288b11cf6bb10c754f5b01 Mon Sep 17 00:00:00 2001
From: liushilong <2224574157@qq.com>
Date: Fri, 22 Mar 2024 20:40:21 +0800
Subject: [PATCH 8/8] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/login/components/Login.vue | 94 +++++++++++++++++++++++-----
1 file changed, 77 insertions(+), 17 deletions(-)
diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue
index 82684c7..dc77039 100644
--- a/src/views/login/components/Login.vue
+++ b/src/views/login/components/Login.vue
@@ -1,5 +1,5 @@