'use strict';
var sProgramId = getProgramId(),
sQueryPrgId = getQueryPrgId(),
sAction = getUrlParam('Action') || 'Add',
sDataId = getUrlParam('SN'),
sCheckId = sDataId,
bRefresh = false,
fnPageInit = function () {
var oGrid = null,
oForm = $('#form_main'),
oValidator = null,
oCurData = {},
sCustomersOptionsHtml = '',
saGridData = [],
saHalls = [],
saCustomers = [],
oBaseQueryPm = {
pageIndex: 1,
pageSize: parent.top.SysSet.GridRecords || 10,
sortField: 'SN',
sortOrder: 'asc'
},
/**
* 獲取資料
* @return {Object} Ajax 物件
*/
fnGet = function () {
if (sDataId) {
$(".editbox").show();
return g_api.ConnectLite(sQueryPrgId, "QueryOne",
{
SN: sDataId
}, function (res) {
if (res.RESULT) {
var oRes = res.DATA.rel;
oCurData = oRes;
$("#CaseName").val(oRes.CaseName);
$("#ExhibitionNO").val(oRes.ExhibitionNO);
$("#ExhibitionNO").change();
}
});
} else {
oCurData.LogoFileId = guid();
$(".editbox").hide();
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;
g_api.ConnectLite("SatisfactionCase_Upd", "Add",
data
, function (res) {
if (res.RESULT) {
//data.ExhibitionCode = res.DATA.rel;
showMsgAndGo(i18next.t("message.Save_Success"), sProgramId, '?Action=Upd&SN=' + res.DATA.rel); // ╠message.Save_Success⇒新增成功╣
/*
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') + '
' + 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() : ""
}, 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');
/* CallAjax(ComFn.W_Com, ComFn.GetUpd, {
Params: {
contactors: {
values: data,
keys: { SN: sDataId }
}
} */
g_api.ConnectLite(sProgramId, 'UpdateCase', {
SN: sDataId,
CaseName: $('#CaseName').val() ? $('#CaseName').val(): "",
ExhibitionNO: $('#ExhibitionNO').val() ? $('#ExhibitionNO').val() : ""
}, function (res) {
if (res.RESULT) {
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 () {
return g_api.ConnectLite(sProgramId, 'Delete', {
SN: sDataId
}, function (res) {
if (res.RESULT > 0) {
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⇒刪除失敗╣
});
},
/**
* 抓取滿意度列表資料
* @param {String} flag 是否匯出
* @return {Object} ajax物件
*/
fnGetGridData = function (flag) {
if (sDataId) {
return g_api.ConnectLite(sProgramId, 'GetSatisfactionList', {
SN: sDataId,
Flag: flag,
pageIndex:oBaseQueryPm.pageIndex,
pageSize: oBaseQueryPm.pageSize,
sortField: 'SN',
sortOrder: 'asc'
}, function (res) {
if (res.RESULT) {
if (flag === 'export') {
DownLoadFile(res.DATA.rel, oCurData.Exhibitioname_TW);
}
else {
saGridData = res.DATA.rel;
}
}
});
}
else {
return $.Deferred().resolve().promise();
}
},
/**
* 重新比對
*/
fnCompareDB = function (){
if (sDataId) {
return g_api.ConnectLite(sProgramId, 'CompareDB', {
SN: sDataId,
pageIndex:oBaseQueryPm.pageIndex,
pageSize: oBaseQueryPm.pageSize,
sortField: 'SN',
sortOrder: 'asc'
}, function (res) {
if (res.RESULT) {
saGridData = res.DATA.rel;
}
});
} else {
return $.Deferred().resolve().promise();
}
},
/**
* 刪除滿意度案件客戶資料
*/
fnDelSatisfactionCustomer = function (_args){
if (_args.SN) {
return g_api.ConnectLite(sProgramId, 'DeleteSatisfactionCustomer', {
SN: _args.SN,
}, function (res) {
if (res.RESULT > 0) {
showMsg(i18next.t("message.Delete_Success"), 'success'); // ╠message.Delete_Success⇒刪除成功╣
}
else {
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
}
});
} else {
return $.Deferred().resolve().promise();
}
},
fnImportFile = function () {
$('#importfile').val('').off('change').on('change', function () {
if (this.value.indexOf('.csv') > -1 || this.value.indexOf('.CSV') > -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, 'ImportFile', {
FileId: sFileId,
FileName: sFileName,
SN: sDataId
}, function (res) {
if (res.RESULT) {
fnCompareDB();
oGrid.loadData();
}
else {
showMsg(i18next.t('message.ProgressError') + '
' + 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();
},
fnGetSatisfactionCaseData = function (_SN) {
return g_api.ConnectLite(sProgramId, 'GetSatisfactionCaseData', {
SN: _SN,
}, function (res) {
var oRes = res.DATA.rel;
layer.open({
type: 1, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
title: "滿意度問卷", // ╠common.CorrespondImpCus⇒對應正式客戶╣
area: ['40%', '90%'],//寬度
shade: 0.75,//遮罩
closeBtn: 1,
//maxmin: true, //开启最大化最小化按钮
id: 'layer_SatisfactionCaseData', //设定一个id,防止重复弹出
offset: '10px',//右下角弹出
anim: 0,//彈出動畫
btn: ['儲存', i18next.t('common.Cancel')],//╠common.Confirm⇒確定╣╠common.Cancel⇒取消╣
btnAlign: 'c',//按鈕位置
content: '
奕達提供整體服務品質的滿意度: | \' + oRes.Feild01 + ' | \
奕達提供的價格是否合理: | \' + oRes.Feild02 + ' | \
展品送達時間是否滿意: | \' + oRes.Feild03 + ' | \
現場人員的專業技能與服務態度是否滿意: | \' + oRes.Feild04 + ' | \
承辦同仁的配合度及服務態度是否滿意: | \' + oRes.Feild05 + ' | \
「貨況線上查詢系統」是否滿意: | \' + oRes.Feild06 + ' | \
為何選擇奕達: | \' + oRes.Feild07 + ' | \
貴公司年度平均參與海外展會活動次數: | \' + oRes.Feild08 + ' | \
您是否會推薦奕達給合作夥伴: | \' + oRes.Feild09 + ' | \
其他建議: | \' + oRes.Feild10 + ' | \