diff --git a/package-lock.json b/package-lock.json index f350584..dcee048 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,8 @@ "core-js": "^3.8.3", "echarts": "^5.5.1", "element-plus": "^2.8.3", + "marked": "^15.0.6", + "openai": "^4.83.0", "sass": "^1.79.2", "sass-loader": "^16.0.1", "svg-sprite-loader": "^6.0.11", @@ -2378,11 +2380,19 @@ "version": "22.5.5", "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.5.5.tgz", "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", - "devOptional": true, "dependencies": { "undici-types": "~6.19.2" } }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmmirror.com/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz", @@ -3372,6 +3382,17 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "devOptional": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", @@ -3427,6 +3448,17 @@ "node": ">= 10.0.0" } }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", @@ -5969,6 +6001,14 @@ "node": ">=4.0.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -6352,6 +6392,23 @@ "node": ">= 6" } }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", @@ -7074,6 +7131,14 @@ "node": ">=10.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -8164,6 +8229,17 @@ "node": ">=0.10.0" } }, + "node_modules/marked": { + "version": "15.0.6", + "resolved": "https://registry.npmmirror.com/marked/-/marked-15.0.6.tgz", + "integrity": "sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", @@ -8485,8 +8561,7 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -8615,11 +8690,28 @@ "tslib": "^2.0.3" } }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -8911,6 +9003,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openai": { + "version": "4.83.0", + "resolved": "https://registry.npmmirror.com/openai/-/openai-4.83.0.tgz", + "integrity": "sha512-fmTsqud0uTtRKsPC7L8Lu55dkaTwYucqncDHzVvO64DKOpNTuiYwjbR/nVgpapXuYy8xSnhQQPUm+3jQaxICgw==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "ws": "^8.18.0", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "ws": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.75", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.19.75.tgz", + "integrity": "sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openai/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz", @@ -12034,8 +12168,7 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/traverse": { "version": "0.6.10", @@ -12186,8 +12319,7 @@ "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "devOptional": true + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", @@ -12635,11 +12767,18 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmmirror.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { "version": "5.94.0", @@ -12734,6 +12873,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/webpack-chain": { "version": "6.5.1", "resolved": "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-6.5.1.tgz", @@ -12936,27 +13096,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -13037,7 +13176,6 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -13151,16 +13289,16 @@ "dev": true }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "devOptional": true, "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { diff --git a/package.json b/package.json index 230efe3..58b9e1d 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,8 @@ "core-js": "^3.8.3", "echarts": "^5.5.1", "element-plus": "^2.8.3", + "marked": "^15.0.6", + "openai": "^4.83.0", "sass": "^1.79.2", "sass-loader": "^16.0.1", "svg-sprite-loader": "^6.0.11", diff --git a/src/main.js b/src/main.js index 56c3821..d6321d3 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,4 @@ -import { createApp } from 'vue' +import {createApp, ref} from 'vue' import App from './App.vue' import router from './router' import store from './store' @@ -14,4 +14,18 @@ axios.defaults.withCredentials=true // 意思是携带cookie信息,保持session的一致性 -createApp(App).use(store).use(router).use(ElementPlus).use(SvgIcon).mount('#app'); + +const editableTabs = ref([ + { + title: '首页', + name: 'home' + } +]) +const editableTabsValue = ref('') + +// 挂载到全局属性 + +const app=createApp(App); +app.config.globalProperties.$editableTabs = editableTabs; +app.config.globalProperties.$editableTabsValue = editableTabsValue; +app.use(store).use(router).use(ElementPlus).use(SvgIcon).mount('#app'); diff --git a/src/router/index.js b/src/router/index.js index a4eaf56..a998af0 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -75,6 +75,21 @@ const routes = [ name: '审核美甲师', component: () => import('../views/employee/verify/index.vue'), }, + { + path: '/nocontractemployee', + name: '未签约美甲师', + component: () => import('../views/employee/NoContract/index.vue'), + }, + { + path: '/ai', + name: 'AI', + component: () => import('../views/AI/index.vue'), + }, + { + path: '/contractemployee', + name: '签约美甲师', + component: () => import('../views/employee/contract/index.vue'), + }, { path: '/qiangdan', name: '抢单', @@ -91,8 +106,13 @@ const routes = [ component: () => import('../views/order/index') }, { - path: '/orderReservation', + path: '/userReservation', name: '上门预约', + component: () => import('../views/order/useRreservation/index.vue') + }, + { + path: '/orderReservation', + name: '个人预约详情', component: () => import('../views/order/reservation/index.vue') }, { diff --git a/src/util/axios.js b/src/util/axios.js index 1cc3083..f9aea16 100644 --- a/src/util/axios.js +++ b/src/util/axios.js @@ -3,8 +3,8 @@ import axios from 'axios'; -// let baseUrl='http://localhost:8081/api/'; - let baseUrl='http://154.8.193.216:1107/api/'; +let baseUrl='http://localhost:8081/api/'; + let baseUrl2='http://154.8.193.216:1107/api/'; // 创建axios实例 const httpService = axios.create({ // url前缀-'http:xxx.xxx' @@ -98,10 +98,14 @@ export function fileUpload(url, params = {}) { export function getServerUrl(){ return baseUrl; } +export function getServerUrl2(){ + return baseUrl2; +} export default { get, post, fileUpload, - getServerUrl + getServerUrl, + getServerUrl2 } diff --git a/src/util/marked.js b/src/util/marked.js new file mode 100644 index 0000000..d373560 --- /dev/null +++ b/src/util/marked.js @@ -0,0 +1,104 @@ +import {marked} from 'marked'; +const parseMarkdown = (content) => { + return marked.parse(content) // 使用 marked 解析 Markdown +} + +const menua=[ + { + path: 'home', + name: '首页', + }, + { + path: 'user', + name: '用户管理', + }, + { + path: 'business', + name: '商家列表', + + }, + { + path: 'businesVerify', + name: '审核商家入驻', + }, + { + path: 'businessProduct', + name: '商家商品', + }, + { + path: 'product', + name: '商品列表', + }, + { + path: 'productCategory', + name: '商品分类', + }, + + { + path: 'message', + name: '消息通知', + }, + + { + path: 'permission', + name: '星级评优', + }, + { + path: 'employee', + name: '美甲师列表', + }, + { + path: 'employeeVerify', + name: '审核美甲师认证', + }, + { + path: 'nocontractemployee', + name: '未签约美甲师', + }, + { + path: 'contractemployee', + name: '签约美甲师', + }, + { + path: 'qiangdan', + name: '抢单', + }, + { + path: 'modifyPassword', + name: '修改密码', + }, + { + path: 'order', + name: '订单列表', + }, + { + path: 'userReservation', + name: '上门预约', + }, + { + path: 'orderReservation', + name: '到店服务', + }, + { + path: 'personal', + name: '个人中心', + }, + + { + path: 'rating', + name: '评价操作', + + }, + { + path: 'profile', + name: '详情', + + }] + + +export function getMenu(temp){ + const t=menua.filter(tab=>tab.path==temp) + return t[0].name +} + + diff --git a/src/util/time.js b/src/util/time.js index 697095c..cef0e17 100644 --- a/src/util/time.js +++ b/src/util/time.js @@ -29,4 +29,11 @@ export function verifyPerson(){ return false; } //console.log(ax.value) +} + + +export function getBusinessID(){ + let JS=window.sessionStorage.getItem("BUSINESS_STATE"); + const id=JSON.parse(JS).id + return id; } \ No newline at end of file diff --git a/src/views/AI/index.vue b/src/views/AI/index.vue new file mode 100644 index 0000000..e6b327d --- /dev/null +++ b/src/views/AI/index.vue @@ -0,0 +1,269 @@ + + + + + \ No newline at end of file diff --git a/src/views/bigType/imageDialog/index.vue b/src/views/bigType/imageDialog/index.vue index 9265c19..2a33bb2 100644 --- a/src/views/bigType/imageDialog/index.vue +++ b/src/views/bigType/imageDialog/index.vue @@ -114,8 +114,8 @@ const handleConfirm=async()=>{ text-align: center; } .avatar { - width: 178px; - height: 178px; + width: 50px; + height: 50px; display: block; } \ No newline at end of file diff --git a/src/views/employee/NoContract/index.vue b/src/views/employee/NoContract/index.vue new file mode 100644 index 0000000..6aef6d2 --- /dev/null +++ b/src/views/employee/NoContract/index.vue @@ -0,0 +1,223 @@ + + + + + + + + diff --git a/src/views/employee/contract/index.vue b/src/views/employee/contract/index.vue new file mode 100644 index 0000000..0685074 --- /dev/null +++ b/src/views/employee/contract/index.vue @@ -0,0 +1,293 @@ + + + + + + + + diff --git a/src/views/employee/index.vue b/src/views/employee/index.vue index d6ac8a0..7906463 100644 --- a/src/views/employee/index.vue +++ b/src/views/employee/index.vue @@ -46,6 +46,14 @@
+ + + + + @@ -252,6 +260,7 @@ const initEmployeeList=async()=>{ // console.log(res.data) tableData.value=res.data.data; let num=tableData.value.filter(item=>item.auditStatus==1) + total.value=num.length; tempstore(); }else{ diff --git a/src/views/layout/header/breadcrumb.vue b/src/views/layout/header/breadcrumb.vue index c5b9a55..1754ea9 100644 --- a/src/views/layout/header/breadcrumb.vue +++ b/src/views/layout/header/breadcrumb.vue @@ -32,7 +32,7 @@ const initBreadcrumbList = () => { } watch(route, () => { initBreadcrumbList(); - console.log(route.matched) + // console.log(route.matched) //console.log("breadcrumbList"+JSON.stringify(breadcrumbList)) }, {deep: true, immediate: true}) diff --git a/src/views/layout/header/tabs.vue b/src/views/layout/header/tabs.vue new file mode 100644 index 0000000..62ca5aa --- /dev/null +++ b/src/views/layout/header/tabs.vue @@ -0,0 +1,68 @@ + + + + + \ No newline at end of file diff --git a/src/views/layout/index.vue b/src/views/layout/index.vue index e6ca6d3..f9fd18a 100644 --- a/src/views/layout/index.vue +++ b/src/views/layout/index.vue @@ -36,14 +36,17 @@ + + +