1
lzhe
2024-06-05 fc15f2e904fade9e1505bad70b29829d7d99c124
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,23 +91,53 @@
            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);
            console.log(this.addBusinessForm);
            var configuration = {};
            this.addBusinessForm.configuration.forEach(item=> {
               configuration[item.name] = item.value;
            })
            var obj = {
               configuration: {appKey: "3aa", appSecret: "4a"}
               id: "1001"
               name: "默认"
               provider: "dingTalkMessage"
               type: "dingTalk"
               configuration: configuration,
            }
            return;
            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;
@@ -163,7 +193,6 @@
                  }
               })
            })
            console.log(data.configuration,data)
            //可以和上面一样单个注入,也可以像下面一样直接合并进去
            Object.assign(this.addBusinessForm,data);
            this.$nextTick(()=> {