diff --git a/package.json b/package.json index 8944dd4..3941daf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "front-next", - "version": "0.3.1", + "version": "0.4.0", "scripts": { "dev": "vite", "build": "vue-tsc --noEmit --skipLibCheck && vite build", @@ -17,7 +17,7 @@ "codemirror": "^5.60.0", "core-js": "^3.6.5", "echarts": "^5.0.2", - "element-plus": "^1.0.2-beta.45", + "element-plus": "^1.0.2-beta.48", "file-saver": "^2.0.5", "glob": "^7.1.6", "js-beautify": "^1.13.5", diff --git a/src/cool/index.ts b/src/cool/index.ts index 48ef618..537087b 100644 --- a/src/cool/index.ts +++ b/src/cool/index.ts @@ -3,18 +3,6 @@ import "cl-admin-crud-vue3/dist/index.css"; export default { modules: [ - // 基础模块 - "base", - // 文件上传 - { - name: "upload", - options: { - icon: "el-icon-picture", - text: "" - } - }, - // Excel 导出模块 - "excel-export", // crud 模块 { name: "crud", @@ -29,16 +17,6 @@ export default { } } } - }, - // 客服聊天 - "chat", - // 任务管理 - "task", - // 复制指令 - "copy", - // 示例页 - "demo", - // 主题切换 - "theme" + } ] }; diff --git a/src/cool/modules/base/components/dept/check.vue b/src/cool/modules/base/components/dept/check.vue index 68b869e..7958cb2 100644 --- a/src/cool/modules/base/components/dept/check.vue +++ b/src/cool/modules/base/components/dept/check.vue @@ -81,7 +81,7 @@ export default defineComponent({ // 刷新树形列表 function refresh() { - service.system.dept + service.base.system.dept .list() .then((res: any[]) => { list.value = deepTree(res); diff --git a/src/cool/modules/base/components/dept/move.tsx b/src/cool/modules/base/components/dept/move.tsx index 12eb54e..fcd6940 100644 --- a/src/cool/modules/base/components/dept/move.tsx +++ b/src/cool/modules/base/components/dept/move.tsx @@ -17,7 +17,7 @@ export default defineComponent({ // 刷新列表 async function refresh() { - return await service.system.dept.list().then(deepTree); + return await service.base.system.dept.list().then(deepTree); } // 转移 @@ -52,7 +52,7 @@ export default defineComponent({ type: "warning" }) .then(() => { - service.system.user + service.base.system.user .move({ departmentId: id, userIds: ids diff --git a/src/cool/modules/base/components/dept/tree.vue b/src/cool/modules/base/components/dept/tree.vue index 9d65954..634482a 100644 --- a/src/cool/modules/base/components/dept/tree.vue +++ b/src/cool/modules/base/components/dept/tree.vue @@ -113,7 +113,7 @@ export default defineComponent({ isDrag.value = false; loading.value = true; - await service.system.dept.list().then((res: any[]) => { + await service.base.system.dept.list().then((res: any[]) => { list.value = deepTree(res); emit("list-change", list.value); }); @@ -181,7 +181,7 @@ export default defineComponent({ ], on: { submit: (data: any, { done, close }: any) => { - service.system.dept[method]({ + service.base.system.dept[method]({ id: e.id, parentId: e.parentId, name: data.name, @@ -204,7 +204,7 @@ export default defineComponent({ // 删除部门 function rowDel(e: any) { const del = async (f: boolean) => { - await service.system.dept + await service.base.system.dept .delete({ ids: [e.id], deleteUser: f @@ -261,7 +261,7 @@ export default defineComponent({ deep(list.value, null); - await service.system.dept + await service.base.system.dept .order( ids.map((e, i) => { return { diff --git a/src/cool/modules/base/components/icon-svg/index.vue b/src/cool/modules/base/components/icon-svg/index.vue index 75ee084..ae6cc3a 100644 --- a/src/cool/modules/base/components/icon-svg/index.vue +++ b/src/cool/modules/base/components/icon-svg/index.vue @@ -11,6 +11,10 @@ import { isNumber } from "/@/core/utils"; export default defineComponent({ name: "icon-svg", + cool: { + global: true + }, + props: { name: { type: String diff --git a/src/cool/modules/base/components/index.ts b/src/cool/modules/base/components/index.ts deleted file mode 100644 index f0f0dd9..0000000 --- a/src/cool/modules/base/components/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import Avatar from "./avatar/index.vue"; -import Scrollbar from "./scrollbar/index.vue"; -import RouteNav from "./route-nav/index.vue"; -import Process from "./process/index.vue"; -import IconSvg from "./icon-svg/index.vue"; -import DeptCheck from "./dept/check.vue"; -import DeptMove from "./dept/move"; -import DeptTree from "./dept/tree.vue"; -import MenuSlider from "./menu/slider/index"; -import MenuTopbar from "./menu/topbar.vue"; -import MenuFile from "./menu/file.vue"; -import MenuIcons from "./menu/icons.vue"; -import MenuPerms from "./menu/perms.vue"; -import MenuTree from "./menu/tree.vue"; -import RoleSelect from "./role/select.vue"; -import RolePerms from "./role/perms.vue"; -import EditorQuill from "./editor-quill/index.vue"; -import Codemirror from "./codemirror/index.vue"; - -export default { - Avatar, - Scrollbar, - RouteNav, - Process, - IconSvg, - DeptCheck, - DeptMove, - DeptTree, - MenuSlider, - MenuTopbar, - MenuFile, - MenuIcons, - MenuPerms, - MenuTree, - RoleSelect, - RolePerms, - EditorQuill, - Codemirror -}; diff --git a/src/cool/modules/base/components/menu/tree.vue b/src/cool/modules/base/components/menu/tree.vue index 01f2dc9..04bd3a5 100644 --- a/src/cool/modules/base/components/menu/tree.vue +++ b/src/cool/modules/base/components/menu/tree.vue @@ -70,7 +70,7 @@ export default defineComponent({ // 刷新列表 function refresh() { - service.system.menu.list().then((res: any) => { + service.base.system.menu.list().then((res: any) => { const _list = res.filter((e: any) => e.type != 2); _list.unshift({ diff --git a/src/cool/modules/base/components/role/perms.vue b/src/cool/modules/base/components/role/perms.vue index ac99ab2..06dad97 100644 --- a/src/cool/modules/base/components/role/perms.vue +++ b/src/cool/modules/base/components/role/perms.vue @@ -85,7 +85,7 @@ export default defineComponent({ // 刷新列表 function refresh() { - service.system.menu + service.base.system.menu .list() .then((res: any[]) => { list.value = deepTree(res); diff --git a/src/cool/modules/base/components/role/select.vue b/src/cool/modules/base/components/role/select.vue index ed7f3db..39b3f09 100644 --- a/src/cool/modules/base/components/role/select.vue +++ b/src/cool/modules/base/components/role/select.vue @@ -45,7 +45,7 @@ export default defineComponent({ ); onMounted(async () => { - list.value = await service.system.role.list(); + list.value = await service.base.system.role.list(); }); return { diff --git a/src/cool/modules/base/directives/index.ts b/src/cool/modules/base/directives/index.ts deleted file mode 100644 index 97eac95..0000000 --- a/src/cool/modules/base/directives/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import permission, { checkPerm } from "./permission"; - -export { checkPerm }; - -export default { - permission -}; diff --git a/src/cool/modules/base/directives/permission.ts b/src/cool/modules/base/directives/permission.ts index 0d71208..d447c68 100644 --- a/src/cool/modules/base/directives/permission.ts +++ b/src/cool/modules/base/directives/permission.ts @@ -33,12 +33,12 @@ function change(el: any, binding: any) { } export default { - inserted(el: any, binding: any) { + mounted(el: any, binding: any) { el.setAttribute("_display", el.style.display || ""); change(el, binding); }, - update: change + updated: change }; export { checkPerm }; diff --git a/src/cool/modules/base/index.ts b/src/cool/modules/base/index.ts index b27360d..1364405 100644 --- a/src/cool/modules/base/index.ts +++ b/src/cool/modules/base/index.ts @@ -1,11 +1,5 @@ -import components from "./components"; -import pages from "./pages"; -import views from "./views"; -import store from "./store"; -import service from "./service"; -import directives, { checkPerm } from "./directives"; +import { checkPerm } from "./directives/permission"; import { iconList } from "./common"; import "./static/css/index.scss"; export { iconList, checkPerm }; -export default { components, pages, views, store, service, directives }; diff --git a/src/cool/modules/base/pages/error-page/403.vue b/src/cool/modules/base/pages/error-page/403.vue index 3d7192e..efa73b8 100644 --- a/src/cool/modules/base/pages/error-page/403.vue +++ b/src/cool/modules/base/pages/error-page/403.vue @@ -6,6 +6,12 @@ import ErrorPage from "./components/error-page.vue"; export default { + cool: { + route: { + path: "/403" + } + }, + components: { ErrorPage } diff --git a/src/cool/modules/base/pages/error-page/404.vue b/src/cool/modules/base/pages/error-page/404.vue index 19ab38f..bf1c063 100644 --- a/src/cool/modules/base/pages/error-page/404.vue +++ b/src/cool/modules/base/pages/error-page/404.vue @@ -6,6 +6,12 @@ import ErrorPage from "./components/error-page.vue"; export default { + cool: { + route: { + path: "/404" + } + }, + components: { ErrorPage } diff --git a/src/cool/modules/base/pages/error-page/500.vue b/src/cool/modules/base/pages/error-page/500.vue index d276d73..6309251 100644 --- a/src/cool/modules/base/pages/error-page/500.vue +++ b/src/cool/modules/base/pages/error-page/500.vue @@ -6,6 +6,12 @@ import ErrorPage from "./components/error-page.vue"; export default { + cool: { + route: { + path: "/500" + } + }, + components: { ErrorPage } diff --git a/src/cool/modules/base/pages/error-page/502.vue b/src/cool/modules/base/pages/error-page/502.vue index 78c4760..3c6310c 100644 --- a/src/cool/modules/base/pages/error-page/502.vue +++ b/src/cool/modules/base/pages/error-page/502.vue @@ -6,6 +6,12 @@ import ErrorPage from "./components/error-page.vue"; export default { + cool: { + route: { + path: "/502" + } + }, + components: { ErrorPage } diff --git a/src/cool/modules/base/pages/index.ts b/src/cool/modules/base/pages/index.ts deleted file mode 100644 index 56868df..0000000 --- a/src/cool/modules/base/pages/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -export default [ - { - path: "/403", - component: () => import("./error-page/403.vue") - }, - { - path: "/404", - component: () => import("./error-page/404.vue") - }, - { - path: "/500", - component: () => import("./error-page/500.vue") - }, - { - path: "/502", - component: () => import("./error-page/502.vue") - }, - { - path: "/login", - component: () => import("./login/index.vue") - } -]; diff --git a/src/cool/modules/base/pages/login/components/captcha.vue b/src/cool/modules/base/pages/login/components/captcha.vue index 1909201..89f341a 100644 --- a/src/cool/modules/base/pages/login/components/captcha.vue +++ b/src/cool/modules/base/pages/login/components/captcha.vue @@ -18,7 +18,7 @@ export default defineComponent({ const service = inject("service"); const refresh = () => { - service.open + service.base.open .captcha({ height: 36, width: 110 diff --git a/src/cool/modules/base/pages/login/index.vue b/src/cool/modules/base/pages/login/index.vue index a3388a8..c831b50 100644 --- a/src/cool/modules/base/pages/login/index.vue +++ b/src/cool/modules/base/pages/login/index.vue @@ -62,6 +62,12 @@ import Captcha from "./components/captcha.vue"; import { useRefs } from "/@/core"; export default defineComponent({ + cool: { + route: { + path: "/login" + } + }, + components: { Captcha }, @@ -75,8 +81,8 @@ export default defineComponent({ // 登录表单数据 const form = reactive({ - username: "admin", - password: "123456", + username: "", + password: "", captchaId: "", verifyCode: "" }); diff --git a/src/cool/modules/base/service/index.ts b/src/cool/modules/base/service/index.ts deleted file mode 100644 index 94ce77b..0000000 --- a/src/cool/modules/base/service/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import Common from "./common"; -import Open from "./open"; -import SysUser from "./system/user"; -import SysMenu from "./system/menu"; -import SysRole from "./system/role"; -import SysDept from "./system/dept"; -import SysTask from "./system/task"; -import SysParam from "./system/param"; -import SysLog from "./system/log"; -import PluginInfo from "./plugin/info"; - -export default { - common: new Common(), - open: new Open(), - system: { - user: new SysUser(), - menu: new SysMenu(), - role: new SysRole(), - dept: new SysDept(), - task: new SysTask(), - param: new SysParam(), - log: new SysLog() - }, - plugin: { - info: new PluginInfo() - } -}; diff --git a/src/cool/modules/base/store/index.ts b/src/cool/modules/base/store/index.ts deleted file mode 100644 index fc56b83..0000000 --- a/src/cool/modules/base/store/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import user from "./user"; -import app from "./app"; -import process from "./process"; -import module from "./module"; -import menu from "./menu"; - -export default { user, app, process, module, menu }; diff --git a/src/cool/modules/base/store/menu.ts b/src/cool/modules/base/store/menu.ts index 3f97795..b93ba42 100644 --- a/src/cool/modules/base/store/menu.ts +++ b/src/cool/modules/base/store/menu.ts @@ -85,7 +85,7 @@ const actions = { // 监测自定义菜单 if (!getters.app.conf.customMenu) { - store.service.common + store.service.base.common .permMenu() .then((res: any) => { next(res); diff --git a/src/cool/modules/base/store/user.ts b/src/cool/modules/base/store/user.ts index a5eddde..5728640 100644 --- a/src/cool/modules/base/store/user.ts +++ b/src/cool/modules/base/store/user.ts @@ -17,7 +17,7 @@ const getters = { const actions = { // 用户登录 userLogin({ commit }: any, form: any): Promise { - return store.service.open.userLogin(form).then((res: Token) => { + return store.service.base.open.userLogin(form).then((res: Token) => { commit("SET_TOKEN", res); return res; }); @@ -25,13 +25,13 @@ const actions = { // 用户退出 async userLogout({ dispatch }: any): Promise { - await store.service.common.userLogout(); + await store.service.base.common.userLogout(); return dispatch("userRemove"); }, // 用户信息 userInfo({ commit }: any): Promise { - return store.service.common.userInfo().then((res: any) => { + return store.service.base.common.userInfo().then((res: any) => { commit("SET_USERINFO", res); return res; }); @@ -50,7 +50,7 @@ const actions = { // 刷新token refreshToken({ commit, dispatch }: any) { return new Promise((resolve, reject) => { - store.service.open + store.service.base.open .refreshToken(storage.get("refreshToken")) .then((res: any) => { commit("SET_TOKEN", res); diff --git a/src/cool/modules/base/views/index.ts b/src/cool/modules/base/views/index.ts deleted file mode 100644 index 8f555d3..0000000 --- a/src/cool/modules/base/views/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default [ - { - label: "个人中心", - path: "/my/info", - component: () => import("./info.vue") - } -]; diff --git a/src/cool/modules/base/views/info.vue b/src/cool/modules/base/views/info.vue index 65efe56..cb0cfec 100644 --- a/src/cool/modules/base/views/info.vue +++ b/src/cool/modules/base/views/info.vue @@ -30,6 +30,15 @@ import { useStore } from "vuex"; export default defineComponent({ name: "sys-info", + cool: { + route: { + path: "/my/info", + meta: { + label: "个人中心" + } + } + }, + setup() { const store = useStore(); const service = inject("service"); @@ -46,7 +55,7 @@ export default defineComponent({ saving.value = true; - await service.common + await service.base.common .userUpdate({ headImg, nickName, diff --git a/src/cool/modules/base/views/log.vue b/src/cool/modules/base/views/log.vue index 8c498aa..5311d19 100644 --- a/src/cool/modules/base/views/log.vue +++ b/src/cool/modules/base/views/log.vue @@ -4,7 +4,7 @@ { + service.base.system.log.setKeep(day.value).then(() => { ElMessage.success("保存成功"); }); } @@ -129,7 +129,7 @@ export default defineComponent({ type: "warning" }) .then(() => { - service.system.log + service.base.system.log .clear() .then(() => { ElMessage.success("清空成功"); @@ -143,7 +143,7 @@ export default defineComponent({ } // 获取天数 - service.system.log.getKeep().then((res: number) => { + service.base.system.log.getKeep().then((res: number) => { day.value = Number(res); }); diff --git a/src/cool/modules/base/views/menu.vue b/src/cool/modules/base/views/menu.vue index f64ea5e..f9d5186 100644 --- a/src/cool/modules/base/views/menu.vue +++ b/src/cool/modules/base/views/menu.vue @@ -93,13 +93,13 @@ export default defineComponent({ // crud 加载 function onLoad({ ctx, app }: CrudLoad) { - ctx.service(service.system.menu).done(); + ctx.service(service.base.system.menu).done(); app.refresh(); } // 刷新监听 function onRefresh(_: any, { render }: RefreshOp) { - service.system.menu.list().then((list: any[]) => { + service.base.system.menu.list().then((list: any[]) => { list.map((e) => { e.permList = e.perms ? e.perms.split(",") : []; }); diff --git a/src/cool/modules/base/views/param.vue b/src/cool/modules/base/views/param.vue index f43ea3b..257ba3e 100644 --- a/src/cool/modules/base/views/param.vue +++ b/src/cool/modules/base/views/param.vue @@ -159,7 +159,7 @@ export default defineComponent({ // crud 加载 function onLoad({ ctx, app }: CrudLoad) { - ctx.service(service.system.param).done(); + ctx.service(service.base.system.param).done(); app.refresh(); } diff --git a/src/cool/modules/base/views/plugin.vue b/src/cool/modules/base/views/plugin.vue index b402243..778b5e0 100644 --- a/src/cool/modules/base/views/plugin.vue +++ b/src/cool/modules/base/views/plugin.vue @@ -61,7 +61,7 @@ export default defineComponent({ const { refs, setRefs } = useRefs(); // 编辑权限 - const { config, getConfig, enable } = service.plugin.info.permission; + const { config, getConfig, enable } = service.base.plugin.info.permission; const perms = reactive({ edit: checkPerm({ @@ -72,7 +72,7 @@ export default defineComponent({ // crud 加载 function onLoad({ ctx, app }: CrudLoad) { - ctx.service(service.plugin.info) + ctx.service(service.base.plugin.info) .set("dict", { api: { page: "list" @@ -98,7 +98,7 @@ export default defineComponent({ // 开启、关闭 function onEnableChange(val: boolean, item: any) { - service.plugin.info + service.base.plugin.info .enable({ namespace: item.namespace, enable: val @@ -113,7 +113,7 @@ export default defineComponent({ // 打开配置 async function openConf({ name, namespace, view }: any) { - const form = await service.plugin.info.getConfig({ + const form = await service.base.plugin.info.getConfig({ namespace }); @@ -131,7 +131,7 @@ export default defineComponent({ form, on: { submit: (data: any, { close, done }: any) => { - service.plugin.info + service.base.plugin.info .config({ namespace, config: data diff --git a/src/cool/modules/base/views/role.vue b/src/cool/modules/base/views/role.vue index ce4678f..aed10df 100644 --- a/src/cool/modules/base/views/role.vue +++ b/src/cool/modules/base/views/role.vue @@ -153,7 +153,7 @@ export default defineComponent({ // crud 加载 function onLoad({ ctx, app }: CrudLoad) { - ctx.service(service.system.role).done(); + ctx.service(service.base.system.role).done(); app.refresh(); } diff --git a/src/cool/modules/base/views/user.vue b/src/cool/modules/base/views/user.vue index 4077e47..421118e 100644 --- a/src/cool/modules/base/views/user.vue +++ b/src/cool/modules/base/views/user.vue @@ -28,7 +28,7 @@