window.rmmAPI = { /** * 打开微数据动态视图。 * moduleId, 模块ID; * navigateId(不建议)/navigateName/navigateIds(不建议)/navigateNames(英文逗号分隔), 指定导航(四选一); * parentLibraryId(不建议)/parentLibraryName, 指定父记录库ID(二选一),在仅显示关联记录时需要,可选; * parentRecordId, 父记录ID,在仅显示关联记录时需要,可选; * relationName, 与父记录库的关联名称,在仅显示关联记录时需要,可选; * parameters, 视图的初始化参数,在动态视图的查询条件、脚本中都可以用; * jsp, 定制化的JSP,用于实现某些特殊的业务逻辑; * hideNavigate, 是否隐藏左侧导航; * hideButtonBar, 隐藏功能按钮 默认为true; * hideAdvanceSearch, 隐藏高级查询按钮 默认为true; * hideSecondFilter, 隐藏除了第一个之外的过滤器 默认为true; * title, 表单标题,可选; * width, 表单宽度,默认1200,可选; * height, 表单高度,默认600,可选; * close,回调函数,可选; */ openView: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.navigateId) params.push("navigateId=" + options.navigateId); if (options.navigateIds) params.push("navigateIds=" + options.navigateIds); if (options.navigateName) params.push("navigateName=" + encodeURIComponent(encodeURIComponent(options.navigateName))); if (options.navigateNames) params.push("navigateNames=" + encodeURIComponent(encodeURIComponent(options.navigateNames))); if (options.parentLibraryId) params.push("parentLibraryId=" + options.parentLibraryId); if (options.parentLibraryName) params.push("parentLibraryName=" + encodeURIComponent(encodeURIComponent(options.parentLibraryName))); if (options.parentRecordId) params.push("parentRecordId=" + options.parentRecordId); if (options.relationName) params.push("relationName=" + encodeURIComponent(encodeURIComponent(options.relationName))); if (options.parameters) params.push("parameters=" + encodeURIComponent(encodeURIComponent(JSON.stringify(options.parameters)))); if (options.jsp) params.push("jsp=" + encodeURIComponent(options.jsp)); if (options.hideNavigate) params.push("hideNavigate=" + options.hideNavigate); if (options.hideButtonBar) params.push("hideButtonBar=" + options.hideButtonBar); if (options.hideAdvanceSearch) params.push("hideAdvanceSearch=" + options.hideAdvanceSearch); if (options.hideSecondFilter) params.push("hideSecondFilter=" + options.hideSecondFilter); var viewOptions = {}; if (options.title) viewOptions.title = options.title; if (options.width) viewOptions.width = options.width; if (options.height) viewOptions.height = options.height; art.dialog.data("ViewOptions", viewOptions); art.dialog.open("/hbrz/rmm/display/view/DynView_EasyUI.jsp?" + params.join("&"), { width: 1200, height: 600, lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { art.dialog.data("ViewContext", null); if (options.close) options.close(); } }); }, /** * 打开微数据选择记录界面。 * moduleId, 模块ID; * navigateId(不建议)/navigateName/navigateIds(不建议)/navigateNames(英文逗号分隔), 指定导航(四选一); * parentLibraryId(不建议)/parentLibraryName, 指定父记录库ID(二选一),在仅显示关联记录时需要,可选; * parentRecordId, 父记录ID,在仅显示关联记录时需要,可选; * relationName, 与父记录库的关联名称,需要输入关联属性时需要,可选; * parameters, 视图的初始化参数,在动态视图的查询条件、脚本中都可以用到; * jsp, 定制化的JSP,用于实现某些特殊的业务逻辑; * hideNavigate, 是否隐藏左侧导航; * hideButtonBar, 隐藏功能按钮 默认为true; * hideAdvanceSearch, 隐藏高级查询按钮 默认为true; * hideSecondFilter, 隐藏除了第一个之外的过滤器 默认为true; * title, 表单标题,可选; * width, 表单宽度,默认1200,可选; * height, 表单高度,默认600,可选; * multiple, 是否支持多选,默认是false,可选; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),records:返回选择的记录列表,记录包含id/bo/relationProperty三个属性),可选; */ selectRecord: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.navigateId) params.push("navigateId=" + options.navigateId); if (options.navigateIds) params.push("navigateIds=" + options.navigateIds); if (options.navigateName) params.push("navigateName=" + encodeURIComponent(encodeURIComponent(options.navigateName))); if (options.navigateNames) params.push("navigateNames=" + encodeURIComponent(encodeURIComponent(options.navigateNames))); if (options.parentLibraryId) params.push("parentLibraryId=" + options.parentLibraryId); if (options.parentLibraryName) params.push("parentLibraryName=" + encodeURIComponent(encodeURIComponent(options.parentLibraryName))); if (options.parentRecordId) params.push("parentRecordId=" + options.parentRecordId); if (options.relationName) params.push("relationName=" + encodeURIComponent(encodeURIComponent(options.relationName))); if (options.parameters) params.push("parameters=" + encodeURIComponent(encodeURIComponent(JSON.stringify(options.parameters)))); if (options.jsp) params.push("jsp=" + encodeURIComponent(options.jsp)); if (options.hideNavigate) params.push("hideNavigate=" + options.hideNavigate); if (options.hideButtonBar) params.push("hideButtonBar=" + options.hideButtonBar); if (options.hideAdvanceSearch) params.push("hideAdvanceSearch=" + options.hideAdvanceSearch); if (options.hideSecondFilter) params.push("hideSecondFilter=" + options.hideSecondFilter); var viewOptions = {}; if (options.title) viewOptions.title = options.title; if (!zr.isNull(options.multiple)) { viewOptions.multiple = options.multiple; } else { viewOptions.multiple = false; } viewOptions.width = options.width ? options.width : 1200; viewOptions.height = options.height ? options.height : 600; art.dialog.data("ViewOptions", viewOptions); art.dialog.open("/hbrz/rmm/display/form/ChooseRecord.jsp?" + params.join("&"), { id: "chooseRecord", width: viewOptions.width, height: viewOptions.height, lock: false, resize: true, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { art.dialog.data("ViewContext", null); if (options.close) { var result = this.config.DialogResult; var records = art.dialog.data("records") options.close(result, records); } } }); }, /** * 打开微数据选择视图记录界面。(注意: 该方法只返回视图的rowDatas) * moduleId, 模块ID; * navigateId(不建议)/navigateName/navigateIds(不建议)/navigateNames(英文逗号分隔), 指定导航(四选一); * parentLibraryId(不建议)/parentLibraryName, 指定父记录库ID(二选一),在仅显示关联记录时需要,可选; * parentRecordId, 父记录ID,在仅显示关联记录时需要,可选; * parameters, 视图的初始化参数,在动态视图的查询条件、脚本中都可以用到; * hideNavigate, 是否隐藏左侧导航; * hideButtonBar, 隐藏功能按钮 默认为true; * hideAdvanceSearch, 隐藏高级查询按钮 默认为true; * hideSecondFilter, 隐藏除了第一个之外的过滤器 默认为true; * title, 表单标题,可选; * width, 表单宽度,默认1200,可选; * height, 表单高度,默认600,可选; * multiple, 是否支持多选,默认是false,可选; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),rows:返回选择的记录列表; */ selectRows: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.navigateId) params.push("navigateId=" + options.navigateId); if (options.navigateIds) params.push("navigateIds=" + options.navigateIds); if (options.navigateName) params.push("navigateName=" + encodeURIComponent(encodeURIComponent(options.navigateName))); if (options.navigateNames) params.push("navigateNames=" + encodeURIComponent(encodeURIComponent(options.navigateNames))); if (options.parentLibraryId) params.push("parentLibraryId=" + options.parentLibraryId); if (options.parentLibraryName) params.push("parentLibraryName=" + encodeURIComponent(encodeURIComponent(options.parentLibraryName))); if (options.parentRecordId) params.push("parentRecordId=" + options.parentRecordId); if (options.parameters) params.push("parameters=" + encodeURIComponent(encodeURIComponent(JSON.stringify(options.parameters)))); if (options.hideNavigate) params.push("hideNavigate=" + options.hideNavigate); if (options.hideButtonBar) params.push("hideButtonBar=" + options.hideButtonBar); if (options.hideAdvanceSearch) params.push("hideAdvanceSearch=" + options.hideAdvanceSearch); if (options.hideSecondFilter) params.push("hideSecondFilter=" + options.hideSecondFilter); var viewOptions = {}; if (options.title) viewOptions.title = options.title; if (options.width) viewOptions.width = options.width; if (options.height) viewOptions.height = options.height; if (!zr.isNull(options.multiple)) { viewOptions.multiple = options.multiple; } else { viewOptions.multiple = false; } if (!zr.isNull(options.hideButtons)) { viewOptions.hideButtons = options.hideButtons; } else { viewOptions.hideButtons = false; } art.dialog.data("ViewOptions", viewOptions); art.dialog.open("/hbrz/rmm/display/form/SelectRows.jsp?" + params.join("&"), { width: 1200, height: 600, lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { if (options.close) { if (this.config.DialogResult == "ok") { var rows = art.dialog.data("rows"); options.close(rows); } } } }); }, /** * 打开微数据选择分类。 * moduleId, 模块ID; * catalogName 分类名称; * levelType 节点类型; * level 层级; * condition 分类条目的查询条件 注意:第一个条件不需要加AND 和parameters是一对; * parameters 查询条件中的参数,多个参数使用英文逗号或者英文分号分隔; * multipleSelect 是否支持多值; * selectedIds 选中分类条目项ids 多个id使用英文逗号或者英文分号分隔; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),分类条目ids: "1,12,54" names: "条目1;条目2;条目3") */ selectCatalog: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.catalogName) params.push("catalogName=" + encodeURIComponent(encodeURIComponent(options.catalogName))); if (options.levelType) params.push("levelType=" + options.levelType); if (options.level) params.push("level=" + options.level); if (options.condition) params.push("condition=" + options.condition); if (options.parameters) params.push("parameters=" + encodeURIComponent(encodeURIComponent(options.parameters))); if (options.multipleSelect) { params.push("multipleSelect=" + options.multipleSelect); } else { params.push("multipleSelect=false"); } if (options.selectedIds) params.push("selectedIds=" + options.selectedIds); art.dialog.open("/hbrz/rmm/display/form/ChooseCatalog.jsp?" + params.join("&"), { lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { if (options.close) { if (this.config.DialogResult == "ok") { var result = this.config.result; options.close(result.ids, result.names); } } } }); }, /** * 打开微数据选择字典 。 * moduleId, 模块ID; * dictionaryName 字典名称; * levelTypes 树加载方式:CommonConstant.LOAD_TREE_ALL:加载整个树,CommonConstant.LOAD_TREE_LEAF: 只加载末级节点,CommonConstant.LOAD_TREE_LEVEL:只加载第N层节点; * level 层级; * condition 字典条目的查询条件 注意:第一个条件不需要加AND 和parameters是一对; * parameters 查询条件中的参数,多个参数使用英文逗号或者英文分号分隔; * multipleSelect 是否支持多值; * selectedCodes 选中字典条目项codes 多个code使用英文逗号或者英文分号分隔; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),分类条目coeds: "01,0102,0504" names: "条目1;条目2;条目3") */ selectDictionary: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.dictionaryName) params.push("dictionaryName=" + encodeURIComponent(encodeURIComponent(options.dictionaryName))); if (options.levelType) params.push("levelType=" + options.levelType); if (options.level) params.push("level=" + options.level); if (options.condition) params.push("condition=" + options.condition); if (options.parameters) params.push("parameters=" + encodeURIComponent(encodeURIComponent(options.parameters))); if (options.multipleSelect) { params.push("multipleSelect=" + options.multipleSelect); } else { params.push("multipleSelect=false"); } if (options.selectedCodes) params.push("selectedCodes=" + options.selectedCodes); art.dialog.open("/hbrz/rmm/display/form/ChooseDictionary.jsp?" + params.join("&"), { lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { if (options.close) { if (this.config.DialogResult == "ok") { var result = this.config.result; options.close(result.codes, result.names); } } } }); }, /** * 打开微数据选择常量 。 * moduleId, 模块ID; * constantName 常量名称; * multipleSelect 是否支持多值; * selectedValues 选中字典条目项values 多个value使用英文逗号或者英文分号分隔; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),常量ids: "1,12,54" */ selectConstant: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.dictionaryName) params.push("dictionaryName=" + encodeURIComponent(encodeURIComponent(options.dictionaryName))); if (options.multipleSelect) { params.push("multipleSelect=" + options.multipleSelect); } else { params.push("multipleSelect=false"); } if (options.selectedValues) params.push("selectedValues=" + options.selectedValues); art.dialog.open("/hbrz/rmm/display/form/ChooseConstant.jsp?" + params.join("&"), { lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { if (options.close) { if (this.config.DialogResult == "ok") { var result = this.config.result; options.close(result.ids); } } } }); }, /** * 打开微数据动态表单。 * moduleId, 模块ID; * libraryId(不建议)/libraryName,指定记录库; * recordId, 记录ID,新建时可忽略(也可以给0); * formType, 表单类型; * recordType, 记录类型,可选; * formData,表单数据,可选; * parentLibraryId/parentLibraryName,指定父记录库ID(二选一),在打开子表单时需要; * parentRecordId,父记录ID,打开子表单时才需要; * relationName,与父记录库的关联名称,打开子表单时才需要; * parameters,自定义参数,对应到FormContext的parameters里面,可选; * formMode, 表单模式(normal/dialog),默认是normal,可选; * commitable,是否可提交,默认是true,可选; * close,回调函数(参数说明,result: 对话框状态(ok/cancel),formData:返回表单数据),可选。 */ openForm: function(options) { var params = []; if (options.moduleId) params.push("moduleId=" + options.moduleId); if (options.libraryId) params.push("libraryId=" + options.libraryId); if (options.libraryName) params.push("libraryName=" + encodeURIComponent(encodeURIComponent(options.libraryName))); if (options.recordId) params.push("recordId=" + options.recordId); if (options.formType) params.push("formType=" + encodeURIComponent(encodeURIComponent(options.formType))); if (options.recordType) params.push("recordType=" + encodeURIComponent(encodeURIComponent(options.recordType))); if (options.parentLibraryId) params.push("parentLibraryId=" + options.parentLibraryId); if (options.parentLibraryName) params.push("parentLibraryName=" + encodeURIComponent(encodeURIComponent(options.parentLibraryName))); if (options.parentRecordId) params.push("parentRecordId=" + options.parentRecordId); if (options.relationName) params.push("relationName=" + encodeURIComponent(encodeURIComponent(options.relationName))); var context = {}; if (options.moduleId) context.moduleId = options.moduleId; if (options.libraryId) context.libraryId = options.libraryId; if (options.libraryName) context.libraryName = options.libraryName; if (options.formType) context.formType = options.formType; if (options.recordType) context.recordType = options.recordType; if (options.parentLibraryId) context.parentLibraryId = options.parentLibraryId; if (options.parentLibraryName) context.parentLibraryName = options.parentLibraryName; if (options.parentRecordId) context.parentRecordId = options.parentRecordId; if (options.relationName) context.relationName = options.relationName; if (options.recordId) context.recordId = options.recordId; if (options.formData) context.formData = options.formData; if (options.parameters) context.parameters = options.parameters; if (options.formMode) context.formMode = options.formMode; if (options.commitable != null) context.commitable = options.commitable; art.dialog.data("FunctionContext", null); art.dialog.data("FormContext", context); art.dialog.open("/hbrz/rmm/display/form/DynaForm.jsp?" + params.join("&"), { width: 500, height: 300, lock: true, resize: false, init: function() { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { if (options.close) { var result = this.config.DialogResult; var formData = art.dialog.data("formData"); var changed = art.dialog.data("changed"); options.close(result, formData, changed); } } }); }, /** * 浏览单个附件。 * attachmentId, 附件ID。 * jsp, 定制化JSP,引入在文件浏览过程中的业务逻辑。 * mode, 打开模式,'self'表示在当前窗口打开,'window'表示在新页签中打开。 */ openAttachment: function(attachmentId, jsp, mode) { var url = "/hbrz/rmm/function/record/browser/OpenAttachment.jsp?attachmentId=" + attachmentId; if (jsp) url += "&jsp=" + encodeURIComponent(jsp); if (mode && mode == 'self') { window.location.href = url; } else { window.open(url); } }, /** * 查看记录附件列表。 * libraryId, 记录库ID。 * recordId, 记录ID。 * fieldId, 附件字段ID,0表示自由附件。 * jsp, 定制化JSP,引入在文件浏览过程中的业务逻辑。 */ openAttachmentList: function(libraryId, recordId, fieldId, jsp) { art.dialog.data("libraryId", libraryId); art.dialog.data("recordId", recordId); art.dialog.data("fieldId", fieldId); art.dialog.data("jsp", jsp); art.dialog.open("/hbrz/rmm/function/record/AttachmentList.jsp", { lock: true, resize: false, init: function () { this.size(this.config.width, this.config.height); this.position("50%", "40%"); }, close: function() { $("#_grid") && $("#_grid").datagrid("reload"); } }, false); } }