You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

114 lines
3.9 KiB

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