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_basic_acct.html |  281 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 207 insertions(+), 74 deletions(-)

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%">

--
Gitblit v1.8.0