|
|
'use strict'; var fnPageInit = function () { var canDo = new CanDo({ /** * 當前程式所有ID名稱集合 */ idKeys: ['OrgID', 'MemberID'], /** * 當前程式所有參數名稱集合 */ paramKeys: ['MemberID'], /** * 客製化驗證規則 * @param {Object} pargs CanDo 對象 */ validRulesCus: function (pargs) { $.validator.addMethod("compardate", function (value, element, parms) { if (new Date(value) < new Date($('#ArriveDate').val())) { return false; } return true; }); $.validator.addMethod("emailequ", function (value) { var bRetn = true; if ($.trim(value)) { g_api.ConnectLite(pargs.ProgramId, pargs._api.getcout, { _MemberID: pargs.data.MemberID, Email: value }, function (res) { if (res.RESULT && res.DATA.rel > 0) { bRetn = false; } }, null, false); } return bRetn; }); $.validator.addMethod("outlookequ", function (value) { var bRetn = true; if ($.trim(value)) { g_api.ConnectLite(pargs.ProgramId, pargs._api.getcout, { _MemberID: pargs.data.MemberID, OutlookAccount: value }, function (res) { if (res.RESULT && res.DATA.rel > 0) { bRetn = false; } }, null, false); } return bRetn; }); $.validator.addMethod("memberidrule", function (value) { var bRetn = true; if (value) { g_api.ConnectLite(pargs.ProgramId, pargs._api.getcout, { MemberID: value }, function (res) { if (res.RESULT && res.DATA.rel > 0) { bRetn = false; } }, null, false); } return bRetn; }); }, /** * 驗證規則 */ validRules: function (pargs) { return { onfocusout: false, rules: { Email: { required: true, email: true, emailequ: '' }, OutlookAccount: { outlookequ: '' }, EmergencyEMail: { email: true }, MemberID: { memberidrule: pargs.action === 'add' ? true : false } }, messages: { Email: { required: i18next.t("common.Email_required"),// ╠message.Email_required⇒請輸入組織郵箱╣
email: i18next.t("message.IncorrectEmail"),// ╠message.IncorrectEmail⇒郵箱格式不正確╣
emailequ: i18next.t("message.EmailIsExist")// ╠message.EmailIsExist⇒郵箱已存在╣
}, OutlookAccount: { outlookequ: i18next.t("message.OutlookAccountExist")// ╠message.OutlookAccountExist⇒Outlook帳號已存在╣
}, EmergencyEMail: { email: i18next.t("message.IncorrectEmail")// ╠message.IncorrectEmail⇒郵箱格式不正確╣
}, MemberID: { memberidrule: i18next.t("message.Data_Repeat") }// ╠message.Data_Repeat⇒此筆資料已建檔╣
} }; }, /** * 處理新增資料參數 * @param {Object} pargs CanDo 對象 * @param {Object} data 當前表單資料 */ getInsertParams: function (pargs, data) { data.NetworkLogin = data.NetworkLogin || false; data.IsAttendance = data.IsAttendance || false; data.Password = $.trim(parent.SysSet['DefaultPassword'] || '123456'); data.MemberPic = pargs.data.MemberPic; data.roles = $('#Roles').val(); if (!data.BirthDate) delete data.BirthDate; if (!data.ArriveDate) delete data.ArriveDate; if (!data.LeaveDate) delete data.LeaveDate; return data; }, /** * 處理修改資料參數 * @param {Object} pargs CanDo 對象 * @param {Object} data 當前表單資料 */ getUpdateParams: function (pargs, data) { data = pargs.options.getInsertParams(pargs, data); delete data.Password; return data; }, /** * 新增資料 * @param {Object} pargs CanDo 對象 * @param {Object} data 當前新增的資料 * @param {String} flag 新增 or 儲存后新增 */ //getInsertBack: function (pargs, data, flag) {
// var fnCallBack = function () {
// if (flag === 'add') {
// showMsgAndGo(i18next.t("message.Insert_Success"), pargs.QueryPrgId); // ╠message.Insert_Success⇒新增成功╣
// }
// else {
// showMsgAndGo(i18next.t("message.Insert_Success"), pargs.ProgramId, '?Action=Add'); // ╠message.Insert_Success⇒新增成功╣
// }
// };
// layer.confirm(i18next.t('message.DefaultPassword').replace('{initpswd}', parent.SysSet['DefaultPassword'] || 123456), { icon: 3, title: i18next.t('common.Tips') }, function (index) {
// if (parent.SysSet.IsOpenMail == 'Y') {
// fnSendEmailToMember(flag);
// }
// else {
// layer.alert(i18next.t('message.NotOpenMail'), { icon: 0 }, function () {// ╠message.NotOpenMail⇒系統沒有開放郵件發送功能,請聯絡管理員!╣
// fnCallBack();
// });
// }
// layer.close(index);
// }, function () {
// fnCallBack();
// });
//},
/** * 頁面初始化 * @param {Object} pargs CanDo 對象 */ pageInit: function (pargs) { var postArray = [];
postArray.push(fnSetJobtitleDrop(), fnSetRolesDrop(), fnSetDeptDrop($('#DepartmentID')), fnSetUserDrop([ { Select: $('#ImmediateSupervisor'), ShowId: true, Select2: true, Action: pargs.action } ]), fnSetArgDrop([ { ArgClassID: 'JobClass', Select: $('#JobClass'), ShowId: true }, { ArgClassID: 'LanCountry', Select: $('#Country'), ShowId: true } ])); if (pargs.action === 'upd') { $('#MemberID').prop('disabled', true); postArray.push(pargs._getOne()); } else { pargs.data.MemberPic = guid(); fnUpload(); } $.whenArray(postArray).done(function (res) { if (pargs.action === 'upd' && res[0].RESULT) { pargs._setFormVal(pargs.data); pargs.data.MemberPic = $.trim(pargs.data.MemberPic) === '' ? guid() : pargs.data.MemberPic; pargs.data.Roles = (pargs.data.RuleIDs || '').split(',').clear(); $('#Roles').val(pargs.data.Roles).trigger('change'); $('#CalColor').spectrum("set", pargs.data.CalColor); pargs._getPageVal();//緩存頁面值,用於清除
fnGetUploadFiles(pargs.data.MemberPic, fnUpload); } });
$('#LeaveDate').on('blur', function () { if (this.value != '') { $("[name='Effective'][value='N']").click(); } else { $("[name='Effective'][value='Y']").click(); } }); $('#IsAttendance').on('click', function () { if (this.checked) { $(".CardId").show(); $("#CardId").attr('required', true); } else { $(".CardId").hide(); $("#CardId").removeAttr('required'); } }); } }), /** * 寄送初始密碼給新增人員 * @param {String} flag 新增 or 儲存后新增 */ fnSendEmailToMember = function () { g_api.ConnectLite(canDo._service.auth, 'SendPswToNewMember', { UserID: $('#MemberID').val(), OrgID: parent.OrgID }, function (res) { if (res.RESULT) { if (res.DATA.rel) { if (flag == 'add') { showMsgAndGo(i18next.t("message.SendEmail_Success"), canDo.QueryPrgId); // ╠message.Save_Success⇒新增成功╣
} else { showMsgAndGo(i18next.t("message.SendEmail_Success"), canDo.ProgramId); // ╠message.Save_Success⇒新增成功╣
} } else { if (flag == 'add') { showMsgAndGo(i18next.t("message.SendEmail_Failed"), canDo.QueryPrgId); // ╠message.SendEmail_Failed⇒郵件寄送失敗╣
} else { showMsgAndGo(i18next.t("message.SendEmail_Failed"), canDo.ProgramId); // ╠message.SendEmail_Failed⇒郵件寄送失敗╣
} } } else { if (flag == 'add') { showMsgAndGo(i18next.t("message.SendEmail_Failed"), canDo.QueryPrgId); // ╠message.SendEmail_Failed⇒郵件寄送失敗╣
} else { showMsgAndGo(i18next.t("message.SendEmail_Failed"), canDo.ProgramId); // ╠message.SendEmail_Failed⇒郵件寄送失敗╣
} } }); }, /** * 設定幣別下拉選單 * @return {Object} Ajax 物件 */ fnSetJobtitleDrop = function () { return g_api.ConnectLite(canDo.ProgramId, 'GetJobTitleDrop', { Effective: 'Y' }, function (res) { if (res.RESULT) { var saList = res.DATA.rel; $('#JobTitle').html(createOptions(saList, 'JobtitleID', 'JobtitleName', true)); } }); }, /** * 設定角色下拉選單 * @return {Object} Ajax 物件 */ fnSetRolesDrop = function () { return g_api.ConnectLite(canDo.ProgramId, 'GetRolesDrop', { Effective: 'Y' }, function (res) { if (res.RESULT) { var saList = res.DATA.rel; $('#Roles').html(createOptions(saList, 'RuleID', 'RuleName')).select2(); } }); }, /** * 上傳附件 * @param {Array} files 上傳的文件 */ fnUpload = function (files) { var option = {}; option.input = $('#fileInput'); option.limit = 1; //option.changeInput = '<div class="jFiler-input-dragDrop"><img id="ImgMemberPic" width="150" height="150" src="../../images/noImage.jpg"></div>';
option.extensions = ['jpg', 'jpeg', 'png', 'bmp', 'gif', 'png']; option.theme = 'dragdropbox'; option.folder = 'Members'; option.type = 'one'; option.parentid = canDo.data.MemberPic; if (files) { option.files = files; } fnUploadRegister(option); }; };
require(['base', 'select2', 'jsgrid', 'spectrum', 'filer', 'cando'], fnPageInit);
|