buli
2023-07-07 f5d4f999ba69421c3fb107561fe1ee4c29d3f680
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js
@@ -1,6 +1,7 @@
({
  doinit: function (component, event, helper) {
    debugger;
    document.title = "追溯日报";
    this.report_date_list(component, event, helper, 5);
    component.set("v.login", true);
    var action = component.get("c.getalldata");
@@ -13,7 +14,7 @@
        component.set("v.allselectlist", res.allselectlist);
        component.set("v.doclist", res.doclist);
        //fy
        debugger;
        var xx = res.UserProType;
        component.set("v.UserProType", res.UserProType);
        var gg = component.get("v.UserProType");
@@ -61,9 +62,80 @@
        component.set("v.PIConfig", res.PIConfig); // 20220222 PI改造 by Bright
        component.set("v.login", false);
      } else {
        component.set("v.errorMessage", "doinit failed.");
        this.showErrorToast(component);
        //component.set('v.errorMessage', 'doinit failed.');
        this.error("doinit failed.");
        //this.showErrorToast(component);
        component.set("v.login", false);
      }
    });
    $A.enqueueAction(action);
  },
  doinitSave: function (component, event, helper) {
    document.title = "追溯日报";
    component.set("v.loginEdit", true);
    this.report_date_list(component, event, helper, 5);
    var action = component.get("c.getalldata");
    action.setCallback(this, function (response) {
      var state = response.getState();
      if (state == "SUCCESS") {
        var res = response.getReturnValue();
        component.set("v.alldata", res.reports);
        component.set("v.fieldsmap", res.fieldsMap);
        component.set("v.allselectlist", res.allselectlist);
        component.set("v.doclist", res.doclist);
        //fy
        var xx = res.UserProType;
        component.set("v.UserProType", res.UserProType);
        var gg = component.get("v.UserProType");
        //fy
        component
          .find("select_agency_person")
          .set(
            "v.options",
            this.conv_selected(res.allselectlist.AgencyPerson__c)
          );
        component
          .find("select_DealerPersonnel")
          .set(
            "v.options",
            this.conv_selected(res.allselectlist.DealerPersonnel__c)
          );
        component
          .find("select_purpose_type")
          .set(
            "v.options",
            this.conv_selected(res.allselectlist.WorkRecord__c)
          );
        component
          .find("select_ProductClassification")
          .set(
            "v.options",
            this.conv_selected(res.allselectlist.ProductClassification__c)
          );
        component
          .find("select_stageName")
          .set("v.options", this.conv_selected(res.allselectlist.StageName__c));
        component.set(
          "v.selected_agency_person",
          res.allselectlist.AgencyPerson__c[0].label
        );
        component.set("v.dialog_type", "新建");
        this.get_reports(
          component,
          event,
          helper,
          component.find("select_date").get("v.value"),
          component.find("select_agency_person").get("v.value")
        );
        component.set("v.PIConfig", res.PIConfig); // 20220222 PI改造 by Bright
        component.set("v.loginEdit", false);
      } else {
        //component.set('v.errorMessage', 'doinit failed.');
        this.error("doinit failed.");
        //this.showErrorToast(component);
        component.set("v.loginEdit", false);
      }
    });
    $A.enqueueAction(action);
@@ -107,9 +179,8 @@
      date_str: date_str,
      person_str: person_str
    });
    component.set("v.login", true);
    component.set("v.loginEdit", true);
    action.setCallback(this, function (response) {
      debugger;
      var state = response.getState();
      if (state == "SUCCESS") {
        var res = response.getReturnValue();
@@ -173,7 +244,7 @@
                        m[data.object[di].dataId] = data.object[di];
                      }
                    }
                    debugger;
                    for (let ri in res.reports) {
                      if (
                        res.reports[ri] &&
@@ -198,22 +269,23 @@
                    component.set("v.report_count", res.reports.length);
                  }
                  //fy 20220414 end
                  component.set("v.login", false);
                  component.set("v.loginEdit", false);
                },
                staticResourceAgencyContact.token
              );
            } else {
              component.set("v.login", false);
              component.set("v.loginEdit", false);
            }
          }
        } else {
          component.set("v.list_message", "no_data");
          component.set("v.login", false);
          component.set("v.loginEdit", false);
        }
      } else {
        component.set("v.errorMessage", "get_reports failed.");
        this.showErrorToast(component);
        component.set("v.login", false);
        //component.set('v.errorMessage', 'get_reports failed.');
        this.error("get_reports failed.");
        //this.showErrorToast(component);
        component.set("v.loginEdit", false);
      }
    });
    $A.enqueueAction(action);
@@ -261,7 +333,6 @@
  },
  //复制和编辑回显的位置
  toggle_report: function (component) {
    debugger;
    var modal_window = component.find("modal_window");
    var modal_bg = component.find("modal_bg");
    if ($A.util.hasClass(modal_window, "disp_none")) {
@@ -429,8 +500,6 @@
            .find("select_WorkMark")
            .set("v.checked", select_data["WorkMark__c"]);
        }
        debugger;
        var report_id = component.get("v.edit_copy_select_report_id");
        if (report_id != "") {
          var select_EffectProgress1 = "";
@@ -600,6 +669,345 @@
      }
    }
  },
  toggle_report_edit: function (component) {
    var modal_window = component.find("modal_window");
    var modal_bg = component.find("modal_bg");
    if ($A.util.hasClass(modal_window, "disp_none")) {
      // OPEN
      $A.util.removeClass(modal_window, "disp_none");
      $A.util.removeClass(modal_bg, "disp_none");
      component.set("v.loginEdit", true);
      //复制  和编辑   回显问题在这里面
      if (
        component.get("v.mode") == "edit" ||
        component.get("v.mode") == "copy"
      ) {
        var select_data = "";
        if (component.get("v.mode") == "edit") {
          select_data = component.get("v.select_report_data");
        } else if (component.get("v.mode") == "copy") {
          select_data = component.get("v.select_report_data_radio");
        }
        var reports = component.get("v.reports");
        var Agency_Hospital_text = "";
        var Agency_Hospital_parent_id = "";
        // 医院名
        if (select_data["Agency_Hospital__c"] != "") {
          for (var i = 0; i < reports.length; i++) {
            if (
              reports[i]["Agency_Hospital__c"] ==
              select_data["Agency_Hospital__c"]
            ) {
              Agency_Hospital_text = reports[i]["Agency_Hospital__r"]["Name"];
              Agency_Hospital_parent_id =
                reports[i]["Agency_Hospital__r"]["Hospital__c"];
            }
          }
          component.set("v.hospital", Agency_Hospital_text);
          component.set("v.hospitalId", Agency_Hospital_parent_id);
          component.set("v.hospitalLinkId", select_data["Agency_Hospital__c"]);
          component.find("new_con").set("v.disabled", false);
        }
        //使用产品1(产品型号)
        var UseProduct1Text = "";
        var UseProduct1Id = "";
        if (
          select_data["UseProduct1__c"] != "" &&
          select_data["UseProduct1__c"] != undefined
        ) {
          for (var i = 0; i < reports.length; i++) {
            if (reports[i]["UseProduct1__c"] == select_data["UseProduct1__c"]) {
              UseProduct1Text =
                reports[i]["UseProduct1__r"]["Asset_Model_No__c"];
              UseProduct1Id = reports[i]["UseProduct1__c"];
            }
          }
          component.set("v.UseProduct1", UseProduct1Text);
          component.set("v.UseProduct1Id", select_data["UseProduct1__c"]);
        }
        //使用产品2
        var UseProduct2Text = "";
        var UseProduct2Id = "";
        if (
          select_data["UseProduct2__c"] != "" &&
          select_data["UseProduct2__c"] != undefined
        ) {
          for (var i = 0; i < reports.length; i++) {
            if (reports[i]["UseProduct2__c"] == select_data["UseProduct2__c"]) {
              UseProduct2Text =
                reports[i]["UseProduct2__r"]["Asset_Model_No__c"];
              UseProduct2Id = reports[i]["UseProduct2__c"];
            }
          }
          component.set("v.UseProduct2", UseProduct2Text);
          component.set("v.UseProduct2Id", select_data["UseProduct2__c"]);
        }
        //使用产品3
        var UseProduct3Text = "";
        var UseProduct3Id = "";
        if (
          select_data["UseProduct3__c"] != "" &&
          select_data["UseProduct3__c"] != undefined
        ) {
          for (var i = 0; i < reports.length; i++) {
            if (reports[i]["UseProduct3__c"] == select_data["UseProduct3__c"]) {
              UseProduct3Text =
                reports[i]["UseProduct3__r"]["Asset_Model_No__c"];
              UseProduct3Id = reports[i]["UseProduct3__c"];
            }
          }
          component.set("v.UseProduct3", UseProduct3Text);
          component.set("v.UseProduct3Id", select_data["UseProduct3__c"]);
        }
        //活动日
        var reportDate;
        if (select_data["Report_Date__c"] != "") {
          for (var i = 0; i < reports.length; i++) {
            if (reports[i]["Report_Date__c"] == select_data["Report_Date__c"]) {
              reportDate = reports[i]["Report_Date__c"];
            }
          }
          component.set("v.data.Report_Date__c", reportDate);
        }
        // 科室
        // if (select_data['Department_Cateogy__c'] != '') {
        //     component.find('select_department').set('v.value',select_data['Department_Cateogy__c']);
        // }
        //fy Department_Cateogy_text__c
        if (select_data["Department_Cateogy_text__c"] != "") {
          component
            .find("select_department")
            .set("v.value", select_data["Department_Cateogy_text__c"]);
        }
        //经销商人员
        if (select_data["DealerPersonnel__c"] != "") {
          this.set_selected(
            component,
            "select_DealerPersonnel",
            select_data["DealerPersonnel__c"]
          );
        }
        // 活动区分
        if (select_data["WorkRecord__c"] != "") {
          this.set_selected(
            component,
            "select_purpose_type",
            select_data["WorkRecord__c"]
          );
          this.selectPurposeType(component);
        }
        // 拜访人
        if (select_data["WorkRecord__c"] == "科室会") {
          component.set(
            "v.default_select_doctor_id2",
            select_data["doctor3__c"]
          );
          var a = component.get("v.default_select_doctor_id2");
          this.set_doctor_list_edit(component);
        } else {
          component.set(
            "v.default_select_doctor_id",
            select_data["doctor2__c"]
          );
          this.set_doctor_list_edit(component);
        }
        //产品分类(第三分类)
        if (select_data["ProductClassification__c"] != null) {
          this.set_selected(
            component,
            "select_ProductClassification",
            select_data["ProductClassification__c"]
          );
          this.selectProductClassification(component);
        }
        // 产品1同类耗材科室月使用量
        if (select_data["ConsumptionOfConsumables__c"] != "") {
          component
            .find("select_ConsumptionOfConsumables")
            .set("v.value", select_data["ConsumptionOfConsumables__c"]);
        }
        // 产品用量
        if (select_data["warlocksNumber__c"] != "") {
          component
            .find("select_warlocksNumber")
            .set("v.value", select_data["warlocksNumber__c"]);
        }
        // 支援需求
        if (select_data["WorkMark__c"] != false) {
          component
            .find("select_WorkMark")
            .set("v.checked", select_data["WorkMark__c"]);
        }
        var report_id = component.get("v.edit_copy_select_report_id");
        if (report_id != "") {
          var select_EffectProgress1 = "";
          var WarlockClassification = "";
          var ProductCcategory = "";
          var productCategories = "";
          var i = 0;
          for (i = 0; i < reports.length; i++) {
            if (report_id == reports[i]["Id"]) {
              select_EffectProgress1 = reports[i]["EffectProgress__c"];
              WarlockClassification = reports[i]["WarlockClassification__c"];
              ProductCcategory = reports[i]["ProductCcategory__c"];
              productCategories = reports[i]["productCategories__c"];
              break;
            }
          }
          //效果/进度
          if (select_EffectProgress1 != null && select_EffectProgress1 != "") {
            component
              .find("select_EffectProgress")
              .set("v.value", select_EffectProgress1);
          }
          //术士分类
          if (WarlockClassification != null && WarlockClassification != "") {
            component
              .find("select_OtherBrandConsumables")
              .set("v.value", WarlockClassification);
          }
          //已采用其他品牌
          if (ProductCcategory != null && ProductCcategory != "") {
            component
              .find("select_ProductCcategory")
              .set("v.value", ProductCcategory);
            this.selectpurposetype(component);
          }
          //其他品牌产品类别
          if (productCategories != null && productCategories != "") {
            component
              .find("select_productCategories")
              .set("v.value", productCategories);
          }
          component.set("v.edit_copy_select_report_id", "");
        }
      }
    } else {
      var select_report_data = component.get("v.select_report_data");
      var Report_Date__c = component.get("v.data.Report_Date__c");
      var Agency_Hospital__c = component.get("v.hospitalLinkId");
      var UseProduct1__c = component.get("v.UseProduct1Id");
      var UseProduct2__c = component.get("v.UseProduct2Id");
      var UseProduct3__c = component.get("v.UseProduct3Id");
      var Department_Cateogy__c = component
        .find("select_department")
        .get("v.value");
      var ConsumptionOfConsumables__c = component
        .find("select_ConsumptionOfConsumables")
        .get("v.value");
      var DealerPersonnel__c = component
        .find("select_DealerPersonnel")
        .get("v.value");
      var doctor2__c = component.find("select_doctor").get("v.value");
      var WorkRecord__c = component.find("select_purpose_type").get("v.value");
      var EffectProgress__c = component
        .find("select_EffectProgress")
        .get("v.value");
      var WarlockClassification__c = component
        .find("select_OtherBrandConsumables")
        .get("v.value");
      var ProductCcategory__c = component
        .find("select_ProductCcategory")
        .get("v.value");
      var productCategories__c = component
        .find("select_productCategories")
        .get("v.value");
      var warlocksNumber__c = component
        .find("select_warlocksNumber")
        .get("v.value");
      var WorkMark__c = component.find("select_WorkMark").get("v.checked");
      if (component.get("v.mode") == "new") {
        var confirm_title = "警告!";
        var confirm_text = "放弃新建日报?";
        if (
          !Report_Date__c &&
          !Agency_Hospital__c &&
          !UseProduct1__c &&
          !UseProduct2__c &&
          !UseProduct3__c &&
          !Department_Cateogy__c &&
          !ConsumptionOfConsumables__c &&
          !DealerPersonnel__c &&
          !doctor2__c &&
          !EffectProgress__c &&
          !WarlockClassification__c &&
          !ProductCcategory__c &&
          !productCategories__c &&
          !warlocksNumber__c &&
          !WorkMark__c &&
          !WorkRecord__c
        ) {
          this.allclear(component);
          $A.util.addClass(modal_window, "disp_none");
          $A.util.addClass(modal_bg, "disp_none");
          this.close_confirm(component, confirm_title, confirm_text);
        } else {
          this.close_confirm(component, confirm_title, confirm_text);
        }
      } else if (component.get("v.mode") == "copy") {
        var confirm_title = "警告!";
        var confirm_text = "放弃新建日报?";
        if (
          select_report_data["Report_Date__c"] == Report_Date__c &&
          select_report_data["Agency_Hospital__c"] == Agency_Hospital__c &&
          select_report_data["UseProduct1__c"] == UseProduct1__c &&
          select_report_data["UseProduct2__c"] == UseProduct2__c &&
          select_report_data["UseProduct3__c"] == UseProduct3__c &&
          select_report_data["Department_Cateogy__c"] ==
            Department_Cateogy__c &&
          select_report_data["ConsumptionOfConsumables__c"] ==
            ConsumptionOfConsumables__c &&
          select_report_data["DealerPersonnel__c"] == DealerPersonnel__c &&
          select_report_data["doctor2__c"] == doctor2__c &&
          select_report_data["EffectProgress__c"] == EffectProgress__c &&
          select_report_data["WarlockClassification__c"] ==
            WarlockClassification__c &&
          select_report_data["ProductCcategory__c"] == ProductCcategory__c &&
          select_report_data["productCategories__c"] == productCategories__c &&
          select_report_data["warlocksNumber__c"] == warlocksNumber__c &&
          select_report_data["WorkMark__c"] == WorkMark__c &&
          select_report_data["WorkRecord__c"] == WorkRecord__c
        ) {
          this.allclear(component);
          $A.util.addClass(modal_window, "disp_none");
          $A.util.addClass(modal_bg, "disp_none");
        } else {
          this.close_confirm(component, confirm_title, confirm_text);
        }
      } else if (component.get("v.mode") == "edit") {
        var confirm_title = "警告!";
        var confirm_text = "放弃编辑日报?";
        if (
          select_report_data["Report_Date__c"] == Report_Date__c &&
          select_report_data["Agency_Hospital__c"] == Agency_Hospital__c &&
          select_report_data["UseProduct1__c"] == UseProduct1__c &&
          select_report_data["UseProduct2__c"] == UseProduct2__c &&
          select_report_data["UseProduct3__c"] == UseProduct3__c &&
          select_report_data["Department_Cateogy__c"] ==
            Department_Cateogy__c &&
          select_report_data["ConsumptionOfConsumables__c"] ==
            ConsumptionOfConsumables__c &&
          select_report_data["DealerPersonnel__c"] == DealerPersonnel__c &&
          select_report_data["doctor2__c"] == doctor2__c &&
          select_report_data["EffectProgress__c"] == EffectProgress__c &&
          select_report_data["WarlockClassification__c"] ==
            WarlockClassification__c &&
          select_report_data["ProductCcategory__c"] == ProductCcategory__c &&
          select_report_data["productCategories__c"] == productCategories__c &&
          select_report_data["warlocksNumber__c"] == warlocksNumber__c &&
          select_report_data["WorkMark__c"] == WorkMark__c &&
          select_report_data["WorkRecord__c"] == WorkRecord__c
        ) {
          this.allclear(component);
          $A.util.addClass(modal_window, "disp_none");
          $A.util.addClass(modal_bg, "disp_none");
        } else {
          this.close_confirm(component, confirm_title, confirm_text);
        }
      }
    }
    //component.set('v.loginEdit',false);
  },
  //关闭页面是   小的提示框是否放弃新建日报
  close_confirm: function (component, title, text) {
    var confirm_status = component.get("v.confirm_status");
@@ -609,7 +1017,7 @@
    var modal_bg = component.find("modal_bg");
    var modal_confirm = component.find("modal_confirm");
    var modal_confirm_bg = component.find("modal_confirm_bg");
    debugger;
    if (confirm_status == 0) {
      $A.util.addClass(modal_window, "disp_none");
      $A.util.addClass(modal_bg, "disp_none");
@@ -664,7 +1072,6 @@
  },
  // 复制按钮
  copy_button: function (component, event, helper) {
    debugger;
    this.allclear(component);
    component.set("v.mode", "copy");
    component.set("v.dialog_type", "新建");
@@ -708,10 +1115,8 @@
  },
  //删除按钮
  delete_button: function (component, event, helper) {
    debugger;
    var select_report_data = component.get("v.select_report_data_radio");
    if (confirm("是否删除该数据?")) {
      debugger;
      component.set("v.login", true);
      var action = component.get("c.deleteAgencyReport");
      action.setParams({
@@ -734,7 +1139,6 @@
  },
  //复制按钮可用
  change_report_radio: function (component, event, helper) {
    debugger;
    var reports = component.get("v.reports");
    for (var i = 0; i < reports.length; i++) {
      if (reports[i].Name == event.getSource().get("v.label")) {
@@ -747,9 +1151,11 @@
  },
  //编辑按钮
  edit_button: function (component, event, helper) {
    this.allclear(component);
    component.set("v.login", true);
    debugger;
    component.set("v.loadOpp", true);
    //component.set('v.loginEdit', true);
    this.allclear(component);
    //component.set('v.loadOpp', true);
    var index = event.getSource().get("v.value");
    component.set("v.select_report_data", component.get("v.reports")[index]);
    component.set("v.mode", "edit");
@@ -768,7 +1174,7 @@
      "v.edit_copy_select_report_id",
      component.get("v.reports")[index].Id
    );
    var ret = this.create_report_header(
    var ret = this.create_report_header_edit(
      component,
      event,
      helper,
@@ -778,6 +1184,7 @@
    );
    // SWAG-CF58C3 fy start
    this.set_aws_url(component, "Agency_Contact__c");
    //component.set('v.login', false);
    // SWAG-CF58C3 fy end
  },
  //保存
@@ -805,7 +1212,7 @@
        .find("select_agency_person")
        .get("v.value");
    }
    debugger;
    // Agency_Report_Header__c
    var Agency_Report_Header__c = component.get("v.agency_report_header_id");
    // 医院
@@ -1055,16 +1462,21 @@
    // if (!productCategories__c) { error.push("其他品牌产品类别 不存在"); }
    //let errorMsg = '';
    for (var i = 0; i < error.length; i++) {
      component.set("v.errorMessage", error[i]);
      this.showErrorToast(component);
      //errorMsg +=  '; ' + error[i]
      //this.error(error[i]);
    }
    // if(errorMsg != '')
    //     this.error(errorMsg.substring(1));
    if (error.length > 0) {
      component.find("save_button").set("v.disabled", false);
      return false;
    }
    // 保存処理
    component.set("v.login", true);
    component.set("v.loginEdit", true);
    if (component.get("v.mode") == "edit") {
      var Agency_Report__c = component.get("v.select_report_data").Id;
      var action = component.get("c.editAgencyReport");
@@ -1098,6 +1510,7 @@
      action.setCallback(this, function (response) {
        var state = response.getState();
        if (state == "SUCCESS") {
          debugger;
          component.set("v.successMessage", "编辑保存成功");
          this.showSuccessToast(component);
          var report_id = response.getReturnValue();
@@ -1126,12 +1539,13 @@
            component.get("v.select_report_data").Person_In_Charge2__c
          );
          component.find("save_button").set("v.disabled", false);
          component.set("v.login", false);
          component.set("v.loginEdit", false);
        } else {
          component.set("v.errorMessage", "save_report failed.");
          this.showErrorToast(component);
          //component.set('v.errorMessage', 'save_report failed.');
          this.error("保存日报失败");
          //this.showErrorToast(component);
          component.find("save_button").set("v.disabled", false);
          component.set("v.login", false);
          component.set("v.loginEdit", false);
        }
      });
      $A.enqueueAction(action);
@@ -1205,24 +1619,27 @@
                var data_list = component.find("modal_data_list_tr");
              }
            } else {
              component.set("v.errorMessage", "get_reports_now failed.");
              this.showErrorToast(component);
              // component.set('v.errorMessage', 'get_reports_now failed.');
              this.error("get_reports_now failed.");
              //this.showErrorToast(component);
              component.find("save_button").set("v.disabled", false);
              component.set("v.login", false);
              component.set("v.loginEdit", false);
            }
          });
          $A.enqueueAction(action2);
          this.allclear(component);
          component.find("select_WorkMark").set("v.value", false);
          component.find("save_button").set("v.disabled", false);
          component.set("v.login", false);
          this.doinit(component, event, helper);
          component.set("v.loginEdit", false);
          debugger;
          this.doinitSave(component, event, helper);
        } else {
          var error = response.getError();
          component.set("v.errorMessage", "saveAgencyReport failed.");
          this.showErrorToast(component);
          //component.set('v.errorMessage', '保存日报失败');
          this.error("保存日报失败");
          //this.showErrorToast(component);
          component.find("save_button").set("v.disabled", false);
          component.set("v.login", false);
          component.set("v.loginEdit", false);
        }
      });
      $A.enqueueAction(action);
@@ -1378,15 +1795,17 @@
  ) {
    s_date = this.get_date_string(s_date);
    if (s_date == false) {
      component.set("v.errorMessage", "get_date_string failed.");
      this.showErrorToast(component);
      //component.set('v.errorMessage', 'get_date_string failed.');
      this.error("get_date_string failed.");
      //this.showErrorToast(component);
      return false;
    }
    var head_key = this.create_header_input_key(s_agency, s_date);
    component.set("v.agency_report_header", head_key);
    if (head_key == false) {
      component.set("v.errorMessage", "create_header_input_key failed.");
      this.showErrorToast(component);
      //component.set('v.errorMessage', 'create_header_input_key failed.');
      this.error("create_header_input_key failed.");
      //this.showErrorToast(component);
      return false;
    }
    var key2 = s_date.replace(/-/g, "");
@@ -1406,8 +1825,58 @@
        component.set("v.login", false);
        this.toggle_report(component, event, helper);
      } else {
        component.set("v.errorMessage", "createReportHeader callback failed.");
        this.showErrorToast(component);
        //component.set('v.errorMessage', 'createReportHeader callback failed.');
        this.error("createReportHeader callback failed.");
        //this.showErrorToast(component);
        component.set("v.login", false);
      }
    });
    $A.enqueueAction(action);
  },
  create_report_header_edit: function (
    component,
    event,
    helper,
    name,
    s_agency,
    s_date
  ) {
    s_date = this.get_date_string(s_date);
    if (s_date == false) {
      //component.set('v.errorMessage', 'get_date_string failed.');
      this.error("get_date_string failed.");
      //this.showErrorToast(component);
      return false;
    }
    var head_key = this.create_header_input_key(s_agency, s_date);
    component.set("v.agency_report_header", head_key);
    if (head_key == false) {
      //component.set('v.errorMessage', 'create_header_input_key failed.');
      this.error("create_header_input_key failed.");
      //this.showErrorToast(component);
      return false;
    }
    var key2 = s_date.replace(/-/g, "");
    var action = component.get("c.createReportHeader");
    action.setParams({
      name: name,
      s_date: s_date,
      s_agency: s_agency,
      head_key: head_key
    });
    component.set("v.login", true);
    action.setCallback(this, function (response) {
      var state = response.getState();
      if (state == "SUCCESS") {
        var res = response.getReturnValue();
        component.set("v.agency_report_header_id", res);
        component.set("v.login", false);
        this.toggle_report_edit(component, event, helper);
      } else {
        //component.set('v.errorMessage', 'createReportHeader callback failed.');
        this.error("createReportHeader callback failed.");
        //this.showErrorToast(component);
        component.set("v.login", false);
      }
    });
@@ -1417,11 +1886,9 @@
    if (typeof s_date != "string") {
      s_date = this.get_date_string(s_date);
      if (s_date == false) {
        component.set(
          "v.errorMessage",
          "get_date_string in create_header_input_key."
        );
        this.showErrorToast(component);
        //component.set('v.errorMessage', 'get_date_string in create_header_input_key.');
        this.error("get_date_string in create_header_input_key.");
        //this.showErrorToast(component);
        return false;
      }
    }
@@ -1513,7 +1980,6 @@
    component.set("v.hospitalId", "");
  },
  selectHos: function (component, event, helper) {
    debugger;
    var hospital_list = component.find("hospital_list");
    $A.util.removeClass(hospital_list, "slds-is-open");
    var accname = event.currentTarget.dataset.accname;
@@ -1536,9 +2002,9 @@
    component.set("v.hospitals", accname);
    component.set("v.hospital", accname);
    component.set("v.hospitalId", accid);
    debugger;
    component.set("v.setdoctorlisthos", true);
    this.set_doctor_list(component, event, helper);
    this.set_doctor_list_edit(component, event, helper);
  },
  //模糊查询使用产品1(产品型号)
@@ -1582,7 +2048,6 @@
    component.set("v.data.UseProduct1__c", "");
  },
  seletUseProduct1Change: function (component, event, helper) {
    debugger;
    var UseProduct1_List = component.find("UseProduct1_List");
    $A.util.removeClass(UseProduct1_List, "slds-is-open");
    var accname = event.currentTarget.dataset.accname;
@@ -1600,8 +2065,9 @@
      component.set("v.UseProduct1s", accname);
      component.set("v.UseProduct1", accname);
    } else {
      component.set("v.errorMessage", "不能选择同样的产品");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品');
      this.error("不能选择同样的产品");
      //this.showErrorToast(component);
    }
  },
  //模糊查询使用产品2
@@ -1662,8 +2128,9 @@
      component.set("v.UseProduct2s", accname);
      component.set("v.UseProduct2", accname);
    } else {
      component.set("v.errorMessage", "不能选择同样的产品");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品');
      this.error("不能选择同样的产品");
      //this.showErrorToast(component);
    }
  },
  //模糊查询使用产品3
@@ -1724,13 +2191,13 @@
      component.set("v.UseProduct3s", accname);
      component.set("v.UseProduct3", accname);
    } else {
      component.set("v.errorMessage", "不能选择同样的产品");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品');
      this.error("不能选择同样的产品");
      //this.showErrorToast(component);
    }
  },
  //hospitalLinkId 经销商医院的ID   拜访人复制的地方
  doctor_change: function (component, event, helper) {
    debugger;
    var doctorurpose = component.find("select_purpose_type").get("v.value");
    var doctor_value = component.find("select_doctor").get("v.value");
    var doctor_list = component.get("v.doctor_list");
@@ -1767,9 +2234,11 @@
        component.set("v.AWSsearch", awsmap.searchUrl);
        component.set("v.AWStransactionURL", awsmap.transactionURL);
      } else {
        component.set("v.errorMessage", "AWS url/token error.");
        this.showErrorToast(component);
        // component.set('v.errorMessage', 'AWS url/token error.');
        this.error("AWS url/token error.");
        //this.showErrorToast(component);
        component.set("v.login", false);
        component.set("v.loginEdit", false);
      }
    });
    $A.enqueueAction(action);
@@ -1784,6 +2253,9 @@
    helper,
    hospitalName
  ) {
    console.log("newUrl = " + newUrl);
    console.log("payload = " + payload);
    console.log("token = " + token);
    fetch(newUrl, {
      method: "POST",
      body: payload,
@@ -1796,6 +2268,7 @@
        return data.json();
      })
      .then((result) => {
        console.log("result = " + JSON.stringify(result));
        if (result.status == "0") {
          $A.getCallback(function () {
            helper.to_agencycontact(component, result, agencyHospitalid);
@@ -1850,17 +2323,20 @@
          this.to_confirm(component, token, confirmUrl, JSON.stringify(data));
        } else if (acMap.errormsg != "") {
          component.set("v.errorMessage", acMap.errormsg);
          this.showErrorToast(component);
          // component.set('v.errorMessage', acMap.errormsg);
          this.error(acMap.errormsg);
          //this.showErrorToast(component);
          component.set("v.login", false);
        } else {
          component.set("v.errorMessage", "agency contact insert id error.");
          this.showErrorToast(component);
          //component.set('v.errorMessage', 'agency contact insert id error.');
          this.error("agency contact insert id error.");
          //this.showErrorToast(component);
          component.set("v.login", false);
        }
      } else {
        component.set("v.errorMessage", "agency contact insert error.");
        this.showErrorToast(component);
        //component.set('v.errorMessage', 'agency contact insert error.');
        this.error("agency contact insert error.");
        //this.showErrorToast(component);
        component.set("v.login", false);
      }
    });
@@ -1896,30 +2372,35 @@
          $A.util.addClass(modal_newAC, "disp_none");
          component.set("v.successMessage", ".拜访人已创建。");
          this.showSuccessToast(component);
          this.set_doctor_list(component);
          component.set("v.login", false);
          this.set_doctor_list_edit(component);
        } else {
          component.set("v.errorMessage", "AWS confirm error.");
          this.showErrorToast(component);
          //component.set('v.errorMessage', 'AWS confirm error.');
          this.error("AWS confirm error.");
          //this.showErrorToast(component);
          component.set("v.login", false);
        }
      })
      .catch((error) => {
        component.set("v.errorMessage", "AWS confirm error.");
        this.showErrorToast(component);
        // component.set('v.errorMessage', 'AWS confirm error.');
        this.error("AWS confirm error.");
        //this.showErrorToast(component);
        component.set("v.login", false);
      });
  },
  //SWAG-CF58C3 fy end 调用pi
  set_doctor_list: function (component) {
    console.log("set_doctor_list");
    var doctor_value = component.find("select_purpose_type").get("v.value");
    var hospital_id = component.get("v.hospitalLinkId");
    console.log("hospital_id = " + hospital_id);
    if (hospital_id) {
      if (doctor_value == "科室会") {
        component.set("v.login", true);
        component.set("v.loginEdit", true);
        this.set_doctor_list2(component);
      } else {
        component.set("v.login", true);
        component.set("v.loginEdit", true);
        var action = component.get("c.getDoctorList");
        action.setParams({
          hospital_id: hospital_id
@@ -1927,7 +2408,6 @@
        action.setCallback(this, function (response) {
          var state = response.getState();
          if (state == "SUCCESS") {
            debugger;
            var res = this.conv_selected(response.getReturnValue());
            //fy
            var setdoctorlisthos = component.get("v.setdoctorlisthos");
@@ -1953,7 +2433,7 @@
              }
              component.find("select_doctor").set("v.options", res);
              component.set("v.doctor_title", doctor_title);
              console.log("awsids = " + JSON.stringify(awsids));
              if (awsids.length > 0) {
                let PIConfig = component.get("v.PIConfig");
                let staticResourceAgencyContact = JSON.parse(
@@ -1965,6 +2445,7 @@
                    dataIds: awsids
                  },
                  function (data) {
                    console.log("data = " + JSON.stringify(data));
                    if (data && data.object && data.object.length) {
                      let m = {};
                      for (let di in data.object) {
@@ -1985,7 +2466,7 @@
                      component.find("select_doctor").set("v.options", res);
                    }
                    component.set("v.login", false);
                    component.set("v.loginEdit", false);
                  },
                  staticResourceAgencyContact.token
                );
@@ -2029,7 +2510,7 @@
                      component.find("select_doctor").set("v.options", res);
                    }
                    component.set("v.login", false);
                    component.set("v.loginEdit", false);
                  },
                  staticResourceAgencyContact.token
                );
@@ -2040,13 +2521,14 @@
              }
            }
            // component.set('v.default_select_doctor_id', '');
            debugger;
            component.set("v.doctor_list", res);
            component.set("v.login", false);
            component.set("v.loginEdit", false);
          } else {
            component.set("v.errorMessage", "set_doctor_list failed.");
            this.showErrorToast(component);
            component.set("v.login", false);
            // component.set('v.errorMessage', 'set_doctor_list failed.');
            this.error("set_doctor_list failed.");
            //this.showErrorToast(component);
            component.set("v.loginEdit", false);
          }
        });
        $A.enqueueAction(action);
@@ -2058,14 +2540,166 @@
        component.find("select_doctor").set("v.options", "");
      }
    }
    component.set("v.loginEdit", false);
  }, //fy 20220414
  set_doctor_list_edit: function (component) {
    console.log("set_doctor_list");
    var doctor_value = component.find("select_purpose_type").get("v.value");
    var hospital_id = component.get("v.hospitalLinkId");
    console.log("hospital_id = " + hospital_id);
    if (hospital_id) {
      if (doctor_value == "科室会") {
        component.set("v.loginEdit", true);
        this.set_doctor_list2(component);
      } else {
        component.set("v.loginEdit", true);
        var action = component.get("c.getDoctorList");
        action.setParams({
          hospital_id: hospital_id
        });
        action.setCallback(this, function (response) {
          var state = response.getState();
          if (state == "SUCCESS") {
            var res = this.conv_selected(response.getReturnValue());
            //fy
            var setdoctorlisthos = component.get("v.setdoctorlisthos");
            if (setdoctorlisthos) {
              component.set("v.default_select_doctor_id", "");
              component.set("v.setdoctorlisthos", false);
            }
            //fy
            var default_doctor = component.get("v.default_select_doctor_id");
            if (default_doctor != "" && res.length > 0) {
              var doctor_title = "";
              let awsids = [];
              for (var i = 0; i < res.length; i++) {
                if (res[i].value == default_doctor) {
                  res[i].selected = true;
                  doctor_title = res[i].Doctor_Division1__c;
                } else {
                  res[i].selected = false;
                }
                if (res[i].AWS_Data_Id__c) {
                  awsids.push(res[i].AWS_Data_Id__c);
                }
              }
              component.find("select_doctor").set("v.options", res);
              component.set("v.doctor_title", doctor_title);
              console.log("awsids = " + JSON.stringify(awsids));
              if (awsids.length > 0) {
                let PIConfig = component.get("v.PIConfig");
                let staticResourceAgencyContact = JSON.parse(
                  PIConfig.staticResourceAgencyContact
                );
                AWSService.search(
                  staticResourceAgencyContact.searchUrl,
                  {
                    dataIds: awsids
                  },
                  function (data) {
                    console.log("data = " + JSON.stringify(data));
                    if (data && data.object && data.object.length) {
                      let m = {};
                      for (let di in data.object) {
                        if (data.object[di] && data.object[di].dataId) {
                          m[data.object[di].dataId] = data.object[di];
                        }
                      }
                      for (let ri in res) {
                        if (
                          res[ri] &&
                          res[ri].AWS_Data_Id__c &&
                          m.hasOwnProperty(res[ri].AWS_Data_Id__c)
                        ) {
                          res[ri].label = m[res[ri].AWS_Data_Id__c].name;
                        }
                      }
                      component.find("select_doctor").set("v.options", res);
                    }
                    component.set("v.loginEdit", false);
                  },
                  staticResourceAgencyContact.token
                );
              }
            } else {
              let awsids = [];
              for (var i = 0; i < res.length; i++) {
                if (res[i].AWS_Data_Id__c) {
                  awsids.push(res[i].AWS_Data_Id__c);
                }
              }
              component.find("select_doctor").set("v.options", res);
              if (awsids.length > 0) {
                let PIConfig = component.get("v.PIConfig");
                let staticResourceAgencyContact = JSON.parse(
                  PIConfig.staticResourceAgencyContact
                );
                AWSService.search(
                  staticResourceAgencyContact.searchUrl,
                  {
                    dataIds: awsids
                  },
                  function (data) {
                    if (data && data.object && data.object.length) {
                      let m = {};
                      for (let di in data.object) {
                        if (data.object[di] && data.object[di].dataId) {
                          m[data.object[di].dataId] = data.object[di];
                        }
                      }
                      for (let ri in res) {
                        if (
                          res[ri] &&
                          res[ri].AWS_Data_Id__c &&
                          m.hasOwnProperty(res[ri].AWS_Data_Id__c)
                        ) {
                          res[ri].label = m[res[ri].AWS_Data_Id__c].name;
                        }
                      }
                      component.find("select_doctor").set("v.options", res);
                    }
                    component.set("v.loginEdit", false);
                  },
                  staticResourceAgencyContact.token
                );
              }
              // component.find('select_doctor').set('v.options', res);
              if (res.length > 0) {
                component.set("v.doctor_title", res[0].Doctor_Division1__c);
              }
            }
            // component.set('v.default_select_doctor_id', '');
            component.set("v.doctor_list", res);
            component.set("v.loginEdit", false);
          } else {
            // component.set('v.errorMessage', 'set_doctor_list failed.');
            this.error("set_doctor_list failed.");
            //this.showErrorToast(component);
            component.set("v.loginEdit", false);
          }
        });
        $A.enqueueAction(action);
      }
    } else {
      if (doctor_value == "科室会") {
        this.set_doctor_list2(component);
      } else {
        component.find("select_doctor").set("v.options", "");
      }
    }
  },
  set_doctor_list2: function (component) {
    var action1 = component.get("c.selectdoctor3c");
    action1.setCallback(this, function (response) {
      var state = response.getState();
      if (state == "SUCCESS") {
        var res = response.getReturnValue();
        debugger;
        for (var i = 0; i < res.length; i++) {
          if (res[i].selected == "true") {
            res[i].selected = true;
@@ -2073,11 +2707,12 @@
            res[i].selected = false;
          }
        }
        debugger;
        component.find("select_doctor").set("v.options", res);
        var doctor3value = component.get("v.default_select_doctor_id2");
        this.set_selected(component, "select_doctor", doctor3value);
        component.set("v.login", false);
        component.set("v.loginEdit", false);
      }
    });
    $A.enqueueAction(action1);
@@ -2096,8 +2731,9 @@
      (p1bool && p0bool && product_category_id == pcId1) ||
      (p2bool && p0bool && product_category_id == pcId2)
    ) {
      component.set("v.errorMessage", "不能选择同样的产品区分");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品区分');
      this.error("不能选择同样的产品区分");
      //this.showErrorToast(component);
      component.find("select_Product1").set("v.value", "");
    }
  },
@@ -2112,8 +2748,9 @@
      (p1bool && p0bool && product_category_id == pcId1) ||
      (p2bool && p0bool && product_category_id == pcId2)
    ) {
      component.set("v.errorMessage", "不能选择同样的产品区分");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品区分');
      this.error("不能选择同样的产品区分");
      //this.showErrorToast(component);
      component.set("v.UseProduct2_TEXT", "");
    }
  },
@@ -2131,8 +2768,9 @@
      (p1bool && p0bool && product_category_id == pcId1) ||
      (p2bool && p0bool && product_category_id == pcId2)
    ) {
      component.set("v.errorMessage", "不能选择同样的产品区分");
      this.showErrorToast(component);
      //component.set('v.errorMessage', '不能选择同样的产品区分');
      this.error("不能选择同样的产品区分");
      //this.showErrorToast(component);
      component.find("select_Product3").set("v.value", "");
    }
  },
@@ -2149,7 +2787,6 @@
    return obj;
  },
  set_selected: function (component, aura_id_name, value) {
    debugger;
    var select_tmp = component.find(aura_id_name).get("v.options");
    if (select_tmp) {
      for (var i = 0; i < select_tmp.length; i++) {
@@ -2167,7 +2804,6 @@
  },
  //弹出 成功提示
  showSuccessToast: function (component) {
    debugger;
    $A.util.removeClass(component.find("successDiv"), "slds-hide");
    window.setTimeout(
      $A.getCallback(function () {
@@ -2178,7 +2814,6 @@
  },
  //弹出 成功提示
  showSuccessToast01: function (component) {
    debugger;
    $A.util.removeClass(component.find("successDiv01"), "slds-hide");
    window.setTimeout(
      $A.getCallback(function () {
@@ -2189,7 +2824,6 @@
  },
  //弹出 错误提示
  showErrorToast: function (component) {
    debugger;
    $A.util.removeClass(component.find("errorDiv"), "slds-hide");
    window.setTimeout(
      $A.getCallback(function () {
@@ -2200,7 +2834,6 @@
  },
  //弹出 错误提示
  showErrorToast01: function (component) {
    debugger;
    $A.util.removeClass(component.find("errorDiv01"), "slds-hide");
    window.setTimeout(
      $A.getCallback(function () {
@@ -2239,7 +2872,7 @@
    $A.util.addClass(modal_newAC, "disp_none");
    component.set("v.successMessage", ".拜访人已创建。");
    this.showSuccessToast(component);
    this.set_doctor_list(component, event, helper);
    this.set_doctor_list_edit(component, event, helper);
  },
  createCancel: function (component, event, helper) {
    component.set("v.truthy", false);
@@ -2307,7 +2940,6 @@
        component.set("v.TargetFileName", output);
      };
      reader.onload = function (e) {
        debugger;
        var data = e.target.result;
        component.set("v.fileContentData", data);
@@ -2326,9 +2958,15 @@
          var content =
            '<table class="table slds-table slds-table--bordered slds-table--cell-buffer">';
          content += '<thead><tr class="slds-text-title--caps">';
          content += '<th scope="col">' + "行号" + "</th>";
          content += '<th scope="col" style="width:100px">' + "行号" + "</th>";
          for (i = 0; i < headers.length; i++) {
            content += '<th scope="col">' + headers[i] + "</th>";
            if (headers[i] == "产品1同类耗材科室月使用量") {
              content +=
                '<th scope="col" style="width:250px">' + headers[i] + "</th>";
            } else {
              content +=
                '<th scope="col" style="width:200px">' + headers[i] + "</th>";
            }
          }
          content += "</tr></thead>";
          for (var i = 1; i < allTextLines.length; i++) {
@@ -2366,8 +3004,9 @@
        var result = response.getReturnValue();
        if (callback) callback(result);
      } else {
        component.set("v.errorMessage", "AWS url/token error.");
        this.showErrorToast01(component);
        //component.set('v.errorMessage', 'AWS url/token error.');
        this.error("AWS url/token error.");
        //this.showErrorToast01(component);
        component.set("v.login", false);
      }
    });
@@ -2393,13 +3032,15 @@
      })
      .catch((error) => {
        console.log("AWS search error = " + JSON.stringify(error));
        component.set("v.errorMessage", "AWS search error.");
        this.showErrorToast01(component);
        // component.set('v.errorMessage', 'AWS search error.');
        this.error("AWS search error.");
        //this.showErrorToast01(component);
        component.set("v.login", false);
      });
  },
  saveRecords: function (component, event, helper) {
    component.set("v.login", true);
    //component.set('v.login', true);
    component.set("v.modal_import_spinner", true);
    //fy 导入 202200506 start
    var action1 = component.get("c.processDataAWSId");
    action1.setParams({
@@ -2408,13 +3049,12 @@
    action1.setCallback(this, function (response) {
      var state = response.getState();
      if (state === "SUCCESS") {
        debugger;
        var ress = response.getReturnValue();
        if (ress) {
          var valur = ress.split("error1");
          if (valur.length <= 1) {
            var res = JSON.parse(response.getReturnValue());
            debugger;
            var dataArr = new Array();
            var dataMap = new Map();
            res.forEach((item) => {
@@ -2424,7 +3064,7 @@
                dataMap.set(item.AWS_Data_Id__c, item.AWS_Data_Id__c);
              }
            });
            debugger;
            let obj = Object.create(null);
            obj["dataIds"] = dataArr;
            var payload = JSON.stringify(obj);
@@ -2434,14 +3074,19 @@
              (result) => {
                var token = result.token;
                var searchUrl = result.searchUrl;
                console.log("token = " + token);
                console.log("searchUrl = " + searchUrl);
                console.log("payload = " + payload);
                this.search_core(
                  token,
                  searchUrl,
                  payload,
                  (result) => {
                    console.log("result = " + JSON.stringify(result));
                    if (result.status == "0") {
                      if (result.object != null && result.object.length != 0) {
                        component.set("v.login", true);
                        //component.set('v.login', true);
                        component.set("v.modal_import_spinner", true);
                        this.saveRecordsEditFile(
                          component,
                          dataMap,
@@ -2449,17 +3094,18 @@
                          helper
                        );
                      } else {
                        component.set("v.errorMessage", "AWS search status ");
                        this.showErrorToast01(component);
                        component.set("v.login", false);
                        //component.set('v.errorMessage', 'AWS 查询数据为空 ');
                        this.error("AWS 查询数据为空 ");
                        //this.showErrorToast01(component);
                        //component.set('v.login', false);
                        component.set("v.modal_import_spinner", false);
                      }
                    } else {
                      component.set(
                        "v.errorMessage",
                        "AWS search status : " + result.status
                      );
                      this.showErrorToast01(component);
                      component.set("v.login", false);
                      //component.set('v.errorMessage', 'AWS search status : ' + result.status);
                      this.error("AWS search status : " + result.status);
                      //this.showErrorToast01(component);
                      //component.set('v.login', false);
                      component.set("v.modal_import_spinner", false);
                    }
                  },
                  component
@@ -2467,12 +3113,11 @@
              }
            );
          } else {
            component.set(
              "v.errorMessage",
              valur[1] + "\n" + "请修改后重新上传"
            );
            this.showErrorToast01(component);
            component.set("v.login", false);
            //component.set('v.errorMessage', valur[1] + '\n' + "请修改后重新上传");
            this.error(valur[1] + "\n" + "请修改后重新上传");
            //this.showErrorToast01(component);
            //component.set('v.login', false);
            component.set("v.modal_import_spinner", false);
          }
        }
      }
@@ -2531,8 +3176,10 @@
  saveRecordsEditFile: function (component, dataMap, searchData, helper) {
    var searchDataMap = new Map();
    for (var i = 0; i < searchData.length; i++) {
      var sd = searchData[i];
      searchDataMap.set(sd.name.replace(" ", ""), sd.dataId);
      if (searchData[i].name != null) {
        var sd = searchData[i];
        searchDataMap.set(sd.name.replace(" ", ""), sd.dataId);
      }
    }
    console.log("searchDataMap=" + searchDataMap);
    var error = "";
@@ -2560,7 +3207,6 @@
                var nameDataId = searchDataMap.get(fileName.replace(" ", ""));
                if (dataMap.get(nameDataId)) {
                  filelist[5] = dataMap.get(nameDataId); //zhj 新方案改造 filelist[5]不再存的nameEncrpt 2022-12-21
                  console.log("filelist[5] = " + filelist[5]);
                } else {
                  error += "error1 第" + i + "行数据拜访人SF不存在";
                }
@@ -2603,16 +3249,116 @@
    }
    if (error != "") {
      component.set("v.errorMessage", error);
      this.showErrorToast01(component);
      console.log("zhj error = " + error);
      let errorArray = error.split("error1");
      let errorDatas = [];
      let errorDataRow = [];
      var fileContentData = component.get("v.fileContentData").split("\n");
      console.log("fileContentData = " + JSON.stringify(fileContentData));
      console.log("errorArray = " + JSON.stringify(errorArray));
      for (var i in errorArray) {
        // if (errorArray[i] != '') {
        //     let errorData = {}
        //     errorData.errorRow = errorArray[i].trim().substring(1, 2);
        //     errorData.errorInfo = errorArray[i].trim().substring(5);
        //     errorDatas.push(errorData);
        // }
        if (errorArray[i] != "") {
          let errorData = {};
          let index = errorDataRow.indexOf(
            errorArray[i].trim().substring(1, 2)
          );
          if (index == -1) {
            errorData.errorRow = errorArray[i].trim().substring(1, 2);
            errorDataRow.push(errorData.errorRow);
            errorData.errorInfo = errorArray[i].trim().substring(5);
            if (errorData.errorInfo == "拜访人AWS不存在") {
              errorData.errorInfo =
                "拜访人 " +
                fileContentData[errorData.errorRow].split(",")[5] +
                "不存在";
            }
            errorDatas.push(errorData);
          } else {
            if (errorArray[i].trim().substring(5) == "拜访人AWS不存在") {
              errorData[index].errorInfo =
                "; " +
                "拜访人 " +
                fileContentData[errorDatas[index].errorRow].split(",")[5] +
                "不存在";
            } else {
              errorDatas[index].errorInfo +=
                "; " + errorArray[i].trim().substring(5);
            }
          }
        }
      }
      var fileContentData = component.get("v.fileContentData").split("\n");
      console.log("fileContentData = " + JSON.stringify(fileContentData));
      let errorColumns = [
        {
          label: "错误行",
          fieldName: "errorRow",
          type: "text",
          hideDefaultActions: true,
          initialWidth: 100
        },
        {
          label: "错误信息",
          fieldName: "errorInfo",
          type: "text",
          hideDefaultActions: true,
          initialWidth: 300,
          wrapText: true
        }
      ];
      for (var i = 0; i < fileContentData[0].split(",").length - 1; i++) {
        let initialWidth = 180;
        if (
          fileContentData[0].split(",")[i] == "产品1同类耗材科室月使用量" ||
          fileContentData[0].split(",")[i] == "使用产品1(产品型号)"
        ) {
          initialWidth = 250;
        }
        errorColumns.push({
          label: fileContentData[0].split(",")[i],
          fieldName: "field" + i,
          type: "text",
          hideDefaultActions: true,
          wrapText: true,
          initialWidth: initialWidth
        });
      }
      for (var i = 0; i < errorDatas.length; i++) {
        let data = fileContentData[errorDatas[i].errorRow];
        console.log("data = " + JSON.stringify(data));
        if (data) {
          for (var j = 0; j < data.split(",").length; j++) {
            let label = "field" + j;
            errorDatas[i][label] = data.split(",")[j];
          }
        }
      }
      console.log("errorDatas =" + JSON.stringify(errorDatas));
      component.set("v.errorColumns", errorColumns);
      component.set("v.errorData", errorDatas);
      component.set("v.showErrorInfo", true);
      console.log("error = " + error);
      //component.set('v.errorMessage', error);
      this.error(error);
      //this.showErrorToast01(component);
      console.log("error=" + error);
      component.set("v.login", false);
      //component.set('v.login', false);
      component.set("v.modal_import_spinner", false);
      return;
    }
    console.log("fileStr=" + fileStr);
    $A.getCallback(function () {
      debugger;
      helper.ImportMethod(component, fileStr, helper);
    })();
  },
@@ -2633,32 +3379,124 @@
        if (res != "success") {
          var ress = res.split("=");
          console.log(ress);
          let errorDatas = [];
          let errorDataRow = [];
          var fileContentData = component.get("v.fileContentData").split("\n");
          console.log(
            "fileContentData[1].split(,)[5] = " +
              fileContentData[1].split(",")[5]
          );
          for (var i = 0; i < ress.length; i++) {
            res1 += ress[i].substr(7) + "\n";
            if (ress[i] != "") {
              let errorData = {};
              let index = errorDataRow.indexOf(
                ress[i].substr(7).substring(1, 2)
              );
              if (index == -1) {
                errorData.errorRow = ress[i].substr(7).substring(1, 2);
                errorDataRow.push(errorData.errorRow);
                errorData.errorInfo = ress[i].substr(7).substring(5);
                if (errorData.errorInfo == "拜访人不存在") {
                  console.log("errorData.errorRow = " + errorData.errorRow);
                  errorData.errorInfo =
                    "拜访人 " +
                    fileContentData[errorData.errorRow].split(",")[5] +
                    "不存在";
                }
                errorDatas.push(errorData);
              } else {
                if (ress[i].substr(7).substring(5) == "拜访人不存在") {
                  errorDatas[index].errorInfo +=
                    "; " +
                    "拜访人 " +
                    fileContentData[errorDatas[index].errorRow].split(",")[5] +
                    "不存在";
                } else {
                  errorDatas[index].errorInfo +=
                    "; " + ress[i].substr(7).substring(5);
                }
              }
            }
          }
          var fileContentData = component.get("v.fileContentData").split("\n");
          let errorColumns = [
            {
              label: "错误行",
              fieldName: "errorRow",
              type: "text",
              hideDefaultActions: true,
              initialWidth: 100
            },
            {
              label: "错误信息",
              fieldName: "errorInfo",
              type: "text",
              hideDefaultActions: true,
              initialWidth: 300,
              wrapText: true
            }
          ];
          for (var i = 0; i < fileContentData[0].split(",").length - 1; i++) {
            let initialWidth = 180;
            if (
              fileContentData[0].split(",")[i] == "产品1同类耗材科室月使用量" ||
              fileContentData[0].split(",")[i] == "使用产品1(产品型号)"
            ) {
              initialWidth = 250;
            }
            errorColumns.push({
              label: fileContentData[0].split(",")[i],
              fieldName: "field" + i,
              type: "text",
              hideDefaultActions: true,
              wrapText: true,
              initialWidth: initialWidth
            });
          }
          for (var i = 0; i < errorDatas.length; i++) {
            let data = fileContentData[errorDatas[i].errorRow];
            console.log("data = " + JSON.stringify(data));
            for (var j = 0; j < data.split(",").length; j++) {
              let label = "field" + j;
              errorDatas[i][label] = data.split(",")[j];
            }
          }
          component.set("v.errorColumns", errorColumns);
          component.set("v.errorData", errorDatas);
          component.set("v.showErrorInfo", true);
          console.log("==" + res1);
          component.set("v.errorMessage", res1 + "请修改后重新上传");
          this.showErrorToast01(component);
          component.set("v.login", false);
          //component.set('v.errorMessage', res1 + "请修改后重新上传");
          this.error(res1 + "请修改后重新上传");
          //this.showErrorToast01(component);
          //component.set('v.login', false);
          component.set("v.modal_import_spinner", false);
        } else {
          component.set("v.successMessage", "导入成功");
          this.showSuccessToast01(component);
          component.set("v.showMain", true);
          component.set("v.login", false);
          //component.set('v.login', false);
          component.set("v.modal_import_spinner", false);
          this.doinit(component, event, helper);
        }
      } else if (state === "INCOMPLETE") {
        component.set("v.login", false);
        //component.set('v.login', false);
        component.set("v.modal_import_spinner", false);
      } else if (state === "ERROR") {
        var errors = response.getError();
        if (errors) {
          if (errors[0] && errors[0].message) {
            console.log("Error message: " + errors[0].message);
            component.set("v.login", false);
            //component.set('v.login', false);
            component.set("v.modal_import_spinner", false);
          }
        } else {
          console.log("Unknown error");
          component.set("v.login", false);
          //component.set('v.login', false);
          component.set("v.modal_import_spinner", false);
        }
      }
    });
@@ -3023,8 +3861,9 @@
          component.set("v.doctor_list", res);
          component.set("v.login", false);
        } else {
          component.set("v.errorMessage", "newlyBuild failed.");
          this.showErrorToast(component);
          //component.set('v.errorMessage', 'newlyBuild failed.');
          this.error("newlyBuild failed.");
          //this.showErrorToast(component);
          component.set("v.login", false);
        }
      });
@@ -3039,18 +3878,14 @@
        if (sc.replace(/\D/gi, "")) {
          component.set("v.select_ConsumptionOfConsumables", sc);
        } else {
          component.set(
            "v.errorMessage",
            "产品1同类耗材科室月使用量必须输入数字!"
          );
          this.showErrorToast(component);
          //component.set('v.errorMessage', '产品1同类耗材科室月使用量必须输入数字!');
          this.error("产品1同类耗材科室月使用量必须输入数字!");
          //this.showErrorToast(component);
        }
      } else {
        component.set(
          "v.errorMessage",
          "产品1同类耗材科室月使用量最多输入14位数字!"
        );
        this.showErrorToast(component);
        //component.set('v.errorMessage', '产品1同类耗材科室月使用量最多输入14位数字!');
        this.error("产品1同类耗材科室月使用量最多输入14位数字!");
        //this.showErrorToast(component);
      }
    }
  },
@@ -3062,18 +3897,19 @@
        if (sc.replace(/\D/gi, "")) {
          component.set("v.select_warlocksNumber", sc);
        } else {
          component.set("v.errorMessage", "产品用量必须输入数字!");
          this.showErrorToast(component);
          //component.set('v.errorMessage', '产品用量必须输入数字!');
          this.error("产品用量必须输入数字!");
          //this.showErrorToast(component);
        }
      } else {
        component.set("v.errorMessage", "产品用量最多输入14位数字!");
        this.showErrorToast(component);
        //component.set('v.errorMessage', '产品用量最多输入14位数字!');
        this.error("产品用量最多输入14位数字!");
        //this.showErrorToast(component);
      }
    }
  },
  //工作会记录
  selectPurposeType: function (component, event, helper) {
    debugger;
    var doctor_value = component.find("select_purpose_type").get("v.value");
    // alert(doctor_value);
    if (doctor_value != "科室会") {
@@ -3082,7 +3918,7 @@
      component.find("new_con").set("v.disabled", true);
    }
    if (doctor_value != "") {
      this.set_doctor_list(component);
      this.set_doctor_list_edit(component);
      var action = component.get("c.selectPurposeTypes");
      action.setParams({
        doctor_value: doctor_value
@@ -3103,7 +3939,6 @@
  },
  selectProductClassification: function (component, event, helper) {
    debugger;
    var select_ProductClassification = component
      .find("select_ProductClassification")
      .get("v.value");
@@ -3131,7 +3966,7 @@
    var select_ProductCcategory = component
      .find("select_ProductCcategory")
      .get("v.value");
    debugger;
    if (select_ProductCcategory != "") {
      var result = component.find("result");
      var UserProType = component.get("v.UserProType");
@@ -3179,7 +4014,6 @@
        $A.util.addClass(result, "disp_none");
      }
    } else {
      debugger;
      component.find("select_productCategories").set("v.value", "");
      var result = component.find("result");
      $A.util.addClass(result, "disp_none");
@@ -3201,6 +4035,86 @@
    }
    $A.enqueueAction(action);
  }
  },
  //zhj MEBG新方案改造 2022-11-29 end
  //zhj 导出错误信息 2023-05-16 start
  exportErrorInfoHelper: function (component) {
    var errorData = component.get("v.errorData");
    var errorColumns = component.get("v.errorColumns");
    var datas = [];
    let errorColumnsArray = [];
    for (var i in errorColumns) {
      errorColumnsArray.push(errorColumns[i].label);
    }
    datas.push(errorColumnsArray);
    //datas.push(errorColumns);
    for (var i in errorData) {
      let data = [];
      data.push(errorData[i].errorRow);
      data.push(errorData[i].errorInfo);
      for (var j = 0; j < Object.keys(errorData[i]).length - 2; j++) {
        data.push(errorData[i]["field" + j]);
      }
      datas.push(data);
    }
    console.log("datas = " + JSON.stringify(datas));
    var csv = this.convertToCSV(component, datas);
    console.log("csv = " + JSON.stringify(csv));
    this.downloadCSV(component, csv);
  },
  convertToCSV: function (component, data) {
    console.log("enter convertToCSV");
    console.log("data = " + data);
    var csv = "";
    for (var i = 0; i < data.length; i++) {
      var row = data[i];
      console.log("row = " + JSON.stringify(row));
      for (var j = 0; j < row.length; j++) {
        var val = "";
        val = row[j] === null ? "" : row[j].toString();
        console.log("val = " + val);
        if (
          val.indexOf(",") !== -1 ||
          val.indexOf('"') !== -1 ||
          val.indexOf("\n") !== -1
        ) {
          //val = '"' + val.replace(/"/g,'""') + '"';
        }
        if (j > 0) {
          csv += ",";
        }
        csv += val;
      }
      csv += "\n";
    }
    return csv;
  },
  downloadCSV: function (component, csv) {
    var link = document.createElement("a");
    var bom = "\uFEFF";
    link.href = "data:text/csv;charset=utf-8," + encodeURIComponent(bom + csv);
    link.download = "data.csv";
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
  },
  error: function (message) {
    // $('toastMessage.forceToastManager').css('white-space', 'pre-wrap');
    var toastEvent = $A.get("e.force:showToast");
    toastEvent.setParams({
      title: "错误!",
      message: message,
      type: "error"
      //"duration" : "sticky"
    });
    toastEvent.fire();
  }
  //zhj 导出错误信息 2023-05-16 end
});