|
|
@@ -16,120 +16,109 @@ def setup_django():
|
|
|
|
|
|
# 定义系统中的页面和组件
|
|
|
PAGES = [
|
|
|
-
|
|
|
- # 角色管理
|
|
|
- {"primary_page": "staff", "path": "/permission/roles", "components": ["add_role", "edit_role", "delete_role"]},
|
|
|
-
|
|
|
-
|
|
|
# 库存管理
|
|
|
- {"primary_page": "stock","path": "/stock/management", "components": ["create_stock", "adjust_stock", "delete_stock"]},
|
|
|
- {"primary_page": "stock","path": "/stock/stocklist", "components": ["view_stock", "export_stock"]},
|
|
|
- {"primary_page": "stock","path": "/stock/stockbinlist", "components": ["view_bin", "edit_bin"]},
|
|
|
- {"primary_page": "stock","path": "/stock/emptybin", "components": ["view_empty", "mark_empty"]},
|
|
|
- {"primary_page": "stock","path": "/stock/occupiedbin", "components": ["view_occupied", "release_bin"]},
|
|
|
- {"primary_page": "stock","path": "/stock/binset", "components": ["add_bin", "edit_bin", "delete_bin"]},
|
|
|
- {"primary_page": "stock","path": "/stock/handcount", "components": ["start_count", "record_count", "finish_count"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/management", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/stocklist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/stockbinlist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/emptybin", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/occupiedbin", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/binset", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "stock","path": "/stock/handcount", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# ERP管理
|
|
|
- {"primary_page": "erp","path": "/erp/erpasn", "components": ["create_asn", "edit_asn", "delete_asn"]},
|
|
|
- {"primary_page": "erp","path": "/erp/erpasnmaterial", "components": ["add_material", "edit_material", "delete_material"]},
|
|
|
- {"primary_page": "erp","path": "/erp/erpdnmaterial", "components": ["add_dn_material", "edit_dn_material", "delete_dn_material"]},
|
|
|
- {"primary_page": "erp","path": "/erp/erpasnaudit", "components": ["approve_asn", "reject_asn"]},
|
|
|
- {"primary_page": "erp","path": "/erp/erpdn", "components": ["create_dn", "edit_dn", "delete_dn"]},
|
|
|
- {"primary_page": "erp","path": "/erp/erpsortstock", "components": ["view_sorted", "export_sorted"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpasn", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpasnmaterial", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpdnmaterial", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpasnaudit", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpdn", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "erp","path": "/erp/erpsortstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 入库管理
|
|
|
- {"primary_page": "inbound","path": "/inbound/asn", "components": ["create_asn", "edit_asn", "delete_asn"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/predeliverystock", "components": ["view_pre_delivery", "confirm_delivery"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/preloadstock", "components": ["view_pre_load", "confirm_load"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/presortstock", "components": ["view_pre_sort", "confirm_sort"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/sortstock", "components": ["view_sorted", "export_sorted"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/shortage", "components": ["report_shortage", "resolve_shortage"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/more", "components": ["view_additional", "add_additional"]},
|
|
|
- {"primary_page": "inbound","path": "/inbound/asnfinish", "components": ["confirm_finish", "export_finish"]},
|
|
|
-
|
|
|
-
|
|
|
- # 容器管理
|
|
|
- {"primary_page":"container","path": "/container/containerlist", "components": ["view_container", "add_container"]},
|
|
|
- {"primary_page":"container","path": "/container/containerdetail", "components": ["view_detail", "edit_detail"]},
|
|
|
- {"primary_page":"container","path": "/container/containercategory", "components": ["view_category", "add_category"]},
|
|
|
- {"primary_page":"container","path": "/container/containeroperate", "components": ["operate_container", "confirm_operation"]},
|
|
|
- # 仪表盘
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/inboundAndOutbound", "components": ["view_chart", "export_data"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/flows_statements", "components": ["view_flow", "filter_flow"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/flows", "components": ["view_flow_detail", "export_flow"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/flows_complex", "components": ["view_complex_flow", "analyze_flow"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/batchlog", "components": ["view_log", "search_log"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/ContainerDetailLogModel", "components": ["view_container_log", "export_log"]},
|
|
|
- {"primary_page": "dashboard","path": "/dashboard/MaterialChangeHistory", "components": ["view_history", "compare_history"]},
|
|
|
-
|
|
|
+ {"primary_page": "inbound","path": "/inbound/asn", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/predeliverystock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/preloadstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/presortstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/sortstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/shortage", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/more", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "inbound","path": "/inbound/asnfinish", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
+ # 托盘管理
|
|
|
+ {"primary_page":"container","path": "/container/containerlist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"container","path": "/container/containerdetail", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"container","path": "/container/containercategory", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"container","path": "/container/containeroperate", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
-
|
|
|
+ # 仪表盘
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/inboundAndOutbound", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/flows_statements", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/flows", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/flows_complex", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/batchlog", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/ContainerDetailLogModel", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page": "dashboard","path": "/dashboard/MaterialChangeHistory", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 统计管理
|
|
|
- {"primary_page":"count","path": "/count/detaillog", "components": ["view_log", "search_log"]},
|
|
|
- {"primary_page":"count","path": "/count/batchoperatelog", "components": ["view_batch_log", "export_log"]},
|
|
|
- {"primary_page":"count","path": "/count/countbatchlog", "components": ["view_count_log", "analyze_log"]},
|
|
|
- {"primary_page":"count","path": "/count/presortstock", "components": ["view_pre_sort", "export_pre_sort"]},
|
|
|
- {"primary_page":"count","path": "/count/sortstock", "components": ["view_sorted", "export_sorted"]},
|
|
|
- {"primary_page":"count","path": "/count/shortage", "components": ["view_shortage", "resolve_shortage"]},
|
|
|
- {"primary_page":"count","path": "/count/containerDetail", "components": ["view_container", "export_container"]},
|
|
|
- {"primary_page":"count","path": "/count/batch", "components": ["view_batch", "manage_batch"]},
|
|
|
- {"primary_page":"count","path": "/count/asnfinish", "components": ["view_finish", "export_finish"]},
|
|
|
-
|
|
|
-
|
|
|
+ {"primary_page":"count","path": "/count/detaillog", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/batchoperatelog", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/countbatchlog", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/presortstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/sortstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/shortage", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/containerDetail", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/batch", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"count","path": "/count/asnfinish", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 出库管理
|
|
|
- {"primary_page":"outbound","path": "/outbound/dn", "components": ["create_dn", "edit_dn", "delete_dn"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/freshorder", "components": ["view_fresh", "process_fresh"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/neworder", "components": ["view_new", "process_new"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/pickstock", "components": ["view_pick", "confirm_pick"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/pickedstock", "components": ["view_picked", "confirm_picked"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/pickinglist", "components": ["view_list", "export_list"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/shippedstock", "components": ["view_shipped", "confirm_shipped"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/backorder", "components": ["view_backorder", "process_backorder"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/pod", "components": ["view_pod", "confirm_pod"]},
|
|
|
- {"primary_page":"outbound","path": "/outbound/container_check", "components": ["check_container", "confirm_check"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/dn", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/freshorder", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/neworder", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/pickstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/pickedstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/pickinglist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/shippedstock", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/backorder", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/pod", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"outbound","path": "/outbound/container_check", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 商品管理
|
|
|
- {"primary_page":"goods","path": "/goods/goodslist", "components": ["view_goods", "add_goods"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsunit", "components": ["view_unit", "add_unit"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsclass", "components": ["view_class", "add_class"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsbrand", "components": ["view_brand", "add_brand"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodscolor", "components": ["view_color", "add_color"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsspecs", "components": ["view_specs", "add_specs"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsshape", "components": ["view_shape", "add_shape"]},
|
|
|
- {"primary_page":"goods","path": "/goods/goodsorigin", "components": ["view_origin", "add_origin"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodslist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsunit", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsclass", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsbrand", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodscolor", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsspecs", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsshape", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"goods","path": "/goods/goodsorigin", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 任务管理
|
|
|
- {"primary_page":"taskpage","path": "/taskpage/task", "components": ["view_task", "create_task", "assign_task"]},
|
|
|
+ {"primary_page":"taskpage","path": "/taskpage/task", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 仓库管理
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/warehouseset", "components": ["view_setting", "edit_setting"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/department", "components": ["view_department", "add_department"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/boundcodetype", "components": ["view_code_type", "add_code_type"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/boundtype", "components": ["view_bound_type", "add_bound_type"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/boundbusiness", "components": ["view_business", "add_business"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/status", "components": ["view_status", "edit_status"]},
|
|
|
- {"primary_page":"warehouse","path": "/warehouse/product", "components": ["view_product", "add_product"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/warehouseset", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/department", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/boundcodetype", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/boundtype", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/boundbusiness", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/status", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"warehouse","path": "/warehouse/product", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 员工管理
|
|
|
- {"primary_page":"staff","path": "/staff/stafflist", "components": ["view_staff", "add_staff"]},
|
|
|
- {"primary_page":"staff","path": "/staff/stafflist_check_code", "components": ["check_code", "reset_code"]},
|
|
|
- {"primary_page":"staff","path": "/staff/stafftype", "components": ["view_type", "add_type"]},
|
|
|
+ {"primary_page": "staff", "path": "/permission/roles", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"staff","path": "/staff/stafflist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"staff","path": "/staff/stafflist_check_code", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"staff","path": "/staff/stafftype", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 上传中心
|
|
|
- {"primary_page":"uploadcenter","path": "/uploadcenter/initializeupload", "components": ["init_upload", "process_init"]},
|
|
|
- {"primary_page":"uploadcenter","path": "/uploadcenter/addupload", "components": ["add_upload", "process_add"]},
|
|
|
+ {"primary_page":"uploadcenter","path": "/uploadcenter/initializeupload", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"uploadcenter","path": "/uploadcenter/addupload", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
|
|
|
# 下载中心
|
|
|
- {"primary_page":"downloadcenter","path": "/downloadcenter/downloadinbound", "components": ["download_inbound"]},
|
|
|
- {"primary_page":"downloadcenter","path": "/downloadcenter/downloadoutbound", "components": ["download_outbound"]},
|
|
|
- {"primary_page":"downloadcenter","path": "/downloadcenter/downloadstocklist", "components": ["download_stock"]},
|
|
|
- {"primary_page":"downloadcenter","path": "/downloadcenter/downloadgoodslist", "components": ["download_goods"]},
|
|
|
- {"primary_page":"downloadcenter","path": "/downloadcenter/downloadbinlist", "components": ["download_bin"]},
|
|
|
-
|
|
|
+ {"primary_page":"downloadcenter","path": "/downloadcenter/downloadinbound", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"downloadcenter","path": "/downloadcenter/downloadoutbound", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"downloadcenter","path": "/downloadcenter/downloadstocklist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"downloadcenter","path": "/downloadcenter/downloadgoodslist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
+ {"primary_page":"downloadcenter","path": "/downloadcenter/downloadbinlist", "components": ["view", "edit", "add", "delete", "export", "confirm","adjust","download"]},
|
|
|
]
|
|
|
|
|
|
# 定义角色及其权限配置
|
|
|
@@ -142,36 +131,71 @@ ROLES = {
|
|
|
"经理": {
|
|
|
"description": "部门经理,拥有大部分管理权限",
|
|
|
"page_access": [
|
|
|
- "/dashboard", "/stock", "/inbound", "/outbound",
|
|
|
- "/count", "/container", "/goods", "/warehouse", "/staff"
|
|
|
+ "/stock/management","/stock/stockbinlist","/stock/stocklist",
|
|
|
+ "/erp/erpasn","/erp/erpasnmaterial","/erp/erpdnmaterial","/erp/erpdn","/erp/erpsortstock",
|
|
|
+ "/inbound/asn","/inbound/predeliverystock","/inbound/sortstock",
|
|
|
+ "/container/containerlist","/container/containerdetail","/container/containercategory","/container/containeroperate",
|
|
|
+ "/outbound/dn","/outbound/backorder","/outbound/container_check",
|
|
|
+ "/taskpage/task",
|
|
|
+ "/count/batch","/count/countbatchlog","/count/detaillog","/count/batchoperatelog",
|
|
|
+ "/dashboard/flows_statements","/dashboard/flows","/dashboard/MaterialChangeHistory","/dashboard/batchlog","/dashboard/ContainerDetailLogModel",
|
|
|
+ "/warehouse/department","/warehouse/boundcodetype","/warehouse/boundtype","/warehouse/boundbusiness","/warehouse/status","/warehouse/product",
|
|
|
+ "/staff/stafflist","/staff/stafflist_check_code","/staff/stafftype"
|
|
|
],
|
|
|
"component_access": "all" # 所有组件
|
|
|
},
|
|
|
+
|
|
|
"主管": {
|
|
|
"description": "仓库主管,负责日常运营管理",
|
|
|
"page_access": [
|
|
|
- "/stock", "/inbound", "/outbound", "/count", "/container"
|
|
|
+ "/stock/management","/stock/stockbinlist","/stock/stocklist",
|
|
|
+ "/erp/erpasn","/erp/erpasnmaterial","/erp/erpdnmaterial","/erp/erpdn","/erp/erpsortstock",
|
|
|
+ "/inbound/asn","/inbound/predeliverystock","/inbound/sortstock",
|
|
|
+ "/container/containerlist","/container/containerdetail","/container/containercategory",
|
|
|
+ "/outbound/dn","/outbound/backorder","/outbound/container_check",
|
|
|
+ "/taskpage/task",
|
|
|
+ "/count/batch","/count/countbatchlog","/count/detaillog","/count/batchoperatelog",
|
|
|
+ "/dashboard/flows_statements","/dashboard/flows","/dashboard/MaterialChangeHistory","/dashboard/batchlog","/dashboard/ContainerDetailLogModel",
|
|
|
+ # "/warehouse/department","/warehouse/boundcodetype","/warehouse/boundtype","/warehouse/boundbusiness","/warehouse/status","/warehouse/product",
|
|
|
+ "/staff/stafflist","/staff/stafftype"
|
|
|
],
|
|
|
"component_access": [
|
|
|
- "view", "edit", "add", "delete", "export", "confirm"
|
|
|
+ "view", "edit", "add", "delete", "export", "confirm","adjust","download"
|
|
|
]
|
|
|
},
|
|
|
"操作员": {
|
|
|
"description": "仓库操作员,负责具体操作",
|
|
|
"page_access": [
|
|
|
- "/stock/stocklist", "/stock/stockbinlist", "/inbound/asn",
|
|
|
- "/outbound/pickstock", "/outbound/pickedstock"
|
|
|
+ "/stock/management","/stock/stockbinlist","/stock/stocklist",
|
|
|
+ "/erp/erpasn","/erp/erpasnmaterial","/erp/erpdnmaterial","/erp/erpdn","/erp/erpsortstock",
|
|
|
+ "/inbound/asn","/inbound/predeliverystock","/inbound/sortstock",
|
|
|
+ "/container/containerlist","/container/containercategory",
|
|
|
+ "/outbound/dn","/outbound/backorder","/outbound/container_check",
|
|
|
+ "/taskpage/task",
|
|
|
+ "/count/batch","/count/countbatchlog","/count/detaillog","/count/batchoperatelog",
|
|
|
+ "/dashboard/flows_statements","/dashboard/flows"
|
|
|
+ # "/warehouse/department","/warehouse/boundcodetype","/warehouse/boundtype","/warehouse/boundbusiness","/warehouse/status","/warehouse/product",
|
|
|
+ # "/staff/stafflist","/staff/stafftype"
|
|
|
],
|
|
|
"component_access": [
|
|
|
- "view", "confirm", "process"
|
|
|
+ "view", "edit", "add","download","confirm"
|
|
|
]
|
|
|
},
|
|
|
"查看员": {
|
|
|
"description": "数据查看员,只能查看数据",
|
|
|
"page_access": [
|
|
|
- "/dashboard", "/stock/stocklist", "/count/detaillog", "/count","/erp"
|
|
|
+ "/stock/management","/stock/stockbinlist",
|
|
|
+ "/erp/erpasn","/erp/erpasnmaterial","/erp/erpdnmaterial","/erp/erpdn","/erp/erpsortstock",
|
|
|
+ "/inbound/asn","/inbound/predeliverystock","/inbound/sortstock",
|
|
|
+ "/container/containerlist","/container/containercategory",
|
|
|
+ "/outbound/dn","/outbound/backorder","/outbound/container_check",
|
|
|
+ "/taskpage/task",
|
|
|
+ "/count/batch","/count/countbatchlog","/count/detaillog","/count/batchoperatelog",
|
|
|
+ "/dashboard/flows_statements","/dashboard/flows"
|
|
|
+ # "/warehouse/department","/warehouse/boundcodetype","/warehouse/boundtype","/warehouse/boundbusiness","/warehouse/status","/warehouse/product",
|
|
|
+ # "/staff/stafflist","/staff/stafftype"
|
|
|
],
|
|
|
- "component_access": ["view"]
|
|
|
+ "component_access": ["view","download"]
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -257,16 +281,16 @@ def create_roles_and_assign_permissions():
|
|
|
|
|
|
# 处理页面访问权限
|
|
|
for page_path in role_config["page_access"]:
|
|
|
- # 获取匹配该路径的所有页面权限
|
|
|
+ # 获取精确匹配该路径的所有页面权限
|
|
|
page_perms = all_permissions.filter(
|
|
|
- page__startswith=page_path,
|
|
|
+ page=page_path, # 使用精确匹配
|
|
|
component=None
|
|
|
)
|
|
|
assigned_permissions.extend(page_perms)
|
|
|
|
|
|
- # 获取匹配该路径的组件权限
|
|
|
+ # 获取精确匹配该路径的组件权限
|
|
|
comp_perms = all_permissions.filter(
|
|
|
- page__startswith=page_path,
|
|
|
+ page=page_path, # 使用精确匹配
|
|
|
component__isnull=False
|
|
|
)
|
|
|
|