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('操作成功');