binxie
2023-06-16 da42e2995c00293af89c71fe5ba6e16cbb77e1b3
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js
@@ -1,158 +1,152 @@
({
  doInit: function (component, event, helper) {
    let rid = component.get("v.recordId");
        let rid = component.get('v.recordId');
    let pid = null;
    if (!rid) {
      pid = window.location.href.replace("https://", "").split("/")[4];
    }
    let record_type_id = "";
    let pageref = component.get("v.pageReference");
        let record_type_id = '';
        let pageref = component.get("v.pageReference")
    if (!record_type_id && pageref) {
      record_type_id = pageref.state.recordTypeId
        ? pageref.state.recordTypeId
        : "";
            record_type_id = pageref.state.recordTypeId ? pageref.state.recordTypeId : '';
    }
    let isClone = component.get("v.isClone");
        let isClone = component.get('v.isClone');
    if (!rid || isClone) {
      component.set("v.title", $A.get("$Label.c.New") + "经销商询价");
            component.set('v.title',$A.get("$Label.c.New")+'经销商询价');
      component.set("v.recordTypeId", record_type_id);
    } else {
      component.set("v.title", $A.get("$Label.c.Edit") + "经销商询价");
            component.set('v.title',$A.get("$Label.c.Edit")+'经销商询价');
    }
    console.log("rid: " + rid);
    console.log("pid: " + pid);
    console.log("record_type_id: " + record_type_id);
        console.log('rid: ' + rid);
        console.log('pid: ' + pid);
        console.log('record_type_id: ' + record_type_id);
    component.set("v.showSpinner", true);
    helper.CallBackAction(
      component,
      "Init",
      {
        helper.CallBackAction(component,'Init',{
        rid: rid,
        pid: pid,
        //rid : component.get('v.recordId'),
        record_type_id: record_type_id
      },
      function (data) {
        console.log("data: " + data);
        if (data.getState() == "SUCCESS") {
        },function(data){
            console.log('data: ' + data);
          var rv = data.getReturnValue();
          console.log(rv);
            console.log('rv:' + rv);
            console.log('rv.Data:' + rv.Data);
            console.log('rv.IsSuccess:' + rv.IsSuccess);
            if(data.getState() == "SUCCESS"){
          if (rv.IsSuccess) {
            debugger;
            let layout = JSON.parse(rv.Data.layout);
                    debugger;
            let fields = rv.Data.fields;
            let staticResource = JSON.parse(rv.Data.staticResource);
            let section_names = [];
                    debugger;
                    let staticResource = JSON.parse(rv.Data.staticResource)
                    debugger;
                    let section_names = layout.map(s=>s.label);
                    debugger;
            // let awsData = rv.Data.awsDataIds;
            section_names = layout.map((s) => s.label);
            component.set("v.section_names", section_names);
                    // section_names = layout.map(s=>s.label);
                    component.set('v.section_names',section_names);
                    component.set('v.layout',layout);
                    component.set('v.fields',fields);
                    component.set('v.staticResource',staticResource);
                    debugger;
            let m = {};
            for (let f of staticResource.PIDetails) {
              m[f.SF_Field_API_Name__c] = f;
            }
            component.set("v.pi_fields_map", m);
                    component.set('v.pi_fields_map',m);
            if (rv.Data && rv.Data.data) {
              console.log("rv.Data.data = " + rv.Data.data);
                        debugger;
                        console.log('rv.Data.data = ' + rv.Data.data);
              for (let s of layout) {
                for (let c of s.layoutColumns) {
                  for (let item of c.layoutItems) {
                    if (rv.Data.data.hasOwnProperty(item.field)) {
                      item.value = rv.Data.data[item.field];
                    }
                    if (fields.hasOwnProperty(item.field)) {
                      item.fi = fields[item.field];
                    }
                  }
                }
              }
              component.set("v.layout", layout);
              component.set("v.record_data", rv.Data.data);
                        // component.set('v.layout',layout);
                        component.set('v.record_data',rv.Data.data);
              if (rv.Data.data.Agency_Contact__r) {
                if (rv.Data.data.Agency_Contact__r.AWS_Data_Id__c) {
                  helper.AwsGet(
                    staticResource.queryUrl,
                    {
                                helper.AwsGet(staticResource.queryUrl, {
                      dataId: rv.Data.data.Agency_Contact__r.AWS_Data_Id__c
                    },
                    function (data) {
                      console.log("data = " + data);
                                }, function(data){
                                    console.log('data = ' + data);
                      if (data.object) {
                        component.set("v.ac_name", data.object.name);
                                        component.set('v.ac_name',data.object.name);
                      }
                    },
                    staticResource.token
                  );
                                }, staticResource.token);
                }
              }
              // }, staticResource.token);
            } else {
                        debugger;
                        console.log('rv.Data.data = ' + rv.Data.data);
                        console.log('layout = ' + layout);
              for (let s of layout) {
                for (let c of s.layoutColumns) {
                  for (let item of c.layoutItems) {
                    if (
                      rv.Data &&
                      fields.hasOwnProperty(item.field) &&
                      fields[item.field].References &&
                      fields[item.field].References.map((m) => m.value).indexOf(
                        rv.Data.pidType
                      ) > -1
                    ) {
                                    if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
                      item.value = pid;
                    }
                  }
                }
              }
              component.set("v.layout", layout);
                        debugger;
                        // component.set('v.layout',layout);
                    }
                    // component.set('v.fields',fields);
                    // component.set('v.staticResource',staticResource);
                    component.set("v.showSpinner", false);
                }else{
                    component.set("v.showSpinner", false);
                    helper.ShowToast({
                        "message" : rv.Message,
                        "type" : "error"
                    });
            }
            component.set("v.fields", fields);
            component.set("v.staticResource", staticResource);
            component.set("v.showSpinner", false);
          } else {
            component.set("v.showSpinner", false);
            helper.ShowToast({
              message: rv.Message,
              type: "error"
                    "message" : "Init error",
                    "type" : "error"
            });
          }
        } else {
          component.set("v.showSpinner", false);
          helper.ShowToast({
            message: "Init error",
            type: "error"
          });
        }
      }
    );
  },
  saveClick: function (component, event, helper) {
    let staticResource = component.get("v.staticResource");
    let record_id = component.get("v.recordId");
    let record_type_id = component.get("v.recordTypeId");
    let isClone = component.get("v.isClone");
        let staticResource = component.get('v.staticResource');
        let record_id = component.get('v.recordId');
        let record_type_id = component.get('v.recordTypeId');
        let isClone = component.get('v.isClone');
    let url = staticResource.newUrl;
    let payloadPi = {};
    if (record_id && !isClone) {
      url = staticResource.updateUrl;
      payloadPi["dataId"] = component.get("v.record_data").AWS_Data_Id__c;
            url = staticResource.updateUrl
            payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
    }
    let layout = component.get("v.layout");
        let layout = component.get('v.layout');
    let pi_fields_map = component.get("v.pi_fields_map");
        let pi_fields_map = component.get('v.pi_fields_map');
    for (let s of layout) {
      for (let c of s.layoutColumns) {
        for (let item of c.layoutItems) {
          if (pi_fields_map.hasOwnProperty(item.field)) {
            payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
          }
@@ -160,7 +154,7 @@
            let fs = component.find("field");
            for (let fi in fs) {
              let f = fs[fi];
              if (!f.get("v.value")) {
                            if(!f.get('v.value')){
                f.reset();
              }
            }
@@ -171,7 +165,7 @@
    }
    component.set("v.showSpinner", true);
    debugger;
        debugger
    let data = {};
    if (record_id && !isClone) {
      data.Id = record_id;
@@ -186,15 +180,11 @@
      }
    }
    let x = 1;
    helper.CallBackAction(
      component,
      "Save",
      {
        helper.CallBackAction(component,'Save',{
        data: data,
        transId: "1",
                         transId :'1',
        recordTypeId: record_type_id
      },
      function (data) {
                     },function(data){
        component.set("v.showSpinner", false);
        if (data.getState() == "SUCCESS") {
          var rv = data.getReturnValue();
@@ -203,48 +193,47 @@
          if (rv.IsSuccess) {
            sfId = rv.Data.recordId;
            helper.ShowToast({
              message: "成功",
              type: "success"
                                    "message" : "成功",
                                    "type" : "success"
            });
            if (record_id) {
              $A.get("e.force:closeQuickAction").fire();
              $A.get("e.force:refreshView").fire();
                                    $A.get('e.force:refreshView').fire();
            } else {
              var sObjectEvent = $A.get("e.force:navigateToSObject");
              sObjectEvent.setParams({
                recordId: sfId
              });
                                        "recordId": sfId
                                    })
              sObjectEvent.fire();
            }
          } else {
            helper.ShowToast({
              message: rv.Message,
              type: "error"
                                    "message" : rv.Message,
                                    "type" : "error"
            });
          }
        } else {
          helper.ShowToast({
            message: "Init error",
            type: "error"
                                "message" : "Init error",
                                "type" : "error"
          });
        }
      }
    );
                     })
  },
  cancelClick: function (component, event, helper) {
    $A.get("e.force:closeQuickAction").fire();
    //component.set("v.showNewAgencyContact", false);
  },
  searchAgencyContact: function (component, event, helper) {
    component.find("button").set("v.disabled", true);
        component.find('button').set('v.disabled', true);
    helper.resetTable();
    helper.preparePayloadForSearchAgencyContact(component, event, helper);
  },
  initContactTable: function (component, event, helper) {
    let cols = ["Name", "AgencyHospital", "DoctorDivision1", "Type"];
        let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
    let contactInfoList = [];
    let awsDataIds = [];
    let data = component.get("v.result");
        let data = component.get('v.result');
    if (data.object) {
      for (var i = 0; i < data.object.length; i++) {
        if (data.object[i].dataId) {
@@ -256,7 +245,7 @@
          contactInfo.Type = data.object[i].type;
          contactInfo.pi = true;
          awsDataIds.push(contactInfo.AWSDataId);
          contactInfo.sfRecordId = "";
                    contactInfo.sfRecordId = '';
          contactInfoList.push(contactInfo);
        }
      }
@@ -264,24 +253,24 @@
    let AWSIdToSFIdMapValue = {};
  },
  openModel: function (component, event, helper) {
    let layout = component.get("v.layout");
        let layout = component.get('v.layout');
    for (let s of layout) {
      for (let c of s.layoutColumns) {
        for (let item of c.layoutItems) {
          if (item.field == "Agency_Hospital__c" && !item.value) {
            console.log("item.value = " + item.value);
                    if(item.field == 'Agency_Hospital__c' && !item.value){
                        console.log('item.value = ' + item.value)
            helper.ShowToast({
              message: "请先选择经销商医院",
              type: "warning"
                            "message" : "请先选择经销商医院",
                            "type" : "warning"
            });
            return;
                        return
          }
        }
      }
    }
    // Set isModalOpen true
    component.set("v.isModalOpen", true);
    component.find("button").set("v.disabled", true);
        component.find('button').set('v.disabled', true);
    helper.preparePayloadForSearchAgencyContact(component, event, helper);
  },
@@ -302,8 +291,8 @@
  closeAgencyContact: function (component, event, helper) {
    var message = event.getParam("showNewAgencyContact");
    component.set("v.showNewAgencyContact", message);
    component.find("button").set("v.disabled", true);
        component.find('button').set('v.disabled', true);
    helper.resetTable();
    helper.preparePayloadForSearchAgencyContact(component, event, helper);
  }
});
       },
})