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.
 
 
 
 
 

321 lines
9.7 KiB

'use strict';
var DEFAULT_LANGUAGEID = "zh-TW";
var LanguageMap = new Map();
var ExhibMainCategoryMap = new Map();
var ExhibSubCategoryMap = new Map();
var FrequencyMap = new Map();
var ExhibStatusMap = new Map();
var fnPageInit = function () {
var canDo = new CanDo({
sortField: 'OrderByValue',
sortOrder: 'asc',
/**
* 當前程式所有ID名稱集合
*/
idKeys: ['OrgID', 'ExhibitionID', 'LanguageID'],
//*
// * Grid欄位設置(可以是 function)
gridFields: [
{ name: "RowIndex", title: 'common.RowNumber', align: 'center', width: 50, sorting: false },
//{ name: "ExhibitionID", title: 'ExhibMaintain_Qry.ExhibitionID', width: 50 },
{ name: "ExhibitionName", title: 'common.ExhibitionName', align: 'left', width: 100 },
{ name: "AbbreviatedName", title: 'ExhibMaintain_Qry.AbbreviatedName', align: 'left', width: 100 },
{
name: "MainCategoryIDs", title: 'ExhibMainCategoryMaintain_Qry.ExhibMainCategory', align: 'left', width: 100, itemTemplate: function (val) {
var categoryList = JSON.parse(val);
var categoryName = '';
$.each(categoryList, function (index, value) {
if (ExhibMainCategoryMap.has(value)) {
categoryName += ExhibMainCategoryMap.get(value).CategoryName;
if (index != categoryList.length - 1) {
categoryName += ", ";
}
}
});
return categoryName;
}
},
{
name: "SubCategoryIDs", title: 'common.ExhibSubCategory', align: 'left', width: 100, itemTemplate: function (val) {
var categoryList = JSON.parse(val);
var categoryName = '';
$.each(categoryList, function (index, value) {
if (ExhibSubCategoryMap.has(value)) {
categoryName += ExhibSubCategoryMap.get(value).CategoryName;
if (index != categoryList.length - 1) {
categoryName += ", ";
}
}
});
return categoryName;
}
},
{
name: "Frequency", title: 'ExhibMaintain_Qry.Frequency', align: 'left', width: 100, itemTemplate: function (val) {
var FrequencyName = val;
if (FrequencyMap.has(val)) {
FrequencyName = FrequencyMap.get(val).ArgumentValue;
}
return FrequencyName;
}
},
{
name: "ExhibStatus", title: 'ExhibMaintain_Qry.ExhibStatus', align: 'left', width: 100, itemTemplate: function (val) {
var ExhibStatusName = val;
if (ExhibStatusMap.has(val)) {
ExhibStatusName = ExhibStatusMap.get(val).ArgumentValue;
}
return ExhibStatusName;
}
},
{
name: "Effective", title: 'common.Status', width: 150, align: 'center', itemTemplate: function (val) {
return val === 'Y' ? i18next.t('common.Enable') : i18next.t('common.Disable');
}
},
//{ name: "OrderByValue", title: 'common.OrderByValue', align: 'left', width: 50 }
{
name: "OrderByValue", title: 'common.OrderByValue', type: "select", width: 150,
itemTemplate: function (val, item) {
return this._createSelect = $("<select>", {
class: 'w70',
html: createOptions(item.OrderCount),
change: function () {
var sOldValue = val,
sNewValue = this.value;
g_api.ConnectLite(canDo.ProgramId, canDo._api.order, {
Id: item.ExhibitionID,
OldOrderByValue: sOldValue,
NewOrderByValue: sNewValue
}, function (res) {
if (res.RESULT) {
showMsg(i18next.t('message.Update_Success'), 'success');// ╠message.Update_Success⇒更新成功╣
canDo.Grid.openPage(canDo.options.toFirstPage ? 1 : canDo.options.queryPageidx);
}
else {
showMsg(i18next.t('message.Update_Failed') + '<br>' + res.MSG, 'error'); // ╠message.Update_Failed⇒更新失敗╣
}
});
}
}).val(val);
}
}
],
/**
* 頁面初始化
* @param {Object} pargs CanDo 對象
*/
pageInit: function (pargs) {
var postArray = [];
postArray.push(fnLanguageDrop(), fnMainCategoryDrop(), fnSubCategoryDrop(), fnFrequencyDrop(), fnShowStatusDrop());
$.whenArray(postArray).done(function () {
pargs._reSetQueryPm();
pargs._initGrid();
});
$('#MainCategoryID').select2();
$('#SubCategoryID').select2();
}
}),
/**
* 語言下拉選單
* @return {Object} Ajax 物件
*/
fnLanguageDrop = function () {
return g_api.ConnectLite(canDo.ProgramId, "QueryLanguageList", {
},
function (res) {
if (res.RESULT) {
LanguageMap.clear();
var languageList = res.DATA.rel;
$('#LanguageID').html(createOptions(languageList, 'LanguageID', 'LanguageName', false)).on('change', function () {
fnMainCategoryDrop().done(function () {
fnSubCategoryDrop();
});
});
$('#LanguageID').val(DEFAULT_LANGUAGEID);
for (let element of languageList) {
LanguageMap.set(element.LanguageID, element);
}
}
});
},
/**
* 主類別下拉選單
*/
fnMainCategoryDrop = function () {
return g_api.ConnectLite(canDo.ProgramId, "QueryExhibMainCategoryList", {
LanguageID: $("#LanguageID").val()
},
function (res) {
if (res.RESULT) {
var saCategoryList = res.DATA.rel;
$.each(saCategoryList, function (index, value) {
ExhibMainCategoryMap.set(value.CategoryID, value);
});
var sOptionHtml = createOptions(saCategoryList, 'CategoryID', 'CategoryName', false);
$('#MainCategoryID').html(sOptionHtml);
}
});
},
/**
* 子類別下拉選單
*/
fnSubCategoryDrop = function () {
return g_api.ConnectLite(canDo.ProgramId, "QueryExhibSubCategoryList", {
LanguageID: $("#LanguageID").val()
},
function (res) {
if (res.RESULT) {
var saCategoryList = res.DATA.rel;
$.each(saCategoryList, function (index, value) {
ExhibSubCategoryMap.set(value.CategoryID, value);
});
var sOptionHtml = createOptions(saCategoryList, 'CategoryID', 'CategoryName', false);
$('#SubCategoryID').html(sOptionHtml);
}
});
},
/**
* 週期選單
*/
fnFrequencyDrop = function () {
return g_api.ConnectLite(canDo.ProgramId, "QueryFrequencyList", {
LanguageID: $('#LanguageID').val()
},
function (res) {
if (res.RESULT) {
var frequencyList = res.DATA.rel;
$.each(frequencyList, function (index, value) {
FrequencyMap.set(value.ArgumentID, value);
});
$('#Frequency').html(createOptions(frequencyList, 'ArgumentID', 'ArgumentValue', false));
}
});
},
/**
* 展覽狀態選單
*/
fnShowStatusDrop = function () {
return g_api.ConnectLite(canDo.ProgramId, "QueryShowStatusList", {
LanguageID: $('#LanguageID').val()
},
function (res) {
if (res.RESULT) {
var statusList = res.DATA.rel;
$.each(statusList, function (index, value) {
ExhibStatusMap.set(value.ArgumentID, value);
});
$('#ExhibStatus').html(createOptions(statusList, 'ArgumentID', 'ArgumentValue', false));
}
});
}
};
require(['base', 'jsgrid', 'select2', 'cando'], fnPageInit);