Merge branch 'dev' of https://gitea.dykj.co/sundongyu/dykj-college-back-office-management-system into dev
This commit is contained in:
commit
9aa7386b7e
|
@ -2,7 +2,7 @@ import request from "@/utils/request";
|
||||||
// 统一管理接口
|
// 统一管理接口
|
||||||
const API = {
|
const API = {
|
||||||
LOGIN_URL: "/api/user",
|
LOGIN_URL: "/api/user",
|
||||||
udaiu: "/user",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const reqUser = () => request.get(API.LOGIN_URL);
|
export const reqUser = () => request.get(API.LOGIN_URL);
|
||||||
export const reqUserone = (data) => request.post(API.LOGIN_URL, data);
|
export const reqUserone = (data) => request.post(API.LOGIN_URL, data);
|
|
@ -14,7 +14,7 @@
|
||||||
>
|
>
|
||||||
<h2 class="login-title">登录</h2>
|
<h2 class="login-title">登录</h2>
|
||||||
|
|
||||||
<t-form-item name="account">
|
<t-form-item label="账号" name="account">
|
||||||
<t-input
|
<t-input
|
||||||
clearable
|
clearable
|
||||||
v-model="formData.account"
|
v-model="formData.account"
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
<desktop-icon slot:string="prefix-icon"></desktop-icon>
|
<desktop-icon slot:string="prefix-icon"></desktop-icon>
|
||||||
</t-input>
|
</t-input>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item name="password">
|
<t-form-item label="密码" name="password">
|
||||||
<t-input
|
<t-input
|
||||||
type="password"
|
type="password"
|
||||||
clearable
|
clearable
|
||||||
|
@ -35,6 +35,8 @@
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item>
|
<t-form-item>
|
||||||
<t-button theme="primary" type="submit" block>登录</t-button>
|
<t-button theme="primary" type="submit" block>登录</t-button>
|
||||||
|
|
||||||
|
<button @click.prevent="showForgotPasswordModal">忘记密码</button>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
</t-form>
|
</t-form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -45,8 +47,10 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { MessagePlugin } from "tdesign-vue-next";
|
import { MessagePlugin } from "tdesign-vue-next";
|
||||||
import { reactive, ref } from "vue";
|
import { reactive, ref, onMounted } from "vue";
|
||||||
import { reqUser } from "@/api/login";
|
import { reqUser } from "@/api/login";
|
||||||
|
import router from "@/router";
|
||||||
|
// import { TForm, TFormItem, TInput, TButton } from "tdesign-vue-next";
|
||||||
// import { DesktopIcon, LockOnIcon } from "tdesign-icons-vue";
|
// import { DesktopIcon, LockOnIcon } from "tdesign-icons-vue";
|
||||||
|
|
||||||
const INITIAL_DATA = {
|
const INITIAL_DATA = {
|
||||||
|
@ -90,21 +94,49 @@ const rules = reactive({
|
||||||
});
|
});
|
||||||
|
|
||||||
const onReset = () => {
|
const onReset = () => {
|
||||||
|
// 清空表单数据
|
||||||
|
formData.account = "";
|
||||||
|
formData.password = "";
|
||||||
MessagePlugin.success("重置成功");
|
MessagePlugin.success("重置成功");
|
||||||
};
|
};
|
||||||
const onSubmit = async ({ validateResult, firstError }) => {
|
// const onSubmit = () => {
|
||||||
|
// this.$refs.form.validateResult((valid,errors) => {
|
||||||
|
// console.log(valid);
|
||||||
|
// if (valid) {
|
||||||
|
// MessagePlugin.success("提交成功");
|
||||||
|
// } else {
|
||||||
|
// MessagePlugin.error("提交失败");
|
||||||
|
// console.log("Errors: ", errors);
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// };
|
||||||
|
|
||||||
|
const onSubmit = async () => {
|
||||||
|
try {
|
||||||
|
const validateResult = await this.$refs.form.validate();
|
||||||
|
if (validateResult.result) {
|
||||||
await reqUser();
|
await reqUser();
|
||||||
if (validateResult === true) {
|
|
||||||
MessagePlugin.success("提交成功");
|
MessagePlugin.success("提交成功");
|
||||||
|
await router.push("/");
|
||||||
} else {
|
} else {
|
||||||
console.log("Errors: ", validateResult);
|
const firstError = validateResult.errors[0]?.message || "未知错误";
|
||||||
|
console.log("Errors: ", validateResult.errors);
|
||||||
MessagePlugin.warning(firstError);
|
MessagePlugin.warning(firstError);
|
||||||
}
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("请求失败:", error);
|
||||||
|
MessagePlugin.error("提交失败");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const Login = async () => {
|
// const Login = async () => {
|
||||||
await reqLogin();
|
// await reqUser();
|
||||||
};
|
// };
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
reqUser();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
45
src/pages/students/student.vue
Normal file
45
src/pages/students/student.vue
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
students
|
||||||
|
<t-space direction="vertical">
|
||||||
|
<!-- 按钮操作区域 -->
|
||||||
|
<div>
|
||||||
|
<t-radio-group v-model="size" variant="default-filled">
|
||||||
|
<t-radio-button value="small">小尺寸</t-radio-button>
|
||||||
|
<t-radio-button value="medium">中尺寸</t-radio-button>
|
||||||
|
<t-radio-button value="large">大尺寸</t-radio-button>
|
||||||
|
</t-radio-group>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<t-space>
|
||||||
|
<t-checkbox v-model="stripe">显示斑马纹</t-checkbox>
|
||||||
|
<t-checkbox v-model="bordered">显示表格边框</t-checkbox>
|
||||||
|
<t-checkbox v-model="hover">显示悬浮效果</t-checkbox>
|
||||||
|
<t-checkbox v-model="tableLayout">宽度自适应</t-checkbox>
|
||||||
|
<t-checkbox v-model="showHeader">显示表头</t-checkbox>
|
||||||
|
</t-space>
|
||||||
|
|
||||||
|
<!-- 当数据为空需要占位时,会显示 cellEmptyContent -->
|
||||||
|
<t-table
|
||||||
|
rowKey="index"
|
||||||
|
:data="data"
|
||||||
|
:columns="columns"
|
||||||
|
:stripe="stripe"
|
||||||
|
:bordered="bordered"
|
||||||
|
:hover="hover"
|
||||||
|
:size="size"
|
||||||
|
:table-layout="tableLayout ? 'auto' : 'fixed'"
|
||||||
|
:pagination="pagination"
|
||||||
|
:showHeader="showHeader"
|
||||||
|
cellEmptyContent="-"
|
||||||
|
resizable
|
||||||
|
></t-table>
|
||||||
|
</t-space>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
</style>
|
|
@ -2,6 +2,7 @@ import { createRouter, createWebHistory } from "vue-router";
|
||||||
import FinanceBillManage from "./modules/financeBillManage";
|
import FinanceBillManage from "./modules/financeBillManage";
|
||||||
import ReceivablesManagement from "./modules/receivables-management";
|
import ReceivablesManagement from "./modules/receivables-management";
|
||||||
import Login from "@/pages/login/index.vue";
|
import Login from "@/pages/login/index.vue";
|
||||||
|
import Student from "@/pages/students/student.vue";
|
||||||
|
|
||||||
import Layout from "@/layout/index.vue";
|
import Layout from "@/layout/index.vue";
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
|
@ -13,6 +14,11 @@ const router = createRouter({
|
||||||
name: "login",
|
name: "login",
|
||||||
component: Login,
|
component: Login,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/student",
|
||||||
|
name: "student",
|
||||||
|
component: Student,
|
||||||
|
},
|
||||||
...FinanceBillManage,
|
...FinanceBillManage,
|
||||||
...ReceivablesManagement
|
...ReceivablesManagement
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue
Block a user