From b5812cecf98745f4b36a8bf72ff082c3220ef1d6 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期五, 02 八月 2024 14:32:07 +0800
Subject: [PATCH] Merge branch 'master' of http://highdatas.com:9000/r/promotion/promotion_html

---
 module/md/page/customer/page/customer_list_account.html      |   22 
 css/myelement.css                                            |    4 
 module/md/page/customer/page/customer_basic.html             |  418 +++++
 module/agreement/page/category_edit.html                     |    2 
 module/md/page/customer/page/404.html                        | 2564 +++++++++++++++++++++++++++++++++++++
 module/md/page/customer/page/evaluation_management.html      |   18 
 module/md/page/customer/page/customer_basic_acct.html        |  281 +++-
 module/md/page/customer/page/evaluation_management_edit.html |  742 +++++++---
 8 files changed, 3,691 insertions(+), 360 deletions(-)

diff --git a/css/myelement.css b/css/myelement.css
index 2607b48..ecf9620 100644
--- a/css/myelement.css
+++ b/css/myelement.css
@@ -411,10 +411,10 @@
 	margin-bottom: 30px;
 } */
 
-.h_table .el-table__body-wrapper {
+/* .h_table .el-table__body-wrapper {
 	overflow-y: auto !important;
 	overflow-x: auto !important;
-}
+} */
 
 .h_form .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
 	margin-bottom: 0px !important;
diff --git a/module/agreement/page/category_edit.html b/module/agreement/page/category_edit.html
index 1b0109a..aef6606 100644
--- a/module/agreement/page/category_edit.html
+++ b/module/agreement/page/category_edit.html
@@ -320,7 +320,7 @@
 							param.data[this.form_dataname] = entity;
 							//param.data[this.table_dataname] = table_entityset;
 							
-							Server.call("root/data/saveEntity", param, function(result) {
+							Server.call("root/data/saveEntity", param, function(result) { //
 								console.log(result);
 								if (result.success) {
 									if(me.isCommit){
diff --git a/module/md/page/customer/page/404.html b/module/md/page/customer/page/404.html
new file mode 100644
index 0000000..311cc90
--- /dev/null
+++ b/module/md/page/customer/page/404.html
@@ -0,0 +1,2564 @@
+<!doctype html>
+<html>
+	<head>
+		<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
+		<title>鍗忚淇℃伅</title>
+		
+		<script type="text/javascript">
+			var pageVue = null;
+			function loadJsCss(callback) {
+				var jscss_urls = [];
+				window.top.initJsCss(document, jscss_urls, callback);
+			};
+			
+			function initVue() {
+				new FormVue({
+					el: "#vbody",
+					data: {
+						dataname: "agm_agreement",
+						title: "鍗忚淇℃伅",
+
+						formAttr: {
+							istitle: false,
+							title: "琛ㄥ崟鍚嶇О",
+							columnnumber: 4,
+							labelwidth: "100px",
+							labelposition: "left",//"left",// right//top
+							size: "mini",
+							border: "10px solid #c6c6c600"
+						},
+						formFields: [],
+						newformData: {
+							// agreement_no: createCode("XY"),
+							state_code: "Input",
+							state_name: "褰曞叆",
+							is_generate: false,
+							// creator_id:
+						},
+						formData: {},
+						//瀛楁璁剧疆
+						formfieldClick: {},
+
+						//鎸夐敭鏉冮檺璁剧疆
+						isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦
+						isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦
+						isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥�
+						iscommit: false,//鎻愪氦鏍囪
+						loading_save: false,
+						
+						//瀹℃壒鐩稿叧鍙橀噺
+						reasonvisible:false,//瀹℃壒閫氳繃鎴栨嫆缁濆~鍐欏師鍥�
+						approveremark: '',//濉啓鐞嗙敱
+						passOrRefuse:false,
+						loading_pass: false,
+
+						//楂樺害
+						p_height: null,
+						
+						//寮圭獥鍙傛暟
+						popupParames: {},
+						
+						dataRequest: [
+							{
+								name: "agm_category", // 鍗忚绫诲瀷涓嬫媺
+								//url: "root/front/getOneDictionary",
+								//paramsobj: { code: "OrgType", },
+								isnotoption: false, //true:涓嶆槸閫夐」
+								code:"id",//鏄笅鎷夐�夐」鏃惰缃�
+								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
+							},
+							
+							{
+								name: "md_bu_product", // 浜у搧涓嬫媺椤� 
+								dataname: "md_bu_product",
+								isnotoption: false, //true:涓嶆槸閫夐」
+								code:"id",//鏄笅鎷夐�夐」鏃惰缃�
+								label:"product_name",//鏄笅鎷夐�夐」鏃惰缃�
+								filter: "",
+								orderby: "product_name"
+							},
+							{
+								name: "md_geo_province", // 鐪佷唤涓嬫媺椤� 
+								dataname: "md_geo_province",
+								isnotoption: false, //true:涓嶆槸閫夐」
+								code:"name",//鏄笅鎷夐�夐」鏃惰缃�
+								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
+								filter: "",
+								orderby: "name"
+							},
+						],
+						
+						copyAdd: false,
+						formDatas_old: [],
+						
+						isRefresh: true,
+						tabs: [
+							{code: "tab1", name: "浜у搧/鍖哄煙", dataname: "", filterTxt: "", orderby: "",
+								tableFields: [
+									{isshow: "T", field: "product_id", name: "浜у搧鑼冨洿", type: "cascader", options: [], props:{label: "value", value: "code", multiple: true}, colspan: 2, required: true},
+									{isshow: "T", field: "province", name: "閿�鍞渷浠�", type: "cascader", options: [], props:{label: "value", value: "code", multiple: true}, colspan: 2},
+								],
+								formData: {
+									province: [], 
+									product_id: [], 
+								},
+								formAttr: {
+									istitle: false,
+									title: "琛ㄥ崟鍚嶇О",
+									columnnumber: 2,
+									labelwidth: "100px",
+									labelposition: "left",//"left",// right//top
+									size: "mini",
+									border: "10px solid #c6c6c600",
+									disabled: false
+								},
+							},
+							// {code: "tab2", name: "绛剧害鍖婚櫌", dataname: "md_org_account_hospital", filterTxt: "1<>1", orderby: "", 
+							// 	tableFields: [],
+							// 	tableData: [],
+							// 	tablefieldClick: {},
+							// 	tablebuttonClick: {},
+							// },
+							{code: "tab3", name: "绛剧害鍖婚櫌", dataname: "md_target_dealer", filterTxt: "1<>1", orderby: "",
+								tableFields: [],
+								tableData: [],
+								tablefieldClick: {},
+								tablebuttonClick: {},
+							},
+							// {code: "tab4", name: "浠锋牸鏀跨瓥", dataname: "md_prod_price_detail", filterTxt: "1<>1", orderby: "",
+							// 	tableFields: [],
+							// 	tableData: [],
+							// 	tablefieldClick: {},
+							// 	tablebuttonClick: {},
+							// },
+							// {code: "tab6", name: "涔拌禒鏀跨瓥", dataname: "agm_record_gift", filterTxt: "1<>1", orderby: "",
+							// 	tableFields: [],
+							// 	tableData: [],
+							// 	tablefieldClick: {},
+							// 	tablebuttonClick: {},
+							// },
+							// {code: "tab7", name: "鎶樻墸鏀跨瓥", dataname: "agm_record_rate", filterTxt: "1<>1", orderby: "",
+							// 	tableFields: [],
+							// 	tableData: [],
+							// 	tablefieldClick: {},
+							// 	tablebuttonClick: {},
+							// },
+							// {code: "tab5", name: "闄勪欢", dataname: "md_sku", filterTxt: "1<>1", orderby: ""},
+							
+						],
+						activeTabName:"",
+						selectTabObj: {},
+						TabObjMap: {},
+						
+						productobj_map: {},
+						md_bu_product_obj: {}, // 浜у搧鑼冨洿涓嬫媺
+						options_tree_province: [], // 鍖哄煙鐪佷唤涓嬫媺
+						
+						options_category: [],
+						options_categoryobj: {},
+						options_template: [],
+						options_templateobj: {},
+						
+						old_agm_record_product_obj: {},
+						old_agm_record_province_obj: {},
+					},
+					created() {
+						this.popupParames = clone(Root.popupParames);
+						this.title = this.popupParames.title || this.popupParames.text;
+
+						if (this.popupParames.data) {
+							this.formData = clone(this.popupParames.data);
+						}
+						if (this.popupParames.delta || this.popupParames.delta.rows) {
+							this.formDatas_old = clone(this.popupParames.delta.rows);
+							// console.log(this.formDatas_old);
+						}
+						
+						if (this.popupParames.sceneCode) {
+							if (this.popupParames.sceneCode == "add") {//鏂板
+								//鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹�
+								var newEntity_ = {
+									name: "newEntity",
+									url: "root/data/newEntity",
+									paramsobj: {dataname: this.dataname},
+									isnotoption: true, //true:涓嶆槸閫夐」
+								}
+								this.dataRequest.push(newEntity_);
+								this.isedit = true;
+							}
+							else if (this.popupParames.sceneCode == "browse") {//鍙
+								this.formAttr.disabled = true;
+								this.tabs[0].formAttr.disabled = true;
+							}
+							else if (this.popupParames.sceneCode == "copyAdd") {//鍙
+								this.copyAdd = true;
+								this.isedit = true;
+							}
+							else if (this.popupParames.sceneCode == "edit") {//缂栬緫
+								this.isedit = true;
+							}
+							else if (this.popupParames.sceneCode == "change") {//鍙樻洿
+								this.formAttr.disabled = true;
+								this.tabs[0].formAttr.disabled = true;
+							}
+							else if (this.popupParames.sceneCode == "approval") {//瀹℃壒
+								this.formAttr.disabled = true;
+								this.isapproval = true;
+								this.tabs[0].formAttr.disabled = true;
+							}
+							else if (this.popupParames.sceneCode == "refuseedit") {//鎷掔粷鍚庣殑缂栬緫
+								this.isrefuseedit = true;
+							}
+						}
+					},
+					
+					mounted() {
+						this.activeTabName = "tab1";
+						var me = this;
+						me.p_height = document.documentElement.clientHeight*1 - 91;
+
+						//棰勫姞杞芥暟鎹�
+						if (this.dataRequest && this.dataRequest.length) {
+							var result = {};
+							this.loadRequestData(this.dataRequest, result, function(data) {
+								me.dataRequestObj = data;
+								//棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson
+								if (me.dataRequestObj.newEntity) {
+									var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]);
+									// formData.product_category_name = [];
+									if (me.newformData) {
+										let formData_ = clone(formData);
+										
+										for (var k in me.newformData) {
+											if (!formData_[k]) {
+												formData_[k] = me.newformData[k];
+											}
+										}
+
+										me.formData = formData_;
+									}
+								}
+								
+								// 鍗忚绫诲瀷
+								if (data.agm_category) {
+									data.agm_category.map(c=>{
+										me.options_categoryobj[c.id] = c;
+									})
+									
+									let agm_category_ = ArrayToTree(clone(data.agm_category), "name", "parent_id");
+									me.options_category = agm_category_;
+								}
+								
+								// 浜у搧鑼冨洿涓嬫媺
+								if (me.dataRequestObj.md_bu_product) {
+									var md_bu_product_array_ = clone(me.dataRequestObj.md_bu_product);
+									var md_bu_product_obj_ = {};
+									var productobj_map_ = {};
+									
+									md_bu_product_array_.map(p=>{
+										if (!md_bu_product_obj_[p.bu_id]) {
+											md_bu_product_obj_[p.bu_id] = {
+												children: [],
+											}
+										}
+										var p_ = {
+											code: p.product_id,
+											value: p.product_name
+										}
+										productobj_map_[p.product_id] = p.product_name;
+										md_bu_product_obj_[p.bu_id].children.push(p_);
+									})
+									me.md_bu_product_obj = clone(md_bu_product_obj_)
+									me.productobj_map = clone(productobj_map_);
+								}
+								
+								// 鍖哄煙鐪佷唤涓嬫媺
+								if (me.dataRequestObj.md_geo_province) {
+									// var options_tree_province_ = listTOListGroup(me.dataRequestObj.md_geo_province, "area", "value");
+								    me.options_tree_province = clone(me.dataRequestObj.md_geo_province);
+								}
+								
+								// me.initData();
+							});
+						}
+						else {
+							// me.initData();
+						}
+						
+						// 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+					},
+					
+					methods:{
+						//鍏抽棴寮圭獥
+						closeDialog() {
+							var me = this;
+							if (me.popupParames.totab){
+								Root.tab.removeItem(Root.tab.selected);
+								Root.tab.open(me.popupParames.parentOption, false); 
+							}
+							else {
+								Root.hidePopup();
+							}
+						},
+						//鍏抽棴鍓嶈皟鍥炶皟
+						saveAfter() {
+							var me = this;
+							if(this.popupParames.callback) {
+								let obj = {
+									//row: this.formData
+								}
+								this.popupParames.callback(obj, function() {
+									me.closeDialog();
+								});
+							}
+							else {
+								me.closeDialog();
+							}
+						},
+
+						initData() {
+							let me = this;
+							var id_ = null;
+							if (this.formData.id) {
+								id_ = this.formData.id;
+							}
+							// this.selectTabObj = clone(this.TabObjMap[this.activeTabName]);
+							this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
+								if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
+									var metas = clone(result.meta[me.dataname].fields);
+									var formFields_ = [];
+									
+									metas.map(f=>{
+										f.isshow = "T";
+										if (f.field == "category_id") {
+											f.options = clone(me.options_category);
+										}
+										if (f.field == "agreement_no" || f.field == "logistics_code" || f.field == "template_attachment_name" || f.field == "contract_attachment_name") {
+											f.isshow = "F";
+										}
+										
+										formFields_.push(clone(f));
+									})
+									
+									if (!me.formFields || (me.formFields && me.formFields.length == 0)) {
+										me.formFields = clone(formFields_);
+										
+										//瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴��
+										me.fieldsToFieldsObj();
+									}
+									
+									// 鍗忚绫诲瀷鐨勮祴鍊�
+									if (me.formData.category_id) {
+										me.formData.category_id_temp = clone(me.formData.category_id);
+										me.getParents(me.formData.category_id, me.options_categoryobj, [], function(parent_ids){
+											me.formData.category_id = parent_ids;
+											me.$set(me.formData, "category_id", parent_ids);
+										});
+									}
+									// 鍥炴寕闄勪欢鐨勮祴鍊�
+									if (me.rowData["agm_agreement_file"] && me.rowData["agm_agreement_file"].length) {
+										var comeback_attachment_name_ = []
+										me.rowData["agm_agreement_file"].map(f=>{
+											var f_ = {
+												id: f.id,
+												file_name: f.file_name
+											}
+											comeback_attachment_name_.push(f_);
+										})
+										me.$set(me.formData, "comeback_attachment_name", comeback_attachment_name_);
+									}
+									
+									var formFields_ = clone(me.formFields);
+									formFields_.map(f=>{
+										if (f.field == "template_attachment_name") { // 鑷姩鐢熸垚
+											f.isshow = "F";
+											if (me.rowData["agm_agreement"] && me.rowData["agm_agreement"].is_generate) {
+												f.isshow = "T";
+											}
+										}
+										if (f.field == "contract_attachment_name") { // 鎵嬪伐涓婁紶
+											f.isshow = "F";
+											if (!me.rowData["agm_agreement"] || (me.rowData["agm_agreement"] && !me.rowData["agm_agreement"].is_generate)) {
+												f.isshow = "T";
+											}
+										}
+									})
+									me.formFields = clone(formFields_);
+										
+									
+									me.setTabObjMap(result.meta, me.rowData);
+									
+								}
+							})
+						},
+						
+						setTabObjMap(metas, datas) {
+							var me = this;
+							// tabs: [
+							// 	{code: "tab1", name: "浜у搧/鍖哄煙", dataname: "md_sku", filterTxt: "1<>1", orderby: ""},
+							// 	{code: "tab2", name: "鍖婚櫌鎺堟潈", dataname: "agm_authorization", filterTxt: "1<>1", orderby: ""},
+							// 	{code: "tab3", name: "鎸囨爣", dataname: "md_target_dealer", filterTxt: "customer_id=''", orderby: ""},
+							// 	{code: "tab4", name: "浠锋牸", dataname: "md_sku", filterTxt: "1<>1", orderby: ""},
+							// 	// {code: "tab5", name: "闄勪欢", dataname: "md_sku", filterTxt: "1<>1", orderby: ""},
+							// 	{code: "tab6", name: "鏀跨瓥", dataname: "agm_record", filterTxt: "1<>1", orderby: ""},
+							// ],
+							this.tabs.map(tab=>{
+								if (tab.code == "tab1") {
+									tab.tableFields.map(f=>{
+										if (f.field == "product_id") {
+											if (me.formData.bu_id && me.md_bu_product_obj[me.formData.bu_id]) {
+												f.options = clone(me.md_bu_product_obj[me.formData.bu_id].children);
+											}
+											else {
+												f.options = [];
+											}
+										}
+										else if (f.field == "province") {
+											f.options = clone(me.options_tree_province);
+										}
+									})
+									// agm_record_province
+									// agm_record_product
+									
+									if (datas["agm_record_product"]) {
+										var product_id_ = []
+										me.old_agm_record_product_obj = {};
+										datas["agm_record_product"].map(p=>{
+											me.old_agm_record_product_obj[p.product_id] = p;
+											var select_p_ = [p.product_id];
+											product_id_.push(select_p_);
+										})
+										tab.formData.product_id = product_id_
+									}
+									if (datas["agm_record_province"]) {
+										var province_id_ = []
+										me.old_agm_record_province_obj = {};
+										datas["agm_record_province"].map(p=>{
+											me.old_agm_record_province_obj[p.province] = p;
+											var select_p_ = [p.province];
+											province_id_.push(select_p_);
+										})
+										tab.formData.province = province_id_;
+									}
+								}
+								else if (tab.code == "tab2" || tab.code == "tab3" || tab.code == "tab4" || tab.code == "tab6" || tab.code == "tab7") {
+									var metas_ = metas[tab.dataname].fields;
+									var tableFields_ = [];
+									metas_.map(f=>{
+										f.isshow = "T";
+										if (tab.code == "tab2") {
+											if (f.field == "md_hospital__code" || f.field == "md_hospital__name" || f.field == "hospital_code" || f.field == "hospital_name") {
+												f.isshow = "T";
+											}
+											else {
+												f.isshow = "F";
+											}
+										}
+										
+										if (f.field == "agreement_no" || f.field == "company_name" || f.field == "bu_name" || f.field == "state_name" 
+										|| f.field == "md_org__code" || f.field == "md_org__name" || f.field == "customer_code"|| f.field == "customer_name" 
+										|| f.field == "creator_name" || f.field == "create_time" || f.field == "update_time" 
+										|| f.field == "source" || f.field == "account_name" || f.field == "record_name" || f.field == "record_no") {
+											f.isshow = "F";
+										}
+										if (me.isedit && (f.field == "date_from" || f.field == "date_to")) {
+											f.inputtype = "date";
+											f.required = false;
+											f.width = "150";
+											
+										}
+										else {
+											f.inputtype = "span";
+										}
+										if (f.field == "category_id") {
+											f.options = clone(me.options_category);
+										}
+										
+										if (tab.code == "tab4" && f.field == "bu_name") {
+											f.isshow = "T";
+										}
+										
+										tableFields_.push(clone(f));
+									})
+									tab.tableFields = clone(tableFields_);
+									tab.tableData = clone(datas[tab.dataname]);
+								}
+								
+								this.TabObjMap[tab.code] = clone(tab);
+							})
+							// 璁剧疆瀛楁浜嬩欢
+							this.tableFieldClick();
+							// 琛ㄦ牸鎸夐敭浜嬩欢
+							this.tableButtonClick();
+							
+							this.selectTabObj = clone(this.TabObjMap[this.activeTabName]);
+						},
+						
+						//鎷垮埌鎵�鏈夌殑鐖惰妭鐐筰d
+						getParents(id, treemap, list, callback) {
+							list.unshift(id);
+							if (treemap[id].parent_id) {
+								this.getParents(treemap[id].parent_id, treemap, list, callback)
+							}
+							else {
+								callback(list);
+							}
+						},
+						
+						tableButtonClick() {
+							var me = this;
+							var tablebuttonClick = {};
+							// 鎺堟潈鍖婚櫌
+							tablebuttonClick.tab2 = [
+								// {
+								// 	name: "鏂板", type: "primary", icon: "el-icon-plus",
+								// 	isbuttonshow: this.isedit,
+								// 	code: "add", isselected: false, classname: "",
+								// 	onclick: function(obj) {
+								// 		// obj.selectedList
+								// 		if (!me.formData.company_name) {
+								// 			Root.message({
+								// 				type: 'warning',
+								// 				message: '璇峰厛閫夋嫨鍏徃'
+								// 			});
+								// 			return
+								// 		}
+								// 		if (!me.formData.bu) {
+								// 			Root.message({
+								// 				type: 'warning',
+								// 				message: '璇峰厛閫夋嫨BU'
+								// 			});
+								// 			return
+								// 		}
+										
+								// 		me.openAccountHospital('addhospital', obj.selectedList[0]);
+								// 	}
+								// },
+								{
+									isbuttonshow: this.isedit,
+									code: "add", isselected: false, classname: "",
+									onclick: function(obj) {
+										if (!me.formData.company_name) {
+											Root.message({
+												type: 'warning',
+												message: '璇峰厛閫夋嫨鍏徃'
+											});
+											return
+										}
+										if (!me.formData.bu_name) {
+											Root.message({
+												type: 'warning',
+												message: '璇峰厛閫夋嫨BU'
+											});
+											return
+										}
+										//鎵撳紑鍖婚櫌搴撳脊绐�
+										me.openHospital("add", obj, function(popupobj){
+											let row_ = clone(me.formData);
+											var list_h = clone(popupobj.list)
+											
+											var tableData_ = clone(me.TabObjMap["tab2"].tableData);
+											list_h.map(h=>{
+												var h_ = {
+													hospital_id: clone(h.hospital_id),
+													id: "",
+													agreement_id: me.formData.id,
+													// agreement_no: me.formData.agreement_no, // 淇濆瓨涓婄殑閮芥槸鍒濆缂栫爜0000锛�
+													account_id: me.formData.account_id,
+													
+													company_id: me.formData.company_id,
+													company_name: me.formData.company_name,
+													bu_id: me.formData.bu_id,
+													bu_name: me.formData.bu_name,
+													org_id: me.formData.customer_id,
+													md_org__name: me.formData.customer_name,
+													md_hospital__code: h.md_hospital__code,
+													md_hospital__name: h.md_hospital__name,
+													
+													hospital_code: h.md_hospital__code,
+													hospital_name: h.md_hospital__name,
+												}
+												
+												tableData_.unshift(clone(h_));
+											})
+											
+											me.TabObjMap["tab2"].tableData = clone(tableData_);
+											if (me.selectTabObj.code == "tab2") {
+												me.selectTabObj = clone(me.TabObjMap["tab2"]);
+											}
+											
+										});
+									}
+								},
+								
+								// {
+								// 	// name: "缂栬緫", // type: "primary", // icon: "el-icon-edit",
+								// 	isbuttonshow: this.isedit,
+								// 	code: "edit", isselected: true, classname: "",
+								// 	onclick: function(obj) {
+								// 		// obj.selectedList
+								// 		me.openAccountHospital('edithospital', obj.selectedList[0]);
+								// 	}
+								// },
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									onclick: function(obj) {
+										var row = obj.selectedList[0];
+										var txt = clone(row.md_hospital__name);
+										
+										me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function() {
+											me.TabObjMap["tab2"].tableData.splice(obj.selectRowIndex, 1); 
+											me.selectTabObj = clone(me.TabObjMap["tab2"]);
+											// me.getAccountHospitalByAgreementId();
+										})
+									}
+								},
+							]
+							// 鎸囨爣
+							tablebuttonClick.tab3 = [
+								{
+									// name: "鏂板", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit || me.popupParames.sceneCode == "change",
+									code: "add", isselected: false, classname: "",
+									onclick: function(obj) {
+										var options_product_ = [];
+										me.TabObjMap["tab1"].tableFields.map(f=>{
+											if (f.field == "product_id") {
+												options_product_ = clone(f.options);
+											}
+										})
+										// 鑾峰彇鎺堟潈浜у搧
+										if (options_product_.length == 0) {
+											Root.message({
+												type: 'warning',
+												message: '娌℃湁鎺堟潈浜у搧'
+											});
+											return;
+										}
+										else {
+											me.openTargetDealer('addTarget', obj.selectedList[0], options_product_);
+										}
+									}
+								},
+								{
+									// name: "缂栬緫", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,
+									code: "edit", isselected: true, classname: "",
+									onclick: function(obj) {
+										// obj.selectedList
+										var options_product_ = [];
+										me.TabObjMap["tab1"].tableFields.map(f=>{
+											if (f.field == "product_id") {
+												options_product_ = clone(f.options);
+											}
+										})
+										// 鑾峰彇鎺堟潈浜у搧
+										if (options_product_.length == 0) {
+											Root.message({
+												type: 'warning',
+												message: '娌℃湁鎺堟潈浜у搧'
+											});
+											return;
+										}
+										else {
+											me.openTargetDealer('editTarget', obj.selectedList[0], options_product_, obj.selectRowIndex);
+										}
+									}
+								},
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									onclick: function(obj) {
+										var row = obj.selectedList[0];
+										var txt = clone(row.product_name);
+										me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function() {
+											me.TabObjMap["tab3"].tableData.splice(obj.selectRowIndex, 1); 
+											// me.TabObjMap["tab3"].tableData.removeobj(row);
+											me.selectTabObj = clone(me.TabObjMap["tab3"]);
+										})
+									}
+								},
+							]
+							// 浠锋牸鏀跨瓥
+							tablebuttonClick.tab4 = [
+								{
+									// name: "鏂板", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,
+									code: "add", isselected: false, classname: "",
+									onclick: function(obj) {
+										var options_product_ = [];
+										
+										// 鑾峰彇鎺堟潈浜у搧
+										if (me.TabObjMap["tab1"].formData.product_id.length == 0) {
+											Root.message({
+												type: 'warning',
+												message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�'
+											});
+											return;
+										}
+										else {
+											me.openPolicyList("add", "price", function(popupobj){
+												// 鍒涘缓涓�涓柊鐨勪拱璧犲妗� root/data/newEntity
+												me.toSaveRecord("price", popupobj, function(newrow){
+													var tableData_ = clone(me.TabObjMap["tab4"].tableData);
+													var formData_ = clone(me.formData);
+													if (newrow) {
+														newrow.type_code = 'Customer'
+														if (formData_.date_from) {
+															newrow.date_from = formData_.date_from
+														}
+														if (formData_.date_to) {
+															newrow.date_to = formData_.date_to
+														}
+														
+														tableData_.unshift(clone(newrow));
+													}
+													
+													me.TabObjMap["tab4"].tableData = clone(tableData_);
+													if (me.selectTabObj.code == "tab4") {
+														me.selectTabObj = clone(me.TabObjMap["tab4"]);
+													}
+												});
+											});
+										}
+									}
+								},
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									onclick: function(obj) {
+										var row = obj.selectedList[0];
+										var txt = clone(row.product_name);
+										me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){
+											// me.getPolicyListByAgreementId("price");
+											me.TabObjMap["tab4"].tableData.splice(obj.selectRowIndex, 1);
+											me.selectTabObj = clone(me.TabObjMap["tab4"]);
+										})
+									}
+								},
+								
+								
+								// {
+								// 	// name: "鏂板", // type: "primary", // icon: "el-icon-edit",
+								// 	isbuttonshow: this.isedit,
+								// 	code: "add", isselected: false, classname: "",
+								// 	onclick: function(obj) {
+								// 		var options_product_ = [];
+										
+								// 		// 鑾峰彇鎺堟潈浜у搧
+								// 		if (me.TabObjMap["tab1"].formData.product_id.length == 0) {
+								// 			Root.message({
+								// 				type: 'warning',
+								// 				message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�'
+								// 			});
+								// 			return;
+								// 		}
+								// 		else {
+								// 			var product_ids_ = clone(me.TabObjMap["tab1"].formData.product_id);
+								// 			var product_line_obj_ = {};
+								// 			product_ids_.map(pis=>{
+								// 				if (!product_line_obj_[pis[0]]) {
+								// 					product_line_obj_[pis[0]] = {
+								// 						code: pis[0],
+								// 						value: me.productobj_map[pis[0]],
+								// 						children: [],
+								// 					}
+								// 				}
+								// 				var p_ = {
+								// 					code: pis[1],
+								// 					value: me.productobj_map[pis[1]]
+								// 				}
+												
+								// 				product_line_obj_[pis[0]].children.push(p_);
+								// 			})
+											
+								// 			for (var line_ in product_line_obj_) {
+								// 				options_product_.push(product_line_obj_[line_]);
+								// 			}
+								// 			me.openPriceDetail('addbyagreement', obj.selectedList[0], options_product_);
+								// 		}
+								// 	}
+								// },
+								// {
+								// 	// name: "缂栬緫", // type: "primary", // icon: "el-icon-edit",
+								// 	isbuttonshow: this.isedit,
+								// 	code: "edit", isselected: true, classname: "",
+								// 	onclick: function(obj) {
+								// 		// obj.selectedList
+								// 		var options_product_ = [];
+										
+								// 		// 鑾峰彇鎺堟潈浜у搧
+								// 		if (me.TabObjMap["tab1"].formData.product_id.length == 0) {
+								// 			Root.message({
+								// 				type: 'warning',
+								// 				message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�'
+								// 			});
+								// 			return;
+								// 		}
+								// 		else {
+								// 			me.openPriceDetail('editbyagreement', obj.selectedList[0], options_product_);
+								// 		}
+								// 	}
+								// },
+								// {
+								// 	// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+								// 	isbuttonshow: this.isedit,	type: "danger",
+								// 	code: "delete", isselected: true, classname: "",
+								// 	onclick: function(obj) {
+								// 		var row = obj.selectedList[0];
+								// 		var txt = clone(row.product_name);
+								// 		me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){
+								// 			me.getProdPriceByAgreementId();
+								// 		})
+								// 	}
+								// },
+							]
+							// 涔拌禒鏀跨瓥
+							tablebuttonClick.tab6 = [
+								{
+									// name: "鏂板", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,
+									code: "add", isselected: false, classname: "",
+									onclick: function(obj) {
+										var options_product_ = [];
+										
+										// 鑾峰彇鎺堟潈浜у搧
+										if (me.TabObjMap["tab1"].formData.product_id.length == 0) {
+											Root.message({
+												type: 'warning',
+												message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�'
+											});
+											return;
+										}
+										else {
+											me.openPolicyList("add", "gift", function(popupobj){
+												// 鍒涘缓涓�涓柊鐨勪拱璧犲妗� root/data/newEntity
+												me.toSaveRecord("gift", popupobj, function(newrow){
+													var tableData_ = clone(me.TabObjMap["tab6"].tableData);
+													var formData_ = clone(me.formData);
+													if (newrow) {
+														if (formData_.date_from) {
+															newrow.date_from = formData_.date_from
+														}
+														if (formData_.date_to) {
+															newrow.date_to = formData_.date_to
+														}
+														
+														tableData_.unshift(clone(newrow));
+													}
+													
+													me.TabObjMap["tab6"].tableData = clone(tableData_);
+													if (me.selectTabObj.code == "tab6") {
+														me.selectTabObj = clone(me.TabObjMap["tab6"]);
+													}
+												});
+											});
+										}
+									}
+								},
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									onclick: function(obj) {
+										var row = obj.selectedList[0];
+										var txt = clone(row.policy_no) + clone(row.policy_name) + clone(row.product_name);
+										me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){
+											// me.getPolicyListByAgreementId("gift");
+											me.TabObjMap["tab6"].tableData.splice(obj.selectRowIndex, 1);
+											me.selectTabObj = clone(me.TabObjMap["tab6"]);
+										})
+									}
+								},
+							]
+							
+							// 鎶樻墸鏀跨瓥
+							tablebuttonClick.tab7 = [
+								{
+									// name: "鏂板", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,
+									code: "add", isselected: false, classname: "",
+									onclick: function(obj) {
+										var options_product_ = [];
+										
+										// 鑾峰彇鎺堟潈浜у搧
+										if (me.TabObjMap["tab1"].formData.product_id.length == 0) {
+											Root.message({
+												type: 'warning',
+												message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�'
+											});
+											return;
+										}
+										else {
+											me.openPolicyList("add", "rate", function(popupobj){
+												me.toSaveRecord("rate", popupobj, function(newrow){
+													var tableData_ = clone(me.TabObjMap["tab7"].tableData);
+													var formData_ = clone(me.formData);
+													if (newrow) {
+														if (formData_.date_from) {
+															newrow.date_from = formData_.date_from
+														}
+														if (formData_.date_to) {
+															newrow.date_to = formData_.date_to
+														}
+														tableData_.unshift(clone(newrow));
+													}
+													
+													me.TabObjMap["tab7"].tableData = clone(tableData_);
+													if (me.selectTabObj.code == "tab7") {
+														me.selectTabObj = clone(me.TabObjMap["tab7"]);
+													}
+												});
+											});
+										}
+									}
+								},
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: this.isedit,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									onclick: function(obj) {
+										var row = obj.selectedList[0];
+										var txt = clone(row.policy_no) + clone(row.policy_name) + clone(row.discount_name);
+										me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){
+											// me.getPolicyListByAgreementId("rate");
+											me.TabObjMap["tab7"].tableData.splice(obj.selectRowIndex, 1);
+											me.selectTabObj = clone(me.TabObjMap["tab7"]);
+										})
+									}
+								},
+							]
+							
+							for (var tabcode in this.TabObjMap) {
+								if (tablebuttonClick[tabcode]) {
+									this.TabObjMap[tabcode].tablebuttonClick = tablebuttonClick[tabcode];
+								}
+								else {
+									this.TabObjMap[tabcode].tablebuttonClick = [];
+								}
+							}
+						},
+						
+						toSaveRecord(typecode, policyobj, callback) {
+							var me = this;
+							var newdataname = "agm_record"
+							if (typecode == "price") {
+								newdataname = "md_prod_price_detail"
+							}
+							var newEntityParam = {
+								dataname: newdataname
+							}
+							Server.call("root/data/newEntity", newEntityParam, function(result) {
+								var newdata = clone(result.data[newdataname]);
+								
+								let formData_ = clone(me.formData);
+								let row_ = clone(policyobj.row);
+								for (var k in newdata) {
+									if (k != "id" && row_[k]) {
+										if (k == "policy_name") {
+											newdata["discount_name"] = row_[k];
+										}
+										
+										newdata[k] = row_[k];
+									}
+								}
+								
+								// newdata.policy_id = clone(row_.id);
+								newdata.record_id = clone(row_.id);
+								newdata.record_name = clone(row_.policy_name);
+								
+								newdata.agreement_id = formData_.id;
+								newdata.agreement_no = formData_.agreement_no;
+								newdata.company_name = formData_.company_name;
+								newdata.bu_name = formData_.bu_name;
+								
+								newdata.account_id = formData_.account_id;
+								newdata.org_id = formData_.customer_id;
+								// newdata.account_code = formData_.customer_code;
+								newdata.account_code = formData_.customer_code;
+								newdata.account_name = formData_.customer_name;
+								  
+								newdata.state_code = "Input"
+								newdata.state_name = "褰曞叆"
+								newdata.date_from = ""
+								newdata.date_to = ""
+								newdata.source = "鍗忚鍒嗚В"
+								
+								newdata.company_id = me.formData.company_id
+								newdata.bu_id = me.formData.bu_id
+								callback(newdata);
+								// 淇濆瓨鍒板妗�
+								// let param = {
+								// 	dataname: me.selectTabObj.dataname,
+								// 	data: {}
+								// }
+								// param.data[me.selectTabObj.dataname] = newdata
+								// Server.call("root/data/saveEntity", param, function(result) {
+								// 	me.getPolicyListByAgreementId(typecode);
+								// });
+							});
+						},
+						
+						openHospital(sceneCode, obj, callback) {
+							var me = this;
+							var data_ = {};
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "800px",
+								height: "520px",
+								icon: "icon-product",
+								text: "鍖婚櫌閫夋嫨",
+								id: "popup_hospitalToList",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/popup/page/popup_hospitalToList.html",
+								data: data_,
+								delta: {},
+								// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
+								filter: "",
+								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(popupobj, popupcallback) {
+									callback(popupobj);
+									if (popupcallback) {
+										popupcallback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						
+						openAccountHospital(sceneCode, seletrow) {
+							let me = this;
+							var row = {}
+							if (sceneCode == "addhospital") {
+								row = {
+									agreement_id: me.formData.id,
+									agreement_no: me.formData.agreement_no,
+									account_id: me.formData.account_id,
+									
+									company_id: me.formData.company_id,
+									company_name: me.formData.company_name,
+									bu_id: me.formData.bu_id,
+									bu_name: me.formData.bu_name,
+									org_id: me.formData.customer_id,
+									md_org__name: me.formData.customer_name,
+								}
+							}
+							else if (sceneCode == "edithospital" || sceneCode == "browse") {
+								row = seletrow;
+								if(!row.id){
+									Root.message({
+										type: 'warning',
+										message: '璇烽�夋嫨涓�鏉℃暟鎹�'
+									});
+									return;
+								}
+							}
+							
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "1100px",
+								height: "520px",
+								icon: "icon-product",
+								text: "鎺堟潈鍖婚櫌 " + (row.md_hospital__name ? row.md_hospital__name : ""),
+								id: "customer_basic_acct_yysq" + row.id + sceneCode,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/customer/page/customer_basic_acct_yysq.html",
+								data: row,
+								delta: {},
+								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(obj, callback) {
+									me.getAccountHospitalByAgreementId();
+									if (callback) {
+										callback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						
+						openTargetDealer(sceneCode, obj, options_product_, selectRowIndex) {
+							let me = this;
+							var row = {};
+							// 骞翠唤+鍏徃+BU+缁忛攢鍟�
+							var text_ = "";
+							if(this.formData.company_name && this.formData.bu_name && this.formData.customer_name) {
+								text_ = this.formData.company_name + "銆�" + this.formData.bu_name + "銆�" + this.formData.customer_name;
+							}
+							else {
+								Root.message({
+									type: 'warning',
+									message: '璇峰厛閫夋嫨缁忛攢鍟�'
+								});
+								return;
+							}
+							if (sceneCode == "editTarget" || sceneCode == "browse") {
+								row = clone(obj);
+								if(!row.id){
+									Root.message({
+										type: 'warning',
+										message: '璇烽�夋嫨涓�鏉℃暟鎹�'
+									});
+									return;
+								}
+							}
+							
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "1100px",
+								height: "520px",
+								icon: "icon-product",
+								text: "鍟嗕笟鎸囨爣-" + text_,
+								id: "popup_target_dealer_edit",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/popup/page/popup_target_dealer_edit.html",
+								data: row,
+								delta: {
+									agreementdata: this.formData,
+									options_product: options_product_,
+									productobj_map: clone(me.productobj_map)
+								},
+								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(popupobj, callback) {
+									var tableData_ = clone(me.TabObjMap["tab3"].tableData);
+									if (sceneCode == "addTarget" && popupobj.row) {
+										tableData_.unshift(clone(popupobj.row));
+									}
+									else if (sceneCode == "editTarget" && popupobj.row) {
+										tableData_[selectRowIndex] = clone(popupobj.row);
+									}
+									
+									me.TabObjMap["tab3"].tableData = clone(tableData_);
+									if (me.selectTabObj.code == "tab3") {
+										me.selectTabObj = clone(me.TabObjMap["tab3"]);
+									}
+									
+									// me.getTargetDealerByAgreementId();
+									if (callback) {
+										callback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						
+						// openPriceDetail(sceneCode, obj, options_product_) {
+						// 	let me = this;
+						// 	var row = {};
+						// 	var text = "";
+							
+						// 	if (!me.formData.customer_id) {
+						// 		Root.message({
+						// 			type: 'warning',
+						// 			message: '璇烽�夋嫨缁忛攢鍟�'
+						// 		});
+						// 		return;
+						// 	}
+							
+						// 	// type_code: "", // Standard鏍囧噯浠风洰琛ㄣ�丆ustomer缁忛攢鍟嗕环鐩〃
+						// 	if (sceneCode == "addbyagreement") {
+						// 		row = {
+						// 			source: "鍗忚鍒嗚В",
+						// 			agreement_id: me.formData.id,
+						// 			agreement_no: me.formData.agreement_no,
+						// 			company_id: me.formData.company_id,
+						// 			company_name: me.formData.company_name,
+						// 			bu_id: me.formData.bu_id,
+						// 			bu_name: me.formData.bu_name,
+									
+						// 			account_id: me.formData.account_id,
+						// 			customer_id: me.formData.customer_id,
+						// 			customer_code: me.formData.customer_code,
+						// 			customer_name: me.formData.customer_name,
+						// 		};
+						// 	}
+						// 	else if (sceneCode == "editbyagreement" || sceneCode == "browse") {
+						// 		row = obj;
+						// 		if(!row){
+						// 			Root.message({
+						// 				type: 'warning',
+						// 				message: '璇烽�夋嫨涓�鏉℃暟鎹�'
+						// 			});
+						// 			return;
+						// 		}
+								
+						// 		if (row.customer_name) {
+						// 			text = row.customer_name;
+						// 		}
+						// 		if (row.product_name) {
+						// 			text += "銆�" + row.product_name + "銆�";
+						// 		}
+						// 		if (row.spec) {
+						// 			text += row.spec;
+						// 		}
+								
+						// 		if (text) {
+						// 			text = "-" + text;
+						// 		}
+						// 	}
+							
+						// 	var config = {
+						// 		totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+						// 		width: "1100px",
+						// 		height: "520px",
+						// 		icon: "icon-product",
+						// 		text: "鍗忚浠锋牸" + text,
+						// 		id: "price_list_basic_edit" + row.id + sceneCode,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+						// 		url: "module/md/page/product/page/price_list_basic_edit.html",
+						// 		data: row,
+						// 		delta: {
+						// 			agreementdata: this.formData,
+						// 			options_product: options_product_,
+						// 			productobj_map: clone(me.productobj_map)
+						// 		},
+						// 		sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+						// 		callback: function(obj, callback) {
+						// 			me.getProdPriceByAgreementId();
+						// 			if (callback) {
+						// 				callback();
+						// 			}
+						// 		}
+						// 	};
+						// 	me.doPopupByPublic(config);
+						// },
+						
+						openPolicyList(sceneCode, typecode, callback) {
+							var me = this;
+							var data_ = {};
+							var text_ = me.selectTabObj.name
+							var dataname = "agm_policy_gift";
+							if (typecode == "rate") {
+								dataname = "agm_policy_rate"
+							}
+							else if (typecode == "price") {
+								dataname = "agm_policy_price"
+							}
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "1100px",
+								height: "520px",
+								icon: "icon-product",
+								text: text_ + "閫夋嫨",
+								id: "popup_policy",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/popup/page/popup_policy.html",
+								dataname: dataname,
+								data: data_,
+								delta: {},
+								// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
+								filter: "agm_policy.state_code='Open' and agm_policy.type_code='" + typecode + "'",
+								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(popupobj, popupcallback) {
+									callback(popupobj)
+									
+									if (popupcallback) {
+										popupcallback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						
+						tableFieldClick() {
+							var me = this;
+							//琛ㄥ崟瀛楁浜嬩欢璁剧疆
+							this.formfieldClick = {
+								is_generate: {
+									val: {
+										onchange: function(obj) {
+											var formFields_ = clone(me.formFields);
+											formFields_.map(f=>{
+												if (f.field == "template_attachment_name") { // 鑷姩鐢熸垚
+													f.isshow = "F";
+													if (me.formData["is_generate"]) {
+														f.isshow = "T";
+													}
+												}
+												if (f.field == "contract_attachment_name") { // 鎵嬪伐涓婁紶
+													f.isshow = "F";
+													if (!me.formData["is_generate"]) {
+														f.isshow = "T";
+													}
+												}
+											})
+											me.formFields = clone(formFields_);
+										}
+									}
+								},
+								
+								contract_attachment_name: {
+									buttonarray: {
+										onclick: function(obj) {
+											var filenamefield = obj.obj.field;
+											var fileidfield = "contract_attachment_id";
+											// 鍗曢檮浠�
+											if(obj.buttonobj && obj.buttonobj.code == "showfile"){
+												me.showFileImgByFileId(filenamefield, fileidfield, me.dataname);
+											}else if (obj.buttonobj && obj.buttonobj.code == "upload"){
+												me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname);
+											}else if (obj.buttonobj && obj.buttonobj.code == "delfile"){
+												me.deleteByFileId(filenamefield, fileidfield, obj);
+											}
+											
+											// 澶氶檮浠�
+											// if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
+											// 	me.showFileImgByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
+											// }else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
+											// 	me.onPopupByUploadFile_n(filenamefield, fileidfield, "agm_agreement", obj.formdata);
+											// }else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
+											// 	me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
+											// }
+										},
+									}
+								},
+								category_id:{
+									val: {
+										onchange: function(obj) {
+											let row_ = clone(me.formData);
+											if (Array.isArray(row_.category_id)) {
+												row_.category_id_temp = row_.category_id[row_.category_id.length - 1];
+												var selectoption = me.options_categoryobj[row_.category_id_temp];
+												row_.category_name = selectoption.name;
+												// 鑾峰彇鍗忚绫诲瀷瀵瑰簲鐨勬ā鏉�
+												me.getTemplateByCategoryId(selectoption.id);
+											}
+											
+											me.formData = clone(row_);
+										}
+									}
+								},
+								// template_id:{
+								// 	val: {
+								// 		onchange: function(obj) {
+								// 			let row_ = clone(me.formData);
+								// 			if (Array.isArray(row_.template_id)) {
+								// 				row_.template_id_temp = row_.template_id[row_.template_id.length - 1];
+								// 				var selectoption = me.options_templateobj[row_.template_id_temp];
+												
+								// 				row_.template_name = selectoption.name;
+								// 				row_.template_attachment_id = selectoption.template_attachment_id;
+								// 				row_.template_attachment_name = selectoption.template_attachment;
+								// 			}
+								// 			me.formData = clone(row_);
+								// 		}
+								// 	}
+								// },
+								customer_name: {
+									popup: {
+										onclick: function(obj) {//寮圭獥鐐瑰嚮浜嬩欢
+											//鎵撳紑寮�鎴峰簱寮圭獥
+											me.openAccount("add", obj, function(popupobj){
+												let row_ = clone(me.formData);
+												row_.customer_id = popupobj.row.org_id;
+												row_.company_id = popupobj.row.company_id;
+												row_.company_name = popupobj.row.company_name;
+												row_.bu_id = popupobj.row.bu_id;
+												row_.bu_name = popupobj.row.bu_name;
+												row_.customer_code = popupobj.row.code;
+												row_.customer_name = popupobj.row.account_name;
+												row_.account_id = popupobj.row.id;
+												row_.account_actor_name = popupobj.row.actor_name;
+												me.formData = clone(row_);
+												
+												me.getAccountPByAccountId(popupobj.row.id);
+												me.getAccountHospitalByAgreementId();
+												
+											});
+										}
+									},
+								},
+								
+								comeback_attachment_name: {
+									buttonarray: {
+										onclick: function(obj) {
+											var filenamefield = obj.obj.field;
+											// var fileidfield = "comeback_attachment_name";
+											var fileidfield = "comeback_attachment_id";
+											// 鍗曢檮浠�
+											if(obj.buttonobj && obj.buttonobj.code == "showfile"){
+												me.showFileImgByFileId(filenamefield, fileidfield, me.dataname);
+											}else if (obj.buttonobj && obj.buttonobj.code == "upload"){
+												me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname);
+											}else if (obj.buttonobj && obj.buttonobj.code == "delfile"){
+												me.deleteByFileId(filenamefield, fileidfield, obj);
+											}
+											
+										// 	澶氶檮浠�
+										// 	if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
+										// 		me.showFileImgByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
+										// 	}else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
+										// 		me.onPopupByUploadFile_n(filenamefield, fileidfield, "agm_agreement", obj.formdata);
+										// 	}else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
+										// 		me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
+										// 	}
+										},
+										
+									}
+								},
+								
+								
+								template_attachment_name: {//瀛楁浜嬩欢璁剧疆
+									buttonarray: {
+										onclick: function(obj) {
+											var filenamefield = obj.obj.field;
+											// var fileidfield = "template_attachment_id";
+											var fileidfield = "template_attachment_name";
+											if(obj.buttonobj && obj.buttonobj.code == "showfile"){
+												me.showFileImgByFileId(filenamefield, fileidfield, "agm_template");
+											}
+										}
+									},
+								},
+
+								date_from: {//璧峰鏃ユ湡
+									val: {
+										onchange: function(obj) {
+                                            //寮�濮嬫棩鏈熻鏃╀簬鎴鏃ユ湡
+											if (obj.data.date_from && obj.data.date_to) {
+												if (new Date(obj.data.date_from) > new Date(obj.data.date_to)) {
+													Root.message({
+														type: 'warning',
+														message: '璧峰鏃ユ湡涓嶈兘鏅氫簬缁堟鏃ユ湡'
+													});  
+													obj.data.date_from = null;
+												}
+											}
+										}
+									}
+								},
+
+                                date_to: {//缁堟鏃ユ湡
+									val: {
+										onchange: function(obj) {
+                                            //鎴鏃ユ湡瑕佹櫄浜庡紑濮嬫棩鏈�
+											if (obj.data.date_from && obj.data.date_to) {
+												if (new Date(obj.data.date_from) > new Date(obj.data.date_to)) {
+													Root.message({
+														type: 'warning',
+														message: '缁堟鏃ユ湡涓嶈兘鏃╀簬璧峰鏃ユ湡'
+													});  
+													obj.data.date_to = null;
+												}
+											}
+										}
+									}
+								},
+							};
+							
+							var formfieldClick_tab5 = {
+								field_fj: { //瀛楁浜嬩欢璁剧疆
+									buttonarray: {
+										onclick: function(obj) {
+											if(obj.buttonobj && obj.buttonobj.fileobj){
+												me.showFileImgByFileId(obj.buttonobj.fileobj.file_name, obj.buttonobj.fileobj.id);
+											}
+										}
+									},
+								},
+							};
+							
+							this.TabObjMap["tab1"].formfieldClick = {
+								product_id: {
+									val: {
+										onchange:function(){
+											me.TabObjMap["tab1"].formData = me.selectTabObj.formData
+										}
+									}
+								},
+								province: {
+									val: {
+										onchange:function(){
+											me.TabObjMap["tab1"].formData = me.selectTabObj.formData
+										}
+									}
+								}
+							};
+							
+							// this.TabObjMap["tab5"].formfieldClick = formfieldClick_tab5;
+						},
+						
+						deleteDataById(id, dataname, confirm_txt, callback){
+							var me = this;
+							var formData_ = clone(me.formData);
+							Root.confirm('纭畾鍒犻櫎璇�' + me.selectTabObj.name + confirm_txt + '鍚楋紵', '鍒犻櫎鎻愮ず', {
+							  confirmButtonText: '鍒犻櫎',
+							  cancelButtonText: '鍙栨秷',
+							  type: 'warning'
+							}).then(() => {
+								if (id) {
+									let param = {
+										dataname: dataname,
+										id: id
+									}
+									Server.call("root/data/deleteEntity", param, function(result) {
+										console.log(result);
+										if (result && result.data) {
+											callback();
+										}
+									});
+								}
+								else {
+									callback();
+								}
+								
+							}).catch(() => {
+								Root.message({
+									type: 'info',
+									message: '宸插彇娑堝垹闄�'
+								});          
+							});
+							
+						},
+						
+						
+						// 鑾峰彇鎺堟潈鐪佷唤鍜屾巿鏉冧骇鍝侊紝鏍规嵁寮�鎴穒d
+						getAccountPByAccountId(account_id) {
+							var me = this;
+							me.TabObjMap["tab1"].tableFields.map(f=>{
+								if (f.field == "product_id") {
+									if (me.formData.bu_id && me.md_bu_product_obj[me.formData.bu_id]) {
+										f.options = clone(me.md_bu_product_obj[me.formData.bu_id].children);
+									}
+									else {
+										f.options = [];
+									}
+									// f.options = clone(md_bu_product_line_array_);
+								}
+								else if (f.field == "province") {
+									f.options = clone(me.options_tree_province);
+								}
+							})
+							
+							if (me.selectTabObj.code == "tab1") {
+								me.selectTabObj = clone(me.TabObjMap["tab1"]);
+							}
+							
+							// var me = this;
+							// let param_table = {
+							// 	isClientMode: false,
+							// 	dataname: "md_org_account",
+							// 	id: account_id,
+								
+							// }
+							// Server.call("root/data/getEntity", param_table, function(result) {
+							// 	var a = "";
+							// 	if (result.data) {
+							// 		var rowData_ = clone(result.data);
+							// 		// var md_bu_product_line_array_ = [];
+							// 		// var options_tree_province = [];
+							// 		// if (rowData_["md_org_account_product"]) {
+							// 		// 	var md_bu_product_array_ = clone(rowData_["md_org_account_product"]);
+							// 		// 	var md_bu_product_line_obj_ = {};
+							// 		// 	var md_bu_product_obj_ = {};
+							// 		// 	var productobj_map_ = {};
+										
+							// 		// 	md_bu_product_array_.map(p=>{
+							// 		// 		if (!md_bu_product_line_obj_[p.product_line_id]) {
+							// 		// 			productobj_map_[p.product_line_id] = p.product_line_name;
+							// 		// 			md_bu_product_line_obj_[p.product_line_id] = {
+							// 		// 				code: p.product_line_id,
+							// 		// 				value: p.product_line_name,
+							// 		// 				bu_id: p.bu_id,
+							// 		// 				children: [],
+							// 		// 			}
+							// 		// 		}
+							// 		// 		var p_ = {
+							// 		// 			code: p.product_id,
+							// 		// 			value: p.product_name
+							// 		// 		}
+							// 		// 		productobj_map_[p.product_id] = p.product_name;
+							// 		// 		md_bu_product_line_obj_[p.product_line_id].children.push(p_);
+							// 		// 	})
+										
+							// 		// 	me.productobj_map = clone(productobj_map_);
+										
+							// 		// 	for (var line in md_bu_product_line_obj_) {
+							// 		// 		md_bu_product_line_array_.push(md_bu_product_line_obj_[line]);
+							// 		// 	}
+							// 		// 	// me.md_bu_product_obj = clone(md_bu_product_obj_);
+							// 		// }
+									
+							// 		// if (rowData_["md_org_account_province"]) {
+							// 		// 	var province_ = rowData_["md_org_account_province"];
+							// 		// 	province_.map(p=>{
+							// 		// 		p.value = p.province;
+							// 		// 		p.code = p.province;
+							// 		// 	})
+							// 		// 	var options_tree_province_ = listTOListGroup(province_, "area", "value");
+							// 		// 	options_tree_province = options_tree_province_;
+							// 		// }
+									
+							// 		// me.TabObjMap["tab1"].tableFields.map(f=>{
+							// 		// 	if (f.field == "product_id") {
+							// 		// 		if (me.formData.bu_id) {
+							// 		// 			mp.options = clone(me.md_bu_product_obj[me.formData.bu_id]);
+							// 		// 		}
+							// 		// 		else {
+							// 		// 			mp.options = [];
+							// 		// 		}
+							// 		// 		// f.options = clone(md_bu_product_line_array_);
+							// 		// 	}
+							// 		// 	else if (f.field == "province") {
+							// 		// 		f.options = clone(me.options_tree_province);
+							// 		// 	}
+							// 		// })
+									
+							// 		// if (me.selectTabObj.code == "tab1") {
+							// 		// 	me.selectTabObj = clone(me.TabObjMap["tab1"]);
+							// 		// }
+							// 	}
+								
+							// })
+						},
+						// 鑾峰彇鎺堟潈鍖婚櫌锛屾牴鎹崗璁甶d
+						getAccountHospitalByAgreementId() {
+							var me = this;
+							let param_table = {
+								isClientMode: false,
+								dataname: "md_org_account_hospital",
+								filter: "agreement_id='" + me.formData.id + "'",
+							}
+							Server.call("root/data/getEntitySet", param_table, function(result) {
+								if (result.data.entityset) {
+									me.TabObjMap["tab2"].tableData = clone(result.data.entityset);
+									if (me.selectTabObj.code == "tab2") {
+										me.selectTabObj = clone(me.TabObjMap["tab2"]);
+									}
+								}
+							})
+						},
+						getTargetDealerByAgreementId() {
+							var me = this;
+							let param_table = {
+								isClientMode: false,
+								dataname: "md_target_dealer",
+								filter: "agreement_id='" + me.formData.id + "'",
+							}
+							Server.call("root/data/getEntitySet", param_table, function(result) {
+								if (result.data.entityset) {
+									me.TabObjMap["tab3"].tableData = clone(result.data.entityset);
+									if (me.selectTabObj.code == "tab3") {
+										me.selectTabObj = clone(me.TabObjMap["tab3"]);
+									}
+								}
+							})
+						},
+						
+						// 鑾峰彇浠锋牸鍒楄〃锛屾牴鎹崗璁甶d
+						getProdPriceByAgreementId() {
+							var me = this;
+							let param_table = {
+								isClientMode: false,
+								dataname: "md_prod_price_detail",
+								filter: "agreement_id='" + me.formData.id + "'",
+							}
+							Server.call("root/data/getEntitySet", param_table, function(result) {
+								if (result.data.entityset) {
+									me.TabObjMap["tab4"].tableData = clone(result.data.entityset);
+									if (me.selectTabObj.code == "tab4") {
+										me.selectTabObj = clone(me.TabObjMap["tab4"]);
+									}
+								}
+							})
+						},
+						
+						getPolicyListByAgreementId(typecode) {
+							var me = this;
+							var tabname = "tab6";
+							var dataname = "agm_record_gift"; // 涔拌禒鏀跨瓥
+							if (typecode == "rate") {
+								dataname = "agm_record_rate" // 鎶樻墸鏀跨瓥
+								tabname = "tab7"
+							}
+							if (typecode == "price") {
+								dataname = "md_prod_price_detail" // 浠锋牸鏀跨瓥
+								tabname = "tab4"
+							}
+							
+							let param_table = {
+								isClientMode: false,
+								dataname: dataname,
+								filter: "agreement_id='" + me.formData.id + "'",
+							}
+							Server.call("root/data/getEntitySet", param_table, function(result) {
+								if (result.data.entityset) {
+									me.TabObjMap[tabname].tableData = clone(result.data.entityset);
+									if (me.selectTabObj.code == tabname) {
+										me.selectTabObj = clone(me.TabObjMap[tabname]);
+									}
+								}
+							})
+						},
+						
+						// 鑾峰彇鍗忚妯℃澘鍙婃ā鏉块檮浠讹紝鏍规嵁鍗忚绫诲瀷
+						getTemplateByCategoryId(category_id) {
+							var me = this; 
+							let param_table = {
+								isClientMode: false,
+								dataname: "agm_template",
+								filter: "category_id='" + category_id + "'",
+								
+							}
+							Server.call("root/data/getEntitySet", param_table, function(result) {
+								if (result.data.entityset) {
+									var template_list_ = clone(result.data.entityset);
+									template_list_.map(t=>{
+										if (t.template_type_code == "main_template") { // 涓绘ā鏉�
+											var formData_ = clone(me.formData);
+											formData_.template_id = t.id;
+											formData_.template_name = t.name;
+											formData_.template_attachment_id = t.template_attachment_id;
+											formData_.template_attachment_name = t.template_attachment;
+											me.formData = clone(formData_);
+										}
+										else { // 闄勫綍妯℃澘
+											
+										}
+									})
+								}
+							})
+						},
+						openAccount(sceneCode, obj, callback) {
+							var me = this;
+							var data_ = {};
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "800px",
+								height: "520px",
+								icon: "icon-product",
+								text: "缁忛攢鍟嗛�夋嫨",
+								id: "popup_account",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/popup/page/popup_account.html",
+								data: data_,
+								delta: {},
+								// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
+								filter: "md_org_account.state_code='Open'",
+								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(popupobj, popupcallback) {
+									callback(popupobj);
+									if (popupcallback) {
+										popupcallback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						showFileImgByFileId_n(filenamefield, fileobj, objformdata){
+							let me = this;
+							var formData_ = clone(me.selectTabObj.formData);
+							var file_id = "";
+							var file_name = "";
+							var dataname_ = "";
+							if(filenamefield == "contract_attachment_name"){
+								file_id = fileobj.id;
+								file_name = fileobj.file_name
+								dataname_ = "agm_agreement"
+							}
+							
+							this.zzimg = {};
+							this.zzimgList = [];
+							this.file_txt = false;
+							if(file_id) {
+								var fileid = file_id;
+								let fileName = clone(file_name);
+								let index1 = fileName.lastIndexOf(".");
+								let index2 = fileName.length;
+								let suffix = fileName.substring(index1, index2).toLowerCase(); //鍚庣紑鍚�
+								if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
+									var row = {
+										fileid: fileid,
+										dataname: dataname_,
+										filename: fileName
+									}
+									var config = {
+										totab: false,
+										width: "1200px",
+										height: 800,
+										icon: "icon-product",
+										text: "闄勪欢棰勮",
+										id: "pdf_" + fileid,
+										url: "module/tool/page/popup_file_pdf.html",
+										data: row,
+										delta: {},
+										callback: function(obj, callback) {
+											if (callback) {
+												callback();
+											}
+										}
+									};
+									this.doPopupByPublic(config);
+													
+								}
+								else {//鍙彲涓嬭浇锛屼笉鍙瑙�
+									// handleDownloadUrl(fileid,false);
+									handleDownload(fileid, dataname_);
+								}
+							}
+						},
+						onPopupByUploadFile_n(filenamefield, fileidfield, dataname, objformdata) {
+							var me = this;
+							var analysistype_ = "";
+							var sender_id_ = ""; // 涓氬姟鏁版嵁id;
+							if (objformdata.id) {
+								sender_id_ = objformdata.id;
+							}
+							var formData_ = clone(me.selectTabObj.formData);
+							var delta_ = {filetypelist: [".png", ".jpg",".pdf"]}; //, ".pdf"
+							var config = {
+								totab: false,
+								width: "500px",
+								icon: "icon-product",
+								text: "闄勪欢涓婁紶",
+								id: "popupByUploadFile",
+								url: "module/tool/page/popup_uploadFile.html",
+								data: {
+									dataName: dataname,
+									fileidfieldName: fileidfield,
+									id: sender_id_,
+									fileNamefieldName: filenamefield
+								},
+								delta: delta_,
+								callback: function(obj, callback) {
+									me.$message({
+										showClose: true,
+										message: '涓婁紶鎴愬姛锛�',
+										type: 'success'
+									});
+									console.log('闄勪欢淇℃伅',obj)
+									if(filenamefield == "contract_attachment_name"){
+										var f_ = {
+											id: obj.row[0].id,
+											file_name: decodeURI(obj.row[0].name)
+										}
+										if (!objformdata[filenamefield]) {
+											objformdata[filenamefield] = []
+										}
+										objformdata[filenamefield].push(f_);
+										// objformdata[filenamefield] = decodeURI(obj.row[0].name);
+										// objformdata[fileidfield] = obj.row[0].id;
+										if (!objformdata.id) {
+											objformdata.id = obj.row[0].sender_id;
+										}
+									}
+									if (!objformdata) {
+										me.selectTabObj.formData = formData_;
+									}
+									if (callback) {
+										callback();
+									}
+								}
+							};
+							this.doPopupByPublic(config);
+						},
+						
+						deleteByFileId_n(filenamefield, fileobj, objformdata){
+							var me = this;
+							var formData_ = clone(me.formData);
+							Root.confirm('纭畾鍒犻櫎闄勪欢銆�' + fileobj.file_name + '銆戝悧锛�', '鍒犻櫎鎻愮ず', {
+							  confirmButtonText: '鍒犻櫎',
+							  cancelButtonText: '鍙栨秷',
+							  type: 'warning'
+							}).then(() => {
+								if (fileobj.id) {
+									let param = {
+										dataname: "agm_agreement_file",
+										id: fileobj.id
+									}
+									
+									Server.call("root/data/deleteEntity", param, function(result) {
+										console.log(result);
+										if (result && result.data) {
+											objformdata[filenamefield].remove(fileobj);
+											// me.formData[filenamefield].remove(fileobj);
+											
+											// me.formData = formData_;
+											Root.message({
+												type: 'success',
+												message: '鍒犻櫎鎴愬姛!'
+											});
+										}
+									});
+								}
+							}).catch(() => {
+								Root.message({
+									type: 'info',
+									message: '宸插彇娑堝垹闄�'
+								});          
+							});
+							
+						},
+
+						showFileImgByFileId(filenamefield, fileidfield, dataname) {
+							let me = this;
+							var formData_ = clone(me.formData);
+							var file_name = formData_[filenamefield];
+							var file_id = formData_[fileidfield];
+							if(file_id) {
+								var fileid = file_id;
+								let fileName = clone(file_name);
+								let index1 = fileName.lastIndexOf(".");
+								let index2 = fileName.length;
+								let suffix = fileName.substring(index1, index2).toLowerCase(); //鍚庣紑鍚�
+								if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
+									var row = {
+										fileid: fileid,
+										filename: fileName,
+										dataname: dataname
+									}
+						
+									var config = {
+										totab: false,
+										width: "1000px",
+										height: 800,
+										icon: "icon-product",
+										text: "闄勪欢棰勮",
+										id: "pdf_" + fileid,
+										url: "module/tool/page/popup_file_pdf.html",
+										data: row,
+										delta: {},
+										callback: function(obj, callback) {
+											if (callback) {
+												callback();
+											}
+										}
+									};
+									this.doPopupByPublic(config);
+								}
+								else {//鍙彲涓嬭浇锛屼笉鍙瑙�
+									// handleDownloadUrl(fileid,false);
+									handleDownload(fileid, dataname);
+								}
+							}
+						},
+						
+						onPopupByUploadFile(filenamefield, fileidfield,dataname) {
+							var me = this;
+							var analysistype_ = "";
+							var formData_ = clone(me.formData);
+							var delta_ = {filetypelist: []}//".png", ".jpg", ".pdf"
+							var config = {
+								totab: false,
+								width: "500px",
+								icon: "icon-product",
+								text: "闄勪欢涓婁紶",
+								id: "popupByUploadFile",
+								url: "module/tool/page/popup_uploadFile.html",
+								data: {
+									dataName: dataname,
+									fileidfieldName: fileidfield,
+									id: me.formData.id,
+									fileNamefieldName: filenamefield,
+								},
+								delta: delta_,
+								callback: function(obj, callback) {
+									me.$message({
+										showClose: true,
+										message: '涓婁紶鎴愬姛锛�',
+										type: 'success'
+									});
+
+									if (!formData_[filenamefield]) {
+										formData_[filenamefield] = {};
+									}
+									formData_[filenamefield] = decodeURI(obj.row[0].name);
+									formData_[fileidfield] = obj.row[0].id;
+									
+									me.formData = formData_;
+									if (callback) {
+										callback();
+									}
+								}
+							};
+							this.doPopupByPublic(config);
+						},
+						deleteByFileId(filenamefield, fileidfield, obj){
+							var me = this;
+							var formData_ = clone(me.formData);
+							Root.confirm('纭畾鍒犻櫎闄勪欢銆�' + formData_[filenamefield] + '銆戝悧锛�', '鍒犻櫎鎻愮ず', {
+							  confirmButtonText: '鍒犻櫎',
+							  cancelButtonText: '鍙栨秷',
+							  type: 'warning'
+							}).then(() => {
+								if (obj.formdata[fileidfield]) {
+									let param = {
+										dataname: "agm_agreement_file",
+										id: obj.formdata[fileidfield],
+									}
+									
+									Server.call("root/data/deleteEntity", param, function(result) {
+										console.log(result);
+										if (result && result.data) {
+											formData_[filenamefield] = "";
+											formData_[fileidfield] = "";
+											me.formData = clone(formData_);
+											Root.message({
+												type: 'success',
+												message: '鍒犻櫎鎴愬姛!'
+											});
+										}
+									});
+								}
+							}).catch(() => {
+								Root.message({
+									type: 'info',
+									message: '宸插彇娑堝垹闄�'
+								});          
+							});
+							
+						},
+						//鎻愪氦
+						submitRowTable() {
+							this.iscommit = true;
+							//蹇呭~椤规牎楠�
+							var bo1 = this.$refs.form1.checkForm();
+							if(!bo1){
+								Root.message({
+									type: 'error',
+									message: '璇峰~鍐欏繀濉」'
+								}); 
+								this.iscommit = false;
+								return;
+							} 
+							this.saveRowTable();
+						},
+						
+						//淇濆瓨
+						saveRowTable() {
+							var me = this;
+							var operator_ = "saveEntity";//淇濆瓨
+							me.loading_save = true;
+							if(me.iscommit) {
+								operator_ = "commit";//鎻愪氦
+							}
+							
+							var entity_ = clone(me.formData);
+
+							if (me.copyAdd) {
+								var entitys = clone(me.formDatas_old);
+								var entity = [];
+								entitys.map(es => {
+									for (var f in es) {
+										if (f == "id") {
+											es.source_id = es[f];
+										}
+										if (f == "agreement_no" || f == "comeback_attachment_id" || f == "comeback_attachment_name" || f == "state_detail_code" || f == "state_detail_name" || f == "id" || f == "creator_id" || f == "creator_name" || f == "create_time" || f == "update_time") {
+											es[f] = "";
+										}
+										if (f == "state_code") {
+											es[f] = "Input";
+										}
+										if (f == "state_name") {
+											es[f] = "褰曞叆";
+										}
+										if (f == "category_id" || f == "category_name" || f == "date_from" || f == "date_to" || f == "remark" || f == "template_attachment_id" || f == "template_attachment_name" || f == "template_id" || f == "template_name") {
+											es[f] = entity_[f];
+										}
+									}
+									entity.push(es);
+								})
+							}
+							else {
+								var entity = {};
+								for (var r in entity_) {
+									if (r == "category_id" && entity_["category_id_temp"]) {
+										entity[r] = entity_["category_id_temp"];
+									}
+									else if (r == "template_id" && entity_["template_id_temp"]) {
+										entity[r] = entity_["template_id_temp"];
+									}
+									else if (r == "comeback_attachment_name") {
+										
+									}
+									else if (entity_[r] || entity_[r] ==  "" || entity_[r] == false || entity_[r] == 0) {
+										entity[r] = entity_[r];
+									}
+								}
+							}
+							
+							var productlist_ = [];
+							var provincelist_ = [];
+							var account_hospital_ = [];
+							var target_dealer_ = [];
+							var price_policy_ = [];
+							var gift_policy_ = [];
+							var rate_policy_ = [];
+							
+							if (me.TabObjMap["tab1"].formData.product_id.length) {
+								var product_ids = clone(me.TabObjMap["tab1"].formData.product_id);
+								product_ids.map(pids=>{
+									var p_ = {
+										agreement_id: me.formData.id,
+										agreement_no: me.formData.agreement_no,
+										company_name: me.formData.company_name,
+										bu_name: me.formData.bu_name,
+										company_id: me.formData.company_id,
+										bu_id: me.formData.bu_id,
+										
+										
+										account_id: me.formData.account_id,
+										customer_id: me.formData.customer_id,
+										customer_code: me.formData.customer_code,
+										customer_name: me.formData.customer_name,
+										source: "鍗忚鍒嗚В",
+										
+										product_id: pids[0],
+										product_name: me.productobj_map[pids[0]]
+									}
+									if (me.old_agm_record_product_obj[pids[0]]) {
+										p_.id = me.old_agm_record_product_obj[pids[0]].id
+									}
+									productlist_.push(p_)
+								})
+							}
+							if (me.TabObjMap["tab1"].formData.province.length) {
+								var provinces = clone(me.TabObjMap["tab1"].formData.province);
+								provinces.map(ps=>{
+									var p_ = {
+										agreement_id: me.formData.id,
+										agreement_no: me.formData.agreement_no,
+										company_name: me.formData.company_name,
+										bu_name: me.formData.bu_name,
+										company_id: me.formData.company_id,
+										bu_id: me.formData.bu_id,
+										
+										account_id: me.formData.account_id,
+										customer_id: me.formData.customer_id,
+										customer_code: me.formData.customer_code,
+										customer_name: me.formData.customer_name,
+										source: "鍗忚鍒嗚В",
+										
+										// area: ps[0],
+										province: ps[0],
+									}
+									if (me.old_agm_record_province_obj[ps[0]]) {
+										p_.id = me.old_agm_record_province_obj[ps[0]].id
+									}
+									provincelist_.push(p_)
+								})
+							}
+							
+							if (me.TabObjMap["tab2"].tableData.length) {
+								account_hospital_ = clone(me.TabObjMap["tab2"].tableData);
+							}
+							
+							if (me.TabObjMap["tab3"].tableData.length) {
+								target_dealer_ = clone(me.TabObjMap["tab3"].tableData);
+							}
+							
+							if (me.TabObjMap["tab4"].tableData.length) {
+								price_policy_ = clone(me.TabObjMap["tab4"].tableData);
+							}
+							if (me.TabObjMap["tab6"].tableData.length) {
+								gift_policy_ = clone(me.TabObjMap["tab6"].tableData);
+							}
+							if (me.TabObjMap["tab7"].tableData.length) {
+								rate_policy_ = clone(me.TabObjMap["tab7"].tableData);
+							}
+							
+							let param = {
+								dataname: me.dataname,
+								data: {},
+							}
+							if (me.formData.id) {
+								param.id = me.formData.id
+							}
+							// if(me.iscommit) {
+							//     param.to_state = "OpeningApproval";//鎻愪氦
+							// }
+							
+							param.data[me.dataname] = entity;
+							
+							if (productlist_.length) {
+								param.data["agm_record_product"] = productlist_;
+							}
+							if (provincelist_.length) {
+								param.data["agm_record_province"] = provincelist_;
+							}
+							if (account_hospital_.length) {
+								param.data["md_org_account_hospital"] = account_hospital_;
+							}
+							if (target_dealer_.length) {
+								param.data["md_target_dealer"] = target_dealer_;
+							}
+							
+							if (price_policy_.length) {
+								// param.data["agm_record_price"] = price_policy_;
+								param.data["md_prod_price_detail"] = price_policy_;
+							}
+							if (gift_policy_.length) {
+								param.data["agm_record_gift"] = gift_policy_;
+							}
+							if (rate_policy_.length) {
+								param.data["agm_record_rate"] = rate_policy_;
+							}
+							
+							Server.call("root/data/"+operator_, param, function(result) {
+								if (result.success) {
+									if (me.iscommit) {
+										me.iscommit = false;
+										me.loading_save = false;
+										Root.message({
+											type: 'success',
+											message: '鎻愪氦鎴愬姛'
+										}); 
+									}
+									else {
+										me.loading_save = false;
+										Root.message({
+											type: 'success',
+											message: '淇濆瓨鎴愬姛'
+										}); 
+									}
+									me.saveAfter();
+								}
+							}, function(errorresult) {
+								console.log("閿欒淇℃伅", errorresult);
+								if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
+									if (errorresult.messages.list) {
+										me.iscommit = false;
+										me.loading_save = false;
+										var config = {
+											totab: false,
+											// width: "1200px",
+											// height: 800,
+											icon: "icon-product",
+											text: "閿欒淇℃伅",
+											url: "module/tool/page/popup_error_messages.html",
+											data: {},
+											delta: errorresult.messages.list,
+											callback: function(obj, callback) {
+												if (callback) {
+													callback();
+												}
+											}
+										};
+										me.doPopupByPublic(config);
+									}
+								}
+								else if (errorresult.exists_errors && errorresult.exists_errors.length) {
+									var messages_list = []
+									var index_ = 0;
+									errorresult.exists_errors.map(r=>{
+										index_ ++;
+										var messages_ = {
+											step: index_,
+											level: "Error",
+											message: r.title + "銆�" + r.errors[0].agreement_no +  r.errors[0].account_actor_name?r.errors[0].account_actor_name: '' + "銆�"
+										}
+										messages_list.push(messages_)
+									})
+									me.iscommit = false;
+									var config = {
+										totab: false,
+										// width: "1200px",
+										// height: 800,
+										icon: "icon-product",
+										text: "閿欒淇℃伅",
+										url: "module/tool/page/popup_error_messages.html",
+										data: {},
+										delta: messages_list,
+										callback: function(obj, callback) {
+											if (callback) {
+												callback();
+											}
+										}
+									};
+									me.doPopupByPublic(config);
+								}
+								else {
+									if(me.iscommit) {
+										me.iscommit = false;
+										Root.message({
+											type: 'error',
+											message: '鎻愪氦澶辫触'
+										});
+									}
+									else {
+										me.loading_save = false;
+										Root.message({
+											type: 'error',
+											message: '淇濆瓨澶辫触'
+										}); 
+									}
+								}
+							});
+						},
+
+						//瀹℃壒閫氳繃鐩稿叧鏁版嵁璧嬪��
+						onPassApproval() {
+							this.approveremark = "";
+							this.reasonvisible = true;
+							this.passOrRefuse = true;
+						},
+
+						//瀹℃壒鎷掔粷鐩稿叧鏁版嵁璧嬪��
+						onRefuseApproval(){
+							this.approveremark = "";
+							this.reasonvisible = true;
+							this.passOrRefuse = false;
+						},
+						
+						//淇濆瓨閫氳繃/鎷掔粷鍘熷洜
+						saveReason2(){
+							this.loading_pass = true;
+							if(this.passOrRefuse){
+								this.doPassApproval(true);
+							}else{
+								if(this.approveremark != ""){
+									this.doPassApproval(false);
+								}
+								else{
+									Root.message({
+										type: 'warning',
+										message: '璇峰~鍐欏師鍥�'
+									});
+									this.loading_pass = false;
+								}
+							}
+						},
+						
+						//瀹℃壒閫氳繃/鎷掔粷
+						doPassApproval(bo) {
+							var me = this;
+							var state_ = "approve"
+							if (!bo) {
+								state_ = "reject"
+							}
+							
+							let param = {
+								dataname: me.dataname,
+								id: me.formData.id,
+								remark: me.approveremark,
+							}
+							Server.call("root/data/" + state_, param, function(result) {
+								me.loading_pass = false;
+								console.log(result);
+								if (bo) {
+									Root.message({
+										type: 'success',
+										message: '瀹℃壒鎴愬姛'
+									}); 
+									me.saveAfter();
+								}
+								
+								else {
+									Root.message({
+										type: 'success',
+										message: '宸叉嫆缁�'
+									}); 
+									me.saveAfter();
+								}
+							}, function(errorresult) {
+								console.log("閿欒淇℃伅", errorresult);
+								me.loading_pass = false;
+								if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
+									if (errorresult.messages.list) {
+										var config = {
+											totab: false,
+											// width: "1200px",
+											// height: 800,
+											icon: "icon-product",
+											text: "閿欒淇℃伅",
+											url: "module/tool/page/popup_error_messages.html",
+											data: {},
+											delta: errorresult.messages.list,
+											callback: function(obj, callback) {
+												if (callback) {
+													callback();
+												}
+											}
+										};
+										me.doPopupByPublic(config);
+									}
+								}
+								else {
+									Root.message({
+										type: 'error',
+										message: '瀹℃壒澶辫触'
+									}); 
+								}
+							});
+						},
+						
+						// 閫氳繃鎴栨嫆缁�
+						onShowApproval(passOrRefuse) {
+							this.approveremark = "";
+							this.reasonvisible = true;//瀹℃壒澶囨敞濉啓寮圭獥
+							this.passOrRefuse = passOrRefuse;// commit涓嬩竴涓姸鎬�;approve閫氳繃;gohome;//鎷掔粷 goback;//鍥為��
+						},
+						saveReason() {
+							this.loading_pass = true;
+							if(this.passOrRefuse == "commit" || this.passOrRefuse == "approve"){
+								this.doApproval();
+							}
+							else{
+								if(this.approveremark != ""){
+									this.doApproval();
+								}
+								else{
+									Root.message({
+										type: 'warning',
+										message: '璇峰~鍐欏師鍥�'
+									});
+									this.loading_pass = false;
+								}
+							}
+						},
+						doApproval(bo) {
+							var me = this;
+							this.getMachine(function(next_step, up_step) { // 
+								me.doRunApproval(next_step, up_step);
+							});
+						},
+						
+						getMachine(callback) {
+							var me = this;
+							let param = {
+								dataname: me.dataname,
+							}
+							Server.call("root/state/getMachine", param, function(result) {
+								var next_step = {}; // 鍚戜笅娴佺▼
+								var up_step = {}; // 鍚戜笂娴佺▼
+								
+								if (result && result.machine && result.machine.detail) {
+									result.machine.detail.map(md=>{
+										next_step[md.from_code] = md.to_code;
+										up_step[md.to_code] = md.from_code;
+									})
+									
+									callback(next_step, up_step);
+								}
+							})
+						},
+						
+						doRunApproval(next_step, up_step) {
+							var me = this;
+							this.passOrRefuse;//棣栨寮�鎴�-閫氳繃
+							// commit // 涓嬩竴涓姸鎬�
+							// approve // 閫氳繃
+							// gohome // 鎷掔粷
+							// goback // 鍥為��
+							
+							var to_state_ = "";
+							if (this.passOrRefuse == "commit") { 
+								to_state_ = next_step[this.formData.state_code];
+							}
+							else if (this.passOrRefuse == "approve") { 
+								
+							}
+							else if (this.passOrRefuse == "gohome") {
+								// to_state_ = up_step[this.formData.state_code];
+							}
+							else if (this.passOrRefuse == "goback") {
+								to_state_ = up_step[this.formData.state_code];
+							}
+							
+							let param = {
+								dataname: "agm_agreement",
+								id: me.formData.id,
+								to_state: to_state_,
+								remark: this.approveremark
+							}
+							//
+							// return
+							Server.call("root/data/" + this.passOrRefuse, param, function(result) {
+								me.loading_pass = false;
+								console.log(result);
+								if (me.passOrRefuse == "commit" || me.passOrRefuse == "approve") {
+									Root.message({
+										type: 'success',
+										message: '瀹℃壒鎴愬姛'
+									}); 
+								}
+								else if (me.passOrRefuse == "goback") {
+									Root.message({
+										type: 'success',
+										message: '宸查��鍥�'
+									}); 
+								}
+								else if (me.passOrRefuse == "gohome") {
+									Root.message({
+										type: 'success',
+										message: '宸叉嫆缁�'
+									}); 
+								}
+								me.saveAfter();
+							}, function(errorresult) {
+								console.log("閿欒淇℃伅", errorresult);
+								me.loading_pass = false;
+								if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
+									if (errorresult.messages.list) {
+										var config = {
+											totab: false,
+											// width: "1200px",
+											// height: 800,
+											icon: "icon-product",
+											text: "閿欒淇℃伅",
+											url: "module/tool/page/popup_error_messages.html",
+											data: {},
+											delta: errorresult.messages.list,
+											callback: function(obj, callback) {
+												if (callback) {
+													callback();
+												}
+											}
+										};
+										me.doPopupByPublic(config);
+										
+									}
+								}
+								else {
+									Root.message({
+										type: 'error',
+										message: '瀹℃壒澶辫触'
+									}); 
+								}
+							});
+						},
+						
+						onTabBeforeLeave(tab, oldtab) {
+							this.TabObjMap[oldtab] = clone(this.selectTabObj);
+						},
+						handleClick() {
+							this.isRefresh = false;
+							
+							this.selectTabObj = {}
+							this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+								this.selectTabObj = clone(this.TabObjMap[this.activeTabName]);
+								this.isRefresh = true;
+							});
+						}
+						
+						
+						
+					}
+				});
+			};
+			
+			loadJsCss(function () {
+				initVue();
+			});
+		</script>
+		<style>
+			/*  鍦╲ue.js涓� v-cloak 杩欎釜鎸囦护鏄槻姝㈤〉闈㈠姞杞芥椂鍑虹幇 vuejs 鐨勫彉閲忓悕鑰岃璁$殑 */
+			[v-cloak] {
+				display: none !important;
+			}
+		</style>
+		
+	</head>
+	
+	<body style="margin: 0px;">
+		<div v-cloak id="vbody">
+			<div id="page_root">
+				<div ref="popup_body" style="padding: 0 20px;">
+					<div class="el-dialog__header">
+						<div class="dialog-title">
+						</div>
+					</div>	
+				</div>
+			</div>
+		</div>
+		
+		
+	</body>
+</html>
diff --git a/module/md/page/customer/page/customer_basic.html b/module/md/page/customer/page/customer_basic.html
index 970b6c0..2c272fc 100644
--- a/module/md/page/customer/page/customer_basic.html
+++ b/module/md/page/customer/page/customer_basic.html
@@ -64,7 +64,13 @@
 								label:"name",//鏄笅鎷夐�夐」鏃惰缃�
 								filter: "",
 								orderby: "name"
-							}
+							},
+							{
+								name: "md_org_account_criteria_rule",
+								dataname: "md_org_account_criteria_rule",
+								isnotoption: true, //true:涓嶆槸閫夐」
+								filter: "",
+							},
 						],
 						options_md_geo_province: [],
 						md_geo_city_obj: {},
@@ -80,15 +86,29 @@
 						},
 						
 						formFields: [],
+						formFields_criteria: [],
 						
 						formData: {},
-						
+						formData_criteria: {},
+						formData1:[],
+						imgLoading:false,
+						imgurl:'',
+
+						formdata_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}],
+
 						//鎸夐敭鏉冮檺璁剧疆
 						isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦
 						isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦
 						isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥�
+						isChange:false,
 						
 						iscommit: false,//鎻愪氦鏍囪
+
+						// 瀹℃壒
+						reasonvisible: false, // 瀹℃壒澶囨敞濉啓寮圭獥
+						approveremark: "", // 瀹℃壒澶囨敞
+						passOrRefuse: false, // 閫氳繃鎴栨嫆缁�
+						loading_pass: false,
 						
 						//寮圭獥鍙傛暟
 						popupParames: {},
@@ -156,6 +176,44 @@
 							this.loadRequestData(this.dataRequest, result, function(data) {
 								me.dataRequestObj = data;
 								//棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson
+								if (me.dataRequestObj.md_org_account_criteria_rule) {
+									me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule;
+									//鏁版嵁澶勭悊
+									me.formdata_group.map(g=>{
+										me.formFields_criteria.map(v=>{
+											if (v.group_code == g.group_code) {
+												v['criteria_value'] = null
+												v['remark'] = null
+												g.children.push(v)
+											}
+										})
+									})
+									console.log(me.formdata_group)
+								}
+								if (me.dataRequestObj.md_org_account_criteria && me.dataRequestObj.md_org_account_criteria.data && me.dataRequestObj.md_org_account_criteria.data.entityset.length>0) {
+									me.formData_criteria = me.dataRequestObj.md_org_account_criteria.data.entityset
+									//鏁版嵁澶勭悊
+									me.formFields_criteria.map(g=>{
+										me.formData_criteria.map(e=>{
+											if (g.id == e.criteria_id) {
+												e['group_name'] = g.group_name
+												e['group_code'] = g.group_code
+												e['content_before'] = g.content_before
+												e['content_type'] = g.content_type
+											}
+										})
+									})
+									me.formdata_group.map(g=>{
+										formData_criteria.map(v=>{
+											if (v.group_code == g.group_code) {
+												// v['content_before'] = g.content_before
+												g.children.push(v)
+											}
+										})
+									})
+									console.log(me.formdata_group)
+
+								}
 								if (me.dataRequestObj.md_geo_province) {
 									me.options_md_geo_province = me.dataRequestObj.md_geo_province
 								}
@@ -263,6 +321,7 @@
 							if (this.formData.id) {
 								id_ = this.formData.id;
 							}
+
 							this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
 								if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
 									var metas = clone(result.meta[me.dataname].fields);
@@ -304,6 +363,8 @@
 									}
 								}
 							})
+							console.log(me.formdata_group)
+
 						},
 						
 						tableFieldClick() {
@@ -495,6 +556,40 @@
 								}
 							});
 						},
+						uploadFileFun_file(one,fileList,type) {
+							var me = this; 
+							me.imgLoading = true
+							me.imgurl =URL.createObjectURL(one.raw) //淇濇寔鏂囦欢鍦ㄦ湰绐楀彛锛屽惁鍒欎細鍔犺浇澶辫触
+							// me.imgurl = one.url
+							// console.log(one+fileList+type)
+					
+						},
+						showThumbnail(file, type, num) {
+							var me = this;
+                            
+                            if(num == "2"){
+                                return me.fileUrl;
+                            }
+                            if(type == "pic") {
+                                return file.url;
+                            }
+							console.log(file)
+                            // var me = this;
+                            
+                            // if(num == "2"){
+                            //     return me.fileUrl;
+                            // }
+                            // if(type == "pic") {
+							// 	me.imgurl = file.url
+                            //     return file.url;
+                            // }
+                            
+                        },
+						delyyzz() {//鍒犻櫎钀ヤ笟鎵х収
+							var me = this;
+                            me.imgurl = "";
+							me.formData1 = []
+						},
 						
 						//鎻愪氦
 						submitRowTable() {
@@ -510,11 +605,138 @@
 							this.iscommit = true;
 							this.saveRowTable();
 						},
-						
+						showCluster() {
+							this.$forceUpdate();
+						},
+						onShowApproval(passOrRefuse) {
+						    this.approveremark = "";
+						    this.reasonvisible = true;//瀹℃壒澶囨敞濉啓寮圭獥
+						    this.passOrRefuse = passOrRefuse;// commit涓嬩竴涓姸鎬�;approve閫氳繃;gohome;//鎷掔粷 goback;//鍥為��
+						},
+						saveReason() {
+						    this.loading_pass = true;
+						    if(this.passOrRefuse == "commit" || this.passOrRefuse == "approve"){
+						        this.doApproval();
+						    }
+							else{
+						        if(this.approveremark != ""){
+						            this.doApproval();
+						        }
+						        else{
+						            Root.message({
+						                type: 'warning',
+						                message: '璇峰~鍐欏師鍥�'
+						            });
+									this.loading_pass = false;
+						        }
+						    }
+						},
+						doApproval() {
+						    var me = this;
+							me.doRunApproval();
+							
+							// this.getMachine(function(next_step, up_step) { // 
+							// 	me.doRunApproval(next_step, up_step);
+							// });
+						},
+						doRunApproval(next_step, up_step) {
+							var me = this;
+							if (!next_step) {
+								next_step = {}
+							}
+							if (!up_step) {
+								up_step = {}
+							}
+							
+							// this.passOrRefuse;//棣栨寮�鎴�-閫氳繃
+							// commit // 涓嬩竴涓姸鎬�
+							// approve // 閫氳繃
+							// gohome // 鎷掔粷
+							// goback // 鍥為��
+							
+							var to_state_ = "";
+							if (this.passOrRefuse == "commit") {
+								to_state_ = next_step[this.formData.state_code];
+							}
+							else if (this.passOrRefuse == "approve") {
+								// to_state_ = up_step[this.formData.state_code];
+							}
+							else if (this.passOrRefuse == "gohome") {
+								// to_state_ = up_step[this.formData.state_code];
+							}
+							else if (this.passOrRefuse == "goback") {
+								to_state_ = up_step[this.formData.state_code];
+							}
+							
+							let param = {
+							    dataname: "md_org",
+							    id: me.formData.id,
+								remark: this.approveremark
+							}
+							if (to_state_) {
+								param.to_state = to_state_
+							}
+							//
+							// return
+							Server.call("root/data/" + this.passOrRefuse, param, function(result) {
+							    me.loading_pass = false;
+							    console.log(result);
+								if (me.passOrRefuse == "commit" || me.passOrRefuse == "approve") {
+									Root.message({
+										type: 'success',
+										message: '瀹℃壒鎴愬姛'
+									}); 
+								}
+							    else if (me.passOrRefuse == "goback") {
+							        Root.message({
+							            type: 'success',
+							            message: '宸查��鍥�'
+							        }); 
+							    }
+								else if (me.passOrRefuse == "gohome") {
+								    Root.message({
+								        type: 'success',
+								        message: '宸叉嫆缁�'
+								    }); 
+								}
+								me.saveAfter();
+							}, function(errorresult) {
+								console.log("閿欒淇℃伅", errorresult);
+								me.loading_pass = false;
+								if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
+									if (errorresult.messages.list) {
+										var config = {
+										    totab: false,
+										    // width: "1200px",
+										    // height: 800,
+										    icon: "icon-product",
+										    text: "閿欒淇℃伅",
+										    url: "module/tool/page/popup_error_messages.html",
+										    data: {},
+										    delta: errorresult.messages.list,
+										    callback: function(obj, callback) {
+										        if (callback) {
+										            callback();
+										        }
+										    }
+										};
+										me.doPopupByPublic(config);
+										
+									}
+								}
+								else {
+									Root.message({
+										type: 'error',
+										message: '瀹℃壒澶辫触'
+									}); 
+								}
+							});
+						},
 						//淇濆瓨
 						saveRowTable() {
 							var me = this;
-							var operator_ = "save";//淇濆瓨
+							var operator_ = "saveEntity";//淇濆瓨
+							var md_org_account_criteria_ = []
 						
 							var entity_ = clone(this.formData);
 							var entity = {};
@@ -525,8 +747,6 @@
 							}
 							if(me.iscommit) {
 								operator_ = "commit";//鎻愪氦
-								entity.state_code = "Open"
-								entity.state_name = "宸茬敓鏁�"
 							}
 							let param = {
 								dataname: this.dataname,
@@ -534,9 +754,25 @@
 								// operator: operator_,
 								data: {},
 							}
+							//鏂板鐨勬儏鍐�
+							me.formdata_group.map(group => {//
+								group.children.map(unitobj => {
+									var row_ = {
+										id: uuid_short(),
+										parent_id: me.formData.id,
+										criteria_id: unitobj.id,
+										criteria_value: unitobj.criteria_value,
+										remark: unitobj.remark,
+									}
+									md_org_account_criteria_.push(row_);
+								})
+							})
+							param.data["md_org_account_criteria"] = md_org_account_criteria_.length ? md_org_account_criteria_ : null;
 							param.data[this.dataname] = entity;
+
+
 							
-							Server.call("root/data/uniqueSaveEntity", param, function(result) {
+							Server.call("root/data/"+operator_, param, function(result) {
 								console.log(result);
 								if (result.success) {
 									if(me.iscommit){
@@ -631,6 +867,30 @@
 			[v-cloak] {
 				display: none !important;
 			}
+			.me_h_itemgroup_row {
+                margin-bottom: 10px;
+            }
+			.me_h_itemgroup_row .me_h_unitlabel:before {
+                content: '*';
+                color: #F56C6C;
+                margin-right: 4px;
+            }
+			.me_h_itemgroup_row .me_h_nounitlabel:before {
+			    content: '*';
+			    color: #F56C6C00;
+			    margin-right: 4px;
+			}
+			.itemgroup_row_item {
+				text-align: left;
+			}
+			.ocr_img .el-upload-list--picture-card .el-upload-list__item {
+                width: 100% ;
+                height: 100% ;
+            }
+			div .el-upload--picture-card {
+                width: 100% ;
+
+			}
 		</style>
 		
 	</head>
@@ -647,7 +907,29 @@
 					</div>	
 					<div :style="{height: dheight + 'px', 'overflow-y': 'auto'}">
 					<!-- <div style="position: absolute; top:40px; bottom: 50px; left: 0px; right: 0px;  overflow-y: auto;"> -->
-						<div class="el-dialog__body">
+						<div class="el-dialog__body" style="width: 20%; float: left;">
+							<el-image 
+								v-if="imgurl.length>0" 
+								:style="{width: '100%', 'max-height': dheight + 'px'}" 
+								:src="imgurl"
+								:preview-src-list="[imgurl]">
+							</el-image>
+							<el-upload
+								v-else-if="!imgurl"
+								class="ocr_img"
+								action="#" style="margin-top: 15px;margin-bottom: 15px;" accept="image/jpeg,image/gif,image/png"
+								ref="reportUpload1" list-type="picture-card" :file-list="formData1"
+								:on-change="(file, fileList) => {uploadFileFun_file(file, fileList, '1')}" :auto-upload="false">
+								<!-- <i slot="default" class="el-icon-plus"></i> -->
+								<span style="font-size: 14px; color: #909399;">钀ヤ笟鎵х収涓婁紶</span>
+								<div slot="file" slot-scope="{file}">
+									<img class="el-upload-list__item-thumbnail" :src="showThumbnail(file, 'pic', '1')" alt="">
+								</div>
+							</el-upload>
+							<el-button v-if="imgurl" size="small" type="danger" @click="delyyzz">鍒犻櫎钀ヤ笟鎵х収</el-button>
+						</div>
+
+						<div class="el-dialog__body" style="width: 79%; float: right;">
 							<h-form
 								ref="form1"
 								:form-attr="formAttr"
@@ -657,17 +939,127 @@
 							>
 							</h-form>
 						</div>
+						<!-- <div v-if='formFields.length>0' class="el-dialog__body" style="width: 100%; float: right; ">
+							<div style="border: 1px solid #C0C4CC ;padding: 5px">
+								<div class="h_table_title"><i class="iconfont icon-fuzhushuxian" style="color: rgb(2, 112, 193);"></i><span style="font-size: 16px;">鎺ㄥ箍鍟嗚瘎鍒�</span></div>
+								</i>
+								<div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div>
+								<template v-for="(formgroup, k) in formdata_group">
+									<div  style="display: flex;justify-content: space-between;padding: 5px;">
+										<div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;">
+											<div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;">
+												{{formgroup.group_name}}
+											</div>
+										</div>
+										<div style="width: 93%;padding: 0 10px;">
+											
+											<el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row">
+												<el-col :span="6" class="itemgroup_row_item">
+													<div>
+														<span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 12px;">
+															{{unitobj.content_before}}
+														</span>
+													</div>
+												</el-col>
+												<el-col :span="18" >
+													<div v-if="unitobj.content_type == 'textarea'">
+														<el-input  style="width:100%" type="textarea" 
+															v-model="unitobj.criteria_value">
+														</el-input>
+													</div>
+													<div v-else-if="unitobj.content_type == 'radio' && !unitobj.dictionary_id">
+														<el-radio-group  v-model="unitobj.criteria_value">
+															<el-radio label="T">鏄�</el-radio>
+															<el-radio label="F">鍚�</el-radio>
+														</el-radio-group>
+													</div>
+													<div v-else-if="unitobj.content_type == 'radio' && unitobj.dictionary_id">
+														<el-radio-group  v-model="unitobj.criteria_value">
+															<el-radio v-for="(r, k) in unitobj.options" :key="unitobj.id + k" :label="r.code">{{r.value}}</el-radio>
+														</el-radio-group>
+													</div>
+													<div v-else-if="unitobj.content_type == 'input'">
+														<el-input  style="width:100%"  @input="showCluster"
+															v-model="unitobj.criteria_value">
+														</el-input>
+													</div>
+													<div v-else-if="unitobj.content_type == 'date'">
+														<el-date-picker  style="width:100%" type="date" value-format="yyyy-MM-dd"
+															v-model="unitobj.criteria_value">
+														</el-date-picker>
+													</div>
+													<div v-else-if="unitobj.content_type == 'upload'">
+														<table>
+															<tr>
+																<td align="left" style="width: 100%; padding: 0px; overflow: hidden; border-bottom: 1px solid #DCDFE6;">
+																	<span class="h_cellclick" @click="buttonArrayClick(unitobj, {code:'showfile'})">{{unitobj.criteria_value}}</span>
+																</td>
+																<td >
+																	<template v-if="isBusiness && unitobj.criteria_value">
+																		<el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'delfile'})" icon="el-icon-delete" class="form_delfile">鍒犻櫎闄勪欢</el-button>
+																	</template >
+																	
+																	<template v-else-if="isBusiness && !unitobj.criteria_value">
+																		<el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'upload'})" icon="el-icon-upload" class="form_uploadfile">闄勪欢涓婁紶</el-button>
+																	</template >
+																</td>
+															</tr>
+														</table>
+													</div>
+												</el-col>
+											</el-row>
+										</div>
+									</div>
+									<div style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div>
+								</template >
+							</div>
+						</div> -->
 					</div>
-					<div class="el-dialog__footer" style="position: absolute; bottom: 0px;  left: 0px; right: 0px;">
+					<!-- <div class="el-dialog__footer" style="position: absolute; bottom: 0px;  left: 0px; right: 0px;">
+						<el-button size="small" type="default" @click="reasonvisible = false">鍙� 娑�</el-button>
 						<el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button>
 						<el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
 						<el-button size="small" v-if="isedit" type="success" :loading="loading_submit" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
 						<el-button size="small" v-if="isrefuseedit" type="success" @click="">鍐嶆鎻愪氦</el-button>
 						
-						<el-button size="small" v-if="isapproval" type="success" @click="">閫� 杩�</el-button>
-						<el-button size="small" v-if="isapproval" type="danger" @click="">鎷� 缁�</el-button>
-						<el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button>
-						<el-button size="small" v-if="isapproval" type="success" @click="">閫� 鍥�</el-button>
+						<el-button-group style="margin-right: 80px;" >		
+							<el-button  size="small" v-if="isapproval" type="warning" plain @click="onShowApproval('gohome')">閫�鍥炲埌鐢宠浜�</el-button>
+							<el-button  size="small" v-if="isapproval" type="danger" plain @click="onShowApproval('goback')">閫�鍥炲埌涓婁竴姝�</el-button>
+						</el-button-group>
+						<el-button size="small" v-if="isapproval" type="success" @click="onShowApproval('approve')">閫� 杩�</el-button>
+					</div> -->
+					<el-dialog title="濉啓鍘熷洜" :visible.sync="reasonvisible" height="50%">
+					    <el-input
+					      type="textarea"
+					      :autosize="{ minRows: 2, maxRows: 10}"
+					      placeholder="璇疯緭鍏ュ師鍥�"
+					      v-model="approveremark">
+					    </el-input>
+					    
+					    <div slot="footer" class="dialog-footer" >
+					        <el-button size="small" type="default" @click="reasonvisible = false">鍙� 娑�</el-button>
+					        <el-button size="small" type="primary" :loading="loading_pass" @click="saveReason">纭� 瀹�</el-button>
+					    </div>
+					</el-dialog>
+					
+					<div class="el-dialog__footer">
+						<el-button-group style="margin-right: 80px;" >		
+							<el-button  size="small" v-if="isapproval" type="warning" plain @click="onShowApproval('gohome')">閫�鍥炲埌鐢宠浜�</el-button>
+							<el-button  size="small" v-if="isapproval" type="danger" plain @click="onShowApproval('goback')">閫�鍥炲埌涓婁竴姝�</el-button>
+						</el-button-group>
+						<el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button>
+						<el-button size="small" v-if="!isChange && (isedit || isrefuseedit)" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
+						<el-button size="small" v-if="!isChange && isedit" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
+						
+						<el-button size="small" v-if="isChange" type="primary" @click="saveChangeRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
+						<el-button size="small" v-if="isChange" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
+						
+						<el-button size="small" v-if="isrefuseedit" type="success" @click="">鍐嶆鎻愪氦</el-button>
+						
+						<el-button size="small" v-if="isapproval" type="success" @click="onShowApproval('approve')">閫� 杩�</el-button>
+						<!-- <el-button size="small" v-if="isapproval" type="danger" @click="onShowApproval('goback')">鎷� 缁�</el-button> -->
+						<!-- <el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button> -->
+						<!-- <el-button size="small" v-if="isapproval" type="success" @click="onShowApproval('gohome')">閫� 鍥�</el-button> -->
 					</div>
 				</div>
 			</div>
diff --git a/module/md/page/customer/page/customer_basic_acct.html b/module/md/page/customer/page/customer_basic_acct.html
index 35cb2f3..ec53615 100644
--- a/module/md/page/customer/page/customer_basic_acct.html
+++ b/module/md/page/customer/page/customer_basic_acct.html
@@ -71,6 +71,12 @@
 								isnotoption: true, //true:涓嶆槸閫夐」
 								filter: "1<>1",
 							},
+							{
+								name: "md_org_account_criteria_rule", //rule绛斿嵎瀛楁
+								dataname: "md_org_account_criteria_rule",
+								isnotoption: true, //true:涓嶆槸閫夐」
+								filter: "",
+							},
 						],
 						options_md_org_master: [],
 						isExistsAccount: false,
@@ -89,7 +95,9 @@
 						meta_account_position_list: [],
 						
 						meta_account_change: [],
+						formFields_criteria: [],
 						formData_change: {},
+						formdata_rule_group:[],
 						
 						formAttr: {
 							istitle: false,
@@ -173,13 +181,7 @@
 						this.popupParames = clone(Root.popupParames);
 						this.title = this.popupParames.title || this.popupParames.text
 						if (this.popupParames.data) {
-							this.formData = clone(this.popupParames.data);
-							if (this.formData.source && !this.formData.md_org__source) {
-								this.newformData.md_org__source = this.formData.source;
-							}
-							else if (this.formData.md_org__ncc_code) {
-								this.newformData.md_org__source = "NCC"
-							}
+							this.formData = this.popupParames.data
 						}
 						
 						var customer_id = ""
@@ -319,6 +321,10 @@
 								//棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson
 								if (me.dataRequestObj.newEntity) {
 									var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]);
+									formData['company_id'] = '1181'
+									formData['company_name'] = '姹囧畤鍒惰嵂'
+									formData['bu_id'] = 'BU-GM'
+									formData['bu_name'] = '鑲跨槫'
 									// formData.product_category_name = [];
 									if (me.newformData) {
 										let formData_ = clone(formData);
@@ -469,6 +475,24 @@
 								    // me.options_tree_province = options_tree_province_;
 								    me.options_province = clone(me.dataRequestObj.md_geo_province);
 								}
+								if (me.dataRequestObj.md_org_account_criteria_rule) {
+									var obj_ = {}
+									me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule;
+									me.formFields_criteria.map(e=>{
+										if (!obj_[e.group_code]) {
+											var obj = {}
+											obj_[e.group_code] = e.group_code
+											obj_[e.group_name] = e.group_name
+											//obj_鐢ㄤ綔妫�娴嬫槸鍚﹂噸澶嶏紝鑻ユ湭閲嶅锛屽垯灏嗚obj鏀惧叆(鑰屼笉鏄斁鍏bj_) 鏋勫缓鐨刦ormdata_rule_group缁撴瀯濡備笅
+											// formdata_rule_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}],
+											obj['group_code'] = e.group_code
+											obj['group_name'] = e.group_name
+											obj['children'] = []
+											// obj.children.push(e)
+											me.formdata_rule_group.push(obj)
+										}
+									})
+								}
 								me.initData();
 								
 								// 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
@@ -584,7 +608,35 @@
 								id_ = this.formData.id;
 							}
 							this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
-								console.log(result)
+								if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) {
+									var criteria_data = []
+									me.formData_criteria = result.data.md_org_account_criteria
+									me.formFields_criteria.map(f=>{
+										me.formData_criteria.map(v=>{
+											if (f.id == v.criteria_id) {
+												var obj_ = {}
+												Object.assign(obj_,f,v)
+												criteria_data.push(obj_)
+											}
+										})
+									})
+									me.formdata_rule_group.map(g => {
+										criteria_data.map(v => {
+											if (v.group_code == g.group_code) {
+												g.children.push(v)
+											}
+										})
+									})
+								}
+								else {
+									me.formdata_rule_group.map(g=>{
+										me.formFields_criteria.map(f=>{
+											if(f.group_code == g.group_code) {
+												g.children.push(f)
+											}
+										})
+									})
+								}
 								if (result.meta) {
 									var metaBydataname = {};
 									for (var dataname_ in result.meta) {
@@ -706,6 +758,8 @@
 									//璁剧疆瀛楁浜嬩欢
 									me.tableFieldClick();
 								}
+							//鏁版嵁澶勭悊
+								
 								
 								var formData_ = {};
 								if (me.accountnccdata.id) {
@@ -722,20 +776,20 @@
 										business_address: me.accountnccdata.md_org__business_address,
 									    
 									    // 缁忛攢鍟嗗叧鑱斾俊鎭�
-										business_person: me.accountnccdata.md_org__business_person,
-										business_phone: me.accountnccdata.md_org__business_phone,
-										business_email: me.accountnccdata.md_org__business_email,
-										md_org__license_business_no: me.accountnccdata.md_org__license_business_no,
-										md_org__register_address: me.accountnccdata.md_org__register_address,
-									    md_org__code: me.accountnccdata.md_org__code,
-									    md_org__ncc_code: me.accountnccdata.md_org__ncc_code,
-									    md_org__province: me.accountnccdata.md_org__province,
-									    md_org__city: me.accountnccdata.md_org__city,
-									    md_org__county: me.accountnccdata.md_org__county,
-										
-										md_org__receive_address: me.accountnccdata.md_org__receive_address,
-										md_org__receiver_name: me.accountnccdata.md_org__receiver_name,
-										md_org__receiver_phone: me.accountnccdata.md_org__receiver_phone,
+											business_person: me.accountnccdata.md_org__business_person,
+											business_phone: me.accountnccdata.md_org__business_phone,
+											business_email: me.accountnccdata.md_org__business_email,
+											md_org__license_business_no: me.accountnccdata.md_org__license_business_no,
+											md_org__register_address: me.accountnccdata.md_org__register_address,
+											md_org__code: me.accountnccdata.md_org__code,
+											md_org__ncc_code: me.accountnccdata.md_org__ncc_code,
+											md_org__province: me.accountnccdata.md_org__province,
+											md_org__city: me.accountnccdata.md_org__city,
+											md_org__county: me.accountnccdata.md_org__county,
+											
+											md_org__receive_address: me.accountnccdata.md_org__receive_address,
+											md_org__receiver_name: me.accountnccdata.md_org__receiver_name,
+											md_org__receiver_phone: me.accountnccdata.md_org__receiver_phone,
 										
 									}
 									for (var k in me.formData) {
@@ -1285,7 +1339,7 @@
 								
 								if (this.formData.business_email) { // 濉啓浜嗛偖绠憋紝鍒欐洿鏂癿d_org涓殑閭淇℃伅
 									var param = {
-										dataname: "md_org",
+										dataname: "md_org_account",
 										id: this.formData.org_id,
 										data: {
 											md_org: {
@@ -1381,7 +1435,6 @@
 							// 	return
 							// }
 							
-							console.log(param);
 							// return 0
 							Server.call("root/data/" + operator_, param, function(result) {
 								console.log(result);
@@ -1449,56 +1502,13 @@
 							// var table_provinces_ = [];
 							
 							for (var r in entity_) {
-								// if (r == "product_id") {
-								// 	var products_ = entity_[r];
-								// 	products_.map(p=>{
-								// 		var p_ = {
-								// 			product_line_id: p[0],
-								// 			product_line_name: me.productobj_map[p[0]],
-											
-								// 		};
-								// 		if (p.length == 2) {
-								// 			p_.product_id = p[1];
-								// 			p_.product_name = me.productobj_map[p[1]]
-								// 		}
-										
-								// 		// 濡傛灉宸茬粡瀛樿繃鍒檌d淇濇寔涓嶅彉
-								// 		if (me.old_md_org_account_product_obj[p[0] + p[1]]) {
-								// 			p_.id = me.old_md_org_account_product_obj[p[0] + p[1]].id
-								// 		}
-										
-								// 		// 锛堢己鍔熻兘锛夊鏋滄湰娆℃暟鎹腑娌℃湁浜嗭紝鍒欓渶瑕佸垹闄ゅ師鏁版嵁銆傜洰鍓嶆病鏈夊垹闄ゅ姩浣溿��
-										
-										
-								// 		table_products_.push(p_);
-								// 	})
-								// }
-								// else if (r == "province") {
-								// 	var provinces_ = entity_[r];
-								// 	provinces_.map(p=>{
-								// 		var p_ = {
-								// 			area: p[0],
-								// 			province: p[1]
-								// 		};
-										
-								// 		// 濡傛灉宸茬粡瀛樿繃鍒檌d淇濇寔涓嶅彉
-								// 		if (me.old_md_org_account_province_obj[p[0] + p[1]]) {
-								// 			p_.id = me.old_md_org_account_province_obj[p[0] + p[1]].id
-								// 		}
-										
-								// 		// 锛堢己鍔熻兘锛夊鏋滄湰娆℃暟鎹腑娌℃湁浜嗭紝鍒欓渶瑕佸垹闄ゅ師鏁版嵁銆傜洰鍓嶆病鏈夊垹闄ゅ姩浣溿��
-										
-										
-								// 		table_provinces_.push(p_);
-								// 	})
-								// }
-								// else 
 								if (entity_[r] || entity_[r] == 0) {
 									entity[r] = entity_[r];
 								}
 							}
 							
 							var tableData_ = [];
+							var md_org_account_criteria_ = []
 							this.tableData.map(r=>{
 								var row_ = {};
 								for (var k in r) {
@@ -1509,6 +1519,14 @@
 								tableData_.push(row_);
 							})
 							
+							if (tableData_.length == 0) {
+								Root.message({
+									type: 'warning',
+									message: '璇峰厛娣诲姞鏄庣粏鏁版嵁'
+								});
+								me.iscommit = false
+								return
+							}
 							if (tableData_.length == 0) {
 								Root.message({
 									type: 'warning',
@@ -1528,13 +1546,33 @@
 							if(me.iscommit) {
 							    // param.to_state = "OpeningApproval";//鎻愪氦
 								if (me.formData.org_ncc_id) {
-									param.refer = {
-										dataname: "md_org_account_ncc",
-										id: me.formData.org_ncc_id
-									}
+									// param.refer = {
+									// 	dataname: "md_org_account",
+									// 	id: me.formData.org_ncc_id
+									// }
 								}
 								
 							}
+							me.formdata_rule_group.map(group => {//
+								group.children.map(unitobj => {
+									if (!unitobj.criteria_value) {
+										Root.message({
+											type: 'warning',
+											message: '璇峰厛娣诲姞鏄庣粏鏁版嵁'
+										});
+										me.iscommit = false
+										return
+									}
+									var row_ = {
+										parent_id: me.formData.id,
+										criteria_id: unitobj.id,
+										criteria_value: unitobj.criteria_value,
+										remark: unitobj.remark ? unitobj.remark : '',
+									}
+									md_org_account_criteria_.push(row_);
+								})
+							})
+							param.data["md_org_account_criteria"] = md_org_account_criteria_.length ? md_org_account_criteria_ : null;
 							
 							param.data[this.dataname] = entity;
 							param.data[this.table_dataname] = tableData_;
@@ -1553,8 +1591,6 @@
 								return
 							}
 							
-							console.log(param);
-							// return
 							Server.call("root/data/" + operator_, param, function(result) {
 								console.log(result);
 								if (result.success) {
@@ -1774,6 +1810,22 @@
 				padding: 5px;
 				box-sizing: border-box;
 			}
+			.me_h_itemgroup_row {
+                margin-bottom: 10px;
+            }
+			.me_h_itemgroup_row .me_h_unitlabel:before {
+                content: '*';
+                color: #F56C6C;
+                margin-right: 4px;
+            }
+			.me_h_itemgroup_row .me_h_nounitlabel:before {
+			    content: '*';
+			    color: #F56C6C00;
+			    margin-right: 4px;
+			}
+			.itemgroup_row_item {
+				text-align: left;
+			}
 		</style>
 		
 	</head>
@@ -1839,6 +1891,87 @@
 							
 							
 						</div>
+						<div v-if='formFields.length>0' class="el-dialog__body" style="width: 100%; float: right; ">
+							<div>
+								<div class="h_table_title"><i class="iconfont icon-fuzhushuxian" style="color: rgb(2, 112, 193);"></i><span style="font-size: 16px;">鎺ㄥ箍鍟嗚瘎鍒�</span></div>
+								</i>
+								<!-- <el-row style="display: flex;flex-direction: row;justify-content:space-between;padding-left: 91px;padding-top: 10px;" >
+									<el-col :span="16"><div class="itemgroup_field"><span>璇勫垎椤�</span></div></el-col>
+									<el-col :span="8"><div class="itemgroup_field"><span>璇勫垎</span></div></el-col>
+								</el-row> -->
+								<div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div>
+								<template v-for="(formgroup, k) in formdata_rule_group">
+									<div  style="display: flex;justify-content: space-between;padding: 5px;">
+										<div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;">
+											<div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;">
+												<!-- {{formgroup.groupname}} -->
+												{{formgroup.group_name}}
+											</div>
+										</div>
+										<div style="width: 93%;padding: 0 10px;">
+											
+											<el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row">
+												<el-col :span="6" class="itemgroup_row_item">
+													<div>
+														<span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 12px;">
+															<!-- {{unitobj.content_before}} -->
+															{{unitobj.content_before}}
+														</span>
+													</div>
+												</el-col>
+												<el-col :span="18" >
+													<div v-if="unitobj.content_type == 'textarea'">
+														<el-input  style="width:100%" type="textarea" 
+															v-model="unitobj.criteria_value">
+														</el-input>
+													</div>
+													<div v-else-if="unitobj.content_type == 'radio' && !unitobj.dictionary_id">
+														<el-radio-group  v-model="unitobj.criteria_value">
+															<el-radio label="T">鏄�</el-radio>
+															<el-radio label="F">鍚�</el-radio>
+														</el-radio-group>
+													</div>
+													<div v-else-if="unitobj.content_type == 'radio' && unitobj.dictionary_id">
+														<el-radio-group  v-model="unitobj.criteria_value">
+															<el-radio v-for="(r, k) in unitobj.options" :key="unitobj.id + k" :label="r.code">{{r.value}}</el-radio>
+														</el-radio-group>
+													</div>
+													<div v-else-if="unitobj.content_type == 'input'">
+														<el-input  style="width:100%" 
+															v-model="unitobj.criteria_value">
+														</el-input>
+													</div>
+													<div v-else-if="unitobj.content_type == 'date'">
+														<el-date-picker  style="width:100%" type="date" value-format="yyyy-MM-dd"
+															v-model="unitobj.criteria_value">
+														</el-date-picker>
+													</div>
+													<div v-else-if="unitobj.content_type == 'upload'">
+														<table>
+															<tr>
+																<td align="left" style="width: 100%; padding: 0px; overflow: hidden; border-bottom: 1px solid #DCDFE6;">
+																	<span class="h_cellclick" @click="buttonArrayClick(unitobj, {code:'showfile'})">{{unitobj.criteria_value}}</span>
+																</td>
+																<td >
+																	<template v-if="isBusiness && unitobj.criteria_value">
+																		<el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'delfile'})" icon="el-icon-delete" class="form_delfile">鍒犻櫎闄勪欢</el-button>
+																	</template >
+																	
+																	<template v-else-if="isBusiness && !unitobj.criteria_value">
+																		<el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'upload'})" icon="el-icon-upload" class="form_uploadfile">闄勪欢涓婁紶</el-button>
+																	</template >
+																</td>
+															</tr>
+														</table>
+													</div>
+												</el-col>
+											</el-row>
+										</div>
+									</div>
+									<div style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div>
+								</template >
+							</div>
+						</div>
 					</div>
 					
 					<el-dialog title="濉啓鍘熷洜" :visible.sync="reasonvisible" height="50%">
diff --git a/module/md/page/customer/page/customer_list_account.html b/module/md/page/customer/page/customer_list_account.html
index 572f99e..a820d5f 100644
--- a/module/md/page/customer/page/customer_list_account.html
+++ b/module/md/page/customer/page/customer_list_account.html
@@ -730,7 +730,7 @@
 									code: "edit",isselected: true,classname: "",
 									disabled: function(selectRowList) {
 										var bo_ = true;
-										if (selectRowList[0] && selectRowList[0].source == "DMS") {
+										if (selectRowList[0] && selectRowList[0].state_code == "Input") {
 											bo_ = false;
 										}
 										return bo_
@@ -740,17 +740,26 @@
 									}
 								},
 								{
-									name: "寮�鎴�", isbuttonshow:  me.cbuttons_r.accountOpen ? me.cbuttons_r.accountOpen : false,type:"success",icon: "el-icon-news",
+									name: "棰勫悎浣滅敵璇�", isbuttonshow: true,type:"success",icon: "el-icon-news",
 									code: "account",isselected: true,classname: "",
 									disabled: function(selectRowList) {
 										var bo_ = true;
-										if (selectRowList[0] && selectRowList[0].source == "DMS" && !selectRowList[0].is_distributor) {
+										if (selectRowList[0] && selectRowList[0].state_code == "Prepared") {
 											bo_ = false;
 										}
 										return bo_
 									},
 									onclick: function(obj) {
-										me.openCustomerUser('add')
+										
+										// obj.selectedList
+										// me.closeData('browse', obj.selectedList[0]);
+										// me.commitData(obj.selectedList[0]);
+										obj.selectedList[0]['company_id'] = '1181'
+										obj.selectedList[0]['company_name'] = '姹囧畤鍒惰嵂'
+										obj.selectedList[0]['bu_id'] = 'BU-GM'
+										obj.selectedList[0]['bu_name'] = '鑲跨槫'
+										console.log(obj.selectedList[0])
+										me.openCustomerUser('add', obj.selectedList[0]);
 									}
 								},
 								// {
@@ -845,7 +854,7 @@
 								},
 								
 								{
-									name: "鍏虫埛", isbuttonshow:  me.cbuttons_r.accountClose ? me.cbuttons_r.accountClose : false,type:"danger",icon: "el-icon-circle-close",
+									name: "閫�鍑�", isbuttonshow:  me.cbuttons_r.accountClose ? me.cbuttons_r.accountClose : false,type:"danger",icon: "el-icon-circle-close",
 									code: "account",isselected: true,classname: "",
 									disabled: function(selectRowList) {
 										var bo_ = true;
@@ -939,6 +948,7 @@
 										me.openCustomerUser('edit', obj.selectedList[0]);
 									}
 								},
+								
 								{
 									// name: "璇︽儏", // type: "primary", // icon: "el-icon-edit",
 									isbuttonshow: me.cbuttons_r.formdetail ? me.cbuttons_r.formdetail : false,
@@ -1337,7 +1347,7 @@
 								width: "1100px",
 								height: "520px",
 								icon: "icon-product",
-								text: "瀹㈠晢淇℃伅" + (row.name ? row.name : ""),
+								text: "鎺ㄥ箍鍟嗕俊鎭�" + (row.name ? row.name : ""),
 								id: "customer_basic" + (row.id? row.id : "add"),//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
 								url: "module/md/page/customer/page/customer_basic.html",
 								data: row,
diff --git a/module/md/page/customer/page/evaluation_management.html b/module/md/page/customer/page/evaluation_management.html
index 518268d..8e083f9 100644
--- a/module/md/page/customer/page/evaluation_management.html
+++ b/module/md/page/customer/page/evaluation_management.html
@@ -25,8 +25,8 @@
 							// // {code: "Closed", name: "澶辨晥", dataname:"so_implant", filterTxt: "state_code='Open'",},
 							// {code: "All", name: "鍏ㄩ儴", dataname: "md_target_dealer", filterTxt: "1 = 1", orderby: "update_time desc"},
 
-							{code: "Current", name: "褰撳墠璇勪及", dataname: "md_org", filterTxt: "1=1", orderby: ""},
-							{code: "History", name: "鍘嗗彶璇勪及", dataname: "md_org", filterTxt: "1=1", orderby: ""},
+							{code: "Current", name: "褰撳墠璇勪及", dataname: "md_org_account", filterTxt: "1=1", orderby: "update_time desc"},
+							{code: "History", name: "鍘嗗彶璇勪及", dataname: "md_org_account", filterTxt: "1=1", orderby: ""},
 							// {code: "Apply", name: "鎸囨爣鐢宠", dataname: "md_target_apply", filterTxt: "1 = 1", orderby: "update_time desc"},
 						],
 						tabs: [],
@@ -153,10 +153,18 @@
 									metas.map(f=>{
 										f.isshow = "T";
 										tableFields_.push(clone(f));
+										if (f.isfilter) {
+											filterFields_.push(clone(f));
+										}
+										else {
+											var filter_f = clone(f);
+											filter_f.isshow = "F";
+											filterFields_.push(filter_f);
+										}
 									})
 									if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
-									me.selectTabObj.filterFields = clone(me.default_filterFields);
-									me.selectTabObj.tableFields = clone(me.default_tableFields);
+									me.selectTabObj.filterFields = clone(filterFields_);
+									me.selectTabObj.tableFields = clone(tableFields_);
 								}
 								}
 
@@ -259,7 +267,7 @@
 								width: "1100px",
 								height: "520px",
 								icon: "icon-product",
-								text: "鎺ㄥ箍鍟嗕俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""),
+								text: "鎺ㄥ箍鍟嗚瘎浼颁俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""),
 								id: "evaluation_management_edit" + row.id + sceneCode,
 								url: "module/md/page/customer/page/evaluation_management_edit.html",
 								data: row,
diff --git a/module/md/page/customer/page/evaluation_management_edit.html b/module/md/page/customer/page/evaluation_management_edit.html
index 35ea2c0..da88915 100644
--- a/module/md/page/customer/page/evaluation_management_edit.html
+++ b/module/md/page/customer/page/evaluation_management_edit.html
@@ -15,7 +15,8 @@
 				new FormVue({
 					el: "#vbody",
 					data: {
-						dataname: "md_org_account_criteria",
+						// dataname: "md_org_account_criteria",
+						dataname: "md_org_account",
 						title: "鎺ㄥ箍鍟嗚瘎浼颁俊鎭�",
 						newformData: {
 							id: uuid_short(),
@@ -78,10 +79,190 @@
 						
 						formFields: [],
 						
-						formData: {},
-						formData_: [],
-						formData_group:[],
-						formdata_obj:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}],
+						formData_criteria: [], //璇勫垎琛ㄨ繑鍥炵殑鏄暟缁�
+						formFields_criteria: [],
+						formdata_rule_group:[],
+
+						activities: [
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '涓村簥鎷滆',
+							timestamp: '2024-04-15',
+							remark:'娴嬭瘯淇℃伅',
+							}, 
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '鎻愬崟',
+							timestamp: '2024-06-10',
+							remark:'娴嬭瘯淇℃伅',
+							},
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '涓撮噰',
+							timestamp: '2024-06-29',
+							remark:'娴嬭瘯淇℃伅',
+							},
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '杩囦細鍑嗗涓庢矡閫�',
+							timestamp: '2024-07-01',
+							remark:'娴嬭瘯淇℃伅',
+							},
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '鍏ラ櫌閲囪喘',
+							timestamp: '2024-07-15',
+							remark:'娴嬭瘯淇℃伅',
+							},
+							{
+							id:uuid_short(),
+							code:uuid_short()+'01',
+							content: '姝e紡閲囪喘',
+							timestamp: '',
+							remark:'娴嬭瘯淇℃伅',
+							},
+						],
+						treeData: [{
+							id:1,
+							time: '2024鎺ㄥ箍鍟嗘祦鍚戞眹鎬�',
+							amt:4200,
+							children: [{
+								id:2,
+								time: '2024-01瀛e害閲戦姹囨��',
+								amt:1200,
+								children: [{
+									id:6,
+									time: '01鏈堥噾棰�',
+									amt:300,
+								},
+								{
+									id:7,
+									time: '02鏈堥噾棰�',
+									amt:400,
+								},
+								{
+									id:8,
+									time: '03鏈堥噾棰�',
+									amt:500,
+								}]
+							},
+							{
+								id:3,
+								time: '2024-02瀛e害閲戦姹囨��',
+								amt:1000,
+								children: [{
+									id:9,
+									time: '04鏈堥噾棰�',
+									amt:300,
+								},
+								{
+									id:10,
+									time: '05鏈堥噾棰�',
+									amt:400,
+								},
+								{
+									id:11,
+									time: '06鏈堥噾棰�',
+									amt:500,
+								}]
+							},
+							{
+								id:4,
+								time: '2024-03瀛e害閲戦姹囨��',
+								amt:1000,
+								children: [{
+									id:12,
+									time: '07鏈堥噾棰�',
+									amt:300,
+								},
+								{
+									id:13,
+									time: '08鏈堥噾棰�',
+									amt:400,
+								},
+								{
+									id:14,
+									time: '09鏈堥噾棰�',
+									amt:500,
+								}]
+							},
+							{
+								id:5,
+								time: '2024-04瀛e害閲戦姹囨��',
+								amt:1000,
+								children: [{
+									id:15,
+									time: '10鏈堥噾棰�',
+									amt:300,
+								},
+								{
+									id:16,
+									time: '11鏈堥噾棰�',
+									amt:400,
+								},
+								{
+									id:17,
+									time: '12鏈堥噾棰�',
+									amt:500,
+								}]
+							}
+						],
+						}],
+						treeTxtFormatter: "{time} 锟amt}",
+						currentnodekey: 8,
+						defaultExpandedKeys: [2,6],
+						maxlevel:6,
+
+						tableData:[
+							{
+								
+								date:'2024-08-01',
+								// date:new Date(stamp).toISOString().replace(/T/, ' ').replace(/\..+/, '').substring(0, 19),
+								product:'澶氳タ浠栬禌娉ㄥ皠娑�',
+								qty:'12',
+								price:'2000',
+								amt:'24000',
+								rank:'D',
+								sale_employe:'',
+							},
+						],
+						isEditTableData: false,
+						tableFields: [
+							// {isshow: "F", field: "id", name: "id", width: "70"},
+							//{isshow: "T", field: "category_id", name: "鍗忚绫诲瀷-ID", width: "100"},
+							{isshow: "T", field: "date", name: "鏇存柊鏃ユ湡", width: "100"},
+							//{isshow: "T", field: "template_id", name: "妯℃澘-ID", width: "100"},
+							{isshow: "F", field: "code", name: "鎺ㄥ箍鍟嗙紪鐮�", width: "100"},
+							{isshow: "F", field: "name", name: "鎺ㄥ箍鍟嗗悕绉�", width: "220",align:'left',isminwidth:'T'},
+							{isshow: "T", field: "product", name: "浜у搧", width: "100",isminwidth:'T'},
+							{isshow: "T", field: "qty", name: "浜у搧鏁伴噺", width: "100"},
+							{isshow: "T", field: "price", name: "浜у搧鍗曚环", width: "100",formatter:"formatter_money",prefix:'锟�'},
+							{isshow: "T", field: "amt", name: "鎬婚噾棰�", width: "100",formatter:"formatter_money",prefix:'锟�'},
+							{isshow: "T", field: "rank", name: "绛夌骇鍒掑垎", width: "100"},
+							{isshow: "T", field: "sale_employe", name: "褰掑睘浜哄憳", width: "100"},
+							//{isshow: "T", field: "state_code", name: "鍗忚鐘舵��-缂栫爜", width: "100"},
+							// {isshow: "T", field: "state_name", name: "瀹㈣璇勪及", type:"tag", tagtype: '{^鑽夌^:^info^,^鐢熸晥^:^success^,^鍏抽棴^:^danger^}', width: "80"},
+							// {isshow: "T", field: "", name: "瀹㈣璇勪及", headercolor: "#bdf1ff", children: [
+							// 	{isshow: "T", field: "completion_rate", name: "瀹屾垚鐜�", width: "100", headercolor: "#bdf1ff"},
+							// 	{isshow: "T", field: "exploitation_rate", name: "寮�鍙戠巼", width: "100", headercolor: "#bdf1ff"},
+							// 	{isshow: "T", field: "growth_rate", name: "澧為暱鐜�", width: "100", headercolor: "#bdf1ff"},
+							// 	{isshow: "T", field: "reach_rate", name: "杈炬爣鍗犳瘮", width: "100", headercolor: "#bdf1ff",formatter:"formatter_percent",align:"right",suffix:"%"},
+							// ]},
+							// {isshow: "T", field: "", name: "涓昏璇勪及", headercolor: "#e5ffab", children: [
+							// 	{isshow: "T", field: "customer_item", name: "瀹㈡埛璇勪及", width: "100", headercolor: "#e5ffab"},
+							// 	{isshow: "T", field: "hospital_item", name: "鍖婚櫌璇勪及", width: "100", headercolor: "#e5ffab"},
+							// 	{isshow: "T", field: "employee_item", name: "閿�鍞瘎浼�", width: "100", headercolor: "#e5ffab"},
+					
+							// ]},
+						],
+
+						stepStatus:['wait','process','finish','error','success'],
+						active:0,
 						
 						//鎸夐敭鏉冮檺璁剧疆
 						isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦
@@ -110,24 +291,24 @@
 								
 							}
 							else if (this.popupParames.sceneCode == "browse") {//鍙
-								var newEntity_ = {
-									name: "md_org_account_criteria",
-									url: "root/data/getEntitySet",
-									paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
-									isnotoption: true, //true:涓嶆槸閫夐」
-								}
-								this.dataRequest.push(newEntity_);
+								// var newEntity_ = {
+								// 	name: "md_org_account_criteria",
+								// 	url: "root/data/getEntitySet",
+								// 	paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
+								// 	isnotoption: true, //true:涓嶆槸閫夐」
+								// }
+								// this.dataRequest.push(newEntity_);
 								this.formAttr.disabled = true;
 							}
 							else if (this.popupParames.sceneCode == "edit") {//缂栬緫
-								//鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹�
-								var newEntity_ = {
-									name: "md_org_account_criteria",
-									url: "root/data/getEntitySet",
-									paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
-									isnotoption: true, //true:涓嶆槸閫夐」
-								}
-								this.dataRequest.push(newEntity_);
+								// //鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹�
+								// var newEntity_ = {
+								// 	name: "md_org_account_criteria",
+								// 	url: "root/data/getEntitySet",
+								// 	paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
+								// 	isnotoption: true, //true:涓嶆槸閫夐」
+								// }
+								// this.dataRequest.push(newEntity_);
 								
 								// if (this.newformData) {
 								// 	let formData_ = clone(this.formData);
@@ -137,7 +318,6 @@
 								// 	}
 								// 	this.formData = formData_;
 								// }
-								this.isedit = true;
 								this.isedit = true;
 							}
 							else if (this.popupParames.sceneCode == "approval") {//瀹℃壒
@@ -165,53 +345,23 @@
 								me.dataRequestObj = data;
 								//棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson
 								if (me.dataRequestObj.md_org_account_criteria_rule) {
-									var formData_group_ = []
-									// var formdata_obj = {}
-									formData_group_ = me.dataRequestObj.md_org_account_criteria_rule
-									me.formData_ = formData_group_
-									me.formData_group = [...new Set(formData_group_.map(e=>e.group_name))]
-									// me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Objective')[0])
-									// me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Subjective')[0])
-									// me.formData_group.map(e=>e['children'] = [])
-
-									// me.formData_group.map(e=>{
-									// 	formData_group_.map()
-									// })
-									// console.log(me.formData_group)
-									// me.formData_group.map(e=>{
-									// // me.formdata_obj[e.group_code] = [] 
-									// 	e[children]
-									// })
-									// Object.assign()
-								}
-								if (me.dataRequestObj.md_org_account_criteria) {
-									var formData_ = []
-									formData_ = me.dataRequestObj.md_org_account_criteria.data.entityset
-									// formData_.m
-									me.formData_.map(g=>{
-										formData_.map(e=>{
-											if (g.id == e.criteria_id) {
-												e['group_name'] = g.group_name
-												e['group_code'] = g.group_code
-												e['content_before'] = g.content_before
-												e['content_type'] = g.content_type
-											}
-										})
+									var obj_ = {}
+									me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule;
+									me.formFields_criteria.map(e=>{
+										if (!obj_[e.group_code]) {
+											
+											var obj = {}
+											obj_[e.group_code] = e.group_code
+											obj_[e.group_name] = e.group_name
+											//obj_鐢ㄤ綔妫�娴嬫槸鍚﹂噸澶嶏紝鑻ユ湭閲嶅锛屽垯灏嗚obj鏀惧叆(鑰屼笉鏄斁鍏bj_) 鏋勫缓鐨刦ormdata_rule_group缁撴瀯濡備笅
+											// formdata_rule_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}],
+											obj['group_code'] = e.group_code
+											obj['group_name'] = e.group_name
+											obj['children'] = []
+											// obj.children.push(e)
+											me.formdata_rule_group.push(obj)
+										}
 									})
-									me.formdata_obj.map(g=>{
-										formData_.map(v=>{
-											if (v.group_code == g.group_code) {
-												// v['content_before'] = g.content_before
-												g.children.push(v)
-											}
-										})
-									})
-									// formData_.map(e => {
-									// 	e['children'] = me.formData_group.filter(v => v.id == e.criteria_id).length > 0 ? me.formData_group.filter(v => v.id == e.criteria_id)[0] : {}
-									// 	formdata_obj[e.] 
-									// })
-									console.log(me.formdata_obj)
-									
 								}
 								if (me.dataRequestObj.md_geo_county) {
 									var md_geo_county_obj_ = {};
@@ -287,6 +437,49 @@
 						initData() {
 							let me = this;
 							var id_ = null;
+							if (this.formData.id) {
+								id_ = this.formData.id;
+							}
+							this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
+								// if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
+
+								// }
+								if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) {
+									var criteria_data = []
+									me.formData_criteria = result.data.md_org_account_criteria
+									me.formFields_criteria.map(f=>{
+										me.formData_criteria.map(v=>{
+											if (f.id == v.criteria_id) {
+												var obj_ = {}
+												Object.assign(obj_,f,v)
+												criteria_data.push(obj_)
+											}
+										})
+									})
+									me.formdata_rule_group.map(g => {
+										criteria_data.map(v => {
+											if (v.group_code == g.group_code) {
+												g.children.push(v)
+											}
+										})
+									})
+								}
+								else {
+									me.formdata_rule_group.map(g=>{
+										me.formFields_criteria.map(f=>{
+											if(f.group_code == g.group_code) {
+												g.children.push(f)
+											}
+										})
+									})
+								}
+								if (result.meta) {
+									me.fieldsToFieldsObj();
+									
+									//璁剧疆瀛楁浜嬩欢
+									me.tableFieldClick();
+								}
+							})
 							
 						},
 						
@@ -381,105 +574,83 @@
 								}
 							});
 						},
-						open_terminallist(obj) {
-							var me = this;
-							Root.showPopup({
-								url: "../md/customer/popup/customer_list.html",
-								width: 800,
-								height: 550,
-								data: this.oldObj,
-								dataname: "customer",
-								callback: function(obj, callback) {
-									let formData_ = clone(me.formData);
-									formData_.customer_name = obj.row.md_description;
-									formData_.customer_code = obj.row.md_code;
-									formData_.customer_id = obj.row.id;
-									
-									me.formData = formData_;
-									if (callback) {
-										callback();
-									}
-								}
-							});
-						},
-						open_productlist(obj) {
-							var me = this;
-							Root.showPopup({
-								url: "../md/product/popup/sku_list.html",
-								width: 800,
-								height: 550,
-								callback: function(obj, callback) {
-									let formData_ = clone(me.formData);
-									
-									formData_.product_id = obj.row.id;
-									formData_.product_code = obj.row.md_code;
-									formData_.product_name = obj.row.md_description;
-									//formData_.spec = obj.row.pack_specification;
-									
-									me.formData = formData_;
-									if (callback) {
-										callback();
-									}
-								}
-							});
-						},
 						
-						tablepopup_customerlist(obj) {
-							var me = this;
-							Root.showPopup({
-								url: "../md/customer/popup/customer_list.html",
-								width: 800,
-								height: 550,
-								data: this.oldObj,
-								dataname: "customer",
-								callback: function(callbackobj, callback) {
-									obj.row.customer_code = callbackobj.row.md_code
-									obj.row.customer_name = callbackobj.row.md_description
+						stepClick(index) {
+							console.log(index)
+						},
+						onNodeClick(data) {
+							console.log(data)
+						},
+						openDetail(row) {
+
+							this.$nextTick(() => {
+								this.activities.map(e => {
+									if (e.id == row.id) {
+										document.getElementById(e.content).classList.add("card-body")
+										document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.add("card-body")
+									}
+									else {
+										document.getElementById(e.content).classList.remove("card-body")
+										document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.remove("card-body")
+									}
 									
+									if (e.id == row.id) {
+										document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.add("timeline-node")
+									}
+									else {
+										document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.remove("timeline-node")
+									}
+								})
+							})
+
+							var me = this;
+							var data_ = {}; 
+							var text_ = row.content+"璇︽儏"
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "500px",
+								height: "80vh",
+								icon: "icon-product",
+								text: text_,
+								id: uuid_short(),//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/md/page/customer/page/404.html",
+								data: data_,
+								delta: {},
+								// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
+								sceneCode: 'browser',//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(popupobj, popupcallback) {
+									callback(popupobj)
+									
+									if (popupcallback) {
+										popupcallback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						openDocument() {
+							let me = this;
+							var row = {}
+							var config = {
+								totab: true, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "1100px",
+								height: "520px",
+								icon: "icon-product",
+								text: "閬撮�変俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""),
+								id: "evaluation_management_edit",
+								url: "module/md/page/customer/page/404.html",
+								data: row,
+								delta: {},
+								sceneCode: 'browse',//"refuseedit",//"approval", //"add"//"browse",
+								callback: function(obj, callback) {
+									me.onQuery();
 									if (callback) {
 										callback();
 									}
 								}
-							});
+							};
+							me.doPopupByPublic(config);
 						},
-						tablepopup_terminallist(obj) {
-							var me = this;
-							Root.showPopup({
-								url: "../md/customer/popup/customer_list.html",
-								width: 800,
-								height: 550,
-								data: this.oldObj,
-								dataname: "customer",
-								callback: function(callbackobj, callback) {
-									obj.row.terminal_id = callbackobj.row.id
-									obj.row.terminal_name = callbackobj.row.md_description
-									
-									if (callback) {
-										callback();
-									}
-								}
-							});
-						},
-						tablepopup_productlist(obj) {
-							var me = this;
-							Root.showPopup({
-								url: "../md/product/popup/sku_list.html",
-								width: 800,
-								height: 550,
-								callback: function(callbackobj, callback) {
-									obj.row.product_id = callbackobj.row.id;
-									obj.row.product_code = callbackobj.row.md_code;
-									obj.row.product_name = callbackobj.row.md_description;
-									obj.row.spec = callbackobj.row.pack_specification;
-									obj.row.pack = callbackobj.row.unit;
-									
-									if (callback) {
-										callback();
-									}
-								}
-							});
-						},
-						
 						//鎻愪氦
 						submitRowTable() {
 							//蹇呭~椤规牎楠�
@@ -498,108 +669,81 @@
 						//淇濆瓨
 						saveRowTable() {
 							var me = this;
-							var operator_ = "save";//淇濆瓨
+							var operator_ = "saveEntity";//淇濆瓨
+							//鏁版嵁妫�楠�
+							var formData_criteria_ = []
+							var formData_criteria_new = []
+							var criteria_ = {}
+							
+							me.formdata_rule_group.map(g=>{
+								formData_criteria_ = formData_criteria_.concat(g.children)
+							}) //缂栬緫椤甸潰鐨勮瘎鍒嗘暟鎹拰棰樼洰
+							// 姣旇緝 formData_criteria_涓庡師鏁版嵁
+							me.formData_criteria.map(fo=>{
+								formData_criteria_.map(fn=>{
+									if (fo.criteria_id == fn.criteria_id) { //fo涓柊澧炵殑棰樼洰涓嶅弬涓庢瘮杈�
+										var str1 = fo.criteria_id + fo.criteria_value
+										var str2 = fn.criteria_id + fn.criteria_value
+										if (str1 === str2){}
+										else {
+											formData_criteria_new.push(fn)
+										}
+									}
+								})
+							})
 						
-							var entity_ = clone(this.formData);
-							var entity = {};
-							for (var r in entity_) {
-								// if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
-									entity[r] = entity_[r];
-								// }
-							}
-							if(me.iscommit) {
-								operator_ = "commit";//鎻愪氦
-								entity.state_code = "Open"
-								entity.state_name = "宸茬敓鏁�"
-							}
+							// me.formdata_rule_group.map(g=>{
+								
+							// })
+							
+							// var entity_ = clone(this.formData);
+							// var entity = {};
+							// for (var r in entity_) {
+							// 	// if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
+							// 		entity[r] = entity_[r];
+							// 	// }
+							// }
+							// if(me.iscommit) {
+							// 	operator_ = "commit";//鎻愪氦
+							// 	entity.state_code = "Open"
+							// 	entity.state_name = "宸茬敓鏁�"
+							// }
 							let param = {
-								dataname: this.dataname,
-								// dataname: "md_org_customer",
-								// operator: operator_,
+								dataname: 'md_org_account_criteria',
 								data: {},
 							}
-							param.data[this.dataname] = entity;
-							
-							Server.call("root/data/uniqueSaveEntity", param, function(result) {
-								console.log(result);
-								if (result.success) {
-									if(me.iscommit){
-										me.iscommit = false;
-										Root.message({
-											type: 'success',
-											message: '鎻愪氦鎴愬姛'
-										}); 
-										me.saveAfter();
-									}
-									else {
-										Root.message({
-											type: 'success',
-											message: '淇濆瓨鎴愬姛'
-										}); 
-										me.saveAfter();
-									}
+							if (formData_criteria_new.length > 0) { 
+								let param = {
+									dataname: "md_org_account_criteria",
+									data: {},
 								}
-							}, function(errorresult) {
-								console.log("閿欒淇℃伅", errorresult);
-								if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
-									if (errorresult.messages.list) {
-										me.iscommit = false;
-										var config = {
-											totab: false,
-											// width: "1200px",
-											// height: 800,
-											icon: "icon-product",
-											text: "閿欒淇℃伅",
-											url: "module/tool/page/popup_error_messages.html",
+								param.data['md_org_account_criteria'] = formData_criteria_;
+								Server.call("root/data/saveEntity", param, function (result) { 
+									console.log(result);
+									if (result.success) {
+										let formData_criteria_history = clone(me.formData_criteria)
+										formData_criteria_history.map(e =>{
+											e['data_id'] = e.id
+											delete e.id
+										})
+										let param_ = {
+											dataname: 'md_org_account_criteria_history',
 											data: {},
-											delta: errorresult.messages.list,
-											callback: function(obj, callback) {
-												if (callback) {
-													callback();
-												}
+										}
+										param_.data['md_org_account_criteria_history'] = formData_criteria_history;
+										Server.call("root/data/saveEntity", param_, function (result2) {
+											if (result2.success) {
+												Root.message({
+													type: 'success',
+													message: '淇濆瓨鎴愬姛'
+												});
+												me.saveAfter();
 											}
-										};
-										me.doPopupByPublic(config);
+											
+										});
 									}
-								}
-								else if (errorresult.exists_errors && errorresult.exists_errors.length) {
-									var messages_list = []
-									var index_ = 0;
-									errorresult.exists_errors.map(r=>{
-										index_ ++;
-										var messages_ = {
-											step: index_,
-											level: "Error",
-											message: r.title
-										}
-										messages_list.push(messages_)
-									})
-									me.iscommit = false;
-									var config = {
-										totab: false,
-										// width: "1200px",
-										// height: 800,
-										icon: "icon-product",
-										text: "閿欒淇℃伅",
-										url: "module/tool/page/popup_error_messages.html",
-										data: {},
-										delta: messages_list,
-										callback: function(obj, callback) {
-											if (callback) {
-												callback();
-											}
-										}
-									};
-									me.doPopupByPublic(config);
-								}
-								else {
-									me.iscommit = false;
-									Root.message({
-										type: 'error',
-										message: '鎻愪氦澶辫触'
-									});
-								}
-							});
+								})
+							}
 						},
 						
 					}
@@ -655,6 +799,29 @@
     			text-decoration: underline;
     			cursor: pointer;
 			}
+			div .h_table .h_h_table {
+				display: none;
+			}
+			div .custom-tree-node {
+				font-size: 14px;
+			}
+			div .custom-tree-node .nodeLabel{
+				max-width: 100%;
+			}
+			div .el-card__header {
+				padding: 10px 20px;
+			}
+			.el-card {
+				cursor: pointer;
+			}
+			.card-body {
+				background: #f0f7ff !important;
+				/* line-height: 32px; */
+				color: rgba(78, 151, 255, 1) !important;
+			}
+			.timeline-node {
+				background: rgba(78, 151, 255, 1) !important;
+			}
 		</style>
 		
 	</head>
@@ -667,6 +834,7 @@
 						<div class="dialog-title">
 						  <i class="iconfont icon-customermanagement"></i>
 						  <span> {{title}}</span>
+						  <el-button style="float: right;right: 10%;" @click="openDocument()">閬撮�夎烦杞�</el-button>
 						</div>
 					</div>	
 					<div :style="{height: dheight + 'px', 'overflow-y': 'auto'}">
@@ -674,15 +842,15 @@
 						<div class="el-dialog__body">
 							<!-- <div v-if="showtab.SYPG && activeTabName=='SYPG' && activeTabName_detail=='YWNL'"> -->
 							<div>
-								<div style="width: 100%; float: right;">
+								<div style=" border: 1px solid #C0C4CC ;padding: 5px">
 									<div >
 										<el-row style="display: flex;flex-direction: row;justify-content:space-between;padding-left: 91px;" >
-											<el-col :span="16"><div class="itemgroup_field"><span>璇勫垎椤�</span></div></el-col>
-											<el-col :span="8"><div class="itemgroup_field"><span>璇勫垎</span></div></el-col>
+											<el-col :span="6"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;margin-right: 10px;"><span>璇勫垎椤�</span></div></el-col>
+											<el-col :span="18"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;"><span>璇勫垎</span></div></el-col>
 											
 										</el-row>
 										<div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div>
-										<template v-for="(formgroup, k) in formdata_obj">
+										<template v-for="(formgroup, k) in formdata_rule_group">
 											<div  style="display: flex;justify-content: space-between;padding: 5px;">
 												<div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;">
 													<div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;">
@@ -693,7 +861,7 @@
 												<div style="width: 93%;padding: 0 10px;">
 													
 													<el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row">
-														<el-col :span="12" class="itemgroup_row_item">
+														<el-col :span="6" class="itemgroup_row_item">
 															<div>
 																<span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 13px;">
 																	<!-- {{unitobj.content_before}} -->
@@ -701,7 +869,7 @@
 																</span>
 															</div>
 														</el-col>
-														<el-col :span="12" >
+														<el-col :span="18" >
 															<div v-if="unitobj.content_type == 'textarea'">
 																<el-input  style="width:100%" type="textarea" 
 																	v-model="unitobj.criteria_value">
@@ -756,7 +924,63 @@
 								</div>
 							</div>
 						</div>
+						<el-row>
+							<el-col :span="12" style="padding-right: 10px;"  >
+								<el-card class="box-card" style="height: 408px;overflow: auto;">
+									<div slot="header" class="clearfix">
+									  <span style="font-size: 14px;font-weight: bold;">鎺ㄥ箍杩囩▼</span>
+									</div>
+									<el-timeline :reverse="false" style="padding-top: 10px;">
+										<!-- <el-timeline-item @click.native="openDetail(activity)"
+										  v-for="(activity, index) in activities"
+										  :key="index"
+										  :timestamp="activity.timestamp">
+										  {{activity.content}}
+										</el-timeline-item> -->
+										<el-timeline-item  :reverse="false" :id="row.id" v-for="(row, k) in activities" :key="k" :timestamp="row.timestamp" placement="top">
+											<div @click="openDetail(row)">
+												<el-card :id="row.content" shadow="hover">
+													<el-descriptions :title="row.content" :column="1" size="mini">
+														</el-descriptions-item>
+														<el-descriptions-item label="澶囨敞">{{row.remark}}</el-descriptions-item>
+													</el-descriptions>
+												</el-card>
+											</div>
+										</el-timeline-item>
+									</el-timeline>
+								  </el-card>
+								
+							</el-col>
+							<el-col :span="12" style="padding-right: 10px;" >
+								<el-card class="box-card" style="height: 408px;overflow: auto;">
+									<div slot="header" class="clearfix" style="height: 20%;">
+									  <span style="font-size: 14px;font-weight: bold;" >娴佸悜姹囨��</span>
+									</div>
+									<h-tree
+										:isfilter="true"
+										:tree-data="treeData"
+										:tree-txt-formatter="treeTxtFormatter"
+										:currentnodekey="currentnodekey"
+										:is-readonly="true"
+										:maxlevel="maxlevel"
+										:default-expand-all="false"
+										:default-expanded-keys="defaultExpandedKeys"
+										:isbottomadd="true"
+										
+										@node-click="onNodeClick"
+							>
+									</h-tree>
+								  </el-card>
+								
+							<!-- 
+							 
+							 -->
+						</div>
+							</el-col>
+							
+						</el-row>
 					</div>
+				
 					<div class="el-dialog__footer" style="position: absolute; bottom: 0px;  left: 0px; right: 0px;">
 						<el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button>
 						<el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>

--
Gitblit v1.8.0