Commit a1d593aa by Administrator

Merge branch 'wq' into 'master'

Wq

See merge request !4
parents 7ee5a2cd 63391220
import { createRouter, createWebHistory } from 'vue-router'
import {
createRouter,
createWebHistory,
RouteLocationNormalized,
NavigationGuardNext,
} from 'vue-router'
import Login from '@/views/Login.vue'
import Reset from '@/views/Reset.vue'
......@@ -7,7 +12,7 @@ import Dashboard from '@/views/Dashboard.vue'
import Error from '@/views/error/404.vue'
import OrderList from '@/views/order/index.vue'
import ProductionComplete from '@/views/production/complete.vue'
import { getToken} from '@/api/axios'
import { getToken } from '@/api/axios'
import UserPage from '@/views/UserPage.vue'
import DeliveryNotePage from '@/views/DeliveryNotePage.vue'
import AccountStatementNote from '@/views/AccountStatementNote.vue'
......@@ -26,24 +31,24 @@ const router = createRouter({
},
{
path: '/order/list',
component: OrderList
component: OrderList,
},
{
path: '/production/complete',
component: ProductionComplete
component: ProductionComplete,
},
{
path: '/system/user',
component: UserPage
component: UserPage,
},
{
path: '/system/delivery-note',
component: DeliveryNotePage
component: DeliveryNotePage,
},
{
path: '/account/statement-note',
component: AccountStatementNote
}
component: AccountStatementNote,
},
],
},
// 登录
......@@ -62,12 +67,21 @@ const router = createRouter({
},
],
})
router.beforeEach((to, _from, next) => {
const token = getToken()
if (!token && to.path !== '/user/login') {
next({ path: '/user/login' })
return
}
next()
})
router.beforeEach(
(
to: RouteLocationNormalized,
_from: RouteLocationNormalized,
next: NavigationGuardNext,
) => {
const token = getToken()
if (to.query.factoryCode) {
localStorage.setItem('factory_code', String(to.query.factoryCode))
}
if (!token && to.path !== '/user/login') {
next({ path: '/user/login' })
return
}
next()
},
)
export default router
......@@ -15,17 +15,17 @@
<el-form-item prop="factoryCode">
<el-input
v-model="loginForm.factoryCode"
placeholder="请输入工厂"
placeholder="请输入工厂编码"
>
<template #prefix>
<el-icon class="el-input__icon"><User /></el-icon>
<el-icon class="el-input__icon"><Box /></el-icon>
</template>
</el-input>
</el-form-item>
<el-form-item prop="account">
<el-input v-model="loginForm.account" placeholder="请输入手机号">
<el-input v-model="loginForm.account" placeholder="请输入号">
<template #prefix>
<el-icon class="el-input__icon"><Iphone /></el-icon>
<el-icon class="el-input__icon"><User /></el-icon>
</template>
</el-input>
</el-form-item>
......@@ -69,8 +69,8 @@
</div>
</template>
<script setup lang="ts">
import { User, Iphone, Lock } from '@element-plus/icons-vue'
import { reactive, ref } from 'vue'
import { User, Box, Lock } from '@element-plus/icons-vue'
import { onMounted, reactive, ref } from 'vue'
import { LoginReq } from '@/types/api/auth'
import type { FormInstance, FormRules } from 'element-plus'
import useUserStore from '@/store/user'
......@@ -84,12 +84,15 @@ const loginForm = reactive<LoginReq>({
const loading = ref(false)
const rules = reactive<FormRules<LoginReq>>({
factoryCode: [{ required: true, message: '请输入工厂', trigger: 'blur' }],
account: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
factoryCode: [{ required: true, message: '请输入工厂编码', trigger: 'blur' }],
account: [{ required: true, message: '请输入号', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
})
const userStore = useUserStore()
onMounted(() => {
const saveCode: string | null = localStorage.getItem('factory_code')
loginForm.factoryCode = saveCode ?? ''
})
const handleLogin = async () => {
try {
await loginFormRef.value?.validate()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment