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.
113 lines
4.0 KiB
113 lines
4.0 KiB
'use strict';
|
|
|
|
var DEFAULT_LANGUAGEID = "zh-TW";
|
|
var LanguageMap = new Map();
|
|
|
|
var fnPageInit = function () {
|
|
var canDo = new CanDo({
|
|
sortField: 'OrganizerName',
|
|
sortOrder: 'asc',
|
|
/**
|
|
* 當前程式所有ID名稱集合
|
|
*/
|
|
idKeys: ['OrgID', 'OrganizerID', 'LangType'],
|
|
/**
|
|
* Grid欄位設置(可以是 function)
|
|
*/
|
|
gridFields: [
|
|
{ name: "RowIndex", title: 'common.RowNumber', align: 'center', width: 50, sorting: false },
|
|
{ name: "LangType", title: 'OrganizerMaintain_Qry.LangType', width: 155 },
|
|
{ name: "RegionName", title: 'OrganizerMaintain_Qry.RegionName', width: 155 },
|
|
{ name: "CountryName", title: 'OrganizerMaintain_Qry.CountryID', width: 155 },
|
|
{ name: "OrganizerName", title: 'OrganizerMaintain_Upd.OrganizerName', width: 155 },
|
|
{ name: "Telephone", title: 'common.Telephone', width: 155 },
|
|
{ name: "Email", title: 'common.Email', width: 155 },
|
|
{
|
|
name: "Effective", title: 'common.Status', align: 'center', width: 100, itemTemplate: function (val) {
|
|
return val === 'Y' ? i18next.t('common.Enable') : i18next.t('common.Disable');
|
|
}
|
|
}
|
|
],
|
|
/**
|
|
* 頁面初始化
|
|
* @param {Object} pargs CanDo 對象
|
|
*/
|
|
pageInit: function (pargs) {
|
|
var postArray = [];
|
|
postArray.push(fnLanguageDrop());
|
|
$.whenArray(postArray).done(function () {
|
|
pargs._reSetQueryPm();
|
|
pargs._initGrid();
|
|
});
|
|
$('#LangType').select2();
|
|
$('#CountryID').select2();
|
|
$('#RegionID').select2();
|
|
}
|
|
}),
|
|
|
|
fnLanguageDrop = function () {
|
|
return g_api.ConnectLite(canDo.ProgramId, "GetLanguage",
|
|
{},
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
LanguageMap.clear();
|
|
|
|
var saList = res.DATA.rel;
|
|
$('#LangType').html(createOptions(saList, 'LanguageID', 'LanguageName', false)).on('change', function () {
|
|
if ($('#LangType').val()) {
|
|
fnSetRegionIDdrop();
|
|
}
|
|
});
|
|
|
|
$('#LangType').val(DEFAULT_LANGUAGEID);
|
|
|
|
for (let element of saList) {
|
|
|
|
LanguageMap.set(element.LangType, element);
|
|
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
//洲別類別下拉選單
|
|
fnSetRegionIDdrop = function () {
|
|
return g_api.ConnectLite(canDo.ProgramId, "QueryRegionList", {
|
|
LangType: $("#LangType").val()
|
|
},
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
var regionList = res.DATA.rel;
|
|
$('#RegionID').html(createOptions(regionList, 'RegionID', 'RegionName', false)).on('change', function () {
|
|
$('#CountryID').empty();
|
|
if ($('#RegionID').val()) {
|
|
fnCountryDrop();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
},
|
|
|
|
//國家下拉選單
|
|
fnCountryDrop = function () {
|
|
var data = {
|
|
RegionID: $("#RegionID").val(),
|
|
LangType: $("#LangType").val()
|
|
};
|
|
if ($('#RegionID').val()) {
|
|
return g_api.ConnectLite(canDo.QueryPrgId, "QueryCountryList", data,
|
|
function (res) {
|
|
if (res.RESULT) {
|
|
var saList = res.DATA.rel;
|
|
if (saList.length > 0) {
|
|
$('#CountryID').html(createOptions(saList, 'CountryID', 'CountryName', false));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
};
|
|
|
|
require(['base', 'jsgrid', 'cando', 'select2'], fnPageInit);
|