'use strict';
var sProgramId = getProgramId(),
sQueryPrgId = getQueryPrgId(),
sAction = getUrlParam('Action') || 'Add',
sDataId = getUrlParam('SN'),
sCheckId = sDataId,
fnPageInit = function () {
var oCurData = {},
oForm = $('#form_main'),
oValidator = null,
oEditor = null,
/**
* 獲取資料
* @return {Object} ajax 對象
*/
fnGet = function () {
if (sDataId) {
return CallAjax(ComFn.W_Com, ComFn.GetOne, {
Type: '',
Params: {
news: {
SN: sDataId
}
}
}, function (res) {
if (res.d) {
var oRes = $.parseJSON(res.d);
oCurData = oRes;
if (!oCurData.News_Pic) {
oCurData.News_Pic = guid();
}
if (!oCurData.PicShowId) {
oCurData.PicShowId = guid();
}
//判斷非TG時是否需要生成展會花絮
if (oCurData.News_Type == "02" && parent.OrgID != "TG") {
$('.picshowid').show();
}
oEditor.ready(function () {
oEditor.setContent(oRes.News_Content);
});
setFormVal(oForm, oRes);
fnSetOrderByValueDrop(oRes.News_LanguageType).done(function () {
$('#OrderByValue').val(oRes.OrderByValue);
});
fnGetUploadFiles(oCurData.News_Pic, fnUpload, $('#fileInput'));
fnGetUploadFiles(oCurData.PicShowId, fnUpload, $('#fileInput_show'));
setNameById().done(function () {
getPageVal(); //緩存頁面值,用於清除
});
}
});
}
else {
oCurData.News_Pic = guid();
oCurData.PicShowId = guid();
fnUpload(null, oCurData.News_Pic, $('#fileInput'));
fnUpload(null, oCurData.PicShowId, $('#fileInput_show'));
return fnSetOrderByValueDrop();
}
},
/**
* 新增資料
* @param {String} sFlag 儲存 or 儲存后新增
* @return {Object} ajax 對象
*/
fnAdd = function (sFlag) {
var data = getFormSerialize(oForm);
data.OrgID = parent.OrgID;
data.News_Pic = oCurData.News_Pic;
data.PicShowId = oCurData.PicShowId;
data.News_Content = oEditor.getContent();
data.NewsContent = oEditor.getContentTxt();
return g_api.ConnectLite(sProgramId, ComFn.GetAdd, data, function (res) {
if (res.RESULT) {
bRequestStorage = false;
if (sFlag === 'add') {
showMsgAndGo(i18next.t("message.Save_Success"), sQueryPrgId); // ╠message.Save_Success⇒新增成功╣
}
else {
showMsgAndGo(i18next.t("message.Save_Success"), sProgramId, '?Action=Add'); // ╠message.Save_Success⇒新增成功╣
}
}
else {
showMsg(i18next.t("message.Save_Failed") + '
' + res.MSG, 'error');// ╠message.Save_Failed⇒新增失敗╣
}
}, function () {
showMsg(i18next.t("message.Save_Failed"), 'error');// ╠message.Save_Failed⇒新增失敗╣
});
},
/**
* 修改資料
* @return {Object} ajax 對象
*/
fnUpd = function () {
var data = getFormSerialize(oForm);
data.News_Content = oEditor.getContent();
data.NewsContent = oEditor.getContentTxt();
data.SN = sDataId;
data.OrgID = parent.OrgID;
data.News_Pic = oCurData.News_Pic;
data.PicShowId = oCurData.PicShowId;
return g_api.ConnectLite(sProgramId, ComFn.GetUpd, data, function (res) {
if (res.RESULT) {
bRequestStorage = false;
showMsgAndGo(i18next.t("message.Modify_Success"), sQueryPrgId); //╠message.Modify_Success⇒修改成功╣
}
else {
showMsg(i18next.t("message.Modify_Failed") + '
' + res.MSG, 'error');// ╠message.Modify_Failed⇒修改失敗╣
}
}, function () {
showMsg(i18next.t("message.Modify_Failed"), 'error');//╠message.Modify_Failed⇒修改失敗╣
});
},
/**
* 資料刪除
* @return {Object} ajax 對象
*/
fnDel = function () {
return g_api.ConnectLite(sProgramId, ComFn.GetDel, { Id: sDataId }, function (res) {
if (res.RESULT) {
showMsgAndGo(i18next.t("message.Delete_Success"), sQueryPrgId); // ╠message.Delete_Success⇒刪除成功╣
}
else {
showMsg(i18next.t("message.Delete_Failed") + '
' + res.MSG, 'error');// ╠message.Delete_Failed⇒刪除失敗╣
}
}, function () {
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
});
},
/**
* 設定排序下拉選單
* @param {String} parentid 父層id
* @return {Object} ajax 對象
*/
fnSetOrderByValueDrop = function (parentid) {
var oParams = {
news: {
News_Show: 'Y',
OrgID: parent.OrgID
}
};
if (parentid) {
oParams.news.News_LanguageType = parentid;
}
return CallAjax(ComFn.W_Com, ComFn.GetCount, {
Params: oParams
}, function (res) {
var iCount = res.d;
if (sAction === 'Add') {
iCount++;
}
$('#OrderByValue').html(createOptions(iCount));
if (sAction === 'Add') {
$('#OrderByValue').val(1);
}
});
},
/**
* 上傳附件
* @param {Array} files 上傳的文件
* @param {String} parentid 父層id
* @param {String} finput file input id
*/
fnUpload = function (files, parentid, finput) {
var option = {},
sFilesType = finput.attr('data-file');
option.input = finput;
option.limit = 1;
option.extensions = ['jpg', 'jpeg', 'png', 'bmp', 'gif', 'png'];
option.folder = 'News';
option.type = 'one';
option.maxSize = 1;
option.theme = 'dragdropbox' + parentid;
option.parentid = parentid;
if (files) {
option.files = files;
}
if (sFilesType === 'show') {
option.limit = 99;
delete option.type;
}
fnUploadRegister(option);
},
/**
* ToolBar 按鈕事件 function
* @param {Object}inst 按鈕物件對象
* @param {Object} e 事件對象
* @return {Boolean} 是否停止
*/
fnButtonHandler = function (inst, e) {
var sId = inst.id;
switch (sId) {
case "Toolbar_Qry":
break;
case "Toolbar_Save":
if (!$("#form_main").valid()) {
oValidator.focusInvalid();
return false;
}
if (sAction === 'Add') {
fnAdd('add');
}
else {
fnUpd();
}
break;
case "Toolbar_ReAdd":
if (!$("#form_main").valid()) {
oValidator.focusInvalid();
return false;
}
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(i18next.t("message.ConfirmToDelete"), { icon: 3, title: i18next.t('common.Tips') }, function (index) {
fnDel();
layer.close(index);
});
break;
default:
alert("No handle '" + sId + "'");
break;
}
},
/**
* 初始化 function
*/
init = function () {
commonInit({
PrgId: sProgramId,
ButtonHandler: fnButtonHandler,
GoTop: true
});
if (parent.OrgID === 'SG') {
$('.picshowid').show();
};
$.validator.addMethod("compardate", function (value, element, parms) {
if (new Date(value) < new Date($('#News_StartDete').val())) {
return false;
}
return true;
});
oValidator = $("#form_main").validate();
oEditor = UE.getEditor('News_Content');
$('#News_LanguageType').change(function () {
fnSetOrderByValueDrop(this.value);
});
//TE新增新類別展會花絮顯示條件 2019/04/15 Yang
$('#News_Type').change(function () {
if (parent.OrgID === 'TE') {
$(this).val() == '02' ? $('.picshowid').show(): $('.picshowid').hide() ;
}
})
fnSetArgDrop([
{
ArgClassID: 'LanCountry',
Select: $('#News_LanguageType'),
ShowId: true
},
{
ArgClassID: 'News_Class',
Select: $('#News_Type'),
ShowId: true
}
])
.done(function () {
fnGet();
});
};
init();
};
require(['base', 'jsgrid', 'filer', 'util'], fnPageInit);