From a8961c1d00c17a5aa2658884df9479ed6fba94c3 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期二, 27 八月 2024 12:40:32 +0800
Subject: [PATCH] 调整

---
 module/md/page/customer/page/customer_basic_acct.html |  307 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 229 insertions(+), 78 deletions(-)

diff --git a/module/md/page/customer/page/customer_basic_acct.html b/module/md/page/customer/page/customer_basic_acct.html
index 34d8cec..2cfda12 100644
--- a/module/md/page/customer/page/customer_basic_acct.html
+++ b/module/md/page/customer/page/customer_basic_acct.html
@@ -483,20 +483,15 @@
 											var obj = {}
 											obj_[e.group_code] = e.group_code
 											obj_[e.group_name] = e.group_name
-											//obj_鐢ㄤ綔妫�娴嬫槸鍚﹂噸澶嶏紝鑻ユ湭閲嶅锛屽垯灏嗚obj鏀惧叆(鑰屼笉鏄斁鍏bj_) formdata_rule_group缁撴瀯濡備笅
+											//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['type_code'] = e.type_code
+											obj['type_name'] = e.type_name
 											obj['children'] = []
-											obj.children.push(e)
+											// obj.children.push(e)
 											me.formdata_rule_group.push(obj)
-										}
-										else {
-											me.formdata_rule_group.map(g=>{
-												if (g.group_code== e.group_code) {
-													g.children.push(e)
-												}
-											})
 										}
 									})
 								}
@@ -616,20 +611,30 @@
 							}
 							this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
 								if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) {
-									var formData_criteria_ = result.data.md_org_account_criteria
-									me.formFields_criteria.map(g => {
-										formData_criteria_.map(e => {
-											if (g.id == e.criteria_id) {
-												Object.assign(e,g)
+									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 => {
-										g.children = []
-										formData_criteria_.map(v => {
+										criteria_data.map(v => {
 											if (v.group_code == g.group_code) {
-												// v['content_before'] = g.content_before
 												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)
 											}
 										})
 									})
@@ -1323,6 +1328,7 @@
 								this.saveChangeRowTable();
 							}
 							else { // 寮�鎴锋彁浜�
+								me.loading_pass = true ;
 								var bo_JCXX = this.$refs.JCXX.checkForm();
 								
 								if (!bo_JCXX) {
@@ -1515,6 +1521,33 @@
 								}
 								tableData_.push(row_);
 							})
+							if (me.formData_criteria && me.formData_criteria.length > 0) { //涓嶆槸鏂板
+								me.formdata_rule_group.map(group => {//
+									group.children.map(unitobj => {
+										var row_ = {
+											id: unitobj.id,
+											parent_id: me.formData.id,
+											criteria_id: unitobj.criteria_id,
+											criteria_value: unitobj.criteria_value,
+											remark: unitobj.remark ? unitobj.remark : '',
+										}
+										md_org_account_criteria_.push(row_);
+									})
+								})
+							}
+							else {
+								me.formdata_rule_group.map(group => {//
+									group.children.map(unitobj => {
+										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_);
+									})
+								})
+							}
 							
 							if (tableData_.length == 0) {
 								Root.message({
@@ -1532,9 +1565,16 @@
 								me.iscommit = false
 								return
 							}
-							
+							if (md_org_account_criteria_.some(e=>e.criteria_value == '' || e.criteria_value == null)) {
+								Root.message({
+									type: 'warning',
+									message: '璇峰厛娣诲姞鏄庣粏鏁版嵁'
+								});
+								me.iscommit = false
+								return
+							}
 							let param = {
-								dataname: this.dataname,
+								dataname: 'md_org_account',
 								data: {},
 							}
 							if (me.formData.id) {
@@ -1550,25 +1590,6 @@
 								}
 								
 							}
-							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.org_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;
@@ -1593,11 +1614,11 @@
 								if (result.success) {
 									if(me.iscommit){
 										me.iscommit = false;
-										Root.message({
-											type: 'success',
-											message: '鎻愪氦鎴愬姛'
-										}); 
-										me.saveAfter();
+										// Root.message({
+										// 	type: 'success',
+										// 	message: '鎻愪氦鎴愬姛'
+										// }); 
+										me.doapprove()
 									}
 									else {
 										Root.message({
@@ -1639,6 +1660,57 @@
 								}
 							});
 						},
+						doapprove(){
+							var me = this
+							me.loading_pass = true;
+							let param = {
+							    dataname: "md_org_account",
+							    id: me.formData.id,
+								remark: this.approveremark
+							}
+							Server.call("root/data/approve", param, function(result) {
+								me.loading_pass = false;
+									// Root.message({
+									// 	type: 'success',
+									// 	message: '瀹℃壒鎴愬姛'
+									// }); 
+									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) {
@@ -1671,26 +1743,6 @@
 							// this.getMachine(function(next_step, up_step) { // 
 							// 	me.doRunApproval(next_step, up_step);
 							// });
-						},
-						
-						getMachine(callback) {
-							var me = this;
-							let param = {
-							    dataname: "md_org_account",
-							}
-							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) {
@@ -1807,6 +1859,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>
@@ -1872,16 +1940,16 @@
 							
 							
 						</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>
+						<div  class="el-dialog__body" style="width: 100%; float: right; " >
+							<div v-if="formFields.length>0" >
+								<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">
+								<template v-for="(formgroup, k) in formdata_rule_group.filter(e=>e.type_code == 'Selection')" >
 									<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;">
@@ -1902,28 +1970,30 @@
 												</el-col>
 												<el-col :span="18" >
 													<div v-if="unitobj.content_type == 'textarea'">
-														<el-input  style="width:100%" type="textarea" 
+														<el-input :disabled="formAttr.disabled" 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-group :disabled="formAttr.disabled"  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 :disabled="formAttr.disabled" 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%" 
+														<el-input :disabled="formAttr.disabled"  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"
+														<el-date-picker 
+															:disabled="formAttr.disabled"
+															 style="width:100%" type="date" value-format="yyyy-MM-dd"
 															v-model="unitobj.criteria_value">
 														</el-date-picker>
 													</div>
@@ -1935,11 +2005,11 @@
 																</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>
+																		<el-button :disabled="formAttr.disabled" 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>
+																		<el-button :disabled="formAttr.disabled" type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'upload'})" icon="el-icon-upload" class="form_uploadfile">闄勪欢涓婁紶</el-button>
 																	</template >
 																</td>
 															</tr>
@@ -1949,7 +2019,90 @@
 											</el-row>
 										</div>
 									</div>
-									<div style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div>
+									<div style="width: 100%;height: 5px;margin-top: 25px;background-color: gainsboro;opacity: 40%"></div>
+								</template >
+							</div>
+						</div>
+						<div  class="el-dialog__body" style="width: 100%; float: right; " >
+							<div v-if="formFields.length>0 " >
+								<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.filter(e=>e.type_code == 'Evaluation')">
+									<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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled"  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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled"  style="width:100%" 
+															v-model="unitobj.criteria_value">
+														</el-input>
+													</div>
+													<div v-else-if="unitobj.content_type == 'date'">
+														<el-date-picker 
+															:disabled="formAttr.disabled"
+															 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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-top: 25px;background-color: gainsboro;opacity: 40%"></div>
 								</template >
 							</div>
 						</div>
@@ -1975,10 +2128,8 @@
 							<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 && isedit" type="success" :loading="loading_pass"  @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>

--
Gitblit v1.8.0