|
|
'use strict'; var fnPageInit = function () { var canDo = new CanDo({ /** * 當前程式所有ID名稱集合 */ idKeys: ['OrgID', 'DepartmentID'], /** * 當前程式所有參數名稱集合 */ paramKeys: ['DepartmentID'], /** * 客製化驗證規則 * @param {Object} pargs CanDo 對象 */ validRulesCus: function (pargs) { $.validator.addMethod("departmentidrule", function (value) { var bRetn = true; if (value) { g_api.ConnectLite(pargs.ProgramId, pargs._api.getcout, { DepartmentID: value, }, function (res) { if (res.RESULT && res.DATA.rel > 0) { bRetn = false; } }, null, false); } return bRetn; }); }, /** * 驗證規則 */ validRules: function (pargs) { return { onfocusout: false, rules: { DepartmentID: { departmentidrule: pargs.action === 'Add' ? true : false }, }, messages: { DepartmentID: { departmentidrule: i18next.t("message.Data_Repeat") }// ╠message.Data_Repeat⇒此筆資料已建檔╣
} }; }, /** * 處理新增資料參數 * @param {Object} pargs CanDo 對象 * @param {Object} data 當前表單資料 */ getInsertParams: function (pargs, data) { data.NameOfLevel = ''; data.LevelOfDepartment = !(data.ParentDepartmentID) ? 0 : data.ParentDepartmentID.split('-').length; return data; }, /** * 處理修改資料參數 * @param {Object} pargs CanDo 對象 * @param {Object} data 當前表單資料 */ getUpdateParams: function (pargs, data) { return pargs.options.getInsertParams(pargs, data); }, /** * 頁面初始化 * @param {Object} pargs CanDo 對象 */ pageInit: function (pargs) { var postArray = [];
if (pargs.action === 'upd') { $('#DepartmentID').prop('disabled', true); postArray.push(pargs._getOne()); } postArray.push(fnSetOrderByValueDrop(), fnSetOrderByValueDrop(), fnSetDeptDrop($('#ParentDepartmentID')), fnSetUserDrop([ { Select: $('#ChiefOfDepartmentID'), ShowId: true, Select2: true, Action: pargs.action } ]));
$.whenArray(postArray).done(function (res) { if (pargs.action === 'upd' && res[0].RESULT) { var oRes = res[0].DATA.rel; pargs._setFormVal(oRes); pargs._getPageVal();//緩存頁面值,用於清除
} }); } }), /** * 設定報關類別下拉選單 */ fnSetOrderByValueDrop = function () { return g_api.ConnectLite(canDo.ProgramId, canDo._api.getcout, {}, function (res) { if (res.RESULT) { var iCount = res.DATA.rel; if (canDo.action === 'add') { iCount++; } $('#OrderByValue').html(createOptions(iCount)); if (canDo.action === 'add') { $('#OrderByValue').val(iCount); } } }); }; };
require(['base', 'select2', 'jsgrid', 'cando'], fnPageInit);
|