'use strict';
var sProgramId = getProgramId(),
oGrid = null,
fnPageInit = function () {
var oForm = $('#form_main'),
oBaseQueryPm = {
pageIndex: 1,
pageSize: parent.SysSet.GridRecords || 10,
sortField: 'CreateDate,CustomerCName',
sortOrder: 'desc'
},
/**
* 獲取資料
* @param args{Object} 查詢條件參數
* @return {Object} Ajax 物件
*/
fnGet = function (args) {
var oQueryPm = getFormSerialize(oForm);
oQueryPm.SearchWords = '%' + oQueryPm.SearchWords + '%';
$.extend(oQueryPm, oBaseQueryPm, args);
oBaseQueryPm.pageIndex = oQueryPm.pageIndex;
return CallAjax(ComFn.W_Com, ComFn.GetPage, {
Params: {
Entity: 'ovw_importcustomers',
OrderFields: oQueryPm.sortField || 'CreateDate',
OrderType: oQueryPm.sortOrder || 'desc',
PageIndex: oQueryPm.pageIndex,
PageSize: oQueryPm.pageSize,
ExhibitionNO: oQueryPm.ExhibitionNO,
_OR_: [
{ CustomerCName: oQueryPm.SearchWords },
{ Contactor: oQueryPm.SearchWords },
{ Telephone: oQueryPm.SearchWords },
{ Email: oQueryPm.SearchWords },
{ Address: oQueryPm.SearchWords }
],
OrgID: parent.OrgID
}
});
},
/**
* 資料刪除
* @param {Object} data 表單資料
* @return {Object} Ajax 物件
*/
fnDel = function (data) {
return CallAjax(ComFn.W_Com, ComFn.GetDel, {
Params: {
importcustomers: {
guid: data.guid
}
}
}, function (res) {
if (res.d > 0) {
showMsg(i18next.t("message.Delete_Success"), 'success'); // ╠message.Delete_Success⇒刪除成功╣
}
else {
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
}
});
},
/**
* ToolBar 按鈕事件 function
* @param {Object}inst 按鈕物件對象
* @param {Object} e 事件對象
*/
fnButtonHandler = function (inst, e) {
var sId = inst.id;
switch (sId) {
case "Toolbar_Qry":
var iNum = $('#PerPageNum').val();
oGrid.pageSize = iNum === '' ? parent.SysSet.GridRecords || 10 : iNum;
cacheQueryCondition();
oGrid.openPage(window.bToFirstPage ? 1 : oBaseQueryPm.pageIndex);
break;
case "Toolbar_Save":
break;
case "Toolbar_ReAdd":
break;
case "Toolbar_Clear":
clearPageVal();
break;
case "Toolbar_Leave":
break;
case "Toolbar_Add":
break;
case "Toolbar_Upd":
break;
case "Toolbar_Copy":
break;
case "Toolbar_Del": // ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣ ╠common.Tips⇒提示╣
break;
case "Toolbar_Exp":
break;
default:
alert("No handle '" + sId + "'");
break;
}
},
/**
* 頁面初始化
*/
init = function () {
$.whenArray([
commonInit({
PrgId: sProgramId,
ButtonHandler: fnButtonHandler,
SearchBar: true
}),
fnSetEpoDrop({
Select: $('#ExhibitionNO'),
Select2: true
})
])
.done(function () {
var iHeight = $('body').height() - $('.page-title').height() - $('#searchbar').height() - 87;
$("#jsGrid").jsGrid({
width: "100%",
height: iHeight + "px",
autoload: true,
pageLoading: true,
inserting: false,
editing: false,
sorting: true,
paging: true,
pageIndex: window.bToFirstPage ? 1 : window.QueryPageidx || 1,
pageSize: parent.SysSet.GridRecords || 10,
pageButtonCount: parent.SysSet.GridPages || 15,
confirmDeleting: true,
deleteConfirm: "確定要刪除嗎?",
pagePrevText: "<",
pageNextText: ">",
pageFirstText: "<<",
pageLastText: ">>",
onPageChanged: function (args) {
cacheQueryCondition(args.pageIndex);
},
rowClick: function (args) {
},
rowDoubleClick: function (args) {
},
fields: [
{
name: "RowIndex", title: 'common.RowNumber', width: 50, align: "center"
},
{
name: "Exhibitioname_TW", title: 'ExhibitionExport_Upd.ExportBillName', width: 200
},
{
name: "CustomerCName", type: 'text', title: 'Customers_Upd.CustomerCName', width: 200
},
{
name: "Contactor", type: 'text', title: 'common.Contactor', width: 120
},
{
name: "Telephone", type: 'text', title: 'common.Telephone', width: 100
},
{
name: "Email", type: 'text', title: 'common.Email', width: 120
},
{
name: "Address", type: 'text', title: 'common.Address', width: 200
},
{// ╠common.IsAppoint⇒預約狀態╣
name: "IsAppoint", title: 'common.IsAppoint', width: 100, align: "center",
itemTemplate: function (val, item) {
return val == 'Y' ? $('', { text: i18next.t('common.HasAppoint') }).css('color', 'green') : $('', { text: i18next.t('common.NotAppoint') }).css('color', 'red');// ╠common.HasAppoint⇒已預約╣ ╠common.NotAppoint⇒未預約╣
}
},
{// ╠common.IsFormal⇒資料狀態╣
name: "IsFormal", title: 'common.IsFormal', width: 100, align: "center",
itemTemplate: function (val, item) {
return val ? $('', { text: i18next.t('common.HasFormal') }).css('color', 'green') : $('', { text: i18next.t('common.NotFormal') }).css('color', 'red');
}
}
],
controller: {
loadData: function (args) {
return fnGet(args);
},
insertItem: function (args) {
},
updateItem: function (args) {
fnUpd(args);
},
deleteItem: function (args) {
return fnDel(args);
}
},
onInit: function (args) {
oGrid = args.grid;
}
});
});
};
init();
};
require(['base', 'select2', 'jsgrid', 'util'], fnPageInit);