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" /> <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> </div>
#### 项目简介 ## 项目简介
Pear Admin Flask 基于 Flask 生态的后台管理系统,该项目旨在为 python 开发者提供一个快速开发前后端半分离的后台管理系统的模板 Pear Admin Flask 基于 Flask 生态的后台管理系统,该项目旨在为 python 开发者提供一个快速开发前后端半分离的后台管理系统的模板
在使用本项目之前最好掌握以下知识点 在使用本项目之前最好掌握以下知识点
+ html、css、JavaScript + [html、css、JavaScript](https://developer.mozilla.org/zh-CN/docs/Learn/HTML)
+ jQuery + [jQuery](https://www.w3school.com.cn/jquery/index.asp)
+ layui + [layui](https://www.layui.com/)
+ flask + [flask](https://dormousehole.readthedocs.io/en/latest/)
+ flask-login + [flask-login](https://flask-login.readthedocs.io/en/latest/)
+ flask-sqlalchemy + [flask-sqlalchemy](http://www.pythondoc.com/flask-sqlalchemy/quickstart.html)
+ flask-restful + [flask-restful](https://flask-restful.readthedocs.io/en/latest/)
## 预览
Pear Admin Flask 有以下几个版本: Pear Admin Flask 有以下几个版本:
[master分支版本 ](https://gitee.com/pear-admin/pear-admin-flask/tree/master/) [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/) [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] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。 - [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。
@@ -73,31 +69,14 @@ Pear Admin Flask 有以下几个版本:
- [x] 登录日志:系统登录日志记录查询包含登录异常。 - [x] 登录日志:系统登录日志记录查询包含登录异常。
- [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 ```bash
git clone https://gitee.com/pear-admin/pear-admin-flask 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 git checkout mini
``` ```
##### 2. 安装依赖 + 安装依赖
```bash ```bash
# 创建虚拟环境 # 创建虚拟环境
python -m venv venv python -m venv venv
@@ -117,27 +96,18 @@ venv\Scripts\activate
pip install -r requirement\requirement-dev.txt pip install -r requirement\requirement-dev.txt
``` ```
##### 3. 数据迁移 + 数据迁移
默认的使用 `sqlite3` 作为开发环境的数据库进行演示,如果需要二次开发,建议改成 `mysql`
默认的使用 `sqlite3` 作为测试环境的数据库进行演示,不需要按照mysql即可查看演示。如果需要二次开发,建议改成 `mysql`
如果需要在开发环境使用 mysql 作为数据库,请查看 `applications/configs/config.py` 文件里面的相关配置文件, 注释掉 sqlite 的配置即可
如果需要修改数据的配置信息,请在 `.flaskenv` 里面调整即可
```bash ```bash
flask db init flask db init
flask db migrate -m '数据初始化' flask db migrate -m '数据初始化'
flask db upgrade flask db upgrade
flask init-db 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.log import AdminLog
from applications.models.file.photo import Photo from applications.models.file.photo import Photo
from applications.models.rights.power import Power from applications.models.rights.power import Power
@@ -100,7 +100,7 @@
// 当点击更新之后,获取数据 // 当点击更新之后,获取数据
form.on('submit(dept-update)', function (data) { form.on('submit(dept-update)', function (data) {
$.ajax({ $.ajax({
url: '/dept/edit' + data.field.deptId, url: '/dept/edit/' + data.field.deptId,
data: JSON.stringify(data.field), data: JSON.stringify(data.field),
dataType: 'json', dataType: 'json',
contentType: 'application/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.extensions import db
from applications.models import Dept, User from applications.models import Dept, User
# from applications.view.company.department import dept_curd
dept_bp = Blueprint('dept', __name__, url_prefix='/dept') dept_bp = Blueprint('dept', __name__, url_prefix='/dept')
dept_api = Api(dept_bp) dept_api = Api(dept_bp)