/** * 数据权限分组与字段(与角色管理弹框展示一致) * 每组内 field.key 格式为 原字段名_父组key(camelCase),全局唯一 */ const RAW_FIELD_PERMISSION_GROUPS = [ { key: "AssetAlarmRecord", label: "资产报警记录", fields: [ { key: "alarm_time_assetAlarmRecord", label: "报警时间" }, { key: "alarm_type_assetAlarmRecord", label: "报警类型" }, { key: "asset_no_assetAlarmRecord", label: "资产编号" }, { key: "asset_name_assetAlarmRecord", label: "资产名称" }, { key: "current_factory_assetAlarmRecord", label: "当前厂区" }, { key: "epc_assetAlarmRecord", label: "EPC" }, { key: "spec_model_assetAlarmRecord", label: "规格型号" }, { key: "factory_area_assetAlarmRecord", label: "所属厂区" }, { key: "asset_dept_assetAlarmRecord", label: "资产部门" }, { key: "responsible_assetAlarmRecord", label: "责任人" }, { key: "signal_machine_assetAlarmRecord", label: "信号机" }, { key: "info_machine_name_assetAlarmRecord", label: "信息机名称" } ]}, { key: "AssetList", label: "资产列表", fields: [ { key: "agent_assetList", label: "代理商" }, { key: "asset_no_assetList", label: "资产编号" }, { key: "asset_name_assetList", label: "资产名称" }, { key: "sub_asset_no_assetList", label: "附属资产编号" }, { key: "sub_asset_assetList", label: "附属资产" }, { key: "attachment_assetList", label: "附件" }, { key: "entry_time_assetList", label: "进厂时间" }, { key: "asset_class_assetList", label: "资产分类" }, { key: "depreciation_period_assetList", label: "折旧期数" }, { key: "epc_assetList", label: "EPC" }, { key: "factory_area_assetList", label: "所属厂区" }, { key: "anti_dismantle_assetList", label: "资产防拆提醒" }, { key: "measure_type_assetList", label: "计量类型" }, { key: "original_value_assetList", label: "资产原值" }, { key: "under_voltage_alarm_assetList", label: "欠压告警" }, { key: "maintain_type_assetList", label: "维护类型" }, { key: "manufacturer_assetList", label: "制造厂家" }, { key: "doc_no_assetList", label: "资料编号" }, { key: "remark_assetList", label: "备注说明" }, { key: "net_value_assetList", label: "折旧净值" }, { key: "original_zy_no_assetList", label: "原zy编号" }, { key: "factory_no_assetList", label: "出厂编号" }, { key: "asset_dept_assetList", label: "资产部门" }, { key: "purchase_code_assetList", label: "采购编码" }, { key: "asset_responsible_assetList", label: "资产责任人" }, { key: "spec_model_assetList", label: "规格型号" }, { key: "asset_status_assetList", label: "资产状态" }, { key: "warranty_assetList", label: "保修期" } ]}, { key: "AssetAcceptance", label: "资产验收", fields: [ { key: "accept_status_assetAcceptance", label: "验收状态" }, { key: "accept_responsible_assetAcceptance", label: "验收责任人" }, { key: "asset_class_assetAcceptance", label: "资产分类" }, { key: "asset_no_assetAcceptance", label: "资产编号" }, { key: "asset_name_assetAcceptance", label: "资产名称" }, { key: "attachment_assetAcceptance", label: "附件" }, { key: "accept_finish_time_assetAcceptance", label: "验收完成时间" }, { key: "factory_area_assetAcceptance", label: "所属厂区" }, { key: "factory_no_assetAcceptance", label: "出厂编号" }, { key: "asset_dept_assetAcceptance", label: "资产部门" }, { key: "plan_accept_time_assetAcceptance", label: "计划验收时间" }, { key: "remark_assetAcceptance", label: "备注说明" }, { key: "asset_responsible_assetAcceptance", label: "资产责任人" }, { key: "accept_start_time_assetAcceptance", label: "验收发起时间" }, { key: "purchase_no_assetAcceptance", label: "采购编号" } ]}, { key: "DeviceEntry", label: "设备进厂", fields: [ { key: "accept_cycle_deviceEntry", label: "验收周期" }, { key: "agent_deviceEntry", label: "代理商" }, { key: "asset_class_deviceEntry", label: "资产分类" }, { key: "asset_no_deviceEntry", label: "资产编号" }, { key: "asset_name_deviceEntry", label: "资产名称" }, { key: "attachment_deviceEntry", label: "附件" }, { key: "contract_no_deviceEntry", label: "合同号" }, { key: "epc_deviceEntry", label: "EPC" }, { key: "factory_area_deviceEntry", label: "所属厂区" }, { key: "entry_time_deviceEntry", label: "进厂时间" }, { key: "original_value_deviceEntry", label: "资产原值" }, { key: "manufacturer_deviceEntry", label: "制造厂家" }, { key: "factory_no_deviceEntry", label: "出厂编号" }, { key: "asset_dept_deviceEntry", label: "资产部门" }, { key: "purchase_no_deviceEntry", label: "采购编号" }, { key: "remark_deviceEntry", label: "备注说明" }, { key: "asset_responsible_deviceEntry", label: "资产负责人" }, { key: "spec_model_deviceEntry", label: "规格型号" }, { key: "temp_return_date_deviceEntry", label: "临时设备计划退还日期" }, { key: "warranty_deviceEntry", label: "保修期" } ]}, { key: "DeviceMaintain", label: "设备维护", fields: [ { key: "maintain_responsible_deviceMaintain", label: "维护责任人" }, { key: "asset_no_deviceMaintain", label: "资产编号" }, { key: "asset_name_deviceMaintain", label: "资产名称" }, { key: "attachment_deviceMaintain", label: "附件" }, { key: "create_time_deviceMaintain", label: "创建时间" }, { key: "maintain_content_deviceMaintain", label: "维护内容" }, { key: "this_maintain_time_deviceMaintain", label: "本次维护时间" }, { key: "next_maintain_time_deviceMaintain", label: "下次维护时间" }, { key: "asset_dept_deviceMaintain", label: "资产部门" }, { key: "maintain_cycle_deviceMaintain", label: "维护周期" }, { key: "spec_model_deviceMaintain", label: "规格型号" }, { key: "asset_status_deviceMaintain", label: "资产状态" } ]}, { key: "DeviceMetering", label: "设备计量", fields: [ { key: "meter_responsible_deviceMetering", label: "计量负责人" }, { key: "asset_class_deviceMetering", label: "资产分类" }, { key: "asset_no_deviceMetering", label: "资产编号" }, { key: "asset_name_deviceMetering", label: "资产名称" }, { key: "attachment_deviceMetering", label: "附件" }, { key: "calibration_type_deviceMetering", label: "校正别" }, { key: "calibration_result_deviceMetering", label: "校准结果" }, { key: "this_calibration_date_deviceMetering", label: "本次校正日期" }, { key: "measure_type_deviceMetering", label: "计量类型" }, { key: "next_calibration_date_deviceMetering", label: "下次校正日期" }, { key: "factory_no_deviceMetering", label: "出厂编号" }, { key: "asset_dept_deviceMetering", label: "资产部门" }, { key: "cycle_deviceMetering", label: "周期" }, { key: "remark_deviceMetering", label: "备注说明" }, { key: "asset_responsible_deviceMetering", label: "资产责任人" }, { key: "spec_model_deviceMetering", label: "规格型号" }, { key: "asset_status_deviceMetering", label: "资产状态" }, { key: "update_time_deviceMetering", label: "更新时间" } ]}, { key: "DeviceRepair", label: "设备维修", fields: [ { key: "repair_responsible_deviceRepair", label: "维修责任人" }, { key: "asset_class_deviceRepair", label: "资产分类" }, { key: "expected_return_date_deviceRepair", label: "预计外修回厂日期" }, { key: "fault_phenomenon_deviceRepair", label: "故障现象" }, { key: "asset_no_deviceRepair", label: "资产编号" }, { key: "asset_name_deviceRepair", label: "资产名称" }, { key: "fault_analysis_deviceRepair", label: "故障原因分析及维修具体情况" }, { key: "fault_type_deviceRepair", label: "故障类型" }, { key: "attachment_deviceRepair", label: "附件" }, { key: "manufacturer_deviceRepair", label: "制造厂家" }, { key: "repair_finish_time_deviceRepair", label: "维修完成时间" }, { key: "factory_no_deviceRepair", label: "出厂编号" }, { key: "external_repair_unit_deviceRepair", label: "外修单位" }, { key: "asset_dept_deviceRepair", label: "资产部门" }, { key: "remark_deviceRepair", label: "备注说明" }, { key: "internal_external_deviceRepair", label: "内修/外修" }, { key: "spec_model_deviceRepair", label: "规格型号" }, { key: "repair_start_time_deviceRepair", label: "维修发起时间" } ]}, { key: "DeviceTransfer", label: "设备转移", fields: [ { key: "applicant_deviceTransfer", label: "申请人" }, { key: "original_dept_deviceTransfer", label: "资产原部门" }, { key: "asset_no_deviceTransfer", label: "资产编号" }, { key: "asset_name_deviceTransfer", label: "资产名称" }, { key: "receive_factory_deviceTransfer", label: "接收厂区" }, { key: "receive_dept_deviceTransfer", label: "接收部门" }, { key: "attachment_deviceTransfer", label: "附件" }, { key: "receive_responsible_deviceTransfer", label: "接收责任人" }, { key: "create_time_deviceTransfer", label: "创建时间" }, { key: "remark_deviceTransfer", label: "备注说明" }, { key: "factory_no_deviceTransfer", label: "出厂编号" }, { key: "spec_model_deviceTransfer", label: "规格型号" } ]}, { key: "DeviceLoan", label: "设备转借", fields: [ { key: "applicant_dept_deviceLoan", label: "申请人部门" }, { key: "applicant_deviceLoan", label: "申请人" }, { key: "loan_due_time_deviceLoan", label: "转借到期时间" }, { key: "loan_factory_deviceLoan", label: "资产借用厂区" }, { key: "asset_no_deviceLoan", label: "资产编号" }, { key: "asset_name_deviceLoan", label: "资产名称" }, { key: "loan_responsible_deviceLoan", label: "资产借用责任人" }, { key: "factory_no_deviceLoan", label: "出厂编号" }, { key: "attachment_deviceLoan", label: "附件" }, { key: "create_time_deviceLoan", label: "创建时间" }, { key: "remark_deviceLoan", label: "备注说明" }, { key: "spec_model_deviceLoan", label: "规格型号" }, { key: "loan_start_time_deviceLoan", label: "转借发起时间" } ]}, { key: "EmployeeManage", label: "员工管理", fields: [ { key: "create_time_employeeManage", label: "创建时间" }, { key: "email_employeeManage", label: "邮箱" }, { key: "employee_name_employeeManage", label: "员工名称" }, { key: "org_structure_employeeManage", label: "组织结构" }, { key: "contact_phone_employeeManage", label: "联系电话" } ]}, { key: "DeviceExFactory", label: "设备出厂", fields: [ { key: "applicant_dept_deviceExFactory", label: "申请人部门" }, { key: "applicant_deviceExFactory", label: "申请人" }, { key: "asset_no_deviceExFactory", label: "资产编号" }, { key: "asset_name_deviceExFactory", label: "资产名称" }, { key: "attachment_deviceExFactory", label: "附件" }, { key: "create_time_deviceExFactory", label: "创建时间" }, { key: "expected_return_time_deviceExFactory", label: "预计返厂时间" }, { key: "ex_factory_time_deviceExFactory", label: "出厂时间" }, { key: "factory_no_deviceExFactory", label: "出厂编号" }, { key: "remark_deviceExFactory", label: "备注说明" }, { key: "spec_model_deviceExFactory", label: "规格型号" } ]}, { key: "FactoryManage", label: "厂区管理", fields: [ { key: "creator_factoryManage", label: "创建人" }, { key: "create_time_factoryManage", label: "创建时间" }, { key: "factory_name_factoryManage", label: "厂区名称" }, { key: "remark_factoryManage", label: "备注" } ]}, { key: "InventoryDetail", label: "盘点详情", fields: [ { key: "asset_no_inventoryDetail", label: "资产编号" }, { key: "asset_name_inventoryDetail", label: "资产名称" }, { key: "epc_inventoryDetail", label: "EPC" }, { key: "factory_no_inventoryDetail", label: "出厂编号" }, { key: "asset_dept_inventoryDetail", label: "资产部门" }, { key: "factory_inventoryDetail", label: "厂区" }, { key: "responsible_inventoryDetail", label: "责任人" }, { key: "info_machine_id_inventoryDetail", label: "信息机ID" }, { key: "info_machine_name_inventoryDetail", label: "信息机名称" }, { key: "spec_model_inventoryDetail", label: "规格型号" } ]}, { key: "AssetInventory", label: "资产盘点", fields: [ { key: "inventory_no_assetInventory", label: "盘点单号" }, { key: "to_inventory_assetInventory", label: "应盘资产" }, { key: "create_time_assetInventory", label: "创建时间" }, { key: "loss_assets_assetInventory", label: "盘亏资产" }, { key: "gain_assets_assetInventory", label: "盘盈资产" }, { key: "no_epc_assets_assetInventory", label: "无EPC资产" }, { key: "inventory_time_assetInventory", label: "盘点时间" } ]}, { key: "IdleHandle", label: "闲置处理", fields: [ { key: "apply_dept_idleHandle", label: "申请部门" }, { key: "years_to_plant_idleHandle", label: "到厂年限" }, { key: "applicant_idleHandle", label: "申请人" }, { key: "factory_no_idleHandle", label: "出厂编号" }, { key: "asset_no_idleHandle", label: "资产编号" }, { key: "asset_name_idleHandle", label: "资产名称" }, { key: "description_idleHandle", label: "描述说明" }, { key: "spec_model_idleHandle", label: "规格型号" }, { key: "attachment_idleHandle", label: "附件" }, { key: "asset_status_idleHandle", label: "资产状态" }, { key: "create_time_idleHandle", label: "创建时间" }, { key: "idle_opinion_idleHandle", label: "闲置处理意见" } ]}, { key: "MaterialMetering", label: "物料计量", fields: [ { key: "meter_responsible_materialMetering", label: "计量负责人" }, { key: "material_no_materialMetering", label: "物料编号" }, { key: "remark_materialMetering", label: "备注说明" }, { key: "material_class_materialMetering", label: "物料分类" }, { key: "material_name_materialMetering", label: "物料名称" }, { key: "asset_responsible_materialMetering", label: "资产责任人" }, { key: "attachment_materialMetering", label: "附件" }, { key: "measure_type_materialMetering", label: "计量类型" }, { key: "spec_model_materialMetering", label: "规格型号" }, { key: "calibration_type_materialMetering", label: "校正别" }, { key: "next_calibration_date_materialMetering", label: "下次校正日期" }, { key: "material_status_materialMetering", label: "物料状态" }, { key: "calibration_result_materialMetering", label: "校准结果" }, { key: "asset_dept_materialMetering", label: "资产部门" }, { key: "update_time_materialMetering", label: "更新时间" }, { key: "this_calibration_date_materialMetering", label: "本次校正日期" }, { key: "cycle_materialMetering", label: "周期" } ]}, { key: "AccessControlManage", label: "门禁权限管理", fields: [ { key: "asset_no_accessControlManage", label: "资产编号" }, { key: "access_control_accessControlManage", label: "门禁" }, { key: "asset_name_accessControlManage", label: "资产名称" }, { key: "asset_status_accessControlManage", label: "资产状态" }, { key: "epc_accessControlManage", label: "EPC" }, { key: "access_expire_time_accessControlManage", label: "门禁到期时间" }, { key: "asset_dept_accessControlManage", label: "资产部门" }, { key: "asset_responsible_accessControlManage", label: "资产负责人" } ]}, { key: "RoleManage", label: "角色管理", fields: [ { key: "creator_roleManage", label: "创建人" }, { key: "create_time_roleManage", label: "创建时间" }, { key: "description_roleManage", label: "描述" }, { key: "role_name_roleManage", label: "角色名称" }, { key: "permission_type_roleManage", label: "权限类型" } ]}, { key: "SensorManage", label: "信息机管理", fields: [ { key: "create_time_sensorManage", label: "创建时间" }, { key: "factory_name_sensorManage", label: "厂区名称" }, { key: "sensor_no_sensorManage", label: "信息机编号" }, { key: "sensor_name_sensorManage", label: "信息机名称" }, { key: "sensor_type_sensorManage", label: "信息机类型" }, { key: "online_status_sensorManage", label: "在线状态" } ]}, { key: "UserManage", label: "用户管理", fields: [ { key: "create_time_userManage", label: "创建时间" }, { key: "email_userManage", label: "邮箱" }, { key: "employee_name_userManage", label: "员工名称" }, { key: "data_permission_userManage", label: "数据权限" }, { key: "description_userManage", label: "描述" }, { key: "role_name_userManage", label: "角色名称" }, { key: "contact_phone_userManage", label: "联系电话" }, { key: "username_userManage", label: "用户名" } ]}, ]; /** 每组内按 field.key 去重,保证 key 不重复(保留首次出现) */ function dedupeFieldsByKey(groups) { return groups.map((group) => { const seen = new Set(); const fields = group.fields.filter((f) => { if (seen.has(f.key)) return false; seen.add(f.key); return true; }); return { ...group, fields }; }); } export const FIELD_PERMISSION_GROUPS = dedupeFieldsByKey(RAW_FIELD_PERMISSION_GROUPS);