Merge branch 'dev' of https://gitea.dykj.co/sundongyu/dykj-college-back-office-management-system into dev
This commit is contained in:
commit
c888946994
20
package-lock.json
generated
20
package-lock.json
generated
|
@ -14,6 +14,7 @@
|
|||
"pinia": "^2.1.7",
|
||||
"tdesign-vue-next": "^1.9.3",
|
||||
"vite-plugin-mock": "^3.0.1",
|
||||
"vite-plugin-mock": "^3.0.1",
|
||||
"vue": "^3.4.21",
|
||||
"vue-router": "^4.3.0"
|
||||
},
|
||||
|
@ -1090,6 +1091,7 @@
|
|||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
|
||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
|
||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
|
||||
},
|
||||
"node_modules/@types/lodash": {
|
||||
"version": "4.14.182",
|
||||
|
@ -1101,6 +1103,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/mockjs/-/mockjs-1.0.10.tgz",
|
||||
"integrity": "sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g=="
|
||||
},
|
||||
"node_modules/@types/mockjs": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmmirror.com/@types/mockjs/-/mockjs-1.0.10.tgz",
|
||||
"integrity": "sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g=="
|
||||
},
|
||||
"node_modules/@types/sortablejs": {
|
||||
"version": "1.15.8",
|
||||
"resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz",
|
||||
|
@ -1339,6 +1346,18 @@
|
|||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
|
||||
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||
"dependencies": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
|
||||
|
@ -2083,6 +2102,7 @@
|
|||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.7",
|
||||
|
|
27
src/layout/components/LayoutAside.vue
Normal file
27
src/layout/components/LayoutAside.vue
Normal file
|
@ -0,0 +1,27 @@
|
|||
<template>
|
||||
<div class="box">
|
||||
<t-menu>
|
||||
<t-submenu value="1" title="财务票据管理">
|
||||
<template #icon>
|
||||
<t-icon name="application" />
|
||||
</template>
|
||||
<t-menu-item value="1-1" to="/Bill/BillStock">
|
||||
<span>菜单二</span>
|
||||
</t-menu-item>
|
||||
</t-submenu>
|
||||
</t-menu>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup></script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.t-demo-collapse-btn {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: #4b4b4b;
|
||||
border-color: transparent;
|
||||
--ripple-color: #383838;
|
||||
}
|
||||
}
|
||||
</style>
|
14
src/layout/components/LayoutContent.vue
Normal file
14
src/layout/components/LayoutContent.vue
Normal file
|
@ -0,0 +1,14 @@
|
|||
<template>
|
||||
<div>
|
||||
<t-layout>
|
||||
<t-content>
|
||||
<RouterView />
|
||||
</t-content>
|
||||
<t-footer>Footer</t-footer>
|
||||
</t-layout>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup></script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
58
src/layout/components/LayoutHeader.vue
Normal file
58
src/layout/components/LayoutHeader.vue
Normal file
|
@ -0,0 +1,58 @@
|
|||
<template>
|
||||
<div>
|
||||
<t-head-menu v-model="menu1Value" theme="light" @change="changeHandler">
|
||||
<template #logo>
|
||||
<img
|
||||
height="28"
|
||||
src="https://tdesign.gtimg.com/site/baseLogo-light.png"
|
||||
alt="logo"
|
||||
/>
|
||||
</template>
|
||||
<t-menu-item value="item1"> 菜单1 </t-menu-item>
|
||||
<t-menu-item value="item2"> 菜单2 </t-menu-item>
|
||||
<t-menu-item value="item4" :disabled="true"> 禁用菜单 </t-menu-item>
|
||||
<template #operations>
|
||||
<t-button variant="text" shape="square">
|
||||
<template #icon><t-icon name="search" /></template>
|
||||
</t-button>
|
||||
<t-button variant="text" shape="square">
|
||||
<template #icon><t-icon name="mail" /></template>
|
||||
</t-button>
|
||||
<t-button variant="text" shape="square">
|
||||
<template #icon><t-icon name="user" /></template>
|
||||
</t-button>
|
||||
<t-button variant="text" shape="square">
|
||||
<template #icon><t-icon name="ellipsis" /></template>
|
||||
</t-button>
|
||||
</template>
|
||||
</t-head-menu>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
|
||||
const menu1Value = ref('item2')
|
||||
|
||||
const changeHandler = active => {
|
||||
console.log('change', active)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.t-menu__operations {
|
||||
.t-button {
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
.t-demo-menu--dark {
|
||||
.t-button {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: #4b4b4b;
|
||||
border-color: transparent;
|
||||
--ripple-color: #383838;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,22 @@
|
|||
<template>
|
||||
<t-layout>
|
||||
<t-header>
|
||||
<LHeader />
|
||||
</t-header>
|
||||
<t-layout>
|
||||
<t-aside>
|
||||
<LAside />
|
||||
</t-aside>
|
||||
<t-content>
|
||||
<LContent />
|
||||
</t-content>
|
||||
</t-layout>
|
||||
</t-layout>
|
||||
</template>
|
||||
<script setup>
|
||||
import LHeader from "./components/LayoutHeader.vue";
|
||||
import LAside from "./components/LayoutAside.vue";
|
||||
import LContent from "./components/LayoutContent.vue";
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
55
src/pages/finance-bill-manage/billStock.vue
Normal file
55
src/pages/finance-bill-manage/billStock.vue
Normal file
|
@ -0,0 +1,55 @@
|
|||
<template>
|
||||
<div class="back-color">
|
||||
<div class="scarch-box">
|
||||
<t-form
|
||||
ref="form"
|
||||
:data="formData"
|
||||
label-width="calc(2em + 24px)"
|
||||
:layout="formData.layout"
|
||||
scroll-to-first-error="smooth"
|
||||
@reset="onReset"
|
||||
@submit="onSubmit"
|
||||
>
|
||||
<t-form-item label="名字" name="name">
|
||||
<t-input v-model="formData.name"></t-input>
|
||||
</t-form-item>
|
||||
|
||||
<t-form-item label="密码" name="password">
|
||||
<t-input v-model="formData.password" type="password"></t-input>
|
||||
</t-form-item>
|
||||
</t-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive } from "vue";
|
||||
import { MessagePlugin } from "tdesign-vue-next";
|
||||
|
||||
const formData = reactive({
|
||||
layout: "inline",
|
||||
name: "",
|
||||
password: "",
|
||||
});
|
||||
|
||||
const onReset = () => {
|
||||
MessagePlugin.success("重置成功");
|
||||
};
|
||||
|
||||
const onSubmit = ({ validateResult, firstError }) => {
|
||||
if (validateResult === true) {
|
||||
MessagePlugin.success("提交成功");
|
||||
} else {
|
||||
console.log("Validate Errors: ", firstError, validateResult);
|
||||
MessagePlugin.warning(firstError);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.scarch-box {
|
||||
width: 100%;
|
||||
height: 10%;
|
||||
background-color: @base-white-color;
|
||||
}
|
||||
</style>
|
|
@ -1,20 +1,33 @@
|
|||
import { createRouter, createWebHistory } from "vue-router";
|
||||
import HomeView from "@/pages/index.vue";
|
||||
import FinanceBillManage from "./modules/financeBillManage";
|
||||
import Login from "@/pages/login/index.vue";
|
||||
|
||||
import Layout from "@/layout/index.vue";
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [
|
||||
{
|
||||
path: "/",
|
||||
name: "home",
|
||||
component: HomeView,
|
||||
redirect: "/accounts",
|
||||
meta: { title: "应收款管理", name: "accounts" },
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: "/accounts",
|
||||
name: "Accounts",
|
||||
component: () => import("@/pages/index.vue"),
|
||||
meta: {
|
||||
title: "应收款管理",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: "/login",
|
||||
name: "login",
|
||||
component: Login,
|
||||
},
|
||||
...FinanceBillManage,
|
||||
],
|
||||
});
|
||||
|
||||
|
|
23
src/router/modules/financeBillManage.js
Normal file
23
src/router/modules/financeBillManage.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
import Layout from "@/layout/index.vue";
|
||||
import BillManage from "@/pages/finance-bill-manage/billStock.vue";
|
||||
|
||||
const financeBillManage = [
|
||||
{
|
||||
path: "/Bill",
|
||||
name: "bill",
|
||||
component: Layout,
|
||||
meta: { title: "票据管理", name: "resource" },
|
||||
children: [
|
||||
{
|
||||
path: "BillStock",
|
||||
name: "billStock",
|
||||
component: BillManage,
|
||||
meta: {
|
||||
title: "票据上传",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export default financeBillManage;
|
|
@ -186,7 +186,7 @@ pre {
|
|||
.back-color {
|
||||
background-color: #f5f7fb;
|
||||
padding: 16px 24px;
|
||||
height: calc(95vh - 64px);
|
||||
height: calc(100vh - 128px);
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user