\n' +
'Created with Sketch.\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'暂无活动
\n' +
'\n' +
'\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
' \n' +
'
\n' +
'
\n' +
'- \n' +
'
\n' +
'
\n' +
'
\n' +
'
活动地点:
\n' +
'
活动时间:
\n' +
'
\n' +
' \n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'
\n' +
'';
if (typeof calendarNewsUrl != 'undefined') {
function getQueryVariable(query, variable) {
if (query.indexOf('?') > 0) query = query.substring(query.indexOf('?') + 1)
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return "";
}
var calendarNewsChnlid = ''
if (typeof calendarNewsExpress != 'undefined') {
calendarNewsExpress = calendarNewsExpress.split("=")
if (calendarNewsExpress.length == 2 && calendarNewsExpress[0] == 'chnlid') calendarNewsChnlid = calendarNewsExpress[1];
}
var _obj = {
docreltime: 'ycsj'
}
// 计算日历表
var getDate = function (year, month) {
var dates = [];
var indexes = {}
var d = new Date();
if (year && month) {
d = new Date(year + "/" + month + "/1")
}
// 计算month月第一天是星期几
var firstDayWeek = d.getDay();
d.setMonth(d.getMonth() + 1);
d.setDate(0);
// 计算month月最后一天是星期几
var lastDayWeek = d.getDay();
var days = d.getDate();
if (firstDayWeek !== 1) {
if (firstDayWeek == 0) {
days += firstDayWeek + 6
} else {
days += firstDayWeek - 1
}
}
d.setTime(d.getTime() - (days - 1) * 86400000);
if (lastDayWeek !== 0) {
days += 7 - lastDayWeek
}
var i = 0;
while (i < days) {
var item = {
date: d.getDate(),
month: d.getMonth() + 1,
fulldate: avalon.filters.date(d, 'yyyyMMdd'),
datestring: avalon.filters.date(d, 'yyyy.MM.dd'),
fullmonth: avalon.filters.date(d, 'yyyyMM'),
IDayCn: dealSpecialDesc(calendar.solar2lunar(avalon.filters.date(d, 'yyyy'), avalon.filters.date(d, 'MM'), avalon.filters.date(d, 'dd'))),
timeInterval: Date.parse(avalon.filters.date(d, 'yyyy/MM/dd')),
t: '',
f: 0,
isCurMonth: parseInt(month, 10) === d.getMonth() + 1,
datas: []
}
dates.push(item);
indexes['d' + item['fulldate']] = i;
d.setTime(d.getTime() + 86400000);
i++;
}
return {
dates: dates,
indexes: indexes
}
}
var getMonthBeginEndDay = function (paramsData) {
var returnObj = {
beginTimeStr: '',
endTimeStr: ''
}
var d = new Date(paramsData);
d.setDate(1);
returnObj.beginTimeStr = avalon.filters.date(d, 'yyyy.MM.dd');
d.setMonth(d.getMonth() + 1);
d.setDate(0);
returnObj.endTimeStr = avalon.filters.date(d, 'yyyy.MM.dd');
return returnObj;
}
/*处理特殊农历描述*/
function dealSpecialDesc(IDayCnObj) {
if (IDayCnObj.festival || IDayCnObj.lunarFestival || IDayCnObj.Term) {
if (IDayCnObj.festival && IDayCnObj.festival == "元旦节") {
return "元旦";
}
return IDayCnObj.Term || IDayCnObj.lunarFestival || IDayCnObj.festival;
}
return IDayCnObj.IDayCn;
}
require(['list', 'tools'], function (listModel, tools) {
var yearList = [];
for (var i = 2000; i <= (new Date()).getFullYear(); i++) {
yearList.push(i)
}
var $obj = listModel({
Mode: 'smartSearch',
objId: 'rili',
cache: false,
objArgs: {
listArgs: {
siteId: getQueryVariable(calendarNewsUrl, "siteId"),
keyName: getQueryVariable(calendarNewsUrl, "keyName"),
order: '-ycsj',
keyWord: typeof calendarNewsKeyWord != 'undefined' ? calendarNewsKeyWord : '',
express: ''
},
listApi: {
dataType: 'text',
rsName: 'rows', // 指定返回的结果集合的属性名称showStatic
removeLast: false, // 试着变更本值 ,分别为 false 、 0 、true
pageName: 'currentpage',
recordCountName: 'trsPage.recordcount', // 指定返回的记录总数的属性名称
pageCountName: 'trsPage.pagecount' // 指定返回的页面总数的属性名称
},
callBeforeAjax: function () {
try {
if ($obj.$vm) {
$obj.$vm.loading = true;
}
} catch (e) {
}
},
injAfterAjax: function (data) {
if ($obj.$object.listApi.dataType == 'text') { //如果是text类型,则转换为json对象
var str = jQuery.trim(data);
str = str.replace(new RegExp("[\n\r]", "gm"), "");//过滤可能存在的换行
var s = (new Function('return ' + str))();
data = s;
}
var rsName = $obj.$object.listApi.rsName;
var indexes = $obj.$vm.indexes.$model;
var num = 0;
if (data[rsName] && Array.isArray(data[rsName])) {
// 2023年10月10日 加载全部数据的情况下存储所有的数据
if($obj.$vm.isLoadAll){
$obj.$vm.activityListAll=data[rsName];
}
avalon.each(data[rsName], function (index, item) {
var docreltime = item[_obj["docreltime"]];
var _key = avalon.filters.date(docreltime, "yyyyMMdd")
var _keyMonth = avalon.filters.date(docreltime, "yyyyMM")
// 设置日历
if (index === 0 && $obj.$vm.first) {
$obj.$vm.calendarWatch = getDate(avalon.filters.date(docreltime, "yyyy"), avalon.filters.date(docreltime, "MM"));
$obj.$vm.currDate = avalon.filters.date(docreltime, "yyyy") + '/' + avalon.filters.date(docreltime, "MM") + '/1';
$obj.$vm.first = false;
$obj.$vm.lastDate = avalon.filters.date(docreltime, "yyyyMM");
}
// 存储数据
if (!indexes['m' + _keyMonth]) {
num++;
var _tempObj={};
_tempObj['d' + _key] = { datas: [item] };
indexes['m' + _keyMonth] = _tempObj;
} else {
if (!indexes['m' + _keyMonth]['d' + _key]) {
indexes['m' + _keyMonth]['d' + _key] = {
datas: [item]
}
} else {
indexes['m' + _keyMonth]['d' + _key]['datas'].push(item)
}
}
// 2023年10月10日 一次性获取所有的数据 begin
// 删除最后一个月
// if (index + 1 === data[rsName].length && num > 1) {
// delete indexes['m' + _keyMonth]
// }
// if(avalon.filters.date($obj.$vm.currDate, "yyyyMM")==_keyMonth){
// if(!indexes['m' + _keyMonth+"_list"]){
// indexes['m' + _keyMonth+"_list"] = [];
// }
// if(indexes['m' + _keyMonth+"_list"]){
// indexes['m' + _keyMonth+"_list"].push(item);
// }
// }
if(!indexes['m' + _keyMonth+"_list"]){
indexes['m' + _keyMonth+"_list"] = [];
}
if(indexes['m' + _keyMonth+"_list"]){
indexes['m' + _keyMonth+"_list"].push(item);
}
// 2023年10月10日 一次性获取所有的数据 end
})
}
$obj.$vm.indexes = indexes;
if (data[rsName] && Array.isArray(data[rsName]) && data[rsName].length === 0) {
$obj.$vm.calendarWatch = getDate(avalon.filters.date($obj.$vm.currDate, "yyyy"), avalon.filters.date($obj.$vm.currDate, "MM"));
}
data[rsName] = $obj.$vm.showCalendarWatch()
data["trsPage"]["recordcount"] = data[rsName].length;
if ($obj.$object.listApi.dataType == 'text') data = JSON.stringify(data);
return data;
},
call4error: function () {
$obj.$vm.setCalendarWatch();
}
},
pagebar: { prepage: 200 },
search: {
searchArgs: {
chnlid: {
type: "express",
valueType: "string",
value: typeof calendarNewsChnlid != 'undefined' ? calendarNewsChnlid : '',
field: 'CHNLID',
compare: '='
},
ycsj: {
type: "express",
valueType: 'string',
field: 'ycsj',
// 时间不再限制,默认取所有 value: getMonthBeginEndDay(new Date()).beginTimeStr+' to ' + getMonthBeginEndDay(new Date()).endTimeStr
value: (function(){
var timeObj_var1 = getMonthBeginEndDay(new Date());
return timeObj_var1.beginTimeStr + ' to ' + timeObj_var1.endTimeStr;
})(),
compare: '='
}
}
},
vmArgsExt: {
htmlName: 'calendarNews.html',
currDate: avalon.filters.date(new Date(), 'yyyy.MM.dd'),
todayDate: avalon.filters.date(new Date(), 'yyyy.MM.dd'),
selectDate: avalon.filters.date(new Date(), 'yyyy.MM.dd'),
calendarWatch: { dates: [] },
indexes: {},
flagObj: {
yearFlag: false,
monthFlag: false
},
first: true,
lastDate: '',
yearList: yearList,
// 活动集
activityList: [],
// 是否加载中
loading: true,
// 活动集收集范围
activityListFilter: 'month',
// 是否一次性加载全部 2023年10月10日
isLoadAll: window['calendarNewsIsLoadAll'] ? true: false,
// 活动集全部 2023年10月10日
activityListAll:[],
monthList: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
// 点击时间设置
setDate: function (num, type) {
// 2023年9月5日 新增日历回显 begin
$obj.$vm.activityList = [];
$obj.$vm.loading = true;
$obj.$vm.selectDate = '';
// 2023年9月5日 新增日历回显 end
var d = new Date($obj.$vm.currDate);
d.setDate(1);
switch (type) {
// 设置月份
case 'month': d = new Date(d.getFullYear() + '/' + num + '/1'); $obj.$vm.tog('monthFlag'); break;
// 设置年份
case 'year': d = new Date(num + '/' + $obj.$vm.currMonth() + '/1'); $obj.$vm.tog('yearFlag'); break;
// 上下月份或者年份
default:
d.setMonth(d.getMonth() + num);
// 活动收集范围为月份
$obj.$vm.activityListFilter = "month";
break;
}
var timeObj_var1 = getMonthBeginEndDay(d);
var year = d.getFullYear(), month = d.getMonth() + 1;
var lastDate = parseInt($obj.$vm.lastDate, 10)
d.setMonth(d.getMonth() + 1);
d.setDate(0);
month = month > 9 ? month : '0' + month;
$obj.$vm.currDate = avalon.filters.date(d, "yyyy-MM-dd");
/*if(!$obj.$vm.first && lastDate < parseInt(year + '' + month)) {
$obj.$vm.setCalendarWatch(year, month)
return;
}*/
var indexes = $obj.$vm.indexes.$model;
$obj.$search.$vm.searchForm.ycsj = timeObj_var1.beginTimeStr + ' to ' + timeObj_var1.endTimeStr;
$obj.$vm.calendarWatch = getDate(year, month)
if (indexes["m" + year + month]) {
$obj.$vm.list = $obj.$vm.showCalendarWatch()
return;
}
$obj.$search.$vm.$search()
},
tog: function (_field) {
$obj.$vm.flagObj[_field] = !$obj.$vm.flagObj[_field];
},
// 当前月份
currMonth: function () {
var month = new Date($obj.$vm.currDate).getMonth() + 1;
return month > 9 ? month : "0" + month;
},
// 当前时间设置
curClass: function (value, type) {
if (type == 'month') {
var month = $obj.$vm.currMonth();
return value == month;
}
return value == new Date($obj.$vm.currDate).getFullYear()
},
showCalendarWatch: function (flag) {
// 数据索引
var indexes = $obj.$vm.indexes.$model;
var currentMonthDatas = indexes["m" + avalon.filters.date($obj.$vm.currDate, "yyyyMM")] || [];
var calendarWatch = $obj.$vm.calendarWatch.$model;
// 日历表索引
if (!flag) {
var _indexes = calendarWatch["indexes"];
for (var key in currentMonthDatas) {
if (_indexes[key]) calendarWatch["dates"][_indexes[key]]["datas"] = currentMonthDatas[key]["datas"]
}
}
var row = ~~(calendarWatch["dates"].length / 7);
var res = []
for (var i = 0; i < row; i++) {
res.push(calendarWatch["dates"].splice(0, 7))
}
$obj.$vm.activityList = [];
var list_var1 = indexes['m' + avalon.filters.date($obj.$vm.currDate, "yyyyMM") + "_list"];
// if (list_var1) {
// $obj.$vm.activityList = JSON.parse(JSON.stringify(list_var1))
// }
// 2023年10月10日 在不加载全部的情况下,才加载月份数据
if(list_var1&&!$obj.$vm.isLoadAll){
$obj.$vm.activityList=JSON.parse(JSON.stringify(list_var1))
}
// 2023年10月10日 默认初始化加载全部
if($obj.$vm.isLoadAll){
console.log($obj.$vm.activityListAll);
$obj.$vm.activityList=$obj.$vm.activityListAll;
$obj.$vm.isLoadAll=false;
}
setTimeout(function () {
$obj.$vm.loading = false;
}, 1500)
return res;
},
setCalendarWatch: function () {
var d = $obj.$vm.currDate;
$obj.$vm.calendarWatch = getDate(avalon.filters.date(d, "yyyy"), avalon.filters.date(d, "MM"));
$obj.$vm.list = $obj.$vm.showCalendarWatch(true)
},
showCurrDayData: function (item) {
$obj.$vm.selectDate = item.datestring;
$obj.$vm.loading = true;
$obj.$vm.activityList = [];
$obj.$vm.activityList = JSON.parse(JSON.stringify(item.datas));
setTimeout(function () {
$obj.$vm.loading = false;
}, 1500)
}
}
})
})
}