fix(dept):部门数据更新bug

This commit is contained in:
zhengxinonly
2021-07-06 02:15:48 +08:00
parent b2b08769b0
commit ebf76055a4
9 changed files with 34 additions and 83 deletions
+32 -62
View File
@@ -29,42 +29,38 @@
<img width="92%" style="border-radius:10px;margin-top:20px;margin-bottom:20px;box-shadow: 2px 0 6px gray;" src="https://images.gitee.com/uploads/images/2020/1019/104805_042b888c_4835367.png" />
</div>
#### 项目简介
## 项目简介
Pear Admin Flask 基于 Flask 生态的后台管理系统,该项目旨在为 python 开发者提供一个快速开发前后端半分离的后台管理系统的模板
在使用本项目之前最好掌握以下知识点
+ html、css、JavaScript
+ jQuery
+ layui
+ flask
+ flask-login
+ flask-sqlalchemy
+ flask-restful
+ [html、css、JavaScript](https://developer.mozilla.org/zh-CN/docs/Learn/HTML)
+ [jQuery](https://www.w3school.com.cn/jquery/index.asp)
+ [layui](https://www.layui.com/)
+ [flask](https://dormousehole.readthedocs.io/en/latest/)
+ [flask-login](https://flask-login.readthedocs.io/en/latest/)
+ [flask-sqlalchemy](http://www.pythondoc.com/flask-sqlalchemy/quickstart.html)
+ [flask-restful](https://flask-restful.readthedocs.io/en/latest/)
## 预览
Pear Admin Flask 有以下几个版本:
[master分支版本 ](https://gitee.com/pear-admin/pear-admin-flask/tree/master/)
> flask 2.1 + flask-sqlalchemy + mysql + 权限验证 + Flask-APScheduler 定时任务 + marshmallow 序列化与数据验证
>flask 2.x + flask-sqlalchemy + 权限验证 + Flask-APScheduler 定时任务 + marshmallow 序列化与数据验证
[Mini 分支版本 ](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/)
>flask 2.1 + flask-sqlalchemy + sqllite + 权限验证 + Flask-RESTful 序列化与数据验证
>flask 2.x + flask-sqlalchemy + 权限验证 + Flask-restful 序列化与数据验证
[v1 分支版本(不再更新,仅供参考) ](https://gitee.com/pear-admin/pear-admin-flask/tree/v1/)
| | |
|---------------------|---------------------|
| ![](docs/assets/1.jpg) | ![](docs/assets/2.jpg) |
| ![](docs/assets/3.jpg)| ![](docs/assets/4.jpg) |
| ![](docs/assets/5.jpg) | ![](docs/assets/6.jpg) |
>flask 1.12 + flask-sqlalchemy + mysql + 权限验证 + marshmallow 序列化与数据验证
[simple 分支版本(不再更新,仅供参考) ](https://gitee.com/pear-admin/pear-admin-flask/tree/simple/)
>flask 1.12 + flask-sqlalchemy + mysql + 极简权限 + marshmallow 序列化与数据验证
>
>项目最简版本
#### 内置功能
## 内置功能
- [x] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。
@@ -73,31 +69,14 @@ Pear Admin Flask 有以下几个版本:
- [x] 登录日志:系统登录日志记录查询包含登录异常。
- [x] 文件上传: 图片上传示例
#### 项目结构
```
Pear Admin Flask
├─applications # 应用
│ ├─configs # 配置文件
│ │ ├─ common.py # 普通配置
│ │ └─ config.py # 配置文件对象
│ ├─extensions # 注册插件
│ ├─models # 数据模型
│ ├─static # 静态资源文件
│ ├─templates # 静态模板文件
│ └─views # 视图部分
│ ├─admin # 后台管理视图模块
│ └─index # 前台视图模块
├─docs # 文档说明(占坑)
├─migrations # 迁移文件记录
├─requirement # 依赖文件
├─test # 测试文件夹(占坑)
└─.env # 项目的配置文件
```
## 文档
正在编写
#### 项目启动
##### 1. 下载源码
## 安装使用
+ 下载源码
```bash
git clone https://gitee.com/pear-admin/pear-admin-flask
@@ -105,7 +84,7 @@ git clone https://gitee.com/pear-admin/pear-admin-flask
git checkout mini
```
##### 2. 安装依赖
+ 安装依赖
```bash
# 创建虚拟环境
python -m venv venv
@@ -117,27 +96,18 @@ venv\Scripts\activate
pip install -r requirement\requirement-dev.txt
```
##### 3. 数据迁移
默认的使用 `sqlite3` 作为开发环境的数据库进行演示,如果需要二次开发,建议改成 `mysql`
+ 数据迁移
默认的使用 `sqlite3` 作为测试环境的数据库进行演示,不需要按照mysql即可查看演示。如果需要二次开发,建议改成 `mysql`
如果需要在开发环境使用 mysql 作为数据库,请查看 `applications/configs/config.py` 文件里面的相关配置文件, 注释掉 sqlite 的配置即可
如果需要修改数据的配置信息,请在 `.flaskenv` 里面调整即可
```bash
flask db init
flask db migrate -m '数据初始化'
flask db upgrade
flask init-db
```
##### 4. 其他事项
如果需要在开发环境使用 mysql 作为数据库,请查看 `applications/configs/config.py` 文件里面的相关配置文件
如果需要修改数据的配置信息,请在 `.flaskenv` 里面调整即可
#### 预览项目
| | |
|---------------------|---------------------|
| ![](docs/assets/1.jpg) | ![](docs/assets/2.jpg) |
| ![](docs/assets/3.jpg)| ![](docs/assets/4.jpg) |
| ![](docs/assets/5.jpg) | ![](docs/assets/6.jpg) |
```
-5
View File
@@ -1,5 +0,0 @@
def model_to_dicts(Schema, model):
# 如果是分页器返回,需要传入model.items
common_schema = Schema(many=True) # 用已继承ma.ModelSchema类的自定制类生成序列化类
output = common_schema.dump(model) # 生成可序列化对象
return output
-12
View File
@@ -1,12 +0,0 @@
# xss过滤
from flask import abort, make_response, jsonify
def check_data(schema, data):
errors = schema.validate(data)
for k, v in errors.items():
for i in v:
# print("{}{}".format(k, i))
msg = "{}{}".format(k, i)
if errors:
abort(make_response(jsonify(result=False, msg=msg), 200))
+1 -1
View File
@@ -1,4 +1,4 @@
from applications.models.company import Dept, User
from applications.models.users import Dept, User
from applications.models.log import AdminLog
from applications.models.file.photo import Photo
from applications.models.rights.power import Power
@@ -100,7 +100,7 @@
// 当点击更新之后,获取数据
form.on('submit(dept-update)', function (data) {
$.ajax({
url: '/dept/edit' + data.field.deptId,
url: '/dept/edit/' + data.field.deptId,
data: JSON.stringify(data.field),
dataType: 'json',
contentType: 'application/json',
-2
View File
@@ -7,8 +7,6 @@ from applications.common.utils.rights import authorize
from applications.extensions import db
from applications.models import Dept, User
# from applications.view.company.department import dept_curd
dept_bp = Blueprint('dept', __name__, url_prefix='/dept')
dept_api = Api(dept_bp)