'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);