3.0.0b1
This commit is contained in:
parent
61961b60c6
commit
91cb952f0c
213
README.md
213
README.md
@ -28,10 +28,11 @@ Kinit 是一套全部开源的快速开发平台,毫无保留给个人及企
|
||||
- PC端采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) 、[Vue3](https://cn.vuejs.org/guide/introduction.html)、[Element Plus](https://element-plus.gitee.io/zh-CN/guide/design.html)、[TypeScript](https://www.tslang.cn/)等主流技术开发;
|
||||
- 移动端采用 [uni-app](https://uniapp.dcloud.net.cn/component/),[Vue2](https://v2.cn.vuejs.org/v2/guide/),[uView 2](https://www.uviewui.com/components/intro.html)为主要技术开发;
|
||||
- 后端加入 [Typer](https://typer.tiangolo.com/) 命令行应用,简单化数据初始化,数据表模型迁移等操作;
|
||||
- 新加入定时任务功能,采用 [APScheduler](https://github.com/agronholm/apscheduler) 定时任务框架 + [Redis](https://redis.io/) 消息队列 + [MongoDB](https://www.mongodb.com/) 持久存储;
|
||||
- 已加入定时任务功能,采用 [APScheduler](https://github.com/agronholm/apscheduler) 定时任务框架 + [Redis](https://redis.io/) 消息队列 + [MongoDB](https://www.mongodb.com/) 持久存储;
|
||||
- 权限认证使用[(哈希)密码和 JWT Bearer 令牌的 OAuth2](https://fastapi.tiangolo.com/zh/tutorial/security/oauth2-jwt/),支持多终端认证系统。
|
||||
- 支持加载动态权限菜单,多方式轻松权限控制,按钮级别权限控制。
|
||||
- 已加入常见的 [MySQL](https://www.mysql.com/) + [MongoDB](https://www.mongodb.com/) + [Redis](https://redis.io/) 数据库异步操作。
|
||||
- 支持 [docker-compose](https://docs.docker.com/compose/) 部署方式
|
||||
- 开箱即用的中后台解决方案,可以用来作为新项目的启动模版,也可用于学习参考。并且时刻关注着最新技术动向,尽可能的第一时间更新。
|
||||
- 与 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) 前端框架时刻保持同步更新。
|
||||
|
||||
@ -43,8 +44,6 @@ Kinit 是一套全部开源的快速开发平台,毫无保留给个人及企
|
||||
|
||||
[django-vue-admin](https://gitee.com/liqianglog/django-vue-admin):django-vue-admin 是一个优秀的基于 Django 开发后台管理系统
|
||||
|
||||
[Ant Design Pro](https://preview.pro.ant.design/dashboard/analysis):开箱即用的中台前端/设计解决方案
|
||||
|
||||
[小诺开源技术 (xiaonuo.vip)](https://www.xiaonuo.vip/):国内首个国密前后端分离快速开发平台
|
||||
|
||||
## 在线体验
|
||||
@ -98,6 +97,8 @@ github地址:https://github.com/vvandk/kinit
|
||||
|
||||
- [x] 用户分布:接入高德地图显示各地区用户分布情况
|
||||
|
||||
- [x] 数据概览:提供两种数据统计展示模板,更直观的查看数据统计情况
|
||||
|
||||
- [x] 智慧大屏:大屏展示`办公室空气质量实时检测`数据分析
|
||||
|
||||
- [x] 登录日志:用户登录日志记录和查询。
|
||||
@ -108,14 +109,6 @@ github地址:https://github.com/vvandk/kinit
|
||||
|
||||
- [x] 导入导出:灵活支持数据导入导出功能
|
||||
|
||||
- [x] 简单适配手机端:
|
||||
|
||||
1. 工作台招呼语一行显示,多余显示省略号
|
||||
2. 查询框宽度统一,需手动调整(强迫症建议)
|
||||
3. 分页符更新,电脑端与手机端分页功能不同
|
||||
4. 表格工具栏更新,手机端取消文字显示
|
||||
5. 表格操作按钮多的时候自动叠起
|
||||
|
||||
- [x] 已加入常见的`Redis`、`MySQL`、`MongoDB`数据库异步操作。
|
||||
|
||||
- [x] 命令行操作:新加入 `Typer` 命令行应用,简单化数据初始化,数据表模型迁移。
|
||||
@ -154,9 +147,7 @@ github地址:https://github.com/vvandk/kinit
|
||||
- [Es6+](https://gitee.com/link?target=http%3A%2F%2Fes6.ruanyifeng.com%2F) - 熟悉 es6 基本语法
|
||||
- [Vue-Router-Next](https://gitee.com/link?target=https%3A%2F%2Fnext.router.vuejs.org%2F) - 熟悉 vue-router 基本使用
|
||||
- [Element-Plus](https://gitee.com/link?target=https%3A%2F%2Felement-plus.org%2F) - element-plus 基本使用
|
||||
- [Mock.js](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Fnuysoft%2FMock) - mockjs 基本语法
|
||||
- [vue3-json-viewer](https://gitee.com/isfive/vue3-json-viewer):简单易用的json内容展示组件,适配vue3和vite。
|
||||
- [SortableJS/vue.draggable.next](https://github.com/SortableJS/vue.draggable.next):Vue 组件 (Vue.js 3.0) 允许拖放和与视图模型数组同步。
|
||||
- [高德地图API (amap.com)](https://lbs.amap.com/api/jsapi-v2/guide/webcli/map-vue1):地图 JSAPI 2.0 是高德开放平台免费提供的第四代 Web 地图渲染引擎。
|
||||
|
||||
### 移动端
|
||||
@ -201,7 +192,16 @@ Redis (推荐使用最新稳定版)
|
||||
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
||||
```
|
||||
|
||||
2. 修改项目数据库配置信息
|
||||
2. 修改项目环境配置
|
||||
|
||||
修改 `application/settings.py` 文件
|
||||
|
||||
```python
|
||||
"""安全警告: 不要在生产中打开调试运行!"""
|
||||
DEBUG = True # 如果当前为开发环境则改为 True,如果为生产环境则改为 False
|
||||
```
|
||||
|
||||
3. 修改项目数据库配置信息
|
||||
|
||||
在 `application/config` 目录中
|
||||
|
||||
@ -273,7 +273,7 @@ Redis (推荐使用最新稳定版)
|
||||
sqlalchemy.url = sqlalchemy.url = mysql+pymysql://root:123456@127.0.0.1/kinit
|
||||
```
|
||||
|
||||
3. 创建数据库
|
||||
4. 创建数据库
|
||||
|
||||
```
|
||||
mysql> create database kinit; # 创建数据库
|
||||
@ -281,7 +281,7 @@ Redis (推荐使用最新稳定版)
|
||||
mysql> set names utf8; # 设置编码
|
||||
```
|
||||
|
||||
4. 初始化数据库数据
|
||||
5. 初始化数据库数据
|
||||
|
||||
```
|
||||
# 项目根目录下执行,需提前创建好数据库
|
||||
@ -295,7 +295,7 @@ Redis (推荐使用最新稳定版)
|
||||
python3 main.py init --env dev
|
||||
```
|
||||
|
||||
5. 修改项目基本配置信息
|
||||
6. 修改项目基本配置信息
|
||||
|
||||
修改数据库表 - vadmin_system_settings 中的关键信息
|
||||
|
||||
@ -322,7 +322,7 @@ Redis (推荐使用最新稳定版)
|
||||
email_port
|
||||
```
|
||||
|
||||
6. 启动
|
||||
7. 启动
|
||||
|
||||
```
|
||||
# 进入项目根目录下执行
|
||||
@ -402,6 +402,165 @@ pnpm run build:pro
|
||||
- 账号:`15020221010` 密码:`kinit2022`
|
||||
- 接口地址:http://localhost:9000/docs (默认为此地址,如有修改请按照配置文件)
|
||||
|
||||
## Docker Compose 生产环境部署
|
||||
|
||||
### 准备工作
|
||||
|
||||
1. 获取代码
|
||||
|
||||
```
|
||||
git clone https://gitee.com/ktianc/kinit.git
|
||||
```
|
||||
|
||||
2. 修改项目环境配置:
|
||||
|
||||
1. 修改 API 端:
|
||||
|
||||
文件路径为:`kinit-api/application/settings.py`
|
||||
|
||||
```python
|
||||
"""安全警告: 不要在生产中打开调试运行!"""
|
||||
DEBUG = False # 生产环境应该改为 False
|
||||
```
|
||||
|
||||
2. 修改定时任务端:
|
||||
|
||||
文件路径为:`kinit-task/application/settings.py`
|
||||
|
||||
```python
|
||||
"""安全警告: 不要在生产中打开调试运行!"""
|
||||
DEBUG = False # 生产环境应该改为 False
|
||||
```
|
||||
|
||||
3. 如果已有 Mysql 或者 Redis 或者 MongoDB 数据库,请修改如下内容,如果没有则不需要修改:
|
||||
|
||||
1. 修改 API 端配置文件:
|
||||
|
||||
文件路径为:`kinit-api/application/config/production.py`
|
||||
|
||||
```python
|
||||
"""
|
||||
Mysql 数据库配置项
|
||||
连接引擎官方文档:https://www.osgeo.cn/sqlalchemy/core/engines.html
|
||||
数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
|
||||
"""
|
||||
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://root:123456@177.8.0.7:3306/kinit"
|
||||
|
||||
"""
|
||||
Redis 数据库配置
|
||||
格式:"redis://:密码@地址:端口/数据库名称"
|
||||
"""
|
||||
REDIS_DB_ENABLE = True
|
||||
REDIS_DB_URL = "redis://:123456@177.8.0.5:6379/1"
|
||||
|
||||
"""
|
||||
MongoDB 数据库配置
|
||||
格式:mongodb://用户名:密码@地址:端口/?authSource=数据库名称
|
||||
"""
|
||||
MONGO_DB_ENABLE = True
|
||||
MONGO_DB_NAME = "kinit"
|
||||
MONGO_DB_URL = f"mongodb://kinit:123456@177.8.0.6:27017/?authSource={MONGO_DB_NAME}"
|
||||
```
|
||||
|
||||
2. 修改定时任务配置文件
|
||||
|
||||
文件路径为:`kinit-task/application/config/production.py`
|
||||
|
||||
```python
|
||||
"""
|
||||
Redis 数据库配置
|
||||
|
||||
与接口是同一个数据库
|
||||
|
||||
格式:"redis://:密码@地址:端口/数据库名称"
|
||||
"""
|
||||
REDIS_DB_ENABLE = True
|
||||
REDIS_DB_URL = "redis://:123456@177.8.0.5:6379/1"
|
||||
|
||||
"""
|
||||
MongoDB 数据库配置
|
||||
|
||||
与接口是同一个数据库
|
||||
|
||||
格式:mongodb://用户名:密码@地址:端口/?authSource=数据库名称
|
||||
"""
|
||||
MONGO_DB_ENABLE = True
|
||||
MONGO_DB_NAME = "kinit"
|
||||
MONGO_DB_URL = f"mongodb://kinit:123456@177.8.0.6:27017/?authSource={MONGO_DB_NAME}"
|
||||
```
|
||||
|
||||
3. 将已有的数据库在 `docker-compose.yml` 文件中注释
|
||||
|
||||
4. 配置阿里云 OSS 与 IP 解析接口地址(可选)
|
||||
|
||||
文件路径:`kinit-api/application/config/production.py`
|
||||
|
||||
```python
|
||||
"""
|
||||
阿里云对象存储OSS配置
|
||||
阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
|
||||
yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
|
||||
* [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。
|
||||
* [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。
|
||||
* [bucket] {String}:通过控制台或PutBucket创建的bucket。
|
||||
* [endpoint] {String}:bucket所在的区域, 默认oss-cn-hangzhou。
|
||||
"""
|
||||
ALIYUN_OSS = {
|
||||
"accessKeyId": "accessKeyId",
|
||||
"accessKeySecret": "accessKeySecret",
|
||||
"endpoint": "endpoint",
|
||||
"bucket": "bucket",
|
||||
"baseUrl": "baseUrl"
|
||||
}
|
||||
|
||||
"""
|
||||
获取IP地址归属地
|
||||
文档:https://user.ip138.com/ip/doc
|
||||
"""
|
||||
IP_PARSE_ENABLE = False
|
||||
IP_PARSE_TOKEN = "IP_PARSE_TOKEN"
|
||||
```
|
||||
|
||||
5. 前端项目打包:
|
||||
|
||||
```shell
|
||||
cd kinit-admin
|
||||
|
||||
# 安装依赖包
|
||||
pnpm install
|
||||
|
||||
# 打包
|
||||
pnpm run build:pro
|
||||
```
|
||||
|
||||
### 启动并初始化项目
|
||||
|
||||
```shell
|
||||
# 启动并创建所有容器
|
||||
docker-compose up -d
|
||||
|
||||
# 初始化数据
|
||||
docker-compose exec kinit-api python3 main.py init
|
||||
|
||||
# 重启所有容器
|
||||
docker-compose restart
|
||||
|
||||
|
||||
# 其他命令:
|
||||
|
||||
# 停止所有容器
|
||||
docker-compose down
|
||||
|
||||
# 查看所有容器状态
|
||||
docker-compose ps -a
|
||||
```
|
||||
|
||||
### 访问项目
|
||||
|
||||
- 访问地址:http://localhost (默认为此地址,如有修改请按照配置文件)
|
||||
- 账号:`15020221010` 密码:`kinit2022`
|
||||
- 接口地址:http://localhost:9000/docs (默认为此地址,如有修改请按照配置文件)
|
||||
|
||||
## 如何贡献
|
||||
|
||||
你可以[提一个 issue](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Fkailong321200875%2Fvue-element-plus-admin%2Fissues%2Fnew) 或者提交一个 Pull Request。
|
||||
@ -414,24 +573,6 @@ pnpm run build:pro
|
||||
4. 推送您的分支: `git push origin feat/xxxx`
|
||||
5. 提交 `pull request`
|
||||
|
||||
## Git 贡献提交规范
|
||||
|
||||
- `feat` 新功能
|
||||
- `fix` 修补 bug
|
||||
- `docs` 文档
|
||||
- `style` 格式、样式(不影响代码运行的变动)
|
||||
- `refactor` 重构(即不是新增功能,也不是修改 BUG 的代码)
|
||||
- `perf` 优化相关,比如提升性能、体验
|
||||
- `test` 添加测试
|
||||
- `build` 编译相关的修改,对项目构建或者依赖的改动
|
||||
- `ci` 持续集成修改
|
||||
- `chore` 构建过程或辅助工具的变动
|
||||
- `revert` 回滚到上一个版本
|
||||
- `workflow` 工作流改进
|
||||
- `mod` 不确定分类的修改
|
||||
- `wip` 开发中
|
||||
- `types` 类型
|
||||
|
||||
## 浏览器支持
|
||||
|
||||
本地开发推荐使用 `Chrome 80+` 浏览器
|
||||
|
117
docker-compose.yml
Normal file
117
docker-compose.yml
Normal file
@ -0,0 +1,117 @@
|
||||
version: "3"
|
||||
services:
|
||||
kinit-api:
|
||||
container_name: kinit-api
|
||||
restart: always
|
||||
ports:
|
||||
- "9000:9000"
|
||||
expose:
|
||||
- "9000"
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./docker_env/kinit-api/Dockerfile
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
volumes:
|
||||
- ./kinit-api:/app
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.2"
|
||||
|
||||
kinit-admin:
|
||||
container_name: kinit-admin
|
||||
restart: always
|
||||
ports:
|
||||
- "80:80"
|
||||
expose:
|
||||
- "80"
|
||||
image: nginx:latest
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
volumes:
|
||||
- ./docker_env/kinit-admin/nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||
- ./:/usr/share/nginx/html
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.3"
|
||||
|
||||
kinit-task:
|
||||
container_name: kinit-task
|
||||
restart: always
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./docker_env/kinit-task/Dockerfile
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
volumes:
|
||||
- ./kinit-task:/app
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.4"
|
||||
|
||||
kinit-redis:
|
||||
container_name: kinit-redis
|
||||
restart: always
|
||||
image: redis:latest
|
||||
ports:
|
||||
- "6379:6379"
|
||||
expose:
|
||||
- "6379"
|
||||
volumes:
|
||||
- ./docker_env/redis/conf/redis.conf:/etc/redis/redis.conf
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.5"
|
||||
command: redis-server /etc/redis/redis.conf
|
||||
|
||||
kinit-mongo:
|
||||
container_name: kinit-mongo
|
||||
restart: always
|
||||
image: mongo:latest
|
||||
ports:
|
||||
- "27017:27017"
|
||||
expose:
|
||||
- "27017"
|
||||
volumes:
|
||||
- ./docker_env/mongo/data:/data/db
|
||||
- ./docker_env/mongo/log:/data/log
|
||||
- ./docker_env/mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js # 挂载初始化脚本
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: admin # root 用户名
|
||||
MONGO_INITDB_ROOT_PASSWORD: 123456 # root 用户密码
|
||||
TZ: "Asia/Shanghai" # 设置时区
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.6"
|
||||
command: mongod --auth --bind_ip 0.0.0.0 # 启用身份验证和允许从任何IP连接
|
||||
|
||||
kinit-mysql:
|
||||
container_name: kinit-mysql
|
||||
restart: always
|
||||
image: mysql:latest
|
||||
ports:
|
||||
- "3306:3306"
|
||||
expose:
|
||||
- "3306"
|
||||
volumes:
|
||||
- ./docker_env/mysql/conf:/etc/mysql/conf.d
|
||||
- ./docker_env/mysql/data:/var/lib/mysql
|
||||
- ./docker_env/mysql/logs:/logs
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
MYSQL_ROOT_PASSWORD: "123456"
|
||||
MYSQL_DATABASE: "kinit"
|
||||
networks:
|
||||
kinit_network:
|
||||
ipv4_address: "177.8.0.7"
|
||||
|
||||
networks:
|
||||
kinit_network:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: "177.8.0.0/16"
|
||||
gateway: "177.8.0.1"
|
88
docker_env/kinit-admin/nginx/nginx.conf
Normal file
88
docker_env/kinit-admin/nginx/nginx.conf
Normal file
@ -0,0 +1,88 @@
|
||||
# For more information on configuration, see:
|
||||
# * Official English Documentation: http://nginx.org/en/docs/
|
||||
# * Official Russian Documentation: http://nginx.org/ru/docs/
|
||||
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
|
||||
include /usr/share/nginx/modules/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 4096;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
server
|
||||
{
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
client_max_body_size 100M;
|
||||
|
||||
location / {
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
set_real_ip_from 0.0.0.0/0;
|
||||
real_ip_header X-Forwarded-For;
|
||||
root /usr/share/nginx/html/kinit-admin/dist-pro;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /index.html; # 防止刷新报404
|
||||
}
|
||||
|
||||
location /api/ {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Nginx-Proxy true;
|
||||
set_real_ip_from 0.0.0.0/0;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_connect_timeout 600s;
|
||||
proxy_read_timeout 600s;
|
||||
proxy_send_timeout 600s;
|
||||
real_ip_header X-Forwarded-For;
|
||||
rewrite ^/api/(.*)$ /$1 break; #重写
|
||||
proxy_pass http://177.8.0.2:9000/; # 设置代理服务器的协议和地址
|
||||
}
|
||||
|
||||
|
||||
location /media/ {
|
||||
alias /usr/share/nginx/html/kinit-api/static/;
|
||||
}
|
||||
|
||||
location /temp/ {
|
||||
alias /usr/share/nginx/html/kinit-api/temp/;
|
||||
}
|
||||
|
||||
location ~ /openapi\.json$ {
|
||||
proxy_pass http://177.8.0.2:9000;
|
||||
}
|
||||
|
||||
location @router {
|
||||
rewrite ^.*$ /index.html break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
9
docker_env/kinit-api/Dockerfile
Normal file
9
docker_env/kinit-api/Dockerfile
Normal file
@ -0,0 +1,9 @@
|
||||
FROM python:3.10
|
||||
|
||||
COPY ./kinit-api/requirements.txt ./
|
||||
|
||||
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD [ "python", "main.py", "run"]
|
9
docker_env/kinit-task/Dockerfile
Normal file
9
docker_env/kinit-task/Dockerfile
Normal file
@ -0,0 +1,9 @@
|
||||
FROM python:3.10
|
||||
|
||||
COPY ./kinit-task/requirements.txt ./
|
||||
|
||||
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD [ "python", "main.py"]
|
7
docker_env/mongo/init-mongo.js
Normal file
7
docker_env/mongo/init-mongo.js
Normal file
@ -0,0 +1,7 @@
|
||||
db = db.getSiblingDB('kinit'); // 切换到要创建的数据库
|
||||
|
||||
db.createUser({
|
||||
user: 'kinit',
|
||||
pwd: '123456',
|
||||
roles: ["readWrite", "dbAdmin"]
|
||||
});
|
2051
docker_env/redis/conf/redis.conf
Normal file
2051
docker_env/redis/conf/redis.conf
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,10 @@
|
||||
# 环境
|
||||
NODE_ENV=development
|
||||
|
||||
# 访问基础路径
|
||||
# 接口前缀
|
||||
VITE_API_BASE_PATH=dev
|
||||
|
||||
# 打包路径
|
||||
VITE_BASE_PATH=/
|
||||
|
||||
# 是否删除debugger
|
||||
@ -13,7 +16,7 @@ VITE_DROP_CONSOLE=false
|
||||
# 是否sourcemap
|
||||
VITE_SOURCEMAP=true
|
||||
|
||||
# 打包输出路径
|
||||
# 输出路径
|
||||
VITE_OUT_DIR=dist-dev
|
||||
|
||||
# 标题
|
||||
|
@ -1,7 +1,10 @@
|
||||
# 环境
|
||||
NODE_ENV=production
|
||||
|
||||
# 访问基础路径
|
||||
# 接口前缀
|
||||
VITE_API_BASE_PATH=pro
|
||||
|
||||
# 打包路径
|
||||
VITE_BASE_PATH=/
|
||||
|
||||
# 是否删除debugger
|
||||
@ -13,7 +16,7 @@ VITE_DROP_CONSOLE=true
|
||||
# 是否sourcemap
|
||||
VITE_SOURCEMAP=false
|
||||
|
||||
# 打包输出路径
|
||||
# 输出路径
|
||||
VITE_OUT_DIR=dist-pro
|
||||
|
||||
# 标题
|
||||
|
@ -24,6 +24,7 @@ module.exports = defineConfig({
|
||||
'plugin:prettier/recommended'
|
||||
],
|
||||
rules: {
|
||||
'vue/no-setup-props-destructure': 'off',
|
||||
'vue/script-setup-uses-vars': 'error',
|
||||
'vue/no-reserved-component-names': 'off',
|
||||
'@typescript-eslint/ban-ts-ignore': 'off',
|
||||
|
130
kinit-admin/.github/workflows/auto-merge.yml
vendored
130
kinit-admin/.github/workflows/auto-merge.yml
vendored
@ -1,130 +0,0 @@
|
||||
name: Automerge
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
- synchronize
|
||||
- opened
|
||||
- edited
|
||||
- ready_for_review
|
||||
- reopened
|
||||
- unlocked
|
||||
pull_request_review:
|
||||
types:
|
||||
- submitted
|
||||
status: {}
|
||||
|
||||
jobs:
|
||||
# 合并发布版本的 pr 到 master
|
||||
auto-merge:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Automerge
|
||||
uses: 'pascalgn/automerge-action@v0.14.3'
|
||||
env:
|
||||
GITHUB_TOKEN: '${{ secrets.TOKEN }}'
|
||||
MERGE_LABELS: ''
|
||||
MERGE_FILTER_AUTHOR: 'kailong321200875'
|
||||
|
||||
push-to-gh-pages:
|
||||
needs: [auto-merge]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: use Node.js 16
|
||||
uses: actions/setup-node@v2.1.2
|
||||
with:
|
||||
node-version: '16.x'
|
||||
|
||||
- name: Set SSH Environment
|
||||
env:
|
||||
DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh/
|
||||
echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
ssh-keyscan github.com > ~/.ssh/known_hosts
|
||||
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
|
||||
git config --local user.email "321200875@qq.com"
|
||||
git config --local user.name "kailong321200875"
|
||||
|
||||
# 发布到 github
|
||||
- name: Build Github
|
||||
run: |
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm run build:pro
|
||||
|
||||
- name: Deploy Github
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./dist-pro
|
||||
force_orphan: true
|
||||
cname: element-plus-admin.cn
|
||||
|
||||
push-to-gh-pages-gitee:
|
||||
needs: [auto-merge]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: use Node.js 16
|
||||
uses: actions/setup-node@v2.1.2
|
||||
with:
|
||||
node-version: '16.x'
|
||||
|
||||
- name: Set SSH Environment
|
||||
env:
|
||||
DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh/
|
||||
echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
ssh-keyscan github.com > ~/.ssh/known_hosts
|
||||
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
|
||||
git config --local user.email "321200875@qq.com"
|
||||
git config --local user.name "kailong321200875"
|
||||
|
||||
- name: Build Gitee
|
||||
run: |
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm run build:gitee
|
||||
|
||||
# 发布到 gitee
|
||||
- name: Deploy Gitee
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
deploy_key: ${{secrets.ACTIONS_DEPLOY_KEY}}
|
||||
publish_branch: gh-pages-gitee
|
||||
publish_dir: ./dist-pro
|
||||
force_orphan: true
|
||||
|
||||
- name: Sync Github Repos To Gitee # 名字随便起
|
||||
uses: Yikun/hub-mirror-action@v1.1 # 使用Yikun/hub-mirror-action
|
||||
with:
|
||||
src: github/kailong321200875 # 源端账户名(github)
|
||||
dst: gitee/kailong110120130 # 目的端账户名(gitee)
|
||||
dst_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} # SSH密钥对中的私钥
|
||||
dst_token: ${{ secrets.GITEE_TOKEN }} # Gitee账户的私人令牌
|
||||
account_type: user # 账户类型
|
||||
clone_style: 'https' # 使用https方式进行clone,也可以使用ssh
|
||||
debug: true # 启用后会显示所有执行命令
|
||||
force_update: true # 启用后,强制同步,即强制覆盖目的端仓库
|
||||
static_list: 'vue-element-plus-admin' # 静态同步列表,在此填写需要同步的仓库名称,可填写多个
|
||||
timeout: '600s' # git超时设置,超时后会自动重试git操作
|
@ -1,25 +0,0 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
contrib-readme-en-job:
|
||||
runs-on: ubuntu-latest
|
||||
name: A job to automate contrib in readme
|
||||
steps:
|
||||
- name: Contribute List
|
||||
uses: akhilmhdh/contributors-readme-action@v2.3.4
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
|
||||
|
||||
contrib-readme-job:
|
||||
runs-on: ubuntu-latest
|
||||
name: A job to automate contrib in readme.zh-CN
|
||||
steps:
|
||||
- name: Contribute List
|
||||
uses: akhilmhdh/contributors-readme-action@v2.3.4
|
||||
with:
|
||||
readme_path: README.zh-CN.md
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
|
18
kinit-admin/.github/workflows/release.yml
vendored
18
kinit-admin/.github/workflows/release.yml
vendored
@ -1,18 +0,0 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
name: Release
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: GoogleCloudPlatform/release-please-action@v3
|
||||
id: release
|
||||
with:
|
||||
token: ${{ secrets.TOKEN }}
|
||||
release-type: node
|
||||
package-name: standard-version
|
||||
changelog-types: '[{"type": "types", "section":"Types", "hidden": false},{"type": "revert", "section":"Reverts", "hidden": false},{"type": "feat", "section": "Features", "hidden": false},{"type": "fix", "section": "Bug Fixes", "hidden": false},{"type": "improvement", "section": "Feature Improvements", "hidden": false},{"type": "docs", "section":"Docs", "hidden": false},{"type": "style", "section":"Styling", "hidden": false},{"type": "refactor", "section":"Code Refactoring", "hidden": false},{"type": "perf", "section":"Performance Improvements", "hidden": false},{"type": "test", "section":"Tests", "hidden": false},{"type": "build", "section":"Build System", "hidden": false},{"type": "ci", "section":"CI", "hidden":false}]'
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
pnpm commitlint --edit "$1"
|
@ -1,9 +0,0 @@
|
||||
module.exports = {
|
||||
'*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'],
|
||||
'{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': ['prettier --write--parser json'],
|
||||
'package.json': ['prettier --write'],
|
||||
'*.vue': ['prettier --write', 'stylelint --fix'],
|
||||
'*.{scss,less,styl,css,html}': ['stylelint --fix', 'prettier --write'],
|
||||
'*.md': ['prettier --write'],
|
||||
'*.hbs': ['prettier --write']
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
[ -n "$CI" ] && exit 0
|
||||
|
||||
# Format and submit code according to lintstagedrc.js configuration
|
||||
npm run ts:check
|
||||
npm run lint:lint-staged
|
4
kinit-admin/.vscode/settings.json
vendored
4
kinit-admin/.vscode/settings.json
vendored
@ -5,14 +5,14 @@
|
||||
"source.fixAll.eslint": true
|
||||
},
|
||||
"[vue]": {
|
||||
"editor.defaultFormatter": "Vue.volar"
|
||||
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
||||
},
|
||||
"i18n-ally.localesPaths": ["src/locales"],
|
||||
"i18n-ally.keystyle": "nested",
|
||||
"i18n-ally.sortKeys": true,
|
||||
"i18n-ally.namespace": false,
|
||||
"i18n-ally.enabledParsers": ["ts"],
|
||||
"i18n-ally.sourceLanguage": "en",
|
||||
"i18n-ally.sourceLanguage": "zh-CN",
|
||||
"i18n-ally.displayLanguage": "zh-CN",
|
||||
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
||||
"god.tsconfig": "./tsconfig.json"
|
||||
|
@ -1,7 +1,240 @@
|
||||
- # Changelog
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [2.2.0](https://github.com/kailong321200875/vue-element-plus-admin/compare/v2.1.0...v2.2.0) (2023-08-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* JsonEditor ([c0f4517](https://github.com/kailong321200875/vue-element-plus-admin/commit/c0f4517b87de5a0172a057fb9da141f758cca1fa))
|
||||
* 新增 useCrudSchemas demo ([ae0628e](https://github.com/kailong321200875/vue-element-plus-admin/commit/ae0628e3af3466c7c9d7b593b825f776843de5ec))
|
||||
* 新增useTagsView ([a869a45](https://github.com/kailong321200875/vue-element-plus-admin/commit/a869a457e6a8052531ce3040ae0d332d7afbb478))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#316](https://github.com/kailong321200875/vue-element-plus-admin/issues/316) ([7582e4d](https://github.com/kailong321200875/vue-element-plus-admin/commit/7582e4d12f18ae86f5ef4ff36211c364afca5763))
|
||||
* [#317](https://github.com/kailong321200875/vue-element-plus-admin/issues/317) ([2095caa](https://github.com/kailong321200875/vue-element-plus-admin/commit/2095caaa854b686b57f47ee183419f42563a5a95))
|
||||
* [#318](https://github.com/kailong321200875/vue-element-plus-admin/issues/318) ([4169e52](https://github.com/kailong321200875/vue-element-plus-admin/commit/4169e52baaaa43765848c29c5ce222d019e81c35))
|
||||
* [#319](https://github.com/kailong321200875/vue-element-plus-admin/issues/319) ([b6ee4e5](https://github.com/kailong321200875/vue-element-plus-admin/commit/b6ee4e5d48deb3a07f289366ed3700baa3674cd6))
|
||||
* 修复useValidator报错 ([4912f6c](https://github.com/kailong321200875/vue-element-plus-admin/commit/4912f6c0586249b3de7ac7d365c8ea98af7923c7))
|
||||
* 修复动态路由无效 ([1452a1a](https://github.com/kailong321200875/vue-element-plus-admin/commit/1452a1afc77eb3f64cd3de91a05ddc15e40f4a06))
|
||||
|
||||
|
||||
### Docs
|
||||
|
||||
* 更新README ([5b4defa](https://github.com/kailong321200875/vue-element-plus-admin/commit/5b4defa8c4be2de894b2cb50ae9ea739a10cf7d9))
|
||||
* 更新群二维码 ([13aa71c](https://github.com/kailong321200875/vue-element-plus-admin/commit/13aa71c5bd5b5076599501961a24a171a9133c57))
|
||||
* 更新群二维码 ([ae29e97](https://github.com/kailong321200875/vue-element-plus-admin/commit/ae29e974bfed2214d1beda703b976cdfa63070ab))
|
||||
|
||||
|
||||
### Styling
|
||||
|
||||
* 修改Descriptions样式 ([cd0e05a](https://github.com/kailong321200875/vue-element-plus-admin/commit/cd0e05a6b9146af7ae64be62613724cd58e6c2a3))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* 重构useValidator ([b8849da](https://github.com/kailong321200875/vue-element-plus-admin/commit/b8849dabe2b306831f69e84db167a367570d992a))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* 优化动态路由 ([8793588](https://github.com/kailong321200875/vue-element-plus-admin/commit/879358821d02d5e4575dfee0d189b9fee7f2e217))
|
||||
* 完善useTagsView ([e0c55f4](https://github.com/kailong321200875/vue-element-plus-admin/commit/e0c55f40d4c1c47e29de6c4c7e9433efa978bf7f))
|
||||
* 完善useTagsView ([175abd0](https://github.com/kailong321200875/vue-element-plus-admin/commit/175abd0aa3388e8473f6ecbf63e28133fce55bd3))
|
||||
* 更新demo ([2c99cd2](https://github.com/kailong321200875/vue-element-plus-admin/commit/2c99cd20f0c25a740ac7a3a8319f7a112e69c0d3))
|
||||
|
||||
## [2.1.0](https://github.com/kailong321200875/vue-element-plus-admin/compare/v2.0.0...v2.1.0) (2023-08-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* 新增多开标签页Demo ([5c253ce](https://github.com/kailong321200875/vue-element-plus-admin/commit/5c253ce803a9ef7ce03534ddd5f0865db4602378))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#307](https://github.com/kailong321200875/vue-element-plus-admin/issues/307) ([4ce07e1](https://github.com/kailong321200875/vue-element-plus-admin/commit/4ce07e150c0bd3903cc5f43fcd88c2cb292d7690))
|
||||
* [#311](https://github.com/kailong321200875/vue-element-plus-admin/issues/311) ([bdde4cc](https://github.com/kailong321200875/vue-element-plus-admin/commit/bdde4ccd39d5d698d68b299c6e80546d4a8be89f))
|
||||
* 修复eslint错误 ([b5e47e0](https://github.com/kailong321200875/vue-element-plus-admin/commit/b5e47e04d8f5f889e0c46a2dced108d058ded94e))
|
||||
* 修复Table插槽传参错误 ([97344e6](https://github.com/kailong321200875/vue-element-plus-admin/commit/97344e68f5abb144d9e5d4ad273108858dbcfba2))
|
||||
* 修复Table组件插槽传参错误 ([c83a026](https://github.com/kailong321200875/vue-element-plus-admin/commit/c83a026d559e2854fead17d2e28fbebcf25490de))
|
||||
|
||||
|
||||
### Docs
|
||||
|
||||
* 修改Readme ([ee059b7](https://github.com/kailong321200875/vue-element-plus-admin/commit/ee059b7619ad01ded9d3be20287086ddbcce3253))
|
||||
* 修改Readme ([e05f5a7](https://github.com/kailong321200875/vue-element-plus-admin/commit/e05f5a77edc175daa267e4fc6abbcfc8fec2e291))
|
||||
* 修改Readme ([b0e561d](https://github.com/kailong321200875/vue-element-plus-admin/commit/b0e561d8acd36e8780087e317cc34257956981fd))
|
||||
* 修改Readme ([fced2e0](https://github.com/kailong321200875/vue-element-plus-admin/commit/fced2e0087694445a89cf360e5e3e3013d8ca604))
|
||||
* 修改README ([dce76f0](https://github.com/kailong321200875/vue-element-plus-admin/commit/dce76f042d5243039540828a3fd982af25f37531))
|
||||
* 更新群二维码 ([607ef58](https://github.com/kailong321200875/vue-element-plus-admin/commit/607ef585d010c9ade6f54d96c2a12b36099ece74))
|
||||
|
||||
|
||||
### Styling
|
||||
|
||||
* 修改TabMenu样式 ([e8cd6f9](https://github.com/kailong321200875/vue-element-plus-admin/commit/e8cd6f9e1c4387c582e461cde4d59796bf17c1bd))
|
||||
|
||||
## [2.0.0](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.10.0...v2.0.0) (2023-08-06)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* 重构完成
|
||||
|
||||
### Features
|
||||
|
||||
* 重构完成 ([76e971e](https://github.com/kailong321200875/vue-element-plus-admin/commit/76e971ef96ad4f5cc7df58abd0559898ce70207d))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* 重构完成 ([85f8cda](https://github.com/kailong321200875/vue-element-plus-admin/commit/85f8cda19d8cafb951f211b845aad970a661dd1e))
|
||||
* 重构完成 ([5d55597](https://github.com/kailong321200875/vue-element-plus-admin/commit/5d55597cca6c9d2bc6cb6211a01c161fa5f086ba))
|
||||
|
||||
## [1.10.0](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.9...v1.10.0) (2023-08-06)
|
||||
|
||||
|
||||
### Types
|
||||
|
||||
* Form类型调整 ([a0f4aeb](https://github.com/kailong321200875/vue-element-plus-admin/commit/a0f4aebc5a685366cd56b1a7bb39fa614976e3bb))
|
||||
* Form类型调整 ([674d760](https://github.com/kailong321200875/vue-element-plus-admin/commit/674d760029b451c0c6fc23a2aeac5c83992a0b27))
|
||||
* 修改类型 ([c3ac191](https://github.com/kailong321200875/vue-element-plus-admin/commit/c3ac1915045d4d59bca09ec6d19151bc5da342f1))
|
||||
* 修改类型 ([7d0476f](https://github.com/kailong321200875/vue-element-plus-admin/commit/7d0476f47c5858019db871cff2bdd19f0210f0d4))
|
||||
* 类型优化 ([283bc58](https://github.com/kailong321200875/vue-element-plus-admin/commit/283bc58d46151a8954bb81ee6bf8f499177b15fc))
|
||||
* 调整类型 ([24c8af9](https://github.com/kailong321200875/vue-element-plus-admin/commit/24c8af91835fb2c8c00e7c2673fff01f098c9944))
|
||||
* 迁移types ([ccbec86](https://github.com/kailong321200875/vue-element-plus-admin/commit/ccbec865568b1c9b3c3321d7071c164fdc350a0f))
|
||||
* 迁移types ([46b35e4](https://github.com/kailong321200875/vue-element-plus-admin/commit/46b35e48b3e7876c74159625b5149ef663396f5c))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* axios 改造 ([3238140](https://github.com/kailong321200875/vue-element-plus-admin/commit/32381408bbe418eeaca2a975305bac80ddaa03f5))
|
||||
* axios 改造 ([5807db1](https://github.com/kailong321200875/vue-element-plus-admin/commit/5807db1dc12a7ff2dbf66801a742a78974ad8f9c))
|
||||
* Descriptions组件重构 ([49e415d](https://github.com/kailong321200875/vue-element-plus-admin/commit/49e415d27788cb468c96f2a828f1df7ae65b7a3c))
|
||||
* Dialog组件重构 ([3701a04](https://github.com/kailong321200875/vue-element-plus-admin/commit/3701a04231af02ec7f7ef73533f3a22e707380fb))
|
||||
* Form useForm 完成 ([3e4e27c](https://github.com/kailong321200875/vue-element-plus-admin/commit/3e4e27c21fd59c944229856bee929f005d2ee140))
|
||||
* Form改造 ([9c724dc](https://github.com/kailong321200875/vue-element-plus-admin/commit/9c724dc9aad18397d5ecd00e53c3c24e142a34b5))
|
||||
* Icon改版 ([882f162](https://github.com/kailong321200875/vue-element-plus-admin/commit/882f162ff21c74239b638f284f52161e5791722d))
|
||||
* Radio改造 ([deeee73](https://github.com/kailong321200875/vue-element-plus-admin/commit/deeee73bcb3ad912844fddee62b1155d95d4b42b))
|
||||
* Radio改造 ([83513d5](https://github.com/kailong321200875/vue-element-plus-admin/commit/83513d519d4b6b8fbfd48db266b9bd7b3a998d63))
|
||||
* Search组件重构 ([a7f3702](https://github.com/kailong321200875/vue-element-plus-admin/commit/a7f370214481577ab82bf2871191dda717c7978a))
|
||||
* SelectV2改造完成 ([4d04734](https://github.com/kailong321200875/vue-element-plus-admin/commit/4d04734e13f6926c16aeee421feecb0d339534f0))
|
||||
* Table重构 ([94800b0](https://github.com/kailong321200875/vue-element-plus-admin/commit/94800b0120ee05ca7d534dda3e59653f38d7fda0))
|
||||
* 完善search组件demo ([cdf44a4](https://github.com/kailong321200875/vue-element-plus-admin/commit/cdf44a43a05010dbcba3a3ec0cb7c8251f16fce3))
|
||||
* 拖拽表格 ([b69b8ed](https://github.com/kailong321200875/vue-element-plus-admin/commit/b69b8ed1bde36100fc86e51fcc63805d4ea21210))
|
||||
* 新增TreeSelect表单项 ([de0cb43](https://github.com/kailong321200875/vue-element-plus-admin/commit/de0cb43566b9065250abbc71548ffeca4c8e8bf1))
|
||||
* 新增Uload ([c181887](https://github.com/kailong321200875/vue-element-plus-admin/commit/c181887f7f0c5eecc9584edfe99e9065440bdc56))
|
||||
* 新增useStorage ([dfea91c](https://github.com/kailong321200875/vue-element-plus-admin/commit/dfea91c7e1d18fa299067c62557cac61723ea861))
|
||||
* 新增权限测试页 ([3fe40ba](https://github.com/kailong321200875/vue-element-plus-admin/commit/3fe40ba62df29c2ffea9adfd65fc559489481e24))
|
||||
* 新增锁屏功能 ([e2fd349](https://github.com/kailong321200875/vue-element-plus-admin/commit/e2fd349070147c57f9400fa9a413260b7707bda2))
|
||||
* 用户列表重构 ([755cea0](https://github.com/kailong321200875/vue-element-plus-admin/commit/755cea0990d9e3b64c936f29c02e4053393a1a19))
|
||||
* 登录页改造 ([5312951](https://github.com/kailong321200875/vue-element-plus-admin/commit/5312951359b5d919b6c1a03783aa6bbaf8ec0044))
|
||||
* 综合示例重构 ([9a0259d](https://github.com/kailong321200875/vue-element-plus-admin/commit/9a0259de5c47970502db95f4dda24998ad5d9efe))
|
||||
* 菜单管理 ([c72b3a3](https://github.com/kailong321200875/vue-element-plus-admin/commit/c72b3a33aab7d3605770a64d23b8a84ef4ad68d2))
|
||||
* 角色管理 ([47016a5](https://github.com/kailong321200875/vue-element-plus-admin/commit/47016a535f2b7a22ab498bee197bc30a983f507d))
|
||||
* 部门管理 ([28d0785](https://github.com/kailong321200875/vue-element-plus-admin/commit/28d0785be842022cae7808c23e1f19eaab5fb996))
|
||||
* 重构Dialog组件示例 ([9a78ac9](https://github.com/kailong321200875/vue-element-plus-admin/commit/9a78ac977eb0cfb3bd6c2a9b96e69d9f010017f4))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* mock数据 ([8bdac71](https://github.com/kailong321200875/vue-element-plus-admin/commit/8bdac7152f463cd98c50c9893a46bb6c111fd428))
|
||||
* 修复Form已知问题 ([097b32e](https://github.com/kailong321200875/vue-element-plus-admin/commit/097b32e1a9d92a609a66179d68b3dabe12f96b66))
|
||||
* 修复Table组件已知问题 ([b1a83f6](https://github.com/kailong321200875/vue-element-plus-admin/commit/b1a83f601838cb82fb29c036654a4cdc729997cd))
|
||||
* 修复类型错误 ([26dc886](https://github.com/kailong321200875/vue-element-plus-admin/commit/26dc886f8ccb5cf1ffc10e1d9601c827a1f960c2))
|
||||
* 样式问题修复 ([cdc7c76](https://github.com/kailong321200875/vue-element-plus-admin/commit/cdc7c76eb5ac3ccb79f5f55ff5b7ce6b8c4955e1))
|
||||
* 解决类型检测报错 ([9d93496](https://github.com/kailong321200875/vue-element-plus-admin/commit/9d9349600b3d2008e4216d49c9fa1c1b9995fa79))
|
||||
* 解决类型检测报错 ([513108c](https://github.com/kailong321200875/vue-element-plus-admin/commit/513108c00e622812e2e70dfe833435f6b5462d6e))
|
||||
* 解决类型检测报错 ([28bf8be](https://github.com/kailong321200875/vue-element-plus-admin/commit/28bf8bee45e3cc8575a356623abdbe56e30991f8))
|
||||
|
||||
|
||||
### Styling
|
||||
|
||||
* Table样式修改 ([5fc57bd](https://github.com/kailong321200875/vue-element-plus-admin/commit/5fc57bdb08488f6898eafd6f28289b0567d6d9e2))
|
||||
* Table样式修改 ([411c0f7](https://github.com/kailong321200875/vue-element-plus-admin/commit/411c0f792ae8359c49e81974d8193f049120985b))
|
||||
* Table样式修改 ([d487c6a](https://github.com/kailong321200875/vue-element-plus-admin/commit/d487c6a93ec0281d76a3938e6e23ea2a4a7940c1))
|
||||
* Table样式修改 ([c7d21e3](https://github.com/kailong321200875/vue-element-plus-admin/commit/c7d21e36d012377ba863ac848d77abb5db4f475a))
|
||||
* Table样式修改 ([7f5078a](https://github.com/kailong321200875/vue-element-plus-admin/commit/7f5078a436c4d5abcaf7a420df35d2be9b3680c5))
|
||||
* 修改Dialog样式 ([e451bfc](https://github.com/kailong321200875/vue-element-plus-admin/commit/e451bfcde6e5a47d4b3022e240ffcc0576ebb9a8))
|
||||
* 修改样式 ([207c5b3](https://github.com/kailong321200875/vue-element-plus-admin/commit/207c5b3fc4e52bb06baa36cd4b659e14893785ba))
|
||||
* 完善角色管理 ([c4576bd](https://github.com/kailong321200875/vue-element-plus-admin/commit/c4576bd57bcf504733f20188202ea7d33ab1c184))
|
||||
* 布局样式优化 ([962689a](https://github.com/kailong321200875/vue-element-plus-admin/commit/962689a8bd0ed5eb17d946b8a21dec4a197f13a7))
|
||||
* 样式布局调整完成 ([7193176](https://github.com/kailong321200875/vue-element-plus-admin/commit/719317694f71e22692256bb557070343f034ffe5))
|
||||
* 用户管理样式修改 ([57a5fa7](https://github.com/kailong321200875/vue-element-plus-admin/commit/57a5fa7b82ae9f3d7a1f8ec5391f14b1d1cd32e8))
|
||||
* 移除不必要样式 ([7ef1d1e](https://github.com/kailong321200875/vue-element-plus-admin/commit/7ef1d1e3013cc5bf7fc574e67c2004f50792e66d))
|
||||
* 移除不必要样式 ([366db45](https://github.com/kailong321200875/vue-element-plus-admin/commit/366db4528254d18659e6a922817702b5b92a57b0))
|
||||
* 调整Icon悬停样式 ([64c7e48](https://github.com/kailong321200875/vue-element-plus-admin/commit/64c7e48bd18ba83e605daccbc4c2f4cc6b58695d))
|
||||
* 调整工作台样式错乱 ([cc18f29](https://github.com/kailong321200875/vue-element-plus-admin/commit/cc18f297ef50655d5773d01fcfddabc365dc53e7))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* Dialog默认高度修改 ([0e04fce](https://github.com/kailong321200875/vue-element-plus-admin/commit/0e04fce4367d6829e8de97a249318b0309e06fd5))
|
||||
* Form Table Search Descriptions 支持嵌套赋值 ([46ddf62](https://github.com/kailong321200875/vue-element-plus-admin/commit/46ddf62d2d4ce1a653f47695cb0bb3475aa16bd8))
|
||||
* ImageViewer组件优化 ([3b9c3d8](https://github.com/kailong321200875/vue-element-plus-admin/commit/3b9c3d8b757646eaf74625403112a969bfd15e55))
|
||||
* 优化Form事件传递 ([69cafb3](https://github.com/kailong321200875/vue-element-plus-admin/commit/69cafb3b7b2ce7ecbd9f2e8ef09e250817e9a55c))
|
||||
* 优化Search组件 ([e548668](https://github.com/kailong321200875/vue-element-plus-admin/commit/e548668ccef8c41d9ac7d9fe39ffe66471d160d2))
|
||||
* 优化表单组件 ([77a3866](https://github.com/kailong321200875/vue-element-plus-admin/commit/77a38662488ab9ff4cbe5ff3cf9b65eea34abca1))
|
||||
* 优化锁屏组件 ([4f8330a](https://github.com/kailong321200875/vue-element-plus-admin/commit/4f8330a4faf6cc98a9bac17bd3e1719ae1b30c81))
|
||||
|
||||
## [1.9.9](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.8...v1.9.9) (2023-04-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 使用动态路由时,多级路由只有一个子路且父路由未使用alwaysShow时,子路由未添加至路由中 ([9b330a1](https://github.com/kailong321200875/vue-element-plus-admin/commit/9b330a1f513d3af9233b9a9dde6bdfeeefbc3393))
|
||||
|
||||
## [1.9.8](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.7...v1.9.8) (2023-04-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修复已知问题 ([0a6f306](https://github.com/kailong321200875/vue-element-plus-admin/commit/0a6f306686ea024e30bcdccac34e485b8526e38f))
|
||||
|
||||
## [1.9.7](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.6...v1.9.7) (2023-03-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修复表格与搜索框字段不能不一致的问题 ([5c1cd29](https://github.com/kailong321200875/vue-element-plus-admin/commit/5c1cd298defefb36b858adc766b776a0a7b9bd66))
|
||||
|
||||
## [1.9.6](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.5...v1.9.6) (2023-03-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修改 Editor 的 z-index 使其不会遮挡『综合示例 - 新增』界面的下拉菜单 ([c046e45](https://github.com/kailong321200875/vue-element-plus-admin/commit/c046e4554ba8fd99614484d8fb636650072b833e))
|
||||
|
||||
## [1.9.5](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.4...v1.9.5) (2023-03-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 面包屑:1.修复使用动态路由的时候,无法显示的bug ([8790c8c](https://github.com/kailong321200875/vue-element-plus-admin/commit/8790c8cbd8d63ea0f8f276fd5af006f39b06e7d3))
|
||||
|
||||
## [1.9.4](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.3...v1.9.4) (2023-03-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修复已知BUG ([782b8e2](https://github.com/kailong321200875/vue-element-plus-admin/commit/782b8e2f94c867c3ee282287c37c888fff93fc55))
|
||||
|
||||
## [1.9.3](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.2...v1.9.3) (2023-03-01)
|
||||
|
||||
|
||||
### Types
|
||||
|
||||
* 修复类型错误 ([297b2c6](https://github.com/kailong321200875/vue-element-plus-admin/commit/297b2c69a239b487126c3b9316645a1b5f06bb7c))
|
||||
|
||||
|
||||
### Styling
|
||||
|
||||
* 抽屉弹出样式问题 ([16a3eef](https://github.com/kailong321200875/vue-element-plus-admin/commit/16a3eef85a1ffb296bd44f67d89a911ecaf1c25e))
|
||||
* 调整主题切换样式 ([6e6beef](https://github.com/kailong321200875/vue-element-plus-admin/commit/6e6beefc3c380f7297985adcabcf966fbd2c5197))
|
||||
|
||||
## [1.9.2](https://github.com/kailong321200875/vue-element-plus-admin/compare/v1.9.1...v1.9.2) (2023-01-16)
|
||||
|
||||
|
||||
|
@ -2,12 +2,21 @@
|
||||
|
||||
vue-element-plus-admin 是一个基于 `element-plus` 免费开源的中后台模版。使用了最新的`vue3`,`vite4`,`TypeScript`等主流技术开发,开箱即用的中后台前端解决方案,可以用来作为项目的启动模版,也可用于学习参考。并且时刻关注着最新技术动向,尽可能的第一时间更新。
|
||||
|
||||
## 介绍
|
||||
|
||||
vue-element-plus-admin 是一个基于 `element-plus` 免费开源的中后台模版。使用了最新的`vue3`,`vite`,`TypeScript`等主流技术开发,开箱即用的中后台前端解决方案,可以用来作为项目的启动模版,也可用于学习参考。并且时刻关注着最新技术动向,尽可能的第一时间更新。
|
||||
|
||||
vue-element-plus-admin 的定位是后台集成方案,不太适合当基础模板来进行二次开发。因为集成了很多你可能用不到的功能,会造成不少的代码冗余。如果你的项目不关注这方面的问题,也可以直接基于它进行二次开发。
|
||||
|
||||
如需要基础模版,请切换到 `mini` 分支,`mini` 只简单集成了一些如:布局、动态菜单等常用布局功能,更适合开发者进行二次开发。
|
||||
|
||||
## 特性
|
||||
|
||||
- **最新技术栈**:使用 Vue3/vite4 等前端前沿技术开发
|
||||
- **TypeScript**: 应用程序级 JavaScript 的语言
|
||||
- **主题**: 可配置的主题
|
||||
- **国际化**:内置完善的国际化方案
|
||||
- **自定义数据** 内置 Mock 数据方案
|
||||
- **权限** 内置完善的动态路由权限生成方案
|
||||
- **组件** 二次封装了多个常用的组件
|
||||
- **示例** 内置丰富的示例
|
||||
@ -17,11 +26,9 @@ vue-element-plus-admin 是一个基于 `element-plus` 免费开源的中后台
|
||||
- [vue-element-plus-admin](https://element-plus-admin.cn/) - 完整版 github 站点
|
||||
- [vue-element-plus-admin](https://kailong110120130.gitee.io/vue-element-plus-admin) - 完整版 gitee 站点
|
||||
|
||||
帐号:**admin/admin test/test**
|
||||
帐号:**admin/admin**
|
||||
|
||||
`admin` 帐号用于模拟服务端控制权限,服务端返回什么就渲染什么
|
||||
|
||||
`test` 帐号用于模拟前端控制权限,服务端只返回需要显示的菜单 key,前端进行匹配渲染
|
||||
在线例子默认不适用菜单过滤,而是直接使用静态路由表
|
||||
|
||||
## 文档
|
||||
|
||||
@ -32,7 +39,7 @@ vue-element-plus-admin 是一个基于 `element-plus` 免费开源的中后台
|
||||
## 前序准备
|
||||
|
||||
- [node](http://nodejs.org/) 和 [git](https://git-scm.com/) - 项目开发环境
|
||||
- [Vite](https://vitejs.dev/) - 熟悉 vite 特性
|
||||
- [Vite4](https://vitejs.dev/) - 熟悉 vite 特性
|
||||
- [Vue3](https://v3.vuejs.org/) - 熟悉 Vue 基础语法
|
||||
- [TypeScript](https://www.typescriptlang.org/) - 熟悉 `TypeScript` 基本语法
|
||||
- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法
|
||||
@ -51,12 +58,6 @@ git clone https://github.com/kailong321200875/vue-element-plus-admin.git
|
||||
- 安装依赖
|
||||
|
||||
```bash
|
||||
临时修改
|
||||
pnpm --registry https://registry.npm.taobao.org install any-touch
|
||||
|
||||
持久使用
|
||||
pnpm config set registry https://registry.npm.taobao.org
|
||||
|
||||
cd vue-element-plus-admin
|
||||
|
||||
pnpm install
|
||||
|
@ -1,28 +0,0 @@
|
||||
module.exports = {
|
||||
extends: ['@commitlint/config-conventional'],
|
||||
rules: {
|
||||
'type-enum': [
|
||||
2,
|
||||
'always',
|
||||
[
|
||||
'feat', // 新功能(feature)
|
||||
'fix', // 修补bug
|
||||
'docs', // 文档(documentation)
|
||||
'style', // 格式、样式(不影响代码运行的变动)
|
||||
'refactor', // 重构(即不是新增功能,也不是修改BUG的代码)
|
||||
'perf', // 优化相关,比如提升性能、体验
|
||||
'test', // 添加测试
|
||||
'ci', // 持续集成修改
|
||||
'chore', // 构建过程或辅助工具的变动
|
||||
'revert', // 回滚到上一个版本
|
||||
'workflow', // 工作流改进
|
||||
'mod', // 不确定分类的修改
|
||||
'wip', // 开发中
|
||||
'types', // 类型修改
|
||||
'release' // 版本发布
|
||||
]
|
||||
],
|
||||
'subject-full-stop': [0, 'never'],
|
||||
'subject-case': [0, 'never']
|
||||
}
|
||||
}
|
1
kinit-admin/dist-pro/assets/403-8609a9bd.js
Normal file
1
kinit-admin/dist-pro/assets/403-8609a9bd.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as r}from"./Error.vue_vue_type_script_setup_true_lang-35cdf1c0.js";import{e as s,K as o,o as t,l as e,k as p}from"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";const m=s({__name:"403",setup(s){const{push:m}=o(),a=()=>{m("/")};return(s,o)=>(t(),e(p(r),{type:"403",onErrorClick:a}))}});export{m as default};
|
1
kinit-admin/dist-pro/assets/403-af24f6bf.svg
Normal file
1
kinit-admin/dist-pro/assets/403-af24f6bf.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 13 KiB |
1
kinit-admin/dist-pro/assets/404-1759fece.svg
Normal file
1
kinit-admin/dist-pro/assets/404-1759fece.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 13 KiB |
1
kinit-admin/dist-pro/assets/404-4a4ff1c7.js
Normal file
1
kinit-admin/dist-pro/assets/404-4a4ff1c7.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as r}from"./Error.vue_vue_type_script_setup_true_lang-35cdf1c0.js";import{e as s,K as o,o as t,l as e,k as m}from"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";const p=s({__name:"404",setup(s){const{push:p}=o(),a=()=>{p("/")};return(s,o)=>(t(),e(m(r),{onErrorClick:a}))}});export{p as default};
|
1
kinit-admin/dist-pro/assets/500-6f5a421c.js
Normal file
1
kinit-admin/dist-pro/assets/500-6f5a421c.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as r}from"./Error.vue_vue_type_script_setup_true_lang-35cdf1c0.js";import{e as s,K as o,o as t,l as e,k as p}from"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";const m=s({__name:"500",setup(s){const{push:m}=o(),a=()=>{m("/")};return(s,o)=>(t(),e(p(r),{type:"500",onErrorClick:a}))}});export{m as default};
|
1
kinit-admin/dist-pro/assets/500-8fda557c.svg
Normal file
1
kinit-admin/dist-pro/assets/500-8fda557c.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 19 KiB |
1
kinit-admin/dist-pro/assets/Agreement-87f962f1.js
Normal file
1
kinit-admin/dist-pro/assets/Agreement-87f962f1.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./Agreement.vue_vue_type_script_setup_true_lang-6427a6dd.js";import"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{e,W as a,r as s,o as r,j as t,x as l,k as o,y as n,m as u,N as i,a3 as c,ai as d,dF as m,P as _}from"./index-9da7d198.js";import{E as f}from"./el-button-8f21380c.js";import{_ as p}from"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";const y={class:"mt-10px",style:{float:"right"}},g=e({__name:"Agreement",props:{tabId:a.number},setup(e){const a=e,g=s(),b=s(""),v=async()=>{const e=await d({tab_id:a.tabId});e&&(b.value=e.data.web_agreement||"")},w=s(!1),k=async()=>{w.value=!0;try{const e=s({});if(e.value=await m({web_agreement:b.value}),e.value)return v(),_.success("更新成功")}finally{w.value=!1}},x={customAlert:(e,a)=>{switch(a){case"success":_.success(e);break;case"info":default:_.info(e);break;case"warning":_.warning(e);break;case"error":_.error(e)}},autoFocus:!0,scroll:!0,readOnly:!1,uploadImgShowBase64:!0};return v(),(e,a)=>(r(),t(c,null,[l(o(p),{modelValue:b.value,"onUpdate:modelValue":a[0]||(a[0]=e=>b.value=e),ref_key:"editorRef",ref:g,editorId:"web_agreement",editorConfig:x},null,8,["modelValue"]),n("div",y,[l(o(f),{loading:w.value,type:"primary",onClick:k},{default:u((()=>[i("立即保存")])),_:1},8,["loading"])])],64))}});export{g as _};
|
9
kinit-admin/dist-pro/assets/Air-7c5e3cde.js
Normal file
9
kinit-admin/dist-pro/assets/Air-7c5e3cde.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Air-a9e44a1f.css
Normal file
1
kinit-admin/dist-pro/assets/Air-a9e44a1f.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}#data-view{width:100%;height:100%;background-color:#030409;color:#fff}#data-view #dv-full-screen-container{background-image:url(/assets/bg-2b98324a.png);background-size:100% 100%;box-shadow:0 0 3px #00f;display:flex;flex-direction:column}
|
1
kinit-admin/dist-pro/assets/Analysis-0a2640ba.js
Normal file
1
kinit-admin/dist-pro/assets/Analysis-0a2640ba.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./Finance.vue_vue_type_script_setup_true_lang-3fb27710.js";import{e as s,r as t,o,j as r,x as a,m as i,k as p}from"./index-9da7d198.js";import{a as m,E as l}from"./el-tab-pane-5d623fbd.js";import{_ as u}from"./User.vue_vue_type_script_setup_true_lang-356c0f0a.js";import"./el-col-d9273186.js";import"./el-divider-fc00d058.js";import"./el-skeleton-item-c29f45f2.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-input-26eda071.js";import"./el-date-picker-f32b0b71.js";import"./el-button-8f21380c.js";import"./Echart.vue_vue_type_script_setup_true_lang-94a01568.js";import"./strings-e2e316bd.js";import"./vnode-ae242abb.js";const n={class:"p-5"},j=s({name:"DashboardAnalysis",__name:"Analysis",setup(s){const j=t("user");return(s,t)=>(o(),r("div",n,[a(p(l),{modelValue:j.value,"onUpdate:modelValue":t[0]||(t[0]=e=>j.value=e)},{default:i((()=>[a(p(m),{label:"财务分析",name:"finance",lazy:!0},{default:i((()=>[a(e)])),_:1}),a(p(m),{label:"客户分析",name:"user",lazy:!0},{default:i((()=>[a(u)])),_:1})])),_:1},8,["modelValue"])]))}});export{j as default};
|
1
kinit-admin/dist-pro/assets/Basic-1d017f2e.css
Normal file
1
kinit-admin/dist-pro/assets/Basic-1d017f2e.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}.system-settings-basic-image-uploader .logo-image{width:178px;height:178px;display:block}.system-settings-basic-image-uploader .ico-image{width:100px;height:100px;display:block}.system-settings-basic-image-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.system-settings-basic-image-uploader .el-upload:hover{border-color:var(--el-color-primary)}.system-settings-basic-image-uploader .el-icon.logo-image-uploader-icon{font-size:28px;color:#8c939d;width:178px;height:178px;text-align:center}.system-settings-basic-image-uploader .el-icon.ico-image-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;text-align:center}
|
1
kinit-admin/dist-pro/assets/Basic-efc78583.js
Normal file
1
kinit-admin/dist-pro/assets/Basic-efc78583.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as s}from"./Basic.vue_vue_type_style_index_0_lang-7f68abc2.js";import"./useForm-ecbcdb43.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./useValidator-e352e7a8.js";export{s as default};
|
@ -0,0 +1 @@
|
||||
import{u as e,F as a}from"./useForm-ecbcdb43.js";import{e as o,W as s,A as t,M as l,x as i,E as r,ak as n,N as p,a3 as c,r as m,P as d,dF as u,o as g,l as b,k as f,S as w,ai as _}from"./index-9da7d198.js";import{E as h}from"./el-button-8f21380c.js";import{E as y}from"./el-progress-69812d34.js";import{u as P}from"./useValidator-e352e7a8.js";const I=o({__name:"Basic",props:{tabId:s.number},setup(o){const s=o,{required:I}=P(),{getStorage:v}=w(),x=t(),O=v(x.getToken),j=l([{field:"web_title",label:"系统标题",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"web_logo",label:"系统 LOGO",colProps:{span:24},formItemProps:{slots:{default:e=>i(y,{class:"system-settings-basic-image-uploader",action:"/api/vadmin/system/upload/image/to/local",data:{path:"system"},"show-file-list":!1,"before-upload":e=>{const a=["image/jpeg","image/gif","image/png"].includes(e.type),o=e.size/1024/1024<5;return a||d.error("上传LOGO图片必须是 JPG/GIF/PNG/ 格式!"),o||d.error("上传LOGO图片大小不能超过 5MB!"),a&&o},"on-success":a=>{200===a.code?e.web_logo=a.data.remote_path:d.error(a.message)},accept:"image/jpeg,image/gif,image/png",name:"file",headers:{Authorization:O}},{default:()=>[e.web_logo?i("img",{src:e.web_logo,class:"logo-image"},null):i(r,{class:"logo-image-uploader-icon"},{default:()=>[i(n,{icon:"akar-icons:plus",size:23},null)]})]})}}},{field:"web_desc",label:"系统描述",colProps:{span:24},component:"Input",componentProps:{rows:4,type:"textarea",style:{width:"500px"}}},{field:"web_ico",label:"ICO 图标",colProps:{span:24},formItemProps:{slots:{default:e=>i(y,{class:"system-settings-basic-image-uploader",action:"/api/vadmin/system/upload/image/to/local",data:{path:"system"},"show-file-list":!1,"before-upload":e=>{const a=["image/x-icon"].includes(e.type),o=e.size/1024/1024<2;return a||d.error("上传ICO图标必须是 ico 格式!"),o||d.error("上传ICO图标大小不能超过 2MB!"),a&&o},"on-success":a=>{200===a.code?(e.web_ico=a.data.remote_path,e.web_ico_local_path=a.data.local_path):d.error(a.message)},accept:"image/jpeg,image/gif,image/png",name:"file",headers:{Authorization:O}},{default:()=>[e.web_ico?i("img",{src:e.web_ico,class:"ico-image"},null):i(r,{class:"ico-image-uploader-icon"},{default:()=>[i(n,{icon:"akar-icons:plus",size:23},null)]})]})}}},{field:"web_ico_local_path",label:"ICO 图标服务器文件地址",component:"Input",colProps:{span:24},hidden:!0},{field:"web_icp_number",label:"备案号",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"web_copyright",label:"版权信息",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"active",label:"",colProps:{span:24},formItemProps:{slots:{default:()=>i(c,null,[i(h,{loading:M.value,type:"primary",onClick:A},{default:()=>[p("立即提交")]})])}}}]),k=l({web_title:[I()],web_logo:[I()],web_ico:[I()]}),{formRegister:C,formMethods:F}=e(),{setValues:z,getFormData:G,getElFormExpose:E}=F;let L=m({});const M=m(!1),A=async()=>{const e=await E();if(await(null==e?void 0:e.validate())){const e=await G();if(M.value=!0,!e)return M.value=!1,d.error("未获取到数据");try{const a=await u(e);if(a)return x.setTitle(a.data.web_title||"后台系统"),x.setLogoImage(a.data.web_logo||"/static/system/logo.png"),x.setFooterContent(a.data.web_copyright||"Copyright ©2022-present K"),x.setIcpNumber(a.data.web_icp_number||""),d.success("更新成功")}finally{M.value=!1}}};return(async()=>{const e=await _({tab_id:s.tabId});if(e){await z(e.data),L.value=e.data;const a=await E();null==a||a.clearValidate()}})(),(e,o)=>(g(),b(f(a),{rules:k,onRegister:f(C),schema:j},null,8,["rules","onRegister","schema"]))}});export{I as _};
|
1
kinit-admin/dist-pro/assets/CenterBottom-025e72e4.css
Normal file
1
kinit-admin/dist-pro/assets/CenterBottom-025e72e4.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}.center-bottom-view{width:100%;height:100%;margin-top:20px}.center-bottom-view .dv-scroll-board{width:100%;height:100%;color:#fff}.center-bottom-view .dv-scroll-board .header,.center-bottom-view .dv-scroll-board .rows .row-item{font-size:18px}
|
1
kinit-admin/dist-pro/assets/CenterBottom-e5e20167.js
Normal file
1
kinit-admin/dist-pro/assets/CenterBottom-e5e20167.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./CenterBottom.vue_vue_type_style_index_0_lang-7932f587.js";import"./datav-vue3.es-2f340315.js";import"./index-9da7d198.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{o as e}from"./datav-vue3.es-2f340315.js";import{e as t,r as a,M as o,w as r,o as s,j as n,x as i,k as m}from"./index-9da7d198.js";const c={class:"center-bottom-view"},d=t({__name:"CenterBottom",props:{centerBottomData:{type:Array,required:!0}},setup(t){const d=t,l=a(null),u=a(d.centerBottomData),p=o({header:["部门名称","甲醛","PM2.5","PM10","温度","湿度","更新时间"],data:u.value,index:!0,columnWidth:[50],align:["center"],rowNum:6,waitTime:2e3,headerHeight:40});return r((()=>d.centerBottomData),(e=>{l.value.updateRows(e)}),{deep:!0}),(t,a)=>(s(),n("div",c,[i(m(e),{ref_key:"scrollBoardRef",ref:l,config:p},null,8,["config"])]))}});export{d as _};
|
1
kinit-admin/dist-pro/assets/CenterTop-c125c474.css
Normal file
1
kinit-admin/dist-pro/assets/CenterTop-c125c474.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}.center-top-view{width:100%;height:100%;box-shadow:0 0 3px #00f;display:flex;flex-direction:column;background-color:#061e5d80;border-top:2px solid rgba(1,153,209,.5);box-sizing:border-box;padding:10px 20px}
|
1
kinit-admin/dist-pro/assets/CenterTop-d4eecf5d.js
Normal file
1
kinit-admin/dist-pro/assets/CenterTop-d4eecf5d.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./CenterTop.vue_vue_type_style_index_0_lang-be191674.js";import"./Echart.vue_vue_type_script_setup_true_lang-94a01568.js";import"./index-9da7d198.js";import"./debounce-778af7ed.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{_ as e}from"./Echart.vue_vue_type_script_setup_true_lang-94a01568.js";import{e as a,W as t,r as s,w as o,o as r,j as i,y as n,z as p,x as c,k as l}from"./index-9da7d198.js";const m={class:"center-top-view"},d={class:"text-3xl font-bold"},u=a({__name:"CenterTop",props:{centerTopData:{type:Object,required:!0},activeMenuName:t.string},setup(a){const t=a,u=s({});return o((()=>t.centerTopData),(e=>{u.value={xAxis:{data:["6H","7H","8H","9H","10H","11H","12H","13H","14H","15H","16H","17H","18H","19H"],type:"category"},textStyle:{fontFamily:"Microsoft YaHei",fontSize:20,fontStyle:"normal",fontWeight:"normal",color:"#ecc460"},grid:{left:20,right:20,bottom:20,top:80,containLabel:!0},tooltip:{trigger:"axis",axisPointer:{type:"cross"},padding:[5,10]},yAxis:[{type:"value",name:"",min:0,axisLabel:{formatter:"{value}"}}],legend:{data:["PM2.5","甲醛","温度","湿度"],textStyle:{color:"#c3f19d"}},series:[{name:"PM2.5",type:"bar",color:"#bbff67",emphasis:{focus:"series"},data:e.pm25,showBackground:!1,barGap:0},{name:"甲醛",type:"bar",color:"#6deedf",emphasis:{focus:"series"},data:e.hcho,showBackground:!1,barGap:0},{name:"温度",type:"line",emphasis:{focus:"series"},data:e.temp},{name:"湿度",type:"line",emphasis:{focus:"series"},data:e.hum}]}}),{immediate:!0,deep:!0}),(a,s)=>(r(),i("div",m,[n("span",d,p(t.activeMenuName),1),n("div",null,[c(l(e),{options:u.value,height:400},null,8,["options"])])]))}});export{u as _};
|
@ -0,0 +1 @@
|
||||
import{e as s,W as e,$ as a,o as t,l,ar as r,m as o,y as n,z as i,k as p,x as c,O as d,q as f,s as m,F as x}from"./index-9da7d198.js";import{E as g}from"./el-card-5fa288fa.js";import"./el-tooltip-4ed993c7.js";import{E as u}from"./el-popper-2fae9050.js";const v={class:"flex items-center"},_={class:"text-16px font-700"},h={class:"max-w-200px"},j={class:"flex pl-20px flex-grow"},k=s({__name:"ContentWrap",props:{title:e.string.def(""),message:e.string.def("")},setup(s){const{getPrefixCls:e}=x(),k=e("content-wrap");return(e,x)=>{const w=a("Icon");return t(),l(p(g),{class:m([[p(k)],"!b-0 h-[100%]"]),shadow:"never"},r({default:o((()=>[n("div",null,[f(e.$slots,"default")])])),_:2},[s.title?{name:"header",fn:o((()=>[n("div",v,[n("span",_,i(s.title),1),s.message?(t(),l(p(u),{key:0,effect:"dark",placement:"right"},{content:o((()=>[n("div",h,i(s.message),1)])),default:o((()=>[c(w,{class:"ml-5px",icon:"bi:question-circle-fill",size:14})])),_:1})):d("",!0),n("div",j,[f(e.$slots,"header")])])])),key:"0"}:void 0]),1032,["class"])}}});export{k as _};
|
1
kinit-admin/dist-pro/assets/CronExample-cc30016c.js
Normal file
1
kinit-admin/dist-pro/assets/CronExample-cc30016c.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as l,o as a,l as e,m as s,j as u,a3 as o,a4 as b,k as v,N as r,z as t}from"./index-9da7d198.js";import{a as m,E as i}from"./el-descriptions-item-be87a779.js";import"./vnode-ae242abb.js";import"./isNil-1f22f7b0.js";import"./use-form-common-props-9d083c67.js";const n={__name:"CronExample",setup(n){const p=l([{value:"0 0 10,15,16 * * ?",label:"每天上午10点,下午3点,4点"},{value:"0 0/30 9-17 * * ?",label:"朝九晚五工作时间内每半小时"},{value:"0 0 12 ? * WED\t",label:"表示每个星期三中午12点"},{value:"0 0 12 * * ?",label:"每天中午12点触发"},{value:"0 15 10 ? * *",label:"每天上午10:15触发"},{value:"0 15 10 * * ?",label:"每天上午10:15触发 (跟上面的一样)"},{value:"0 15 10 * * ? 2005",label:"2005年的每天上午10:15触发"},{value:"0 * 14 * * ?",label:"在每天下午2点到下午2:59期间的每1分钟触发"},{value:"0 0/5 14 * * ?",label:"在每天下午2点到下午2:55期间的每5分钟触发"},{value:"0 0/5 14,18 * * ?",label:"在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发"},{value:"0 0-5 14 * * ?",label:"在每天下午2点到下午2:05期间的每1分钟触发"},{value:"0 10,44 14 ? 3 WED",label:"每年三月的星期三的下午2:10和2:44触发"},{value:"0 15 10 ? * MON-FRI",label:"周一至周五的上午10:15触发"},{value:"0 15 10 15 * ?",label:"每月15日上午10:15触发"},{value:"0 15 10 L * ?",label:"每月最后一日的上午10:15触发"}]);return(l,n)=>(a(),e(v(i),{column:1,border:!0},{default:s((()=>[(a(!0),u(o,null,b(p.value,((l,u)=>(a(),e(v(m),{key:u,label:l.value},{default:s((()=>[r(t(l.label),1)])),_:2},1032,["label"])))),128))])),_:1}))}};export{n as default};
|
1
kinit-admin/dist-pro/assets/CronExpression-4376b18f.js
Normal file
1
kinit-admin/dist-pro/assets/CronExpression-4376b18f.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./CronExpression.vue_vue_type_style_index_0_lang-78dfe52d.js";import"./index-9da7d198.js";import"./el-tab-pane-5d623fbd.js";import"./strings-e2e316bd.js";import"./event-5568c9d8.js";import"./vnode-ae242abb.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-input-26eda071.js";import"./isNil-1f22f7b0.js";import"./el-checkbox-group-b617b779.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-button-8f21380c.js";import"./_Uint8Array-bbcc3a61.js";import"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";import"./el-overlay-037540a2.js";import"./refs-4f0941bf.js";import"./RunDatetimeList-ccdf3646.js";import"./CronExample-cc30016c.js";import"./el-descriptions-item-be87a779.js";export{t as default};
|
1
kinit-admin/dist-pro/assets/CronExpression-ed87bd2a.css
Normal file
1
kinit-admin/dist-pro/assets/CronExpression-ed87bd2a.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}.cron-expression-box .el-input .el-input-group__prepend,.cron-expression-box .el-input .el-input-group__append,.cron-expression-box .el-input .el-input__wrapper{border-radius:0}
|
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Descriptions-50f9b484.css
Normal file
1
kinit-admin/dist-pro/assets/Descriptions-50f9b484.css
Normal file
@ -0,0 +1 @@
|
||||
[data-v-cca2de29]:export{namespace:v;elNamespace:el}[data-v-cca2de29] .el-descriptions__header{display:none!important}.v-descriptions-header__title[data-v-cca2de29]:after{position:absolute;top:3px;left:-10px;width:4px;height:70%;background:var(--el-color-primary);content:""}.v-descriptions-content[data-v-cca2de29] .el-descriptions__cell{width:0}
|
1
kinit-admin/dist-pro/assets/Descriptions-fb3623c2.js
Normal file
1
kinit-admin/dist-pro/assets/Descriptions-fb3623c2.js
Normal file
@ -0,0 +1 @@
|
||||
import{e,W as l,f as a,k as t,r as s,x as r,ak as o,a8 as i,an as d,ac as n,bC as c,A as f,F as p,J as u}from"./index-9da7d198.js";import{E as m,a as b}from"./el-descriptions-item-be87a779.js";import"./el-tooltip-4ed993c7.js";import{E as x}from"./el-popper-2fae9050.js";import{E as v}from"./index-4dbb39b8.js";const g=f(),h=a((()=>g.getMobile)),{getPrefixCls:j}=p(),k=j("descriptions"),y=u(e({name:"Descriptions",props:{title:l.string.def(""),message:l.string.def(""),collapse:l.bool.def(!0),border:l.bool.def(!0),column:l.number.def(2),size:l.oneOf(["large","default","small"]).def("default"),direction:l.oneOf(["horizontal","vertical"]).def("horizontal"),extra:l.string.def(""),schema:{type:Array,default:()=>[]},data:{type:Object,default:()=>({})}},setup(e,{slots:l,attrs:f}){const p=a((()=>{const l=["title","message","collapse","schema","data","class"],a={...f,...e};for(const e in a)-1!==l.indexOf(e)&&delete a[e];return t(h)&&(a.direction="vertical"),a})),u=s(!0),g=()=>{e.collapse&&(u.value=!t(u))};return()=>r("div",{class:[k,"bg-[var(--el-color-white)] dark:bg-[var(--el-bg-color)] dark:border-[var(--el-border-color)] dark:border-1px"]},[e.title?r("div",{class:[`${k}-header`,"relative h-50px flex justify-between items-center layout-border__bottom px-10px cursor-pointer"],onClick:g},[r("div",{class:[`${k}-header__title`,"relative font-18px font-bold ml-10px"]},[r("div",{class:"flex items-center"},[e.title,e.message?r(x,{content:e.message,placement:"right"},{default:()=>[r(o,{icon:"bi:question-circle-fill",class:"ml-5px",size:14},null)]}):null])]),e.collapse?r(o,{icon:u.value?"ep:arrow-down":"ep:arrow-up"},null):null]):null,r(v,null,{default:()=>[i(r("div",{class:[`${k}-content`,"p-20px"]},[r(m,t(p),{extra:()=>l.extra?l.extra():e.extra,default:()=>e.schema.map((l=>r(b,n({key:l.field},(e=>{const l=["field"],a={...e};for(const t in a)-1!==l.indexOf(t)&&delete a[t];return a})(l)),{label:()=>{var e,a;return(null==(e=l.slots)?void 0:e.label)?null==(a=l.slots)?void 0:a.label(l):l.label},default:()=>{var a,t;return(null==(a=l.slots)?void 0:a.default)?null==(t=l.slots)?void 0:t.default(e.data):c(e.data,l.field)}})))})]),[[d,t(u)]])]})])}}),[["__scopeId","data-v-cca2de29"]]);export{y as D};
|
1
kinit-admin/dist-pro/assets/Detail-7208c83a.js
Normal file
1
kinit-admin/dist-pro/assets/Detail-7208c83a.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as i}from"./Detail.vue_vue_type_script_setup_true_lang-f4d558dd.js";import"./Descriptions-fb3623c2.js";import"./index-9da7d198.js";import"./el-descriptions-item-be87a779.js";import"./vnode-ae242abb.js";import"./isNil-1f22f7b0.js";import"./use-form-common-props-9d083c67.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./index-cde97138.js";import"./index-4dbb39b8.js";export{i as default};
|
1
kinit-admin/dist-pro/assets/Detail-74e60541.js
Normal file
1
kinit-admin/dist-pro/assets/Detail-74e60541.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as i}from"./Detail.vue_vue_type_script_setup_true_lang-ec9bfbe7.js";import"./Descriptions-fb3623c2.js";import"./index-9da7d198.js";import"./el-descriptions-item-be87a779.js";import"./vnode-ae242abb.js";import"./isNil-1f22f7b0.js";import"./use-form-common-props-9d083c67.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./index-cde97138.js";import"./index-4dbb39b8.js";import"./el-switch-7720805d.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./dict-ab5a6743.js";import"./dict-b6f9162a.js";import"./dict-b26f862b.js";/* empty css */export{i as default};
|
1
kinit-admin/dist-pro/assets/Detail-e5b1a29a.js
Normal file
1
kinit-admin/dist-pro/assets/Detail-e5b1a29a.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as i}from"./Detail.vue_vue_type_script_setup_true_lang-d7ef4a98.js";import"./Descriptions-fb3623c2.js";import"./index-9da7d198.js";import"./el-descriptions-item-be87a779.js";import"./vnode-ae242abb.js";import"./isNil-1f22f7b0.js";import"./use-form-common-props-9d083c67.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./index-cde97138.js";import"./index-4dbb39b8.js";import"./dict-ab5a6743.js";import"./dict-b6f9162a.js";import"./dict-b26f862b.js";/* empty css */export{i as default};
|
@ -0,0 +1 @@
|
||||
import{D as e}from"./Descriptions-fb3623c2.js";import{s as a}from"./dict-ab5a6743.js";import{u as s}from"./dict-b6f9162a.js";/* empty css */import{e as t,r as l,M as i,x as n,a3 as p,o as r,l as d,k as o}from"./index-9da7d198.js";const c=t({__name:"Detail",props:{currentRow:{type:Object,default:()=>null}},setup(t){const c=l([]);(async()=>{const e=s(),a=await e.getDictObj(["vadmin_system_task_exec_strategy"]);c.value=a.vadmin_system_task_exec_strategy})();const m=i([{field:"job_id",label:"任务编号",width:"240px",span:24},{field:"name",label:"任务名称",span:24},{field:"group",label:"任务分组",span:24},{field:"job_class",label:"调用目标",span:24},{field:"exec_strategy",label:"执行策略",span:24,slots:{default:e=>{const s=e.row;return n(p,null,[n("div",null,[a(c.value,s.exec_strategy)])])}}},{field:"expression",label:"表达式",span:24},{field:"start_time",label:"开始执行时间",width:"200px",span:24},{field:"end_time",label:"执行完成时间",width:"200px",span:24},{field:"process_time",label:"耗时(秒)",width:"110px",span:24},{field:"retval",label:"任务返回值",span:24},{field:"exception",label:"异常信息",span:24},{field:"traceback",label:"堆栈跟踪",width:"100px",span:24}]);return(a,s)=>(r(),d(o(e),{schema:m,data:t.currentRow||{}},null,8,["schema","data"]))}});export{c as _};
|
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
import{D as e}from"./Descriptions-fb3623c2.js";import{e as a,M as l,o as s,l as p,k as t}from"./index-9da7d198.js";const i=a({__name:"Detail",props:{currentRow:{type:Object,default:()=>null}},setup(a){const i=l([{field:"user_id",label:"操作人编号",width:"100px",span:24},{field:"user_name",label:"操作人",width:"100px",span:24},{field:"telephone",label:"手机号",width:"130px",span:24},{field:"request_method",label:"请求方法",width:"100px",span:24},{field:"client_ip",label:"客户端地址",width:"130px",span:24},{field:"tags",label:"标签",width:"130px",span:24},{field:"summary",label:"操作内容",span:24},{field:"description",label:"描述",span:24},{field:"status_code",label:"操作状态",width:"100px",span:24},{field:"route_name",label:"接口函数",width:"150px",span:24},{field:"api_path",label:"接口地址",span:24},{field:"params",label:"请求参数",span:24},{field:"browser",label:"浏览器",width:"150px",span:24},{field:"system",label:"系统",width:"150px",span:24},{field:"process_time",label:"总耗时",span:24},{field:"create_datetime",label:"操作时间",span:24}]);return(l,d)=>(s(),p(t(e),{schema:i,data:a.currentRow||{}},null,8,["schema","data"]))}});export{i as _};
|
1
kinit-admin/dist-pro/assets/Dialog-3c1097e1.css
Normal file
1
kinit-admin/dist-pro/assets/Dialog-3c1097e1.css
Normal file
@ -0,0 +1 @@
|
||||
:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:20px;--el-dialog-border-radius:var(--el-border-radius-small);position:relative;margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:0!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding:var(--el-dialog-padding-primary);padding-bottom:10px;margin-right:16px}.el-dialog__headerbtn{position:absolute;top:6px;right:0;padding:0;width:54px;height:54px;background:0 0;border:none;outline:0;cursor:pointer;font-size:var(--el-message-close-size,16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{padding:calc(var(--el-dialog-padding-primary) + 10px) var(--el-dialog-padding-primary);color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding:var(--el-dialog-padding-primary);padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px calc(var(--el-dialog-padding-primary) + 5px) 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}:export{namespace:v;elNamespace:el}.el-dialog__header{margin-right:0!important;border-bottom:1px solid var(--el-border-color);padding:0;height:54px}.el-dialog__body{padding:15px!important}.el-dialog__footer{border-top:1px solid var(--el-border-color)}.el-dialog__headerbtn{top:0}
|
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Dict-a467f5b8.js
Normal file
1
kinit-admin/dist-pro/assets/Dict-a467f5b8.js
Normal file
@ -0,0 +1 @@
|
||||
import{e,r as t,o as s,l as r,m as i,x as p,k as o}from"./index-9da7d198.js";import{E as m,a as _}from"./el-col-d9273186.js";import{_ as l}from"./DictDetail.vue_vue_type_script_setup_true_lang-4a0d50e2.js";import{_ as u}from"./DictType.vue_vue_type_script_setup_true_lang-653a118c.js";import"./dict-b26f862b.js";import"./Table.vue_vue_type_script_lang-5256bd69.js";import"./el-message-box-24354127.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./isNil-1f22f7b0.js";import"./el-overlay-037540a2.js";import"./el-checkbox-group-b617b779.js";import"./vnode-ae242abb.js";import"./useForm-ecbcdb43.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-table-column-102f47a6.js";import"./el-image-viewer-83790b35.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";/* empty css */import"./_Uint8Array-bbcc3a61.js";import"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import"./useIcon-6417bbff.js";import"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import"./el-card-5fa288fa.js";import"./Write.vue_vue_type_script_setup_true_lang-936b70dd.js";import"./useValidator-e352e7a8.js";import"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";import"./Write.vue_vue_type_script_setup_true_lang-4fc8089e.js";const a=e({name:"SystemDict",__name:"Dict",setup(e){const a=t(),j=e=>{a.value=e};return(e,t)=>(s(),r(o(_),null,{default:i((()=>[p(o(m),{xs:24,sm:24,md:12,lg:12,xl:12},{default:i((()=>[p(u,{onUpdateDictTypeId:j})])),_:1}),p(o(m),{xs:24,sm:24,md:12,lg:12,xl:12},{default:i((()=>[p(l,{"dict-type-id":a.value},null,8,["dict-type-id"])])),_:1})])),_:1}))}});export{a as default};
|
1
kinit-admin/dist-pro/assets/DictDetail-c788b02c.js
Normal file
1
kinit-admin/dist-pro/assets/DictDetail-c788b02c.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./DictDetail.vue_vue_type_script_setup_true_lang-4a0d50e2.js";import"./dict-b26f862b.js";import"./index-9da7d198.js";import"./Table.vue_vue_type_script_lang-5256bd69.js";import"./el-message-box-24354127.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./isNil-1f22f7b0.js";import"./el-overlay-037540a2.js";import"./el-checkbox-group-b617b779.js";import"./vnode-ae242abb.js";import"./useForm-ecbcdb43.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-table-column-102f47a6.js";import"./el-image-viewer-83790b35.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";/* empty css */import"./_Uint8Array-bbcc3a61.js";import"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import"./useIcon-6417bbff.js";import"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import"./el-card-5fa288fa.js";import"./Write.vue_vue_type_script_setup_true_lang-936b70dd.js";import"./useValidator-e352e7a8.js";import"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{a as e,b as a,d as l,c as t,p as i}from"./dict-b26f862b.js";import{u as s,_ as o}from"./Table.vue_vue_type_script_lang-5256bd69.js";import{e as u,W as d,G as n,M as r,x as p,a3 as c,N as v,r as _,w as m,o as f,j as g,m as y,k as b,ao as w,z as h}from"./index-9da7d198.js";import{E as k}from"./el-button-8f21380c.js";import{E as j}from"./el-switch-7720805d.js";import{a as z,E as D}from"./el-col-d9273186.js";import{_ as x}from"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import{_ as R}from"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import{_ as C}from"./Write.vue_vue_type_script_setup_true_lang-936b70dd.js";import{_ as I}from"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";const S=u({__name:"DictDetail",props:{dictTypeId:d.number.def(void 0)},setup(u){const d=u,{t:S}=n(),{tableRegister:T,tableState:U,tableMethods:L}=s({fetchDataApi:async()=>{const{pageSize:e,currentPage:l}=U,t=await a({page:b(l),limit:b(e),dict_type_id:d.dictTypeId,...b($)});return{list:t.data||[],total:t.count||0}},fetchDelApi:async e=>200===(await l(e)).code}),{dataList:P,loading:A,total:E,pageSize:V,currentPage:W}=U,{getList:M,delList:N}=L,G=r([{field:"id",label:"字典编号",show:!1,disabled:!1},{field:"label",label:"字典标签",show:!0,disabled:!0},{field:"value",label:"字典键值",show:!0},{field:"order",label:"字典排序",show:!0},{field:"disabled",label:"是否禁用",show:!0,slots:{default:e=>{const a=e.row;return p(c,null,[p(j,{value:!a.disabled,disabled:!0},null)])}}},{field:"remark",label:"备注",show:!1},{field:"create_datetime",label:"创建时间",show:!1},{field:"action",width:"120px",label:"操作",show:!0,slots:{default:e=>{const a=e.row;return p(c,null,[p(k,{type:"primary",link:!0,size:"small",onClick:()=>Z(a)},{default:()=>[v("编辑")]}),p(k,{type:"danger",loading:B.value,link:!0,size:"small",onClick:()=>F(a)},{default:()=>[v("删除")]})])}}}]),K=r([{field:"label",label:"字典标签",component:"Input",componentProps:{clearable:!1}}]),$=_({}),q=e=>{W.value=1,$.value=e,M()},B=_(!1),F=async e=>{B.value=!0,await N(!0,[e.id]).finally((()=>{B.value=!1}))},H=_(!1),J=_(""),O=_(),Q=_(""),X=_(),Y=_(!1),Z=async a=>{const l=await e(a.id);l&&(J.value="编辑字段元素",Q.value="edit",O.value=l.data,H.value=!0)},ee=()=>{J.value="新增字段元素",Q.value="add",O.value=void 0,H.value=!0},ae=async()=>{const e=b(X),a=await(null==e?void 0:e.submit());if(a){Y.value=!0;try{const e=_({});"add"===Q.value?(e.value=await t(a),e.value&&(H.value=!1,M())):"edit"===Q.value&&(e.value=await i(a),e.value&&(H.value=!1,M()))}finally{Y.value=!1}}};return m((()=>d.dictTypeId),(()=>{M()}),{deep:!0}),(e,a)=>(f(),g(c,null,[p(b(R),null,{default:y((()=>[p(b(x),{schema:K,onReset:q,onSearch:q},null,8,["schema"]),p(b(o),{"current-page":b(W),"onUpdate:currentPage":a[0]||(a[0]=e=>w(W)?W.value=e:null),"page-size":b(V),"onUpdate:pageSize":a[1]||(a[1]=e=>w(V)?V.value=e:null),showAction:"",activeUID:"detail",columns:G,"default-expand-all":"","node-key":"id",data:b(P),loading:b(A),pagination:{total:b(E)},onRegister:b(T),onRefresh:b(M)},{toolbar:y((()=>[p(b(z),{gutter:10},{default:y((()=>[p(b(D),{span:1.5},{default:y((()=>[p(b(k),{type:"primary",onClick:ee},{default:y((()=>[v("新增字典元素")])),_:1})])),_:1})])),_:1})])),_:1},8,["current-page","page-size","columns","data","loading","pagination","onRegister","onRefresh"])])),_:1}),p(b(I),{modelValue:H.value,"onUpdate:modelValue":a[3]||(a[3]=e=>H.value=e),title:J.value,height:650},{footer:y((()=>[p(b(k),{type:"primary",loading:Y.value,onClick:ae},{default:y((()=>[v(h(b(S)("exampleDemo.save")),1)])),_:1},8,["loading"]),p(b(k),{onClick:a[2]||(a[2]=e=>H.value=!1)},{default:y((()=>[v(h(b(S)("dialogDemo.close")),1)])),_:1})])),default:y((()=>[p(C,{ref_key:"writeRef",ref:X,"current-row":O.value,"dict-type-id":u.dictTypeId},null,8,["current-row","dict-type-id"])])),_:1},8,["modelValue","title"])],64))}});export{S as _};
|
1
kinit-admin/dist-pro/assets/DictType-f9d68489.js
Normal file
1
kinit-admin/dist-pro/assets/DictType-f9d68489.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./DictType.vue_vue_type_script_setup_true_lang-653a118c.js";import"./dict-b26f862b.js";import"./index-9da7d198.js";import"./Table.vue_vue_type_script_lang-5256bd69.js";import"./el-message-box-24354127.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./isNil-1f22f7b0.js";import"./el-overlay-037540a2.js";import"./el-checkbox-group-b617b779.js";import"./vnode-ae242abb.js";import"./useForm-ecbcdb43.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-table-column-102f47a6.js";import"./el-image-viewer-83790b35.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";/* empty css */import"./_Uint8Array-bbcc3a61.js";import"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import"./useIcon-6417bbff.js";import"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import"./el-card-5fa288fa.js";import"./Write.vue_vue_type_script_setup_true_lang-4fc8089e.js";import"./useValidator-e352e7a8.js";import"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{f as e,h as a,i as t,j as l,k as s}from"./dict-b26f862b.js";import{u as o,_ as n}from"./Table.vue_vue_type_script_lang-5256bd69.js";import{e as i,G as u,M as r,x as d,ak as p,a3 as c,N as _,r as m,o as f,j as v,m as y,k as g,ao as w,z as h,aD as b,P as k}from"./index-9da7d198.js";import{E as j}from"./el-button-8f21380c.js";import{E as C}from"./el-switch-7720805d.js";import{a as D,E as x}from"./el-col-d9273186.js";import{_ as R}from"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import{_ as z}from"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import{_ as P}from"./Write.vue_vue_type_script_setup_true_lang-4fc8089e.js";import{_ as I}from"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";const S=i({__name:"DictType",emits:["updateDictTypeId"],setup(i,{emit:S}){const{t:T}=u(),{tableRegister:E,tableState:U,tableMethods:L}=o({fetchDataApi:async()=>{const{pageSize:e,currentPage:t}=U,l=await a({page:g(t),limit:g(e),...g(F)});return{list:l.data||[],total:l.count||0}},fetchDelApi:async e=>{const a=await t(e);return 200===a.code&&await ne(),200===a.code}}),{dataList:A,loading:V,total:M,pageSize:N,currentPage:W}=U,{getList:G,delList:K,getElTableExpose:$}=L,q=r([{field:"id",label:"字典编号",width:"80px",show:!1,disabled:!1},{field:"dict_name",label:"字典名称",show:!0,disabled:!0},{field:"dict_type",label:"字典类型",show:!0,disabled:!0,slots:{default:e=>{const a=e.row;return d(c,null,[d("span",{onClick:()=>(async e=>{const{copy:a}=b();return await a(e),k.success("复制成功")})(a.dict_type)},[d(p,{icon:"material-symbols:content-copy-rounded",class:"cursor-pointer"},null)]),d("span",null,[a.dict_type])])}}},{field:"disabled",label:"是否禁用",width:"120px",show:!0,slots:{default:e=>{const a=e.row;return d(c,null,[d(C,{value:!a.disabled,disabled:!0},null)])}}},{field:"remark",label:"备注",show:!1},{field:"create_datetime",label:"创建时间",show:!1},{field:"action",width:"120px",label:"操作",show:!0,slots:{default:e=>{const a=e.row;return d(c,null,[d(j,{type:"primary",link:!0,size:"small",onClick:()=>te(a)},{default:()=>[_("编辑")]}),d(j,{type:"danger",loading:J.value,link:!0,size:"small",onClick:()=>O(a)},{default:()=>[_("删除")]})])}}}]),B=r([{field:"dict_name",label:"字典名称",colProps:{span:24},component:"Input",componentProps:{clearable:!1}},{field:"dict_type",label:"字典类型",colProps:{span:24},component:"Input",componentProps:{clearable:!1}}]),F=m({}),H=e=>{W.value=1,F.value=e,G()},J=m(!1),O=async e=>{J.value=!0,await K(!0,[e.id]).finally((()=>{J.value=!1}))},Q=m(!1),X=m(""),Y=m(),Z=m(""),ee=m(),ae=m(!1),te=async a=>{const t=await e(a.id);t&&(X.value="编辑字典类型",Z.value="edit",Y.value=t.data,Q.value=!0)},le=()=>{X.value="新增字典类型",Z.value="add",Y.value=void 0,Q.value=!0},se=async()=>{const e=g(ee),a=await(null==e?void 0:e.submit());if(a){ae.value=!0;try{const e=m({});"add"===Z.value?(e.value=await l(a),e.value&&(Q.value=!1,G())):"edit"===Z.value&&(e.value=await s(a),e.value&&(Q.value=!1,G()))}finally{ae.value=!1}}},oe=async e=>{S("updateDictTypeId",e.id)},ne=async()=>{const e=await $();null==e||e.setCurrentRow(null),S("updateDictTypeId",null)};return(e,a)=>(f(),v(c,null,[d(g(z),null,{default:y((()=>[d(g(R),{schema:B,onReset:H,onSearch:H},null,8,["schema"]),d(g(n),{"current-page":g(W),"onUpdate:currentPage":a[0]||(a[0]=e=>w(W)?W.value=e:null),"page-size":g(N),"onUpdate:pageSize":a[1]||(a[1]=e=>w(N)?N.value=e:null),showAction:"",activeUID:"type",columns:q,"default-expand-all":"",highlightCurrentRow:!0,"node-key":"id",data:g(A),loading:g(V),pagination:{total:g(M)},onRegister:g(E),onCurrentChange:oe,onRefresh:g(G)},{toolbar:y((()=>[d(g(D),{gutter:10},{default:y((()=>[d(g(x),{span:1.5},{default:y((()=>[d(g(j),{type:"primary",onClick:le},{default:y((()=>[_("新增字典类型")])),_:1})])),_:1}),d(g(x),{span:1.5},{default:y((()=>[d(g(j),{type:"danger",onClick:ne},{default:y((()=>[_("清除选择")])),_:1})])),_:1})])),_:1})])),_:1},8,["current-page","page-size","columns","data","loading","pagination","onRegister","onRefresh"])])),_:1}),d(g(I),{modelValue:Q.value,"onUpdate:modelValue":a[3]||(a[3]=e=>Q.value=e),title:X.value,height:650},{footer:y((()=>[d(g(j),{type:"primary",loading:ae.value,onClick:se},{default:y((()=>[_(h(g(T)("exampleDemo.save")),1)])),_:1},8,["loading"]),d(g(j),{onClick:a[2]||(a[2]=e=>Q.value=!1)},{default:y((()=>[_(h(g(T)("dialogDemo.close")),1)])),_:1})])),default:y((()=>[d(P,{ref_key:"writeRef",ref:ee,"current-row":Y.value},null,8,["current-row"])])),_:1},8,["modelValue","title"])],64))}});export{S as _};
|
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Email-b089d510.js
Normal file
1
kinit-admin/dist-pro/assets/Email-b089d510.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./Email.vue_vue_type_script_setup_true_lang-ecc38079.js";import"./useForm-ecbcdb43.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./useValidator-e352e7a8.js";export{t as default};
|
@ -0,0 +1 @@
|
||||
import{u as a,F as e}from"./useForm-ecbcdb43.js";import{e as s,W as t,M as o,x as l,N as r,a3 as n,r as i,P as p,dF as m,o as c,l as u,k as d,ai as f}from"./index-9da7d198.js";import{E as w}from"./el-button-8f21380c.js";import{u as _}from"./useValidator-e352e7a8.js";const P=s({__name:"Email",props:{tabId:t.number},setup(s){const t=s,{required:P}=_(),b=o([{field:"email_access",label:"邮箱账号",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"email_password",label:"邮箱密码",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"email_server",label:"邮箱服务器",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"email_port",label:"服务器端口",colProps:{span:24},component:"Input",componentProps:{style:{width:"500px"}}},{field:"active",label:"",colProps:{span:24},formItemProps:{slots:{default:()=>l(n,null,[l(w,{loading:E.value,type:"primary",onClick:k},{default:()=>[r("立即提交")]})])}}}]),v=o({email_access:[P()],email_password:[P()],email_port:[P()],email_server:[P()]}),{formRegister:y,formMethods:x}=a(),{setValues:h,getFormData:I,getElFormExpose:g}=x;let F=i({});const j=async()=>{const a=await f({tab_id:t.tabId});if(a){await h(a.data),F.value=a.data;const e=await g();null==e||e.clearValidate()}},E=i(!1),k=async()=>{const a=await g();if(await(null==a?void 0:a.validate())){const a=await I();if(E.value=!0,!a)return E.value=!1,p.error("未获取到数据");try{if(await m(a))return j(),p.success("更新成功")}finally{E.value=!1}}};return j(),(a,s)=>(c(),u(d(e),{rules:v,onRegister:d(y),schema:b},null,8,["rules","onRegister","schema"]))}});export{P as _};
|
@ -0,0 +1 @@
|
||||
import{e,W as r,o as s,j as t,y as o,z as a,x as n,m as i,k as l,G as m,N as u}from"./index-9da7d198.js";import{E as c}from"./el-button-8f21380c.js";const p={class:"flex justify-center"},x={class:"text-center"},f=["src"],d={class:"text-14px text-[var(--el-color-info)]"},g={class:"mt-20px"},v=e({__name:"Error",props:{type:r.string.validate((e=>["404","500","403"].includes(e))).def("404")},emits:["errorClick"],setup(e,{emit:r}){const v=e,{t:y}=m(),T={404:{url:"/assets/404-1759fece.svg",message:y("error.pageError"),buttonText:y("error.returnToHome")},500:{url:"/assets/500-8fda557c.svg",message:y("error.networkError"),buttonText:y("error.returnToHome")},403:{url:"/assets/403-af24f6bf.svg",message:y("error.noPermission"),buttonText:y("error.returnToHome")}},b=()=>{r("errorClick",v.type)};return(r,m)=>(s(),t("div",p,[o("div",x,[o("img",{width:"350",src:T[e.type].url,alt:""},null,8,f),o("div",d,a(T[e.type].message),1),o("div",g,[n(l(c),{type:"primary",onClick:b},{default:i((()=>[u(a(T[e.type].buttonText),1)])),_:1})])])]))}});export{v as _};
|
1
kinit-admin/dist-pro/assets/Finance-03a53128.js
Normal file
1
kinit-admin/dist-pro/assets/Finance-03a53128.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./Finance.vue_vue_type_script_setup_true_lang-3fb27710.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-divider-fc00d058.js";import"./el-skeleton-item-c29f45f2.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-input-26eda071.js";import"./el-date-picker-f32b0b71.js";import"./el-button-8f21380c.js";import"./Echart.vue_vue_type_script_setup_true_lang-94a01568.js";export{t as default};
|
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
import{e,A as t,f as a,o,j as r,z as s,s as l,k as p,F as g}from"./index-9da7d198.js";const n=e({__name:"Footer",setup(e){const{getPrefixCls:n}=g(),c=n("footer"),i=t(),h=a((()=>i.getTitle));return(e,t)=>(o(),r("div",{class:l([p(c),"text-center text-[var(--el-text-color-placeholder)] bg-[var(--app-content-bg-color)] h-[var(--app-footer-height)] leading-[var(--app-footer-height)] dark:bg-[var(--el-bg-color)]"])}," Copyright ©2021-present "+s(h.value),3))}});export{n as _};
|
1
kinit-admin/dist-pro/assets/Home-a568f438.js
Normal file
1
kinit-admin/dist-pro/assets/Home-a568f438.js
Normal file
@ -0,0 +1 @@
|
||||
import{b as s,c as e,i as a,a as t,d as l,e as r,u as p,r as i,f as o,g as n,h as c,w as m,o as u,j as d,n as v,k as _,l as x,m as j,p as f,E as g,q as y,s as b,_ as k,t as h,v as w,x as S,y as z,z as E}from"./index-9da7d198.js";import{E as V}from"./el-card-5fa288fa.js";import{E as q,a as F}from"./el-col-d9273186.js";import{E as N,a as U}from"./el-tab-pane-5d623fbd.js";import{_ as W}from"./InfoWrite.vue_vue_type_script_setup_true_lang-8199338b.js";import{_ as $}from"./PasswordWrite.vue_vue_type_script_setup_true_lang-1f4a7f46.js";import{a as A}from"./avatar-d437f563.js";import{s as B}from"./dict-ab5a6743.js";import{u as D}from"./dict-b6f9162a.js";import"./strings-e2e316bd.js";import"./event-5568c9d8.js";import"./vnode-ae242abb.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./useForm-ecbcdb43.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./el-input-26eda071.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./index-4dbb39b8.js";import"./useValidator-e352e7a8.js";import"./dict-b26f862b.js";const H=s({size:{type:[Number,String],values:e,default:"",validator:s=>a(s)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:t},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:l(String),default:"cover"}}),I={error:s=>s instanceof Event},O=["src","alt","srcset"],P=r({name:"ElAvatar"});const C=h(k(r({...P,props:H,emits:I,setup(s,{emit:e}){const t=s,l=p("avatar"),r=i(!1),k=o((()=>{const{size:s,icon:e,shape:a}=t,r=[l.b()];return n(s)&&r.push(l.m(s)),e&&r.push(l.m("icon")),a&&r.push(l.m(a)),r})),h=o((()=>{const{size:s}=t;return a(s)?l.cssVarBlock({size:c(s)||""}):void 0})),w=o((()=>({objectFit:t.fit})));function S(s){r.value=!0,e("error",s)}return m((()=>t.src),(()=>r.value=!1)),(s,e)=>(u(),d("span",{class:b(_(k)),style:v(_(h))},[!s.src&&!s.srcSet||r.value?s.icon?(u(),x(_(g),{key:1},{default:j((()=>[(u(),x(f(s.icon)))])),_:1})):y(s.$slots,"default",{key:2}):(u(),d("img",{key:0,src:s.src,alt:s.alt,srcset:s.srcSet,style:v(_(w)),onError:S},null,44,O))],6))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/avatar/src/avatar.vue"]])),G={class:"p-20px"},J={class:"text-center"},K={style:{"font-size":"24px"}},L={class:"pl-20px pt-30px"},M={class:"leading-relaxed"},Q=z("span",{class:"pl-10px w-80px inline-block"},"姓名:",-1),R={class:"pl-10px"},T={class:"leading-relaxed"},X=z("span",{class:"pl-10px w-80px inline-block"},"昵称:",-1),Y={class:"pl-10px"},Z={class:"leading-relaxed"},ss=z("span",{class:"pl-10px w-80px inline-block"},"手机号:",-1),es={class:"pl-10px"},as={class:"leading-relaxed"},ts=z("span",{class:"pl-10px w-80px inline-block"},"性别:",-1),ls={class:"pl-10px"},rs={class:"leading-relaxed"},ps=z("span",{class:"pl-10px w-80px inline-block"},"角色:",-1),is={class:"pl-10px"},os={class:"leading-relaxed"},ns=z("span",{class:"pl-10px w-80px inline-block"},"创建时间:",-1),cs={class:"pl-10px"},ms=r({__name:"Home",setup(s){const e=i("info"),a=w();let t=i([]);(async()=>{const s=D(),e=await s.getDictObj(["sys_vadmin_gender"]);t.value=e.sys_vadmin_gender})();const l=o((()=>a.getUser));return(s,a)=>(u(),d("div",G,[S(_(F),{gutter:20},{default:j((()=>[S(_(q),{xs:24,sm:12,md:8},{default:j((()=>[S(_(V),{shadow:"hover",class:"pb-30px"},{default:j((()=>{var s;return[z("div",J,[S(_(C),{size:80,src:l.value.avatar?l.value.avatar:_(A)},null,8,["src"]),z("p",K,E(l.value.name),1)]),z("div",L,[z("div",M,[Q,z("span",R,E(l.value.name),1)]),z("div",T,[X,z("span",Y,E(l.value.nickname),1)]),z("div",Z,[ss,z("span",es,E(l.value.telephone),1)]),z("div",as,[ts,z("span",ls,E(_(B)(_(t),l.value.gender)),1)]),z("div",rs,[ps,z("span",is,E(null==(s=l.value.roles)?void 0:s.map((s=>s.name)).join(",")),1)]),z("div",os,[ns,z("span",cs,E(l.value.create_datetime),1)])])]})),_:1})])),_:1}),S(_(q),{xs:24,sm:12,md:16},{default:j((()=>[S(_(V),{shadow:"hover"},{default:j((()=>[S(_(N),{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=s=>e.value=s)},{default:j((()=>[S(_(U),{label:"基本信息",name:"info"},{default:j((()=>[S(W)])),_:1}),S(_(U),{label:"修改密码",name:"password"},{default:j((()=>[S($)])),_:1})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})]))}});export{ms as default};
|
1
kinit-admin/dist-pro/assets/Home-c6905c65.css
Normal file
1
kinit-admin/dist-pro/assets/Home-c6905c65.css
Normal file
@ -0,0 +1 @@
|
||||
.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size)}.el-avatar>img{display:block;width:100%;height:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}
|
1
kinit-admin/dist-pro/assets/Image-636a2dc7.js
Normal file
1
kinit-admin/dist-pro/assets/Image-636a2dc7.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Import-039acdc5.js
Normal file
1
kinit-admin/dist-pro/assets/Import-039acdc5.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as o}from"./Import.vue_vue_type_script_setup_true_lang-7dc203dd.js";import"./index-9da7d198.js";import"./el-link-d575b38b.js";import"./el-col-d9273186.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./event-5568c9d8.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-progress-69812d34.js";import"./el-popconfirm-3191559c.js";/* empty css */export{o as default};
|
@ -0,0 +1 @@
|
||||
import{e,r as a,o as l,j as t,y as s,x as r,m as n,N as i,k as o,z as p,l as u,a3 as d,P as m,ax as c,ay as f}from"./index-9da7d198.js";import{E as _}from"./el-link-d575b38b.js";import{E as y,a as b}from"./el-col-d9273186.js";import{E as v}from"./el-button-8f21380c.js";import{E as g,a as h}from"./el-table-column-102f47a6.js";import"./el-tag-aef2ce12.js";import"./el-tooltip-4ed993c7.js";import{E as w}from"./el-popper-2fae9050.js";import{E as x}from"./el-progress-69812d34.js";import{E as k}from"./el-popconfirm-3191559c.js";/* empty css */const j=s("span",null,"导入步骤:",-1),E={style:{"margin-top":"7px"}},z=s("li",{style:{"margin-top":"7px"}},"编辑模板文件,(将需要导入的数据按格式填写进去)",-1),C=s("li",{style:{"margin-top":"7px"}},"上传模板文件,点击确认导入",-1),L=s("li",{style:{"margin-top":"7px"}},"查看导入结果,是否全部导入",-1),X={class:"mt-10px"},M={class:"flex justify-between mr-10px"},B=s("span",null,"导入结果",-1),F={style:{color:"red"}},S=e({__name:"Import",emits:["getList"],setup(e,{emit:S}){const $=e=>{const a=["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].includes(e.type),l=e.size/1024/1024<10;return a||m.error("上传文件必须是 XLSX 格式!"),l||m.error("上传文件大小不能超过 10MB!"),a&&l},q=a(),D=a([]),H=a([]),I=async e=>{D.value=[],D.value.push({filename:e.file.name,filesize:(e.file.size/1024).toFixed(1)+"KB",status:"上传成功"}),q.value=e.file},K=()=>{D.value=[],q.value=null},N=a(!1),P=a(0),R=async()=>{N.value=!0;const e=new FormData;e.append("file",q.value);try{const a=await c(e);a&&(H.value.push({filename:q.value.name,success_number:a.data.success_number,error_number:a.data.error_number,error_url:a.data.error_url}),P.value+=a.data.success_number,K(),S("getList"))}finally{N.value=!1}},A=async()=>{m.info("正在下载请稍等!");const e=await f();if(e){const a=document.createElement("a");a.style.display="none",a.href=e.data.url,a.target="_blank",a.download=e.data.filename;const l=new MouseEvent("click");a.dispatchEvent(l)}};return(e,a)=>(l(),t(d,null,[s("div",null,[j,s("ol",null,[s("li",E,[r(o(_),{onClick:A,target:"_blank",type:"primary"},{default:n((()=>[i(" 下载最新批量导入模板 ")])),_:1})]),z,C,L])]),s("div",null,[r(o(b),{gutter:10,class:"!mt-0 !mr-0"},{default:n((()=>[r(o(y),{span:1.5},{default:n((()=>[s("div",null,[r(o(x),{action:"","http-request":I,data:{path:"users"},"show-file-list":!1,"before-upload":$,accept:".xlsx",disabled:D.value.length>0},{default:n((()=>[r(o(w),{effect:"dark",content:"只支持上传XLSX文件",placement:"top"},{default:n((()=>[r(o(v),{type:"primary",size:"small",disabled:D.value.length>0},{default:n((()=>[i("上传文件")])),_:1},8,["disabled"])])),_:1})])),_:1},8,["disabled"])])])),_:1}),r(o(y),{span:1.5},{default:n((()=>[r(o(v),{type:"primary",size:"small",disabled:0===D.value.length,loading:N.value,onClick:R},{default:n((()=>[i("确认导入")])),_:1},8,["disabled","loading"])])),_:1})])),_:1}),r(o(h),{data:D.value,border:!0,style:{width:"100%"},class:"mt-10px"},{default:n((()=>[r(o(g),{prop:"filename",label:"文件名称",align:"left"}),r(o(g),{prop:"filesize",label:"文件大小",width:"100",align:"center"}),r(o(g),{prop:"status",label:"上传状态",width:"100",align:"center"}),r(o(g),{fixed:"right",label:"操作",width:"130",align:"center"},{default:n((()=>[r(o(k),{title:"确认删除吗?",onConfirm:K},{reference:n((()=>[r(o(v),{link:"",type:"primary",size:"small"},{default:n((()=>[i("删除")])),_:1})])),_:1})])),_:1})])),_:1},8,["data"])]),s("div",X,[s("div",M,[B,s("span",null,"成功导入总数:"+p(P.value),1)]),r(o(h),{data:H.value,border:!0,style:{width:"100%"},class:"mt-10px"},{default:n((()=>[r(o(g),{prop:"filename",label:"文件名称",align:"left"}),r(o(g),{prop:"success_number",label:"成功数量",width:"100",align:"center"}),r(o(g),{prop:"error_number",label:"失败数量",width:"100",align:"center"},{default:n((e=>[s("span",F,p(e.row.error_number),1)])),_:1}),r(o(g),{fixed:"right",label:"操作",width:"130",align:"center"},{default:n((e=>[e.row.error_number>0?(l(),u(o(_),{key:0,onClick:a=>(async e=>{m.info("正在下载请稍等!");const a=document.createElement("a");a.style.display="none",a.href=e.error_url,a.target="_blank",a.download=e.filename;const l=new MouseEvent("click");a.dispatchEvent(l)})(e.row),target:"_blank",type:"primary"},{default:n((()=>[i("下载失败数据")])),_:2},1032,["onClick"])):(l(),u(o(_),{key:1,type:"success",underline:!1},{default:n((()=>[i("成功全部导入")])),_:1}))])),_:1})])),_:1},8,["data"])])],64))}});export{S as _};
|
1
kinit-admin/dist-pro/assets/InfoWrite-bd7303c3.js
Normal file
1
kinit-admin/dist-pro/assets/InfoWrite-bd7303c3.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./InfoWrite.vue_vue_type_script_setup_true_lang-8199338b.js";import"./useForm-ecbcdb43.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./useValidator-e352e7a8.js";export{t as default};
|
@ -0,0 +1 @@
|
||||
import{u as e,F as o}from"./useForm-ecbcdb43.js";import{u as s}from"./useValidator-e352e7a8.js";import{e as a,v as r,M as t,x as l,N as n,a3 as i,r as p,P as m,aj as d,o as c,l as u,k as f}from"./index-9da7d198.js";import{E as P}from"./el-button-8f21380c.js";const g=a({__name:"InfoWrite",setup(a){const{required:g,isTelephone:b}=s(),v=r(),h=t([{field:"name",label:"用户名称",component:"Input",colProps:{span:24},formItemProps:{rules:[g()]},componentProps:{style:{width:"50%"}}},{field:"nickname",label:"用户昵称",component:"Input",colProps:{span:24},componentProps:{style:{width:"50%"}}},{field:"telephone",label:"手机号",component:"Input",colProps:{span:24},formItemProps:{rules:[g(),{validator:b,trigger:"blur"}]},componentProps:{style:{width:"50%"},maxlength:11}},{field:"gender",label:"性别",colProps:{span:24},formItemProps:{rules:[g()]},component:"RadioGroup",componentProps:{options:[{label:"男",value:"0"},{label:"女",value:"1"}]}},{field:"save",colProps:{span:24},formItemProps:{slots:{default:()=>l(i,null,[l("div",{class:"w-[50%]"},[l(P,{loading:x.value,type:"primary",class:"w-[100%]",onClick:F},{default:()=>[n("保存")]})])])}}}]),{formRegister:w,formMethods:k}=e(),{setValues:y,getFormData:I,getElFormExpose:j}=k;y(v.getUser);const x=p(!1),F=async()=>{if(1===v.getUser.id)return m.warning("编辑账号为演示账号,无权限操作!");const e=await j();if(await(null==e?void 0:e.validate())){x.value=!0;const e=await I();try{const o=await d(e);o&&(v.updateUser(o.data),m.success("保存成功"))}finally{x.value=!1}}};return(e,s)=>(c(),u(f(o),{onRegister:f(w),schema:h,"hide-required-asterisk":"",class:"dark:border-1 dark:border-[var(--el-border-color)] dark:border-solid"},null,8,["onRegister","schema"]))}});export{g as _};
|
1
kinit-admin/dist-pro/assets/Issue-46d187cb.js
Normal file
1
kinit-admin/dist-pro/assets/Issue-46d187cb.js
Normal file
@ -0,0 +1 @@
|
||||
import{g as e,d as t}from"./issue-bdbecac5.js";import{u as s,_ as a}from"./Table.vue_vue_type_script_lang-5256bd69.js";import{e as l,K as o,r as i,M as r,x as p,a3 as n,N as m,o as d,l as u,m as c,k as _,ao as f}from"./index-9da7d198.js";import{E as j}from"./el-button-8f21380c.js";import{E as g}from"./el-switch-7720805d.js";import{a as h,E as b}from"./el-col-d9273186.js";import{_ as v}from"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import{_ as w}from"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import{u as y}from"./dict-b6f9162a.js";import"./el-message-box-24354127.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./isNil-1f22f7b0.js";import"./el-overlay-037540a2.js";import"./el-checkbox-group-b617b779.js";import"./vnode-ae242abb.js";import"./useForm-ecbcdb43.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-table-column-102f47a6.js";import"./el-image-viewer-83790b35.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";/* empty css */import"./_Uint8Array-bbcc3a61.js";import"./useIcon-6417bbff.js";import"./el-card-5fa288fa.js";import"./dict-b26f862b.js";const x=l({name:"HelpIssue",__name:"Issue",setup(l){const{push:x}=o(),{tableRegister:k,tableState:S,tableMethods:z}=s({fetchDataApi:async()=>{const{pageSize:t,currentPage:s}=S,a=await e({page:_(s),limit:_(t),..._(K)});return{list:a.data||[],total:a.count||0}},fetchDelApi:async e=>200===(await t(e)).code}),{dataList:P,loading:R,total:A,pageSize:C,currentPage:I}=S,{getList:L,delList:U}=z,D=i([]);(async()=>{const e=y(),t=await e.getDictObj(["sys_vadmin_platform"]);D.value=t.sys_vadmin_platform})();const E=r([{field:"id",label:"编号",show:!0,disabled:!0,width:"120px"},{field:"category.name",label:"类别名称",width:"200px",show:!0,disabled:!0},{field:"title",label:"标题",show:!0},{field:"view_number",label:"查看次数",show:!0,width:"100px"},{field:"is_active",label:"是否可见",show:!0,width:"100px",slots:{default:e=>{const t=e.row;return p(n,null,[p(g,{value:t.is_active,disabled:!0},null)])}}},{field:"create_datetime",label:"创建时间",show:!0,width:"200px",sortable:!0},{field:"create_user.name",label:"创建人",show:!0,width:"100px"},{field:"action",width:"120px",label:"操作",show:!0,slots:{default:e=>{const t=e.row;return p(n,null,[p(j,{type:"primary",link:!0,size:"small",onClick:()=>$(t)},{default:()=>[m("编辑")]}),p(j,{type:"danger",loading:N.value,link:!0,size:"small",onClick:()=>O(t)},{default:()=>[m("删除")]})])}}}]),H=r([{field:"name",label:"类别名称",component:"Input",componentProps:{clearable:!0,style:{width:"214px"}}},{field:"platform",label:"登录平台",component:"Select",componentProps:{style:{width:"214px"},options:D.value}},{field:"is_active",label:"是否可见",component:"Select",componentProps:{style:{width:"214px"},options:[{label:"可见",value:!0},{label:"不可见",value:!1}]}}]),K=i({}),M=e=>{I.value=1,K.value=e,L()},N=i(!1),O=async e=>{N.value=!0,await U(!0,[e.id]).finally((()=>{N.value=!1}))},$=async e=>{x(`/help/issue/form?id=${e.id}`)},q=()=>{x("/help/issue/form")};return(e,t)=>(d(),u(_(w),null,{default:c((()=>[p(_(v),{schema:H,onReset:M,onSearch:M},null,8,["schema"]),p(_(a),{"current-page":_(I),"onUpdate:currentPage":t[0]||(t[0]=e=>f(I)?I.value=e:null),"page-size":_(C),"onUpdate:pageSize":t[1]||(t[1]=e=>f(C)?C.value=e:null),showAction:"",columns:E,"default-expand-all":"","node-key":"id",data:_(P),loading:_(R),pagination:{total:_(A)},onRegister:_(k),onRefresh:_(L)},{toolbar:c((()=>[p(_(h),{gutter:10},{default:c((()=>[p(_(b),{span:1.5},{default:c((()=>[p(_(j),{type:"primary",onClick:q},{default:c((()=>[m("新增常见问题")])),_:1})])),_:1})])),_:1})])),_:1},8,["current-page","page-size","columns","data","loading","pagination","onRegister","onRefresh"])])),_:1}))}});export{x as default};
|
1
kinit-admin/dist-pro/assets/IssueCategory-6a087dfa.js
Normal file
1
kinit-admin/dist-pro/assets/IssueCategory-6a087dfa.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Layout-0d1f0d8b.css
Normal file
1
kinit-admin/dist-pro/assets/Layout-0d1f0d8b.css
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Layout-1e11d7f7.js
Normal file
1
kinit-admin/dist-pro/assets/Layout-1e11d7f7.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Left-56fff601.css
Normal file
1
kinit-admin/dist-pro/assets/Left-56fff601.css
Normal file
@ -0,0 +1 @@
|
||||
:export{namespace:v;elNamespace:el}.left-view{width:100%;height:100%;box-shadow:0 0 3px #00f;display:flex;flex-direction:column;background-color:#061e5d80;border-top:2px solid rgba(1,153,209,.5);padding:10px 20px}.left-view .main-content{flex:1;display:flex;flex-direction:column;margin-top:10px}.left-view .main-content .dv-border-box-11 .border-box-content{justify-content:center;align-items:center;display:-webkit-flex}.left-view .main-content .dv-border-box-11 .data-view{position:relative;height:100%;width:100%;justify-content:center;display:-webkit-flex}.left-view .main-content .dv-border-box-11 .data-view .data-title{font-size:35px;display:block;position:absolute;top:40%}.left-view .main-content .dv-border-box-11 .data-view .data-desc{font-size:14px;display:block;position:absolute;bottom:10%}
|
1
kinit-admin/dist-pro/assets/Left-f87bdde5.js
Normal file
1
kinit-admin/dist-pro/assets/Left-f87bdde5.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./Left.vue_vue_type_style_index_0_lang-f909ab99.js";import"./index-9da7d198.js";import"./datav-vue3.es-2f340315.js";export{e as default};
|
@ -0,0 +1 @@
|
||||
import{e as a,W as t,o as s,j as e,y as l,z as d,x as i,m as c,k as n}from"./index-9da7d198.js";import{C as p}from"./datav-vue3.es-2f340315.js";const m={class:"left-view box-border"},o={class:"text-3xl font-bold"},u={class:"main-content"},v={class:"data-view"},f={class:"data-title"},r=l("span",{class:"data-desc"},"提示:低于80ug/m³适合长期居住",-1),_={class:"data-view"},x={class:"data-title"},g=l("span",{class:"data-desc"},"提示:低于75ug/m³适合长期居住",-1),w={class:"data-view"},D={class:"data-title"},b=l("span",{class:"data-desc"},"提示:当前室外温度为25°C",-1),j={class:"data-view"},h={class:"data-title"},C=l("span",{class:"data-desc"},"提示:当前室外湿度为38%RH",-1),M=a({__name:"Left",props:{leftData:{type:Object,required:!0},activeMenuName:t.string},setup(a){const t=a;return(a,M)=>(s(),e("div",m,[l("span",o,d(t.activeMenuName),1),l("div",u,[i(n(p),{title:"室内甲醛"},{default:c((()=>[l("div",v,[l("span",f,d(t.leftData.hcho)+"ug/m³",1),r])])),_:1}),i(n(p),{title:"室内PM2.5"},{default:c((()=>[l("div",_,[l("span",x,d(t.leftData.pm25)+"ug/m³",1),g])])),_:1}),i(n(p),{title:"室内温度"},{default:c((()=>[l("div",w,[l("span",D,d(t.leftData.temp)+"°C",1),b])])),_:1}),i(n(p),{title:"室内湿度"},{default:c((()=>[l("div",j,[l("span",h,d(t.leftData.hum)+"%RH",1),C])])),_:1})])]))}});export{M as _};
|
1
kinit-admin/dist-pro/assets/LocaleDropdown-590195c3.css
Normal file
1
kinit-admin/dist-pro/assets/LocaleDropdown-590195c3.css
Normal file
@ -0,0 +1 @@
|
||||
[data-v-52ce9834]:export{namespace:v;elNamespace:el}[data-v-52ce9834] .el-switch__core .el-switch__inner .is-icon{overflow:visible}
|
@ -0,0 +1 @@
|
||||
import{e as a,A as o,r as e,o as s,l,s as c,k as n,F as t,J as r,c_ as i,c$ as m,d0 as d,U as u,d1 as p,W as g,cM as _,f,$ as j,m as v,x as h,j as w,a4 as L,a3 as C,N as b,z as k}from"./index-9da7d198.js";import{E as I}from"./el-switch-7720805d.js";import{u as E}from"./useIcon-6417bbff.js";import"./el-button-8f21380c.js";import{E as x,a as z,b as D}from"./el-dropdown-item-c082162c.js";import"./el-popper-2fae9050.js";const V="var(--el-color-black)",A=r(a({__name:"ThemeSwitch",setup(a){const{getPrefixCls:r}=t(),i=r("theme-switch"),m=E({icon:"emojione-monotone:sun",color:"#fde047"}),d=E({icon:"emojione-monotone:crescent-moon",color:"#fde047"}),u=o(),p=e(u.getIsDark),g=a=>{u.setIsDark(a)};return(a,o)=>(s(),l(n(I),{class:c(n(i)),modelValue:p.value,"onUpdate:modelValue":o[0]||(o[0]=a=>p.value=a),"inline-prompt":"","border-color":V,"inactive-color":V,"active-color":V,"active-icon":n(m),"inactive-icon":n(d),onChange:g},null,8,["class","modelValue","active-icon","inactive-icon"]))}}),[["__scopeId","data-v-52ce9834"]]),P=()=>({changeLocale:async a=>{const o=i.global,e=await m(Object.assign({"../../locales/en.ts":()=>d((()=>import("./en-c7b65732.js")),[]),"../../locales/zh-CN.ts":()=>d((()=>import("./zh-CN-a83d200e.js")),[])}),`../../locales/${a}.ts`);o.setLocaleMessage(a,e.default),(a=>{const o=u();"legacy"===i.mode?i.global.locale=a:i.global.locale.value=a,o.setCurrentLocale({lang:a}),p(a)})(a)}}),T=a({__name:"LocaleDropdown",props:{color:g.string.def("")},setup(a){const{getPrefixCls:o}=t(),e=o("locale-dropdown"),r=_(),i=f((()=>r.getLocaleMap)),m=f((()=>r.getCurrentLocale)),d=a=>{if(a===n(m).lang)return;window.location.reload(),r.setCurrentLocale({lang:a});const{changeLocale:o}=P();o(a)};return(o,t)=>{const r=j("Icon");return s(),l(n(z),{class:c(n(e)),trigger:"click",onCommand:d},{dropdown:v((()=>[h(n(x),null,{default:v((()=>[(s(!0),w(C,null,L(i.value,(a=>(s(),l(n(D),{key:a.lang,command:a.lang},{default:v((()=>[b(k(a.name),1)])),_:2},1032,["command"])))),128))])),_:1})])),default:v((()=>[h(r,{size:18,icon:"ion:language-sharp",class:c(["cursor-pointer !p-0",o.$attrs.class]),color:a.color},null,8,["class","color"])])),_:1},8,["class"])}}});export{A as T,T as _};
|
1
kinit-admin/dist-pro/assets/Login-c1f80473.css
Normal file
1
kinit-admin/dist-pro/assets/Login-c1f80473.css
Normal file
@ -0,0 +1 @@
|
||||
[data-v-062c9279]:export{namespace:v;elNamespace:el}.v-login[data-v-062c9279]{overflow:auto}.v-login__left[data-v-062c9279]:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background-image:url(/assets/login-bg-e36b8ca7.svg);background-position:center;background-repeat:no-repeat;content:""}
|
1
kinit-admin/dist-pro/assets/Login-e1d8f65a.js
Normal file
1
kinit-admin/dist-pro/assets/Login-e1d8f65a.js
Normal file
@ -0,0 +1 @@
|
||||
import{e,A as t,r as s,f as l,o as a,j as i,x as o,m as r,y as p,s as m,k as x,z as n,B as c,T as d,C as u,l as _,D as g,F as v,G as j,H as f,I as h,J as w}from"./index-9da7d198.js";import{_ as y}from"./LoginForm.vue_vue_type_script_setup_true_lang-06e4cf32.js";import{_ as b}from"./TelephoneCodeForm.vue_vue_type_script_setup_true_lang-c75a388b.js";import{T as k,_ as T}from"./LocaleDropdown.vue_vue_type_script_setup_true_lang-7d558651.js";import"./useForm-ecbcdb43.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-link-d575b38b.js";import"./useValidator-e352e7a8.js";import"./useIcon-6417bbff.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";const I={class:"relative flex mx-auto min-h-100vh"},L={class:"flex items-center relative text-white"},F=["src"],C={class:"text-20px font-bold"},z={class:"flex justify-center items-center h-[calc(100%-60px)]"},A=(e=>(f("data-v-062c9279"),e=e(),h(),e))((()=>p("img",{src:"/assets/login-box-bg-fec91044.svg",key:"1",alt:"",class:"w-350px"},null,-1))),B={class:"text-3xl text-white",key:"2"},D={class:"mt-5 font-normal text-white text-14px",key:"3"},P={class:"flex-1 p-30px lt-sm:p-10px dark:bg-[var(--login-bg-color)] relative"},$={class:"flex justify-between items-center text-white at-2xl:justify-end at-xl:justify-end"},q={class:"flex items-center at-2xl:hidden at-xl:hidden"},G=["src"],H={class:"text-20px font-bold"},J={class:"flex justify-end items-center space-x-10px"},N={class:"h-full flex items-center m-auto w-[100%] at-2xl:max-w-500px at-xl:max-w-500px at-md:max-w-500px at-lg:max-w-500px"},R=w(e({__name:"Login",setup(e){const{getPrefixCls:f}=v(),h=f("login"),w=t(),{t:R}=j(),V=s(!0),E=l((()=>w.getLogoImage)),K=()=>{V.value=!1},M=()=>{V.value=!0};return(e,t)=>(a(),i("div",{class:m([x(h),"h-[100%] relative lt-xl:bg-[var(--login-bg-color)] lt-sm:px-10px lt-xl:px-10px lt-md:px-10px"])},[o(x(g),{class:"h-full"},{default:r((()=>[p("div",I,[p("div",{class:m(`${x(h)}__left flex-1 bg-gray-500 bg-opacity-20 relative p-30px lt-xl:hidden`)},[p("div",L,[p("img",{src:E.value,alt:"",class:"w-48px h-48px mr-10px"},null,8,F),p("span",C,n(x(c)(x(w).getTitle)),1)]),p("div",z,[o(d,{appear:"",tag:"div","enter-active-class":"animate__animated animate__bounceInLeft"},{default:r((()=>[A,p("div",B,n(x(R)("login.welcome")),1),p("div",D,n(x(R)("login.message")),1)])),_:1})])],2),p("div",P,[p("div",$,[p("div",q,[p("img",{src:E.value,alt:"",class:"w-48px h-48px mr-10px"},null,8,G),p("span",H,n(x(c)(x(w).getTitle)),1)]),p("div",J,[o(x(k)),o(x(T),{class:"lt-xl:text-white dark:text-white"})])]),o(u,{appear:"","enter-active-class":"animate__animated animate__bounceInRight"},{default:r((()=>[p("div",N,[V.value?(a(),_(x(y),{key:0,class:"p-20px h-auto m-auto lt-xl:rounded-3xl lt-xl:light:bg-white",onToTelephone:K})):(a(),_(x(b),{key:1,class:"p-20px h-auto m-auto lt-xl:rounded-3xl lt-xl:light:bg-white",onToPassword:M}))])])),_:1})])])])),_:1})],2))}}),[["__scopeId","data-v-062c9279"]]);export{R as default};
|
1
kinit-admin/dist-pro/assets/Login-ee322bf7.js
Normal file
1
kinit-admin/dist-pro/assets/Login-ee322bf7.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/LoginForm-8940fe00.js
Normal file
1
kinit-admin/dist-pro/assets/LoginForm-8940fe00.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./LoginForm.vue_vue_type_script_setup_true_lang-06e4cf32.js";import"./useForm-ecbcdb43.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-link-d575b38b.js";import"./useValidator-e352e7a8.js";export{t as default};
|
@ -0,0 +1 @@
|
||||
import{u as e,F as o}from"./useForm-ecbcdb43.js";import{e as l,L as t,v as s,K as a,r,M as n,x as i,a3 as c,ak as d,w as p,R as u,o as m,l as f,k as h,al as g,S as v,G as w}from"./index-9da7d198.js";import{E as b}from"./el-button-8f21380c.js";import{E as P}from"./el-tag-aef2ce12.js";import{E as y}from"./el-link-d575b38b.js";import{u as j}from"./useValidator-e352e7a8.js";function k(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!g(e)}const x="var(--el-color-primary)",R="#999",I=l({__name:"LoginForm",emits:["to-telephone"],setup(l,{emit:g}){const{required:I}=j(),z=t(),C=s(),{currentRoute:E,addRoute:F,push:_}=a(),{setStorage:L}=v(),{t:q}=w(),S=r(!1),V={telephone:[I()],method:[I()],password:[I()]},A=n([{field:"title",colProps:{span:24},formItemProps:{slots:{default:()=>i("h2",{class:"text-2xl font-bold text-center w-[100%]"},[q("login.login")])}}},{field:"telephone",label:q("login.telephone"),value:"15020221010",component:"Input",colProps:{span:24},componentProps:{style:{width:"100%"},placeholder:q("login.telephonePlaceholder"),maxlength:11}},{field:"password",label:q("login.password"),value:"kinit2022",component:"InputPassword",colProps:{span:24},componentProps:{style:{width:"100%"},placeholder:q("login.passwordPlaceholder")}},{field:"method",label:"登录类型",value:"0",component:"Input",hidden:!0},{field:"tool",colProps:{span:24},formItemProps:{slots:{default:()=>{let e;return i(c,null,[i("div",{class:"flex justify-between items-center w-[100%]"},[i(P,{modelValue:S.value,"onUpdate:modelValue":e=>S.value=e,label:q("login.remember"),size:"small"},null),i(y,{type:"primary",underline:!1},k(e=q("login.forgetPassword"))?e:{default:()=>[e]})])])}}}},{field:"login",colProps:{span:24},formItemProps:{slots:{default:()=>{let e,o;return i(c,null,[i("div",{class:"w-[100%]"},[i(b,{loading:K.value,type:"primary",class:"w-[100%]",onClick:B},k(e=q("login.login"))?e:{default:()=>[e]})]),i("div",{class:"w-[100%] mt-15px"},[i(b,{class:"w-[100%]",onClick:J},k(o=q("login.smsLogin"))?o:{default:()=>[o]})])])}}}},{field:"other",component:"Divider",label:q("login.otherLogin"),componentProps:{contentPosition:"center"}},{field:"otherIcon",colProps:{span:24},formItemProps:{slots:{default:()=>i(c,null,[i("div",{class:"flex justify-between w-[100%]"},[i(d,{icon:"ant-design:github-filled",size:30,class:"cursor-pointer ant-icon",color:R,hoverColor:x},null),i(d,{icon:"ant-design:wechat-filled",size:30,class:"cursor-pointer ant-icon",color:R,hoverColor:x},null),i(d,{icon:"ant-design:alipay-circle-filled",size:30,color:R,hoverColor:x,class:"cursor-pointer ant-icon"},null),i(d,{icon:"ant-design:weibo-circle-filled",size:30,color:R,hoverColor:x,class:"cursor-pointer ant-icon"},null)])])}}}]),{formRegister:D,formMethods:M}=e(),{getFormData:O,getElFormExpose:G}=M,K=r(!1),U=r("");p((()=>E.value),(e=>{var o;U.value=null==(o=null==e?void 0:e.query)?void 0:o.redirect}),{immediate:!0});const B=async()=>{const e=await G();if(await(null==e?void 0:e.validate())){K.value=!0;const e=await O();try{const o=await C.login(e);o?o.data.is_reset_password?H():_({path:"/reset/password"}):K.value=!1}catch(o){K.value=!1}}},H=async()=>{const e=await u();if(e){const o=e.data||[];L("roleRouters",o),await z.generateRoutes(o).catch((()=>{})),z.getAddRouters.forEach((e=>{F(e)})),z.setIsAddRouters(!0),_({path:U.value||z.addRouters[0].path})}},J=()=>{g("to-telephone")};return(e,l)=>(m(),f(h(o),{schema:A,rules:V,"label-position":"top","hide-required-asterisk":"",size:"large",class:"dark:border-1 dark:border-[var(--el-border-color)] dark:border-solid",onRegister:h(D)},null,8,["schema","onRegister"]))}});export{I as _};
|
1
kinit-admin/dist-pro/assets/Map-4cbd2402.js
Normal file
1
kinit-admin/dist-pro/assets/Map-4cbd2402.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Map-bc1ba682.css
Normal file
1
kinit-admin/dist-pro/assets/Map-bc1ba682.css
Normal file
@ -0,0 +1 @@
|
||||
[data-v-f3fb4ae5]:export{namespace:v;elNamespace:el}#map-container[data-v-f3fb4ae5]{padding:0;margin:0;width:100%;height:800px}#map-container[data-v-f3fb4ae5] .description{background-color:#fff;height:50px;display:flex;justify-content:space-between;align-items:center;padding:10px;box-sizing:border-box;border:2px solid #f05b72;border-radius:5px;font-size:14px}#map-container[data-v-f3fb4ae5] .point{display:inline-block;width:9px;height:9px;border-radius:50%;background-color:#f05b72;margin-bottom:1px;margin-right:2px}#map-container[data-v-f3fb4ae5] .name-box{display:inline;margin-right:8px}#map-container[data-v-f3fb4ae5] .alarmDevice{text-align:center;margin:0 auto;width:30px;height:30px;background-color:#f13737;box-shadow:0 0 15px #f61212;border-radius:50%;-webkit-animation-name:"alarmDeviceBreath";-webkit-animation-duration:1s;-webkit-animation-timing-function:ease;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate}@keyframes alarmDeviceBreath{0%{margin-left:0;margin-top:0;width:30px;height:30px;box-shadow:0 0 15px #f61212;opacity:1.2}to{margin-left:5px;margin-top:5px;width:20px;height:20px;box-shadow:0 0 10px #f61212;opacity:.6}}
|
1
kinit-admin/dist-pro/assets/Menu-bc5fc51c.js
Normal file
1
kinit-admin/dist-pro/assets/Menu-bc5fc51c.js
Normal file
File diff suppressed because one or more lines are too long
1
kinit-admin/dist-pro/assets/Operation-28d1c38e.js
Normal file
1
kinit-admin/dist-pro/assets/Operation-28d1c38e.js
Normal file
@ -0,0 +1 @@
|
||||
import{Y as e,e as t,G as l,M as a,x as o,N as s,a3 as i,r,o as p,j as n,m,k as d,ao as u,z as c,l as _,O as h}from"./index-9da7d198.js";import{u as j,_ as f}from"./Table.vue_vue_type_script_lang-5256bd69.js";import{E as b}from"./el-button-8f21380c.js";import{_ as g}from"./Search.vue_vue_type_script_setup_true_lang-a57e37eb.js";import{_ as w}from"./ContentWrap.vue_vue_type_script_setup_true_lang-9c7e578a.js";import{_ as v}from"./Detail.vue_vue_type_script_setup_true_lang-f4d558dd.js";import{_ as x}from"./Dialog.vue_vue_type_style_index_0_lang-fcbfdb5d.js";import"./el-message-box-24354127.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./isNil-1f22f7b0.js";import"./el-overlay-037540a2.js";import"./el-checkbox-group-b617b779.js";import"./vnode-ae242abb.js";import"./useForm-ecbcdb43.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./el-table-column-102f47a6.js";import"./el-image-viewer-83790b35.js";import"./el-dropdown-item-c082162c.js";import"./refs-4f0941bf.js";/* empty css */import"./_Uint8Array-bbcc3a61.js";import"./useIcon-6417bbff.js";import"./el-card-5fa288fa.js";import"./Descriptions-fb3623c2.js";import"./el-descriptions-item-be87a779.js";const y=t({name:"SystemRecordOperation",__name:"Operation",setup(t){const{t:y}=l(),{tableRegister:k,tableState:R,tableMethods:S}=j({fetchDataApi:async()=>{const{pageSize:t,currentPage:l}=R,a=await(o={page:d(l),limit:d(t),...d(C)},e.get({url:"/vadmin/record/operations",params:o}));var o;return{list:a.data||[],total:a.count||0}}}),{dataList:z,loading:P,total:D,pageSize:U,currentPage:A}=R,{getList:I}=S,O=a([{field:"user_id",label:"操作人编号",show:!0,disabled:!0,width:"100px"},{field:"user_name",label:"操作人",show:!0,disabled:!0,width:"100px"},{field:"telephone",label:"手机号",show:!0,disabled:!0,width:"130px"},{field:"request_method",label:"请求方法",show:!0,disabled:!0,width:"100px"},{field:"client_ip",label:"客户端地址",width:"130px",show:!0,disabled:!0},{field:"tags",label:"标签",width:"130px",show:!0},{field:"summary",label:"操作内容",show:!0},{field:"description",label:"描述",show:!1},{field:"status_code",label:"操作状态",show:!0,width:"100px"},{field:"route_name",label:"接口函数",show:!1,width:"150px"},{field:"api_path",label:"接口地址",show:!1},{field:"params",label:"请求参数",show:!1},{field:"browser",label:"浏览器",show:!0,width:"150px"},{field:"system",label:"系统",show:!1,width:"150px"},{field:"process_time",label:"总耗时",show:!0},{field:"create_datetime",label:"操作时间",show:!0},{field:"action",width:"100px",show:!0,label:"操作",slots:{default:e=>{const t=e.row;return o(i,null,[o(b,{type:"primary",link:!0,onClick:()=>E(t,"detail")},{default:()=>[s("详情")]})])}}}]),q=a([{field:"telephone",label:"手机号",component:"Input",componentProps:{clearable:!1}},{field:"request_method",label:"请求方法",component:"Input",componentProps:{clearable:!1}},{field:"summary",label:"操作内容",component:"Input",componentProps:{clearable:!1}}]),C=r({}),L=e=>{A.value=1,C.value=e,I()},N=r(!1),V=r(""),M=r(),B=r(""),E=(e,t)=>{V.value=y("exampleDemo.detail"),B.value=t,M.value=e,N.value=!0};return(e,t)=>(p(),n(i,null,[o(d(w),null,{default:m((()=>[o(d(g),{schema:q,onReset:L,onSearch:L},null,8,["schema"]),o(d(f),{"current-page":d(A),"onUpdate:currentPage":t[0]||(t[0]=e=>u(A)?A.value=e:null),"page-size":d(U),"onUpdate:pageSize":t[1]||(t[1]=e=>u(U)?U.value=e:null),showAction:"",columns:O,"node-key":"id",data:d(z),loading:d(P),pagination:{total:d(D)},onRegister:d(k),onRefresh:d(I)},null,8,["current-page","page-size","columns","data","loading","pagination","onRegister","onRefresh"])])),_:1}),o(d(x),{modelValue:N.value,"onUpdate:modelValue":t[3]||(t[3]=e=>N.value=e),title:V.value,width:"800px"},{footer:m((()=>[o(d(b),{onClick:t[2]||(t[2]=e=>N.value=!1)},{default:m((()=>[s(c(d(y)("dialogDemo.close")),1)])),_:1})])),default:m((()=>["detail"===B.value?(p(),_(v,{key:0,"current-row":M.value},null,8,["current-row"])):h("",!0)])),_:1},8,["modelValue","title"])],64))}});export{y as default};
|
@ -0,0 +1 @@
|
||||
import{_ as o}from"./PasswordSendEmail.vue_vue_type_script_setup_true_lang-5a56f3de.js";import"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./event-5568c9d8.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-popconfirm-3191559c.js";/* empty css */import"./index-14d9f390.js";export{o as default};
|
@ -0,0 +1 @@
|
||||
import{e,r as a,o as s,j as t,y as r,x as l,m as i,N as n,k as d,l as o,O as p,P as u,az as f}from"./index-9da7d198.js";import{E as m}from"./el-button-8f21380c.js";import{E as c,a as _}from"./el-table-column-102f47a6.js";import"./el-tag-aef2ce12.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import{E as y}from"./el-popconfirm-3191559c.js";/* empty css */import{E as w}from"./index-14d9f390.js";const g={class:"flex justify-between"},k=r("span",null,"已选用户列表",-1),v=e({__name:"PasswordSendEmail",props:{selections:{type:Object}},setup(e){const v=e,b=a(JSON.parse(JSON.stringify(v.selections))),h=a(!1),j=async()=>{h.value=!0;const e=b.value.filter((e=>!0!==e.reset_password_status)).map((e=>e.id));if(e.length<=0)return u.warning("已全部重置完成,无需重复操作");try{const a=await f(e);a&&(b.value=a.data,u.success("重置成功"))}finally{h.value=!1}};return(e,a)=>{var u;return s(),t("div",null,[r("div",g,[k,l(d(m),{type:"primary",disabled:0===(null==(u=b.value)?void 0:u.length),loading:h.value,onClick:j},{default:i((()=>[n("确认重置并发送邮件通知")])),_:1},8,["disabled","loading"])]),l(d(_),{data:b.value,stripe:!0,border:!0,style:{width:"100%"},class:"mt-10px","max-height":"500px"},{default:i((()=>[l(d(c),{prop:"id",label:"用户编号",width:"100",align:"center"}),l(d(c),{prop:"name",label:"姓名",width:"120",align:"center"}),l(d(c),{prop:"email",label:"邮箱",width:"200",align:"center"}),l(d(c),{prop:"reset_password_status",label:"重置状态",width:"100",align:"center"},{default:i((e=>[!0===e.row.reset_password_status?(s(),o(d(w),{key:0,type:"success",effect:"dark"},{default:i((()=>[n(" 重置成功 ")])),_:1})):!1===e.row.reset_password_status?(s(),o(d(w),{key:1,type:"danger",effect:"dark"},{default:i((()=>[n(" 重置失败 ")])),_:1})):(s(),o(d(w),{key:2,type:"warning",effect:"dark"},{default:i((()=>[n(" 待重置 ")])),_:1}))])),_:1}),l(d(c),{prop:"send_sms_status",label:"发送状态",width:"100",align:"center"},{default:i((e=>[!0===e.row.send_sms_status?(s(),o(d(w),{key:0,type:"success",effect:"dark"},{default:i((()=>[n(" 发送成功 ")])),_:1})):!1===e.row.send_sms_status?(s(),o(d(w),{key:1,type:"danger",effect:"dark"},{default:i((()=>[n(" 发送失败 ")])),_:1})):(s(),o(d(w),{key:2,type:"warning",effect:"dark"},{default:i((()=>[n(" 待发送 ")])),_:1}))])),_:1}),l(d(c),{prop:"send_sms_msg",label:"描述",align:"center"}),l(d(c),{fixed:"right",label:"操作",width:"100",align:"center"},{default:i((e=>[l(d(y),{title:"确认移除吗?",onConfirm:a=>{return s=e.$index,void b.value.splice(s,1);var s}},{reference:i((()=>[!0!==e.row.send_sms_status?(s(),o(d(m),{key:0,link:"",type:"primary",size:"small"},{default:i((()=>[n("移除")])),_:1})):p("",!0)])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data"])])}}});export{v as _};
|
1
kinit-admin/dist-pro/assets/PasswordSendSMS-abfbb941.js
Normal file
1
kinit-admin/dist-pro/assets/PasswordSendSMS-abfbb941.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as o}from"./PasswordSendSMS.vue_vue_type_script_setup_true_lang-007e3bf1.js";import"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./el-table-column-102f47a6.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./event-5568c9d8.js";import"./debounce-778af7ed.js";import"./el-tooltip-4ed993c7.js";import"./el-popconfirm-3191559c.js";/* empty css */import"./index-14d9f390.js";export{o as default};
|
@ -0,0 +1 @@
|
||||
import{e,r as s,o as a,j as t,y as r,x as l,m as n,N as i,k as d,l as o,O as p,P as u,aA as f}from"./index-9da7d198.js";import{E as c}from"./el-button-8f21380c.js";import{E as _,a as m}from"./el-table-column-102f47a6.js";import"./el-tag-aef2ce12.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import{E as y}from"./el-popconfirm-3191559c.js";/* empty css */import{E as w}from"./index-14d9f390.js";const g={class:"flex justify-between"},k=r("span",null,"已选用户列表",-1),v=e({__name:"PasswordSendSMS",props:{selections:{type:Object}},setup(e){const v=e,b=s(JSON.parse(JSON.stringify(v.selections))),h=s(!1),j=async()=>{h.value=!0;const e=b.value.filter((e=>!0!==e.reset_password_status)).map((e=>e.id));if(e.length<=0)return u.warning("已全部重置完成,无需重复操作");try{const s=await f(e);s&&(b.value=s.data,u.success("重置成功"))}finally{h.value=!1}};return(e,s)=>{var u;return a(),t("div",null,[r("div",g,[k,l(d(c),{type:"primary",disabled:0===(null==(u=b.value)?void 0:u.length),loading:h.value,onClick:j},{default:n((()=>[i("确认重置并发送短信通知")])),_:1},8,["disabled","loading"])]),l(d(m),{data:b.value,stripe:!0,border:!0,style:{width:"100%"},class:"mt-10px","max-height":"500px"},{default:n((()=>[l(d(_),{prop:"id",label:"用户编号",width:"100",align:"center"}),l(d(_),{prop:"name",label:"姓名",width:"120",align:"center"}),l(d(_),{prop:"telephone",label:"手机号",width:"120",align:"center"}),l(d(_),{prop:"reset_password_status",label:"重置状态",width:"100",align:"center"},{default:n((e=>[!0===e.row.reset_password_status?(a(),o(d(w),{key:0,type:"success",effect:"dark"},{default:n((()=>[i(" 重置成功 ")])),_:1})):!1===e.row.reset_password_status?(a(),o(d(w),{key:1,type:"danger",effect:"dark"},{default:n((()=>[i(" 重置失败 ")])),_:1})):(a(),o(d(w),{key:2,type:"warning",effect:"dark"},{default:n((()=>[i(" 待重置 ")])),_:1}))])),_:1}),l(d(_),{prop:"send_sms_status",label:"发送状态",width:"100",align:"center"},{default:n((e=>[!0===e.row.send_sms_status?(a(),o(d(w),{key:0,type:"success",effect:"dark"},{default:n((()=>[i(" 发送成功 ")])),_:1})):!1===e.row.send_sms_status?(a(),o(d(w),{key:1,type:"danger",effect:"dark"},{default:n((()=>[i(" 发送失败 ")])),_:1})):(a(),o(d(w),{key:2,type:"warning",effect:"dark"},{default:n((()=>[i(" 待发送 ")])),_:1}))])),_:1}),l(d(_),{prop:"send_sms_msg",label:"描述",align:"center"}),l(d(_),{fixed:"right",label:"操作",width:"100",align:"center"},{default:n((e=>[l(d(y),{title:"确认移除吗?",onConfirm:s=>{return a=e.$index,void b.value.splice(a,1);var a}},{reference:n((()=>[!0!==e.row.send_sms_status?(a(),o(d(c),{key:0,link:"",type:"primary",size:"small"},{default:n((()=>[i("移除")])),_:1})):p("",!0)])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data"])])}}});export{v as _};
|
1
kinit-admin/dist-pro/assets/PasswordWrite-44c37e63.js
Normal file
1
kinit-admin/dist-pro/assets/PasswordWrite-44c37e63.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./PasswordWrite.vue_vue_type_script_setup_true_lang-1f4a7f46.js";import"./useForm-ecbcdb43.js";import"./index-9da7d198.js";import"./el-col-d9273186.js";import"./el-tooltip-4ed993c7.js";import"./el-popper-2fae9050.js";import"./isNil-1f22f7b0.js";import"./index-cde97138.js";import"./use-form-common-props-9d083c67.js";import"./el-input-26eda071.js";import"./event-5568c9d8.js";import"./use-form-item-8b7f5d34.js";import"./el-tag-aef2ce12.js";import"./index-13d6a136.js";import"./el-checkbox-group-b617b779.js";import"./el-button-8f21380c.js";import"./el-date-picker-f32b0b71.js";import"./debounce-778af7ed.js";import"./el-switch-7720805d.js";import"./el-divider-fc00d058.js";import"./el-progress-69812d34.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";import"./index-14d9f390.js";import"./strings-e2e316bd.js";import"./index-4dbb39b8.js";import"./useValidator-e352e7a8.js";export{t as default};
|
@ -0,0 +1 @@
|
||||
import{u as s,F as e}from"./useForm-ecbcdb43.js";import{u as a}from"./useValidator-e352e7a8.js";import{e as r,v as o,M as t,r as l,o as i,l as n,k as d,x as p,N as m,a3 as c,P as u,Q as w}from"./index-9da7d198.js";import{E as f}from"./el-button-8f21380c.js";const g=r({__name:"PasswordWrite",setup(r){const{required:g}=a(),P=o(),b=t([{field:"title",colProps:{span:24}},{field:"password",label:"新密码",component:"InputPassword",colProps:{span:24},componentProps:{style:{width:"50%"},placeholder:"请输入新密码"}},{field:"password_two",label:"确认密码",component:"InputPassword",colProps:{span:24},componentProps:{style:{width:"50%"},placeholder:"请再次输入新密码"}},{field:"save",colProps:{span:24},formItemProps:{slots:{default:()=>p(c,null,[p("div",{class:"w-[50%]"},[p(f,{loading:_.value,type:"primary",class:"w-[100%]",onClick:j},{default:()=>[m("保存")]})])])}}}]),v={password:[g(),{min:8,max:16,message:"长度需为8-16个字符,请重新输入。",trigger:"blur"}],password_two:[g(),{min:8,max:16,message:"长度需为8-16个字符,请重新输入。",trigger:"blur"}]},{formRegister:h,formMethods:k}=s(),{setValues:y,getFormData:x,getElFormExpose:F}=k;y(P.getUser);const _=l(!1),j=async()=>{if(1===P.getUser.id)return u.warning("编辑账号为演示账号,无权限操作!");const s=await F();if(await(null==s?void 0:s.validate())){_.value=!0;const e=await x();try{await w(e)&&(null==s||s.resetFields(),u.success("保存成功"))}finally{_.value=!1}}};return(s,a)=>(i(),n(d(e),{onRegister:d(h),schema:b,rules:v,"hide-required-asterisk":"",class:"dark:border-1 dark:border-[var(--el-border-color)] dark:border-solid"},null,8,["onRegister","schema"]))}});export{g as _};
|
1
kinit-admin/dist-pro/assets/Privacy-3d4e37eb.js
Normal file
1
kinit-admin/dist-pro/assets/Privacy-3d4e37eb.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as t}from"./Privacy.vue_vue_type_script_setup_true_lang-0730f035.js";import"./index-9da7d198.js";import"./el-button-8f21380c.js";import"./use-form-item-8b7f5d34.js";import"./use-form-common-props-9d083c67.js";import"./index-cde97138.js";import"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";export{t as default};
|
@ -0,0 +1 @@
|
||||
import{e as a,W as e,r as s,o as r,j as t,x as l,k as o,y as i,m as n,N as u,a3 as c,ai as d,dF as _,P as y}from"./index-9da7d198.js";import{E as m}from"./el-button-8f21380c.js";import{_ as p}from"./style.css_vue_type_style_index_0_src_true_lang-0e7f3b44.js";const f={class:"mt-10px",style:{float:"right"}},v=a({__name:"Privacy",props:{tabId:e.number},setup(a){const e=a,v=s(),b=s(""),w=async()=>{const a=await d({tab_id:e.tabId});a&&(b.value=a.data.web_privacy||"")},g=s(!1),k=async()=>{g.value=!0;try{if(await _({web_privacy:b.value}))return w(),y.success("更新成功")}finally{g.value=!1}},x={customAlert:(a,e)=>{switch(e){case"success":y.success(a);break;case"info":default:y.info(a);break;case"warning":y.warning(a);break;case"error":y.error(a)}},autoFocus:!0,scroll:!0,readOnly:!1,uploadImgShowBase64:!0};return w(),(a,e)=>(r(),t(c,null,[l(o(p),{modelValue:b.value,"onUpdate:modelValue":e[0]||(e[0]=a=>b.value=a),ref_key:"editorRef",ref:v,editorId:"web_privacy",editorConfig:x},null,8,["modelValue"]),i("div",f,[l(o(m),{loading:g.value,type:"primary",onClick:k},{default:n((()=>[u("立即保存")])),_:1},8,["loading"])])],64))}});export{v as _};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user