({
doinit: function (component, event, helper) {
debugger;
this.report_date_list(component, event, helper, 5);
component.set("v.login", true);
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
debugger;
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.login", false);
} else {
component.set("v.errorMessage", "doinit failed.");
this.showErrorToast(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
},
//其他品牌产品类别 下拉框赋值
selectProductCcategory: function (component) {
var select_ProductClassification = component
.find("select_ProductClassification")
.get("v.value");
if (select_ProductClassification != "") {
var action = component.get("c.selectProductCcategory");
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
component
.find("select_ProductCcategory")
.set("v.options", JSON.parse(JSON.stringify(res)));
}
});
$A.enqueueAction(action);
} else {
component.find("select_ProductCcategory").set("v.options", []);
}
},
//根据周和担当查询数据给初始页面赋数据
get_reports: function (component, event, helper, date_str, person_str) {
if (!date_str) {
return false;
}
if (person_str) {
var person_str2 = person_str.split(";");
if (person_str2.length > 1) {
person_str = person_str2[0];
}
}
date_str = this.get_date_string(date_str);
var action = component.get("c.getReports");
action.setParams({
date_str: date_str,
person_str: person_str
});
component.set("v.login", true);
action.setCallback(this, function (response) {
debugger;
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
component.set("v.reports", res.reports);
component.set("v.report_count", res.reports.length);
// 更新保存後のselect_data用
var report_id = component.get("v.update_select_report_data_id");
if (report_id != "") {
for (var i = 0; i < res.reports.length; i++) {
if (res.reports[i]["Id"] == report_id) {
component.set("v.select_report_data", res.reports[i]);
break;
}
}
component.set("v.update_select_report_data_id", "");
}
if (res.reports.length > 0) {
component.set("v.list_message", "");
var flag2 = res.reports.length;
//fy 20220414 start
var report1 = [];
var report2 = [];
res.reports.forEach((item) => {
if (
(item.WorkRecord__c == "科室会" &&
item.doctor3__c != undefined) ||
((item.doctor3__c == undefined ||
item.doctor3__c == "" ||
item.doctor3__c == "") &&
(item.doctor2__r == undefined ||
item.doctor2__r == "" ||
item.doctor2__r == ""))
) {
report1.push(item);
} else {
report2.push(item);
}
});
res.reports = report2;
//fy 20220414 end
// PI 改造 By Bright 20220328
if (true) {
let doctor_awsids = res.reports.map(function (d) {
return d.doctor2__r.AWS_Data_Id__c;
});
let PIConfig = component.get("v.PIConfig");
let staticResourceAgencyContact = JSON.parse(
PIConfig.staticResourceAgencyContact
);
if (doctor_awsids.length > 0) {
AWSService.search(
staticResourceAgencyContact.searchUrl,
{
dataIds: doctor_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];
}
}
debugger;
for (let ri in res.reports) {
if (
res.reports[ri] &&
res.reports[ri].doctor2__r &&
res.reports[ri].doctor2__r.AWS_Data_Id__c &&
m.hasOwnProperty(
res.reports[ri].doctor2__r.AWS_Data_Id__c
)
) {
res.reports[ri].doctor2__r.awsdata =
m[res.reports[ri].doctor2__r.AWS_Data_Id__c];
}
}
component.set("v.reports", res.reports);
component.set("v.report_count", res.reports.length);
}
//fy 20220414 start
var reports3 = component.get("v.reports");
if (reports3.length < flag2) {
res.reports = [...report1, ...reports3];
component.set("v.reports", res.reports);
component.set("v.report_count", res.reports.length);
}
//fy 20220414 end
component.set("v.login", false);
},
staticResourceAgencyContact.token
);
} else {
component.set("v.login", false);
}
}
} else {
component.set("v.list_message", "no_data");
component.set("v.login", false);
}
} else {
component.set("v.errorMessage", "get_reports failed.");
this.showErrorToast(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
},
//复制按钮变灰色
select_date_change: function (component, event, helper) {
this.get_reports(
component,
event,
helper,
component.find("select_date").get("v.value"),
component.find("select_agency_person").get("v.value")
);
component.set("v.select_report_data_radio", "");
component.find("copy_button").set("v.disabled", true);
component.find("delete_button").set("v.disabled", true);
},
select_agency_change: function (component, event, helper) {
var select_value = component.find("select_agency_person").get("v.value");
var new_label = this.get_agency_person_name(component, select_value);
component.set("v.selected_agency_person", new_label);
this.get_reports(
component,
event,
helper,
component.find("select_date").get("v.value"),
select_value
);
component.set("v.select_report_data_radio", "");
component.find("copy_button").set("v.disabled", true);
component.find("delete_button").set("v.disabled", true);
},
get_agency_person_name: function (component, agency_person_value) {
var allselectlist = component.get("v.allselectlist.AgencyPerson__c");
var new_label = "";
for (var i = 0; i < allselectlist.length; i++) {
if (agency_person_value == allselectlist[i].value) {
new_label = allselectlist[i].label;
break;
}
}
return new_label;
},
//复制和编辑回显的位置
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")) {
// OPEN
$A.util.removeClass(modal_window, "disp_none");
$A.util.removeClass(modal_bg, "disp_none");
//复制 和编辑 回显问题在这里面
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(component);
} else {
component.set(
"v.default_select_doctor_id",
select_data["doctor2__c"]
);
this.set_doctor_list(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"]);
}
debugger;
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);
}
}
}
},
//关闭页面是 小的提示框是否放弃新建日报
close_confirm: function (component, title, text) {
var confirm_status = component.get("v.confirm_status");
component.set("v.modal_confirm_title", title);
component.set("v.modal_confirm_text", text);
var modal_window = component.find("modal_window");
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");
$A.util.removeClass(modal_confirm, "disp_none");
$A.util.removeClass(modal_confirm_bg, "disp_none");
} else if (confirm_status == 1) {
// 是
$A.util.addClass(modal_confirm, "disp_none");
$A.util.addClass(modal_confirm_bg, "disp_none");
component.set("v.mode", "");
this.allclear(component);
component.set("v.reports_now", "");
component.set("v.reports_now_count", 0);
component.set("v.confirm_status", 0);
} else if (confirm_status == 2) {
// 否
$A.util.removeClass(modal_window, "disp_none");
$A.util.removeClass(modal_bg, "disp_none");
$A.util.addClass(modal_confirm, "disp_none");
$A.util.addClass(modal_confirm_bg, "disp_none");
component.set("v.confirm_status", 0);
}
},
//新建按钮
new_report: function (component, event, helper) {
component.set("v.mode", "new");
component.set("v.dialog_type", "新建");
// 周
var select_date = component.find("select_date").get("v.value");
// 担当
var select_agency = component.find("select_agency_person").get("v.value");
var cm = 0;
if (select_agency.indexOf(";") != -1) {
select_agency = select_agency.split(";")[0];
}
component.set("v.selected_date", select_date);
// 担当
var name = component.get("v.selected_agency_person");
var ret = this.create_report_header(
component,
event,
helper,
name,
select_agency,
select_date
);
component.set("v.default_select_doctor_id2", "");
// SWAG-CF58C3 fy start
this.set_aws_url(component, "Agency_Contact__c");
// SWAG-CF58C3 fy end
},
// 复制按钮
copy_button: function (component, event, helper) {
debugger;
this.allclear(component);
component.set("v.mode", "copy");
component.set("v.dialog_type", "新建");
var select_report_data = component.get("v.select_report_data_radio");
component.set("v.loadOpp", true);
// 週
var now = new Date();
var start_day = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() - now.getDay() + 1
);
var select_date =
start_day.getFullYear() +
"/" +
(start_day.getMonth() + 1) +
"/" +
start_day.getDate();
this.set_selected(component, "select_date", select_date);
component.set("v.selected_date", select_date);
// 担当
var select_agency = select_report_data["Person_In_Charge2__c"];
var new_label = this.get_agency_person_name(component, select_agency);
component.set("v.selected_agency_person", new_label);
this.set_selected(component, "select_agency_person", select_agency);
var name = component.get("v.selected_agency_person");
component.set("v.edit_copy_select_report_id", select_report_data["Id"]);
component.set("v.select_report_data", select_report_data);
var ret = this.create_report_header(
component,
event,
helper,
name,
select_agency,
select_date
);
// SWAG-CF58C3 fy start
this.set_aws_url(component, "Agency_Contact__c");
// SWAG-CF58C3 fy end
},
//删除按钮
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({
agencyReport_id: select_report_data.Id
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var result = response.getReturnValue();
if (result == "success") {
this.select_agency_change(component, event, helper);
}
component.set("v.login", false);
} else {
component.set("v.login", false);
}
});
$A.enqueueAction(action);
}
},
//复制按钮可用
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")) {
component.set("v.select_report_data_radio", reports[i]);
component.find("copy_button").set("v.disabled", false);
component.find("delete_button").set("v.disabled", false);
break;
}
}
},
//编辑按钮
edit_button: function (component, event, helper) {
this.allclear(component);
debugger;
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");
component.set("v.dialog_type", "编辑");
var select_date = component.get("v.reports")[index].Submit_date__c;
var select_agency = component.get("v.reports")[index].Person_In_Charge2__c;
var text_tmp = select_date.split("-");
var select_date_text =
text_tmp[0] + "/" + Number(text_tmp[1]) + "/" + Number(text_tmp[2]);
component.set("v.selected_date", select_date_text);
var name = component.get("v.reports")[index].Person_In_Charge2__r.Name;
this.set_selected(component, "select_agency_person", select_agency);
var new_label = this.get_agency_person_name(component, select_agency);
component.set("v.selected_agency_person", new_label);
component.set(
"v.edit_copy_select_report_id",
component.get("v.reports")[index].Id
);
var ret = this.create_report_header(
component,
event,
helper,
name,
select_agency,
select_date
);
// SWAG-CF58C3 fy start
this.set_aws_url(component, "Agency_Contact__c");
// SWAG-CF58C3 fy end
},
//保存
save_report: function (component, event, helper) {
var UserProType = component.get("v.UserProType");
component.find("save_button").set("v.disabled", true);
var etEng = component.get("v.etEng");
var Report_Date__c = component.get("v.data.Report_Date__c");
var Person_In_Charge2__c = "";
var Submit_date__c = "";
if (component.get("v.mode") == "edit") {
// 周 Submit_date__c
Submit_date__c = component.get("v.select_report_data").Submit_date__c;
// 担当 Person_In_Charge2__c
Person_In_Charge2__c = component.get(
"v.select_report_data"
).Person_In_Charge2__c;
} else {
// 周 Submit_date__c
Submit_date__c = this.get_date_string(
component.find("select_date").get("v.value")
);
// 担当 Person_In_Charge2__c
Person_In_Charge2__c = component
.find("select_agency_person")
.get("v.value");
}
debugger;
// Agency_Report_Header__c
var Agency_Report_Header__c = component.get("v.agency_report_header_id");
// 医院
var Agency_Hospital__c = component.get("v.hospitalLinkId");
// 产品分类(第三分类)
var ProductClassification__c = component
.find("select_ProductClassification")
.get("v.value");
// 使用产品1(产品型号) UseProduct1__c
var UseProduct1__c = component.get("v.UseProduct1Id");
// 使用产品2 UseProduct2__c
var UseProduct2__c = component.get("v.UseProduct2Id");
// 使用产品3 UseProduct3__c
var UseProduct3__c = component.get("v.UseProduct3Id");
// 科室 Department_Cateogy__c
var Department_Cateogy__c = component
.find("select_department")
.get("v.value");
// 经销商人员 DealerPersonnel__c
var DealerPersonnel__c = component
.find("select_DealerPersonnel")
.get("v.value");
// 拜访人 doctor2__c
var doctor2__c = component.find("select_doctor").get("v.value");
// 活动区分会 WorkRecord__c
var WorkRecord__c = component.find("select_purpose_type").get("v.value");
// 效果/进度 EffectProgress__c
var EffectProgress__c = component
.find("select_EffectProgress")
.get("v.value");
// alert(EffectProgress__c);
// 科室同来耗材月使用量 ConsumptionOfConsumables__c
var ConsumptionOfConsumables__c = component
.find("select_ConsumptionOfConsumables")
.get("v.value");
// 术士分类 WarlockClassification__c
var WarlockClassification__c = component
.find("select_OtherBrandConsumables")
.get("v.value");
// 已采用其他品牌 ProductCcategory__c
var ProductCcategory__c = component
.find("select_ProductCcategory")
.get("v.value");
// 其他品牌产品类别 productCategories__c
var productCategories__c = component
.find("select_productCategories")
.get("v.value");
// 产品用量 warlocksNumber__c
var warlocksNumber__c = component
.find("select_warlocksNumber")
.get("v.value");
// 支援需求 WorkMark__c
var WorkMark__c = component.find("select_WorkMark").get("v.checked");
var StageName__c = component.find("select_stageName").get("v.value");
var Amount__c =
component.get("v.oppdata.Amount__c") != null
? component.get("v.oppdata.Amount__c").toString()
: "";
var OCMSale_Price__c =
component.get("v.oppdata.OCMSale_Price__c") != null
? component.get("v.oppdata.OCMSale_Price__c").toString()
: "";
var Close_Forecasted_Date__c = component.get(
"v.oppdata.Close_Forecasted_Date__c"
);
var StageName__c_o = component.get("v.StageName__c_o");
var Amount__c_o = component.get("v.Amount__c_o");
var OCMSale_Price__c_o = component.get("v.OCMSale_Price__c_o");
var Close_Forecasted_Date__c_o = component.get(
"v.Close_Forecasted_Date__c_o"
);
if (StageName__c_o == undefined) StageName__c_o = "";
if (Amount__c_o == undefined) Amount__c_o = "";
if (OCMSale_Price__c_o == undefined) OCMSale_Price__c_o = "";
if (Close_Forecasted_Date__c_o == undefined)
Close_Forecasted_Date__c_o = "";
if (
StageName__c == StageName__c_o &&
OCMSale_Price__c_o == OCMSale_Price__c &&
Amount__c == Amount__c_o &&
Close_Forecasted_Date__c == Close_Forecasted_Date__c_o
) {
StageName__c = "";
Amount__c = "";
OCMSale_Price__c = "";
Close_Forecasted_Date__c = "";
}
// バリデーション
var error = [];
//fy start
// if(WorkRecord__c != 'SIS'&&WorkRecord__c != '科室会'){
if (WorkRecord__c == "临床信息(使用量)收集") {
if (
warlocksNumber__c == "" ||
warlocksNumber__c == "" ||
warlocksNumber__c == undefined
) {
error.push("产品用量 不能为空");
}
}
//fy end
if (WorkRecord__c == "临床信息(使用量)收集" && UserProType == "ENG") {
if (
productCategories__c == "" ||
productCategories__c == "" ||
productCategories__c == undefined
) {
error.push("其他品牌产品类别 不存在");
}
}
if (WorkRecord__c == "临床信息(使用量)收集") {
if (
ProductCcategory__c == "" ||
ProductCcategory__c == "" ||
ProductCcategory__c == undefined
) {
error.push("已采用其他品牌 不存在");
}
}
if (WorkRecord__c == "临床信息(使用量)收集") {
if (
WarlockClassification__c == "" ||
WarlockClassification__c == "" ||
WarlockClassification__c == undefined
) {
error.push("产品1对应OLY产品线 不存在");
}
}
if (WorkRecord__c == "临床信息(使用量)收集") {
if (
ConsumptionOfConsumables__c == "" ||
ConsumptionOfConsumables__c == "" ||
ConsumptionOfConsumables__c == undefined
) {
error.push("产品1同类耗材科室月使用量 不能为空");
}
}
if (
WorkRecord__c != "临床信息(使用量)收集" &&
WorkRecord__c != "市场推广类活动"
) {
if (
EffectProgress__c == "" ||
EffectProgress__c == "" ||
EffectProgress__c == undefined
) {
error.push("效果/进度 不存在");
}
}
// if(WorkRecord__c != '临床信息(使用量)收集'&&WorkRecord__c != 'QIS处理'){
if (WorkRecord__c != "临床信息(使用量)收集") {
if (
UseProduct1__c == "" ||
UseProduct1__c == "" ||
UseProduct1__c == undefined
) {
error.push("使用产品1(产品型号) 不存在");
}
}
if (
ProductClassification__c == "" ||
ProductClassification__c == "" ||
ProductClassification__c == undefined
) {
error.push("产品分类(第三分类) 不存在");
}
if (
WorkRecord__c == "SIS" ||
WorkRecord__c == "科室会" ||
WorkRecord__c == "院内入院申请" ||
WorkRecord__c == "收费项目申请"
) {
if (doctor2__c == "" || doctor2__c == "" || doctor2__c == undefined) {
error.push("拜访人 不存在");
}
}
if (
WorkRecord__c == "" ||
WorkRecord__c == "" ||
WorkRecord__c == undefined
) {
error.push("活动区分 不存在");
}
if (
DealerPersonnel__c == "" ||
DealerPersonnel__c == "" ||
DealerPersonnel__c == undefined
) {
error.push("经销商人员 不存在");
}
if (
Department_Cateogy__c == "" ||
Department_Cateogy__c == "" ||
Department_Cateogy__c == undefined
) {
error.push("科室 不存在");
}
if (
Agency_Hospital__c == "" ||
Agency_Hospital__c == "" ||
Agency_Hospital__c == undefined
) {
error.push("医院 不存在");
}
if (
Report_Date__c == "" ||
Report_Date__c == "" ||
Report_Date__c == undefined
) {
error.push("活动日 不存在");
}
if (
Submit_date__c == "" ||
Submit_date__c == "" ||
Submit_date__c == undefined
) {
error.push("周 不存在");
}
var rDate = new Date(Report_Date__c);
var sDate = new Date(Submit_date__c);
sDate.setDate(sDate.getDate() - 1);
if (rDate < sDate) {
error.push("活动日必须是本周!");
}
sDate.setDate(sDate.getDate() + 7);
if (rDate >= sDate) {
error.push("活动日必须是本周!");
}
if (
Person_In_Charge2__c == "" ||
Person_In_Charge2__c == "" ||
Person_In_Charge2__c == undefined
) {
error.push("担当 不存在");
}
if (
Agency_Report_Header__c == "" ||
Agency_Report_Header__c == "" ||
Agency_Report_Header__c == undefined
) {
this.error("Report Header Id 不存在");
}
// if (!UseProduct2__c) { error.push("使用产品2 不存在"); }
// if (!UseProduct3__c) { error.push("使用产品3 不存在"); }
// if (!productCategories__c) { error.push("其他品牌产品类别 不存在"); }
for (var i = 0; i < error.length; i++) {
component.set("v.errorMessage", error[i]);
this.showErrorToast(component);
}
if (error.length > 0) {
component.find("save_button").set("v.disabled", false);
return false;
}
// 保存処理
component.set("v.login", true);
if (component.get("v.mode") == "edit") {
var Agency_Report__c = component.get("v.select_report_data").Id;
var action = component.get("c.editAgencyReport");
action.setParams({
Agency_Report_Id: Agency_Report__c,
Department_Cateogy: Department_Cateogy__c,
ConsumptionOfConsumables: ConsumptionOfConsumables__c,
WorkRecord: WorkRecord__c,
EffectProgress: EffectProgress__c,
WarlockClassification: WarlockClassification__c,
ProductCcategory: ProductCcategory__c,
productCategories: productCategories__c,
warlocksNumber: warlocksNumber__c,
WorkMark: WorkMark__c,
ProductClassification: ProductClassification__c,
DealerPersonnel: DealerPersonnel__c,
Agency_Report_Header: Agency_Report_Header__c,
Agency_Hospital: Agency_Hospital__c,
UseProduct1: UseProduct1__c,
UseProduct2: UseProduct2__c,
UseProduct3: UseProduct3__c,
Person_In_Charge2: Person_In_Charge2__c,
doctor: doctor2__c,
Submit_date: Submit_date__c,
StageName: StageName__c,
oppAmount: Amount__c,
oppOCMPrice: OCMSale_Price__c,
Close_Forecasted_Date: Close_Forecasted_Date__c,
Report_Date: Report_Date__c
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
component.set("v.successMessage", "编辑保存成功");
this.showSuccessToast(component);
var report_id = response.getReturnValue();
component.set("v.create_agency_report_id", report_id);
var select_agency_list =
component.get("v.allselectlist").AgencyPerson__c;
for (var i = 0; i < select_agency_list.length; i++) {
if (
select_agency_list[i].value ==
component.get("v.select_report_data").Person_In_Charge2__c
) {
select_agency_list[i].selected = true;
} else {
select_agency_list[i].selected = false;
}
}
component
.find("select_agency_person")
.set("v.options", select_agency_list);
component.set("v.update_select_report_data_id", report_id);
this.get_reports(
component,
event,
helper,
component.get("v.select_report_data").Submit_date__c,
component.get("v.select_report_data").Person_In_Charge2__c
);
component.find("save_button").set("v.disabled", false);
component.set("v.login", false);
} else {
component.set("v.errorMessage", "save_report failed.");
this.showErrorToast(component);
component.find("save_button").set("v.disabled", false);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
} else {
/* Save (New & Copy) */
var action = component.get("c.saveAgencyReport");
action.setParams({
Department_Cateogy: Department_Cateogy__c,
ConsumptionOfConsumables: ConsumptionOfConsumables__c,
WorkMark: WorkMark__c,
warlocksNumber: warlocksNumber__c,
DealerPersonnel: DealerPersonnel__c,
ProductCcategory: ProductCcategory__c,
productCategories: productCategories__c,
WarlockClassification: WarlockClassification__c,
ProductClassification: ProductClassification__c,
WorkRecord: WorkRecord__c,
EffectProgress: EffectProgress__c,
Agency_Report_Header: Agency_Report_Header__c,
Agency_Hospital: Agency_Hospital__c,
Person_In_Charge2: Person_In_Charge2__c,
doctor: doctor2__c,
Submit_date: Submit_date__c,
UseProduct1: UseProduct1__c,
UseProduct2: UseProduct2__c,
UseProduct3: UseProduct3__c,
StageName: StageName__c,
oppAmount: Amount__c,
oppOCMPrice: OCMSale_Price__c,
Close_Forecasted_Date: Close_Forecasted_Date__c,
Report_Date: Report_Date__c
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
component.set("v.successMessage", "保存成功");
this.showSuccessToast(component);
var report_id = response.getReturnValue();
component.set("v.create_agency_report_id", report_id);
this.get_reports(
component,
event,
helper,
component.find("select_date").get("v.value"),
component.find("select_agency_person").get("v.value")
);
// モーダルウィンドウ内の一覧用
var action2 = component.get("c.getReportsById");
action2.setParams({
report_id: report_id
});
action2.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
var reports_now = component.get("v.reports_now");
var reports_now_count = 0;
if (reports_now.length > 0 && reports_now != "") {
reports_now_count = reports_now.length;
}
// Save&New時のウィンドウ内データ一覧
if (res.length > 0) {
reports_now[reports_now_count] = res[0];
reports_now.sort(function (a, b) {
if (a.Name > b.Name) return -1;
if (a.Name < b.Name) return 1;
return 0;
});
component.set("v.reports_now", reports_now);
component.set("v.reports_now_count", reports_now.length);
var data_list = component.find("modal_data_list_tr");
}
} else {
component.set("v.errorMessage", "get_reports_now failed.");
this.showErrorToast(component);
component.find("save_button").set("v.disabled", false);
component.set("v.login", 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);
} else {
var error = response.getError();
component.set("v.errorMessage", "saveAgencyReport failed.");
this.showErrorToast(component);
component.find("save_button").set("v.disabled", false);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
}
},
allclear: function (component) {
var clear = [{ label: "", value: "", selected: true }];
component.set("v.hospital", "");
component.set("v.hospitalId", "");
component.set("v.hospitalLinkId", "");
component.set("v.UseProduct1", "");
component.set("v.UseProduct1Id", "");
component.set("v.UseProduct2", "");
component.set("v.UseProduct2Id", "");
component.set("v.UseProduct3", "");
component.set("v.UseProduct3Id", "");
component.find("select_ProductClassification").set("v.value", "");
component.find("select_warlocksNumber").set("v.value", null);
component.find("select_department").set("v.value", "");
component.find("select_ConsumptionOfConsumables").set("v.value", null);
component.find("select_WorkMark").set("v.checked", false);
component.find("new_con").set("v.disabled", true);
component.find("select_doctor").set("v.options", clear);
component
.find("select_DealerPersonnel")
.set(
"v.options",
this.conv_selected(component.get("v.allselectlist.DealerPersonnel__c"))
);
component
.find("select_purpose_type")
.set(
"v.options",
this.conv_selected(component.get("v.allselectlist.WorkRecord__c"))
);
// component.find('select_ProductCcategory').set('v.options', this.conv_selected(component.get('v.allselectlist.ProductCcategory__c')));
component.find("select_EffectProgress").set("v.value", "");
component.find("select_OtherBrandConsumables").set("v.value", "");
component.find("select_ProductCcategory").set("v.value", "");
component.find("select_productCategories").set("v.value", "");
// ToDo需要测试手机上能运行不
component.set("v.data.Report_Date__c", "");
component.set("v.oppdata.Close_Forecasted_Date__c", "");
component.set("v.oppdata.Amount__c", "");
component.set("v.oppdata.OCMSale_Price__c", "");
component.set("v.oppdata.StageName__c", "");
component.set("v.Close_Forecasted_Date__c_o", "");
component.set("v.Amount__c_o", "");
component.set("v.OCMSale_Price__c_o", "");
component.set("v.StageName__c_o", "");
$A.util.addClass(component.find("input-opportunity-stage"), "disp_none");
$A.util.addClass(component.find("input-opportunity-amount1"), "disp_none");
$A.util.addClass(component.find("input-opportunity-amount2"), "disp_none");
$A.util.addClass(component.find("input-opportunity-date"), "disp_none");
this.selectPurposeType(component);
this.selectProductClassification(component);
this.selectpurposetype(component);
},
report_date_list: function (component, event, helper, count) {
var ret_obj = [];
var now = new Date();
for (var i = 0; i < count; i++) {
var start_day = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() - now.getDay() + 1 - i * 7
);
var end_day = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() + (7 - now.getDay()) - i * 7
);
var start_day_show = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() - now.getDay() - i * 7
);
var end_day_show = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() + (6 - now.getDay()) - i * 7
);
var date_text =
start_day.getFullYear() +
"/" +
(start_day.getMonth() + 1) +
"/" +
start_day.getDate() +
"~" +
end_day.getFullYear() +
"/" +
(end_day.getMonth() + 1) +
"/" +
end_day.getDate();
if (i == 0) {
ret_obj.push({
selected: true,
value:
start_day.getFullYear() +
"/" +
(start_day.getMonth() + 1) +
"/" +
start_day.getDate(),
label:
start_day_show.getFullYear() +
"/" +
(start_day_show.getMonth() + 1) +
"/" +
start_day_show.getDate() +
"~" +
end_day_show.getFullYear() +
"/" +
(end_day_show.getMonth() + 1) +
"/" +
end_day_show.getDate()
});
} else {
ret_obj.push({
selected: false,
value:
start_day.getFullYear() +
"/" +
(start_day.getMonth() + 1) +
"/" +
start_day.getDate(),
label:
start_day_show.getFullYear() +
"/" +
(start_day_show.getMonth() + 1) +
"/" +
start_day_show.getDate() +
"~" +
end_day_show.getFullYear() +
"/" +
(end_day_show.getMonth() + 1) +
"/" +
end_day_show.getDate()
});
}
}
component.find("select_date").set("v.options", ret_obj);
component.set("v.report_date_list", ret_obj);
},
create_report_header: 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.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);
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(component, event, helper);
} else {
component.set("v.errorMessage", "createReportHeader callback failed.");
this.showErrorToast(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
},
create_header_input_key: function (agency_id, s_date) {
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);
return false;
}
}
if (!agency_id || !s_date) {
return false;
}
s_date = s_date.replace(/-/g, "");
var headkey = agency_id + ":" + s_date;
return headkey;
},
/* typeof is not cool
* @ret : String, Boolean, Date, Error, Array, Function, Null, Undefined, etc
*/
object_type: function (obj) {
var obj_type = Object.prototype.toString.call(obj).slice(8, -1);
return obj_type;
},
// create yyyy-mm-dd string
get_date_string: function (val) {
if (typeof val == "string") {
if (val.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) {
val = val.replace(/[\/]/g, "-");
var tmp = val.split("-");
if (tmp[1].length == 1) {
tmp[1] = "0" + tmp[1];
}
if (tmp[2].length == 1) {
tmp[2] = "0" + tmp[2];
}
val = tmp[0] + "-" + tmp[1] + "-" + tmp[2];
} else if (val.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
//ok
} else {
return false;
}
} else if (this.object_type(val) == "Date") {
var mm = val.getMonth() + 1;
if (String(mm).length == 1) {
mm = "0" + mm;
}
var dd = "";
if (String(val.getDate()).length == 1) {
dd = "0" + val.getDate();
} else {
dd = val.getDate();
}
val = val.getFullYear() + "-" + mm + "-" + dd;
} else {
return false;
}
return val;
},
// Controller 根据页面医院查询符合的医院
searchHos: function (component, event, helper) {
var hospital_name = event.getParam("value");
var action = component.get("c.getHospitalList");
action.setParams({
hospital_name: hospital_name
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var hospital_list = component.find("hospital_list");
var hosList = response.getReturnValue();
if (hosList.length > 0) {
$A.util.addClass(hospital_list, "slds-is-open");
} else {
$A.util.removeClass(hospital_list, "slds-is-open");
}
component.set("v.hospitalList", response.getReturnValue());
} else {
$A.util.removeClass(hospital_list, "slds-is-open");
}
});
$A.enqueueAction(action);
},
hideSearch: function (component, event, helper) {
var hospital_list = component.find("hospital_list");
$A.util.removeClass(hospital_list, "slds-is-open");
},
hideSearchs: function (component, event, helper) {
var hospital_list = component.find("hospital_list");
$A.util.removeClass(hospital_list, "slds-is-open");
component.set("v.hospital", "");
component.set("v.hospitals", "");
component.set("v.hospitalLinkId", "");
component.set("v.data.Agency_Hospital__c", "");
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;
var accid = event.currentTarget.dataset.accid;
var hospital_data = component.get("v.hospitalList");
var select_purpose_type = component
.find("select_purpose_type")
.get("v.value");
for (var i = 0; i < hospital_data.length; i++) {
if (hospital_data[i].Hospital__c == accid) {
component.set("v.hospitalLinkId", hospital_data[i].Id);
component.set("v.data.Agency_Hospital__c", hospital_data[i].Id);
if (select_purpose_type != "科室会" && hospital_data[i].Hospital__c) {
component.find("new_con").set("v.disabled", false);
} else {
component.find("new_con").set("v.disabled", true);
}
}
}
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);
},
//模糊查询使用产品1(产品型号)
searchUseProduct1: function (component, event, helper) {
var UseProduct1Name = event.getParam("value");
var select_ProductClassification = component
.find("select_ProductClassification")
.get("v.value");
var action = component.get("c.getUseProduct1");
action.setParams({
UseProduct1Name: UseProduct1Name,
select_ProductClassification: select_ProductClassification
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var UseProduct1_List = component.find("UseProduct1_List");
var UseProduct1ListValue = response.getReturnValue();
if (UseProduct1ListValue.length > 0) {
$A.util.addClass(UseProduct1_List, "slds-is-open");
} else {
$A.util.removeClass(UseProduct1_List, "slds-is-open");
}
component.set("v.UseProduct1List", UseProduct1ListValue);
} else {
$A.util.removeClass(UseProduct1_List, "slds-is-open");
}
});
$A.enqueueAction(action);
},
hideSearchUseProduct1: function (component, event, helper) {
var UseProduct1_List = component.find("UseProduct1_List");
$A.util.removeClass(UseProduct1_List, "slds-is-open");
},
hideSearchUseProduct1s: function (component, event, helper) {
var UseProduct1_List = component.find("UseProduct1_List");
$A.util.removeClass(UseProduct1_List, "slds-is-open");
component.set("v.UseProduct1", "");
component.set("v.UseProduct1s", "");
component.set("v.UseProduct1Id", "");
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;
var accid = event.currentTarget.dataset.accid;
var UseProduct1ListDate = component.get("v.UseProduct1List");
for (var i = 0; i < UseProduct1ListDate.length; i++) {
if (UseProduct1ListDate[i].Id == accid) {
component.set("v.UseProduct1Id", UseProduct1ListDate[i].Id);
component.set("v.data.UseProduct1__c", UseProduct1ListDate[i].Id);
}
}
var UseProduct2_TEXT = component.find("UseProduct2_TEXT").get("v.value");
var UseProduct3_TEXT = component.find("UseProduct3_TEXT").get("v.value");
if (UseProduct2_TEXT != accname && UseProduct3_TEXT != accname) {
component.set("v.UseProduct1s", accname);
component.set("v.UseProduct1", accname);
} else {
component.set("v.errorMessage", "不能选择同样的产品");
this.showErrorToast(component);
}
},
//模糊查询使用产品2
searchUseProduct2: function (component, event, helper) {
var UseProduct2Name = event.getParam("value");
var select_ProductClassification = component
.find("select_ProductClassification")
.get("v.value");
var action = component.get("c.getUseProduct1");
action.setParams({
UseProduct1Name: UseProduct2Name,
select_ProductClassification: select_ProductClassification
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var UseProduct2_List = component.find("UseProduct2_List");
var UseProduct2List = response.getReturnValue();
if (UseProduct2List.length > 0) {
$A.util.addClass(UseProduct2_List, "slds-is-open");
} else {
$A.util.removeClass(UseProduct2_List, "slds-is-open");
}
component.set("v.UseProduct2List", response.getReturnValue());
} else {
$A.util.removeClass(UseProduct2_List, "slds-is-open");
}
});
$A.enqueueAction(action);
},
hideSearchUseProduct2: function (component, event, helper) {
var UseProduct2_List = component.find("UseProduct2_List");
$A.util.removeClass(UseProduct2_List, "slds-is-open");
},
hideSearchUseProduct2s: function (component, event, helper) {
var UseProduct2_List = component.find("UseProduct2_List");
$A.util.removeClass(UseProduct2_List, "slds-is-open");
component.set("v.UseProduct2", "");
component.set("v.UseProduct2s", "");
component.set("v.UseProduct2Id", "");
component.set("v.data.UseProduct2__c", "");
},
seletUseProduct2Change: function (component, event, helper) {
var UseProduct2_List = component.find("UseProduct2_List");
$A.util.removeClass(UseProduct2_List, "slds-is-open");
var accname = event.currentTarget.dataset.accname;
var accid = event.currentTarget.dataset.accid;
var UseProduct2ListDate = component.get("v.UseProduct2List");
for (var i = 0; i < UseProduct2ListDate.length; i++) {
if (UseProduct2ListDate[i].Id == accid) {
component.set("v.UseProduct2Id", UseProduct2ListDate[i].Id);
component.set("v.data.UseProduct2__c", UseProduct2ListDate[i].Id);
}
}
var UseProduct1_TEXT = component.find("UseProduct1_TEXT").get("v.value");
var UseProduct3_TEXT = component.find("UseProduct3_TEXT").get("v.value");
if (UseProduct1_TEXT != accname && UseProduct3_TEXT != accname) {
component.set("v.UseProduct2s", accname);
component.set("v.UseProduct2", accname);
} else {
component.set("v.errorMessage", "不能选择同样的产品");
this.showErrorToast(component);
}
},
//模糊查询使用产品3
searchUseProduct3: function (component, event, helper) {
var UseProduct3Name = event.getParam("value");
var select_ProductClassification = component
.find("select_ProductClassification")
.get("v.value");
var action = component.get("c.getUseProduct1");
action.setParams({
UseProduct1Name: UseProduct3Name,
select_ProductClassification: select_ProductClassification
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var UseProduct3_List = component.find("UseProduct3_List");
var UseProduct3List = response.getReturnValue();
if (UseProduct3List.length > 0) {
$A.util.addClass(UseProduct3_List, "slds-is-open");
} else {
$A.util.removeClass(UseProduct3_List, "slds-is-open");
}
component.set("v.UseProduct3List", response.getReturnValue());
} else {
$A.util.removeClass(UseProduct3_List, "slds-is-open");
}
});
$A.enqueueAction(action);
},
hideSearchUseProduct3: function (component, event, helper) {
var UseProduct3_List = component.find("UseProduct3_List");
$A.util.removeClass(UseProduct3_List, "slds-is-open");
},
hideSearchUseProduct3s: function (component, event, helper) {
var UseProduct3_List = component.find("UseProduct3_List");
$A.util.removeClass(UseProduct3_List, "slds-is-open");
component.set("v.UseProduct3", "");
component.set("v.UseProduct3s", "");
component.set("v.UseProduct3Id", "");
component.set("v.data.UseProduct3__c", "");
},
seletUseProduct3Change: function (component, event, helper) {
var UseProduct3_List = component.find("UseProduct3_List");
$A.util.removeClass(UseProduct3_List, "slds-is-open");
var accname = event.currentTarget.dataset.accname;
var accid = event.currentTarget.dataset.accid;
var UseProduct3ListDate = component.get("v.UseProduct3List");
for (var i = 0; i < UseProduct3ListDate.length; i++) {
if (UseProduct3ListDate[i].Id == accid) {
component.set("v.UseProduct3Id", UseProduct3ListDate[i].Id);
component.set("v.data.UseProduct3__c", UseProduct3ListDate[i].Id);
}
}
var UseProduct1_TEXT = component.find("UseProduct1_TEXT").get("v.value");
var UseProduct2_TEXT = component.find("UseProduct2_TEXT").get("v.value");
if (UseProduct1_TEXT != accname && UseProduct2_TEXT != accname) {
component.set("v.UseProduct3s", accname);
component.set("v.UseProduct3", accname);
} else {
component.set("v.errorMessage", "不能选择同样的产品");
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");
var flg = false;
if (doctor_list) {
for (var i = 0; i < doctor_list.length; i++) {
if (doctor_list[i].value == doctor_value) {
if (doctorurpose == "科室会") {
// component.set('v.doctor_title', doctor_list[i].Doctor_Division1__c);
} else {
component.set("v.doctor_title", doctor_list[i].Doctor_Division1__c);
}
flg = true;
break;
}
}
}
if (flg == false) {
component.set("v.doctor_title", "");
}
},
//SWAG-CF58C3 fy start 调用pi
set_aws_url: function (component, sobject) {
var action = component.get("c.getAwsurl");
action.setParams({
sobj: sobject
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var awsmap = this.conv_selected(response.getReturnValue());
component.set("v.AWStoken", awsmap.token);
component.set("v.AWSinsert", awsmap.newUrl);
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.login", false);
}
});
$A.enqueueAction(action);
},
insert_agencycontact: function (
component,
token,
newUrl,
payload,
agencyHospitalid,
helper,
hospitalName
) {
fetch(newUrl, {
method: "POST",
body: payload,
headers: {
"Content-Type": "application/json",
"pi-token": token
}
})
.then((data) => {
return data.json();
})
.then((result) => {
if (result.status == "0") {
$A.getCallback(function () {
helper.to_agencycontact(component, result, agencyHospitalid);
})();
} else {
console.log("AWS status error:" + result);
component.set("v.login", false);
if (result.status == "129") {
component
.find("OppMessage")
.setError(
"该客户人员名字已存在,在" + hospitalName + "医院,请修改"
);
} else {
component.find("OppMessage").setError("AWS insert error.");
}
}
})
.catch((error) => {
console.log("AWS insert error:" + error);
component.set("v.login", false);
component.find("OppMessage").setError("AWS insert error.");
});
},
to_agencycontact: function (component, result, agencyHospitalid) {
var action = component.get("c.saveAgencyContact");
action.setParams({
name: result.object[0].name,
//"nameEncrypt" : result.object[0].nameEncrypt, //zhj 新方案改造 2023-12-21
type: result.object[0].type,
//"typeEncrypt" : result.object[0].typeEncrypt, //zhj 新方案改造 2023-12-21
doctorDivision1: result.object[0].doctorDivision1,
//"doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt, //zhj 新方案改造 2023-12-21
agencyHospitalid: agencyHospitalid,
awsid: result.object[0].dataId
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var acMap = this.conv_selected(response.getReturnValue());
console.log(acMap);
if (acMap.AgencyContactId != "") {
//确认事务
var token = component.get("v.AWStoken");
var confirmUrl = component.get("v.AWStransactionURL");
let data = Object.create(null);
data["isSuccess"] = 1;
data["sfRecordId"] = "";
data["txId"] = result.txId;
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.login", false);
} else {
component.set("v.errorMessage", "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.login", false);
}
});
$A.enqueueAction(action);
},
to_confirm: function (component, token, confirmUrl, payload, event) {
fetch(confirmUrl, {
method: "POST",
body: payload,
headers: {
"Content-Type": "application/json",
"pi-token": token
}
})
.then((data) => {
return data.json();
})
.then((result) => {
if (
result.status == "0" &&
result.hasOwnProperty("success") &&
result.success
) {
// component.set('v.truthy', false);
// var modal_newAC = component.find('modal_newAC')
// $A.util.addClass(modal_newAC, 'disp_none');
// this.success('.客户人员已创建。');
// this.set_doctor_list(component);
component.set("v.truthy", false);
var modal_newAC = component.find("modal_newAC");
$A.util.addClass(modal_newAC, "disp_none");
component.set("v.successMessage", ".拜访人已创建。");
this.showSuccessToast(component);
this.set_doctor_list(component);
} else {
component.set("v.errorMessage", "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.login", false);
});
},
//SWAG-CF58C3 fy end 调用pi
set_doctor_list: function (component) {
var doctor_value = component.find("select_purpose_type").get("v.value");
var hospital_id = component.get("v.hospitalLinkId");
if (hospital_id) {
if (doctor_value == "科室会") {
component.set("v.login", true);
this.set_doctor_list2(component);
} else {
component.set("v.login", 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") {
debugger;
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);
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.login", 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.login", 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', '');
debugger;
component.set("v.doctor_list", res);
component.set("v.login", false);
} else {
component.set("v.errorMessage", "set_doctor_list failed.");
this.showErrorToast(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
}
} else {
if (doctor_value == "科室会") {
this.set_doctor_list2(component);
} else {
component.find("select_doctor").set("v.options", "");
}
}
}, //fy 20220414
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;
} else {
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);
}
});
$A.enqueueAction(action1);
},
productcategoryChange1: function (component, event, helper) {
var product_category_id = component.find("select_Product1").get("v.value");
var pcId1 = component.find("select_Product2").get("v.value");
var pcId2 = component.find("select_Product3").get("v.value");
var p1bool = pcId1 != "" && pcId1 != null && pcId1 != undefined;
var p2bool = pcId2 != "" && pcId2 != null && pcId2 != undefined;
var p0bool =
product_category_id != "" &&
product_category_id != null &&
product_category_id != undefined;
if (
(p1bool && p0bool && product_category_id == pcId1) ||
(p2bool && p0bool && product_category_id == pcId2)
) {
component.set("v.errorMessage", "不能选择同样的产品区分");
this.showErrorToast(component);
component.find("select_Product1").set("v.value", "");
}
},
productcategoryChange2: function (component, event, helper) {
var product_category_id = component.find("UseProduct2_TEXT").get("v.value");
var pcId1 = component.find("UseProduct1_TEXT").get("v.value");
var pcId2 = component.find("UseProduct3_TEXT").get("v.value");
var p1bool = pcId1 != "" && pcId1 != null;
var p2bool = pcId2 != "" && pcId2 != null;
var p0bool = product_category_id != "" && product_category_id != null;
if (
(p1bool && p0bool && product_category_id == pcId1) ||
(p2bool && p0bool && product_category_id == pcId2)
) {
component.set("v.errorMessage", "不能选择同样的产品区分");
this.showErrorToast(component);
component.set("v.UseProduct2_TEXT", "");
}
},
productcategoryChange3: function (component, event, helper) {
var product_category_id = component.find("select_Product3").get("v.value");
var pcId1 = component.find("select_Product1").get("v.value");
var pcId2 = component.find("select_Product2").get("v.value");
var p1bool = pcId1 != "" && pcId1 != null && pcId1 != undefined;
var p2bool = pcId2 != "" && pcId2 != null && pcId2 != undefined;
var p0bool =
product_category_id != "" &&
product_category_id != null &&
product_category_id != undefined;
if (
(p1bool && p0bool && product_category_id == pcId1) ||
(p2bool && p0bool && product_category_id == pcId2)
) {
component.set("v.errorMessage", "不能选择同样的产品区分");
this.showErrorToast(component);
component.find("select_Product3").set("v.value", "");
}
},
conv_selected: function (obj) {
for (var i = 0; i < obj.length; i++) {
if (obj[i].selected) {
if (obj[i].selected == "true") {
obj[i].selected = true;
} else {
obj[i].selected = false;
}
}
}
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++) {
if (select_tmp[i].value == value) {
select_tmp[i].selected = true;
} else {
select_tmp[i].selected = false;
}
}
component.find(aura_id_name).set("v.options", select_tmp);
return true;
} else {
return false;
}
},
//弹出 成功提示
showSuccessToast: function (component) {
debugger;
$A.util.removeClass(component.find("successDiv"), "slds-hide");
window.setTimeout(
$A.getCallback(function () {
$A.util.addClass(component.find("successDiv"), "slds-hide");
}),
3000
);
},
//弹出 成功提示
showSuccessToast01: function (component) {
debugger;
$A.util.removeClass(component.find("successDiv01"), "slds-hide");
window.setTimeout(
$A.getCallback(function () {
$A.util.addClass(component.find("successDiv01"), "slds-hide");
}),
3000
);
},
//弹出 错误提示
showErrorToast: function (component) {
debugger;
$A.util.removeClass(component.find("errorDiv"), "slds-hide");
window.setTimeout(
$A.getCallback(function () {
$A.util.addClass(component.find("errorDiv"), "slds-hide");
}),
3000
);
},
//弹出 错误提示
showErrorToast01: function (component) {
debugger;
$A.util.removeClass(component.find("errorDiv01"), "slds-hide");
window.setTimeout(
$A.getCallback(function () {
$A.util.addClass(component.find("errorDiv01"), "slds-hide");
}),
6000
);
},
error: function (message) {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title: "错误!",
message: message,
type: "error",
duration: "sticky"
});
toastEvent.fire();
},
createCon: function (component, event, helper) {
var modal_newAC = component.find("modal_newAC");
$A.util.removeClass(modal_newAC, "disp_none");
component.set("v.truthy", true);
},
hideCmp: function (component, event, helper) {
var div1 = component.find("report");
var div2 = component.find("report_list");
$A.util.addClass(div1, "disp_none");
$A.util.addClass(div2, "disp_none");
},
handleSuccess: function (component, event, helper) {
var insertId = event.getParams().response.Id;
var displayValue = event.getParams().response.fields.Name.value;
event.setParams({});
component.set("v.truthy", false);
var modal_newAC = component.find("modal_newAC");
$A.util.addClass(modal_newAC, "disp_none");
component.set("v.successMessage", ".拜访人已创建。");
this.showSuccessToast(component);
this.set_doctor_list(component, event, helper);
},
createCancel: function (component, event, helper) {
component.set("v.truthy", false);
var modal_newAC = component.find("modal_newAC");
$A.util.addClass(modal_newAC, "disp_none");
component.find("OppMessage").setError("");
},
//科室赋值
setOpportunity_cfilter: function (component) {
var hosId = component.get("v.hospitalId");
var Department_Cateogy__c = component
.find("select_department")
.get("v.value");
var opportunity_cfilter = "";
if (hosId != "" && hosId != null) {
opportunity_cfilter =
" Agency_Hospital__r.Hospital__c=" + "'" + hosId + "'";
}
if (Department_Cateogy__c != "" && Department_Cateogy__c != null) {
if (opportunity_cfilter != "" && opportunity_cfilter != null) {
opportunity_cfilter += " AND ";
}
// fy Department_Cateogy_text__c
opportunity_cfilter +=
"Department_Cateogy__c=" + "'" + Department_Cateogy__c + "'";
// opportunity_cfilter += 'Department_Cateogy_text__c=' + '\'' + Department_Cateogy__c + '\'';
}
component.set("v.opportunity_cfilter", opportunity_cfilter);
},
readFile: function (component, helper, file) {
if (!file) return;
if (!file.name.match(/\.(csv||CSV)$/)) {
return alert("only support csv files");
} else {
reader = new FileReader();
reader.onerror = function errorHandler(evt) {
switch (evt.target.error.code) {
case evt.target.error.NOT_FOUND_ERR:
alert("File Not Found!");
break;
case evt.target.error.NOT_READABLE_ERR:
alert("File is not readable");
break;
case evt.target.error.ABORT_ERR:
break; // noop
default:
alert("An error occurred reading this file.");
}
};
reader.onabort = function (e) {
alert("File read cancelled");
};
reader.onloadstart = function (e) {
var output =
'' +
file.name +
" (" +
file.type +
")- " +
file.size +
"bytes, last modified: " +
file.lastModifiedDate.toLocaleDateString() +
"";
component.set("v.filename", file.name);
component.set("v.TargetFileName", output);
};
reader.onload = function (e) {
debugger;
var data = e.target.result;
component.set("v.fileContentData", data);
console.log("file data" + JSON.stringify(data));
var allTextLines = data.split(/\r\n|\n/);
console.log("qqqqqqqqqqqqqqqqqqq" + allTextLines);
var dataRows = allTextLines.length - 1;
var headers = allTextLines[0].split(",");
var numOfRows = component.get("v.NumOfRecords");
if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) {
alert("File Rows between 1 to " + numOfRows + " .");
component.set("v.showMain", true);
} else {
var lines = [];
var filecontentdata;
var content =
'
';
content += '';
content += '' + "行号" + " | ";
for (i = 0; i < headers.length; i++) {
content += '' + headers[i] + " | ";
}
content += "
";
for (var i = 1; i < allTextLines.length; i++) {
filecontentdata = allTextLines[i].split(",");
if (filecontentdata[0] != "") {
content += "";
content += "" + i + " | ";
for (var j = 0; j < filecontentdata.length; j++) {
content += "" + filecontentdata[j] + " | ";
}
content += "
";
}
}
content += "
";
console.log(content);
component.set("v.TableContent", content);
component.set("v.showMain", false);
}
};
reader.readAsText(file, "gb2312");
}
var reader = new FileReader();
reader.onloadend = function () {};
reader.readAsDataURL(file);
},
// fy 调用pi改造的 获取url 和 token的方法
search_contact_url: function (component, sobject, callback) {
var action = component.get("c.getAwsurl");
action.setParams({
sobj: sobject
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var result = response.getReturnValue();
if (callback) callback(result);
} else {
component.set("v.errorMessage", "AWS url/token error.");
this.showErrorToast01(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
},
// fy 调用pi改造的 获取.客户人员的方法
search_core: function (token, searchUrl, payload, callback, component) {
console.log("searchUrl = " + searchUrl);
fetch(searchUrl, {
method: "POST",
body: payload,
headers: {
"Content-Type": "application/json",
"pi-token": token
}
})
.then((data) => {
return data.json();
})
.then((result) => {
component.set("v.login", false);
if (callback) callback(result);
})
.catch((error) => {
console.log("AWS search error = " + JSON.stringify(error));
component.set("v.errorMessage", "AWS search error.");
this.showErrorToast01(component);
component.set("v.login", false);
});
},
saveRecords: function (component, event, helper) {
component.set("v.login", true);
//fy 导入 202200506 start
var action1 = component.get("c.processDataAWSId");
action1.setParams({
fileData: component.get("v.fileContentData")
});
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) => {
if (item.AWS_Data_Id__c) {
dataArr.push(item.AWS_Data_Id__c);
//dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c); //zhj 新方案改造 2022-12-21
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);
this.search_contact_url(
component,
"Agency_Contact__c",
(result) => {
var token = result.token;
var searchUrl = result.searchUrl;
this.search_core(
token,
searchUrl,
payload,
(result) => {
if (result.status == "0") {
if (result.object != null && result.object.length != 0) {
component.set("v.login", true);
this.saveRecordsEditFile(
component,
dataMap,
result.object,
helper
);
} else {
component.set("v.errorMessage", "AWS search status ");
this.showErrorToast01(component);
component.set("v.login", false);
}
} else {
component.set(
"v.errorMessage",
"AWS search status : " + result.status
);
this.showErrorToast01(component);
component.set("v.login", false);
}
},
component
);
}
);
} else {
component.set(
"v.errorMessage",
valur[1] + "\n" + "请修改后重新上传"
);
this.showErrorToast01(component);
component.set("v.login", false);
}
}
}
});
$A.enqueueAction(action1);
// var action = component.get("c.processData");
// var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
// var filedata =component.get("v.fileContentData");
// action.setParams({
// fileData: filedata,
// sobjectName: 'Account', //Any object
// fields: fieldsList
// });
// action.setCallback(this, function (response) {
// var state = response.getState();
// if (state === "SUCCESS") {
// var res = response.getReturnValue();
// var res1 = '';
// if (res != 'success') {
// var ress = res.split('=');
// console.log(ress);
// for (var i = 0; i < ress.length; i++) {
// res1 += ress[i].substr(7) + '\n';
// }
// console.log("==" + res1);
// component.set('v.errorMessage', res1 + "请修改后重新上传");
// this.showErrorToast01(component);
// component.set('v.login', false);
// } else {
// component.set('v.successMessage', '导入成功');
// this.showSuccessToast01(component);
// component.set("v.showMain", true);
// component.set('v.login', false);
// this.doinit(component, event, helper);
// }
// }
// else if (state === "INCOMPLETE") {
// component.set('v.login', 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);
// }
// } else {
// console.log("Unknown error");
// component.set('v.login', false);
// }
// }
// });
// $A.enqueueAction(action);
},
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);
}
console.log("searchDataMap=" + searchDataMap);
var error = "";
var fileData = component.get("v.fileContentData");
fileData = this.ToCDB(fileData); //全角转半角
var files = fileData.split("\n");
var fileStr = files[0];
fileStr += "\n";
for (var i = 1; i < files.length - 1; i++) {
if (files[i]) {
var filelist = files[i].split(",");
var fileName = filelist[5];
var WorkRecord = filelist[4];
if (
WorkRecord == "SIS" ||
WorkRecord == "院内入院申请" ||
WorkRecord == "收费项目申请" ||
WorkRecord == "科室会"
) {
if (fileName) {
if (WorkRecord != "科室会") {
if (searchDataMap.get(fileName.replace(" ", ""))) {
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不存在";
}
} else {
error += "error1 第" + i + "行数据拜访人AWS不存在";
}
} else {
if (filelist[5] != "医生" && filelist[5] != "医生+护士") {
//&&filelist[5]!='医生+护士'
error += "error1 第" + i + "行数据拜访人不存在";
}
}
} else {
error += "error1 第" + i + "行数据拜访人不能为空";
}
} else {
if (fileName) {
if (WorkRecord != "科室会") {
if (searchDataMap.get(fileName.replace(" ", ""))) {
var nameDataId = searchDataMap.get(fileName.replace(" ", ""));
if (dataMap.get(nameDataId)) {
filelist[5] = dataMap.get(nameDataId);
} else {
error += "error1 第" + i + "行数据拜访人SF不存在";
}
} else {
error += "error1 第" + i + "行数据拜访人AWS不存在";
}
} else {
if (filelist[5] != "医生" && filelist[5] != "医生+护士") {
//&&filelist[5]!='医生+护士'
error += "error1 第" + i + "行数据拜访人不存在";
}
}
}
}
fileStr += filelist.toString();
fileStr += "\n";
}
}
if (error != "") {
component.set("v.errorMessage", error);
this.showErrorToast01(component);
console.log("error=" + error);
component.set("v.login", false);
return;
}
console.log("fileStr=" + fileStr);
$A.getCallback(function () {
debugger;
helper.ImportMethod(component, fileStr, helper);
})();
},
ImportMethod: function (component, fileStr, helper) {
var action = component.get("c.processData");
var fieldsList = ["Name", "Phone", "AccountNumber"]; //Please write your code dynamic fields
// var filedata =component.get("v.fileContentData");
action.setParams({
fileData: fileStr,
sobjectName: "Account", //Any object
fields: fieldsList
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var res = response.getReturnValue();
var res1 = "";
if (res != "success") {
var ress = res.split("=");
console.log(ress);
for (var i = 0; i < ress.length; i++) {
res1 += ress[i].substr(7) + "\n";
}
console.log("==" + res1);
component.set("v.errorMessage", res1 + "请修改后重新上传");
this.showErrorToast01(component);
component.set("v.login", false);
} else {
component.set("v.successMessage", "导入成功");
this.showSuccessToast01(component);
component.set("v.showMain", true);
component.set("v.login", false);
this.doinit(component, event, helper);
}
} else if (state === "INCOMPLETE") {
component.set("v.login", 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);
}
} else {
console.log("Unknown error");
component.set("v.login", false);
}
}
});
$A.enqueueAction(action);
}, //全角转半角
ToCDB: function (str) {
var tmp = "";
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
} else {
tmp += String.fromCharCode(str.charCodeAt(i));
}
}
return tmp;
},
//导出的CSV文件
convertArrayOfObjectsToCSV: function (component, objectRecords) {
var csvStringResult, counter, keys, columnDivider, lineDivider, thkeys;
if (objectRecords == null || !objectRecords.length) {
return null;
}
columnDivider = ",";
lineDivider = "\n";
keys = [
"Report_Date__c",
"Agency_Hospital__c",
"Department_Cateogy_text__c",
"DealerPersonnel__c",
"WorkRecord__c",
"doctor2__c",
"ProductClassification__c",
"UseProduct1__c",
"UseProduct2__c",
"UseProduct3__c",
"EffectProgress__c",
"ConsumptionOfConsumables__c",
"WarlockClassification__c",
"ProductCcategory__c",
"productCategories__c",
"warlocksNumber__c",
"WorkMark__c"
];
thkeys = [
"活动日",
"医院",
"科室",
"经销商人员",
"活动区分",
"拜访人",
"产品分类(第三分类)",
"使用产品1(产品型号)",
"使用产品2",
"使用产品3",
"效果/进度",
"产品1同类耗材科室月使用量",
"产品1对应术式分类",
"已采用其他品牌",
"其他品牌产品类别",
"产品用量",
"支援需求"
];
csvStringResult = "";
csvStringResult += thkeys.join(columnDivider);
csvStringResult += lineDivider;
console.log("进入导出helper");
for (var i = 0; i < objectRecords.length; i++) {
counter = 0;
for (var sTempkey in keys) {
var skey = keys[sTempkey];
if (counter > 0) {
csvStringResult += columnDivider;
}
if (typeof objectRecords[i][skey] === "undefined") {
csvStringResult += "" + "" + "";
continue;
}
if (skey == "Person_In_Charge2__c") {
csvStringResult += objectRecords[i].Person_In_Charge2__r.Name;
} else if (skey == "Agency_Hospital__c") {
csvStringResult += objectRecords[i].Agency_Hospital__r.Name;
} else if (skey == "DealerPersonnel__c") {
csvStringResult += objectRecords[i].DealerPersonnel__r.Name;
} else if (skey == "doctor2__c") {
csvStringResult += objectRecords[i].doctor2__r.Name;
} else if (skey == "UseProduct1__c") {
csvStringResult += objectRecords[i].UseProduct1__r.Asset_Model_No__c;
} else if (skey == "UseProduct2__c") {
csvStringResult += objectRecords[i].UseProduct2__r.Asset_Model_No__c;
} else if (skey == "UseProduct3__c") {
csvStringResult += objectRecords[i].UseProduct3__r.Asset_Model_No__c;
} else {
csvStringResult += objectRecords[i][skey];
}
counter++;
}
console.log("导出循环结束");
csvStringResult += lineDivider;
}
return csvStringResult;
},
// 导出页面显示的模板
showExportDate: function (component, objectRecords) {
console.log("进入showexceportdate" + objectRecords);
var keys = [
"Report_Date__c",
"Agency_Hospital__c",
"Department_Cateogy_text__c",
"DealerPersonnel__c",
"WorkRecord__c",
"doctor2__c",
"ProductClassification__c",
"UseProduct1__c",
"UseProduct2__c",
"UseProduct3__c",
"EffectProgress__c",
"ConsumptionOfConsumables__c",
"WarlockClassification__c",
"ProductCcategory__c",
"productCategories__c",
"warlocksNumber__c",
"WorkMark__c"
];
var headers = [
"活动日",
"医院",
"科室",
"经销商人员",
"活动区分",
"拜访人",
"产品分类(第三分类)",
"使用产品1(产品型号)",
"使用产品2",
"使用产品3",
"效果/进度",
"产品1同类耗材科室月使用量",
"产品1对应术式分类",
"已采用其他品牌",
"其他品牌产品类别",
"产品用量",
"支援需求"
];
var content =
'';
content += '';
for (i = 0; i < headers.length; i++) {
content += '' + headers[i] + " | ";
}
content += "
";
for (var i = 0; i < objectRecords.length; i++) {
console.log("for" + content);
content += "";
for (var sTempkey in keys) {
console.log("for1" + sTempkey);
var skey = keys[sTempkey];
if (typeof objectRecords[i][skey] === "undefined") {
content += "" + "" + " | ";
continue;
}
console.log("for2" + objectRecords[i].Person_In_Charge2__r.Name);
if (skey == "Person_In_Charge2__c") {
content +=
"" + objectRecords[i].Person_In_Charge2__r.Name + " | ";
} else if (skey == "Agency_Hospital__c") {
content +=
"" + objectRecords[i].Agency_Hospital__r.Name + " | ";
} else if (skey == "DealerPersonnel__c") {
content +=
"" + objectRecords[i].DealerPersonnel__r.Name + " | ";
} else if (skey == "doctor2__c") {
content += "" + objectRecords[i].doctor2__r.Name + " | ";
} else if (skey == "UseProduct1__c") {
content +=
"" +
objectRecords[i].UseProduct1__r.Asset_Model_No__c +
" | ";
} else if (skey == "UseProduct2__c") {
content +=
"" +
objectRecords[i].UseProduct2__r.Asset_Model_No__c +
" | ";
} else if (skey == "UseProduct3__c") {
content +=
"" +
objectRecords[i].UseProduct3__r.Asset_Model_No__c +
" | ";
} else {
content += "" + objectRecords[i][skey] + " | ";
}
}
content += "
";
}
content += "
";
console.log("helper循环结束" + content);
component.set("v.TableContent2", content);
component.set("v.showMain", false);
},
select_repores_date: function (component, event, helper) {
component.set("v.login", true);
var reportsdate1 = component.find("input-report-date1").get("v.value");
var reportsdate2 = component.find("input-report-date2").get("v.value");
console.log(
"输入的开始日期" + reportsdate1 + "输入的结束日期" + reportsdate2
);
var action = component.get("c.getReportsByDate");
console.log("输入的开始日期1");
action.setParams({
date1: reportsdate1,
date2: reportsdate2
});
console.log("输入的开始日期2");
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
var res = response.getReturnValue();
console.log("输入的开始日期3" + res);
component.set("v.login", false);
// PI 改造 By Bright 20220328
if (true) {
let awsids = [];
for (let ri in res) {
if (
res[ri] &&
res[ri].doctor2__r &&
res[ri].doctor2__r.AWS_Data_Id__c
) {
awsids.push(res[ri].doctor2__r.AWS_Data_Id__c);
}
}
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].doctor2__r &&
res[ri].doctor2__r.AWS_Data_Id__c &&
m.hasOwnProperty(res[ri].doctor2__r.AWS_Data_Id__c)
) {
res[ri].doctor2__r.Name =
m[res[ri].doctor2__r.AWS_Data_Id__c].name;
}
}
}
helper.showExportDate(component, res);
component.set("v.login", false);
},
staticResourceAgencyContact.token
);
} else {
helper.showExportDate(component, res);
}
}
component.set("v.reports_date", res);
} else {
alert("导出失败,请检查活动日");
component.set("v.login", false);
}
});
$A.enqueueAction(action);
},
showImport: function (component) {
var modalimport = component.find("modal_import");
var modalimportbg = component.find("modal_importbg");
$A.util.removeClass(modalimport, "disp_none");
$A.util.removeClass(modalimportbg, "disp_none");
},
showExport: function (component) {
var modalimport = component.find("modal_export");
var modalimportbg = component.find("modal_exportbg");
$A.util.removeClass(modalimport, "disp_none");
$A.util.removeClass(modalimportbg, "disp_none");
},
close_import: function (component) {
var modalimport = component.find("modal_import");
var modalimportbg = component.find("modal_importbg");
$A.util.addClass(modalimport, "disp_none");
$A.util.addClass(modalimportbg, "disp_none");
},
close_export: function (component) {
var modalimport = component.find("modal_export");
var modalimportbg = component.find("modal_exportbg");
$A.util.addClass(modalimport, "disp_none");
$A.util.addClass(modalimportbg, "disp_none");
},
//页面中的新建职位按钮
newlyBuild: function (component, event, helper) {
var hospital_id = component.get("v.hospitalLinkId");
event.preventDefault(); // stop form submission
var fields = component.find("newOpportunityField");
var nameer = "";
var type = "";
var doctorDivision1 = "";
fields.forEach(function (field) {
if (field.get("v.fieldName") === "Name") {
nameer = field.get("v.value");
}
if (field.get("v.fieldName") === "Type__c") {
type = field.get("v.value");
}
if (field.get("v.fieldName") === "Doctor_Division1__c") {
doctorDivision1 = field.get("v.value");
}
});
if (hospital_id) {
component.set("v.login", true);
var action = component.get("c.newlyBuild");
action.setParams({
hospital_id: hospital_id,
nameer: nameer,
type: type,
doctorDivision1: doctorDivision1
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = this.conv_selected(response.getReturnValue());
var default_doctor = component.get("v.default_select_doctor_id");
if (default_doctor != "" && res.length > 0) {
var doctor_title = "";
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;
}
}
component.find("select_doctor").set("v.options", res);
component.set("v.doctor_title", doctor_title);
} else {
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.login", false);
} else {
component.set("v.errorMessage", "newlyBuild failed.");
this.showErrorToast(component);
component.set("v.login", false);
}
});
$A.enqueueAction(action);
}
},
//科室同类耗材验证必须输入数字
select_ConsumptionOfConsumables: function (component, event, helper) {
var sc = event.getSource().get("v.value");
if (sc != null) {
if (sc.length <= 14) {
if (sc.replace(/\D/gi, "")) {
component.set("v.select_ConsumptionOfConsumables", sc);
} else {
component.set(
"v.errorMessage",
"产品1同类耗材科室月使用量必须输入数字!"
);
this.showErrorToast(component);
}
} else {
component.set(
"v.errorMessage",
"产品1同类耗材科室月使用量最多输入14位数字!"
);
this.showErrorToast(component);
}
}
},
//产品用量验证必须输入数字
select_warlocksNumber: function (component, event, helper) {
var sc = event.getSource().get("v.value");
if (sc != null) {
if (sc.length <= 14) {
if (sc.replace(/\D/gi, "")) {
component.set("v.select_warlocksNumber", sc);
} else {
component.set("v.errorMessage", "产品用量必须输入数字!");
this.showErrorToast(component);
}
} else {
component.set("v.errorMessage", "产品用量最多输入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 != "科室会") {
component.find("new_con").set("v.disabled", false);
} else {
component.find("new_con").set("v.disabled", true);
}
if (doctor_value != "") {
this.set_doctor_list(component);
var action = component.get("c.selectPurposeTypes");
action.setParams({
doctor_value: doctor_value
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
component
.find("select_EffectProgress")
.set("v.options", JSON.parse(JSON.stringify(res)));
}
});
$A.enqueueAction(action);
} else {
component.find("select_EffectProgress").set("v.options", []);
}
},
selectProductClassification: function (component, event, helper) {
debugger;
var select_ProductClassification = component
.find("select_ProductClassification")
.get("v.value");
if (select_ProductClassification != "") {
var action = component.get("c.selectProductClassificationc");
action.setParams({
select_ProductClassification: select_ProductClassification
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
component
.find("select_OtherBrandConsumables")
.set("v.options", JSON.parse(JSON.stringify(res)));
}
});
$A.enqueueAction(action);
} else {
component.find("select_OtherBrandConsumables").set("v.options", []);
}
this.selectProductCcategory(component);
},
select_ProductCcategory: function (component, event, helper) {
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");
//fy
$A.util.removeClass(result, "disp_none");
if (UserProType == "ENG") {
$A.util.removeClass(result, "disp_none");
} else {
$A.util.addClass(result, "disp_none");
}
var action = component.get("c.selectProductCcategory01");
action.setParams({
select_ProductCcategory: select_ProductCcategory
});
action.setCallback(this, function (response) {
var state = response.getState();
if (state == "SUCCESS") {
var res = response.getReturnValue();
component
.find("select_productCategories")
.set("v.options", JSON.parse(JSON.stringify(res)));
}
});
$A.enqueueAction(action);
} else {
component.find("select_productCategories").set("v.options", []);
var result = component.find("result");
$A.util.addClass(result, "disp_none");
}
},
selectpurposetype: function (component, event, helper) {
var select_ProductCcategory = component
.find("select_ProductCcategory")
.get("v.value");
if (
select_ProductCcategory == null &&
select_ProductCcategory == undefined &&
select_ProductCcategory == ""
) {
var result = component.find("result");
// $A.util.removeClass(result, 'disp_none');
if (UserProType == "ENG") {
$A.util.removeClass(result, "disp_none");
} else {
$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");
this.select_ProductCcategory(component);
}
},
//zhj MEBG新方案改造 2022-11-29 start
CallBackAction: function (component, action_name, para, callback) {
var action = component.get(
"c." + action_name.trimStart().replace("c.", "")
);
if (para) {
action.setParams(para);
}
if (callback) {
action.setCallback(this, function (data) {
callback(data);
});
}
$A.enqueueAction(action);
}
//zhj MEBG新方案改造 2022-11-29 end
});