From dcf9c9e0410fe1186239e3f8d6f7bdc789c08010 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 05 六月 2024 18:00:39 +0800
Subject: [PATCH] 1

---
 src/views/notification/editconfiguration.vue |   76 ++++++++++++++++++++++++--------------
 1 files changed, 48 insertions(+), 28 deletions(-)

diff --git a/src/views/notification/editconfiguration.vue b/src/views/notification/editconfiguration.vue
index b069299..cb6daff 100644
--- a/src/views/notification/editconfiguration.vue
+++ b/src/views/notification/editconfiguration.vue
@@ -4,7 +4,7 @@
 			<span>閫氱煡绫诲瀷 {{addBusinessForm.name}}</span>
 			<span>
 				鏈嶅姟鍟�
-				<el-select style="width: 80%"  v-model="serviceproviders" disabled>
+				<el-select style="width: 80%"  v-model="serviceproviders" :disabled="mode != 'add'">
 					<el-option v-for="item in addBusinessForm.providerInfos" :key="item.id" :label="item.name" :value="item.id"/>
 				</el-select>
 			</span>
@@ -12,7 +12,7 @@
 		<el-form :model="addBusinessForm" :rules="addBusinessRules" :disabled="mode=='show'" ref="dialogForm" label-width="140px" label-position="center">
 			<el-row>
 				<el-col :span="24">
-					<el-form-item label="璇疯緭鍏ラ厤缃悕绉�" prop="notifyTemplateName">
+					<el-form-item label="璇疯緭鍏ラ厤缃悕绉�" prop="pname">
 						<el-input v-model="addBusinessForm.pname" placeholder="妯$増鍚嶇О" clearable></el-input>
 					</el-form-item>
 				</el-col>
@@ -57,7 +57,7 @@
 				serviceproviders: "",
 				mode: "add",
 				titleMap: {
-					add: '鏂板',
+					add: '鏂板閰嶇疆',
 					edit: '缂栬緫閰嶇疆',
 					show: '鏌ョ湅'
 				},
@@ -73,7 +73,7 @@
 				},
 				//楠岃瘉瑙勫垯
 				addBusinessRules: {
-					notifyTemplateName:[{required: true, message: '璇疯緭鍏ユā鐗堝悕绉�'}]
+					pname:[{required: true, message: '璇疯緭鍏ユā鐗堝悕绉�'}]
 				},
 			}
 		},
@@ -91,29 +91,57 @@
 				this.addBusinessForm.configuration[index].value.splice(index1,1);
 			},
 			//鏄剧ず
-			open(mode='add'){
+			open(mode='add',obj){
+				if(mode == 'add') {
+					this.addBusinessForm = obj;
+					this.$nextTick(()=> {
+						this.serviceproviders = this.addBusinessForm.providerInfos[0].id;
+					})
+					var setArr = [];
+					obj.properties.forEach(item=> {
+						setArr.push({pname:item.name,value: "",name: item.name})
+					})
+					this.addBusinessForm.configuration = setArr;
+				}
 				this.mode = mode;
 				this.visible = true;
 				return this
 			},
 			//琛ㄥ崟鎻愪氦鏂规硶
 			businessSubmit(){
-				var obj = Object.assign({},this.addBusinessForm);
-				obj.notifyType = obj.notifyType;
-				obj.id = obj.notifyTemplateId;
-				obj.business = obj.businessKey;
-				obj.name = obj.notifyTemplateName;
-				obj.provider = obj.providerType;
-				obj.type = obj.notifyType;
-				var template = JSON.parse(obj.template);
-				for(var key in template) {
-					template[key] = obj[key];
+				var configuration = {};
+				this.addBusinessForm.configuration.forEach(item=> {
+					configuration[item.name] = item.value;
+				})
+				var obj = {
+					configuration: configuration,
 				}
-				obj.template = JSON.stringify(template);
+				if(this.mode == 'edit') {
+					obj.id = this.addBusinessForm.configEntity.id;
+					obj.name = this.addBusinessForm.configEntity.name;
+					obj.provider = this.addBusinessForm.configEntity.provider;
+					obj.type = this.addBusinessForm.configEntity.type;
+					if(this.addBusinessForm.configEntity.type == "email") {  //閭欢
+						var newArr = [];
+						configuration.properties.forEach(item=> {
+						    var formattedObject = {};
+						    item.forEach(item => {  
+						      formattedObject[item.name] = item.value;  
+						    });
+						    newArr.push(formattedObject);
+						})
+						configuration.properties = newArr;
+					}
+				}
+				if(this.mode == 'add') {  //鏂板
+					obj.name = this.addBusinessForm.pname;
+					obj.provider = this.serviceproviders;
+					obj.type = this.addBusinessForm.id;
+				}
 				this.$refs.dialogForm.validate(async (valid) => {
 					if (valid) {
 						this.isSaveing = true;
-						this.$HTTP.put("/api/blade-notify/business-notify/modify",obj).then(res=> {
+						this.$HTTP.put("/api/blade-notify/notifier/config",obj).then(res=> {
 							this.isSaveing = false;
 							if(res.code == 200) {
 								this.$emit('success', this.addBusinessForm, this.mode);
@@ -165,19 +193,11 @@
 						}
 					})
 				})
-				console.log(data.configuration,data)
-				// for(var key in res.data.configEntity.configuration) {
-				// 	res.data.configEntity.configuration['name'] = key;
-				// 	res.data.configEntity.configuration['value'] = res.data.configEntity.configuration[key];
-				// 	res.data.configEntity.configuration['type'] = res.data.id;
-				// }
 				//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
 				Object.assign(this.addBusinessForm,data);
-
-				// this.$nextTick(()=> {
-				// 	this.serviceproviders = this.addBusinessForm.providerInfos[0].id;
-				// })
-				// console.log(this.addBusinessForm)
+				this.$nextTick(()=> {
+					this.serviceproviders = this.addBusinessForm.providerInfos[0].id;
+				})
 			}
 		},
 		components: {

--
Gitblit v1.9.3