You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3205 lines
138 KiB
3205 lines
138 KiB
'use strict';
|
|
var sProgramId = getProgramId(),
|
|
sQueryPrgId = getQueryPrgId(),
|
|
sAction = getUrlParam('Action') || 'Add',
|
|
sDataId = getUrlParam('SN'),
|
|
sTab = getUrlParam('Tab'),
|
|
sCheckId = sDataId,
|
|
bRefresh = false,
|
|
bNewCustomer = false,
|
|
fnPageInit = function () {
|
|
var oGrid = null,
|
|
oForm = $('#form_main'),
|
|
oGrid1 = null,
|
|
oValidator = null,
|
|
oGrid2 = null,
|
|
oGrid3 = null,
|
|
oCurData = {},
|
|
sIndustryHtml = '',
|
|
sListSourceHtml = '',
|
|
sBlackListReasonHtml = '',
|
|
sSN = '',
|
|
sChooseCustomerId = '',
|
|
saGridData = [],
|
|
saGridData2 = [],
|
|
saGridData3 = [],
|
|
saState = [],
|
|
saHalls = [],
|
|
saNewList = [],
|
|
//saNewList2 = [],
|
|
saLastData = [],
|
|
saCustomerList = [],
|
|
saContactorList = [],
|
|
saAddContactorList = [],
|
|
saChooseContactorList = [],
|
|
saExhibitionList = [],
|
|
saListSource = [],
|
|
saGrid2Data = [],
|
|
intListCount = 0,
|
|
oBaseQueryPm = {
|
|
pageIndex: 1,
|
|
pageSize: parent.SysSet.GridRecords || 10,
|
|
sortField: 'CustomerCName',
|
|
sortOrder: 'asc'
|
|
},
|
|
/**
|
|
* 獲取資料
|
|
* @return {Object} Ajax 物件
|
|
*/
|
|
fnGet = function () {
|
|
$('#litab2').hide();
|
|
$('#litab3').hide();
|
|
if (sDataId) {
|
|
return g_api.ConnectLite(sQueryPrgId, ComFn.GetOne,
|
|
{
|
|
Guid: sDataId
|
|
},
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
var oRes = res.DATA.rel;
|
|
oCurData = oRes;
|
|
oCurData.CostRulesIdTE = oCurData.CostRulesId;
|
|
oCurData.CostRulesIdTG = oCurData.CostRulesId;
|
|
|
|
$('.TransferResult').show();
|
|
|
|
$("#ExhibitionCode2").val(oRes.ExhibitionCode);
|
|
$("#ExhibitioShotName_TW2").val(oRes.ExhibitioShotName_TW);
|
|
$("#ExhibitionDateStart2").val(newDate(oRes.ExhibitionDateStart, 'date'));
|
|
$("#ExhibitionDateEnd2").val(newDate(oRes.ExhibitionDateEnd, 'date'));
|
|
//$("#ListSource").val((oRes.ListSource || '').split(',').clear()).trigger('change');
|
|
//$("#ListSource2").val((oRes.ListSource || '').split(',').clear()).trigger('change');
|
|
|
|
|
|
|
|
$("#ResponsiblePerson2").html($("#ResponsiblePerson").html());
|
|
|
|
if (oRes.IsTransfer === 'N') {
|
|
$('#TransferResult').text(i18next.t("common.Transfer_No")).css('color', 'red');// ╠common.Transfer_No⇒未拋轉╣
|
|
}
|
|
else {// ╠common.Transfer_No⇒已拋轉╣ ╠common.TransferDate⇒最後拋轉時間╣
|
|
$('#TransferResult').text(i18next.t("common.Transfer_Yes") + '(' + i18next.t("common.TransferDate") + ':' + newDate(oRes.LastTransfer_Time) + ')').css('color', 'green');
|
|
}
|
|
|
|
var strCustomerGuid = '';
|
|
//fnGetGridData().done(function () {
|
|
//oGrid.loadData();
|
|
|
|
$('#btnAddList').on('click', function () {
|
|
fnAddList();
|
|
});
|
|
$('#btnCombineCustomer').on('click', function () {
|
|
if (saCustomerList.length != 2) {
|
|
showMsg("請勾選兩筆資料進行合併");
|
|
return false;
|
|
}
|
|
if (saCustomerList[0].IsAudit == 'Y' && saCustomerList[1].IsAudit == 'Y') {
|
|
showMsg("兩筆皆為已審核,無法合併");
|
|
return false;
|
|
}
|
|
|
|
fnCombineCustomer(saCustomerList[0].guid,saCustomerList[1].guid);
|
|
});
|
|
$('#btnRemoveFromList').on('click', function () {
|
|
if (saCustomerList.length == 0) {
|
|
showMsg("請至少勾選一筆資料");
|
|
return false;
|
|
}
|
|
strCustomerGuid = '';
|
|
$.each(saCustomerList, function (idx, data) {
|
|
strCustomerGuid += data.guid + ",";
|
|
});
|
|
fnRemoveFromList(strCustomerGuid);
|
|
});
|
|
$('#bthImportExhibitors').on('click', function () {
|
|
if (saCustomerList.length == 0) {
|
|
showMsg("請至少勾選一筆資料");
|
|
return false;
|
|
}
|
|
strCustomerGuid = '';
|
|
$.each(saCustomerList, function (idx, data) {
|
|
if(data.IsFormal != "Y"){
|
|
showMsg("所選客戶中有非正式客戶,無法帶入案件");
|
|
strCustomerGuid = '';
|
|
return false;
|
|
}
|
|
strCustomerGuid += data.guid + ",";
|
|
});
|
|
if(strCustomerGuid != ''){
|
|
fnImportExhibitors(strCustomerGuid);
|
|
}
|
|
});
|
|
// });
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
$('#litab1 a').click();
|
|
$('#litab2').hide();
|
|
$('#litab3').hide();
|
|
$('#litab4').hide();
|
|
oCurData.LogoFileId = guid();
|
|
fnUpload();
|
|
return $.Deferred().resolve().promise();
|
|
}
|
|
},
|
|
/**
|
|
* 新增資料
|
|
* @param {String} sFlag 新增或儲存後新增
|
|
*/
|
|
fnAdd = function (sFlag) {
|
|
var data = getFormSerialize(oForm);
|
|
data = packParams(data);
|
|
data.OrgID = parent.OrgID;
|
|
data.LogoFileId = oCurData.LogoFileId;
|
|
data.IsTransfer = 'N';
|
|
//data.ExhibitionCode = 'SerialNumber|' + parent.UserInfo.OrgID + '|' + (parent.UserInfo.OrgID === 'TE' ? '' : parent.UserInfo.OrgID) + '|MinYear|3||';
|
|
|
|
if (!data.ExhibitionDate) {
|
|
delete data.ExhibitionDateStart;
|
|
delete data.ExhibitionDateEnd;
|
|
}
|
|
else {
|
|
data.ExhibitionDateStart = $.trim(data.ExhibitionDate.split('~')[0]);
|
|
data.ExhibitionDateEnd = $.trim(data.ExhibitionDate.split('~')[1]);
|
|
}
|
|
delete data.ExhibitionDate;
|
|
delete data.file_hidden;
|
|
|
|
if (!data.ShelfTime_Home) {
|
|
delete data.ShelfTime_Home;
|
|
}
|
|
if (!data.ShelfTime_Abroad) {
|
|
delete data.ShelfTime_Abroad;
|
|
}
|
|
|
|
if (!data.SeaReceiveingDate) {
|
|
delete data.SeaReceiveingDate;
|
|
}
|
|
if (!data.SeaClosingDate) {
|
|
delete data.SeaClosingDate;
|
|
}
|
|
if (!data.AirReceiveingDate) {
|
|
delete data.AirReceiveingDate;
|
|
}
|
|
if (!data.AirClosingDate) {
|
|
delete data.AirClosingDate;
|
|
}
|
|
|
|
if(parent.OrgID != "TG"){
|
|
data.CostRulesId = data.CostRulesIdTE;
|
|
} else {
|
|
data.CostRulesId = data.CostRulesIdTG;
|
|
}
|
|
delete data.CostRulesIdTE;
|
|
delete data.CostRulesIdTG;
|
|
|
|
g_api.ConnectLite(Service.com, ComFn.GetSerial, {
|
|
Type: (parent.UserInfo.OrgID !== 'SG' ? '' : parent.UserInfo.OrgID),
|
|
Flag: 'MinYear',
|
|
Len: 3,
|
|
Str: '',
|
|
AddType: '',
|
|
PlusType: ''
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
data.ExhibitionCode = res.DATA.rel;
|
|
CallAjax(ComFn.W_Com, ComFn.GetAdd, {
|
|
Params: { exhibition: data }
|
|
}, function (res1) {
|
|
if (res1.d > 0) {
|
|
bRequestStorage = false;
|
|
if (sFlag === 'add') {
|
|
CallAjax(ComFn.W_Com, ComFn.GetOne, {
|
|
Type: '',
|
|
Params: {
|
|
exhibition: {
|
|
ExhibitionCode: data.ExhibitionCode
|
|
},
|
|
}
|
|
}, function (res2) {
|
|
var oRes = $.parseJSON(res2.d);
|
|
showMsgAndGo(i18next.t("message.Save_Success"), sProgramId, '?Action=Upd&SN=' + oRes.SN); // ╠message.Save_Success⇒新增成功╣
|
|
});
|
|
}
|
|
else {
|
|
showMsgAndGo(i18next.t("message.Save_Success"), sProgramId, '?Action=Add'); // ╠message.Save_Success⇒新增成功╣
|
|
}
|
|
if (data.ExhibitionDateStart && data.ExhibitionDateEnd) {
|
|
//如果展覽時間不為空的話就同步更新至行事曆和outlook中
|
|
fnSynChronousCalendar(data);
|
|
}
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Save_Failed"), 'error'); // ╠message.Save_Failed⇒新增失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Save_Failed"), 'error'); // ╠message.Save_Failed⇒新增失敗╣
|
|
});
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.CreateBill_Failed') + '<br>' + res.MSG, 'error'); // ╠message.CreateBill_Failed⇒帳單新增失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t('message.CreateBill_Failed'), 'error'); // ╠message.CreateBill_Failed⇒帳單新增失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 檢查名稱
|
|
*/
|
|
fnCheckNameThenAction = function (Type) {
|
|
return g_api.ConnectLite(sProgramId, 'CheckExhibitionName', {
|
|
Type: Type,
|
|
SN: getUrlParam('SN') ,
|
|
Exhibitioname_TW: $('#Exhibitioname_TW').val() ? $('#Exhibitioname_TW').val(): "",
|
|
ExhibitioShotName_TW: $('#ExhibitioShotName_TW').val() ? $('#ExhibitioShotName_TW').val() : "",
|
|
Exhibitioname_EN: $('#Exhibitioname_EN').val() ? $('#Exhibitioname_EN').val(): "",
|
|
}, function (res) {
|
|
if (!res.MSG) {
|
|
switch (Type) {
|
|
case "add":
|
|
case "readd":
|
|
fnAdd(Type);
|
|
break;
|
|
case "upd":
|
|
fnUpd();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
else {
|
|
showMsg(res.MSG, 'error');
|
|
}
|
|
}, function () {
|
|
showMsg("未知錯誤,請聯絡資訊人員", 'error');// ╠message.Transfer_Failed⇒拋轉失敗╣
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 修改資料
|
|
*/
|
|
fnUpd = function () {
|
|
var data = getFormSerialize(oForm);
|
|
data = packParams(data, 'upd');
|
|
data.LogoFileId = oCurData.LogoFileId;
|
|
|
|
if (!data.ExhibitionDate) {
|
|
delete data.ExhibitionDateStart;
|
|
delete data.ExhibitionDateEnd;
|
|
}
|
|
else {
|
|
data.ExhibitionDateStart = $.trim(data.ExhibitionDate.split('~')[0]);
|
|
data.ExhibitionDateEnd = $.trim(data.ExhibitionDate.split('~')[1]);
|
|
}
|
|
delete data.ExhibitionDate;
|
|
delete data.file_hidden;
|
|
|
|
//delete data.ResponsiblePerson;
|
|
delete data.ListSource;
|
|
|
|
delete data.ExhibitionCode2;
|
|
delete data.ExhibitioShotName_TW2;
|
|
delete data.ExhibitionDateStart2;
|
|
delete data.ExhibitionDateEnd2;
|
|
delete data.ResponsiblePerson2;
|
|
delete data.Industry2;
|
|
delete data.State2;
|
|
delete data.ListSource;
|
|
delete data.ListSource2;
|
|
|
|
if (!data.ShelfTime_Home) {
|
|
delete data.ShelfTime_Home;
|
|
}
|
|
if (!data.ShelfTime_Abroad) {
|
|
delete data.ShelfTime_Abroad;
|
|
}
|
|
if (!data.ExhibitionCode) {
|
|
data.ExhibitionCode = 'SerialNumber|' + parent.UserInfo.OrgID + '||MinYear|3||';
|
|
}
|
|
|
|
if (!data.SeaReceiveingDate) {
|
|
delete data.SeaReceiveingDate
|
|
}
|
|
if (!data.SeaClosingDate) {
|
|
delete data.SeaClosingDate
|
|
}
|
|
if (!data.AirReceiveingDate) {
|
|
delete data.AirReceiveingDate
|
|
}
|
|
if (!data.AirClosingDate) {
|
|
delete data.AirClosingDate
|
|
}
|
|
|
|
if(parent.OrgID != "TG"){
|
|
data.CostRulesId = data.CostRulesIdTE;
|
|
} else {
|
|
data.CostRulesId = data.CostRulesIdTG;
|
|
}
|
|
delete data.CostRulesIdTE;
|
|
delete data.CostRulesIdTG;
|
|
|
|
CallAjax(ComFn.W_Com, ComFn.GetUpd, {
|
|
Params: {
|
|
exhibition: {
|
|
values: data,
|
|
keys: { SN: sDataId }
|
|
}
|
|
}
|
|
}, function (res) {
|
|
if (res.d > 0) {
|
|
bRequestStorage = false;
|
|
showMsg(i18next.t("message.Modify_Success"), 'success'); //╠message.Modify_Success⇒修改成功╣
|
|
if (window.bLeavePage) {
|
|
setTimeout(function () {
|
|
pageLeave();
|
|
}, 1000);
|
|
}
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Modify_Failed"), 'error');//╠message.Modify_Failed⇒修改失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Modify_Failed"), 'error');//╠message.Modify_Failed⇒修改失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 資料刪除
|
|
*/
|
|
fnDel = function () {
|
|
g_api.ConnectLite(sProgramId, 'Delete', {
|
|
SN: sDataId
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
showMsgAndGo(i18next.t("message.Delete_Success"), sQueryPrgId); // ╠message.Delete_Success⇒刪除成功╣
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 設定國家下拉選單
|
|
*/
|
|
setStateDrop = function () {
|
|
return g_api.ConnectLite(Service.com, ComFn.GetArguments, {
|
|
ArgClassID: 'Area',
|
|
ParentID: '',
|
|
LevelOfArgument: 1
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
saState = res.DATA.rel;
|
|
if (saState.length > 0) {
|
|
$('#State').html(createOptions(saState, 'id', 'text', true)).change(function () {
|
|
setExhibitionAddressDrop();
|
|
});
|
|
select2Init($('#State').parent());
|
|
if (parent.OrgID === 'TG' && sAction === 'Add') {
|
|
$('#State').val('TWN');
|
|
setExhibitionAddressDrop();
|
|
}
|
|
}
|
|
else {
|
|
$('#State').html(createOptions([]));
|
|
}
|
|
|
|
$('#State2').html($('#State').html());
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 設定展覽地點下拉選單
|
|
*/
|
|
setExhibitionAddressDrop = function () {
|
|
var sState = $('#State').val() || '';
|
|
g_api.ConnectLite(Service.com, ComFn.GetArguments, {
|
|
ArgClassID: 'Area',
|
|
ParentID: sState,
|
|
LevelOfArgument: 2
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
saHalls = res.DATA.rel;
|
|
if (saHalls.length > 0) {
|
|
$('#ExhibitionAddress').html(createOptions(saHalls, 'id', 'text', true)).change(function () {
|
|
var sExhibitionAddressId = this.value;
|
|
if (sExhibitionAddressId) {
|
|
var oState = Enumerable.From(saHalls).Where(function (e) { return e.id === sExhibitionAddressId; }).First();
|
|
$('#ExhibitionAddress_CN').text(oState.text_cn);
|
|
$('#ExhibitionAddress_EN').text(oState.text_en);
|
|
}
|
|
else {
|
|
$('#ExhibitionAddress_CN').text('');
|
|
$('#ExhibitionAddress_EN').text('');
|
|
}
|
|
});
|
|
if (oCurData.ExhibitionAddress) {
|
|
$('#ExhibitionAddress').val(oCurData.ExhibitionAddress);
|
|
if (!$('#ExhibitionAddress').val()) {
|
|
$('#ExhibitionAddress_CN').text('');
|
|
$('#ExhibitionAddress_EN').text('');
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$('#ExhibitionAddress').html(createOptions([]));
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 設定費用規則下拉選單
|
|
*/
|
|
setCostRulesDrop = function () {
|
|
return CallAjax(ComFn.W_Com, ComFn.GetList, {
|
|
Type: '', Params: {
|
|
exhibitionrules: {
|
|
OrgID: parent.OrgID,
|
|
Effective: "Y"
|
|
}
|
|
}
|
|
}, function (res) {
|
|
var saData = JSON.parse(res.d);
|
|
if (saData) {
|
|
$('#CostRulesIdTG').html(createOptions(saData, 'Guid', 'Title'));
|
|
$('#CostRulesIdTE').html(createOptions(saData, 'Guid', 'Title'));
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 設定名單來源下拉選單
|
|
*/
|
|
setListSourceDrop = function () {
|
|
return g_api.ConnectLite('Customers_Upd', 'GetListSource', {}, function (res) {
|
|
if (res.RESULT) {
|
|
if (res.DATA.rel.length > 0) {
|
|
sListSourceHtml = createOptions(res.DATA.rel, 'id', 'text').replace('<option value="">請選擇...</option>','<option value="">請選擇...</option><option value="SelfCome" title="自來">自來</option>') +
|
|
'<option value="ImportFromDB" title="資料庫匯入">資料庫匯入</option>';
|
|
$('#ListSource').html(sListSourceHtml).val(saListSource).select2();
|
|
$('#ListSource2').html(sListSourceHtml).val(saListSource).select2();
|
|
}
|
|
else {
|
|
$('#ListSource').html(createOptions([]));
|
|
$('#ListSource2').html(createOptions([]));
|
|
}
|
|
//$('#ListSource2').html($('#ListSource').html());
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 上傳附件
|
|
* @param {Array}files 要綁定的html物件
|
|
*/
|
|
fnUpload = function (files) {
|
|
var option = {};
|
|
option.input = $('#fileInput');
|
|
option.theme = 'dragdropbox';
|
|
option.folder = 'Exhibition';
|
|
option.type = 'one';
|
|
option.extensions = ['jpg', 'jpeg', 'png', 'bmp', 'gif', 'png'];
|
|
option.limit = 1;
|
|
option.parentid = oCurData.LogoFileId;
|
|
if (files) {
|
|
option.files = files;
|
|
}
|
|
fnUploadRegister(option);
|
|
},
|
|
/**
|
|
* 拋轉文中
|
|
*/
|
|
fnTransfer = function () {
|
|
g_api.ConnectLite('Exhibition', 'Transfer', {
|
|
SN: oCurData.SN
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
showMsg(i18next.t("message.Transfer_Success"), 'success'); // ╠message.Transfer_Success⇒拋轉完成╣
|
|
parent.msgs.server.pushTransfer(parent.OrgID, parent.UserID, oCurData.ExhibitionCode, 3);
|
|
fnGet();
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.Transfer_Failed') + '<br>' + res.MSG, 'error');// ╠message.Transfer_Failed⇒拋轉失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Transfer_Failed"), 'error');// ╠message.Transfer_Failed⇒拋轉失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 抓去參加展覽列表資料
|
|
* @param {String} flag 是否匯出
|
|
* @return {Object} ajax物件
|
|
*/
|
|
fnGetGridData = function (args) {
|
|
if (sDataId) {
|
|
return g_api.ConnectLite(sProgramId, 'GetExhibitionList', {
|
|
SN: sDataId,
|
|
sortField: args.sortField,
|
|
sortOrder: args.sortOrder,
|
|
Excel: args.Excel
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
saGridData = res.DATA.rel;
|
|
if (args.Excel) {
|
|
DownLoadFile(saGridData);
|
|
layer.close(args.Index);
|
|
}
|
|
intListCount = saGridData.length;
|
|
$.each(saGridData, function (idx, data) {
|
|
if(data.ListSource != "" && data.ListSource != null ){
|
|
if($.inArray(data.ListSource, saListSource) < 0){
|
|
saListSource.push(data.ListSource);
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
$("#ListSource").val(saListSource).trigger('change');
|
|
$("#ListSource2").val(saListSource).trigger('change');
|
|
|
|
saCustomerList = [];
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
return $.Deferred().resolve().promise();
|
|
}
|
|
},
|
|
/**
|
|
* 抓去參加展覽列表資料
|
|
* @param {String} flag 是否匯出
|
|
* @return {Object} ajax物件
|
|
*/
|
|
fnGetGridData1 = function (args) {
|
|
var oQueryPm = {};
|
|
$.extend(oQueryPm, oBaseQueryPm, args);
|
|
|
|
if (sDataId) {
|
|
oQueryPm.SN = sDataId;
|
|
return g_api.ConnectLite(sProgramId, 'GetImportCustomers', oQueryPm);
|
|
}
|
|
else {
|
|
return $.Deferred().resolve().promise();
|
|
}
|
|
},
|
|
|
|
|
|
fnGetGridData2 = function (guid) {
|
|
return g_api.ConnectLite('Contactors_Qry', 'QueryByCustomer', {
|
|
CustomerId: guid
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
saGridData2 = res.DATA.rel;
|
|
}
|
|
});
|
|
},
|
|
fnGetGridData3 = function (_SN) {
|
|
return g_api.ConnectLite(sProgramId, 'GetExhibitionList', {
|
|
SN: _SN,
|
|
Flag: ''
|
|
}, function (res) {
|
|
saGridData3 = res.DATA.rel;
|
|
});
|
|
},
|
|
fnGetGridData4 = function (_SN) {
|
|
return g_api.ConnectLite(sProgramId, 'GetExhibitionListFile', {
|
|
SN: _SN,
|
|
Flag: ''
|
|
}, function (res) {
|
|
saGridData3 = res.DATA.rel;
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 刪除單筆列表資料
|
|
* @param {String} id 廠商id
|
|
* @return {Object} ajax 物件
|
|
*/
|
|
fnDelGrid1Data = function (id) {
|
|
CallAjax(ComFn.W_Com, ComFn.GetDel, {
|
|
Params: {
|
|
importcustomers: {
|
|
guid: id
|
|
}
|
|
}
|
|
}, function (res) {
|
|
if (res.d > 0) {
|
|
showMsg(i18next.t("message.Delete_Success"), 'success'); // ╠message.Delete_Success⇒刪除成功╣
|
|
oGrid1.loadData();
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 轉正式資料
|
|
* @param {Object} item 單筆廠商資料
|
|
* @return {Object} ajax 物件
|
|
*/
|
|
fnTransferToFormal = function (item) {
|
|
parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + item.guid);
|
|
/* layer.open({
|
|
type: 2, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: i18next.t('common.CustomerTransferToFormal'),// ╠common.CustomerTransferToFormal⇒匯入廠商轉正╣
|
|
area: ['1200px', '600px'],//寬度
|
|
shade: 0.75,//遮罩
|
|
maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_TransferToFormal', //设定一个id,防止重复弹出
|
|
anim: 0,//彈出動畫
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '../Crm/Customers_Upd.html?Action=Add&From=Appoint&Flag=Pop',
|
|
success: function (layero, index) {
|
|
//layer.full(index); //弹出即全屏
|
|
var iframe = layero.find('iframe').contents();
|
|
iframe.find('#CustomerCName').val(item.CustomerCName);
|
|
iframe.find('#CustomerEName').val(item.CustomerEName);
|
|
iframe.find('#UniCode').val(item.UniCode);
|
|
iframe.find('#Telephone').val(item.Telephone);
|
|
iframe.find('#Email').val(item.Email);
|
|
iframe.find('#Address').val(item.Address);
|
|
iframe.find('#InvoiceAddress').val(item.InvoiceAddress);
|
|
iframe.find('body').attr('PopId', item.guid);
|
|
setTimeout(function () {
|
|
iframe.find('.plustemplkey ').trigger('click');
|
|
var _input = iframe.find('#table_box').find(':input');
|
|
_input.eq(0).val(item.Contactor);
|
|
_input.eq(2).val(item.Telephone);
|
|
_input.eq(5).val(item.Email);
|
|
setTimeout(function () {
|
|
_input.eq(0).trigger('click');
|
|
_input.eq(2).trigger('click');
|
|
_input.eq(5).trigger('click');
|
|
}, 500);
|
|
}, 1000);
|
|
},
|
|
end: function () {
|
|
if (bRefresh) {
|
|
bRefresh = false;
|
|
oGrid1.loadData();
|
|
}
|
|
}
|
|
}); */
|
|
},
|
|
/**
|
|
* 匯入廠商資料
|
|
*/
|
|
fnImportCusList = function () {
|
|
$('#importfile').val('').off('change').on('change', function () {
|
|
$("#spnFileName").text(this.value.split('/').pop().split('\\').pop());
|
|
/* if (this.value.indexOf('.xls') > -1 || this.value.indexOf('.xlsx') > -1) {
|
|
var sFileId = guid(),
|
|
sFileName = this.value;
|
|
$.ajaxFileUpload({
|
|
url: '/Controller.ashx?action=importfile&FileId=' + sFileId,
|
|
secureuri: false,
|
|
fileElementId: 'importfile',
|
|
success: function (data, status) {
|
|
g_api.ConnectLite(sProgramId, 'ImportCustomers', {
|
|
FileId: sFileId,
|
|
FileName: sFileName,
|
|
SN: sDataId
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
oGrid1.loadData();
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.ProgressError') + '<br>' + res.MSG, 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.ProgressError"), 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
});
|
|
},
|
|
error: function (data, status, e) {
|
|
showMsg(i18next.t("message.ProgressError"), 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
}
|
|
});
|
|
bRequestStorage = true;
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.FileTypeError"), 'error'); // ╠message.FileTypeError⇒文件格式錯誤╣
|
|
} */
|
|
}).click();
|
|
},
|
|
/**
|
|
* 匯入廠商資料匯出
|
|
*/
|
|
fnExportCusList = function () {
|
|
g_api.ConnectLite(sProgramId, 'ExportCustomers', {
|
|
SN: sDataId
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
DownLoadFile(res.DATA.rel);
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 新增匯入客戶
|
|
* @param {Object}data 序列化資料
|
|
*/
|
|
fnAddCustomers = function (data) {
|
|
data.ExhibitionNO = sDataId;
|
|
g_api.ConnectLite(sProgramId, 'InsertImportCustomers', data, function (res) {
|
|
if (res.RESULT) {
|
|
oGrid1.loadData();
|
|
showMsg(i18next.t("message.Save_Success"), 'success'); // ╠message.Save_Success⇒新增成功╣
|
|
}
|
|
else {
|
|
showMsg(res.MSG, 'error');
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Save_Failed"), 'error'); // ╠message.Save_Failed⇒新增失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 修改資料
|
|
* @param {Object}data 序列化資料
|
|
*/
|
|
fnUpdCustomers = function (data) {
|
|
data = packParams(data, 'upd');
|
|
delete data.Exhibitioname_TW;
|
|
delete data.Exhibitioname_EN;
|
|
data = removeNull(data);
|
|
|
|
g_api.ConnectLite(sProgramId, 'UpdImportCustomers', data, function (res) {
|
|
if (res.RESULT) {
|
|
bRequestStorage = false;
|
|
showMsg(i18next.t("message.Modify_Success"), 'success'); // ╠message.Modify_Success⇒修改成功╣
|
|
}
|
|
else {
|
|
showMsg(res.MSG, 'error');
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Modify_Failed"), 'error'); // ╠message.Modify_Failed⇒修改失敗╣
|
|
});
|
|
},
|
|
/**
|
|
* 目的 對應正式客戶
|
|
* @param {String}item 預約單資料
|
|
*/
|
|
fnCorrespondFormalCus = function (item) {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: i18next.t("common.CorrespondFormalCus"), // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: '640px;',//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_Correspond', //设定一个id,防止重复弹出
|
|
offset: '100px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.select2-container{z-index: 39891015;}</style><div class="form-group">\
|
|
<div class="col-sm-12">\
|
|
<select class= "form-control w95p" id="CustomerId" name="CustomerId"></select>\
|
|
</div>\
|
|
</div >',
|
|
success: function (layero, index) {
|
|
g_api.ConnectLite(Service.sys, 'GetCustomerlist', {}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
var sOptions = createOptions(saList, 'id', 'text');
|
|
$('#CustomerId').html(sOptions).select2();
|
|
}
|
|
});
|
|
transLang(layero);
|
|
},
|
|
yes: function (index, layero) {
|
|
let sCustomerId = $('#CustomerId').val();
|
|
if (!sCustomerId) {
|
|
showMsg(i18next.t('message.SelectFormalCus'));//╠message.SelectFormalCus⇒請選擇對應的客戶╣
|
|
return false;
|
|
}
|
|
/* return g_api.ConnectLite('Exhibition_Upd', 'UpdateCustomerTag', {//匯入費用項目
|
|
PrevId: item.guid,
|
|
AfterId: sCustomerId
|
|
}, function (res) {
|
|
if (res.DATA.rel) {
|
|
oGrid1.loadData();
|
|
showMsg(i18next.t("message.Correspond_Success"), 'success'); //╠message.Correspond_Success⇒對應成功╣
|
|
layer.close(index);
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Correspond_Failed"), 'error');//╠message.Correspond_Failed⇒對應失敗╣
|
|
}
|
|
}); */
|
|
|
|
var combinedata = {};
|
|
combinedata.Type = "2";
|
|
combinedata.guid1 = item.guid;
|
|
combinedata.guid2 = sCustomerId;
|
|
|
|
g_api.ConnectLite('Customers_Upd', 'CombineCustomer', combinedata
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
oGrid.loadData();
|
|
showMsg(i18next.t("message.Correspond_Success"), 'success'); //╠message.Correspond_Success⇒對應成功╣
|
|
layer.close(index);
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.Correspond_Failed"), 'error');//╠message.Correspond_Failed⇒對應失敗╣
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg(i18next.t("message.Correspond_Failed"), 'error');//╠message.Correspond_Failed⇒對應失敗╣
|
|
});
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 同步新更新行事曆和outlook
|
|
* @param {Object}_data 序列化資料
|
|
*/
|
|
fnSynChronousCalendar = function (_data) {
|
|
var data = {};
|
|
data.CalType = '04';//展覽
|
|
data.Title = _data.ExhibitioShotName_TW;
|
|
data.Description = _data.Exhibitioname_TW + '(' + _data.Exhibitioname_EN + ') ' + _data.Memo;
|
|
data.StartDate = _data.ExhibitionDateStart;
|
|
data.EndDate = _data.ExhibitionDateEnd;
|
|
data.Color = parent.UserInfo.CalColor;
|
|
data.RelationId = _data.ExhibitionCode;
|
|
data.GroupMembers = '';
|
|
data.Importment = 'M';
|
|
data.OpenMent = 'C';
|
|
data.AllDay = '0';
|
|
|
|
g_api.ConnectLite('Calendar', ComFn.GetAdd, data,
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
var sNo = res.DATA.rel;
|
|
if (parent.Outklook) {
|
|
outlookAPI(outlook.Calendar_Add, {
|
|
NO: sNo,
|
|
ResponseRequested: false
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 打開要匯出的pop選擇匯出類別
|
|
*/
|
|
fnOpenPopToExcel = function () {
|
|
layer.confirm("確定要匯出嗎?", { icon: 3, title: i18next.t('common.Tips') }, function (index) {
|
|
fnGetGridData({
|
|
Excel: true,
|
|
Index: index
|
|
});
|
|
})
|
|
},
|
|
/**
|
|
* ToolBar 按鈕事件 function
|
|
* @param {Object}inst 按鈕物件對象
|
|
* @param {Object} e 事件對象
|
|
*/
|
|
fnButtonHandler = function (inst, e) {
|
|
var sId = inst.id;
|
|
switch (sId) {
|
|
case "Toolbar_Qry":
|
|
|
|
break;
|
|
case "Toolbar_Save":
|
|
$('#file_hidden').val($('li.jFiler-item').length || '');
|
|
if (!$("#form_main").valid()) {
|
|
oValidator.focusInvalid();
|
|
return;
|
|
}
|
|
|
|
|
|
if (sAction === 'Add') {
|
|
fnCheckNameThenAction('add');//fnAdd('add');
|
|
}
|
|
else {
|
|
fnCheckNameThenAction('upd');//fnUpd();
|
|
}
|
|
|
|
break;
|
|
case "Toolbar_ReAdd":
|
|
|
|
$('#file_hidden').val($('li.jFiler-item').length || '');
|
|
if (!$("#form_main").valid()) {
|
|
oValidator.focusInvalid();
|
|
return;
|
|
}
|
|
fnCheckNameThenAction('readd'); // fnAdd('readd');
|
|
|
|
break;
|
|
case "Toolbar_Clear":
|
|
|
|
clearPageVal();
|
|
|
|
break;
|
|
case "Toolbar_Leave":
|
|
|
|
pageLeave();
|
|
|
|
break;
|
|
|
|
case "Toolbar_Add":
|
|
|
|
break;
|
|
case "Toolbar_Upd":
|
|
|
|
break;
|
|
case "Toolbar_Copy":
|
|
|
|
break;
|
|
case "Toolbar_Del": // ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣ ╠common.Tips⇒提示╣
|
|
|
|
layer.confirm('確定要刪除 [ <b style="color:red;">展覽管理案件</b> ] 嗎', { icon: 3, title: i18next.t('common.Tips') }, function (index) {
|
|
fnDel();
|
|
layer.close(index);
|
|
});
|
|
|
|
break;
|
|
case "Toolbar_Imp":
|
|
|
|
break;
|
|
case "Toolbar_Transfer":
|
|
|
|
fnTransfer();
|
|
|
|
break;
|
|
case "Toolbar_Exp":
|
|
if (oGrid.data.length === 0) {
|
|
showMsg(i18next.t("message.NoDataExport"));// ╠message.NoDataExport⇒沒有資料匯出╣
|
|
return false;
|
|
}
|
|
fnOpenPopToExcel();
|
|
break;
|
|
default:
|
|
|
|
alert("No handle '" + sId + "'");
|
|
|
|
break;
|
|
}
|
|
},
|
|
/**
|
|
* 目的 新增名單
|
|
* @param
|
|
*/
|
|
fnAddList = function () {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "新增名單", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['200px', '220px'],//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddList', //设定一个id,防止重复弹出
|
|
//offset: '50px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
//btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<div class="pop-box">\
|
|
<p><button type="button" data-i18n="" id="btnAddListSingle" class="btn-custom w100p orange">單筆新增</button></p>\
|
|
<p><button type="button" data-i18n="" id="btnAddListFile" class="btn-custom w100p orange">檔案匯入</button></p>\
|
|
<p><button type="button" data-i18n="" id="btnAddListDB" class="btn-custom w100p orange">資料庫匯入</button></p>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
$('#btnAddListSingle').click(function () {
|
|
fnAddListSingle();
|
|
layer.close(index);
|
|
return false;
|
|
});
|
|
$('#btnAddListFile').click(function () {
|
|
fnAddListFile();
|
|
layer.close(index);
|
|
return false;
|
|
});
|
|
$('#btnAddListDB').click(function () {
|
|
fnAddListDB();
|
|
layer.close(index);
|
|
return false;
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 單筆新增
|
|
* @param
|
|
*/
|
|
fnAddListSingle = function () {
|
|
sChooseCustomerId = "";
|
|
bNewCustomer = false;
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "單筆新增", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddListSingle', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.select2-container{z-index: 39891015;}</style><div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">客戶搜尋</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-4 text-left abb">\
|
|
<select class="form-control w100p" data-type="select2" id="CustomerGuid" name="CustomerGuid"></select>\
|
|
</div>\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">統一編號</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="UniCodeQry" id="UniCodeQry" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<div class="col-sm-1">\
|
|
<button type="button" data-i18n="" id="btnSetCustomerData" class="btn-custom w100p blue">帶入資料</button>\
|
|
</div>\
|
|
</div>\
|
|
<hr>\
|
|
<form id="form_AddListSingle" class="form-horizontal">\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default"><b class="t-red">*</b>\
|
|
<span data-i18n="">客戶名稱</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-4">\
|
|
<input type="text" class="form-control w100p" name="CustomerCName" id="CustomerCName" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">統一編號</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="UniCode" id="UniCode" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">客戶英文名稱</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-4">\
|
|
<input type="text" class="form-control w100p" name="CustomerEName" id="CustomerEName" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label" for="input-Default"><b class="t-red">*</b>\
|
|
<span data-i18n="">名單來源</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-3 text-left">\
|
|
<select class="form-control w100p" data-type="select2" id="ListSourceA" name="ListSourceA"></select>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">地址</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-9">\
|
|
<input type="text" class="form-control w100p" name="Address" id="Address" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">官網地址</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-9">\
|
|
<input type="text" class="form-control w100p" name="WebsiteAddress" id="WebsiteAddress" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
</form>\
|
|
<div class="pop-box row w100p">\
|
|
<div class="col-sm-2 col-sm-offset-1">\
|
|
<button type="button" data-i18n="" id="btnChooseContactors" class="btn-custom w100p blue" disabled>選擇聯絡人</button>\
|
|
</div>\
|
|
<div class="col-sm-2">\
|
|
<button type="button" data-i18n="" id="btnCreateContactor" class="btn-custom w100p blue">新增聯絡人</button>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box col-sm-10 col-sm-offset-1">\
|
|
<div id="jsGridSingle"></div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
saContactorList = [];
|
|
g_api.ConnectLite(Service.sys, 'GetAllCustomerlist', {}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
var sOptions = createOptions(saList, 'id', 'text');
|
|
$('#CustomerGuid').html(sOptions).select2();
|
|
}
|
|
});
|
|
$('#ListSourceA').html(sListSourceHtml.replace('<option value="ImportFromDB" title="資料庫匯入">資料庫匯入</option>','')).select2();
|
|
/* g_api.ConnectLite('Customers_Upd', 'GetListSource', {}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
var sOptions = createOptions(saList, 'guid', 'CustomerShotCName');
|
|
$('#ListSourceA').html(sOptions).select2();
|
|
}
|
|
}); */
|
|
$('#btnSetCustomerData').click(function () {
|
|
sChooseCustomerId = "";
|
|
if($('#CustomerGuid').val() != "" || $('#UniCodeQry').val() != ""){
|
|
saContactorList = [];
|
|
g_api.ConnectLite(sProgramId, 'CustomerQuery', {
|
|
guid: $('#CustomerGuid').val(),
|
|
unicode: $('#UniCodeQry').val()
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
bNewCustomer = true;
|
|
var oRes = res.DATA.rel;
|
|
if(oRes != null){
|
|
sChooseCustomerId = oRes.guid;
|
|
|
|
$("#UniCode").val(oRes.UniCode);
|
|
$("#CustomerCName").val(oRes.CustomerCName);
|
|
$("#CustomerEName").val(oRes.CustomerEName);
|
|
$("#Address").val(oRes.Address);
|
|
$("#WebsiteAddress").val(oRes.WebsiteAdress);
|
|
|
|
$("#CustomerCName").prop("disabled", true);
|
|
$("#CustomerEName").prop("disabled", true);
|
|
$("#UniCode").prop("disabled", true);
|
|
$("#Address").prop("disabled", true);
|
|
$("#WebsiteAddress").prop("disabled", true);
|
|
|
|
$("#btnChooseContactors").prop("disabled", false);
|
|
} else {
|
|
showMsg(i18next.t('message.NotFindData'), 'error'); // ╠message.NotFindData⇒查不到對應的資料╣
|
|
|
|
$("#UniCode").val("");
|
|
$("#CustomerCName").val("");
|
|
$("#CustomerEName").val("");
|
|
$("#Address").val("");
|
|
$("#WebsiteAddress").val("");
|
|
|
|
$("#CustomerCName").prop("disabled", false);
|
|
$("#CustomerEName").prop("disabled", false);
|
|
$("#UniCode").prop("disabled", false);
|
|
$("#Address").prop("disabled", false);
|
|
$("#WebsiteAddress").prop("disabled", false);
|
|
|
|
$("#btnChooseContactors").prop("disabled", true);
|
|
}
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.NotFindData'), 'error'); // ╠message.NotFindData⇒查不到對應的資料╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t('message.NotFindData'), 'error');
|
|
});
|
|
|
|
oGrid2.loadData();
|
|
}
|
|
});
|
|
$("#jsGridSingle").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: false,
|
|
paging: false,
|
|
pageIndex: 1,
|
|
pageSize: parent.SysSet.GridRecords || 10,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
}
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', width: 5, align: "center"
|
|
},
|
|
{
|
|
name: "ContactorName", title: 'common.Contactor', width: 25, align: "center"
|
|
},
|
|
{
|
|
name: "Telephone1", title: 'common.Telephone', width: 30
|
|
},
|
|
{
|
|
name: "Ext1", title: 'common.EXT', width: 10
|
|
},
|
|
{
|
|
name: "Email1", title: 'common.Email', width: 40
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return {
|
|
data: saContactorList,
|
|
itemsCount: saContactorList.length //data.length
|
|
};
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
},
|
|
onInit: function (args) {
|
|
oGrid2 = args.grid;
|
|
}
|
|
});
|
|
$('#btnCreateContactor').click(function () {
|
|
fnCreateContactor();
|
|
return false;
|
|
});
|
|
$('#btnChooseContactors').click(function () {
|
|
fnChooseContactors(sChooseCustomerId);
|
|
return false;
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
let data = getFormSerialize($("#form_AddListSingle"))
|
|
|
|
if(data.CustomerCName == ""){
|
|
showMsg("客戶名稱不可為空");
|
|
return false;
|
|
} else if( $("#ListSourceA").val() == "" ){
|
|
showMsg("名單來源不可為空");
|
|
return false;
|
|
} else {
|
|
data.Contactors = saContactorList;
|
|
data.AddContactors = saAddContactorList;
|
|
data.ChooseContactors = saChooseContactorList;
|
|
if(bNewCustomer){
|
|
data.NewCustomer = "true";
|
|
}else{
|
|
data.NewCustomer = "false";
|
|
}
|
|
data.CustomerId = sChooseCustomerId;
|
|
data.OrgID = parent.OrgID;
|
|
data.ExhibitionNO = sDataId;
|
|
data.SourceType = "1";
|
|
data.ListSource = $("#ListSourceA").val();
|
|
|
|
g_api.ConnectLite(sProgramId, 'InsertExhibitionListSingle', data, function (res) {
|
|
if (res.RESULT) {
|
|
//oGrid.loadData();
|
|
showMsg(i18next.t("message.Save_Success"), 'success'); // ╠message.Save_Success⇒新增成功╣
|
|
layer.close(index);
|
|
}
|
|
else {
|
|
showMsg(res.MSG, 'error');
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.Save_Failed"), 'error'); // ╠message.Save_Failed⇒新增失敗╣
|
|
});
|
|
}
|
|
},
|
|
end: function () {
|
|
saContactorList = [];
|
|
saChooseContactorList = [];
|
|
saAddContactorList = [];
|
|
oGrid.loadData();
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 選擇聯絡人
|
|
* @param
|
|
*/
|
|
fnChooseContactors = function (_CustomerId) {
|
|
saContactorList = [];
|
|
saChooseContactorList = [];
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "選擇聯絡人", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.01,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_ChooseContactors', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">客戶名稱</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-4">\
|
|
<input type="text" class="form-control w100p" name="CustomerCNameA" id="CustomerCNameA" placeholderid="" placeholder="" disabled>\
|
|
</div>\
|
|
<label class="col-sm-2 control-label" for="input-Default">\
|
|
<span data-i18n="">統一編號</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="UniCodeA" id="UniCodeA" placeholderid="" placeholder="" disabled>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box col-sm-10 col-sm-offset-1">\
|
|
<div id="jsGridChooseContactors"></div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
/* g_api.ConnectLite('Contactors_Qry', 'QueryPage', {}, function (res) {
|
|
if (res.RESULT) {
|
|
//var saList = res.DATA.rel;
|
|
saGridDataB = res.DATA.rel;
|
|
oGrid2.loadData();
|
|
}
|
|
}); */
|
|
$("#jsGridChooseContactors").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: false,
|
|
paging: false,
|
|
pageIndex: 1,
|
|
pageSize: parent.SysSet.GridRecords || 10,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
/* if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
} */
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
/* parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid); */
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', width: 5, align: "center",
|
|
itemTemplate: function (value, item) {
|
|
return $("<input>", {
|
|
type: 'checkbox', click: function (e) {
|
|
e.stopPropagation();
|
|
if (this.checked) {
|
|
item.RowIndex = saContactorList.length + 1;
|
|
saContactorList.push(item);
|
|
}
|
|
else {
|
|
|
|
var saNewList2 = [];
|
|
$.each(saContactorList, function (idx, data) {
|
|
let i = 0;
|
|
if (item.guid !== data.guid) {
|
|
data.RowIndex = i++;
|
|
saNewList2.push(data);
|
|
}
|
|
});
|
|
saContactorList = saNewList2;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
{
|
|
name: "ContactorName", title: 'common.Contactor', width: 25, align: "center"
|
|
},
|
|
{
|
|
name: "Telephone1", title: 'common.Telephone', width: 30
|
|
},
|
|
{
|
|
name: "Ext1", title: 'common.EXT', width: 10
|
|
},
|
|
{
|
|
name: "Email1", title: 'common.Email', width: 40
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnGetGridData2(_CustomerId);
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
}
|
|
/* onInit: function (args) {
|
|
oGrid2 = args.grid;
|
|
} */
|
|
});
|
|
/* g_api.ConnectLite('Contactors_Qry', 'QueryPage', {}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
saGridDataB = res.DATA.rel;
|
|
oGrid2.loadData();
|
|
}
|
|
}); */
|
|
|
|
//$('#btnChooseContactors').click(function () {
|
|
//fnAddEEE();
|
|
//fnCombineCustomer('0314d83b-b003-45cc-8c3d-7148bca65acf','0424389d-3f11-4cba-bcd8-dcd9cb560ab3');
|
|
//return false;
|
|
//});
|
|
},
|
|
yes: function (index, layero) {
|
|
saChooseContactorList = saContactorList;
|
|
if(saAddContactorList.length >0){
|
|
let i = saContactorList.length + 1;
|
|
$.each(saAddContactorList, function (idx, data) {
|
|
data.RowIndex = i + idx;
|
|
saContactorList.push(data);
|
|
});
|
|
}
|
|
|
|
oGrid2.loadData();
|
|
layer.close(index);
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 新增聯絡人
|
|
* @param
|
|
*/
|
|
fnCreateContactor = function () {
|
|
//saContactorList = [];
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "新增聯絡人", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.01,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_CreateContactor', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<form id="form_CreateContactor" class="form-horizontal">\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><b class="t-red">*</b><span data-i18n="">稱呼</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<select class="form-control w100p" id="Call" name="Call" placeholderid="" placeholder="">\
|
|
<option value="1">Mr.</option>\
|
|
<option value="2">Miss.</option>\
|
|
</select>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><b class="t-red">*</b><span data-i18n="">姓名</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="ContactorName" id="ContactorName" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">暱稱</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="NickName" id="NickName" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">生日</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control date-picker w100p" name="Birthday" id="Birthday" maxlength="10">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">婚姻狀況</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<select class="form-control w100p" id="MaritalStatus" name="MaritalStatus" placeholderid="" placeholder="">\
|
|
<option value="1">未婚</option>\
|
|
<option value="2">已婚</option>\
|
|
</select>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">私人行動電話</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="PersonalMobilePhone" id="PersonalMobilePhone" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">私人郵箱</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="PersonalEmail" id="PersonalEmail" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">LINE</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="LINE" id="LINE" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">WECHAT</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="WECHAT" id="WECHAT" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">個性</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="Personality" id="Personality" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">喜好</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="Preferences" id="Preferences" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">私人地址</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="PersonalAddress" id="PersonalAddress" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="common.Memo">備註</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<textarea name="Memo" id="Memo" class="form-control" rows="6" cols="20"></textarea>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">直屬上司</span>:</label>\
|
|
<div class="col-sm-3 text-left">\
|
|
<select class="form-control w100p" data-type="select2" id="ImmediateSupervisor" name="ImmediateSupervisor" data-msg="" datamsg="請選擇直屬上司"></select>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">職稱</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="JobTitle" id="JobTitle" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">部門</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="Department" id="Department" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">電子郵件1</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="Email1" id="Email1" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">電子郵件2</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="Email2" id="Email2" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">電話1</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="Telephone1" id="Telephone1" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">分機1</span>:</label>\
|
|
<div class="col-sm-1">\
|
|
<input type="text" class="form-control w100p" name="Ext1" id="Ext1" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">電話2</span>:</label>\
|
|
<div class="col-sm-3">\
|
|
<input type="text" class="form-control w100p" name="Telephone2" id="Telephone2" placeholderid="" placeholder="">\
|
|
</div>\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">分機2</span>:</label>\
|
|
<div class="col-sm-1">\
|
|
<input type="text" class="form-control w100p" name="Ext2" id="Ext2" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p">\
|
|
<label class="col-sm-2 control-label"><span data-i18n="">選擇我們的原因</span>:</label>\
|
|
<div class="col-sm-8">\
|
|
<input type="text" class="form-control w100p" name="ChoseReason" id="ChoseReason" placeholderid="" placeholder="">\
|
|
</div>\
|
|
</div><div class="pop-box row w100p"></div>\
|
|
</form>',
|
|
success: function (layero, index) {
|
|
$("#Birthday").datepicker({
|
|
changeYear: true,
|
|
changeMonth: true,
|
|
altFormat: 'yyyy/MM/dd'
|
|
});
|
|
if(sChooseCustomerId != ""){
|
|
g_api.ConnectLite("Contactors_Upd", "GetImmediateSupervisor", {
|
|
Guid: '',
|
|
CustomerId: sChooseCustomerId
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
let saState = res.DATA.rel;
|
|
|
|
if (saState.length > 0) {
|
|
$('#ImmediateSupervisor').html(createOptions(saState, 'id', 'text', false)).select2();
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
$('#ImmediateSupervisor').html(createOptions([], 'id', 'text', false)).select2();
|
|
}
|
|
},
|
|
yes: function (index, layero) {
|
|
let data = getFormSerialize($("#form_CreateContactor"))
|
|
|
|
let bCheck = true;
|
|
|
|
if(sChooseCustomerId != ""){
|
|
data.CustomerId = sChooseCustomerId;
|
|
g_api.ConnectLite('Customers_Upd', 'checkContactorName', data, function (res) {
|
|
if (!res.RESULT) {
|
|
showMsg(res.MSG, 'error');
|
|
//return false;
|
|
} else {
|
|
$.each(saAddContactorList, function (idx, Adddata) {
|
|
if (Adddata.ContactorName == data.ContactorName) {
|
|
showMsg('已有重複姓名之聯絡人,請重新輸入', 'error');
|
|
bCheck = false;
|
|
}
|
|
});
|
|
|
|
if(bCheck){
|
|
data.RowIndex = saContactorList.length + 1;
|
|
saAddContactorList.push(data);
|
|
saContactorList.push(data);
|
|
oGrid2.loadData();
|
|
layer.close(index);
|
|
}
|
|
}
|
|
}, function () {
|
|
showMsg('檢查失敗', 'error');
|
|
//return false;
|
|
});
|
|
|
|
} else {
|
|
$.each(saAddContactorList, function (idx, Adddata) {
|
|
if (Adddata.ContactorName == data.ContactorName) {
|
|
showMsg('已有重複姓名之聯絡人,請重新輸入', 'error');
|
|
bCheck = false;
|
|
}
|
|
});
|
|
|
|
if(bCheck){
|
|
data.RowIndex = saContactorList.length + 1;
|
|
saAddContactorList.push(data);
|
|
saContactorList.push(data);
|
|
oGrid2.loadData();
|
|
layer.close(index);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 檔案匯入
|
|
* @param
|
|
*/
|
|
fnAddListFile = function () {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "檔案匯入", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['800px', '300px'],//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddListFile', //设定一个id,防止重复弹出
|
|
offset: '20px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.select2-container{z-index: 39891015;}</style>\
|
|
<div class="pop-box w100p row">\
|
|
<label class="col-sm-2 col-sm-offset-2 control-label" for="input-Default">\
|
|
<span data-i18n="">名單來源</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-4 text-left">\
|
|
<select class="form-control w100p" data-type="select" id="ListSourceA" name="ListSourceA"></select>\
|
|
</div>\
|
|
<div class="col-sm-2">\
|
|
<button type="button" data-i18n="" id="btnDownloadTemplate" class="btn-custom w100p orange">名單表格下載</button>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box w100p">\
|
|
<label class="control-label" for="input-Default">\
|
|
<span data-i18n="">已選擇檔案名稱</span><span>:</span>\
|
|
<span style="color:blue" id="spnFileName"></span>\
|
|
</label>\
|
|
</div>\
|
|
<div class="pop-box w100p">\
|
|
<div class="">\
|
|
<button type="button" data-i18n="" id="btnChooseFileA" class="btn-custom w15p orange">選擇檔案</button>\
|
|
</div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
$('#ListSourceA').html(sListSourceHtml.replace('<option value="ImportFromDB" title="資料庫匯入">資料庫匯入</option>','')).select2();
|
|
/* g_api.ConnectLite('Customers_Upd', 'GetListSource', {}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
var sOptions = createOptions(saList, 'guid', 'CustomerShotCName');
|
|
$('#ListSourceA').html(sOptions).select2();
|
|
}
|
|
}); */
|
|
$('#btnChooseFileA').click(function () {
|
|
fnImportExhibitionList();
|
|
return false;
|
|
});
|
|
$('#btnDownloadTemplate').click(function () {
|
|
fnDownloadTemplate();
|
|
return false;
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
if($("#ListSourceA").val() == ""){
|
|
showMsg('請選擇名單來源');
|
|
return false;
|
|
} else {
|
|
var sValue = $('#importfile').val();
|
|
if (sValue.indexOf('.xls') > -1 || sValue.indexOf('.xlsx') > -1) {
|
|
var sFileId = guid(),
|
|
sFileName = sValue;
|
|
$.ajaxFileUpload({
|
|
url: '/Controller.ashx?action=importfile&FileId=' + sFileId,
|
|
secureuri: false,
|
|
fileElementId: 'importfile',
|
|
success: function (data, status) {
|
|
g_api.ConnectLite(sProgramId, 'ImportExhibitionList', {
|
|
FileId: sFileId,
|
|
FileName: sFileName,
|
|
SN: sDataId
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
//oGrid1.loadData();
|
|
fnAddListFileConfirm($("#ListSourceA").val());
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.ProgressError') + '<br>' + res.MSG, 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t("message.ProgressError"), 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
});
|
|
},
|
|
error: function (data, status, e) {
|
|
showMsg(i18next.t("message.ProgressError"), 'error'); // ╠message.ProgressError⇒資料處理異常╣
|
|
}
|
|
});
|
|
bRequestStorage = true;
|
|
}
|
|
else {
|
|
showMsg(i18next.t("message.FileTypeError"), 'error'); // ╠message.FileTypeError⇒文件格式錯誤╣
|
|
}
|
|
}
|
|
|
|
//fnAddListDBConfirm();
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 匯入展覽名單
|
|
*/
|
|
fnImportExhibitionList = function () {
|
|
$('#importfile').val('').off('change').on('change', function () {
|
|
$("#spnFileName").text(this.value.split('/').pop().split('\\').pop());
|
|
}).click();
|
|
},
|
|
/**
|
|
* 目的 檔案匯入的資料比對與選擇新增方式
|
|
* @param
|
|
*/
|
|
fnAddListFileConfirm = function (_ListSource) {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "新增名單", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.50,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddListConfirm', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
//btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.glyphicon{color:orange!important;}</style><div class="pop-box w100p">\
|
|
<div class="col-sm-2 col-sm-offset-3 text-right">\
|
|
<i class="glyphicon glyphicon-exclamation-sign " title="加入不重複的公司及不重複的連絡人"></i>\
|
|
</div>\
|
|
<div class="col-sm-2 text-right">\
|
|
<i class="glyphicon glyphicon-exclamation-sign " title="更新重複公司的公司及連絡人資訊"></i>\
|
|
</div>\
|
|
<div class="col-sm-2 text-right">\
|
|
<i class="glyphicon glyphicon-exclamation-sign " title="加入不重複的公司並更新重複公司的公司及連絡人資訊"></i>\
|
|
</div>\
|
|
<div class="pop-box w100p">\
|
|
<div class="col-sm-2 col-sm-offset-3">\
|
|
<button type="button" data-i18n="" id="btnAddListFileInsert" class="btn-custom w100p orange" title="加入不重複的公司及不重複的連絡人">新增名單</button>\
|
|
</div>\
|
|
<div class="col-sm-2">\
|
|
<button type="button" data-i18n="" id="btnAddListFileUpdate" class="btn-custom w100p orange" title="更新重複公司的公司及連絡人資訊">更新現有名單</button>\
|
|
</div>\
|
|
<div class="col-sm-2">\
|
|
<button type="button" data-i18n="" id="btnAddListFileInsertUpdate" class="btn-custom w100p orange" title="加入不重複的公司並更新重複公司的公司及連絡人資訊">新增並更新現有名單</button>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box col-sm-12">\
|
|
<div id="jsGridDataCompare"></div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
if(intListCount == 0){
|
|
$("#btnAddListFileUpdate").prop("disabled", true);
|
|
$("#btnAddListFileInsertUpdate").prop("disabled", true);
|
|
}else{
|
|
$("#btnAddListFileUpdate").prop("disabled", false);
|
|
$("#btnAddListFileInsertUpdate").prop("disabled", false);
|
|
}
|
|
|
|
$("#jsGridDataCompare").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: false,
|
|
paging: false,
|
|
pageIndex: 1,
|
|
//pageSize: parent.SysSet.GridRecords || 10,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
/* if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
} */
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
/* parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid); */
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', type: "text", width: 30, align: "center", sorting: false
|
|
},
|
|
{
|
|
name: "CustomerCName", title: 'Customers_Upd.CustomerCName', width: 200
|
|
},
|
|
{
|
|
name: "CustomerEName", title: 'Customers_Upd.CustomerEName', width: 200
|
|
},
|
|
{
|
|
name: "Telephone", title: 'common.Telephone', width: 150
|
|
},
|
|
{
|
|
name: "FAX", title: 'common.FAX', width: 150
|
|
},
|
|
{
|
|
name: "Address", title: 'common.Address', width: 200
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnGetGridData4(sDataId);
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
}
|
|
});
|
|
|
|
$('#btnAddListFileInsert').click(function () {
|
|
fnGoAddListFileConfirm(index,"insert",_ListSource);
|
|
return false;
|
|
});
|
|
$('#btnAddListFileUpdate').click(function () {
|
|
fnGoAddListFileConfirm(index,"update",_ListSource);
|
|
return false;
|
|
});
|
|
$('#btnAddListFileInsertUpdate').click(function () {
|
|
fnGoAddListFileConfirm(index,"insertupdate",_ListSource);
|
|
return false;
|
|
});
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 寫入新增名單-檔案匯入
|
|
* @param
|
|
*/
|
|
fnGoAddListFileConfirm = function (_index, _type, _ListSource) {
|
|
g_api.ConnectLite('Exhibition_Upd', 'AddUpdateListFile', {Type:_type,SN:sDataId,ListSource:_ListSource}
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
sSN = '';
|
|
oGrid.loadData();
|
|
showMsg("匯入成功", 'success');
|
|
layer.close(_index);
|
|
layer.close(_index-1);
|
|
}
|
|
else {
|
|
showMsg("匯入失敗" + '<br>' + res.MSG , 'error');
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg("匯入失敗", 'error');
|
|
});
|
|
},
|
|
/**
|
|
* 目的 名單表格下載
|
|
* @param
|
|
*/
|
|
fnDownloadTemplate = function () {
|
|
return g_api.ConnectLite(sProgramId, 'DownloadTemplate', '', function (res) {
|
|
if (res.RESULT) {
|
|
var oRes = res.DATA.rel;
|
|
DownLoadFile(oRes.FilePath, oRes.FileName);
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 資料庫匯入
|
|
* @param
|
|
*/
|
|
fnAddListDB = function () {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "資料庫匯入", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddListDB', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.select2-container{z-index: 39891015;}</style>\
|
|
<div class="pop-box row w100p">\
|
|
<div class="col-sm-1 col-sm-offset-5">\
|
|
<button type="button" data-i18n="" id="btnAddListDBQuery" class="btn-custom w100p orange">查詢</button>\
|
|
</div>\
|
|
<div class="col-sm-1">\
|
|
<button type="button" data-i18n="" id="btnAddListDBClear" class="btn-custom w100p orange">清除</button>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box row w100p form-AddListDB">\
|
|
<label class="col-sm-1 control-label" for="input-Default">\
|
|
<span data-i18n="Exhibition_Upd.ExhibitionCode">專案代號</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-2">\
|
|
<input type="text" maxlength="50" id="ExhibitionCodeA" name="ExhibitionCodeA" class="form-control w100p" placeholderid="Exhibition_Qry.Instruction_ExhibitionCode">\
|
|
</div>\
|
|
<label class="col-sm-1 control-label" for="input-Default">\
|
|
<span data-i18n="Exhibition_Upd.Exhibitioname_TW">展覽名稱</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-2">\
|
|
<input type="text" maxlength="50" id="ExhibitionameA" name="ExhibitionameA" class="form-control w100p" placeholderid="Exhibition_Qry.Instruction_Exhibitioname_TW">\
|
|
</div>\
|
|
<label class="col-sm-1 control-label" for="input-Default">\
|
|
<span data-i18n="Exhibition_Upd.Industry">產業別</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-2">\
|
|
<select class="form-control w100p" data-type="select2" id="IndustryA" name="IndustryA"></select>\
|
|
</div>\
|
|
<label class="col-sm-1 control-label" for="input-Default">\
|
|
<span data-i18n="Exhibition_Upd.State">國家</span><span>:</span>\
|
|
</label>\
|
|
<div class="col-sm-2">\
|
|
<select class="form-control w100p" data-type="select2" id="StateA" name="StateA"></select>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box col-sm-12">\
|
|
<div id="jsGridChooseExhibition"></div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
sSN = '';
|
|
|
|
if (saState.length > 0) {
|
|
$('#StateA').html(createOptions(saState, 'id', 'text', true));
|
|
}
|
|
if(sIndustryHtml.length > 0){
|
|
$("#IndustryA").html(sIndustryHtml);
|
|
}
|
|
$("#jsGridChooseExhibition").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: true,
|
|
paging: true,
|
|
pageIndex: 1,
|
|
pageSize: 10,
|
|
pageButtonCount: parent.SysSet.GridPages || 15,
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
/* if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
} */
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
/* parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid); */
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', width: 20, align: "center",
|
|
itemTemplate: function (value, item) {
|
|
return $("<input>", {
|
|
type: 'checkbox', click: function (e) {
|
|
e.stopPropagation();
|
|
if (this.checked) {
|
|
$("#jsGridChooseExhibition").find('[type=checkbox]').each(function () {
|
|
this.checked = false;
|
|
});
|
|
this.checked = true;
|
|
sSN = item.SN;
|
|
//saExhibitionList = [];
|
|
//saExhibitionList.push(item);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
{
|
|
name: "ExhibitionCode", title: 'Exhibition_Upd.ExhibitionCode', type: "text", width: 60
|
|
},
|
|
{
|
|
name: "ExhibitioShotName_TW", title: 'Exhibition_Upd.ExhibitioShotName_TW', type: "text", width: 120
|
|
},
|
|
{
|
|
name: "Exhibitioname_TW", title: 'Exhibition_Upd.Exhibitioname_TW', type: "text", width: 180
|
|
},
|
|
{
|
|
name: "Exhibitioname_EN", title: 'Exhibition_Upd.Exhibitioname_EN', type: "text", width: 180
|
|
},
|
|
{
|
|
name: "ExhibitionDateStart", title: 'Exhibition_Upd.ExhibitionDateRange', type: "text", align: "center", width: 150, itemTemplate: function (val, item) {
|
|
var sDateRange = newDate(item.ExhibitionDateStart, 'date', true) + '~' + newDate(item.ExhibitionDateEnd, 'date', true);
|
|
return sDateRange === '~' ? '' : sDateRange;
|
|
}
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnQueryExhibition(args.pageIndex);
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
},
|
|
onInit: function (args) {
|
|
oGrid3 = args.grid;
|
|
}
|
|
});
|
|
$('#btnAddListDBQuery').click(function () {
|
|
fnQueryExhibition(args.pageIndex);
|
|
oGrid3.loadData();
|
|
return false;
|
|
});
|
|
$('#btnAddListDBClear').click(function () {
|
|
$("#ExhibitionCodeA").val('');
|
|
$("#ExhibitionameA").val('');
|
|
$("#StateA").val('');
|
|
$("#IndustryA").val('');
|
|
return false;
|
|
});
|
|
$('.form-AddListDB input').keypress(function (e) {
|
|
if (e.which == 13) {
|
|
fnQueryExhibition(args.pageIndex);
|
|
oGrid3.loadData();
|
|
}
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
fnAddListDBConfirm();
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 資料庫匯入-展覽資料
|
|
* @param
|
|
*/
|
|
fnQueryExhibition = function (_pageIndex) {
|
|
return g_api.ConnectLite('Exhibition_Qry', 'QueryPage',
|
|
{
|
|
pageIndex:_pageIndex,
|
|
pageSize:10,
|
|
sortField: 'CreateDate',
|
|
sortOrder: 'desc',
|
|
Excel: false,
|
|
ExhibitionCode: $("#ExhibitionCodeA").val(),
|
|
Exhibitioname: $("#ExhibitionameA").val(),
|
|
State: $("#StateA").val(),
|
|
IsShowWebSite: 'YN',
|
|
Effective : 'Y',
|
|
IsTransfer : 'Y',
|
|
Industry: $("#IndustryA").val(),
|
|
},
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
var oRes = res.DATA.rel;
|
|
}
|
|
}
|
|
);
|
|
},
|
|
/**
|
|
* 目的 資料庫匯入的資料比對與選擇新增方式
|
|
* @param
|
|
*/
|
|
fnAddListDBConfirm = function () {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "新增名單", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.50,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_AddListConfirm', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
//btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.glyphicon{color:orange!important;}</style><div class="pop-box w100p">\
|
|
<div class="col-sm-2 col-sm-offset-5 text-right">\
|
|
<i class="glyphicon glyphicon-exclamation-sign " title="加入不重複的公司及不重複的連絡人"></i>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box w100p">\
|
|
<div class="col-sm-2 col-sm-offset-5">\
|
|
<button type="button" data-i18n="" id="btnAddListDBInsert" class="btn-custom w100p orange" title="加入不重複的公司及不重複的連絡人">新增名單</button>\
|
|
</div>\
|
|
</div>\
|
|
<div class="pop-box col-sm-12">\
|
|
<div id="jsGridDataCompare"></div>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
/* if(intListCount == 0){
|
|
$("#btnAddListDBUpdate").prop("disabled", true);
|
|
$("#btnAddListDBInsertUpdate").prop("disabled", true);
|
|
} else {
|
|
$("#btnAddListDBUpdate").prop("disabled", false);
|
|
$("#btnAddListDBInsertUpdate").prop("disabled", false);
|
|
} */
|
|
$("#jsGridDataCompare").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: false,
|
|
paging: false,
|
|
pageIndex: 1,
|
|
//pageSize: parent.SysSet.GridRecords || 10,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
/* if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
} */
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
/* parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid); */
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', type: "text", width: 30, align: "center", sorting: false
|
|
},
|
|
{
|
|
name: "CustomerCName", title: 'Customers_Upd.CustomerCName', width: 200
|
|
},
|
|
{
|
|
name: "CustomerEName", title: 'Customers_Upd.CustomerEName', width: 200
|
|
},
|
|
{
|
|
name: "Telephone", title: 'common.Telephone', width: 150
|
|
},
|
|
{
|
|
name: "FAX", title: 'common.FAX', width: 150
|
|
},
|
|
{
|
|
name: "Address", title: 'common.Address', width: 200
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnGetGridData3(sSN);
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
}
|
|
});
|
|
|
|
$('#btnAddListDBInsert').click(function () {
|
|
fnGoAddListDBConfirm(index,"insert",sSN);
|
|
return false;
|
|
});
|
|
/* $('#btnAddListDBUpdate').click(function () {
|
|
fnGoAddListDBConfirm(index,"update",sSN);
|
|
return false;
|
|
});
|
|
$('#btnAddListDBInsertUpdate').click(function () {
|
|
fnGoAddListDBConfirm(index,"insertupdate",sSN);
|
|
return false;
|
|
}); */
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 目的 寫入新增名單-資料庫匯入
|
|
* @param
|
|
*/
|
|
fnGoAddListDBConfirm = function (_index, _type, _sSN) {
|
|
g_api.ConnectLite('Exhibition_Upd', 'AddUpdateList', {Type:_type,SN:sDataId,ChooseSN:_sSN}
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
sSN = '';
|
|
oGrid.loadData();
|
|
showMsg("匯入成功", 'success');
|
|
layer.close(_index);
|
|
layer.close(_index-1);
|
|
}
|
|
else {
|
|
showMsg("匯入失敗", 'error');
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg("匯入失敗", 'error');
|
|
});
|
|
},
|
|
/**
|
|
* 目的 合併客戶
|
|
* @param
|
|
*/
|
|
fnCombineCustomer = function (aguid1,aguid2) {
|
|
g_api.ConnectLite('Customers_Upd', 'CheckCombineCustomer', {guid1:aguid1,guid2:aguid2}
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
if(res.DATA.rel == 1){
|
|
layer.open({
|
|
type: 2, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "合併客戶",//i18next.t('common.CustomerTransferToFormal'),// ╠common.CustomerTransferToFormal⇒匯入廠商轉正╣
|
|
area: ['70%', '90%'],//寬度
|
|
shade: 0.75,//遮罩
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_CombineCustomer', //设定一个id,防止重复弹出
|
|
offset: '10px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
btn: ["合併", i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '../POP/Customer_Combine.html',
|
|
success: function (layero, index) {
|
|
g_api.ConnectLite('Customers_Upd', 'Querytwo', {
|
|
guid1: aguid1,
|
|
guid2 : aguid2
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
var oRes = res.DATA.rel;
|
|
var iframe = layero.find('iframe').contents();
|
|
|
|
if (saState.length > 0) {
|
|
iframe.find('#State1').html(createOptions(saState, 'id', 'text', true));
|
|
iframe.find('#State2').html(createOptions(saState, 'id', 'text', true));
|
|
}
|
|
|
|
iframe.find('#BlackListReason1').html(sBlackListReasonHtml).val(oRes[0].BlackListReason);
|
|
iframe.find('#BlackListReason2').html(sBlackListReasonHtml).val(oRes[1].BlackListReason);
|
|
|
|
iframe.find('#CustomerNO1').val(oRes[0].CustomerNO);
|
|
iframe.find('#UniCode1').val(oRes[0].UniCode);
|
|
iframe.find('#CustomerShotCName1').val(oRes[0].CustomerShotCName);
|
|
iframe.find('#CustomerCName1').val(oRes[0].CustomerCName);
|
|
iframe.find('#CustomerEName1').val(oRes[0].CustomerEName);
|
|
iframe.find('#Telephone1').val(oRes[0].Telephone);
|
|
iframe.find('#Email1').val(oRes[0].Email);
|
|
iframe.find('#FAX1').val(oRes[0].FAX);
|
|
iframe.find('#State1').val(oRes[0].State);
|
|
iframe.find('#Address1').val(oRes[0].Address);
|
|
iframe.find('#InvoiceAddress1').val(oRes[0].InvoiceAddress);
|
|
iframe.find('#WebsiteAddress1').val(oRes[0].WebsiteAddress);
|
|
iframe.find('#Memo1').val(oRes[0].Memo);
|
|
iframe.find('[name=IsBlackList1][value="' + oRes[0].IsBlackList + '"]').attr("checked", true);
|
|
iframe.find('[name=IsGroupUnit1][value="' + oRes[0].IsGroupUnit + '"]').attr("checked", true);
|
|
if(oRes[0].IsBlackList == "Y"){
|
|
iframe.find('#BlackListReason1').attr("disabled", false);
|
|
}
|
|
|
|
iframe.find('#CustomerNO2').val(oRes[1].CustomerNO);
|
|
iframe.find('#UniCode2').val(oRes[1].UniCode);
|
|
iframe.find('#CustomerShotCName2').val(oRes[1].CustomerShotCName);
|
|
iframe.find('#CustomerCName2').val(oRes[1].CustomerCName);
|
|
iframe.find('#CustomerEName2').val(oRes[1].CustomerEName);
|
|
iframe.find('#Telephone2').val(oRes[1].Telephone);
|
|
iframe.find('#Email2').val(oRes[1].Email);
|
|
iframe.find('#FAX2').val(oRes[1].FAX);
|
|
iframe.find('#State2').val(oRes[1].State);
|
|
iframe.find('#Address2').val(oRes[1].Address);
|
|
iframe.find('#InvoiceAddress2').val(oRes[1].InvoiceAddress);
|
|
iframe.find('#WebsiteAddress2').val(oRes[1].WebsiteAddress);
|
|
iframe.find('#Memo2').val(oRes[1].Memo);
|
|
iframe.find('[name=IsBlackList2][value="' + oRes[1].IsBlackList + '"]').attr("checked", true);
|
|
iframe.find('[name=IsGroupUnit2][value="' + oRes[1].IsGroupUnit + '"]').attr("checked", true);
|
|
if(oRes[1].IsBlackList == "Y"){
|
|
iframe.find('#BlackListReason2').attr("disabled", false);
|
|
}
|
|
|
|
}
|
|
else {
|
|
showMsg(i18next.t('message.NotFindData') + '<br>' + res.MSG, 'error'); // ╠message.NotFindData⇒查不到對應的資料╣
|
|
}
|
|
}, function () {
|
|
showMsg(i18next.t('message.NotFindData'), 'error');
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
layer.confirm("確定要合併?", { icon: 3, title: i18next.t('common.Tips') }, function (index) {
|
|
var iframe = layero.find('iframe').contents();
|
|
var combinedata = getFormSerialize($(iframe.find('#form_main')));
|
|
combinedata.Type = res.DATA.rel;
|
|
combinedata.guid1 = aguid1;
|
|
combinedata.guid2 = aguid2;
|
|
|
|
g_api.ConnectLite('Customers_Upd', 'CombineCustomer', combinedata
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
saCustomerList = [];
|
|
oGrid.loadData();
|
|
showMsg("合併成功", 'success');
|
|
layer.close(index);
|
|
}
|
|
else {
|
|
showMsg("合併失敗", 'error');
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg("合併失敗", 'error');
|
|
});
|
|
|
|
layer.close(index-1);
|
|
});
|
|
},
|
|
end: function () {
|
|
if (bRefresh) {
|
|
bRefresh = false;
|
|
oGrid.loadData();
|
|
}
|
|
}
|
|
});
|
|
} else if(res.DATA.rel == 2){
|
|
layer.confirm("正式客戶合併非正式客戶,確定要合併?", { icon: 3, title: i18next.t('common.Tips') }, function (index) {
|
|
var combinedata = {};
|
|
combinedata.Type = res.DATA.rel;
|
|
combinedata.guid1 = aguid1;
|
|
combinedata.guid2 = aguid2;
|
|
|
|
g_api.ConnectLite('Customers_Upd', 'CombineCustomer', combinedata
|
|
, function (res) {
|
|
if (res.DATA.rel) {
|
|
saCustomerList = [];
|
|
oGrid.loadData();
|
|
showMsg("合併成功", 'success');
|
|
layer.close(index);
|
|
}
|
|
else {
|
|
showMsg("合併失敗", 'error');
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg("合併失敗", 'error');
|
|
});
|
|
|
|
layer.close(index);
|
|
});
|
|
} else if(res.DATA.rel == 3){
|
|
showMsg("所選客戶皆為正式客戶,無法合併", 'error');
|
|
} else if(res.DATA.rel == 4){
|
|
showMsg("所選客戶中有重新提交審核中之客戶,無法合併", 'error');
|
|
} else if(res.DATA.rel == 5){
|
|
showMsg("所選客戶中有提交審核中之客戶,無法合併", 'error');
|
|
} else if(res.DATA.rel == 6){
|
|
showMsg("所選客戶中有申請修改中之客戶,無法合併", 'error');
|
|
} else if(res.DATA.rel == 7){
|
|
showMsg("所選客戶中有狀態無法確認之客戶,無法合併", 'error');
|
|
}
|
|
}
|
|
else {
|
|
showMsg("無法確認客戶資料,無法合併", 'error');
|
|
}
|
|
}
|
|
, function () {
|
|
showMsg("無法確認客戶資料,無法合併", 'error');
|
|
});
|
|
|
|
|
|
|
|
},
|
|
/**
|
|
* 目的 從名單移除
|
|
* @param
|
|
*/
|
|
fnRemoveFromList = function (guids) {
|
|
layer.confirm("確定要從名單移除?", { icon: 3, title: i18next.t('common.Tips') }, function (index) {
|
|
g_api.ConnectLite(sProgramId, 'RemoveFromList', {
|
|
SN: sDataId,
|
|
Guid: guids
|
|
}, function (res) {
|
|
if (res.DATA.rel) {
|
|
showMsg("移除成功", 'success');
|
|
}
|
|
else {
|
|
showMsg("移除失敗", 'error');
|
|
}
|
|
saCustomerList = [];
|
|
oGrid.loadData();
|
|
}, function () {
|
|
showMsg("移除失敗", 'error');
|
|
});
|
|
|
|
layer.close(index);
|
|
});
|
|
|
|
},
|
|
/**
|
|
* 目的 匯入帳單系統
|
|
* @param
|
|
*/
|
|
fnImportExhibitors = function (_strCustomerGuid) {
|
|
layer.open({
|
|
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
|
|
title: "匯入帳單系統", // ╠common.CorrespondImpCus⇒對應正式客戶╣
|
|
area: ['400px', '350px'],//寬度
|
|
shade: 0.75,//遮罩
|
|
closeBtn: 1,
|
|
//maxmin: true, //开启最大化最小化按钮
|
|
id: 'layer_ImportExhibitors', //设定一个id,防止重复弹出
|
|
//offset: '50px',//右下角弹出
|
|
anim: 0,//彈出動畫
|
|
//btn: [i18next.t('common.Confirm'), i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
|
|
btnAlign: 'c',//按鈕位置
|
|
content: '<style>.select2-container{z-index: 39891015;}</style>\
|
|
<div class="pop-box">\
|
|
<input id="radio_0" type="radio" name="rdbChoose01" value="1" checked="checked" />\
|
|
<label for="radio_0" >出口作業</label>\
|
|
<input id="radio_1" type="radio" name="rdbChoose01" value="2" />\
|
|
<label for="radio_1" >展覽服務部</label></div>\
|
|
<div class="pop-box" id="div1">\
|
|
<button type="button" data-i18n="" id="btnAddNewCase" class="btn-custom w50p orange">建立新案件-出口</button></p>\
|
|
<hr>\
|
|
<div><select class= "form-control" id="ExhibitionExportGuid" name="ExhibitionExportGuid"></select></div></p>\
|
|
<button type="button" data-i18n="" id="btnImportCase" class="btn-custom w50p orange">加入原有案件-出口</button>\
|
|
</div>\
|
|
<div class="pop-box" id="div2">\
|
|
<button type="button" data-i18n="" id="btnAddNewCaseTG" class="btn-custom w50p orange">建立新案件-展覽服務部</button></p>\
|
|
<hr>\
|
|
<div><select class= "form-control" id="ExhibitionExportGuidTG" name="ExhibitionExportGuidTG" style="width:100%"></select></div></p>\
|
|
<button type="button" data-i18n="" id="btnImportCase" class="btn-custom w50p orange">加入原有案件-展覽服務部</button>\
|
|
</div>',
|
|
success: function (layero, index) {
|
|
$("#div2").hide();
|
|
g_api.ConnectLite(Service.sys, 'GetExhibitionExportlist', {Type: 'TE'}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList2 = res.DATA.rel;
|
|
var sOptions2 = createOptions(saList2, 'id', 'text');
|
|
$('#ExhibitionExportGuid').html(sOptions2).select2();
|
|
}
|
|
});
|
|
g_api.ConnectLite(Service.sys, 'GetExhibitionExportlist', {Type: 'TG'}, function (res) {
|
|
if (res.RESULT) {
|
|
var saList2 = res.DATA.rel;
|
|
var sOptions2 = createOptions(saList2, 'id', 'text');
|
|
$('#ExhibitionExportGuidTG').html(sOptions2).select2();
|
|
}
|
|
});
|
|
|
|
$('[name=rdbChoose01]').change(function () {
|
|
if($('[name=rdbChoose01]:checked').val() == "1") {
|
|
$("#div1").show();
|
|
$("#div2").hide();
|
|
} else {
|
|
$("#div2").show();
|
|
$("#div1").hide();
|
|
}
|
|
});
|
|
$('#btnAddNewCase').click(function () {
|
|
parent.openPageTab('ExhibitionExport_Upd', '?Action=Add&GoTab=2&ExhibitionNO=' + sDataId +'&NewCustomers=' + _strCustomerGuid);
|
|
layer.close(index);
|
|
});
|
|
$('#btnAddNewCaseTG').click(function () {
|
|
parent.openPageTab('OtherExhibitionTG_Upd', '?Action=Add&GoTab=2&ExhibitionNO=' + sDataId +'&NewCustomers=' + _strCustomerGuid);
|
|
layer.close(index);
|
|
});
|
|
$('#btnImportCase').click(function () {
|
|
if ($('#ExhibitionExportGuid').val() == '') {
|
|
showMsg("請選擇案件");
|
|
return false;
|
|
} else {
|
|
if(parent.OrgID == "TE"){
|
|
parent.openPageTab('ExhibitionExport_Upd', '?Action=Upd&GoTab=2&ExportBillNO=' + $('#ExhibitionExportGuid').val()+'&ExhibitionNO=' + sDataId +'&NewCustomers=' + _strCustomerGuid);
|
|
} else if(parent.OrgID == "TG") {
|
|
parent.openPageTab('OtherExhibitionTG_Upd', '?Action=Upd&GoTab=2&Guid=' + $('#ExhibitionExportGuid').val()+'&ExhibitionNO=' + sDataId +'&NewCustomers=' + _strCustomerGuid);
|
|
}
|
|
layer.close(index);
|
|
}
|
|
|
|
});
|
|
},
|
|
end: function () {
|
|
if (bRefresh) {
|
|
bRefresh = false;
|
|
oGrid.loadData();
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 初始化 function
|
|
*/
|
|
init = function () {
|
|
var saCusBtns = null;
|
|
$('#State,#Industry,#ExhibitionDate').prop('required', true);
|
|
$('.ShowNames').hide();
|
|
if (parent.OrgID === 'TG') {
|
|
$('#CostRulesIdTG,#State,#ExhibitionAddress,#ExhibitionDate,#file_hidden').prop('required', true);
|
|
$('#notte').show();
|
|
$('.showwebsiteTG').show();
|
|
$('.showwebsite').show();
|
|
$('.simp-box').hide();
|
|
} else if (parent.OrgID === 'TE'){
|
|
$('#CostRulesIdTE,#SeaReceiveingDate,#SeaClosingDate,#AirReceiveingDate,#AirClosingDate,#Undertaker,#Telephone,#Email,#file_hidden').prop('required', true);
|
|
$('#notte').show();
|
|
$('.showTE').show();
|
|
$('.showwebsiteTE').show();
|
|
$('.showwebsite').show();
|
|
} else {
|
|
$('#notte').hide();
|
|
$('.costrules').hide();
|
|
}
|
|
if (sAction === 'Upd') {
|
|
saCusBtns = [{
|
|
id: 'Toolbar_Transfer',
|
|
value: 'common.Toolbar_Transfer'// ╠common.Toolbar_Transfer⇒拋轉╣
|
|
}];
|
|
}
|
|
|
|
commonInit({
|
|
PrgId: sProgramId,
|
|
ButtonHandler: fnButtonHandler,
|
|
Buttons: saCusBtns,
|
|
GoTop: true//,
|
|
/* tabClick: function (el) {
|
|
switch (el.id) {
|
|
case 'litab4':
|
|
if (!$(el).data('action')) {
|
|
fnGetGridData().done(function () {
|
|
oGrid.loadData();
|
|
if (saGridData.length > 0 && (parent.UserInfo.roles.indexOf('Admin') > -1 || parent.UserInfo.roles.indexOf('Manager') > -1)) {
|
|
$('.export').show();
|
|
$('#Export_CusList').on('click', function () {
|
|
fnGetGridData('export');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
break;
|
|
case 'litab3':
|
|
if (!$(el).data('action')) {
|
|
oGrid1.loadData();
|
|
}
|
|
break;
|
|
}
|
|
$(el).data('action', true);
|
|
} */
|
|
});
|
|
|
|
$.whenArray([
|
|
fnGet(),
|
|
setStateDrop(),
|
|
setExhibitionAddressDrop(),
|
|
setCostRulesDrop(),
|
|
setListSourceDrop(),
|
|
fnSetArgDrop([
|
|
{
|
|
OrgID: 'TE',
|
|
ArgClassID: 'ExhibClass',
|
|
//Select: $('#Industry'),
|
|
ShowId: true,
|
|
CallBack: function (data) {
|
|
sIndustryHtml = createOptions(data, 'id', 'text', true);
|
|
$('#Industry').html(sIndustryHtml);
|
|
$('#Industry2').html(sIndustryHtml);
|
|
//$('#Industry').html(createOptions(data, 'id', 'text'))[0].remove(0);
|
|
}
|
|
},
|
|
{
|
|
OrgID: 'TE',
|
|
ArgClassID: 'BlackListReason',
|
|
CallBack: function (data) {
|
|
sBlackListReasonHtml = createOptions(data, 'id', 'text');
|
|
//$('#BlackListReason').html(createOptions(data, 'id', 'text', true))
|
|
}
|
|
}
|
|
]),
|
|
fnSetUserDrop([
|
|
{
|
|
Select: $('#ResponsiblePerson'),
|
|
ShowId: true,
|
|
Select2: true,
|
|
Action: sAction,
|
|
ServiceCode: parent.SysSet.EXCode,
|
|
CallBack: function (data) {
|
|
var sCode = parent.UserInfo.ServiceCode;
|
|
if (sAction === 'Add' && sCode && parent.SysSet.EXCode.indexOf(sCode) > -1) {
|
|
$('#ResponsiblePerson').val(parent.UserInfo.MemberID);
|
|
|
|
let sCName = $('#ResponsiblePerson option:selected').text().split('-')[1];
|
|
let sEName = $('#ResponsiblePerson option:selected').text().split('-')[0].split('.')[0];
|
|
sEName = sEName[0].toUpperCase() + sEName.slice(1);
|
|
$('#Undertaker').val(sCName + "(" + sEName + ")");
|
|
}
|
|
}
|
|
}
|
|
])
|
|
])
|
|
.done(function (res) {
|
|
if (res && res[0].RESULT === 1) {
|
|
var oRes = res[0].DATA.rel,
|
|
sDateRange = '';
|
|
oCurData = oRes;
|
|
oCurData.LogoFileId = oCurData.LogoFileId || guid();
|
|
setFormVal(oForm, oCurData);
|
|
if (oCurData.ExhibitionDateStart) {
|
|
sDateRange = newDate(oCurData.ExhibitionDateStart, 'date', true) + ' ~ ' + newDate(oCurData.ExhibitionDateEnd, 'date', true);
|
|
}
|
|
if (sTab) {
|
|
$('#litab3 a').click();
|
|
}
|
|
if (oRes.IsShowWebSite === 'N') {
|
|
if (parent.OrgID === 'TG') {
|
|
$('.showwebsiteTG').slideUp();
|
|
} else{
|
|
$('.showwebsiteTE').slideUp();
|
|
}
|
|
$('.showwebsite').slideUp();
|
|
}
|
|
if (oRes.IsShowWebSiteAppoint === 'N' && parent.OrgID != 'TG') {
|
|
$('.showwebsiteAppointTE').slideUp();
|
|
}
|
|
$('#State').val(oRes.State).trigger('change');
|
|
$('#ExhibitionDate').val(sDateRange);
|
|
$('#ExhibitionAddress_CN').text(oCurData.ExhibitionAddress_CN);
|
|
$('#ExhibitionAddress_EN').text(oCurData.ExhibitionAddress_EN);
|
|
|
|
if (oCurData.SeaReceiveingDate) {
|
|
if(oCurData.SeaReceiveingDate == '1900-01-01T00:00:00'){
|
|
$('#SeaReceiveingDate').val("");
|
|
} else {
|
|
$('#SeaReceiveingDate').val(newDate(oCurData.SeaReceiveingDate, 'date', true));
|
|
}
|
|
}
|
|
if (oCurData.SeaClosingDate) {
|
|
if(oCurData.SeaClosingDate == '1900-01-01T00:00:00'){
|
|
$('#SeaClosingDate').val("");
|
|
} else {
|
|
$('#SeaClosingDate').val(newDate(oCurData.SeaClosingDate, 'date', true));
|
|
}
|
|
}
|
|
if (oCurData.AirReceiveingDate) {
|
|
if(oCurData.AirReceiveingDate == '1900-01-01T00:00:00'){
|
|
$('#AirReceiveingDate').val("");
|
|
} else {
|
|
$('#AirReceiveingDate').val(newDate(oCurData.AirReceiveingDate, 'date', true));
|
|
}
|
|
}
|
|
if (oCurData.AirClosingDate) {
|
|
if(oCurData.AirClosingDate == '1900-01-01T00:00:00'){
|
|
$('#AirClosingDate').val("");
|
|
} else {
|
|
$('#AirClosingDate').val(newDate(oCurData.AirClosingDate, 'date', true));
|
|
}
|
|
}
|
|
|
|
setNameById().done(function () {
|
|
getPageVal();//緩存頁面值,用於清除
|
|
});
|
|
fnGetUploadFiles(oCurData.LogoFileId, fnUpload);
|
|
}
|
|
select2Init();
|
|
$('[name=IsShowWebSite]').click(function () {
|
|
if (this.value === 'N') {
|
|
if (parent.OrgID === 'TG') {
|
|
$('#ExhibitionDate,#CostRulesIdTG,#ExhibitionAddress,#file_hidden').removeAttr('required');
|
|
$('.showwebsiteTG').slideUp();
|
|
} else{
|
|
$('#SeaReceiveingDate,#SeaClosingDate,#AirReceiveingDate,#AirClosingDate,#Undertaker,#Telephone,#Email,#file_hidden').removeAttr('required');
|
|
$('.showwebsiteTE').slideUp();
|
|
}
|
|
$('.showwebsite').slideUp();
|
|
}
|
|
else {
|
|
if (parent.OrgID === 'TG') {
|
|
$('#ExhibitionDate,#CostRulesIdTG,#ExhibitionAddress,#file_hidden').attr('required', true);
|
|
$('.showwebsiteTG').slideDown();
|
|
} else{
|
|
$('#SeaReceiveingDate,#SeaClosingDate,#AirReceiveingDate,#AirClosingDate,#Undertaker,#Telephone,#Email,#file_hidden').attr('required', true);
|
|
$('.showwebsiteTE').slideDown();
|
|
}
|
|
$('.showwebsite').slideDown();
|
|
}
|
|
});
|
|
$('[name=IsShowWebSiteAppoint]').click(function () {
|
|
if (this.value === 'N') {
|
|
$('#CostRulesIdTE').removeAttr('required');
|
|
$('.showwebsiteAppointTE').slideUp();
|
|
}
|
|
else {
|
|
$('#CostRulesIdTE').attr('required', true);
|
|
$('.showwebsiteAppointTE').slideDown();
|
|
}
|
|
});
|
|
|
|
//是否顯示於網站,值為'N'收起選項與移除required
|
|
if (oCurData.IsShowWebSite === 'N') {
|
|
$('#sub_box1').slideUp();
|
|
$('[name=IsShowWebSite][value="N"]').click();
|
|
}
|
|
|
|
if (oCurData.IsShowWebSiteAppoint === 'N') {
|
|
$('[name=IsShowWebSiteAppoint][value="N"]').click();
|
|
}
|
|
});
|
|
|
|
oValidator = $("#form_main").validate({
|
|
ignore: ''
|
|
});
|
|
|
|
$('#ExhibitionDate').dateRangePicker(
|
|
{
|
|
language: 'zh-TW',
|
|
separator: ' ~ ',
|
|
format: 'YYYY/MM/DD',
|
|
autoClose: true
|
|
}).bind('datepicker-change', function (e, r) {
|
|
try {
|
|
$('#ExhibitionDateStart2').val(newDate(r.date1, 'date'));
|
|
$('#ExhibitionDateEnd2').val(newDate(r.date2, 'date'));
|
|
|
|
var dShelfTime_Home = r.date2.dateAdd('d', -15),
|
|
dShelfTime_Abroad = new Date(newDate(r.date2, 'date')).dateAdd('d', -15);
|
|
$('#ShelfTime_Home').val(newDate(dShelfTime_Home, 'date'));
|
|
$('#ShelfTime_Abroad').val(newDate(dShelfTime_Abroad, 'date'));
|
|
//alert(newDate(r.date2, 'date'));
|
|
|
|
//$('#ExhibitionDateEnd2').val(r.date2);
|
|
|
|
} catch (e) { }
|
|
});
|
|
|
|
$('#Exhibitioname_TW').on('blur', function () {
|
|
$('#Exhibitioname_CN').val(simplized(this.value));
|
|
});
|
|
$('#Exhibitioname_CN').on('blur', function () {
|
|
$('#Exhibitioname_TW').val(traditionalized(this.value));
|
|
});
|
|
$('#ExhibitioShotName_TW').on('change', function () {
|
|
$('#ExhibitioShotName_TW2').val($('#ExhibitioShotName_TW').val());
|
|
});
|
|
$('#ResponsiblePerson').on('change', function () {
|
|
$('#ResponsiblePerson2').val($('#ResponsiblePerson').val());
|
|
let sCName = this.options[this.selectedIndex].text.split('-')[1];
|
|
let sEName = this.options[this.selectedIndex].text.split('-')[0].split('.')[0];
|
|
sEName = sEName[0].toUpperCase() + sEName.slice(1);
|
|
$('#Undertaker').val(sCName + "(" + sEName + ")");
|
|
});
|
|
$('#Industry').on('change', function () {
|
|
$('#Industry2').val($('#Industry').val());
|
|
});
|
|
$('#State').on('change', function () {
|
|
$('#State2').val($('#State').val());
|
|
});
|
|
//$("#Industry2").val(oRes.Industry);
|
|
//$("#State2").val(oRes.State);
|
|
|
|
var iHeight = $('body').height() - $('.page-title').height() - $('#searchbar').height() - 150;
|
|
$("#jsGrid").jsGrid({
|
|
width: "100%",
|
|
height: "auto",
|
|
autoload: true,
|
|
filtering: false,
|
|
pageLoading: true,
|
|
inserting: false,
|
|
editing: false,
|
|
sorting: true,
|
|
paging: false,
|
|
pageIndex: 1,
|
|
pageSize: parent.SysSet.GridRecords || 10,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
if (navigator.userAgent.match(/mobile/i)) {
|
|
goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
}
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
parent.openPageTab('Callout_Upd', '?Action=Upd&SN=' + sDataId + '&guid=' + args.item.guid);
|
|
},
|
|
fields: [
|
|
{
|
|
width: 30, sorting: false, align: "center",
|
|
headerTemplate: function () {
|
|
return [$("<input>", {
|
|
id: 'SelectAll',
|
|
type: 'checkbox', click: function () {
|
|
if (this.checked) {
|
|
$("#jsGrid").find('[type=checkbox]').each(function () {
|
|
this.checked = true;
|
|
});
|
|
saCustomerList = clone(saGridData);
|
|
}
|
|
else {
|
|
$("#jsGrid").find('[type=checkbox]').each(function () {
|
|
this.checked = false;
|
|
});
|
|
saCustomerList = [];
|
|
}
|
|
}
|
|
})];//╠common.SelectAll⇒全選╣
|
|
},
|
|
itemTemplate: function (value, item) {
|
|
return $("<input>", {
|
|
type: 'checkbox', click: function (e) {
|
|
e.stopPropagation();
|
|
if (this.checked) {
|
|
saCustomerList.push(item);
|
|
}
|
|
else {
|
|
var saNewList = [];
|
|
$.each(saCustomerList, function (idx, data) {
|
|
if (item.guid !== data.guid) {
|
|
saNewList.push(data);
|
|
}
|
|
});
|
|
saCustomerList = saNewList;
|
|
$('#jsGrid').find('#SelectAll')[0].checked = false;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
{
|
|
name: "TransportRequire", title: '運輸需求', width: 60, align: "center", itemTemplate: function (val, item) {
|
|
if(val == "有需求"){
|
|
return $('<span />', { text: val }).css('color', 'green');
|
|
} else if(val == "無需求"){
|
|
return $('<span />', { text: val }).css('color', 'red');
|
|
} else {
|
|
return val;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "TransportationMode", title: '運輸方式', width: 50, align: "center"
|
|
},
|
|
{
|
|
name: "VolumeForecasting", title: '貨量', width: 50, align: "center"
|
|
},
|
|
{
|
|
name: "NumberOfBooths", title: '攤位數', width: 50, align: "center"
|
|
},
|
|
{
|
|
name: "CustomerCName", title: 'Customers_Upd.CustomerCName', width: 150,
|
|
},
|
|
{
|
|
name: "CustomerEName", title: 'Customers_Upd.CustomerEName', width: 200,
|
|
},
|
|
{
|
|
name: "ContactorName", title: 'common.Contactor', width: 100, align: "center"
|
|
},
|
|
|
|
{
|
|
name: "ListSourceName", title: '名單來源', width: 100, align: "center", itemTemplate: function (val, item) {
|
|
if(item.ListSource == "SelfCome"){
|
|
return "自來";
|
|
} else if(item.ListSource == "ImportFromDB"){
|
|
return "資料庫匯入";
|
|
} else {
|
|
return val;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "ModifyDate", title: 'common.ModifyDate', type: "text", align: "center", width: 100, itemTemplate: function (val, item) {
|
|
return newDate(val);
|
|
}
|
|
},
|
|
{
|
|
name: "Memo", title: 'common.Memo', width: 190, align: "left"
|
|
},
|
|
{
|
|
name: "IsDeal", title: '是否<br>成交', width: 45, align: "Center",
|
|
itemTemplate: function (val, item) {
|
|
return $('<div>', { 'style': 'width:100%;text-align: center;' }).append(val === 'Y' ? $('<span />', { text: "已成交" }).css('color', 'blue') : "未成交");
|
|
}
|
|
},
|
|
{
|
|
name: "IsImporter", title: '是否為<br>進口商', width: 45, align: "Center",
|
|
itemTemplate: function (val, item) {
|
|
return $('<div>', { 'style': 'width:100%;text-align: center;' }).append(val === 'Y' ? $('<span />', { text: "是" }).css('color', 'red') : "否");
|
|
}
|
|
},
|
|
{// ╠common.IsFormal⇒資料狀態╣
|
|
name: "IsFormal",
|
|
title: 'common.IsFormal',
|
|
width: 90,
|
|
align: 'center',
|
|
itemTemplate: function (val, item) {
|
|
var saAction = [];
|
|
if (item.IsFormal == "N") {
|
|
saAction.push($('<a/>', {
|
|
html: i18next.t('common.TransferToFormal'),// ╠common.TransferToFormal⇒轉為正式客戶╣
|
|
class: 'link',
|
|
click: function () {
|
|
fnTransferToFormal(item);
|
|
return false;
|
|
}
|
|
}));
|
|
saAction.push('<br>', $('<a/>', {
|
|
html: i18next.t('common.CorrespondFormalCus'),// ╠common.CorrespondFormalCus⇒對應到正式客戶╣
|
|
class: 'link',
|
|
style: 'color:green !important',
|
|
click: function () {
|
|
fnCorrespondFormalCus(item);
|
|
}
|
|
}));
|
|
}
|
|
else {
|
|
saAction.push($('<span />', { text: i18next.t('common.HasFormal') }).css('color', 'green'));
|
|
}
|
|
return $('<div>', { 'style': 'width:100%;text-align: center;' }).append(saAction);
|
|
}
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnGetGridData(args);
|
|
},
|
|
insertItem: function (args) {
|
|
},
|
|
updateItem: function (args) {
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
},
|
|
onInit: function (args) {
|
|
oGrid = args.grid;
|
|
}
|
|
});
|
|
$("#jsGrid1").jsGrid({
|
|
width: "100%",
|
|
height: iHeight,
|
|
autoload: false,
|
|
filtering: true,
|
|
pageLoading: true,
|
|
inserting: true,
|
|
editing: true,
|
|
sorting: true,
|
|
paging: true,
|
|
pageIndex: 1,
|
|
pageSize: parent.SysSet.GridRecords || 10,
|
|
pageButtonCount: parent.SysSet.GridPages || 15,
|
|
confirmDeleting: true,
|
|
deleteConfirm: i18next.t('message.ConfirmToDelete'),// ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣
|
|
pagePrevText: "<",
|
|
pageNextText: ">",
|
|
pageFirstText: "<<",
|
|
pageLastText: ">>",
|
|
rowClick: function (args) {
|
|
//if (navigator.userAgent.match(/mobile/i)) {
|
|
// goToEdit('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
//}
|
|
},
|
|
rowDoubleClick: function (args) {
|
|
//parent.openPageTab('Customers_Upd', '?Action=Upd&guid=' + args.item.guid);
|
|
},
|
|
fields: [
|
|
{
|
|
name: "RowIndex", title: 'common.RowNumber', width: 50, align: "center"
|
|
},
|
|
{// ╠Exhibition_Upd.ExhibitionArea⇒展區╣
|
|
name: "ExhibitionArea", title: 'Exhibition_Upd.ExhibitionArea', type: 'text', width: 100
|
|
},
|
|
{
|
|
name: "MuseumMumber", title: 'ExhibitionImport_Upd.HallMuseumMumber', type: 'text', width: 80
|
|
},
|
|
{
|
|
name: "CustomerCName", title: 'Customers_Upd.CustomerCName', type: 'text', width: 140,
|
|
validate: [
|
|
{
|
|
validator: 'required',
|
|
message: i18next.t('Customers_Upd.CustomerCName_required')// ╠Customers_Upd.CustomerCName_required⇒請輸入公司中文名稱╣
|
|
},
|
|
{
|
|
validator: function (value, item) {
|
|
var bRetn = true;
|
|
CallAjax(ComFn.W_Com, ComFn.GetCount, {
|
|
Params: {
|
|
importcustomers: {
|
|
CustomerCName: value,
|
|
OrgID: parent.top.OrgID,
|
|
ExhibitionNO: sDataId,
|
|
guid: '<>' + item.guid
|
|
}
|
|
}
|
|
}, function (rq) {
|
|
if (rq.d > 0) {
|
|
bRetn = false;
|
|
}
|
|
}, null, true, false);
|
|
return bRetn;
|
|
},
|
|
message: i18next.t("message.CustomerCNameExist") // ╠message.CustomerCNameExist⇒該廠商名稱已存在╣
|
|
}]
|
|
},
|
|
{
|
|
name: "CustomerEName", title: 'Customers_Upd.CustomerEName', type: 'text', width: 140
|
|
},
|
|
{
|
|
name: "UniCode", title: 'Customers_Upd.UniCode', type: 'text', width: 100,
|
|
validate: [
|
|
{
|
|
validator: function (_val) {
|
|
return _val === '' ? true : _val.length === 8;
|
|
},
|
|
message: i18next.t('message.UniCodeLength')
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: "Contactor", title: 'common.Contactor', type: 'text', width: 120,
|
|
validate: { validator: 'required', message: i18next.t('common.Contactor_required') }// ╠common.Contactor_required⇒請輸入聯絡人╣
|
|
},
|
|
{
|
|
name: "Telephone", title: 'common.Telephone', type: 'text', width: 100, align: "center",
|
|
validate: { validator: 'required', message: i18next.t('common.Telephone_required') }// ╠common.Telephone_required⇒請輸入聯絡電話╣
|
|
},
|
|
{
|
|
name: "Email", title: 'common.Email', type: 'text', width: 130,
|
|
validate: {
|
|
validator: function (_val) {
|
|
return _val === '' ? true : isEmail(_val);
|
|
},
|
|
message: i18next.t('message.IncorrectEmail'),// ╠message.IncorrectEmail⇒郵箱格式不正確╣
|
|
}
|
|
},
|
|
{
|
|
name: "Address", title: 'common.Address', type: 'text', width: 100
|
|
},
|
|
{
|
|
name: "Memo", title: 'common.Memo', type: 'text', width: 100
|
|
},
|
|
{// ╠common.IsAppoint⇒預約狀態╣
|
|
name: "IsAppoint", title: 'common.IsAppoint', width: 60, align: "center",
|
|
itemTemplate: function (val, item) {
|
|
return val === 'Y' ? $('<span />', { text: i18next.t('common.HasAppoint') }).css('color', 'green') : $('<span />', { text: i18next.t('common.NotAppoint') }).css('color', 'red');// ╠common.HasAppoint⇒已預約╣ ╠common.NotAppoint⇒未預約╣
|
|
}
|
|
},
|
|
{// ╠common.IsFormal⇒資料狀態╣
|
|
name: "guid",
|
|
title: 'common.IsFormal',
|
|
width: 140,
|
|
align: 'center',
|
|
itemTemplate: function (val, item) {
|
|
var saAction = [];
|
|
if (!item.IsFormal) {
|
|
saAction.push($('<a/>', {
|
|
html: i18next.t('common.TransferToFormal'),// ╠common.TransferToFormal⇒轉為正式客戶╣
|
|
class: 'link',
|
|
click: function () {
|
|
fnTransferToFormal(item);
|
|
return false;
|
|
}
|
|
}));
|
|
if (parent.UserInfo.roles.indexOf('Admin') > -1) {
|
|
saAction.push(' ', $('<a/>', {
|
|
html: i18next.t('common.CorrespondFormalCus'),// ╠common.CorrespondFormalCus⇒對應到正式客戶╣
|
|
class: 'link',
|
|
style: 'color:green !important',
|
|
click: function () {
|
|
fnCorrespondFormalCus(item);
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
else {
|
|
saAction.push($('<span />', { text: i18next.t('common.HasFormal') }).css('color', 'green'));
|
|
}
|
|
return $('<div>', { 'style': 'width:100%;text-align: center;' }).append(saAction);
|
|
}
|
|
},
|
|
{
|
|
type: "control",
|
|
width: 100,
|
|
headerTemplate: function () {
|
|
var saBtn = [];
|
|
if (sAction === 'Upd') {
|
|
saBtn.push($('<button />', {
|
|
type: 'button', 'class': 'btn-custom blue', title: i18next.t('common.Toolbar_Imp'), html: '<i class="glyphicon glyphicon-import"></i>', click: function () {
|
|
fnImportCusList();
|
|
}
|
|
}));
|
|
saBtn.push($('<button />', {
|
|
type: 'button', 'class': 'btn-custom blue', title: i18next.t('common.Toolbar_Exp'), html: '<i class="glyphicon glyphicon-export"></i>', click: function () {
|
|
fnExportCusList();
|
|
}
|
|
}));
|
|
}
|
|
return saBtn;
|
|
},
|
|
deleteButton: false
|
|
}
|
|
],
|
|
controller: {
|
|
loadData: function (args) {
|
|
return fnGetGridData1(args);
|
|
},
|
|
insertItem: function (args) {
|
|
fnAddCustomers(args);
|
|
},
|
|
updateItem: function (args) {
|
|
fnUpdCustomers(args);
|
|
},
|
|
deleteItem: function (args) {
|
|
}
|
|
},
|
|
onInit: function (args) {
|
|
oGrid1 = args.grid;
|
|
}
|
|
});
|
|
};
|
|
|
|
init();
|
|
},
|
|
/**
|
|
* 客戶轉為正式資料后動作
|
|
* @param {String}afterid 客戶id
|
|
*/
|
|
fnReFresh = function (afterid) {
|
|
bRefresh = true;
|
|
$('iframe').attr('src', '../Crm/Customers_Upd.html?Action=Upd&Flag=Fit&guid=' + afterid);
|
|
};
|
|
|
|
require(['base', 'select2', 'jsgrid', 'daterangepicker', 'convetlng', 'filer', 'ajaxfile', 'util'], fnPageInit, 'daterangepicker');
|