浏览代码

first commit

joenyliang 2 周之前
当前提交
76d0daab6f
共有 100 个文件被更改,包括 677 次插入0 次删除
  1. 8 0
      .env
  2. 14 0
      .env.development
  3. 11 0
      .env.local_prod
  4. 14 0
      .env.production
  5. 18 0
      .eslintignore
  6. 77 0
      .eslintrc.js
  7. 24 0
      .gitignore
  8. 39 0
      .prettierrc.js
  9. 21 0
      LICENSE
  10. 168 0
      README.en.md
  11. 208 0
      README.md
  12. 1 0
      dist/assets/401.DS0Q0kTm.js
  13. 1 0
      dist/assets/401.mcHCPQ56.css
  14. 1 0
      dist/assets/404.CHkL1IW2.js
  15. 1 0
      dist/assets/404.ChHWWvdp.css
  16. 二进制
      dist/assets/69930b41b6c5e1edeaf5ffa0cc4b2bf.DEdZzKyf.png
  17. 0 0
      dist/assets/BatchCategoryDialog.DNmucNoC.js
  18. 0 0
      dist/assets/BatchCompetencyTagsDialog.5i0WNTkk.js
  19. 1 0
      dist/assets/BatchCompetencyTagsDialog.BMjIQFET.css
  20. 1 0
      dist/assets/BatchStatusDialog.C49e3Ki0.js
  21. 0 0
      dist/assets/BatchStatusDialog.vue_vue_type_script_setup_true_lang.Cx8OOK2x.js
  22. 1 0
      dist/assets/BatchTagsDialog.BW2XQbn5.css
  23. 0 0
      dist/assets/BatchTagsDialog.C8cIYfzw.js
  24. 0 0
      dist/assets/BatchTagsDialog.D68f0zN5.js
  25. 1 0
      dist/assets/BatchTagsDialog.DTzxFghR.css
  26. 0 0
      dist/assets/EditDialog.C4jJrzwk.js
  27. 1 0
      dist/assets/EditDialog.DObuRM_9.css
  28. 1 0
      dist/assets/RoleDrawer.B2ufUzIA.js
  29. 1 0
      dist/assets/RoleDrawer.B5S87lfr.css
  30. 1 0
      dist/assets/RoleDrawer.ClKFTd_V.css
  31. 1 0
      dist/assets/RoleDrawer.DRbEysXF.css
  32. 1 0
      dist/assets/RoleDrawer.jWQwoYrr.js
  33. 1 0
      dist/assets/RoleDrawer.r6rJgG6T.js
  34. 1 0
      dist/assets/RoleDrawerStores.Bmochpay.js
  35. 0 0
      dist/assets/RoleMenuBtn.BZomYZgb.js
  36. 1 0
      dist/assets/RoleMenuBtn.CPugOL9O.css
  37. 0 0
      dist/assets/RoleMenuBtn.DViIE2om.js
  38. 1 0
      dist/assets/RoleMenuBtn.DkANYlbz.css
  39. 0 0
      dist/assets/RoleMenuBtn.SoZzZ9rQ.js
  40. 1 0
      dist/assets/RoleMenuBtn._FVxn9Pr.css
  41. 1 0
      dist/assets/RoleMenuBtnStores.DfUoOZZZ.js
  42. 1 0
      dist/assets/RoleMenuBtnStores.Ds74f0Jk.js
  43. 1 0
      dist/assets/RoleMenuBtnStores._366l0YX.js
  44. 1 0
      dist/assets/RoleMenuField.CXsEJuew.js
  45. 1 0
      dist/assets/RoleMenuField.Cih9SWcL.css
  46. 1 0
      dist/assets/RoleMenuField.CyJupE3c.css
  47. 1 0
      dist/assets/RoleMenuField.DP822ku1.js
  48. 1 0
      dist/assets/RoleMenuField.pgHolN09.js
  49. 1 0
      dist/assets/RoleMenuField.y-o-mWcm.css
  50. 1 0
      dist/assets/RoleMenuFieldStores.1tuZt4kb.js
  51. 1 0
      dist/assets/RoleMenuFieldStores.D-gdfxnU.js
  52. 1 0
      dist/assets/RoleMenuFieldStores.DM9AuVhQ.js
  53. 1 0
      dist/assets/RoleMenuTree.CYV9lzCp.js
  54. 1 0
      dist/assets/RoleMenuTree.CxPcMwOn.js
  55. 1 0
      dist/assets/RoleMenuTree.DiOWI6o9.js
  56. 1 0
      dist/assets/RoleMenuTreeStores.CZ0jnT_Y.js
  57. 1 0
      dist/assets/RoleMenuTreeStores.DRP8kLzh.js
  58. 1 0
      dist/assets/RoleMenuTreeStores.Dj-SlS5F.js
  59. 1 0
      dist/assets/RoleUsers.BGGbfBJk.js
  60. 1 0
      dist/assets/RoleUsers.dZjjxc0g.js
  61. 1 0
      dist/assets/RoleUsers.yY323BbL.js
  62. 1 0
      dist/assets/RoleUsersStores.CGEBHEY0.js
  63. 1 0
      dist/assets/RoleUsersStores.Dr02XviG.js
  64. 1 0
      dist/assets/RoleUsersStores.lOus955Q.js
  65. 1 0
      dist/assets/_plugin-vue_export-helper.DlAUqK2U.js
  66. 0 0
      dist/assets/account.BohLL_sV.js
  67. 1 0
      dist/assets/account.Cpt3Sh5z.css
  68. 1 0
      dist/assets/addContent.Bngq37FB.js
  69. 0 0
      dist/assets/addContent.vue_vue_type_script_setup_true_lang.tnqFXTYc.js
  70. 1 0
      dist/assets/addTabs.Cn2X00iO.js
  71. 1 0
      dist/assets/addTabs.vue_vue_type_script_setup_true_lang.BFADWu-6.js
  72. 1 0
      dist/assets/api.C-HcXaQ1.js
  73. 1 0
      dist/assets/api.CM4WpO4H.js
  74. 1 0
      dist/assets/api.C_0YneEa.js
  75. 1 0
      dist/assets/api.CcYVSrVb.js
  76. 1 0
      dist/assets/api.Chpe9Vbl.js
  77. 1 0
      dist/assets/api.CinmTVMX.js
  78. 1 0
      dist/assets/api.CpcQPcfj.js
  79. 1 0
      dist/assets/api.Cv-V8Qbc.js
  80. 1 0
      dist/assets/api.CwKatIT6.js
  81. 1 0
      dist/assets/api.D6TdfT1n.js
  82. 1 0
      dist/assets/api.DFVyvDs2.js
  83. 1 0
      dist/assets/api.Dqf6s5No.js
  84. 1 0
      dist/assets/api.DyhC7EOd.js
  85. 1 0
      dist/assets/api.gpOMTCDH.js
  86. 1 0
      dist/assets/aside.BR-3iPLh.js
  87. 1 0
      dist/assets/associationTable.DPXCQcKF.js
  88. 0 0
      dist/assets/associationTable.vue_vue_type_script_setup_true_lang.nGWCYvzq.js
  89. 1 0
      dist/assets/authFunction.BLxX_QUS.js
  90. 1 0
      dist/assets/breadcrumb.BJHFkKjg.css
  91. 0 0
      dist/assets/breadcrumb.gmyDOL_-.js
  92. 1 0
      dist/assets/changePwd.CnwGxupR.css
  93. 0 0
      dist/assets/changePwd.Slu-FVp7.js
  94. 2 0
      dist/assets/classic.Gpyaum5r.js
  95. 1 0
      dist/assets/closeFull.BXVSODpq.css
  96. 1 0
      dist/assets/closeFull.lGYTw2Xu.js
  97. 1 0
      dist/assets/columnPermission.DJPRmQCM.js
  98. 2 0
      dist/assets/columns.CPFnZTET.js
  99. 0 0
      dist/assets/columnsAside.Crq3CLl_.js
  100. 1 0
      dist/assets/columnsAside.czFKTVW3.css

+ 8 - 0
.env

@@ -0,0 +1,8 @@
+# port 端口号
+VITE_PORT = 8080
+VITE_API_URL = 'http://dvadmin3api.django.icu:8001'
+# open 运行 npm run dev 时自动打开浏览器
+VITE_OPEN = false
+
+# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
+VITE_PUBLIC_PATH = /

+ 14 - 0
.env.development

@@ -0,0 +1,14 @@
+# 本地环境
+ENV = 'development'
+#https://minlong.raycos.com.cn
+#正式: https://backend.qicai321.com
+#线下:http://192.168.100.187:8083
+# 本地环境接口地址 121.36.251.245
+
+
+VITE_API_URL = 'http://192.168.100.101:9084'
+# VITE_API_URL = 'https://backend.qicai321.com'
+VITE_API_WX_URL='https://api.weixin.qq.com/'
+VITE_API_URL_MINLONG='http://117.185.80.170:7861'
+# 是否启用按钮权限
+VITE_PM_ENABLED = true

+ 11 - 0
.env.local_prod

@@ -0,0 +1,11 @@
+# 线上环境
+ENV = 'local_prod'
+
+# 线上环境接口地址
+VITE_API_URL = '/'
+
+# 是否启用按钮权限
+VITE_PM_ENABLED = true
+VITE_PUBLIC_PATH = /web/
+# dist目录
+VITE_DIST_PATH =../backend/templates/web/

+ 14 - 0
.env.production

@@ -0,0 +1,14 @@
+# 线上环境
+ENV = 'production'
+
+# 线上环境接口地址
+VITE_API_URL = 'https://backend.qicai321.com' # docker-compose部署不需要修改,nginx容器自动代理了这个地址
+
+# 微信API地址
+VITE_API_WX_URL='https://api.weixin.qq.com/'
+
+# 秒拍API地址 aiserver.qicai321.com
+VITE_API_URL_MINLONG='https://aiserver.qicai321.com'
+
+# 是否启用按钮权限
+VITE_PM_ENABLED = true

+ 18 - 0
.eslintignore

@@ -0,0 +1,18 @@
+
+*.sh
+node_modules
+lib
+*.md
+*.scss
+*.woff
+*.ttf
+.vscode
+.idea
+dist
+mock
+public
+bin
+build
+config
+index.html
+src/assets

+ 77 - 0
.eslintrc.js

@@ -0,0 +1,77 @@
+module.exports = {
+	root: true,
+	env: {
+		browser: true,
+		es2021: true,
+		node: true,
+	},
+	parser: 'vue-eslint-parser',
+	parserOptions: {
+		ecmaVersion: 12,
+		parser: '@typescript-eslint/parser',
+		sourceType: 'module',
+	},
+	extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
+	plugins: ['vue', '@typescript-eslint'],
+	overrides: [
+		{
+			files: ['*.ts', '*.tsx', '*.vue'],
+			rules: {
+				'no-undef': 'off',
+			},
+		},
+	],
+	rules: {
+		// http://eslint.cn/docs/rules/
+		// https://eslint.vuejs.org/rules/
+		// https://typescript-eslint.io/rules/no-unused-vars/
+		'@typescript-eslint/ban-ts-ignore': 'off',
+		'@typescript-eslint/explicit-function-return-type': 'off',
+		'@typescript-eslint/no-explicit-any': 'off',
+		'@typescript-eslint/no-var-requires': 'off',
+		'@typescript-eslint/no-empty-function': 'off',
+		'@typescript-eslint/no-use-before-define': 'off',
+		'@typescript-eslint/ban-ts-comment': 'off',
+		'@typescript-eslint/ban-types': 'off',
+		'@typescript-eslint/no-non-null-assertion': 'off',
+		'@typescript-eslint/explicit-module-boundary-types': 'off',
+		'@typescript-eslint/no-redeclare': 'error',
+		'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
+		'@typescript-eslint/no-unused-vars': ['off'],
+		'vue/custom-event-name-casing': 'off',
+		'vue/attributes-order': 'off',
+		'vue/one-component-per-file': 'off',
+		'vue/html-closing-bracket-newline': 'off',
+		'vue/max-attributes-per-line': 'off',
+		'vue/multiline-html-element-content-newline': 'off',
+		'vue/singleline-html-element-content-newline': 'off',
+		'vue/attribute-hyphenation': 'off',
+		'vue/html-self-closing': 'off',
+		'vue/no-multiple-template-root': 'off',
+		'vue/require-default-prop': 'off',
+		'vue/no-v-model-argument': 'off',
+		'vue/no-arrow-functions-in-watch': 'off',
+		'vue/no-template-key': 'off',
+		'vue/no-v-html': 'off',
+		'vue/comment-directive': 'off',
+		'vue/no-parsing-error': 'off',
+		'vue/no-deprecated-v-on-native-modifier': 'off',
+		'vue/multi-word-component-names': 'off',
+		'no-useless-escape': 'off',
+		'no-sparse-arrays': 'off',
+		'no-prototype-builtins': 'off',
+		'no-constant-condition': 'off',
+		'no-use-before-define': 'off',
+		'no-restricted-globals': 'off',
+		'no-restricted-syntax': 'off',
+		'generator-star-spacing': 'off',
+		'no-unreachable': 'off',
+		'no-multiple-template-root': 'off',
+		'no-unused-vars': 'warn',
+		'vue/no-unused-vars': "off",
+		'no-v-model-argument': 'off',
+		'no-case-declarations': 'off',
+		'no-console': 'error',
+		'no-redeclare': 'off',
+	},
+};

+ 24 - 0
.gitignore

@@ -0,0 +1,24 @@
+.DS_Store
+node_modules
+yarn.lock
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+# 构建版本文件,无需上传git
+public/version-build

+ 39 - 0
.prettierrc.js

@@ -0,0 +1,39 @@
+module.exports = {
+	// 一行最多多少个字符
+	printWidth: 150,
+	// 指定每个缩进级别的空格数
+	tabWidth: 2,
+	// 使用制表符而不是空格缩进行
+	useTabs: true,
+	// 在语句末尾打印分号
+	semi: true,
+	// 使用单引号而不是双引号
+	singleQuote: true,
+	// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
+	quoteProps: 'as-needed',
+	// 在JSX中使用单引号而不是双引号
+	jsxSingleQuote: false,
+	// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
+	trailingComma: 'es5',
+	// 在对象文字中的括号之间打印空格
+	bracketSpacing: true,
+	// jsx 标签的反尖括号需要换行
+	jsxBracketSameLine: false,
+	// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
+	arrowParens: 'always',
+	// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
+	rangeStart: 0,
+	rangeEnd: Infinity,
+	// 指定要使用的解析器,不需要写文件开头的 @prettier
+	requirePragma: false,
+	// 不需要自动在文件开头插入 @prettier
+	insertPragma: false,
+	// 使用默认的折行标准 always\never\preserve
+	proseWrap: 'preserve',
+	// 指定HTML文件的全局空格敏感度 css\strict\ignore
+	htmlWhitespaceSensitivity: 'css',
+	// Vue文件脚本和样式标签缩进
+	vueIndentScriptAndStyle: false,
+	// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
+	endOfLine: 'lf',
+};

+ 21 - 0
LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 DVAdmin,hugedream
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 168 - 0
README.en.md

@@ -0,0 +1,168 @@
+# Django-Vue3-Admin
+
+[![img](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitee.com/huge-dream/django-vue3-admin/blob/master/LICENSE)  [![img](https://img.shields.io/badge/python-%3E=3.7.x-green.svg)](https://python.org/)  [![PyPI - Django Version badge](https://img.shields.io/badge/django%20versions-3.2-blue)](https://docs.djangoproject.com/zh-hans/3.2/) [![img](https://img.shields.io/badge/node-%3E%3D%2012.0.0-brightgreen)](https://nodejs.org/zh-cn/) [![img](https://gitee.com/huge-dream/django-vue3-admin/badge/star.svg?theme=dark)](https://gitee.com/huge-dream/django-vue3-admin)
+
+[preview](https://demo.dvadmin.com) | [Official website document](https://www.django-vue-admin.com) | [qq group](https://qm.qq.com/cgi-bin/qm/qr?k=fOdnHhC8DJlRHGYSnyhoB8P5rgogA6Vs&jump_from=webapi) | [community](https://bbs.django-vue-admin.com) | [plugins market](https://bbs.django-vue-admin.com/plugMarket.html) | [Github](https://github.com/liqianglog/django-vue-admin)
+
+💡 **「About」**
+
+We are a group of young people who love Code. In this hot era, we hope to calm down and bring some of our colors and colors through code.
+
+Because of love, so embrace the future
+
+## framework introduction
+
+💡 [django-vue3-admin](https://gitee.com/huge-dream/django-vue3-admin.git) Is a set of all open source rapid development platform, no reservation for individuals and enterprises free use.
+
+* 🧑‍🤝‍🧑Front-end adoption Vue3+TS+pinia+fastcrud。
+* 👭The backend uses the Python language Django framework as well as the powerful[Django REST Framework](https://pypi.org/project/djangorestframework)。
+* 👫Permission authentication use[Django REST Framework SimpleJWT](https://pypi.org/project/djangorestframework-simplejwt),Supports the multi-terminal authentication system.
+* 👬Support loading dynamic permission menu, multi - way easy permission control.
+* 💏 Special thanks: [vue-next-admin](https://lyt-top.gitee.io/vue-next-admin-doc-preview/).
+* 💡 💏 Special thanks:[jetbrains](https://www.jetbrains.com/) To provide a free IntelliJ IDEA license for this open source project.
+
+## Online experience
+
+👩‍👧‍👦👩‍👧‍👦 demo address:[https://demo.dvadmin.com](https://demo.dvadmin.com)
+
+* demo account:superadmin
+
+* demo password:admin123456
+
+👩‍👦‍👦docs:[https://django-vue-admin.com](https://django-vue-admin.com)
+
+## communication
+
+* Communication community:[click here](https://bbs.django-vue-admin.com)👩‍👦‍👦
+
+* plugins market:[click here](https://bbs.django-vue-admin.com/plugMarket.html)👩‍👦‍👦
+
+## source code url:
+
+gitee(Main push):[https://gitee.com/huge-dream/django-vue3-admin](https://gitee.com/huge-dream/django-vue3-admin)👩‍👦‍👦
+
+github:no data
+
+## core function
+
+1. 👨‍⚕️ Menu management: Configure the system menu, operation permissions, button permissions, back-end interface permissions, etc.
+2. 🧑‍⚕️ Department management: Configure the system organization (company, department, role).
+3. 👩‍⚕️ Role management: role menu permission allocation, data permission allocation, set roles according to the department for data range permission division.
+4. 🧑‍🎓 Rights Specifies the rights of the authorization role.
+5. 👨‍🎓 User management: The user is the system operator, this function mainly completes the system user configuration.
+6. 👬 Interface whitelist: specifies the interface that does not need permission verification.
+7. 🧑‍🔧 Dictionary management: Maintenance of some fixed data frequently used in the system.
+8. 🧑‍🔧 Regional management: to manage provinces, cities, counties and regions.
+9. 📁 Attachment management: Unified management of all files and pictures on the platform.
+10. 🗓 ️operation logs: log and query the system normal operation; Log and query system exception information.
+    11.🔌 [plugins market] (<https://bbs.django-vue-admin.com/plugMarket.html>) : based on the Django framework - Vue - Admin application and plug-in development.
+
+## plugins market 🔌
+
+* Celery Asynchronous task:[dvadmin-celery](https://gitee.com/huge-dream/dvadmin-celery)
+* Upgrade center backend:[dvadmin-upgrade-center](https://gitee.com/huge-dream/dvadmin-upgrade-center)
+* Upgrade center front:[dvadmin-upgrade-center-web](https://gitee.com/huge-dream/dvadmin-upgrade-center-web)
+
+## before start project you need:
+
+~~~
+Python >= 3.8.0 
+nodejs >= 14.0
+Mysql >= 5.7.0 (Optional. The default database is sqlite3. 8.0 is recommended)
+Redis(Optional, the latest edition)
+~~~
+
+## frontend♝
+
+```bash
+# clone code
+git clone https://gitee.com/huge-dream/django-vue3-admin.git
+
+# enter code dir
+cd web
+
+# install dependence
+npm install --registry=https://registry.npm.taobao.org
+
+# Start service
+npm run dev
+# Visit http://localhost:8080 in your browser
+# Parameters such as boot port can be configured in the #.env.development file
+# Build the production environment
+# npm run build
+```
+
+## backend💈
+
+~~~bash
+1. enter code dir cd backend
+2. copy ./conf/env.example.py to ./conf dir,rename as env.py
+3. in env.py configure database information
+ mysql database recommended version: 8.0
+ mysql database character set: utf8mb4
+4. install pip dependence
+ pip3 install -r requirements.txt
+5. Execute the migration command:
+ python3 manage.py makemigrations
+ python3 manage.py migrate
+6. Initialization data
+ python3 manage.py init
+7. Initialize provincial, municipal and county data:
+ python3 manage.py init_area
+8. start backend
+ python3 manage.py runserver 0.0.0.0:8000
+or daphne :
+  daphne -b 0.0.0.0 -p 8000 application.asgi:application
+~~~
+
+### visit backend swagger
+
+* visit url:[http://localhost:8080](http://localhost:8080) (The default address is this one. If you want to change it, follow the configuration file)
+* account:`superadmin` password:`admin123456`
+
+### docker-compose
+
+~~~shell
+docker-compose up -d
+# Initialize backend data (first execution only)
+docker exec -ti dvadmin-django bash
+python manage.py makemigrations 
+python manage.py migrate
+python manage.py init_area
+python manage.py init
+exit
+
+frontend url:http://127.0.0.1:8080
+backend url:http://127.0.0.1:8080/api
+# Change 127.0.0.1 to your own public ip address on the server
+account:`superadmin` password:`admin123456`
+
+# docker-compose stop
+docker-compose down
+#  docker-compose restart
+docker-compose restart
+#  docker-compose on start build
+docker-compose up -d --build
+~~~
+
+## Demo screenshot✅
+
+![image-01](https://images.gitee.com/uploads/images/2022/0530/234137_b58c8f98_5074988.png)
+
+![image-02](https://images.gitee.com/uploads/images/2022/0530/234240_39834603_5074988.png)
+
+![image-03](https://images.gitee.com/uploads/images/2022/0530/234339_35e728a0_5074988.png)
+
+![image-04](https://images.gitee.com/uploads/images/2022/0530/234426_957036b0_5074988.png)
+
+![image-05](https://images.gitee.com/uploads/images/2022/0530/234458_898be492_5074988.png)
+
+![image-06](https://images.gitee.com/uploads/images/2022/0530/234521_35b40076_5074988.png)
+
+![image-07](https://images.gitee.com/uploads/images/2022/0530/234615_c2325639_5074988.png)
+
+![image-08](https://images.gitee.com/uploads/images/2022/0530/234639_1ed6cc93_5074988.png)
+
+![image-09](https://images.gitee.com/uploads/images/2022/0530/234815_cea2c53f_5074988.png)
+
+![image-10](https://images.gitee.com/uploads/images/2022/0530/234840_5f3e5f53_5074988.png)

+ 208 - 0
README.md

@@ -0,0 +1,208 @@
+# Django-Vue3-Admin
+
+[![img](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitee.com/liqianglog/django-vue-admin/blob/master/LICENSE)  [![img](https://img.shields.io/badge/python-%3E=3.7.x-green.svg)](https://python.org/)  [![PyPI - Django Version badge](https://img.shields.io/badge/django%20versions-3.2-blue)](https://docs.djangoproject.com/zh-hans/3.2/) [![img](https://img.shields.io/badge/node-%3E%3D%2012.0.0-brightgreen)](https://nodejs.org/zh-cn/) [![img](https://gitee.com/liqianglog/django-vue-admin/badge/star.svg?theme=dark)](https://gitee.com/liqianglog/django-vue-admin)
+
+[预 览](https://demo.dvadmin.com) | [官网文档](https://www.django-vue-admin.com) | [群聊](https://qm.qq.com/cgi-bin/qm/qr?k=fOdnHhC8DJlRHGYSnyhoB8P5rgogA6Vs&jump_from=webapi) | [社区](https://bbs.django-vue-admin.com) | [插件市场](https://bbs.django-vue-admin.com/plugMarket.html) | [Github](https://github.com/liqianglog/django-vue-admin)
+
+
+
+💡 **「关于」**
+
+我们是一群热爱代码的青年,在这个炙热的时代下,我们希望静下心来通过Code带来一点我们的色彩和颜色。
+
+因为热爱,所以拥抱未来!
+
+
+## 平台简介
+
+💡 [django-vue3-admin](https://gitee.com/huge-dream/django-vue3-admin.git) 是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
+    django-vue3-admin 基于 vue3 + CompositionAPI + typescript + vite + element plus, 是一款全栈,快速,开源的后台管理系统!
+
+
+
+
+* 🧑‍🤝‍🧑前端采用 Vue3+TS+pinia+fastcrud(感谢[vue-next-admin](https://lyt-top.gitee.io/vue-next-admin-doc-preview/))
+* 👭后端采用 Python 语言 Django 框架以及强大的 [Django REST Framework](https://pypi.org/project/djangorestframework)。
+* 👫权限认证使用[Django REST Framework SimpleJWT](https://pypi.org/project/djangorestframework-simplejwt),支持多终端认证系统。
+* 👬支持加载动态权限菜单,多方式轻松权限控制。
+* 💏特别鸣谢:[vue-next-admin](https://lyt-top.gitee.io/vue-next-admin-doc-preview/)。
+* 💡 特别感谢[jetbrains](https://www.jetbrains.com/) 为本开源项目提供免费的 IntelliJ IDEA 授权。
+
+#### 🏭 环境支持
+
+| Edge      | Firefox      | Chrome      | Safari      |
+| --------- | ------------ | ----------- | ----------- |
+| Edge ≥ 79 | Firefox ≥ 78 | Chrome ≥ 64 | Safari ≥ 12 |
+
+> 由于 Vue3 不再支持 IE11,故而 ElementPlus 也不支持 IE11 及之前版本。
+
+
+
+## 在线体验
+
+👩‍👧‍👦演示地址:[https://demo.dvadmin.com](https://demo.dvadmin.com)
+
+- 账号:superadmin
+
+- 密码:admin123456
+
+👩‍👦‍👦文档地址:[coding](https://dvadmin-private.coding.net/share/km/cec69f3d-30fe-47d5-bd97-e9e851f0b776/K-2)
+
+
+
+## 交流
+
+- 交流社区:[戳我](https://bbs.django-vue-admin.com)👩‍👦‍👦
+
+- 插件市场:[戳我](https://bbs.django-vue-admin.com/plugMarket.html)👩‍👦‍👦
+
+-  django-vue-admin交流01群(已满):812482043 [点击链接加入群聊](https://qm.qq.com/cgi-bin/qm/qr?k=aJVwjDvH-Es4MPJQuoO32N0SucK22TE5&jump_from=webapi)
+-  django-vue-admin交流02群(已满):687252418  [点击链接加入群聊](https://qm.qq.com/cgi-bin/qm/qr?k=4jJN4IjWGfxJ8YJXbb_gTsuWjR34WLdc&jump_from=webapi)
+-  django-vue-admin交流03群:442108213  [点击链接加入群聊](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=wsm5oSz3K8dElBYUDtLTcQSEPhINFkl8&authKey=M6sbER0z59ZakgBr5erFeZyFZU15CI52bErNZa%2FxSvvGIuVAbY0N5866v89hm%2FK4&noverify=0&group_code=442108213)
+
+- 二维码
+
+  <img src='https://images.gitee.com/uploads/images/2022/0530/233203_5fb11883_5074988.jpeg' width='200'>
+
+## 源码地址
+
+gitee地址(主推):[https://gitee.com/huge-dream/django-vue3-admin](https://gitee.com/huge-dream/django-vue3-admin)👩‍👦‍👦
+
+github地址:暂无
+
+
+## 内置功能
+
+1.  👨‍⚕️菜单管理:配置系统菜单,操作权限,按钮权限标识、后端接口权限等。
+2.  🧑‍⚕️部门管理:配置系统组织机构(公司、部门、角色)。
+3.  👩‍⚕️角色管理:角色菜单权限分配、数据权限分配、设置角色按部门进行数据范围权限划分。
+4.  🧑‍🎓按钮权限权限:授权角色的按钮权限和接口权限,可做到每一个接口都能授权数据范围。
+5.  🧑‍🎓字段权限权限:授权页面的字段显示权限。
+5.  👨‍🎓用户管理:用户是系统操作者,该功能主要完成系统用户配置。
+6.  👬接口白名单:配置不需要进行权限校验的接口。
+7.  🧑‍🔧字典管理:对系统中经常使用的一些较为固定的数据进行维护。
+8.  🧑‍🔧地区管理:对省市县区域进行管理。
+9.  📁附件管理:对平台上所有文件、图片等进行统一管理。
+10.  🗓️操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
+11.  🔌[插件市场 ](https://bbs.django-vue-admin.com/plugMarket.html):基于Django-Vue-Admin框架开发的应用和插件。
+
+##  插件市场 🔌
+
+- Celery异步任务:[dvadmin-celery](https://gitee.com/huge-dream/dvadmin-celery)
+- 升级中心后端:[dvadmin-upgrade-center](https://gitee.com/huge-dream/dvadmin-upgrade-center)
+- 升级中心前端:[dvadmin-upgrade-center-web](https://gitee.com/huge-dream/dvadmin-upgrade-center-web)
+
+## 准备工作
+~~~
+Python >= 3.8.0 (推荐3.8+版本)
+nodejs >= 14.0 (推荐最新)
+Mysql >= 5.7.0 (可选,默认数据库sqlite3,推荐8.0版本)
+Redis(可选,最新版)
+~~~
+
+## 前端♝
+
+```bash
+# 克隆项目
+git clone https://gitee.com/huge-dream/django-vue3-admin.git
+
+# 进入项目目录
+cd web
+
+# 安装依赖
+npm install --registry=https://registry.npm.taobao.org
+
+# 启动服务
+npm run dev
+# 浏览器访问 http://localhost:8080
+# .env.development 文件中可配置启动端口等参数
+# 构建生产环境
+# npm run build
+```
+
+
+
+## 后端💈
+
+~~~bash
+1. 进入项目目录 cd backend
+2. 在项目根目录中,复制 ./conf/env.example.py 文件为一份新的到 ./conf 文件夹下,并重命名为 env.py
+3. 在 env.py 中配置数据库信息
+	mysql数据库版本建议:8.0
+	mysql数据库字符集:utf8mb4
+4. 安装依赖环境
+	pip3 install -r requirements.txt
+5. 执行迁移命令:
+	python3 manage.py makemigrations
+	python3 manage.py migrate
+6. 初始化数据
+	python3 manage.py init
+7. 初始化省市县数据:
+	python3 manage.py init_area
+8. 启动项目
+	python3 manage.py runserver 0.0.0.0:8000
+或使用 daphne :
+  daphne -b 0.0.0.0 -p 8000 application.asgi:application
+~~~
+
+### 访问项目
+
+- 访问地址:[http://localhost:8080](http://localhost:8080) (默认为此地址,如有修改请按照配置文件)
+- 账号:`superadmin` 密码:`admin123456`
+
+
+
+
+
+### docker-compose 运行
+
+~~~shell
+# 先安装docker-compose (自行百度安装),执行此命令等待安装,如有使用celery插件请打开docker-compose.yml中celery 部分注释
+docker-compose up -d
+# 初始化后端数据(第一次执行即可)
+docker exec -ti dvadmin-django bash
+python manage.py makemigrations 
+python manage.py migrate
+python manage.py init_area
+python manage.py init
+exit
+
+前端地址:http://127.0.0.1:8080
+后端地址:http://127.0.0.1:8080/api
+# 在服务器上请把127.0.0.1 换成自己公网ip
+账号:superadmin 密码:admin123456
+
+# docker-compose 停止
+docker-compose down
+#  docker-compose 重启
+docker-compose restart
+#  docker-compose 启动时重新进行 build
+docker-compose up -d --build
+~~~
+
+
+
+## 演示图✅
+
+![image-01](https://images.gitee.com/uploads/images/2022/0530/234137_b58c8f98_5074988.png)
+
+![image-02](https://images.gitee.com/uploads/images/2022/0530/234240_39834603_5074988.png)
+
+![image-03](https://images.gitee.com/uploads/images/2022/0530/234339_35e728a0_5074988.png)
+
+![image-04](https://images.gitee.com/uploads/images/2022/0530/234426_957036b0_5074988.png)
+
+![image-05](https://images.gitee.com/uploads/images/2022/0530/234458_898be492_5074988.png)
+
+![image-06](https://images.gitee.com/uploads/images/2022/0530/234521_35b40076_5074988.png)
+
+![image-07](https://images.gitee.com/uploads/images/2022/0530/234615_c2325639_5074988.png)
+
+![image-08](https://images.gitee.com/uploads/images/2022/0530/234639_1ed6cc93_5074988.png)
+
+![image-09](https://images.gitee.com/uploads/images/2022/0530/234815_cea2c53f_5074988.png)
+
+![image-10](https://images.gitee.com/uploads/images/2022/0530/234840_5f3e5f53_5074988.png)
+
+
+

+ 1 - 0
dist/assets/401.DS0Q0kTm.js

@@ -0,0 +1 @@
+import{a as m,aC as r,f as d,aj as f,c as g,o as p,b as e,Q as i,S as u,K as _,P as h,F as v}from"./vue.D1BjjNmv.js";import{u as w,b as T,S as b}from"./index.D93ign_E.js";import{_ as C}from"./_plugin-vue_export-helper.DlAUqK2U.js";const F=m({name:"401",setup(){const s=w(),t=T(),{themeConfig:a}=r(s),{isTagsViewCurrenFull:n}=r(t),c=()=>{b.clear(),window.location.reload()},l=d(()=>{let{isTagsview:o}=a.value;return n.value?"30px":o?"114px":"80px"});return{onSetAuth:c,initTagViewHeight:l}}}),V={class:"error-flex"},$={class:"left"},x={class:"left-item"},y={class:"left-item-animation left-item-title"},A={class:"left-item-animation left-item-msg"},S={class:"left-item-animation left-item-btn"};function k(s,t,a,n,c,l){const o=f("el-button");return p(),g("div",{class:"error layout-view-bg-white",style:v({height:`calc(100vh - ${s.initTagViewHeight}`})},[e("div",V,[e("div",$,[e("div",x,[t[0]||(t[0]=e("div",{class:"left-item-animation left-item-num"},"401",-1)),e("div",y,i(s.$t("message.noAccess.accessTitle")),1),e("div",A,i(s.$t("message.noAccess.accessMsg")),1),e("div",S,[u(o,{type:"primary",round:"",onClick:s.onSetAuth},{default:_(()=>[h(i(s.$t("message.noAccess.accessBtn")),1)]),_:1},8,["onClick"])])])]),t[1]||(t[1]=e("div",{class:"right"},[e("img",{src:"https://img-blog.csdnimg.cn/3333f265772a4fa89287993500ecbf96.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbHl0LXRvcA==,size_16,color_FFFFFF,t_70,g_se,x_16"})],-1))])],4)}const H=C(F,[["render",k],["__scopeId","data-v-50910138"]]);export{H as default};

+ 1 - 0
dist/assets/401.mcHCPQ56.css

@@ -0,0 +1 @@
+.error[data-v-50910138]{height:100%;background-color:var(--el-color-white);display:flex}.error .error-flex[data-v-50910138]{margin:auto;display:flex;height:350px;width:900px}.error .error-flex .left[data-v-50910138]{flex:1;height:100%;align-items:center;display:flex}.error .error-flex .left .left-item .left-item-animation[data-v-50910138]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards}.error .error-flex .left .left-item .left-item-num[data-v-50910138]{color:var(--el-color-info);font-size:55px}.error .error-flex .left .left-item .left-item-title[data-v-50910138]{font-size:20px;color:var(--el-text-color-primary);margin:15px 0 5px;animation-delay:.1s}.error .error-flex .left .left-item .left-item-msg[data-v-50910138]{color:var(--el-text-color-secondary);font-size:12px;margin-bottom:30px;animation-delay:.2s}.error .error-flex .left .left-item .left-item-btn[data-v-50910138]{animation-delay:.2s}.error .error-flex .right[data-v-50910138]{flex:1;opacity:0;animation-name:error-img;animation-duration:2s;animation-fill-mode:forwards}.error .error-flex .right img[data-v-50910138]{width:100%;height:100%}

+ 1 - 0
dist/assets/404.CHkL1IW2.js

@@ -0,0 +1 @@
+import{a as d,aC as m,aH as u,f,aj as p,c as g,o as _,b as e,Q as i,S as v,K as h,P as T,F as C}from"./vue.D1BjjNmv.js";import{u as b,b as w}from"./index.D93ign_E.js";import{_ as V}from"./_plugin-vue_export-helper.DlAUqK2U.js";const $=d({name:"404",setup(){const t=b(),s=w(),{themeConfig:n}=m(t),{isTagsViewCurrenFull:a}=m(s),r=u(),l=()=>{r.push("/")},o=f(()=>{let{isTagsview:c}=n.value;return a.value?"30px":c?"114px":"80px"});return{onGoHome:l,initTagViewHeight:o}}}),y="/assets/img404.DizYJBZK.png",B={class:"error-flex"},F={class:"left"},H={class:"left-item"},k={class:"left-item-animation left-item-title"},x={class:"left-item-animation left-item-msg"},R={class:"left-item-animation left-item-btn"};function N(t,s,n,a,r,l){const o=p("el-button");return _(),g("div",{class:"error layout-view-bg-white",style:C({height:`calc(100vh - ${t.initTagViewHeight}`})},[e("div",B,[e("div",F,[e("div",H,[s[0]||(s[0]=e("div",{class:"left-item-animation left-item-num"},"404",-1)),e("div",k,i(t.$t("message.notFound.foundTitle")),1),e("div",x,i(t.$t("message.notFound.foundMsg")),1),e("div",R,[v(o,{type:"primary",round:"",onClick:t.onGoHome},{default:h(()=>[T(i(t.$t("message.notFound.foundBtn")),1)]),_:1},8,["onClick"])])])]),s[1]||(s[1]=e("div",{class:"right"},[e("img",{src:y})],-1))])],4)}const G=V($,[["render",N],["__scopeId","data-v-fdbbc0ab"]]);export{G as default};

+ 1 - 0
dist/assets/404.ChHWWvdp.css

@@ -0,0 +1 @@
+.error[data-v-fdbbc0ab]{height:100%;background-color:var(--el-color-white);display:flex}.error .error-flex[data-v-fdbbc0ab]{margin:auto;display:flex;height:350px;width:900px}.error .error-flex .left[data-v-fdbbc0ab]{flex:1;height:100%;align-items:center;display:flex}.error .error-flex .left .left-item .left-item-animation[data-v-fdbbc0ab]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards}.error .error-flex .left .left-item .left-item-num[data-v-fdbbc0ab]{color:var(--el-color-info);font-size:55px}.error .error-flex .left .left-item .left-item-title[data-v-fdbbc0ab]{font-size:20px;color:var(--el-text-color-primary);margin:15px 0 5px;animation-delay:.1s}.error .error-flex .left .left-item .left-item-msg[data-v-fdbbc0ab]{color:var(--el-text-color-secondary);font-size:12px;margin-bottom:30px;animation-delay:.2s}.error .error-flex .left .left-item .left-item-btn[data-v-fdbbc0ab]{animation-delay:.2s}.error .error-flex .right[data-v-fdbbc0ab]{flex:1;opacity:0;animation-name:error-img;animation-duration:2s;animation-fill-mode:forwards}.error .error-flex .right img[data-v-fdbbc0ab]{width:100%;height:100%}

二进制
dist/assets/69930b41b6c5e1edeaf5ffa0cc4b2bf.DEdZzKyf.png


文件差异内容过多而无法显示
+ 0 - 0
dist/assets/BatchCategoryDialog.DNmucNoC.js


文件差异内容过多而无法显示
+ 0 - 0
dist/assets/BatchCompetencyTagsDialog.5i0WNTkk.js


+ 1 - 0
dist/assets/BatchCompetencyTagsDialog.BMjIQFET.css

@@ -0,0 +1 @@
+.el-input-number[data-v-c3b08eaf]{width:100%}.weight-input[data-v-c3b08eaf]{display:flex;align-items:center}.percent-sign[data-v-c3b08eaf]{margin-left:4px}

+ 1 - 0
dist/assets/BatchStatusDialog.C49e3Ki0.js

@@ -0,0 +1 @@
+import{_ as o}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.Cx8OOK2x.js";import"./api.Cv-V8Qbc.js";import"./index.D93ign_E.js";import"./vue.D1BjjNmv.js";export{o as default};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/BatchStatusDialog.vue_vue_type_script_setup_true_lang.Cx8OOK2x.js


+ 1 - 0
dist/assets/BatchTagsDialog.BW2XQbn5.css

@@ -0,0 +1 @@
+.selected-count[data-v-2600e19d]{font-size:14px;color:#606266}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/BatchTagsDialog.C8cIYfzw.js


文件差异内容过多而无法显示
+ 0 - 0
dist/assets/BatchTagsDialog.D68f0zN5.js


+ 1 - 0
dist/assets/BatchTagsDialog.DTzxFghR.css

@@ -0,0 +1 @@
+.selected-count[data-v-b772118b]{font-size:14px;color:#606266}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/EditDialog.C4jJrzwk.js


+ 1 - 0
dist/assets/EditDialog.DObuRM_9.css

@@ -0,0 +1 @@
+.avatar-uploader[data-v-58df170d]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;width:100px;height:100px}.avatar-uploader[data-v-58df170d]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-58df170d]{font-size:28px;color:#8c939d;width:100px;height:100px;text-align:center;line-height:100px}.avatar[data-v-58df170d]{width:100px;height:100px;display:block}

文件差异内容过多而无法显示
+ 1 - 0
dist/assets/RoleDrawer.B2ufUzIA.js


+ 1 - 0
dist/assets/RoleDrawer.B5S87lfr.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pane-box[data-v-5806c300]{width:100vw;height:100vh;max-width:100%;max-height:100%;overflow:auto;padding:10px;background-color:#fff}

+ 1 - 0
dist/assets/RoleDrawer.ClKFTd_V.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pane-box[data-v-e4413274]{width:100vw;height:100vh;max-width:100%;max-height:100%;overflow:auto;padding:10px;background-color:#fff}

+ 1 - 0
dist/assets/RoleDrawer.DRbEysXF.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pane-box[data-v-7db8ef4a]{width:100vw;height:100vh;max-width:100%;max-height:100%;overflow:auto;padding:10px;background-color:#fff}

文件差异内容过多而无法显示
+ 1 - 0
dist/assets/RoleDrawer.jWQwoYrr.js


文件差异内容过多而无法显示
+ 1 - 0
dist/assets/RoleDrawer.r6rJgG6T.js


+ 1 - 0
dist/assets/RoleDrawerStores.Bmochpay.js

@@ -0,0 +1 @@
+import{d as t}from"./vue.D1BjjNmv.js";const s={drawerVisible:!1,roleId:void 0,roleName:void 0,users:[]},a=t("RoleDrawerStores",{state:()=>({...s}),actions:{handleDrawerOpen(e){this.drawerVisible=!0,this.set_state(e)},set_state(e){this.roleName=e.name,this.roleId=e.id,this.users=e.users},handleDrawerClose(){Object.assign(this.$state,s)}}});export{a as R};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/RoleMenuBtn.BZomYZgb.js


+ 1 - 0
dist/assets/RoleMenuBtn.CPugOL9O.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-279590c6]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-279590c6]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.btn-item[data-v-279590c6]{display:flex;align-items:center;justify-content:center}.btn-item .el-icon[data-v-279590c6]{margin-left:5px}.dialog-tree[data-v-279590c6]{width:100%;margin-top:20px}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/RoleMenuBtn.DViIE2om.js


+ 1 - 0
dist/assets/RoleMenuBtn.DkANYlbz.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-9065cc62]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-9065cc62]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.btn-item[data-v-9065cc62]{display:flex;align-items:center;justify-content:center}.btn-item .el-icon[data-v-9065cc62]{margin-left:5px}.dialog-tree[data-v-9065cc62]{width:100%;margin-top:20px}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/RoleMenuBtn.SoZzZ9rQ.js


+ 1 - 0
dist/assets/RoleMenuBtn._FVxn9Pr.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-37eb87a5]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-37eb87a5]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.btn-item[data-v-37eb87a5]{display:flex;align-items:center;justify-content:center}.btn-item .el-icon[data-v-37eb87a5]{margin-left:5px}.dialog-tree[data-v-37eb87a5]{width:100%;margin-top:20px}

+ 1 - 0
dist/assets/RoleMenuBtnStores.DfUoOZZZ.js

@@ -0,0 +1 @@
+import{d as n}from"./vue.D1BjjNmv.js";const o=n("RoleMenuBtnStores",{state:()=>[],actions:{setState(t){this.$state=t,this.$state.length=t.length},updateState(t){const e=this.$state.findIndex(s=>s.id===t.id);e!==-1&&(this.$state[e]=t)}}});export{o as R};

+ 1 - 0
dist/assets/RoleMenuBtnStores.Ds74f0Jk.js

@@ -0,0 +1 @@
+import{d as n}from"./vue.D1BjjNmv.js";const o=n("RoleMenuBtnStores",{state:()=>[],actions:{setState(t){this.$state=t,this.$state.length=t.length},updateState(t){const e=this.$state.findIndex(s=>s.id===t.id);e!==-1&&(this.$state[e]=t)}}});export{o as R};

+ 1 - 0
dist/assets/RoleMenuBtnStores._366l0YX.js

@@ -0,0 +1 @@
+import{d as n}from"./vue.D1BjjNmv.js";const o=n("RoleMenuBtnStores",{state:()=>[],actions:{setState(t){this.$state=t,this.$state.length=t.length},updateState(t){const e=this.$state.findIndex(s=>s.id===t.id);e!==-1&&(this.$state[e]=t)}}});export{o as R};

+ 1 - 0
dist/assets/RoleMenuField.CXsEJuew.js

@@ -0,0 +1 @@
+import{R as F,c as M}from"./api.C_0YneEa.js";import{R as w,a as $}from"./RoleMenuFieldStores.DM9AuVhQ.js";import{E as y}from"./index.D93ign_E.js";import{a as S,aj as h,c as l,M as N,u as r,o as a,b as t,S as m,P as k,K as v,R as p,a9 as _,Q as R}from"./vue.D1BjjNmv.js";import{_ as U}from"./_plugin-vue_export-helper.DlAUqK2U.js";const B={key:0,class:"pccm-item"},D={class:"menu-form-alert"},E={class:"columns-list"},H={class:"columns-head"},I={class:"columns-content"},j={class:"width-txt"},z=S({__name:"RoleMenuField",setup(K){const d=w(),f=$(),V=F(),b=(c,s,u)=>{for(const n of d.$state)n[s]=n[u]?n[s]:c},g=async()=>{const c=await M(V.$state.roleId,d.$state);y({message:c.msg,type:"success"})};return(c,s)=>{const u=h("el-button"),n=h("el-checkbox");return r(d).$state.length>0?(a(),l("div",B,[t("div",D,[m(u,{size:"small",onClick:g},{default:v(()=>s[0]||(s[0]=[k("保存 ")])),_:1}),s[1]||(s[1]=k(" 配置数据列字段权限 "))]),t("ul",E,[t("li",H,[s[2]||(s[2]=t("div",{class:"width-txt"},[t("span",null,"字段")],-1)),(a(!0),l(p,null,_(r(f).$state,(e,i)=>(a(),l("div",{key:i,class:"width-check"},[m(n,{modelValue:e.checked,"onUpdate:modelValue":o=>e.checked=o,onChange:o=>b(o,e.value,e.disabled)},{default:v(()=>[t("span",null,R(e.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t("div",I,[(a(!0),l(p,null,_(r(d).$state,(e,i)=>(a(),l("li",{key:i,class:"columns-item"},[t("div",j,R(e.title),1),(a(!0),l(p,null,_(r(f).$state,(o,x)=>(a(),l("div",{key:x,class:"width-check"},[m(n,{modelValue:e[o.value],"onUpdate:modelValue":C=>e[o.value]=C,class:"ci-checkout",disabled:e[o.disabled]},null,8,["modelValue","onUpdate:modelValue","disabled"])]))),128))]))),128))])])])):N("",!0)}}}),G=U(z,[["__scopeId","data-v-a964fc36"]]);export{G as default};

+ 1 - 0
dist/assets/RoleMenuField.Cih9SWcL.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-d89cef1a]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-d89cef1a]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.pccm-item .menu-form-btn[data-v-d89cef1a]{margin-left:10px;height:40px;padding:8px 16px;margin-bottom:20px}.pccm-item .btn-item[data-v-d89cef1a]{display:flex;align-items:center}.pccm-item .btn-item span[data-v-d89cef1a]{margin-left:5px}.pccm-item .columns-list .width-txt[data-v-d89cef1a]{width:200px}.pccm-item .columns-list .width-check[data-v-d89cef1a]{width:100px}.pccm-item .columns-list .width-icon[data-v-d89cef1a]{cursor:pointer}.pccm-item .columns-list .columns-head[data-v-d89cef1a]{display:flex;align-items:center;padding:6px 0;border-bottom:1px solid #ebeef5;box-sizing:border-box}.pccm-item .columns-list .columns-head span[data-v-d89cef1a]{font-weight:900}.pccm-item .columns-list .columns-content[data-v-d89cef1a]{max-height:calc(100vh - 240px);overflow-y:auto}.pccm-item .columns-list .columns-content .columns-item[data-v-d89cef1a]{display:flex;align-items:center;padding:6px 0;box-sizing:border-box}.pccm-item .columns-list .columns-content .columns-item .ci-checkout[data-v-d89cef1a]{height:auto!important}

+ 1 - 0
dist/assets/RoleMenuField.CyJupE3c.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-a964fc36]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-a964fc36]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.pccm-item .menu-form-btn[data-v-a964fc36]{margin-left:10px;height:40px;padding:8px 16px;margin-bottom:20px}.pccm-item .btn-item[data-v-a964fc36]{display:flex;align-items:center}.pccm-item .btn-item span[data-v-a964fc36]{margin-left:5px}.pccm-item .columns-list .width-txt[data-v-a964fc36]{width:200px}.pccm-item .columns-list .width-check[data-v-a964fc36]{width:100px}.pccm-item .columns-list .width-icon[data-v-a964fc36]{cursor:pointer}.pccm-item .columns-list .columns-head[data-v-a964fc36]{display:flex;align-items:center;padding:6px 0;border-bottom:1px solid #ebeef5;box-sizing:border-box}.pccm-item .columns-list .columns-head span[data-v-a964fc36]{font-weight:900}.pccm-item .columns-list .columns-content[data-v-a964fc36]{max-height:calc(100vh - 240px);overflow-y:auto}.pccm-item .columns-list .columns-content .columns-item[data-v-a964fc36]{display:flex;align-items:center;padding:6px 0;box-sizing:border-box}.pccm-item .columns-list .columns-content .columns-item .ci-checkout[data-v-a964fc36]{height:auto!important}

+ 1 - 0
dist/assets/RoleMenuField.DP822ku1.js

@@ -0,0 +1 @@
+import{R as F,c as M}from"./api.CcYVSrVb.js";import{R as w,a as $}from"./RoleMenuFieldStores.D-gdfxnU.js";import{E as y}from"./index.D93ign_E.js";import{a as S,aj as h,c as l,M as N,u as r,o as a,b as t,S as m,P as k,K as v,R as p,a9 as _,Q as R}from"./vue.D1BjjNmv.js";import{_ as U}from"./_plugin-vue_export-helper.DlAUqK2U.js";const B={key:0,class:"pccm-item"},D={class:"menu-form-alert"},E={class:"columns-list"},H={class:"columns-head"},I={class:"columns-content"},j={class:"width-txt"},z=S({__name:"RoleMenuField",setup(K){const d=w(),f=$(),V=F(),b=(c,s,u)=>{for(const n of d.$state)n[s]=n[u]?n[s]:c},g=async()=>{const c=await M(V.$state.roleId,d.$state);y({message:c.msg,type:"success"})};return(c,s)=>{const u=h("el-button"),n=h("el-checkbox");return r(d).$state.length>0?(a(),l("div",B,[t("div",D,[m(u,{size:"small",onClick:g},{default:v(()=>s[0]||(s[0]=[k("保存 ")])),_:1}),s[1]||(s[1]=k(" 配置数据列字段权限 "))]),t("ul",E,[t("li",H,[s[2]||(s[2]=t("div",{class:"width-txt"},[t("span",null,"字段")],-1)),(a(!0),l(p,null,_(r(f).$state,(e,i)=>(a(),l("div",{key:i,class:"width-check"},[m(n,{modelValue:e.checked,"onUpdate:modelValue":o=>e.checked=o,onChange:o=>b(o,e.value,e.disabled)},{default:v(()=>[t("span",null,R(e.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t("div",I,[(a(!0),l(p,null,_(r(d).$state,(e,i)=>(a(),l("li",{key:i,class:"columns-item"},[t("div",j,R(e.title),1),(a(!0),l(p,null,_(r(f).$state,(o,x)=>(a(),l("div",{key:x,class:"width-check"},[m(n,{modelValue:e[o.value],"onUpdate:modelValue":C=>e[o.value]=C,class:"ci-checkout",disabled:e[o.disabled]},null,8,["modelValue","onUpdate:modelValue","disabled"])]))),128))]))),128))])])])):N("",!0)}}}),G=U(z,[["__scopeId","data-v-d89cef1a"]]);export{G as default};

+ 1 - 0
dist/assets/RoleMenuField.pgHolN09.js

@@ -0,0 +1 @@
+import{R as F}from"./RoleDrawerStores.Bmochpay.js";import{R as M,a as w}from"./RoleMenuFieldStores.1tuZt4kb.js";import{c as $}from"./api.Chpe9Vbl.js";import{E as y}from"./index.D93ign_E.js";import{a as S,aj as h,c as l,M as N,u as c,o as a,b as t,S as m,P as k,K as v,R as p,a9 as _,Q as R}from"./vue.D1BjjNmv.js";import{_ as U}from"./_plugin-vue_export-helper.DlAUqK2U.js";const B={key:0,class:"pccm-item"},D={class:"menu-form-alert"},E={class:"columns-list"},H={class:"columns-head"},I={class:"columns-content"},j={class:"width-txt"},z=S({__name:"RoleMenuField",setup(K){const d=M(),f=w(),V=F(),b=(r,s,u)=>{for(const n of d.$state)n[s]=n[u]?n[s]:r},g=async()=>{const r=await $(V.$state.roleId,d.$state);y({message:r.msg,type:"success"})};return(r,s)=>{const u=h("el-button"),n=h("el-checkbox");return c(d).$state.length>0?(a(),l("div",B,[t("div",D,[m(u,{size:"small",onClick:g},{default:v(()=>s[0]||(s[0]=[k("保存 ")])),_:1}),s[1]||(s[1]=k(" 配置数据列字段权限 "))]),t("ul",E,[t("li",H,[s[2]||(s[2]=t("div",{class:"width-txt"},[t("span",null,"字段")],-1)),(a(!0),l(p,null,_(c(f).$state,(e,i)=>(a(),l("div",{key:i,class:"width-check"},[m(n,{modelValue:e.checked,"onUpdate:modelValue":o=>e.checked=o,onChange:o=>b(o,e.value,e.disabled)},{default:v(()=>[t("span",null,R(e.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t("div",I,[(a(!0),l(p,null,_(c(d).$state,(e,i)=>(a(),l("li",{key:i,class:"columns-item"},[t("div",j,R(e.title),1),(a(!0),l(p,null,_(c(f).$state,(o,x)=>(a(),l("div",{key:x,class:"width-check"},[m(n,{modelValue:e[o.value],"onUpdate:modelValue":C=>e[o.value]=C,class:"ci-checkout",disabled:e[o.disabled]},null,8,["modelValue","onUpdate:modelValue","disabled"])]))),128))]))),128))])])])):N("",!0)}}}),J=U(z,[["__scopeId","data-v-1591739e"]]);export{J as default};

+ 1 - 0
dist/assets/RoleMenuField.y-o-mWcm.css

@@ -0,0 +1 @@
+@charset "UTF-8";.pccm-item[data-v-1591739e]{margin-bottom:10px}.pccm-item .menu-form-alert[data-v-1591739e]{color:#fff;line-height:24px;padding:8px 16px;margin-bottom:20px;border-radius:4px;background-color:var(--el-color-primary)}.pccm-item .menu-form-btn[data-v-1591739e]{margin-left:10px;height:40px;padding:8px 16px;margin-bottom:20px}.pccm-item .btn-item[data-v-1591739e]{display:flex;align-items:center}.pccm-item .btn-item span[data-v-1591739e]{margin-left:5px}.pccm-item .columns-list .width-txt[data-v-1591739e]{width:200px}.pccm-item .columns-list .width-check[data-v-1591739e]{width:100px}.pccm-item .columns-list .width-icon[data-v-1591739e]{cursor:pointer}.pccm-item .columns-list .columns-head[data-v-1591739e]{display:flex;align-items:center;padding:6px 0;border-bottom:1px solid #ebeef5;box-sizing:border-box}.pccm-item .columns-list .columns-head span[data-v-1591739e]{font-weight:900}.pccm-item .columns-list .columns-content[data-v-1591739e]{max-height:calc(100vh - 240px);overflow-y:auto}.pccm-item .columns-list .columns-content .columns-item[data-v-1591739e]{display:flex;align-items:center;padding:6px 0;box-sizing:border-box}.pccm-item .columns-list .columns-content .columns-item .ci-checkout[data-v-1591739e]{height:auto!important}

+ 1 - 0
dist/assets/RoleMenuFieldStores.1tuZt4kb.js

@@ -0,0 +1 @@
+import{d as a}from"./vue.D1BjjNmv.js";const l=a("RoleMenuFieldStores",{state:()=>[],actions:{setState(e){this.$state=e,this.$state.length=e.length}}}),t=a("RoleMenuFieldHeaderStores",{state:()=>[{value:"is_create",label:"新增可见",disabled:"disabled_create",checked:!1},{value:"is_update",label:"编辑可见",disabled:"disabled_update",checked:!1},{value:"is_query",label:"列表可见",disabled:"disabled_query",checked:!1}]});export{l as R,t as a};

+ 1 - 0
dist/assets/RoleMenuFieldStores.D-gdfxnU.js

@@ -0,0 +1 @@
+import{d as a}from"./vue.D1BjjNmv.js";const l=a("RoleMenuFieldStores",{state:()=>[],actions:{setState(e){this.$state=e,this.$state.length=e.length}}}),t=a("RoleMenuFieldHeaderStores",{state:()=>[{value:"is_create",label:"新增可见",disabled:"disabled_create",checked:!1},{value:"is_update",label:"编辑可见",disabled:"disabled_update",checked:!1},{value:"is_query",label:"列表可见",disabled:"disabled_query",checked:!1}]});export{l as R,t as a};

+ 1 - 0
dist/assets/RoleMenuFieldStores.DM9AuVhQ.js

@@ -0,0 +1 @@
+import{d as a}from"./vue.D1BjjNmv.js";const l=a("RoleMenuFieldStores",{state:()=>[],actions:{setState(e){this.$state=e,this.$state.length=e.length}}}),t=a("RoleMenuFieldHeaderStores",{state:()=>[{value:"is_create",label:"新增可见",disabled:"disabled_create",checked:!1},{value:"is_update",label:"编辑可见",disabled:"disabled_update",checked:!1},{value:"is_query",label:"列表可见",disabled:"disabled_query",checked:!1}]});export{l as R,t as a};

+ 1 - 0
dist/assets/RoleMenuTree.CYV9lzCp.js

@@ -0,0 +1 @@
+import{R as h,d as p,e as R,f as M}from"./api.CcYVSrVb.js";import{R as k}from"./RoleMenuTreeStores.CZ0jnT_Y.js";import{R as _}from"./RoleMenuBtnStores.DfUoOZZZ.js";import{R as g,a as C}from"./RoleMenuFieldStores.D-gdfxnU.js";import{a9 as y,E as S}from"./index.D93ign_E.js";import{a as I,r as c,q as v,aj as T,J as w,o as B}from"./vue.D1BjjNmv.js";const q=I({__name:"RoleMenuTree",setup(F){const o=h(),d=k(),s=_(),l=g(),u=C(),a=c([]),r=c([]),i={children:"children",label:"name",value:"id"},m=(e,t)=>{R({roleId:o.roleId,menuId:e.id,isCheck:t}).then(n=>{S({message:n.msg,type:"success"})})},f=async e=>{if(e.is_catalog)s.setState([]),l.setState([]);else{d.setRoleMenuTree(e);const{data:t}=await M({roleId:o.roleId,menuId:e.id});s.setState(t.menu_btn),l.setState(t.menu_field)}u.$reset()};return v(async()=>{a.value=await p({roleId:o.roleId}),r.value=y.toTreeArray(a.value).filter(e=>e.isCheck).map(e=>e.id)}),(e,t)=>{const n=T("el-tree");return B(),w(n,{ref:"treeRef",data:a.value,props:i,"default-checked-keys":r.value,onCheckChange:m,onNodeClick:f,"node-key":"id","check-strictly":"","highlight-current":"","show-checkbox":"","default-expand-all":""},null,8,["data","default-checked-keys"])}}});export{q as default};

+ 1 - 0
dist/assets/RoleMenuTree.CxPcMwOn.js

@@ -0,0 +1 @@
+import{R as p}from"./RoleDrawerStores.Bmochpay.js";import{R as h}from"./RoleMenuTreeStores.Dj-SlS5F.js";import{R}from"./RoleMenuBtnStores.Ds74f0Jk.js";import{R as M,a as k}from"./RoleMenuFieldStores.1tuZt4kb.js";import{d as _,e as g,f as C}from"./api.Chpe9Vbl.js";import{a9 as y,E as S}from"./index.D93ign_E.js";import{a as I,r as c,q as v,aj as T,J as w,o as B}from"./vue.D1BjjNmv.js";const A=I({__name:"RoleMenuTree",setup(F){const o=p(),d=h(),s=R(),r=M(),u=k(),a=c([]),l=c([]),i={children:"children",label:"name",value:"id"},m=(e,t)=>{g({roleId:o.roleId,menuId:e.id,isCheck:t}).then(n=>{S({message:n.msg,type:"success"})})},f=async e=>{if(e.is_catalog)s.setState([]),r.setState([]);else{d.setRoleMenuTree(e);const{data:t}=await C({roleId:o.roleId,menuId:e.id});s.setState(t.menu_btn),r.setState(t.menu_field)}u.$reset()};return v(async()=>{a.value=await _({roleId:o.roleId}),l.value=y.toTreeArray(a.value).filter(e=>e.isCheck).map(e=>e.id)}),(e,t)=>{const n=T("el-tree");return B(),w(n,{ref:"treeRef",data:a.value,props:i,"default-checked-keys":l.value,onCheckChange:m,onNodeClick:f,"node-key":"id","check-strictly":"","highlight-current":"","show-checkbox":"","default-expand-all":""},null,8,["data","default-checked-keys"])}}});export{A as default};

+ 1 - 0
dist/assets/RoleMenuTree.DiOWI6o9.js

@@ -0,0 +1 @@
+import{R as h,d as p,e as R,f as M}from"./api.C_0YneEa.js";import{R as k}from"./RoleMenuTreeStores.DRP8kLzh.js";import{R as _}from"./RoleMenuBtnStores._366l0YX.js";import{R as g,a as C}from"./RoleMenuFieldStores.DM9AuVhQ.js";import{a9 as y,E as S}from"./index.D93ign_E.js";import{a as I,r as c,q as v,aj as T,J as w,o as B}from"./vue.D1BjjNmv.js";const q=I({__name:"RoleMenuTree",setup(F){const o=h(),d=k(),s=_(),l=g(),u=C(),a=c([]),r=c([]),i={children:"children",label:"name",value:"id"},m=(e,t)=>{R({roleId:o.roleId,menuId:e.id,isCheck:t}).then(n=>{S({message:n.msg,type:"success"})})},f=async e=>{if(e.is_catalog)s.setState([]),l.setState([]);else{d.setRoleMenuTree(e);const{data:t}=await M({roleId:o.roleId,menuId:e.id});s.setState(t.menu_btn),l.setState(t.menu_field)}u.$reset()};return v(async()=>{a.value=await p({roleId:o.roleId}),r.value=y.toTreeArray(a.value).filter(e=>e.isCheck).map(e=>e.id)}),(e,t)=>{const n=T("el-tree");return B(),w(n,{ref:"treeRef",data:a.value,props:i,"default-checked-keys":r.value,onCheckChange:m,onNodeClick:f,"node-key":"id","check-strictly":"","highlight-current":"","show-checkbox":"","default-expand-all":""},null,8,["data","default-checked-keys"])}}});export{q as default};

+ 1 - 0
dist/assets/RoleMenuTreeStores.CZ0jnT_Y.js

@@ -0,0 +1 @@
+import{d as t}from"./vue.D1BjjNmv.js";const o=t("RoleMenuTreeStores",{state:()=>({id:0,parent:0,name:"",isCheck:!1,is_catalog:!1}),actions:{setRoleMenuTree(e){this.$state=e}}});export{o as R};

+ 1 - 0
dist/assets/RoleMenuTreeStores.DRP8kLzh.js

@@ -0,0 +1 @@
+import{d as t}from"./vue.D1BjjNmv.js";const o=t("RoleMenuTreeStores",{state:()=>({id:0,parent:0,name:"",isCheck:!1,is_catalog:!1}),actions:{setRoleMenuTree(e){this.$state=e}}});export{o as R};

+ 1 - 0
dist/assets/RoleMenuTreeStores.Dj-SlS5F.js

@@ -0,0 +1 @@
+import{d as t}from"./vue.D1BjjNmv.js";const o=t("RoleMenuTreeStores",{state:()=>({id:0,parent:0,name:"",isCheck:!1,is_catalog:!1}),actions:{setRoleMenuTree(e){this.$state=e}}});export{o as R};

+ 1 - 0
dist/assets/RoleUsers.BGGbfBJk.js

@@ -0,0 +1 @@
+import{R as m}from"./RoleDrawerStores.Bmochpay.js";import{R as p}from"./RoleUsersStores.Dr02XviG.js";import{h as u}from"./api.Chpe9Vbl.js";import{E as _}from"./index.D93ign_E.js";import{a as d,aj as f,J as i,o as c,u as o}from"./vue.D1BjjNmv.js";const k=d({__name:"RoleUsers",setup(R){const r=m(),t=p(),l=(n,e,a)=>{u(r.$state.roleId,{direction:e,movedKeys:a}).then(s=>{r.set_state(s.data),_({message:s.msg,type:"success"})})};return(n,e)=>{const a=f("el-transfer");return c(),i(a,{modelValue:o(t).$state.right_users,"onUpdate:modelValue":e[0]||(e[0]=s=>o(t).$state.right_users=s),filterable:"",titles:["未授权用户","已授权用户"],data:o(t).$state.all_users,props:{key:"id",label:"name"},onChange:l},null,8,["modelValue","data"])}}});export{k as default};

+ 1 - 0
dist/assets/RoleUsers.dZjjxc0g.js

@@ -0,0 +1 @@
+import{R as m,h as p}from"./api.C_0YneEa.js";import{R as u}from"./RoleUsersStores.lOus955Q.js";import{E as _}from"./index.D93ign_E.js";import{a as d,aj as c,J as f,o as i,u as o}from"./vue.D1BjjNmv.js";const $=d({__name:"RoleUsers",setup(R){const r=m(),t=u(),l=(n,e,a)=>{p(r.$state.roleId,{direction:e,movedKeys:a}).then(s=>{r.set_state(s.data),_({message:s.msg,type:"success"})})};return(n,e)=>{const a=c("el-transfer");return i(),f(a,{modelValue:o(t).$state.right_users,"onUpdate:modelValue":e[0]||(e[0]=s=>o(t).$state.right_users=s),filterable:"",titles:["未授权用户","已授权用户"],data:o(t).$state.all_users,props:{key:"id",label:"name"},onChange:l},null,8,["modelValue","data"])}}});export{$ as default};

+ 1 - 0
dist/assets/RoleUsers.yY323BbL.js

@@ -0,0 +1 @@
+import{R as m,h as p}from"./api.CcYVSrVb.js";import{R as u}from"./RoleUsersStores.CGEBHEY0.js";import{E as _}from"./index.D93ign_E.js";import{a as d,aj as c,J as f,o as i,u as o}from"./vue.D1BjjNmv.js";const $=d({__name:"RoleUsers",setup(R){const r=m(),t=u(),l=(n,e,a)=>{p(r.$state.roleId,{direction:e,movedKeys:a}).then(s=>{r.set_state(s.data),_({message:s.msg,type:"success"})})};return(n,e)=>{const a=c("el-transfer");return i(),f(a,{modelValue:o(t).$state.right_users,"onUpdate:modelValue":e[0]||(e[0]=s=>o(t).$state.right_users=s),filterable:"",titles:["未授权用户","已授权用户"],data:o(t).$state.all_users,props:{key:"id",label:"name"},onChange:l},null,8,["modelValue","data"])}}});export{$ as default};

+ 1 - 0
dist/assets/RoleUsersStores.CGEBHEY0.js

@@ -0,0 +1 @@
+import{d as e}from"./vue.D1BjjNmv.js";import{g as r}from"./api.CcYVSrVb.js";import{a9 as o}from"./index.D93ign_E.js";const _=e("RoleUsersStores",{state:()=>({all_users:[],right_users:[]}),actions:{get_all_users(){r().then(s=>{this.$state.all_users=s})},set_right_users(s){this.$state.right_users=o.map(s,t=>t.id)}}});export{_ as R};

+ 1 - 0
dist/assets/RoleUsersStores.Dr02XviG.js

@@ -0,0 +1 @@
+import{d as e}from"./vue.D1BjjNmv.js";import{g as r}from"./api.Chpe9Vbl.js";import{a9 as o}from"./index.D93ign_E.js";const _=e("RoleUsersStores",{state:()=>({all_users:[],right_users:[]}),actions:{get_all_users(){r().then(s=>{this.$state.all_users=s})},set_right_users(s){this.$state.right_users=o.map(s,t=>t.id)}}});export{_ as R};

+ 1 - 0
dist/assets/RoleUsersStores.lOus955Q.js

@@ -0,0 +1 @@
+import{d as e}from"./vue.D1BjjNmv.js";import{g as r}from"./api.C_0YneEa.js";import{a9 as o}from"./index.D93ign_E.js";const _=e("RoleUsersStores",{state:()=>({all_users:[],right_users:[]}),actions:{get_all_users(){r().then(s=>{this.$state.all_users=s})},set_right_users(s){this.$state.right_users=o.map(s,t=>t.id)}}});export{_ as R};

+ 1 - 0
dist/assets/_plugin-vue_export-helper.DlAUqK2U.js

@@ -0,0 +1 @@
+const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/account.BohLL_sV.js


+ 1 - 0
dist/assets/account.Cpt3Sh5z.css

@@ -0,0 +1 @@
+.login-content-form[data-v-4caf0c24]{margin-top:20px}.login-content-form .login-animation1[data-v-4caf0c24]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.1s}.login-content-form .login-animation2[data-v-4caf0c24]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.2s}.login-content-form .login-animation3[data-v-4caf0c24]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.3s}.login-content-form .login-animation4[data-v-4caf0c24]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.4s}.login-content-form .login-content-password[data-v-4caf0c24]{display:inline-block;width:20px;cursor:pointer}.login-content-form .login-content-password[data-v-4caf0c24]:hover{color:#909399}.login-content-form .login-content-captcha[data-v-4caf0c24]{width:100%;padding:0;font-weight:700;letter-spacing:5px}.login-content-form .login-content-submit[data-v-4caf0c24]{width:100%;letter-spacing:2px;font-weight:800;margin-top:15px}

+ 1 - 0
dist/assets/addContent.Bngq37FB.js

@@ -0,0 +1 @@
+import{_ as o}from"./addContent.vue_vue_type_script_setup_true_lang.tnqFXTYc.js";import"./api.gpOMTCDH.js";import"./index.D93ign_E.js";import"./vue.D1BjjNmv.js";import"./associationTable.vue_vue_type_script_setup_true_lang.nGWCYvzq.js";import"./dictionary.D3oPLwQH.js";export{o as default};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/addContent.vue_vue_type_script_setup_true_lang.tnqFXTYc.js


+ 1 - 0
dist/assets/addTabs.Cn2X00iO.js

@@ -0,0 +1 @@
+import{_ as o}from"./addTabs.vue_vue_type_script_setup_true_lang.BFADWu-6.js";import"./api.gpOMTCDH.js";import"./index.D93ign_E.js";import"./vue.D1BjjNmv.js";export{o as default};

+ 1 - 0
dist/assets/addTabs.vue_vue_type_script_setup_true_lang.BFADWu-6.js

@@ -0,0 +1 @@
+import{A as V}from"./api.gpOMTCDH.js";import{s as b}from"./index.D93ign_E.js";import{a as g,_ as f,r as v,i as x,aj as u,c as w,o as C,S as t,K as l,u as s,P as p}from"./vue.D1BjjNmv.js";const j={style:{padding:"20px"}},R=g({__name:"addTabs",setup(A){let o=f({title:null,key:null});const i=v(),_=f({title:[{required:!0,message:"请输入"}],key:[{required:!0,message:"请输入"},{pattern:/^[A-Za-z0-9]+$/,message:"只能是英文和数字"}]}),c=x("refreshView"),y=async m=>{m&&await m.validate((e,r)=>{e?V(o).then(n=>{n.code==2e3&&(b("新增成功"),c())}):console.log("error submit!",r)})};return(m,e)=>{const r=u("el-input"),n=u("el-form-item"),d=u("el-button"),k=u("el-form");return C(),w("div",j,[t(k,{ref_key:"formRef",ref:i,model:s(o),rules:_,"label-width":"80px"},{default:l(()=>[t(n,{label:"标题",prop:"title"},{default:l(()=>[t(r,{modelValue:s(o).title,"onUpdate:modelValue":e[0]||(e[0]=a=>s(o).title=a)},null,8,["modelValue"])]),_:1}),t(n,{label:"key值",prop:"key"},{default:l(()=>[t(r,{modelValue:s(o).key,"onUpdate:modelValue":e[1]||(e[1]=a=>s(o).key=a)},null,8,["modelValue"])]),_:1}),t(n,null,{default:l(()=>[t(d,{type:"primary",onClick:e[2]||(e[2]=a=>y(i.value))},{default:l(()=>e[3]||(e[3]=[p("立即创建")])),_:1}),t(d,null,{default:l(()=>e[4]||(e[4]=[p("取消")])),_:1})]),_:1})]),_:1},8,["model","rules"])])}}});export{R as _};

+ 1 - 0
dist/assets/api.C-HcXaQ1.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";const n="/api/system/digital_human/";function a(t){return e({url:n,method:"get",params:{...t,tenant_id:1}})}function u(t){return e({url:n+t,method:"get"})}function i(t){return e({url:n,method:"post",data:{...t,tenant_id:1}})}function d(t){return e({url:n+t.id+"/",method:"put",data:{...t,tenant_id:1}})}function o(t){return e({url:n+t+"/",method:"delete",data:{id:t,tenant_id:1}})}function s(){return e({url:n,method:"get"})}export{i as A,o as D,u as G,d as U,s as a,a as b};

+ 1 - 0
dist/assets/api.CM4WpO4H.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";const r="/api/system/dept/";function a(t){return e({url:r,method:"get",params:t})}function n(t){return e({url:r,method:"post",data:t})}function u(t){return e({url:r+t.id+"/",method:"put",data:t})}function d(t){return e({url:r+t+"/",method:"delete"})}function s(t){return e({url:r,method:"get",params:t})}function p(t){return e({url:r+"move_up/",method:"post",data:t})}function m(t){return e({url:r+"move_down/",method:"post",data:t})}export{n as A,d as D,a as G,u as U,m as a,p as d,s as l};

+ 1 - 0
dist/assets/api.C_0YneEa.js

@@ -0,0 +1 @@
+import{d as o}from"./vue.D1BjjNmv.js";import{r as t,a9 as n}from"./index.D93ign_E.js";const s={drawerVisible:!1,roleId:void 0,roleName:void 0,users:[]},i=o("RoleDrawerStores",{state:()=>({...s}),actions:{handleDrawerOpen(e){this.drawerVisible=!0,this.set_state(e)},set_state(e){this.roleName=e.name,this.roleId=e.id,this.users=e.users},handleDrawerClose(){Object.assign(this.$state,s)}}});function l(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu/",method:"get",params:e}).then(r=>n.toArrayTree(r.data,{key:"id",parentKey:"parent",children:"children",strict:!1}))}function m(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu/",method:"put",data:e})}function _(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu_btn_field/",method:"get",params:e})}function d(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn/",method:"put",data:e})}function p(e,r){return t({url:`/api/system/role_menu_button_permission/${e}/set_role_menu_field/`,method:"put",data:r})}function h(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn_data_range/",method:"put",data:e})}function c(e){return t({url:"/api/system/role_menu_button_permission/role_to_dept_all/",method:"get",params:e})}function f(){return t({url:"/api/system/user/",method:"get",params:{limit:999}}).then(e=>n.map(e.data,r=>({id:r.id,name:r.name})))}function b(e,r){return t({url:`/api/system/role/${e}/set_role_users/`,method:"put",data:r})}export{i as R,c as a,d as b,p as c,l as d,m as e,_ as f,f as g,b as h,h as s};

+ 1 - 0
dist/assets/api.CcYVSrVb.js

@@ -0,0 +1 @@
+import{d as o}from"./vue.D1BjjNmv.js";import{r as t,a9 as n}from"./index.D93ign_E.js";const s={drawerVisible:!1,roleId:void 0,roleName:void 0,users:[]},i=o("RoleDrawerStores",{state:()=>({...s}),actions:{handleDrawerOpen(e){this.drawerVisible=!0,this.set_state(e)},set_state(e){this.roleName=e.name,this.roleId=e.id,this.users=e.users},handleDrawerClose(){Object.assign(this.$state,s)}}});function l(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu/",method:"get",params:e}).then(r=>n.toArrayTree(r.data,{key:"id",parentKey:"parent",children:"children",strict:!1}))}function m(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu/",method:"put",data:e})}function _(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu_btn_field/",method:"get",params:e})}function d(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn/",method:"put",data:e})}function p(e,r){return t({url:`/api/system/role_menu_button_permission/${e}/set_role_menu_field/`,method:"put",data:r})}function h(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn_data_range/",method:"put",data:e})}function c(e){return t({url:"/api/system/role_menu_button_permission/role_to_dept_all/",method:"get",params:e})}function f(){return t({url:"/api/system/user/",method:"get",params:{limit:999}}).then(e=>n.map(e.data,r=>({id:r.id,name:r.name})))}function b(e,r){return t({url:`/api/system/role/${e}/set_role_users/`,method:"put",data:r})}export{i as R,c as a,d as b,p as c,l as d,m as e,_ as f,f as g,b as h,h as s};

+ 1 - 0
dist/assets/api.Chpe9Vbl.js

@@ -0,0 +1 @@
+import{r as t,a9 as r}from"./index.D93ign_E.js";function u(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu/",method:"get",params:e}).then(n=>r.toArrayTree(n.data,{key:"id",parentKey:"parent",children:"children",strict:!1}))}function o(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu/",method:"put",data:e})}function a(e){return t({url:"/api/system/role_menu_button_permission/get_role_menu_btn_field/",method:"get",params:e})}function m(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn/",method:"put",data:e})}function i(e,n){return t({url:`/api/system/role_menu_button_permission/${e}/set_role_menu_field/`,method:"put",data:n})}function l(e){return t({url:"/api/system/role_menu_button_permission/set_role_menu_btn_data_range/",method:"put",data:e})}function _(e){return t({url:"/api/system/role_menu_button_permission/role_to_dept_all/",method:"get",params:e})}function p(){return t({url:"/api/system/user/",method:"get",params:{limit:999}}).then(e=>r.map(e.data,n=>({id:n.id,name:n.name})))}function d(e,n){return t({url:`/api/system/role/${e}/set_role_users/`,method:"put",data:n})}function c(e){return t({url:"/api/system/competency/list",method:"get",params:{...e,tenant_id:1}})}export{c as G,_ as a,m as b,i as c,u as d,o as e,a as f,p as g,d as h,l as s};

+ 1 - 0
dist/assets/api.CinmTVMX.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";function s(t){return e({url:"api/system/job/questions",method:"get",params:{...t,tenant_id:"1"}})}function u(t){return e({url:"api/system/job/add_question",method:"post",data:{...t,tenant_id:"1"}})}function a(t){return e({url:"/api/system/interview_question/update",method:"post",data:{...t,tenant_id:"1"}})}function i(t){return e({url:"api/system/job/delete_question",method:"post",data:t})}function r(t){return e({url:"/api/system/job/list",method:"get",params:{...t,tenant_id:"1"}})}function d(t){return e({url:"/api/system/document-categories/",method:"post",data:{...t,tenant_id:"1"}})}function m(t){return e({url:`/api/system/document-categories/${t.id}/`,method:"put",data:{...t,tenant_id:"1"}})}function c(t){return e({url:`/api/system/document-categories/${t}/`,method:"delete"})}function p(t,n=6e4){return e({url:"/api/system/interview_question/list",method:"get",params:t,timeout:n})}function l(t){return e({url:"/api/system/job/update_question_sequence_numbers",method:"post",data:t})}function y(){return e({url:"/api/wechat/question_type_enums",method:"get"})}export{d as A,i as D,s as G,m as U,y as a,p as b,a as c,u as d,r as e,c as f,l as g};

+ 1 - 0
dist/assets/api.CpcQPcfj.js

@@ -0,0 +1 @@
+import{r as a}from"./index.D93ign_E.js";const e="/api/system/talent_pool/list";function s(t){return a({url:e,method:"get",params:{...t,tenant_id:1}})}function u(t){return a({url:e,method:"post",data:t})}function r(t){return a({url:e+t.id+"/",method:"put",data:t})}function i(t){return a({url:`/api/system/job_applications/${t}/?tenant_id=1`,method:"delete",data:{id:t}})}function o(t){return a({url:e,method:"get",params:{...t,tenant_id:1}})}function p(t){return a({url:"/api/system/job_applications/bulk_update_status/",method:"post",data:t})}function d(){return a({url:"/api/system/job/application_status_summary/?tenant_id=1",method:"get"})}export{u as A,i as D,s as G,r as U,o as a,d as g,p as u};

+ 1 - 0
dist/assets/api.Cv-V8Qbc.js

@@ -0,0 +1 @@
+import{r as a}from"./index.D93ign_E.js";const e="/api/system/job_applications/";function s(t){return a({url:e,method:"get",params:{...t,tenant_id:1}})}function u(t){return a({url:e,method:"post",data:t})}function r(t){return a({url:e+t.id+"/",method:"put",data:t})}function i(t){return a({url:`/api/system/job_applications/${t}/?tenant_id=1`,method:"delete",data:{id:t}})}function o(){return a({url:e,method:"get"})}function p(t){return a({url:"/api/system/job/batch_update_application_status/",method:"post",data:t})}function d(){return a({url:"/api/system/job/application_status_summary/?tenant_id=1",method:"get"})}export{u as A,i as D,o as G,r as U,s as a,d as g,p as u};

+ 1 - 0
dist/assets/api.CwKatIT6.js

@@ -0,0 +1 @@
+import{r as u}from"./index.D93ign_E.js";function e(t){return u({url:"/api/system/column/",method:"get",params:t})}function o(t){return u({url:"/api/system/column/auto_match_fields/",method:"post",data:t})}function s(t){return u({url:"/api/system/column/",method:"post",data:t})}function m(t){return u({url:`/api/system/column/${t}/`,method:"delete"})}function n(t){return u({url:`/api/system/column/${t.id}/`,method:"put",data:t})}export{s as a,o as b,m as d,e as g,n as u};

+ 1 - 0
dist/assets/api.D6TdfT1n.js

@@ -0,0 +1 @@
+import{r,S as u}from"./index.D93ign_E.js";let t="/api/system/menu/";u.get("superKey")==="super_admin_role"?t="/api/system/superadmin/menus/":t="/api/system/menu/";function a(e){return r({url:t,method:"get",params:e})}function s(e){return r({url:t,method:"post",data:e})}function o(e){return r({url:t+e.id+"/",method:"put",data:e})}function m(e){return r({url:t+e+"/",method:"delete"})}function d(e){return r({url:t,method:"get",params:e})}function i(e){return r({url:t+"move_up/",method:"post",data:e})}function p(e){return r({url:t+"move_down/",method:"post",data:e})}export{s as A,m as D,a as G,o as U,p as a,d as l,i as m};

+ 1 - 0
dist/assets/api.DFVyvDs2.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";function n(t){return e({url:"/api/system/job/list",method:"get",params:{...t,tenant_id:"1"}})}function s(t){return e({url:"/api/system/job/detail?id="+t+"&tenant_id=1",method:"get"})}function r(t){return e({url:"/api/system/job/create",method:"post",data:{...t,tenant_id:"1"}})}function i(t){return e({url:"/api/system/job/update",method:"post",data:{...t,tenant_id:"1"}})}function o(t){return e({url:"/api/system/job/delete",method:"delete",data:{id:t,tenant_id:"1"}})}function d(t){return e({url:"/api/system/competency/batch_bind",method:"post",data:t})}function u(t){return e({url:"/api/system/competency/list",method:"get",params:{...t,tenant_id:1}})}export{r as A,d as B,o as D,u as G,i as U,s as a,n as b};

+ 1 - 0
dist/assets/api.Dqf6s5No.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";function a(t){return e({url:"/api/system/interview_question/list",method:"get",params:{...t,tenant_id:1}})}function n(t){return e({url:"/api/system/interview_question/create",method:"post",data:{...t,tenant_id:"1"}})}function i(t){return e({url:"/api/system/interview_question/update",method:"put",data:{...t,tenant_id:"1"}})}function r(t){return e({url:"/api/system/interview_question/delete",method:"delete",data:{id:t}})}function o(t){return e({url:"/api/system/question_tag/list",method:"get",params:{...t,tenant_id:1}})}function u(t){return e({url:"/api/system/question_category/list",method:"get",params:{...t,tenant_id:1}})}function p(t){return e({url:"/api/system/interview_question/batch_update_tags",method:"post",data:t})}function d(t){return e({url:"/api/system/job/list",method:"get",params:t})}function m(t){return e({url:"/api/system/interview_question/batch_update_category",method:"post",data:t})}function c(){return e({url:"/api/wechat/question_type_enums",method:"get"})}const _=t=>e({url:"/api/system/question/batch_update_competency_tags",method:"post",data:t});function y(t){return e({url:"/api/system/competency/list",method:"get",params:{...t,tenant_id:1}})}export{n as A,p as B,r as D,u as G,i as U,o as a,d as b,c,y as d,a as e,m as f,_ as g};

+ 1 - 0
dist/assets/api.DyhC7EOd.js

@@ -0,0 +1 @@
+import{r as a}from"./index.D93ign_E.js";function r(){return a({url:"/api/captcha/",method:"get"})}function e(t){return a({url:"/api/login/",method:"post",data:t})}function n(t){return a({url:"/api/system/user/login_change_password/",method:"post",data:t})}export{n as a,r as g,e as l};

+ 1 - 0
dist/assets/api.gpOMTCDH.js

@@ -0,0 +1 @@
+import{r as e}from"./index.D93ign_E.js";const r="/api/system/system_config/";function a(t){return e({url:r,method:"get",params:t})}function s(t){return e({url:r,method:"post",data:t})}function u(t){return e({url:r+t.id+"/",method:"put",data:t})}function o(t){return e({url:r+t+"/",method:"delete",data:{id:t}})}function d(t){return e({url:r+"save_content/",method:"put",data:t})}export{s as A,o as D,a as G,u as U,d as s};

文件差异内容过多而无法显示
+ 1 - 0
dist/assets/aside.BR-3iPLh.js


+ 1 - 0
dist/assets/associationTable.DPXCQcKF.js

@@ -0,0 +1 @@
+import{_ as o}from"./associationTable.vue_vue_type_script_setup_true_lang.nGWCYvzq.js";import"./index.D93ign_E.js";import"./vue.D1BjjNmv.js";export{o as default};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/associationTable.vue_vue_type_script_setup_true_lang.nGWCYvzq.js


+ 1 - 0
dist/assets/authFunction.BLxX_QUS.js

@@ -0,0 +1 @@
+import{a8 as s}from"./index.D93ign_E.js";function e(t){return s().data.some(o=>o===t)}export{e as a};

+ 1 - 0
dist/assets/breadcrumb.BJHFkKjg.css

@@ -0,0 +1 @@
+.layout-navbars-breadcrumb[data-v-cc3d7130]{flex:1;height:inherit;display:flex;align-items:center}.layout-navbars-breadcrumb .layout-navbars-breadcrumb-icon[data-v-cc3d7130]{cursor:pointer;font-size:18px;color:var(--next-bg-topBarColor);height:100%;width:40px;opacity:.8}.layout-navbars-breadcrumb .layout-navbars-breadcrumb-icon[data-v-cc3d7130]:hover{opacity:1}.layout-navbars-breadcrumb .layout-navbars-breadcrumb-span[data-v-cc3d7130]{display:flex;opacity:.7;color:var(--next-bg-topBarColor)}.layout-navbars-breadcrumb .layout-navbars-breadcrumb-iconfont[data-v-cc3d7130]{font-size:14px;margin-right:5px}.layout-navbars-breadcrumb[data-v-cc3d7130] .el-breadcrumb__separator{opacity:.7;color:var(--next-bg-topBarColor)}.layout-navbars-breadcrumb[data-v-cc3d7130] .el-breadcrumb__inner a{font-weight:unset!important;color:var(--next-bg-topBarColor)}.layout-navbars-breadcrumb[data-v-cc3d7130] .el-breadcrumb__inner a:hover{color:var(--el-color-primary)!important}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/breadcrumb.gmyDOL_-.js


+ 1 - 0
dist/assets/changePwd.CnwGxupR.css

@@ -0,0 +1 @@
+.login-content-form[data-v-15827e38]{margin-top:20px}.login-content-form .login-animation1[data-v-15827e38]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.1s}.login-content-form .login-animation2[data-v-15827e38]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.2s}.login-content-form .login-animation3[data-v-15827e38]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.3s}.login-content-form .login-animation4[data-v-15827e38]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.4s}.login-content-form .login-animation5[data-v-15827e38]{opacity:0;animation-name:error-num;animation-duration:.5s;animation-fill-mode:forwards;animation-delay:.5s}.login-content-form .login-content-password[data-v-15827e38]{display:inline-block;width:20px;cursor:pointer}.login-content-form .login-content-password[data-v-15827e38]:hover{color:#909399}.login-content-form .login-content-captcha[data-v-15827e38]{width:100%;padding:0;font-weight:700;letter-spacing:5px}.login-content-form .login-content-submit[data-v-15827e38]{width:100%;letter-spacing:2px;font-weight:800;margin-top:15px}

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/changePwd.Slu-FVp7.js


+ 2 - 0
dist/assets/classic.Gpyaum5r.js

@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/aside.BR-3iPLh.js","assets/index.D93ign_E.js","assets/vue.D1BjjNmv.js","assets/index.CPIWeYSE.css","assets/header.Ou4kRyJM.js","assets/main.B-1BU1Bc.js","assets/tagsView.D81Ia5m3.js","assets/_plugin-vue_export-helper.DlAUqK2U.js","assets/tagsView.uMdkh85D.css"])))=>i.map(i=>d[i]);
+import{u as g,_ as e}from"./index.D93ign_E.js";import{a as p,r as E,aB as L,aC as V,f as w,q as A,w as _,aj as M,J as l,o as f,K as d,S as t,u as o,aA as a,b as k,M as x,t as b}from"./vue.D1BjjNmv.js";const B={class:"flex-center layout-backtop"},P=p({name:"layoutClassic"}),N=p({...P,setup(S){const m=a(()=>e(()=>import("./aside.BR-3iPLh.js"),__vite__mapDeps([0,1,2,3]))),y=a(()=>e(()=>import("./header.Ou4kRyJM.js"),__vite__mapDeps([4,1,2,3]))),v=a(()=>e(()=>import("./main.B-1BU1Bc.js"),__vite__mapDeps([5,1,2,3]))),T=a(()=>e(()=>import("./tagsView.D81Ia5m3.js"),__vite__mapDeps([6,1,2,3,7,8]))),s=E(),h=L(),R=g(),{themeConfig:r}=V(R),C=w(()=>r.value.isTagsview),c=()=>{var n;(n=s.value)==null||n.layoutMainScrollbarRef.update()},u=()=>{b(()=>{setTimeout(()=>{c(),s.value.layoutMainScrollbarRef.wrapRef.scrollTop=0},500)})};return A(()=>{u()}),_(()=>h.path,()=>{u()}),_(r,()=>{c()},{deep:!0}),(n,D)=>{const i=M("el-container");return f(),l(i,{class:"layout-container flex-center"},{default:d(()=>[t(o(y)),t(i,{class:"layout-mian-height-50"},{default:d(()=>[t(o(m)),k("div",B,[C.value?(f(),l(o(T),{key:0})):x("",!0),t(o(v),{ref_key:"layoutMainRef",ref:s},null,512)])]),_:1})]),_:1})}}});export{N as default};

+ 1 - 0
dist/assets/closeFull.BXVSODpq.css

@@ -0,0 +1 @@
+.layout-navbars-close-full[data-v-c5e48991]{position:fixed;z-index:9999999999;right:-30px;top:-30px}.layout-navbars-close-full .layout-navbars-close-full-icon[data-v-c5e48991]{width:60px;height:60px;border-radius:100%;cursor:pointer;background:#0000001a;transition:all .3s ease;position:relative}.layout-navbars-close-full .layout-navbars-close-full-icon[data-v-c5e48991] i{position:absolute;left:10px;top:35px;color:#333;transition:all .3s ease}.layout-navbars-close-full[data-v-c5e48991]:hover{transition:all .3s ease}.layout-navbars-close-full[data-v-c5e48991]:hover i{color:var(--el-color-primary);transition:all .3s ease}

+ 1 - 0
dist/assets/closeFull.lGYTw2Xu.js

@@ -0,0 +1 @@
+import{a as s,aC as n,aj as c,c as r,M as u,u as _,o as i,b as m,S as f}from"./vue.D1BjjNmv.js";import{b as p}from"./index.D93ign_E.js";import{_ as d}from"./_plugin-vue_export-helper.DlAUqK2U.js";const C={key:0,class:"layout-navbars-close-full"},v={class:"layout-navbars-close-full-icon"},g=s({name:"layoutCloseFull"}),F=s({...g,setup(V){const e=p(),{isTagsViewCurrenFull:o}=n(e),t=()=>{e.setCurrenFullscreen(!1)};return(a,b)=>{const l=c("SvgIcon");return _(o)?(i(),r("div",C,[m("div",v,[f(l,{name:"ele-Close",title:a.$t("message.tagsView.closeFullscreen"),onClick:t},null,8,["title"])])])):u("",!0)}}}),w=d(F,[["__scopeId","data-v-c5e48991"]]);export{w as default};

+ 1 - 0
dist/assets/columnPermission.DJPRmQCM.js

@@ -0,0 +1 @@
+import{a9 as d}from"./index.D93ign_E.js";const r=async(n,e,s=[])=>{const t=await n();e.pagination==null&&(e.pagination={show:!0});const i=e.columns,c=["checked","_index","id","create_datetime","update_datetime"].concat(s);return d.eachTree(i,(o,a)=>{!c.includes(String(a))&&a in t.data&&(t.data[a].is_query||(o.column.show=!1,o.column.columnSetDisabled=!0),o.addForm={show:t.data[a].is_create},o.editForm={show:t.data[a].is_update})}),e};export{r as h};

+ 2 - 0
dist/assets/columns.CPFnZTET.js

@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/aside.BR-3iPLh.js","assets/index.D93ign_E.js","assets/vue.D1BjjNmv.js","assets/index.CPIWeYSE.css","assets/header.Ou4kRyJM.js","assets/main.B-1BU1Bc.js","assets/columnsAside.Crq3CLl_.js","assets/_plugin-vue_export-helper.DlAUqK2U.js","assets/columnsAside.czFKTVW3.css"])))=>i.map(i=>d[i]);
+import{u as b,_ as o}from"./index.D93ign_E.js";import{a as p,r as _,aB as A,aC as E,q as w,w as i,aj as f,J as L,o as S,K as n,S as e,u as t,aA as a,t as k}from"./vue.D1BjjNmv.js";const M=p({name:"layoutColumns"}),D=p({...M,setup(P){const m=a(()=>o(()=>import("./aside.BR-3iPLh.js"),__vite__mapDeps([0,1,2,3]))),d=a(()=>o(()=>import("./header.Ou4kRyJM.js"),__vite__mapDeps([4,1,2,3]))),y=a(()=>o(()=>import("./main.B-1BU1Bc.js"),__vite__mapDeps([5,1,2,3]))),R=a(()=>o(()=>import("./columnsAside.Crq3CLl_.js"),__vite__mapDeps([6,2,1,3,7,8]))),r=_(""),s=_(),v=A(),T=b(),{themeConfig:C}=E(T),l=()=>{r.value.update(),s.value.layoutMainScrollbarRef.update()},c=()=>{k(()=>{setTimeout(()=>{l(),r.value.wrapRef.scrollTop=0,s.value.layoutMainScrollbarRef.wrapRef.scrollTop=0},500)})};return w(()=>{c()}),i(()=>v.path,()=>{c()}),i(C,()=>{l()},{deep:!0}),(V,g)=>{const h=f("el-scrollbar"),u=f("el-container");return S(),L(u,{class:"layout-container"},{default:n(()=>[e(t(R)),e(u,{class:"layout-columns-warp layout-container-view h100"},{default:n(()=>[e(t(m)),e(h,{ref_key:"layoutScrollbarRef",ref:r,class:"layout-backtop"},{default:n(()=>[e(t(d)),e(t(y),{ref_key:"layoutMainRef",ref:s},null,512)]),_:1},512)]),_:1})]),_:1})}}});export{D as default};

文件差异内容过多而无法显示
+ 0 - 0
dist/assets/columnsAside.Crq3CLl_.js


+ 1 - 0
dist/assets/columnsAside.czFKTVW3.css

@@ -0,0 +1 @@
+.layout-columns-aside[data-v-e9a1a406]{width:70px;height:100%;background:var(--next-bg-columnsMenuBar)}.layout-columns-aside ul[data-v-e9a1a406]{position:relative}.layout-columns-aside ul .layout-columns-active[data-v-e9a1a406]{color:var(--next-bg-columnsMenuBarColor)!important;transition:.3s ease-in-out}.layout-columns-aside ul .layout-columns-hover[data-v-e9a1a406],.layout-columns-aside ul li[data-v-e9a1a406]:hover,.layout-columns-aside ul .layout-columns-hover a[data-v-e9a1a406],.layout-columns-aside ul li:hover a[data-v-e9a1a406]{color:var(--el-color-primary)}.layout-columns-aside ul li[data-v-e9a1a406]{color:var(--next-bg-columnsMenuBarColor);width:100%;height:50px;text-align:center;display:flex;cursor:pointer;position:relative;z-index:1}.layout-columns-aside ul li .columns-vertical[data-v-e9a1a406]{margin:auto}.layout-columns-aside ul li .columns-vertical .columns-vertical-title[data-v-e9a1a406]{padding-top:1px}.layout-columns-aside ul li .columns-horizontal[data-v-e9a1a406]{display:flex;height:50px;width:100%;align-items:center;padding:0 5px}.layout-columns-aside ul li .columns-horizontal i[data-v-e9a1a406]{margin-right:3px}.layout-columns-aside ul li .columns-horizontal a[data-v-e9a1a406]{display:flex}.layout-columns-aside ul li .columns-horizontal a .columns-horizontal-title[data-v-e9a1a406]{padding-top:1px}.layout-columns-aside ul li a[data-v-e9a1a406]{text-decoration:none;color:var(--next-bg-columnsMenuBarColor)}.layout-columns-aside ul .columns-round[data-v-e9a1a406],.layout-columns-aside ul .columns-card[data-v-e9a1a406]{background:var(--el-color-primary);color:var(--el-color-white);position:absolute;left:50%;top:2px;height:44px;width:65px;transform:translate(-50%);z-index:0;transition:.3s ease-in-out;border-radius:5px}.layout-columns-aside ul .columns-card[data-v-e9a1a406]{top:0;height:50px;width:100%;border-radius:0}

部分文件因为文件数量过多而无法显示