...
代码块 |
---|
{ "alias": "考勤点", #【选填】备注 "category": "AttendLocation", #【必填】注意,这个要写要导入的模型名,即按钮中配置的category是什么。 "import_class": "core.base.imp_exp.services_dynamic_model.CommonDynamicImport", #【必填】标准导入配置,不需要改直接复制 "export_class": "core.base.imp_exp.services_dynamic_model.CommonDynamicExport", #【必填】标准导出配置。注意,和导入的不一样。 "filters": [], "orders": [], "fields": [{ # 【必填】模板中展示的列 "key": "address", #【必填】 "name": "名称", #【必填】 "width": 20, #【选填】旧版列宽,要使用的话需要特别配置,否则控制不了。 "excel_width": 10, #【选填】新版列宽,配置了就可以直接控制列宽。 "comment": "请输入考勤点名称", #【选填】描述行 "require": true #【选填】是否必填 }, { "key": "number", "name": "编号", "width": 20, "comment": "请输入考勤点编号", "require": true }, { "key": "province", "name": "省份", "width": 20, "comment": "\n关联型,请选择考勤点所在省份", "drop_down_filter": { "enabled": true }, "require": true }, { "key": "city", "name": "市(区)", "width": 20, "comment": "\n关联型,请选择考勤点所在市(区)", "require": true }, { "key": "address_note", "name": "详细地址", "width": 20, "comment": "请输入考勤点详细地址", "require": true }, { "key": "depart_id", "name": "所属组织", "width": 20, "comment": "文本型,请输入考勤点所属组织", "require": true }, { "key": "area_type", "name": "区域类型", "width": 20, "comment": "参照型,选择考勤点区域类型" }, { "key": "radius", "name": "有效打卡距离(米)", "width": 20, "comment": "文本型,请输入考勤点有效打卡距离(米)", "require": true }, { "key": "location_usable", "name": "可用范围", "width": 20, "comment": "参照型,选择考勤点可用范围(适用于哪个组织)" }, { "key": "enabled", "name": "是否启用", "width": 20, "comment": "请输入该考勤点是否可用", "require": true }], "charge_role": [{ #【选填】用于校验权限。 "field": "dept_id", # 需要校验部门权限的字段 "role": "cm-org-emp", # 权限范围 "type": "dept" # 类型(部门校验) }, { "field": "employee", # 需要校验人员权限的字段 "role": "cm-org-emp", # 权限范围 "type": "emp" # 类型(人员校验) }], "check_items": { #【选填】 "imp": [], "exp": [] }, "data_plugins":[{ #【选填】 "key": "before_imp_data_xxx", // 【必填】注: 作为before_imp_data的插件须以before_imp_data开头,after_imp_data的插件则以after_imp_data开头。 "name": "", // 【必填】云函数名 "plugin_type": "standard" // 【选填】不填时使用云函数。填写为standard时为使用标准代码,上面的name也应为对应class路径。 }] } |
我们的导入模板很多时候都需要导入人员、组织这样的字段,此类字段需要通过编码+名称或XX+名称双维度去共同确认唯一,则我们导入模板参数中则需要配置parser
(a) parser介绍:
parser是校验器,目的是防止出现重名的问题导致导入了错误的数据。目前,只有关联了人员、部门、职位、树型/列表代码项等业务特殊字段可以使用parser。同时,parser需要和column_config配合使用。
(b) parser的一般使用方式:
parser配合column_config使用
|
(c)注意:
(1)column_config会产生多的列。比如,如果不配置column_config,那么模板中只会有一列“员工姓名”;配置了column_config后会根据column_config里的配置产生多的列,如“员工姓名_姓名”,“员工姓名_编号”。但是,这些产生的列并不会导入进模型里,只是作为字段的校验补充数据(这个例子中“姓名”和“编号”是作为“员工姓名”这一字段的补充数据),辅助校验而已,最终导入进去的是校验后的员工的ID。
(2)column_config只能和parser一起用,parser也要求相对应的column_config。
(4) parser汇总(持续更新,欢迎补充):
注意:当字段为多选时,需要在下列parser前加“multi_”,如人员字段多选,其parser为"multi_emp_primary_key",column_config不用变更。多个数据以英文逗号(,)分隔,column_config的两列输入的数据需要前后一一对应(如下图)。
column_config (默认name和number) | |||
---|---|---|---|
时间范围选择器组件 | time_range | start&end 如: "column_config": [{ | |
树型代码项 | common_tree_item
| name&number | 【不建议使用】这个parser是古早版本,不区分代码项类别。 |
树型/列表代码项 | common_basic_item | name&number | 【推荐使用】当树形和列表的number重复时,能够根据实际关联的模型区分 |
树型/列表代码项 | common_basic_item_cache | name&number | 【推荐使用】(测试中,预计发版时间2.10)性能较好,能够区分实际关联的代码项模型 |
Employee | emp_primary_key | name&identity_card; name&number; name&mobile; ... 人员主键字段任意组合 | 校验数据,转换为人员id存入模型 |
PreEmployee | pre_emp_primary_key | 待入职人员主键字段任意组合 | |
Department(包括OrgPosition、OrgPositionHistory、DepartmentHistory、OrgDepartment、OrgUnit、OrgDepartmentHistory、OrgUnitHistory ) | cached_department_number
| name&number | 根据名称和编号,校验数据。编号原则上不能重复(部门、岗位等都不能) |
org_primary_key
| name&number 部门主键字段任意组合 | ||
combination_path
| [ | 根据组织路径进行校验 | |
DepartmentHistory | org_history_primary_key
| 主键字段任意组合 | |
JobType | job_type_primary_key
| 主键字段任意组合 | |
Job | job_primary_key
| 主键字段任意组合 | |
JobStep | job_step_primary_key
| ||
JobStepType | job_step_type_primary_key
|
3、子表导入
4、主子集导入
5、附件导入
二、导出
1、标准导出
...