diff --git a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/fastDevelop.js b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/fastDevelop.js index 8fd8d01605c5da931e9aa6a9f178494604673969..755dc081fdc8797b3adf9442ea9c36943b2b3d02 100644 --- a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/fastDevelop.js +++ b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/fastDevelop.js @@ -22,6 +22,7 @@ layui.config({ domain_design: "domain/domain_design", domain_design_business: "domain/domain_design_business", domain_design_default: "domain/domain_design_default", + domain_design_vo: "domain/domain_design_vo", open_domain: "editor/open_domain", resource_properties: "editor/resource_properties", jqgrid: "jqgrid", // jq表格组件 diff --git a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design.js b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design.js index 6a8fad5f439b9ac282b6edd327fe0e7187f05b65..660e81ff806f9ff3df1f29b466bccff758be29e9 100644 --- a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design.js +++ b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design.js @@ -10,7 +10,7 @@ layui.define(['element', 'api', 'fast_config', 'domain_design_business', 'domain fast_config = layui.fast_config, domain_design_business = layui.domain_design_business, domain_design_default = layui.domain_design_default, - resource_content = layui.resource_content, + // resource_content = layui.resource_content, utils = layui.utils, amis = layui.amis ; @@ -42,6 +42,8 @@ layui.define(['element', 'api', 'fast_config', 'domain_design_business', 'domain formObject["fieldList"] = grid_domain_design_businessData; formObject["defaultField"] = grid_domain_design_defaultData; + formObject["modelType"] = "domainmodel"; + var optionApi = { enableRootPath:true, type: "POST", diff --git a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design_vo.js b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design_vo.js new file mode 100644 index 0000000000000000000000000000000000000000..abcb42db06d1898bdb73b1bc8b4b272ae1bca99e --- /dev/null +++ b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/domain/domain_design_vo.js @@ -0,0 +1,159 @@ +layui.define(['element', 'api', 'fast_config', 'domain_design_business', 'amis', 'utils'], function(exports) { + "use strict"; + + /** + * Button component + * */ + var MOD_NAME = 'domain_design_vo', + $ = layui.jquery, + api = layui.api, + fast_config = layui.fast_config, + domain_design_business = layui.domain_design_business, + utils = layui.utils, + amis = layui.amis + ; + + var domain_design_vo = function(opt) { + this.option = opt; + }; + + function saveDesign(option){ + var grid_domain_vo_fields = option.grid_domain_design_business.option.grid.getData(); + // var formObject = option.amisObj.option.amisScoped.getComponentByName(getAmisId(option)).getValues(); + var formObject = {}; + + for(var field of grid_domain_vo_fields){ + var validation=[]; + if(field["Keyword"]){ + validation.push("Keyword"); + } + if(field["Repeat"]){ + validation.push("Repeat"); + } + if(field["NotEmpty"]){ + validation.push("NotEmpty"); + } + field["validationTypeList"] = validation; + } + + formObject["fieldList"] = grid_domain_vo_fields; + formObject["scope"] = "app"; + formObject["modelType"] = "vo"; + + var optionApi = { + enableRootPath:true, + type: "POST", + url: fast_config.moudle.domain.saveApi.format({nodeid:option.treeNode.id}), + data: JSON.stringify(formObject), + contentType : 'application/json;charset=UTF-8', + success: function(data){ + layer.msg('操作成功'); + if(option.callback && option.callback.reloadtree && typeof option.callback.reloadtree === 'function'){ + option.callback.reloadtree(data); + } + } + }; + + api.exec(optionApi) + } + + function getModelData(option){ + var modelJson=null; + var optionApi = { + enableRootPath:true, + type: "GET", + url: fast_config.moudle.domain.initApi.format({nodeid:option.treeNode.id}), + success: function(data){ + if(typeof data !== 'object' ){ + modelJson = JSON.parse(data); + } + } + }; + + api.exec(optionApi); + + return modelJson; + } + + function appendElem(option){ + + //debugger + var id = option.treeNode.tId; + var domainContainerId = 'domainContainer_' + id; + var saveId = "saveDesignVo_" + id; + + var domainContainer = ` +
+
+ +
+
+
+
+
+
+
+ +
+ `; + + $(option.elem).append(domainContainer); + + $('#' + saveId).click(function(){ + saveDesign(option); + }); + } + + function getDomainVoFields(option){ + var id = option.treeNode.tId; + return 'domainVoFields_' + id; + } + + /** + * Button start loading + * */ + domain_design_vo.prototype.render = function(opt) { + + var option = { + elem: opt.elem, + data: opt.data, + treeNode: opt.treeNode, + viewMode: opt.viewMode, + pearBody : opt.pearBody, + amisData: opt.amisData, + callback: opt.callback, + grid_domain_design_business: null + } + + render(option); + + return new domain_design_vo(option); + } + + function render(option){ + + appendElem(option); + var id = option.treeNode.tId; + var modelJson = getModelData(option); + // debugger + + var initVoFields; + if(modelJson !=null){ + initVoFields = modelJson.fieldList; + } + + // grid; + option.grid_domain_design_business = domain_design_business.render({ + elem: '#' + getDomainVoFields(option), + initData: initVoFields + }); + } + + exports(MOD_NAME, new domain_design_vo()); + +}); diff --git a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/resource_tree.js b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/resource_tree.js index 14fa84b535c2ade022422119c116c05f311c0e09..ee51ed12f53f9c07ee1b664cb222147ecca0822c 100644 --- a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/resource_tree.js +++ b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/resource_tree.js @@ -1,5 +1,5 @@ layui.define(['element', 'api', 'amis', 'schema', 'listener', 'api', 'jqgrid', 'open_domain', -'domain_design', 'edropdown', 'form', 'resource_content', 'ztree', 'resource_properties','fast_config', 'tab', 'utils', 'schema_render' +'domain_design','domain_design_vo', 'edropdown', 'form', 'resource_content', 'ztree', 'resource_properties','fast_config', 'tab', 'utils', 'schema_render' ], function(exports) { "use strict"; @@ -224,6 +224,45 @@ layui.define(['element', 'api', 'amis', 'schema', 'listener', 'api', 'jqgrid', ' }) } + function designDoamin(data, target) { + var treeNode = contextmenuData; + var id = target.id; + + domain_design.render({ + elem: utils.getTabElem(id), + data:data, + treeNode: treeNode, + viewMode: viewMode, + pearBody : pearBody, + amisData: utils.getGlobalEnv(treeNode.data), + callback: { + reloadtree: function reloadCallback(data){ + // reloadResource(); + selectedNode(data); + } + } + }) + } + + function designVo(data, target) { + var treeNode = contextmenuData; + var id = target.id; + + domain_design_vo.render({ + elem: utils.getTabElem(id), + data:data, + treeNode: treeNode, + viewMode: viewMode, + pearBody : pearBody, + amisData: utils.getGlobalEnv(treeNode.data), + callback: { + reloadtree: function reloadCallback(data){ + selectedNode(data); + } + } + }) + } + function getFilePath(value){ var path; @@ -323,6 +362,10 @@ layui.define(['element', 'api', 'amis', 'schema', 'listener', 'api', 'jqgrid', ' designDoamin(data, target) } + function designVoListener(data, target){ + designVo(data, target) + } + function createFolderListener(data) { createFolder() } @@ -345,6 +388,7 @@ layui.define(['element', 'api', 'amis', 'schema', 'listener', 'api', 'jqgrid', ' elem, open_domain = layui.open_domain, domain_design = layui.domain_design, + domain_design_vo = layui.domain_design_vo, edropdown = layui.edropdown, selectFileMetaData, form = layui.form, @@ -381,7 +425,8 @@ layui.define(['element', 'api', 'amis', 'schema', 'listener', 'api', 'jqgrid', ' createFolderListener:createFolderListener }, contentPanelListeners = { - designDomainListener:designDomainListener + designDomainListener:designDomainListener, + designVoListener:designVoListener } ; diff --git a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/schema_render.js b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/schema_render.js index c8190da1ef03354e29d9f57b6d3b7b872ad71155..efa150156029b03208dc890f79d71439a5969536 100644 --- a/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/schema_render.js +++ b/fast-develop-web/fast-develop-editor/src/fast-develop/src/js/module/editor/schema_render.js @@ -34,14 +34,15 @@ layui.define(['element', 'api', 'listener', 'amis'], function(exports) { // var formObject = amis.funcAmis.option.amisScoped.getComponentById("modelForm").getValues(); var optionApi = amis.funcAmis.option.schema.api; + // debugger if(optionApi.data!=undefined && optionApi.data!=null){ - optionApi["submitData"] = optionApi.data; - } - if( typeof optionApi.data =='string'){ - optionApi.data = optionApi.submitData; + if( typeof optionApi.data =='string'){ + optionApi.data = optionApi.submitData; + }else{ + optionApi["submitData"] = optionApi.data; + } } - debugger execApi({ optionApi : optionApi, execData : formObject, @@ -177,6 +178,7 @@ layui.define(['element', 'api', 'listener', 'amis'], function(exports) { var optionApiStr = schema.api; execApi({ optionApi : optionApiStr, + execData : option.data, contextData: option.contextData, success: function(data){ layer.msg('操作成功');