diff --git a/RffernceResource.vue b/RffernceResource.vue
new file mode 100644
index 0000000..4944603
--- /dev/null
+++ b/RffernceResource.vue
@@ -0,0 +1,102 @@
+
+
+
+
+ 朴素按钮
+ 主要按钮
+ 成功按钮
+ 信息按钮
+ 警告按钮
+ 危险按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 打开嵌套表单的 Dialog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index 70ef578..dd721ec 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
},
"dependencies": {
"core-js": "^3.8.3",
+ "element-ui": "^2.15.14",
"vue": "^2.6.14",
"vue-router": "^3.5.1"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index af94ef8..029fbe2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
core-js:
specifier: ^3.8.3
version: 3.39.0
+ element-ui:
+ specifier: ^2.15.14
+ version: 2.15.14(vue@2.7.16)
vue:
specifier: ^2.6.14
version: 2.7.16
@@ -1081,6 +1084,9 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
+ async-validator@1.8.5:
+ resolution: {integrity: sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==}
+
async@2.6.4:
resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==}
@@ -1095,6 +1101,9 @@ packages:
peerDependencies:
postcss: ^8.1.0
+ babel-helper-vue-jsx-merge-props@2.0.3:
+ resolution: {integrity: sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==}
+
babel-loader@8.4.1:
resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==}
engines: {node: '>= 8.9'}
@@ -1120,6 +1129,9 @@ packages:
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-runtime@6.26.0:
+ resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==}
+
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -1499,6 +1511,10 @@ packages:
core-js-compat@3.39.0:
resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==}
+ core-js@2.6.12:
+ resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
+ deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
+
core-js@3.39.0:
resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==}
@@ -1721,6 +1737,11 @@ packages:
electron-to-chromium@1.5.71:
resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==}
+ element-ui@2.15.14:
+ resolution: {integrity: sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==}
+ peerDependencies:
+ vue: ^2.5.17
+
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2620,6 +2641,9 @@ packages:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
+ normalize-wheel@1.0.1:
+ resolution: {integrity: sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==}
+
npm-run-path@2.0.2:
resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
engines: {node: '>=4'}
@@ -3070,6 +3094,9 @@ packages:
regenerate@1.4.2:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ regenerator-runtime@0.11.1:
+ resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==}
+
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
@@ -3109,6 +3136,9 @@ packages:
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ resize-observer-polyfill@1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -3418,6 +3448,10 @@ packages:
peerDependencies:
webpack: ^4.27.0 || ^5.0.0
+ throttle-debounce@1.1.0:
+ resolution: {integrity: sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==}
+ engines: {node: '>=4'}
+
thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
@@ -5253,6 +5287,10 @@ snapshots:
astral-regex@2.0.0: {}
+ async-validator@1.8.5:
+ dependencies:
+ babel-runtime: 6.26.0
+
async@2.6.4:
dependencies:
lodash: 4.17.21
@@ -5269,6 +5307,8 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
+ babel-helper-vue-jsx-merge-props@2.0.3: {}
+
babel-loader@8.4.1(@babel/core@7.26.0)(webpack@5.97.1):
dependencies:
'@babel/core': 7.26.0
@@ -5306,6 +5346,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ babel-runtime@6.26.0:
+ dependencies:
+ core-js: 2.6.12
+ regenerator-runtime: 0.11.1
+
balanced-match@1.0.2: {}
base64-js@1.5.1: {}
@@ -5552,6 +5597,8 @@ snapshots:
dependencies:
browserslist: 4.24.2
+ core-js@2.6.12: {}
+
core-js@3.39.0: {}
core-util-is@1.0.3: {}
@@ -5779,6 +5826,16 @@ snapshots:
electron-to-chromium@1.5.71: {}
+ element-ui@2.15.14(vue@2.7.16):
+ dependencies:
+ async-validator: 1.8.5
+ babel-helper-vue-jsx-merge-props: 2.0.3
+ deepmerge: 1.5.2
+ normalize-wheel: 1.0.1
+ resize-observer-polyfill: 1.5.1
+ throttle-debounce: 1.1.0
+ vue: 2.7.16
+
emoji-regex@8.0.0: {}
emojis-list@3.0.0: {}
@@ -6664,6 +6721,8 @@ snapshots:
normalize-url@6.1.0: {}
+ normalize-wheel@1.0.1: {}
+
npm-run-path@2.0.2:
dependencies:
path-key: 2.0.1
@@ -7111,6 +7170,8 @@ snapshots:
regenerate@1.4.2: {}
+ regenerator-runtime@0.11.1: {}
+
regenerator-runtime@0.14.1: {}
regenerator-transform@0.15.2:
@@ -7150,6 +7211,8 @@ snapshots:
requires-port@1.0.0: {}
+ resize-observer-polyfill@1.5.1: {}
+
resolve-from@4.0.0: {}
resolve@1.22.8:
@@ -7491,6 +7554,8 @@ snapshots:
schema-utils: 3.3.0
webpack: 5.97.1
+ throttle-debounce@1.1.0: {}
+
thunky@1.1.0: {}
to-regex-range@5.0.1:
diff --git a/public/css/main.css b/public/css/main.css
new file mode 100644
index 0000000..f44fb96
--- /dev/null
+++ b/public/css/main.css
@@ -0,0 +1,51 @@
+html{
+ margin: 0;
+ padding: 0;
+ background-color: #fff;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+body{
+ margin: 0;
+ padding: 0;
+ height: 100%;;
+ width: 100%;
+}
+
+a{
+ text-decoration: none;
+}
+
+darkblue{
+ color: darkblue;
+}
+
+.header{
+ background-color: #1cf;
+ line-height: 100%;
+ color: #fff;
+}
+
+.el-menu-item i{
+ color: white;
+}
+.el-menu-item.is-active{
+ font-size: larger;
+}
+.aside{
+ height: 100%;
+}
+.container{
+ width: 100%;
+ height: 100%;
+}
+
+.H-full{
+ height: 100%;
+}
+.W-full{
+ width: 100%;
+}
+
diff --git a/public/index.html b/public/index.html
index 3e5a139..be0c59b 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,10 +1,11 @@
-
+
+
<%= htmlWebpackPlugin.options.title %>
@@ -14,4 +15,5 @@
+
diff --git a/src/App.vue b/src/App.vue
index 240acf4..c8ea8f5 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,32 +1,54 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/main.js b/src/main.js
index 659607d..1dc6286 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,6 +1,11 @@
import Vue from 'vue'
import App from './App.vue'
import router from './router'
+//引入element-ui
+import ElementUI from 'element-ui';
+import 'element-ui/lib/theme-chalk/index.css';
+//在vue中启用element-ui
+Vue.use(ElementUI);
Vue.config.productionTip = false
diff --git a/src/router/index.js b/src/router/index.js
index c937ad9..ef9b6f8 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,22 +1,19 @@
import Vue from 'vue'
import VueRouter from 'vue-router'
-import HomeView from '../views/HomeView.vue'
+
Vue.use(VueRouter)
const routes = [
{
path: '/',
- name: 'home',
- component: HomeView
+ name: 'root',
+ component: () => import('../App.vue')
},
{
- path: '/about',
- name: 'about',
- // route level code-splitting
- // this generates a separate chunk (about.[hash].js) for this route
- // which is lazy-loaded when the route is visited.
- component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
+ path: '/course',
+ name: 'course',
+ component: () => import('../views/course/CourseList.vue')
}
]
diff --git a/src/views/course/CourseList.vue b/src/views/course/CourseList.vue
new file mode 100644
index 0000000..fa9cc52
--- /dev/null
+++ b/src/views/course/CourseList.vue
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 清除
+
+
+ 添加
+
+
+
+
+
+
+
+
+ {{ courseTypes[scope.row.type - 1] }}
+
+
+
+
+
+
+ {{ courseMajors[scope.row.major - 1] }}
+
+
+
+
+
+
+
{{ scope.row.detail }}
+
没有备注信息
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 910e297..2a6d071 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,4 +1,7 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
- transpileDependencies: true
+ transpileDependencies: true,
+ devServer:{
+ port: 7000
+ }
})