/**
* [ONEMAP.M.gcmsList]
* @return {[object]}
*/
define(['html!templates/gcms/gcmsList',
'css!styles/gcms/gcmsList'
], function (tplLayout) {
/**
* 模块数据 用于数据存储和外部调用
* @type {Object}
* 数据存放
*/
var modValue = {
//参数
options: {},
//查询面板高度 默认为0
searchPanelHeight: 0,
markersGroupGuid: null,
appendToMyLayer: null,
markerObj: {} //标记点集合
};
/**
* 模块初始化
* @return {[type]} [description]
*/
function init(options) {
remove();
modValue.searchPanelHeight = 0;
modValue.options = {
column_name: '',
page: {
page: 1
},
search: {},
column_title: ''
};
for (var op in options) {
modValue.options[op] = options[op];
}
//设置容器布局
setLayout();
ONEMAP.D.gcmsCurColumnData = ONEMAP.D.gcmsColumnObjs[modValue.options['column_name']];
showCmsColumn();
//没有子菜单,添加 class 用来判断
$('#gcmsListContent').addClass('single');
// $('#gcmsArticlesListPage').addClass('single');
$('#gcmsListSearchPanel').addClass('single');
$('#gcmsListContent').addClass('single');
bindEvent();
//订阅推送
subscribe();
//设置zIndex 为最高
var zIndex = ONEMAP.M.sideBar.getZIndex();
$('#gcmsListWrap').css({
zIndex: zIndex
});
ONEMAP.D.currentSideBarMod = 'gcmsList';
//开启侧栏
ONEMAP.C.publisher.publish('show', 'layout::sideBar');
}
/**
* 设置容器
*/
function setLayout() {
$(tplLayout).appendTo($("#sideBarBody"));
$('#gcmsListWrap .panel-header h3').html(modValue.options['data']['title']);
layoutResize();
$(window).resize(function () {
layoutResize();
});
$("#gcmsListContent").mCustomScrollbar({
scrollInertia: 1000
});
}
/**
* 事件绑定
* @return {[type]} [description]
*/
function bindEvent() {
$('#gcmsListWrap .panel-header .abtn-goback').bind('click', function () {
remove();
})
}
/**
* 显示cms栏目 搜索栏,列表
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function showCmsColumn(options) {
//ONEMAP.C.publisher.publish('','gcmsArticleShowRemove');
//获取栏目模型后 去获取栏目数据
getColumnModelData({
callback: function () {
map23DControl.group({
action: 'cleanAll',
guid: modValue.markersGroupGuid
});
map23DControl.group({
action: 'remove',
guid: modValue.markersGroupGuid
});
//地图中心点 是否聚合
if (ONEMAP.D.gcmsCurColumnModelData['field_list'].hasOwnProperty('map_center')) {
if (ONEMAP.D.gcmsCurColumnModelData['field_list']['map_center']['marker_cluster']) {
modValue.markersGroupGuid = map23DControl.group({
action: 'add',
clustering: true, //关键 开启聚合
clusterOptions: {
maxClusterRadius: 120, //多少像素距离的点会聚合 默认小于120像素内的点会聚合
polygonOptions: {
weight: 1,
opacity: 0.5
}, //聚合范围面样式
showCoverageOnHover: true, //是否显示聚合范围
disableClusteringAtZoom: null, //设置到达指定缩放等级后禁用聚合
} //2D聚合参数
});
} else {
modValue.markersGroupGuid = map23DControl.group({
action: 'add'
});
}
}
//检测是否有初始函数,有的执行
if (ONEMAP.D.gcmsCurColumnModelData.hasOwnProperty('js_script')) {
if (ONEMAP.D.gcmsCurColumnModelData.js_script.length > 0) {
eval("var modelFunction=" + ONEMAP.D.gcmsCurColumnModelData.js_script);
if (modelFunction.hasOwnProperty('init')) {
modelFunction.init();
}
}
}
//添加图层控制
// if(!ONEMAP.D.appendToMyLayer){
// var options = {
// action: "add",
// DOM: {
// // name: modValue.options['column_title'] || '重要目标与事件',
// name: ONEMAP.D.gcmsCurColumnModelData['alias'],
// type: "group",
// guid: "gcmsList"
// }
// }
// ONEMAP.D.appendToMyLayer = ONEMAP.M.myLayers.myLayerControl(options);
// ONEMAP.C.publisher.subscribe(controlMyLayer, ONEMAP.D.appendToMyLayer);
// }else{
// var options = {
// action: "update",
// DOMid:ONEMAP.D.appendToMyLayer,
// DOM: {
// // name: modValue.options['column_title'],
// name: ONEMAP.D.gcmsCurColumnModelData['alias'],
// type: "group",
// guid: "gcmsList"
// }
// }
// ONEMAP.M.myLayers.myLayerControl(options);
// }
//设置栏目class
$('#gcmsListWrap').removeClass().addClass(ONEMAP.D.gcmsCurColumnModelData['name']);
//设置栏目css
$('#gcmsModelCssStyle').remove();
$('').appendTo('head');
setSearchPanel();
getColumnData();
}
});
}
/**
* 图层控制
*/
function controlMyLayer(options) {
switch (options.action) {
case 'remove':
removeMyLayer();
break;
case 'opacity':
setGropOpacity(options);
break;
}
}
function removeMyLayer() {
map23DControl.group({
action: 'cleanAll',
guid: modValue.markersGroupGuid
});
map23DControl.group({
action: 'remove',
guid: modValue.markersGroupGuid
})
remove();
ONEMAP.C.publisher.publish('hide', 'layout::sideBar');
ONEMAP.C.publisher.publish('', 'gcmsArticleShowRemove');
ONEMAP.D.appendToMyLayer = null;
};
function setGropOpacity(options) {
options = options.options;
if (options.opacity == 1) {
map23DControl.group({
action: 'show',
guid: modValue.markersGroupGuid
})
ONEMAP.C.publisher.publish('show', 'gcmsGroupControl');
} else if (options.opacity == 0) {
map23DControl.group({
action: 'hide',
guid: modValue.markersGroupGuid
})
ONEMAP.C.publisher.publish('hide', 'gcmsGroupControl');
}
};
/**
* 获取栏目模型数据
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function getColumnModelData(options) {
ONEMAP.V.loading.load();
$.ajax({
url: onemapUrlConfig.gcmsServiceUrl + '/showmodel/' + modValue.options['column_name'],
type: "GET",
dataType: 'json'
})
.done(function (data) {
ONEMAP.V.loading.loaded();
if (data.code == 4) {
//ONEMAP.C.noPermission('getColumnModelData');
}
if (data.code == 3) {
//ONEMAP.C.logout('getColumnModelData');
}
ONEMAP.D.gcmsCurColumnModelData = data['data'];
if (ONEMAP.D.gcmsCurColumnModelData != undefined) {
modValue.options['page']['page_size'] = ONEMAP.D.gcmsCurColumnModelData['query_count'];
options.callback();
}
})
.fail(function () {
ONEMAP.V.loading.loaded();
});
}
/**
* 获取栏目数据
* @return {[type]} [description]
*/
function getColumnData() {
ONEMAP.C.publisher.publish('', 'gcmsArticleShowRemove');
ONEMAP.V.loading.load();
var ajaxData = {
page: modValue.options['page']['page']
};
for (var item in modValue.options['search']) {
ajaxData[item] = modValue.options['search'][item];
}
//检测是否有before函数,有的执行
if (ONEMAP.D.gcmsCurColumnModelData.hasOwnProperty('js_script')) {
if (ONEMAP.D.gcmsCurColumnModelData.js_script.length > 0) {
eval("var modelFunction=" + ONEMAP.D.gcmsCurColumnModelData.js_script);
if (modelFunction.hasOwnProperty('before')) {
modelFunction.before();
}
}
}
$.ajax({
url: onemapUrlConfig.gcmsServiceUrl + '/show/' + modValue.options['column_name'],
type: "GET",
dataType: 'json',
data: ajaxData
})
.done(function (data) {
//console.log(data);
ONEMAP.V.loading.loaded();
if (data.code == 4) {
ONEMAP.C.noPermission('getColumnData');
}
if (data.code == 3) {
ONEMAP.C.logout('getColumnData');
}
ONEMAP.D.gcmsCurColumnListData = data;
modValue.options['page']['total'] = ONEMAP.D.gcmsCurColumnListData['total'];
setArticlesList();
//是否有after函数,有的执行
if (ONEMAP.D.gcmsCurColumnModelData.hasOwnProperty('js_script')) {
if (ONEMAP.D.gcmsCurColumnModelData.js_script.length > 0) {
eval("var modelFunction=" + ONEMAP.D.gcmsCurColumnModelData.js_script);
if (modelFunction.hasOwnProperty('after')) {
modelFunction.after();
}
}
}
})
.fail(function () {
ONEMAP.V.loading.loaded();
});
}
/**
* 设置搜索面板 // layout下拉列表1 列表2 输入框3
*/
function setSearchPanel() {
if (ONEMAP.D.gcmsCurColumnModelData['query_field'].length == 0) {
modValue.searchPanelHeight = 0;
$('#gcmsListSearchPanel').unbind('resize')
$('#gcmsListSearchPanel').empty().hide();
layoutResize();
return false;
}
$('#gcmsListSearchPanel').empty().show();
$('#gcmsListSearchPanel').unbind('resize').bind('resize', function () {
modValue.searchPanelHeight = $(this).height() + 11;
layoutResize();
});
var systemFields = ['gcms_title', 'gcms_create_time', 'gcms_change_time', 'gcms_audit_time', 'gcms_publish_time', 'gcms_read_number', 'gcms_secret_level'];
//
var searchHtml = $('
');
var searchPanelForm = searchHtml.find('#gcmsListSearchForm');
searchHtml.appendTo($('#gcmsListSearchPanel'));
$('#gcmsListBtnSearch').bind('click', function () {
getColumnData();
});
$(ONEMAP.D.gcmsCurColumnModelData['query_field']).each(function (index, el) {
if ($.inArray(el['field'], systemFields) != -1) {
//系统字段
switch (el['field']) {
case 'gcms_title':
buildSearchFormInput({
field_data: {
'name': 'gcms_title',
'front_type': 'gcms_title',
'alias': '标题'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_create_time':
buildSearchFormTime({
field_data: {
'name': 'gcms_create_time',
'front_type': 'gcms_create_time',
'alias': '创建时间'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_change_time':
buildSearchFormTime({
field_data: {
'name': 'gcms_change_time',
'front_type': 'gcms_change_time',
'alias': '修改时间'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_audit_time':
buildSearchFormTime({
field_data: {
'name': 'gcms_audit_time',
'front_type': 'gcms_audit_time',
'alias': '审核时间'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_publish_time':
buildSearchFormTime({
field_data: {
'name': 'gcms_publish_time',
'front_type': 'gcms_publish_time',
'alias': '发布时间'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_read_number':
buildSearchFormInput({
field_data: {
'name': 'gcms_read_number',
'front_type': 'gcms_read_number',
'alias': '阅读次数'
},
query_data: el
}).appendTo(searchPanelForm);
break;
case 'gcms_secret_level':
buildSearchFormSecretLevel({
field_data: {
'name': 'gcms_secret_level',
'front_type': 'gcms_secret_level',
'alias': '密级'
},
query_data: [{
name: "无",
value: 0
},
{
name: "公开",
value: 1
},
{
name: "内部",
value: 2
},
{
name: "一般",
value: 3
},
{
name: "重要",
value: 4
},
{
name: "核心",
value: 5
}
]
}).appendTo(searchPanelForm);
break;
}
} else {
//自定义字段
var fieldFrontType = ONEMAP.D.gcmsCurColumnModelData['field_list'][el['field']]['front_type'];
var fieldData = ONEMAP.D.gcmsCurColumnModelData['field_list'][el['field']];
switch (fieldFrontType) {
case 'select':
if (el['layout'] == 1) {
buildSearchFormType({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
} else if (el['layout'] == 2) {
buildSearchFormList({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
}
break;
case 'multiple_select':
buildSearchFormMtype({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
break;
case 'int_num':
if (el['method'] == 0) {
buildSearchFormInput({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
} else if (el['method'] == 1) {
buildSearchFormLimits({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
}
break;
case 'float_num':
if (el['method'] == 0) {
buildSearchFormInput({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
} else if (el['method'] == 1) {
buildSearchFormLimits({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
}
break;
case 'date_time':
buildSearchFormTime({
field_data: fieldData,
query_data: el
}).appendTo(searchPanelForm);
break;
}
}
});
}
/**
* 构建下拉列表
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormType(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var selectForm = $('');
selectForm.appendTo(form.find('dd'));
$('').appendTo(selectForm);
getTypeFieldTypeData({
type: 'type',
name: options['field_data']['custom_type'],
callback: function (data) {
$(data['data']).each(function (index, el) {
$('').appendTo(selectForm);
});
//绑定事件
selectForm.bind('change', function () {
if ($(this).val() == '-1') {
delete modValue.options['search'][options['field_data']['name']];
} else {
modValue.options['search'][options['field_data']['name']] = parseInt($(this).val());
}
});
}
})
return form;
}
/**
* 构建密级选择
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormSecretLevel(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var selectForm = $('');
selectForm.appendTo(form.find('dd'));
$('').appendTo(selectForm);
$(options['query_data']).each(function (index, el) {
$('').appendTo(selectForm);
});
//绑定事件
selectForm.bind('change', function () {
if ($(this).val() == '-1') {
delete modValue.options['search'][options['field_data']['name']];
} else {
modValue.options['search'][options['field_data']['name']] = parseInt($(this).val());
}
});
return form;
}
/**
* 构建输入型查询范围
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormLimits(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var inputFormStart = $('');
inputFormStart.appendTo(form.find('dd'));
$('').appendTo(form.find('dd'));
var inputFormEnd = $('');
inputFormEnd.appendTo(form.find('dd'));
//绑定事件
inputFormStart.bind('change', function () {
if ($.trim($(this).val()).length == 0) {
delete modValue.options['search'][(options['field_data']['name'] + '_start')];
} else {
modValue.options['search'][(options['field_data']['name'] + '_start')] = $(this).val();
}
});
inputFormEnd.bind('change', function () {
if ($.trim($(this).val()).length == 0) {
delete modValue.options['search'][(options['field_data']['name'] + '_end')];
} else {
modValue.options['search'][(options['field_data']['name'] + '_end')] = $(this).val();
}
});
return form;
}
/**
* 构建多级下拉菜单
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormMtype(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
selectForm = form.find('dd');
getTypeFieldTypeData({
type: 'mtype',
name: options['field_data']['custom_type'],
callback: function (data) {
buildSelectOptions({
yData: data,
value: [-1],
wrap: selectForm,
filedName: options['field_data']['name']
})
}
})
return form;
}
/**
* 构建多级类别
* @param {[type]} options [description] {yData,value}
* @return {[type]} [description]
*/
function buildSelectOptions(options) {
options['wrap'].empty();
var curData = options['yData']['data'];
var pidAry = [];
$(options['value']).each(function (index, el) {
pidAry.push(el);
var selectObj = buildSelect({
yData: options['yData'],
data: curData,
value: el,
pid: pidAry,
wrap: options['wrap'],
filedName: options['filedName']
});
selectObj.appendTo(options['wrap']);
if (el == -1) {
return;
}
if (curData[el].hasOwnProperty('son_tree')) {
curData = curData[el]['son_tree'];
if (index == options['value'].length - 1) {
pidAry.push(-1);
var selectObj = buildSelect({
yData: options['yData'],
data: curData,
value: -1,
pid: pidAry,
wrap: options['wrap'],
filedName: options['filedName']
});
selectObj.appendTo(options['wrap']);
}
}
});
}
function buildSelect(options) {
var newSelect = $('');
newSelect.yOptinos = options;
$('').appendTo(newSelect);
$(options['data']).each(function (index, el) {
$('').appendTo(newSelect);
});
newSelect.val(options['value']);
newSelect.bind('change', function () {
var sValue = newSelect.attr('pid').split('~');
sValue = $.map(sValue, function (item) {
return parseInt(item);
});
if (parseInt($(this).val()) == -1 && sValue.length > 1) {
//delete sValue[(sValue.length-1)];
sValue.splice(sValue.length - 1, 1);
} else {
sValue[(sValue.length - 1)] = parseInt($(this).val());
}
buildSelectOptions({
yData: newSelect.yOptinos['yData'],
value: sValue,
wrap: newSelect.yOptinos['wrap'],
filedName: options['filedName']
});
if (sValue[0] == -1) {
for (var i = 0; i < newSelect.yOptinos['yData']['depth']; i++) {
var name = options['filedName'] + '_' + i;
delete modValue.options['search'][name];
}
} else {
for (var i = 0; i < newSelect.yOptinos['yData']['depth']; i++) {
var name = options['filedName'] + '_' + i;
delete modValue.options['search'][name];
}
$(sValue).each(function (index, el) {
var name = options['filedName'] + '_' + index;
modValue.options['search'][name] = el;
});
}
});
return newSelect;
}
/**
* 构建列表选择
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormList(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var selectForm = $('');
selectForm.appendTo(form.find('dd'));
$('全部').appendTo(selectForm);
getTypeFieldTypeData({
type: 'type',
name: options['field_data']['custom_type'],
callback: function (data) {
$(data['data']).each(function (index, el) {
$('' + el['name'] + '').appendTo(selectForm);
});
//绑定事件
selectForm.find('a').bind('click', function () {
selectForm.find('.selected').removeClass('selected');
$(this).addClass('selected');
if ($(this).attr('v') == '-1') {
delete modValue.options['search'][options['field_data']['name']];
} else {
modValue.options['search'][options['field_data']['name']] = parseInt($(this).attr('v'));
}
});
}
});
return form;
}
/**
* 构建输入框
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormInput(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var inputForm = $('');
inputForm.appendTo(form.find('dd'));
inputForm.bind('change', function () {
if ($.trim($(this).val()).length == 0) {
delete modValue.options['search'][options['field_data']['name']];
} else {
modValue.options['search'][options['field_data']['name']] = $(this).val();
}
});
return form;
}
/**
* 构建日期选择
* @param {[type]} options [description]
* @return {[type]} [description]
*/
function buildSearchFormTime(options) {
var form = $('- ' + options['field_data']['alias'] + '
');
var inputForm = $('');
var btnClean = $('X');
var datePicker = $('');
inputForm.appendTo(form.find('dd'));
btnClean.appendTo(form.find('dd'));
datePicker.appendTo(form.find('dd'));
btnClean.bind('click', function () {
delete modValue.options['search'][(options['field_data']['name'] + '_start')];
delete modValue.options['search'][(options['field_data']['name'] + '_end')];
inputForm.val('');
$(this).hide();
});
datePicker.bind('click', function (evt) {
evt.stopPropagation();
inputForm.dateRangePicker({
showShortcuts: false,
format: 'YYYY/MM/DD',
autoClose: true,
separator: ' 至 '
}).one('datepicker-change', function (evt, obj) {
modValue.options['search'][(options['field_data']['name'] + '_start')] = moment(obj.date1).unix() * 1000;
modValue.options['search'][(options['field_data']['name'] + '_end')] = moment(obj.date2).unix() * 1000;
inputForm.val(obj.value);
btnClean.show();
}).one('datepicker-closed', function () {
$(inputForm).data('dateRangePicker').destroy();
});
inputForm.data('dateRangePicker').open();
});
return form;
}
function getTypeFieldTypeData(options) {
ONEMAP.V.loading.load();
var ajaxData = {};
$.ajax({
url: onemapUrlConfig.gcmsServiceUrl + '/' + options['type'] + '/' + options['name'],
type: "GET",
dataType: 'json'
})
.done(function (data) {
ONEMAP.V.loading.loaded();
if (data.code == 4) {
ONEMAP.C.noPermission('getTypeFieldData');
}
if (data.code == 3) {
ONEMAP.C.logout('getTypeFieldData');
}
options.callback(data['data']);
})
.fail(function () {
ONEMAP.V.loading.loaded();
});
}
/**
* 填充内容列表
*/
function setArticlesList() {
$('#gcmsArticlesList').empty();
if (modValue.markersGroupGuid) {
map23DControl.group({
action: 'cleanAll',
guid: modValue.markersGroupGuid
})
}
var isAdmin = false;
if (ONEMAP.D.isLoad) {
var role_list = ONEMAP.D.user.roles;
$.each(role_list, function (i, t) {
switch (t) {
case "admin":
isAdmin = true;
break;
}
})
}
var ul = $('');
$(ONEMAP.D.gcmsCurColumnListData['data']).each(function (index, el) {
// console.log(el['list_html']);
var options = {
"columnName": modValue.options.column_name,
"guid": el.id,
"category": modValue.options.data.title,
"name": el.record.gcms_title
}
options = JSON.stringify(options);
if (isAdmin) {
var li = $("" + el['list_html'] + ""); //""+
} else {
var li = $("" + el['list_html'] + "");
}
li.appendTo(ul);
li.bind('click', function () {
$(this).addClass('cur');
$(this).siblings().removeClass('cur');
});
if (el.record.showTrajectory) {
var btn = $("");
btn.click();
}
//如果有map_center字段 显示地图标记
if (ONEMAP.D.gcmsCurColumnModelData['show_coordinate'].length > 0 &&
el['record'].hasOwnProperty('map_center_lat') &&
el['record'].hasOwnProperty('map_center_lon') &&
el['record'].hasOwnProperty('map_center_zoom') &&
el['record'].hasOwnProperty('map_center_style')) {
var iconStyle = ONEMAP.D.gcmsCurColumnModelData['show_coordinate'][el['record']['map_center_style']];
var options_popup = {
name: '',
content: el['prompt_html'] || ''
};
var new_popupHtml = ONEMAP.M.gcmsNav.creatPopupHtml(options_popup);
if (options_popup.content == '')
new_popupHtml = ''
var markerOption = {
action: 'add',
groupId: modValue.markersGroupGuid,
geojson: {
"type": "Feature",
"properties": {
title: '',
iconUrl: onemapUrlConfig.gcmsServiceUrl + '/file' + iconStyle['icon'],
iconSize: [iconStyle['width'], iconStyle['height']],
iconAnchor: [iconStyle['width'] / 2, iconStyle['height'] / 2],
popupAnchor: [0, -iconStyle['height'] / 2],
altitude: 10,
altitudeMode: 0,
popupContent: new_popupHtml
},
"geometry": {
"type": "Point",
"coordinates": [el['record']['map_center_lon'], el['record']['map_center_lat']]
}
}
}
var markerId = map23DControl.marker(markerOption);
modValue.markerObj[el['id']] = markerId;
}
});
if (ONEMAP.D.gcmsCurColumnListData['data'].length == 0) {
var li = $('暂无数据');
li.appendTo(ul)
$('#gcmsArticlesListPage').css({
'display': 'none'
})
}
ul.appendTo($('#gcmsArticlesList'));
$('#gcmsListContent').mCustomScrollbar("update");
//分页
if (ONEMAP.D.gcmsCurColumnListData['data'].length > 0) {
$('#gcmsArticlesListPage').empty();
buildPagination();
} else {
$('#gcmsArticlesListPage').empty();
}
}
/**
* 添加重点方向与目标
*/
function addIG(data) {
require(['modDir/user/userSetting'], function (userSetting) {
userSetting.linkAddIG(data);
});
};
/**
* 界面布局重置
* @type {Function}
*/
function layoutResize() {
$('#gcmsListContent').css({
height: $(window).height() - 170 - modValue.searchPanelHeight
});
$('#gcmsListContent').mCustomScrollbar("update");
}
/**
* 构建分页
* @return {[type]} [description]
*/
function buildPagination() {
// var phtml = $(''+
// '第'+
// ''+
// '/页'+
// '
'+
// ''+
// ''+
// ''+
// '
');
// var abtnPrev = phtml.find('.abtn-prev');
// var abtnNext = phtml.find('.abtn-next');
// var pageJumpInput = phtml.find('.jump-page');
// var pageCount = phtml.find('.count-num');
var countPage = parseInt(modValue.options['page']['total'] % modValue.options['page']['page_size'] > 0 ? (modValue.options['page']['total'] / modValue.options['page']['page_size'] + 1) : (modValue.options['page']['total'] / modValue.options['page']['page_size']));
// pageJumpInput.val(modValue.options['page']['page']);
// pageCount.html(countPage);
// if(modValue.options['page']['page'] == 1){
// abtnPrev.remove();
// }
// if(modValue.options['page']['page'] == countPage){
// abtnNext.remove();
// }
// if(countPage == 1){
// pageJumpInput.attr('readonly','readonly');
// }
// abtnPrev.bind('click',function(){
// modValue.options['page']['page'] -= 1;
// getColumnData();
// });
// abtnNext.bind('click',function(){
// modValue.options['page']['page'] += 1;
// getColumnData();
// });
// pageJumpInput.bind('keydown',function(e){
// if (e.keyCode === 13) {
// var jumpNum = pageJumpInput.val();
// //验证是否是有效数字
// var re = /^[+-]?\d*$/;
// if(!re.test(jumpNum)){
// ONEMAP.C.publisher.publish({ type: 'warning', message: '页面格式为数字' }, 'noteBar::add');
// pageJumpInput.val(modValue.options['page']['page']);
// return false;
// }
// if(jumpNum<0||jumpNum>countPage){
// ONEMAP.C.publisher.publish({ type: 'warning', message: '页码输入超出范围' }, 'noteBar::add');
// pageJumpInput.val(modValue.options['page']['page']);
// return false;
// }
// modValue.options['page']['page'] = parseInt(jumpNum);
// getColumnData();
// }
// });
//分页
//
if ((modValue.options.page * modValue.options.pagesize) >= countPage) {
// console.log("page test");
$("#thematicPage").hide();
return;
}
$("#thematicPage").empty();
// var countPages = (parseInt(modValue.atlasCategoryData.total % modValue.atlasCategoryData.pagesize) > 0 ? parseInt(modValue.atlasCategoryData.total / modValue.atlasCategoryData.pagesize + 1) : parseInt(modValue.atlasCategoryData.total / modValue.atlasCategoryData.pagesize));
// if (countPages == 0) {
// countPages = 1;
// }
if (countPage == 0) {
countPage = 1;
}
var _pageJump = $('' +
'' +
'' +
'' +
' ' + modValue.options['page']['page'] + '/' + countPage + '页' +
'
' +
'' +
'' +
''
);
_pageJump.appendTo($("#gcmsArticlesListPage"));
if (modValue.options['page']['page'] == 1) {
$("#gcmsArticlesListPage .firstpage").css("background", "url(../images/layout/page_11.png) no-repeat 7px 11px")
$("#gcmsArticlesListPage .uppage").css("background", "url(../images/layout/page_13.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .nextpage").css("background", "url(../images/layout/page_06ch.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .endpage").css("background", "url(../images/layout/page_08ch.png) no-repeat 7px 11px")
} else if (modValue.options['page']['page'] == countPage) {
$("#gcmsArticlesListPage .firstpage").css("background", "url(../images/layout/page_11ch.png) no-repeat 7px 11px")
$("#gcmsArticlesListPage .uppage").css("background", "url(../images/layout/page_13ch.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .nextpage").css("background", "url(../images/layout/page_06.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .endpage").css("background", "url(../images/layout/page_08.png) no-repeat 7px 11px")
} else {
$("#gcmsArticlesListPage .firstpage").css("background", "url(../images/layout/page_11ch.png) no-repeat 7px 11px")
$("#gcmsArticlesListPage .uppage").css("background", "url(../images/layout/page_13ch.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .nextpage").css("background", "url(../images/layout/page_06ch.png) no-repeat 10px 11px")
$("#gcmsArticlesListPage .endpage").css("background", "url(../images/layout/page_08ch.png) no-repeat 7px 11px")
}
$(".firstpage").bind("click", function () {
modValue.options['page']['page'] = 1;
getColumnData();
})
$(".uppage").bind("click", function () {
modValue.options['page']['page'] -= 1;
if (modValue.options['page']['page'] == 0) {
modValue.options['page']['page'] = 1;
}
getColumnData();
})
$(".nextpage").bind("click", function () {
modValue.options['page']['page'] += 1;
if (modValue.options['page']['page'] == countPage) {
modValue.options['page']['page'] = countPage;
}
getColumnData();
})
$(".endpage").bind("click", function () {
modValue.options['page']['page'] = countPage;
getColumnData();
})
//return _pageJump;
// return phtml;
}
function getMarkerObj() {
return modValue.markerObj;
}
/**
* 注册监听
* @type {Function}
*/
function subscribe() {
ONEMAP.C.publisher.subscribe(remove, 'cleanMap');
ONEMAP.C.publisher.subscribe(GroupControl, 'gcmsGroupControl');
}
function GroupControl(type) {
if (type == "show") {
map23DControl.group({
action: 'show',
guid: modValue.markersGroupGuid
})
map23DControl.group({
action: 'show',
guid: modValue.markersGroupGuid
})
} else if (type == "hide") {
map23DControl.group({
action: 'hide',
guid: modValue.markersGroupGuid
})
map23DControl.group({
action: 'hide',
guid: modValue.markersGroupGuid
})
}
}
/**
* 取消监听
* @type {Function}
*/
function unSubscribe() {}
/**
* 模块移除
* @return {[type]} [description]
*/
function remove() {
unSubscribe();
$('#gcmsListWrap').remove();
$('#gcmsMainMenu').css("left", 0);
map23DControl.group({
action: 'cleanAll',
guid: modValue.markersGroupGuid
});
map23DControl.group({
action: 'remove',
guid: modValue.markersGroupGuid
});
if ($("#markerPopup").length > 0)
$("#markerPopup").remove();
}
return ONEMAP.M.gcmsList = {
init: init,
remove: remove,
getMarkerObj: getMarkerObj,
addIG: addIG
}
});