From 3dfe7d4be26b4b57e9848320caa8697e1f31b8e7 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期一, 26 八月 2024 15:32:13 +0800
Subject: [PATCH] 调整

---
 module/config/page/sys_menu_edit.html |  428 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 345 insertions(+), 83 deletions(-)

diff --git a/module/config/page/sys_menu_edit.html b/module/config/page/sys_menu_edit.html
index 72bbaf7..6d1abf3 100644
--- a/module/config/page/sys_menu_edit.html
+++ b/module/config/page/sys_menu_edit.html
@@ -22,7 +22,15 @@
 						isTreeReadonly: false,
 						
 						form_dataname: "sys_menu",
-						// formAttr: {},
+						formAttr: {
+							istitle: false,
+							title: "琛ㄥ崟鍚嶇О",
+							columnnumber: 3,
+							labelwidth: "80px",
+							labelposition: "left",//"left",// right//top
+							size: "mini",
+							border: "0px solid #c6c6c600"
+						},
 						formFields: [],
 						formData: {
 							parent_id: []
@@ -41,9 +49,17 @@
 								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
 							},
 							{
-								name: "sys_model",
+								name: "modelByPage",
 								dataname: "sys_model",
-								filter: "",
+								filter: "is_detail='F'",
+								isnotoption: false, //true:涓嶆槸閫夐」
+								code:"id",//鏄笅鎷夐�夐」鏃惰缃�
+								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
+							},
+							{
+								name: "modelBydetail",
+								dataname: "sys_model",
+								filter: "is_detail='T'",
 								isnotoption: false, //true:涓嶆槸閫夐」
 								code:"id",//鏄笅鎷夐�夐」鏃惰缃�
 								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
@@ -53,8 +69,10 @@
 						options_menutree: [],
 						options_menumap: {},
 						options_model: [],
+						options_model_detail: [],
 						options_buttons: [],
 						pagebuttonmap: {},
+						modelbuttonmap: {},
 						
 						pagesize_p: 10,
 						pagenum_p: 1,
@@ -70,40 +88,41 @@
 							{isshow: "T", field: "icon", labelchinese: "鑿滃崟鍥炬爣", inputtype: "popup", optionsgroup: "", group_name: "鑿滃崟淇℃伅"},
 							{isshow: "T", field: "url", labelchinese: "鍦板潃", inputtype: "", optionsgroup: "", group_name: "鑿滃崟淇℃伅"},
 							
-							{isshow: "T", field: "model_id", labelchinese: "妯″瀷閫夋嫨", inputtype: "select", optionsgroup: "", colspan: 2, group_name: "椤甸潰閰嶇疆"},
 							{isshow: "T", field: "page_title", labelchinese: "椤甸潰鏍囬", inputtype: "", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
-							{isshow: "T", field: "dataname", labelchinese: "鏁版嵁瀵硅薄", inputtype: "", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
-							{isshow: "T", field: "buttons", labelchinese: "閫夋嫨鍔熻兘", inputtype: "checkboxobj", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
+							{isshow: "T", field: "model_id", labelchinese: "妯″瀷閫夋嫨", inputtype: "select", optionsgroup: "", colspan: 1, group_name: "椤甸潰閰嶇疆", buttonarrayname: [{type: "", buttonname:"妯″瀷缁存姢", icon: "", code:"showfile", classname: "form_showfile"}]},
+							{isshow: "T", field: "dataname", labelchinese: "鏁版嵁瀵硅薄", inputtype: "", optionsgroup: "", group_name: "椤甸潰閰嶇疆", buttonarrayname: [{type: "", buttonname:"瀵硅薄缁存姢", icon: "", code:"showfile", classname: "form_showfile"}]},
+							{isshow: "T", field: "buttons", labelchinese: "鍔熻兘閫夋嫨", inputtype: "checkboxobj", optionsgroup: "", colspan: 2, group_name: "椤甸潰閰嶇疆"},
+							{isshow: "T", field: "detail_model_id", labelchinese: "璇︽儏妯″瀷閫夋嫨", inputtype: "select", optionsgroup: "", colspan: 2, group_name: "椤甸潰閰嶇疆", labelwidth: "120", visiblefilterrule: "buttons锛欰dd銆丒dit銆丗ormDetail"},
 						],
 						
 						tableFields_table: [
-							{isshow: "T", field: "field", labelchinese: "瀛楁", width: "130", isfixed: "left", align: "left"},
-							{isshow: "T", field: "labelchinese", labelchinese: "涓枃鍚嶇О",inputtype: "input", width: "130", isfixed: "left"},
+							{isshow: "T", field: "field_name", labelchinese: "瀛楁", width: "130", isfixed: "left", align: "left"},
+							{isshow: "T", field: "label_chinese", labelchinese: "涓枃鍚嶇О",inputtype: "input", width: "130", isfixed: "left"},
 							{isshow: "T", field: "is_list", labelchinese: "鏄惁鏄剧ず",inputtype: "ischeckbox"},
-							{isshow: "T", field: "isfilter", labelchinese: "鏄惁鏌ヨ",inputtype: "ischeckbox"},
+							{isshow: "T", field: "is_filter", labelchinese: "鏄惁鏌ヨ",inputtype: "ischeckbox"},
 							{isshow: "T", field: "list_order_no", labelchinese: "椤哄簭",inputtype: "number"},
 							{isshow: "T", field: "width", labelchinese: "瀹藉害",inputtype: "input"},
-							{isshow: "T", field: "isminwidth", labelchinese: "鏄惁鏈�灏忓搴�",inputtype: "ischeckbox", width: "100"},
+							{isshow: "T", field: "is_min_width", labelchinese: "鏄惁鏈�灏忓搴�",inputtype: "ischeckbox", width: "100"},
 							{isshow: "T", field: "formatter", labelchinese: "鏍煎紡鍖�",inputtype: "select", optionsgroup: "formatterEvent", width: "150"},
-							{isshow: "T", field: "formatpattern", labelchinese: "鏍煎紡鍖栧弬鏁�",inputtype: "input", width: "150"},
+							{isshow: "T", field: "format_pattern", labelchinese: "鏍煎紡鍖栧弬鏁�",inputtype: "input", width: "150"},
 							{isshow: "T", field: "align", labelchinese: "瀵归綈鏂瑰紡",inputtype: "select", optionsgroup: "dataAlign", width: "150"},
 							{isshow: "F", field: "last_update_time", labelchinese: "鏇存柊鏃堕棿"},
-							{isshow: "T", field: "tablegroupname", labelchinese: "琛ㄥご鍒嗙粍鍚�",inputtype: "input"},
+							{isshow: "T", field: "table_group_name", labelchinese: "琛ㄥご鍒嗙粍鍚�",inputtype: "input", width: "150"},
 							
 						],
 						tableFields_form: [
-							{isshow: "T", field: "field", labelchinese: "瀛楁", width: "130", isfixed: "left", align: "left"},
-							{isshow: "T", field: "labelchinese", labelchinese: "涓枃鍚嶇О",inputtype: "input", width: "130", isfixed: "left"},
+							{isshow: "T", field: "field_name", labelchinese: "瀛楁", width: "130", isfixed: "left", align: "left"},
+							{isshow: "T", field: "label_chinese", labelchinese: "涓枃鍚嶇О",inputtype: "input", width: "130", isfixed: "left"},
 							{isshow: "T", field: "is_form", labelchinese: "鏄惁鏄剧ず", inputtype: "ischeckbox"},
-							{isshow: "T", field: "inputtype", labelchinese: "杈撳叆绫诲瀷", inputtype: "select", optionsgroup: "inputType", width: "150"},
-							{isshow: "T", field: "optionsgroup", labelchinese: "閫夐」瀛楀吀", inputtype: "select", optionsgroup: "dictionary"},
+							{isshow: "T", field: "input_type", labelchinese: "杈撳叆绫诲瀷", inputtype: "select", optionsgroup: "inputType", width: "150"},
+							{isshow: "T", field: "options_key", labelchinese: "閫夐」瀛楀吀", inputtype: "select", optionsgroup: "dictionary"},
 							{isshow: "T", field: "list_order_no", labelchinese: "椤哄簭",inputtype: "number"},
-							{isshow: "T", field: "required", labelchinese: "鏄惁蹇呭~",inputtype: "ischeckbox"},
+							{isshow: "T", field: "is_required", labelchinese: "鏄惁蹇呭~",inputtype: "ischeckbox"},
 							{isshow: "T", field: "colspan", labelchinese: "鍚堝苟鍒楁暟",inputtype: "input"},
 							{isshow: "T", field: "formatter", labelchinese: "鏍煎紡鍖�",inputtype: "select", optionsgroup: "formatterEvent", width: "150"},
-							{isshow: "T", field: "formatpattern", labelchinese: "鏍煎紡鍖栧弬鏁�",inputtype: "input", width: "150"},
+							{isshow: "T", field: "format_pattern", labelchinese: "鏍煎紡鍖栧弬鏁�",inputtype: "input", width: "150"},
 							{isshow: "F", field: "last_update_time", labelchinese: "鏇存柊鏃堕棿"},
-							{isshow: "T", field: "group_name", labelchinese: "琛ㄥご鍒嗙粍鍚�"},
+							{isshow: "T", field: "form_group_name", labelchinese: "瀛楁鍒嗙粍鍚�",inputtype: "input", width: "150"},
 						],
 						tableFields: [],
 						tableData: [],
@@ -135,11 +154,14 @@
 									var sys_menunotpagetree = ArrayToTree(clone(sys_menunotpage_), "title", "parent_id");
 									me.options_menutree = clone(sys_menunotpagetree);
 								}
-								if (me.dataRequestObj.sys_model) {
-									var sys_model_ = clone(me.dataRequestObj.sys_model);
+								if (me.dataRequestObj.modelByPage) {
+									var sys_model_ = clone(me.dataRequestObj.modelByPage);
 									me.options_model = clone(sys_model_);
 								}
-								
+								if (me.dataRequestObj.modelBydetail) {
+									var sys_model_ = clone(me.dataRequestObj.modelBydetail);
+									me.options_model_detail = clone(sys_model_);
+								}
 								
 								me.initData();
 							});
@@ -174,7 +196,9 @@
 								var row = me.treeData[0];
 								// me.$refs.table1.setCurrentRow(row)
 								me.selectNodeData = clone(row);
-								me.formData = row;
+								let row_ = clone(row);
+								row_.buttons = []
+								me.formData = row_;
 								me.isRefresh = false;
 								me.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
 									me.defaultexpandedkeys = [me.formData.id];
@@ -212,17 +236,6 @@
 							var me = this;
 							var metas = clone(me.page_metas);
 							var formFields_ = [];
-							/* 
-							page_metas: [
-								{isshow: "T", field: "title", labelchinese: "鑿滃崟鍚嶇О", inputtype: "", optionsgroup: "", group_name: "鑿滃崟淇℃伅"},
-								{isshow: "T", field: "url", labelchinese: "璺緞", inputtype: "", optionsgroup: "", group_name: "鑿滃崟淇℃伅"},
-								
-								{isshow: "T", field: "model_id", labelchinese: "妯″瀷閫夋嫨", inputtype: "select", optionsgroup: "", colspan: 2, group_name: "椤甸潰閰嶇疆"},
-								{isshow: "T", field: "page_title", labelchinese: "椤甸潰鏍囬", inputtype: "", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
-								{isshow: "T", field: "dataname", labelchinese: "鏁版嵁瀵硅薄", inputtype: "", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
-								{isshow: "T", field: "buttons", labelchinese: "閫夋嫨鍔熻兘", inputtype: "checkbox", optionsgroup: "", group_name: "椤甸潰閰嶇疆"},
-							] 
-							*/
 							metas.map(f=>{
 								f.isshow = "T";
 								if (f.field == "parent_id") {
@@ -233,27 +246,36 @@
 									// f.props = {value: "id", label: "title", checkStrictly: true};
 									f.options = me.options_model;
 								}
+								if (f.field == "detail_model_id") {
+									f.options = me.options_model_detail;
+								}
 								if (f.field == "buttons") {
 									f.options = clone(me.options_buttons);
 								}
 								
 								formFields_.push(clone(f));
 							})
-							// if (!me.formFields || (me.formFields && me.formFields.length == 0)) {
 							me.formFields = clone(formFields_);
-							// }
 							me.formFieldClick();
 						},
 						getPageData(page_id) {
+							var me = this;
+							// 鑾峰彇椤甸潰鎸夐敭
+							this.getPageButtons(page_id, function() {
+								me.doGetPageData(page_id);
+							});
+						},
+						doGetPageData(page_id) {
 							var me = this;
 							// 鑾峰彇椤甸潰瀵瑰簲妯″瀷
 							this.getPageData_model(page_id, function(pagemodel) {
 								if (pagemodel && pagemodel.model_id) {
 									var formData_ = clone(me.formData);
+									formData_.page_model_id = pagemodel.id
 									formData_.model_id = pagemodel.model_id
-									formData_.page_title = pagemodel.title
+									formData_.detail_model_id = pagemodel.detail_model_id
+									formData_.page_title = pagemodel.title ? pagemodel.title : formData_.title
 									formData_.dataname = pagemodel.dataname
-									formData_.buttons = []
 									
 									me.formData = clone(formData_);
 									me.scene_type = pagemodel.sys_model__scene_type;
@@ -263,7 +285,7 @@
 										me.getPageMeta();
 									});
 									if (formData_.dataname) {
-										me.getTableData(formData_.dataname, pagemodel.sys_model__scene_type);
+										me.getTableData(formData_.dataname, me.scene_type);
 									}
 									else {
 										me.tableFields = [];
@@ -273,7 +295,7 @@
 								else {
 									var formData_ = clone(me.formData);
 									formData_.model_id = ""
-									formData_.page_title = ""
+									formData_.page_title = formData_.title
 									formData_.dataname = ""
 									formData_.buttons = []
 									
@@ -285,10 +307,8 @@
 								}
 								
 							});
-							// 鑾峰彇椤甸潰鎸夐敭
-							me.getPageButtons(page_id);
 						},
-						getPageButtons(page_id) {
+						getPageButtons(page_id, callback) {
 							var me = this;
 							let param_ = {
 								dataname: "sys_page_button",//鑾峰彇缁忛攢鍟嗗搴旀敹璐у湴鍧�
@@ -297,20 +317,22 @@
 							Server.call("root/data/getEntitySet", param_, function(result) {
 								var pagebuttons = []
 								var pagebuttonmap = {}
+								if (!pagebuttonmap[page_id]) {
+									pagebuttonmap[page_id] = {}
+								}
 								if (result && result.data && result.data.entityset && result.data.entityset.length) {
 									result.data.entityset.map(r=>{
-										if (!pagebuttonmap[page_id]) {
-											pagebuttonmap[page_id] = {}
-										}
 										pagebuttonmap[page_id][r.code] = r.id;
-										
 										pagebuttons.push(r.code)
 									})
-									
-									me.pagebuttonmap = clone(pagebuttonmap);
-									var formData_ = clone(me.formData)
-									formData_.buttons = pagebuttons
-									me.formData = clone(formData_);
+								}
+								me.pagebuttonmap = clone(pagebuttonmap);
+								var formData_ = clone(me.formData)
+								formData_.buttons = pagebuttons
+								me.formData = clone(formData_);
+								
+								if (callback) {
+									callback()
 								}
 							});
 						},
@@ -339,21 +361,23 @@
 							}
 							Server.call("root/data/getEntitySet", param_, function(result) {
 								var modelbuttons = []
+								var modelbuttonmap = {};
 								if (result && result.data && result.data.entityset && result.data.entityset.length) {
 									result.data.entityset.map(r=>{
 										let b_ = {
 											code: r.parameter_code,
 											value: r.parameter_name,
 										}
+										modelbuttonmap[b_.code] = b_.value
 										modelbuttons.push(b_)
 									})
 								}
-								
+								me.modelbuttonmap = clone(modelbuttonmap);
 								callback(modelbuttons);
 							});
 						},
 						
-						getTableData(dataname, scene_type) {
+						getTableData_mate(dataname, scene_type) {
 							var me = this;
 							var interface_ = "getEntitySet"
 							if (scene_type == "table") {
@@ -380,6 +404,63 @@
 								me.tableData = clone(tableData)
 							});
 						},
+						getTableData(dataname, scene_type) {
+							var me = this;
+							if (scene_type == "table") {
+								interface_ = "getEntitySet"
+								this.tableFields = clone(this.tableFields_table)
+							}
+							else {
+								interface_ = "getEntity"
+								this.tableFields = clone(this.tableFields_form)
+							}
+							
+							this.tableloading = true;
+							let param_p = {
+								dataname: "sys_data_property",//鑾峰彇缁忛攢鍟嗗搴旀敹璐у湴鍧�
+								filter: "dataname='" + dataname + "'",
+								orderby: "is_list desc, list_order_no"
+							}
+							Server.call("root/data/getEntitySet", param_p, function(result_p) {
+								let param_f = {
+									dataname: "sys_data_field",//鑾峰彇缁忛攢鍟嗗搴旀敹璐у湴鍧�
+									filter: "dataname='" + dataname + "'",
+								}
+								Server.call("root/data/getEntitySet", param_f, function(result_f) {
+									let table_p = []
+									let table_f_map = {}
+									if (result_p && result_p.data && result_p.data.entityset) {
+										table_p = result_p.data.entityset;
+									}
+									if (result_f && result_f.data && result_f.data.entityset) {
+										let table_f = result_f.data.entityset;
+										table_f.map(tf=> {
+											table_f_map[tf.field_name] = tf
+										})
+									}
+									table_p.map(tp=>{
+										if (table_f_map[tp.field_name]) {
+											let tf_ = table_f_map[tp.field_name];
+											
+											tp.field_id = tf_.id;
+											tp.input_type = tf_.input_type;
+											tp.options_key = tf_.options_key;
+											tp.formatter = tf_.formatter;
+											tp.format_pattern = tf_.format_pattern;
+											tp.align = tf_.align;
+											tp.label_chinese = tp.label_chinese ? tp.label_chinese : tf_.label_chinese;
+											tp.label_english = tp.label_english ? tp.label_english : tf_.label_english;
+										}
+										else {
+											tp.label_chinese = tp.label_chinese ? tp.label_chinese : tp.field_name;
+											tp.label_english = tp.label_english ? tp.label_english : tp.field_name;
+										}
+									})
+									me.tableloading = false;
+									me.tableData = clone(table_p)
+								})
+							});
+						},
 						
 						//鑺傜偣鐐瑰嚮锛岀粰鍙宠竟璧嬪��
 						onNodeClick(obj) {
@@ -392,6 +473,9 @@
 								
 								data_.parent_id = parent_ids
 							}
+							data_.buttons = []
+							data_.detail_model_id = ""
+							
 							this.formData = data_;
 							
 							this.options_buttons = []
@@ -532,6 +616,37 @@
 								},
 								
 								model_id: {
+									buttonarray: {
+										onclick: function(obj) {
+											
+										},
+									},
+									visible: {
+										onchange: function(obj,row,callback) { //涓嬫媺灞曞紑浜嬩欢
+											let param_ = {
+												dataname: "sys_model",//鑾峰彇缁忛攢鍟嗗搴旀敹璐у湴鍧�
+												filter:"is_detail='F'",
+											}
+											Server.call("root/data/getEntitySet", param_, function(result) {
+												if (result && result.data && result.data.entityset) {
+													var options_ = []
+													result.data.entityset.map(r=>{
+														var option_ = clone(r);
+														option_.code = r.id;
+														option_.value = r.name;
+														options_.push(option_)
+													})
+													var formFields_ = clone(me.formFields)
+													formFields_.map(f=>{
+														if(f.field == "model_id") {
+															f.options = options_
+														}
+													})
+													me.formFields = clone(formFields_)
+												}
+											});
+										}
+									},
 									select: {
 										onchange: function(obj,refreshCallback) {//涓嬫媺灞曞紑浜嬩欢
 											console.log("model_id 閫夋嫨");
@@ -652,50 +767,196 @@
 						
 						saveRowTable() {
 							var me = this;
-							var operator_ = "save";//淇濆瓨
-							
 							var entity_ = clone(this.formData);
-							var entity = {};
-							for (var r in entity_) {
-								if (r == "parent_id") {
-									if (entity_[r] && entity_[r].length) {
-										entity[r] = entity_[r][entity_[r].length - 1];
+							var entity_menu = {
+								id: entity_.id,
+								parent_id: entity_.parent_id,
+								icon: entity_.icon,
+								title: entity_.title
+							};
+							var entity_page = {
+								id: entity_.page_id,
+								url: entity_.url,
+							};
+							var entity_page_model = {
+								id: entity_.page_model_id ? entity_.page_model_id : null,
+								page_id: entity_.page_id,
+								model_id: entity_.model_id,
+								title: entity_.page_title,
+								dataname: entity_.dataname,
+								detail_model_id: entity_.detail_model_id
+							};
+							
+							var entity_page_button_add = [];
+							var entity_page_button_del = [];
+							if (entity_.buttons && entity_.buttons.length) {
+								entity_.buttons.map(b=>{
+									if (me.pagebuttonmap[entity_.page_id] && !me.pagebuttonmap[entity_.page_id][b]) {
+										let page_button_ = {
+											page_id: entity_.page_id,
+											code: b,
+											title: me.modelbuttonmap[b],
+											is_active: "T"
+										}
+										entity_page_button_add.push(page_button_)
+									}
+									else if(!me.pagebuttonmap[entity_.page_id]) {
+										let page_button_ = {
+											page_id: entity_.page_id,
+											code: b,
+											title: me.modelbuttonmap[b],
+											is_active: "T"
+										}
+										entity_page_button_add.push(page_button_)
+									}
+								})
+							}
+							if(this.pagebuttonmap[entity_.page_id]) {
+								for (var b_code in this.pagebuttonmap[entity_.page_id]) {
+									if (entity_.buttons && entity_.buttons.includes(b_code)) {
+										
 									}
 									else {
-										entity[r] = null;
+										let id = this.pagebuttonmap[entity_.page_id][b_code];
+										entity_page_button_del.push(id)
 									}
 								}
-								else if (entity_[r] || entity_[r] ==  "" || entity_[r] == false || entity_[r] == 0) {
-									entity[r] = entity_[r];
-								}
 							}
 							
+							var entity_data_field = [];
+							var entity_data_property = [];
+							var datetime_ = dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss")
+							this.tableData.map(r=>{
+								if (r.field_id) {
+									var field_ = {
+										id: r.field_id ? r.field_id : null,
+										formatter: r.formatter ? r.formatter : null,
+										format_pattern: r.format_pattern ? r.format_pattern : null,
+										align: r.align ? r.align : null,
+										last_update_time: datetime_,
+										input_type: r.input_type ? r.input_type : null,
+										options_key: r.options_key ? r.options_key : null,
+									}
+									entity_data_field.push(field_);
+								}
+								
+								var property_ = {
+									id: r.id ? r.id : null,
+									last_update_time: datetime_,
+									label_chinese: r.label_chinese,
+									is_list: r.is_list ? r.is_list : false,
+									is_filter: r.is_filter ? r.is_filter : false,
+									list_order_no: r.list_order_no ? r.list_order_no : 0,
+									form_order_no: r.form_order_no ? r.form_order_no : 0,
+									width: r.width ? r.width : 100,
+									is_min_width: r.is_min_width ? r.is_min_width : false,
+									table_group_name: r.table_group_name ? r.table_group_name : null,
+									form_group_name: r.form_group_name ? r.form_group_name : null,
+									is_required: r.is_required ? r.is_required : false,
+									colspan: r.colspan ? r.colspan : null,
+								}
+								
+								entity_data_property.push(property_);
+							})
+							
+							
+							/*
+							 sys_menu
+							 sys_page
+							 sys_page_model
+							 */
+							this.saveData("sys_menu", entity_menu, function() {
+								me.saveData("sys_page", entity_page, function() {
+									me.onRefreshCacheByPageId(entity_page.id, function(){
+										if (entity_page_model.model_id) {
+											me.saveData("sys_page_model", entity_page_model, function() {
+												Root.message({
+													type: 'success',
+													message: '淇濆瓨鎴愬姛'
+												});
+												me.getMenuAll();
+											});
+										}
+										else {
+											Root.message({
+												type: 'success',
+												message: '淇濆瓨鎴愬姛'
+											});
+											me.getMenuAll();
+										}
+									})
+								});
+							});
+							
+							/* 
+							sys_page_button
+							sys_data_field
+							sys_data_property
+							var entity_page_button_add = [];
+							var entity_page_button_del = [];
+							var entity_data_field = [];
+							var entity_data_property = [];
+							 */
+							entity_page_button_add.map(ba=>{
+								me.saveData("sys_page_button", ba, function() {
+								})
+							})
+							entity_data_field.map(df=>{
+								me.saveData("sys_data_field", df, function() {
+								})
+							})
+							entity_data_property.map(dp=>{
+								me.saveData("sys_data_property", dp, function() {
+								})
+							})
+							
+							entity_page_button_del.map(bd=>{
+								me.delData("sys_page_button", bd, function() {
+								})
+							})
+						},
+						 
+						saveData(dataname, data, callback) {
+							var me = this;
 							let param = {
-								dataname: this.dataname,
-								// operator: operator_,
+								dataname: dataname,
 								data: {},
 							}
-							param.data[this.dataname] = entity;
-							
+							param.data[dataname] = data;
+							if (data.id) {
+								param.id = data.id
+							}
 							Server.call("root/data/saveEntity", param, function(result) {
 								console.log(result);
 								if (result.success) {
-									if (me.iscommit) {
-										me.iscommit = false;
-										Root.message({
-											type: 'success',
-											message: '鎻愪氦鎴愬姛'
-										}); 
-									}
-									else {
-										Root.message({
-											type: 'success',
-											message: '淇濆瓨鎴愬姛'
-										}); 
+									if (callback) {
+										callback()
 									}
 								}
-								
-								me.getMenuAll();
+							});
+						},
+						
+						delData(dataname, id) {
+							let param = {
+								id: id,
+								dataname: dataname,
+							}
+							Server.call("root/data/deleteEntity", param, function(result) {
+							});
+						},
+						
+						// 鍒锋柊缂撳瓨
+						onRefreshCacheByPageId(PageId, callback) {
+							var me = this;
+							let param_ = {
+								page_id: PageId
+							}
+							Server.call("root/system/reloadMenuByPage", param_, function(result) {
+								if (result.success) {
+									if (callback) {
+										callback()
+									}
+								}
 							});
 						},
 
@@ -704,6 +965,7 @@
 								this.$refs[data.id].style.display = isShow ? '' : 'none';
 							}
 						},
+						
 					}
 				});
 			};

--
Gitblit v1.8.0