leguevent/pmcalendar - 副本.php
2021-01-14 15:27:52 +08:00

1898 lines
71 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$user = SESS::get('EVENTUserInfo');
// if(isn($user))exit();
$user = json_decode($user, true);
// $user['name'] = "罗松柏";
$canEdit = in_array($user['name'], $ROLES);
$isgxvrole ='1'; //in_array($user['name'], $GXVROLES); //更新信息查看区浏览权限
$isgxyyerole = in_array($user['name'], $GXYYEROLES);//更新运营中心编辑权限
$isgxcperole = in_array($user['name'], $GXCPEROLES);//更新产品中心编辑权限
$isgxyferole = in_array($user['name'], $GXYFEROLES);//更新研发中心编辑权限
$isxfvrole = in_array($user['name'], $XFVROLES); //修复信息查看区浏览权限
$isxfyyerole = in_array($user['name'], $XFYYEROLES);//修复运营中心编辑权限
$isdbvrole ='1'; //in_array($user['name'], $DBVROLES); //打包信息查看区浏览权限
$isdbyyerole = in_array($user['name'], $DBYYEROLES);//打包运营中心编辑权限
$isdbcperole = in_array($user['name'], $DBCPEROLES);//打包产品中心编辑权限
$isdbyferole = in_array($user['name'], $DBYFEROLES);//打包研发中心编辑权限
function fix2($v)
{
$x = '00' . $v;
return substr($x, -2);
}
$act = r('act');
$type = r('type');
if ($act == 'newevent') {
$keys = array('start', 'end', 'game', 'allday', 'shour', 'smin', 'event', 'title');
$dict = array();
foreach ($keys as $k) {
$dict[$k] = r($k);
}
$sql = DB::insert('calendar', $dict);
DB::exe($sql);
we('1');
} else if ($act == 'edityunying') {
$id = r('id');
$dict = array(
'yunying_remark' => stripslashes(r('content'))
);
$sql = DB::update('calendar', $dict, "id='{$id}'");
DB::exe($sql);
we('1');
} else if ($act == 'edityanfa') {
$id = r('id');
$dict = array(
'yanfa_remark' => stripslashes(r('content'))
);
$sql = DB::update('calendar', $dict, "id='{$id}'");
DB::exe($sql);
we('1');
} else if ($act == 'editchanpin') {
$id = r('id');
$dict = array(
'chanpin_remark' => stripslashes(r('content'))
);
$sql = DB::update('calendar', $dict, "id='{$id}'");
DB::exe($sql);
we('1');
} else if ($act == 'modievent') {
$id = r('id');
$keys = array('start', 'end', 'game', 'allday', 'shour', 'smin', 'event', 'title');
$dict = array();
foreach ($keys as $k) {
$dict[$k] = r($k);
}
$sql = DB::update('calendar', $dict, "id='{$id}'");
DB::exe($sql);
we('1');
} else if ($act == 'movevent') {
$id = r('id');
$keys = array('start', 'end');
$dict = array();
foreach ($keys as $k) {
$dict[$k] = r($k);
}
if (isn($dict['end'])) $dict['end'] = $dict['start'];
$sql = DB::update('calendar', $dict, "id='{$id}'");
DB::exe($sql);
we('1');
} else if ($act == 'delevent') {
$id = r('id');
$sql = "delete from calendar where id='{$id}'";
DB::exe($sql);
we('1');
} else if ($act == 'getEventByid') {
$id = r('id');
$sql = "select * from calendar where id='{$id}'";
$rs = DB::getOne($sql);
we(json_encode($rs));
} else if ($act == 'getEvents') {
$start = r('start');
$end = r('end');
$game = r('game');
$where = "";
if (!isn($game)) {
$where .= " and game='{$game}'";
}
$startDate = date('Y-m-d', $start);
$endDate = date('Y-m-d', $end);
$month = date('Y-m', ($start + $end) / 2);
$sql = "select * from calendar where ((start>='{$startDate}' and start<='{$endDate}') or (end>='{$startDate}' and end<='{$endDate}')) {$where}";
$rss = DB::getArray($sql);
$eventTypeCnt = array(
'节点' => 0,
'打包' => 0,
'版本更新' => 0,
'上线' => 0,
'修复外网' => 0
);
$eventCount = array(
'总更新&总修复' => array(
'dangerCount' => 0,
'purpleCount' => 0
)
);
$res = array();
foreach ($rss as $rs) {
if (!$eventCount[$rs['game']]) {
$eventCount[$rs['game']] = array(
'dangerCount' => 0,
'purpleCount' => 0
);
}
if (strstr($rs['end'], $month)) {
$eventTypeCnt[$rs['event']] += 1;
}
$class = "light";
if ($rs['event'] == '节点') {
$class = "success";
} elseif ($rs['event'] == '打包') {
$class = "warning";
} elseif ($rs['event'] == '版本更新') {
$class = "danger";
if (strstr($rs['end'], $month)) {
$eventCount[$rs['game']]['dangerCount'] += 1;
$eventCount['总更新&总修复']['dangerCount'] += 1;
}
} elseif ($rs['event'] == '上线') {
$class = "pink";
} elseif ($rs['event'] == '修复外网') {
$class = "purple";
if (strstr($rs['end'], $month)) {
$eventCount[$rs['game']]['purpleCount'] += 1;
$eventCount['总更新&总修复']['purpleCount'] += 1;
}
}
$gameName = $rs['game'];
$row = array(
'id' => $rs['id'],
'title' => '【' . $gameName . '】' . $rs['event'] . "" . $rs['title'],
'start' => $rs['start'],
'end' => $rs['end'],
'className' => 'label-' . $class,
);
$row['allDay'] = true;
$res[] = $row;
}
$eventCharts = array(array('product', '更新次数', '修复次数'));
$eventTable = array([], []);
foreach ($eventCount as $key => $value) {
if ($eventCount[$key]['purpleCount'] != 0 || $eventCount[$key]['dangerCount'] != 0)
$eventCharts[] = array($key, $eventCount[$key]['dangerCount'], $eventCount[$key]['purpleCount']);
}
foreach ($eventCharts as $value) {
$eventTable[0][] = $value[0];
$eventTable[1][0][] = $value[1];
$eventTable[1][1][] = $value[2];
if ($eventCount[$value[0]]['dangerCount'] == 0)
$eventTable[1][2][] = '0.00%';
else
$eventTable[1][2][] = number_format($eventCount[$value[0]]['purpleCount'] * 100 / $eventCount[$value[0]]['dangerCount'], 2) . '%';
}
// we(json_encode(array('charts'=>$eventCharts,'table'=>$eventTable)));
$json = array(
'calendarData' => $res
);
if (!isn($game)) {
$where = " and game='{$game}'";
$sql = "select * from calendar where 1=1 {$where} order by end";
$rss = DB::getArray($sql);
$res = array();
foreach ($rss as $rs) {
$res[] = array(
"end" => $rs['end'],
"gamename" => $rs['game'],
"event" => $rs['event'],
"title" => $rs['title']
);
}
$json["gameInfo"] = $res;
}
if ($type == 'charts')
// we(json_encode($eventCharts));
we(json_encode(array('charts' => $eventCharts, 'table' => $eventTable)));
else{
$json['count'] = $eventTypeCnt;
we(json_encode($json));
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>乐谷游戏管理系统</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!-- basic styles -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet"/>
<link rel="stylesheet" href="assets/css/font-awesome.min.css"/>
<!--[if IE 7]>
<link rel="stylesheet" href="assets/css/font-awesome-ie7.min.css"/>
<![endif]-->
<!--link rel="stylesheet" href="http://fonts.useso.com/css?family=Open+Sans:400,300" /-->
<!-- ace styles -->
<link rel="stylesheet" href="assets/css/ace.min.css"/>
<link rel="stylesheet" href="assets/css/ace-rtl.min.css"/>
<link rel="stylesheet" href="assets/css/ace-skins.min.css"/>
<!--[if lte IE 8]>
<link rel="stylesheet" href="assets/css/ace-ie.min.css"/>
<![endif]-->
<script src="assets/js/ace-extra.min.js?_veri=20151101"></script>
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<script src="assets/js/respond.min.js"></script>
<![endif]-->
<script src="assets/tmpl.js"></script>
<style>html, body, h1 {
font-family: "微软雅黑" !important
}</style>
<!--[if !IE]> -->
<script type="text/javascript">
window.jQuery || document.write("<script src='assets/js/jquery-2.0.3.min.js'>" + "<" + "script>");
</script>
<!-- <![endif]-->
<!--[if IE]>
<script type="text/javascript">
window.jQuery || document.write("<script src='assets/js/jquery-1.10.2.min.js'>" + "<" + "script>");
</script>
<![endif]-->
<script type="text/javascript">
if ("ontouchend" in document) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>" + "<" + "script>");
</script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/typeahead-bs2.min.js"></script>
<!-- page specific plugin scripts -->
<!--[if lte IE 8]>
<script src="assets/js/excanvas.min.js"></script>
<![endif]-->
<script src="assets/js/jquery-ui-1.10.3.custom.min.js"></script>
<script src="assets/js/jquery.ui.touch-punch.min.js"></script>
<script src="assets/js/jquery.slimscroll.min.js"></script>
<script src="assets/js/jquery.easy-pie-chart.min.js"></script>
<script src="assets/js/jquery.sparkline.min.js"></script>
<script src="assets/js/flot/jquery.flot.min.js"></script>
<script src="assets/js/flot/jquery.flot.pie.min.js"></script>
<script src="assets/js/flot/jquery.flot.resize.min.js"></script>
<!-- ace scripts -->
<script src="assets/js/ace-elements.min.js"></script>
<script src="assets/js/ace.min.js"></script>
<script src="assets/jedate.js"></script>
<script src="assets/doT.js"></script>
<script src="assets/echarts.min.js"></script>
<script src="assets/public.js?_=123"></script>
<!-- inline scripts related to this page -->
<link rel="stylesheet" href="assets/css/fullcalendar.css"/>
</head>
<body>
<div class="main-container" id="main-container">
<script type="text/javascript">
try {
ace.settings.check('main-container', 'fixed')
} catch (e) {
}
</script>
<div class="main-container-inner">
<div class="main-content">
<div class="page-content">
<div class="page-header">
<!-- <h1>LeGu Event</h1> -->
<img src="assets/images/logo.png">
<div class='xian2'></div>
</div>
<div id="gamesbtn" style="padding:0 11px 15px 11px;">
<!-- 筛选: -->
<?php if ($canEdit) { ?><a href="./?app=edit" class='btn btn-minier btn-pink'>编辑游戏</a><? } ?>
<!-- <a href="./?app=edit" class='btn btn-minier btn-pink'>编辑游戏</a>-->
<button value='' onclick='onlyShowGame(this)' class='btn btn-minier btn-info'>显示全部</button>
<?php
foreach ($GAMES as $g) {
echo "<button value='{$g}' onclick='onlyShowGame(this)' class='btn btn-minier'>{$g}</button> ";
} ?>
<div class="space-6"></div>
</div>
<style>
html,body {
height: 100%;
overflow: auto;
}
.xian2 {
width: calc(100% - 200px);
height: 1px;
background-color:#f3f3f3;
}
.datarepair {
z-index: 1000;
width: 100px;
height: 27px;
line-height: 27px;
position: relative;
top: 60px;
color: #0078f7;
margin: 0 auto;
cursor: pointer;
font-size: 12px;
display: flex;
background-color:#ffffff;
border-radius: 8px;
text-align: center;
margin-bottom: 15px;
border: 1px solid #0078f7;
}
.datarepair img {
width: 12px;
height: 12px;
margin-right: 10px;
margin-left: 15px;
margin-top: 7px;
}
#gameinfo {
margin: 0 0 20px 0;
/* background-color:#f5f5f9; */
}
#gameinfo li {
padding: 0px 0 0 20px;
line-height: 40px;
background: #50abe4;
display: inline-block;
color: #fff;
position: relative;
display: inline-block;
margin: 5px
}
#gameinfo li:after {
content: '';
display: block;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-left: 20px solid #50abe4;
position: absolute;
right: -20px;
top: 0;
z-index: 10;
}
#gameinfo li:before {
content: '';
display: block;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-left: 20px solid #fff;
position: absolute;
left: 0px;
top: 0;
}
.fc-header {
position: relative;
top: -40px;
}
.xian3 {
height: 13px;
width:100%;
background-color:#f3f3f3;
}
</style>
<div id="gameinfo" style="display:block">
<ul>
</ul>
</div>
<div class="xian3"></div>
<style>
.fc-event {
border: none;
min-height: 30px;
}
.data_box {
display: none;
overflow: scroll;
/* width: 800px; */
}
.data_tab {
width: 450px;
display: flex;
justify-content: center;
flex-flow: row wrap;
align-items: center;
position: relative;
top: 18px;
right: 2%;
z-index: 1000;
float: right;
}
.data-box {
width: 80px;
text-align: center;
display: flex;
align-items: center;
margin-right: 10px;
}
.data-box img {
width: 25px;
/* margin: 0 auto; */
margin-right: 5px
}
.data-box .data-name {
font-size: 12px;
color: #8e8e8e;
text-align: center;
}
.data-box .data-num {
font-size: 14px;
color: #a0a0a0;
text-align: center;
}
.formtab {
padding: 27px 0px !important;
color:#474747 !important;
border: 0px !important;
text-align: center;
}
.fc-week {
background-color:#f7f7f7;
}
</style>
<div class='datarepair' id="datarepair" onclick="datarepair()">
<img src='assets/images/tongji.png' id="dataimg"/> <span id='datarepairname'>查看统计</span>
</div>
<div class='data_tab'>
<div class='data-box'>
<img src="assets/images/dabao.png"/>
<p class="data-name">打包</p>
<p class="data-num" id="dabaonum"></p>
</div>
<div class='data-box'>
<img src="assets/images/gengxin.png"/>
<p class="data-name">更新</p>
<p class="data-num" id="gengxinnum"></p>
</div>
<div class='data-box'>
<img src="assets/images/xiufu.png"/>
<p class="data-name">修复</p>
<p class="data-num" id="xiufunum"></p>
</div>
<div class='data-box'>
<img src="assets/images/jeidian.png"/>
<p class="data-name">节点</p>
<p class="data-num" id="jeidiannum"></p>
</div>
<div class='data-box'>
<img src="assets/images/shangxian.png"/>
<p class="data-name">上线</p>
<p class="data-num" id="shangxainnum"></p>
</div>
</div>
<div class='data_box' id='data_box'>
<div id="chart" class="chartbox" style="width:100%;height:400px; margin-top:90px;"></div>
<div class="card-body" style="margin: 0 2% 0 3%;">
<table class="table table-bordered table-striped" style='border:1px solid #f0f0f0 !important; min-width: 800px; text-align:center;'>
<thead id="thead-title" class="thead" ></thead>
<tbody id="tbody-content"></tbody>
</table>
</div>
</div>
<div class="col-xm-12" id="calendardiv">
<div id="calendar"></div>
</div>
</div>
</div>
</div>
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
<i class="icon-double-angle-up icon-only bigger-110"></i>
</a>
</div>
<style>
/* */
.popup-bg {
width: 100%;
height: 100%;
min-height: 100%;
background-color: rgba(000, 000, 000, 0.5);
position: fixed;
top: 0;
z-index: 100000;
display: flex;
display: none;
}
.yiny {
width: calc(100% - 350px);
height: 100%;
min-height: 100%;
position: fixed;
top: 0;
z-index: 1000000;
}
.popup-box {
width: 350px;
height: 100%;
min-height: 100%;
background-color: #fff;
position: fixed;
right: 0;
z-index: 1001;
overflow: scroll;
}
::-webkit-scrollbar {
/*隐藏滚轮*/
display: none;
}
.pop-top {
width: 100%;
background-color: #ececec;
display: flex;
padding: 15px 20px;
}
.bianji {
width: 20px;
height: 20px;
cursor: pointer;
}
.bianji img {
width: 100%;
}
.pop-title {
color: #494949;
font-size: 18px;
margin: 0 auto;
cursor: pointer;
}
.list-box {
margin: 10px 20px 0 20px;
border: 1px solid #f2f2f2;
}
.list-title {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #f2f2f2;
}
.tit {
display: flex;
align-items: center;
font-size: 16px;
color: #686868;
}
.xian {
width: 7px;
height: 15px;
background-color: #5fadff;
margin-left: 10px;
margin-right: 5px;
}
.cptime {
font-size: 12px;
color: #c1c1c1;
margin-right: 14px;
}
.cptext-box {
border-bottom: 1px solid #f2f2f2;
}
.cptext-box textarea {
width: 100%;
min-height: 111px;
max-height: 160px;
padding: 20px 14px;
font-size: 12px;
color: #848484;
border: 0;
resize: none;
line-height: 18px;
}
.fujian {
display: flex;
flex-flow:row wrap;
align-items: center;
font-size: 12px;
color: #b8b8b8;
}
.fujianinfo {
display: flex;
align-items: center;
margin-top: 5px;
}
.fujian img {
width: 14px;
margin-right: 7px;
margin-left: 14px;
}
.ximg {
margin-right: 0px !important;
margin-left: 5px !important;
margin-top: 2px;
cursor:pointer;
}
.tianjia {
margin-right: 0px;
margin-top: 10px;
}
.fujian-box {
/* display: flex;
justify-content: space-between;
align-items: center; */
padding: 10px 0;
}
.tianjiainp {
display: none !important;
}
.fujian a {
color: #61adfe;
}
input[type="file"] {
padding: 0 14px;
}
.tijaioanniu {
display: flex;
justify-content: space-between;
align-items: center;
/* padding: 10px 0; */
}
.tijiao {
width: 280px;
height: 34px;
line-height:34px;
background-color: #5fadff;
font-size: 14px;
text-align: center;
color: #fff;
border-radius: 8px;
float: right;
cursor: pointer;
margin-top: -5px;
}
.upfujian {
width: 100%;
margin: 0 13px;
}
.listhove {
box-shadow: 0px 0px 5px #40a9ff;
}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder { /* WebKit browsers*/
color:#c3c3c3;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18*/
color:#c3c3c3;
}
input:-moz-placeholder { /* Mozilla Firefox 19+*/
color:#c3c3c3;
}
input:-ms-input-placeholder { /* Internet Explorer 10+*/
color:#c3c3c3;
}
</style>
<div class='popup-bg' id='popup-bg'>
<div class="yiny" id='yiny' onclick="guanbi()"></div>
<div class='popup-box'>
<div class="pop-top">
<div class='bianji' onclick='bianji()'><img src='assets/images/bianji.png'/></div>
<div class="pop-title" id='pop-title' onclick='Info()'></div>
</div>
<div class="list-box" id='listcp'>
<div class='list-title'>
<div class='tit'>
<div class='xian'></div>
产品中心
</div>
<div class='cptime' id='cptime'></div>
</div>
<div class='cptext-box'>
<textarea disabled='disabled' id='cptext' onblur="isFocuscp()" placeholder="添加产品中心对本节点的描述"></textarea>
</div>
<div class='fujian-box'>
<!-- 附件 -->
<div class='fujian' id='fujianname' ></div>
<!-- <div class='fujian xz' id='xzfujianname' ></div> -->
<div class="tijaioanniu">
<div style=" position: relative; display: none" class="upfujian" id="upfujian_cp">
<img class='tianjia' src='./assets/images/jia.png'/>
<iframe id="_hideiframe" name="_hideiframe" style="display: none;"></iframe>
<form method="post" id="uploader" style="display: block; clear: both; margin-top: 10px;;"
target="_hideiframe" action="" enctype="multipart/form-data">
<input name="cid" type="hidden" value="<%=DATA.lastShowCardID%>" style='opacity: 0; position: absolute;z-index: 1001;'/>
<input type="file" id="fujian" name="fujian[]" multiple
onchange="document.getElementById('uploader').submit()" style='opacity: 0; position: absolute; top:20px; z-index: 1001;'>
</form>
<div class='tijiao' id="cptijiao">提交</div>
</div>
</div>
</div>
</div>
<div class="list-box" id='listyy'>
<div class='list-title'>
<div class='tit'>
<div class='xian'></div>
运营中心
</div>
<div class='cptime' id='yytime'></div>
</div>
<div class='cptext-box'>
<textarea disabled='disabled' id='yytext' placeholder="填写本次更新概要,详细更新内容请使用附件"></textarea>
</div>
<div class='fujian-box'>
<!-- 附件 -->
<div class='fujian' disabled='disabled' id='yyfujian'></div>
<!-- <div class='fujian xz' id='yyxzfujian'></div> -->
<!-- <div style=" position: relative;display: inline-block;">
<img class='tianjia' src='/assets/images/jiahao.png'/>
<input name="customer_file" type="file" id="excelFile2"
style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 1001;opacity: 0;filter:alpha(opacity=0);">
</div> -->
<div class="tijaioanniu">
<div style=" position: relative;display: none;" class="upfujian" id="upfujian_yy">
<img class='tianjia' src='./assets/images/jia.png'/>
<iframe id="_hideiframe2" name="_hideiframe" style="display: none;"></iframe>
<form method="post" id="uploader_yy" style="display: block; clear: both; margin-top: 10px;;"
target="_hideiframe" action="" enctype="multipart/form-data">
<input name="cid" type="hidden" value="<%=DATA.lastShowCardID%>" style='opacity: 0; position: absolute;z-index: 1001;'/>
<input type="file" id="fujian_yy" name="fujian[]" multiple
onchange="document.getElementById('uploader_yy').submit()" style='opacity: 0;position: absolute; top:20px; z-index: 1001;'>
</form>
<div class='tijiao' id="yytijiao">提交</div>
</div>
</div>
</div>
</div>
<div class="list-box" id='listyf'>
<div class='list-title'>
<div class='tit'>
<div class='xian'></div>
研发中心
</div>
<div class='cptime' id='yftime'></div>
</div>
<div class='cptext-box'>
<textarea disabled='disabled' id='yftext' placeholder="添加研发中心对本节点的描述"></textarea>
</div>
<div class='fujian-box'>
<!-- 附件 -->
<div class='fujian' id='yffujian'></div>
<!-- <div class='fujian xz' id='yfxzfujian'></div> -->
<div class="tijaioanniu">
<div style=" position: relative;display: none;" class="upfujian" id="upfujian_yf">
<img class='tianjia' src='./assets/images/jia.png'/>
<iframe id="_hideiframe3" name="_hideiframe" style="display: none;"></iframe>
<form method="post" id="uploader_yf" style="display: block; clear: both; margin-top: 10px;"
target="_hideiframe" action="" enctype="multipart/form-data">
<input name="cid" type="hidden" value="<%=DATA.lastShowCardID%>" style='opacity: 0; position: absolute;z-index: 1001;'/>
<input type="file" id="fujian_yf" name="fujian[]" multiple
onchange="document.getElementById('uploader_yf').submit()" style='opacity: 0; position: absolute; top:20px; z-index: 1001;'>
</form>
<div class='tijiao' id="yftijiao">提交</div>
</div>
</div>
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="assets/css/jquery.gritter.css"/>
<script src="assets/js/jquery.gritter.min.js"></script>
<script src="assets/js/bootbox.min.js"></script>
<script src="assets/js/fullcalendar.min.js"></script>
<link rel="stylesheet" href="assets/css/daterangepicker.css"/>
<script src="assets/js/date-time/moment.min.js"></script>
<script src="assets/js/date-time/daterangepicker.min.js"></script>
<script type="text/x-dot-template" id="thead-dot">
<tr style="background:#fafafa !important;">
{{~it:item:index}}
<th class='formtab' style="padding: 25px 0px; color:#474747; border: 0px;">{{=item}}</th>
{{~}}
</tr>
</script>
<script type="text/x-dot-template" id="tbody-dot">
{{ for(var i in it) { }}
<tr>
{{? i != 1}}
{{ for(var k in it[i]) { }}
{{? k !=1}}
<td style="border-top: 1px solid #f0f0f0; color:#474747; padding: 25px 0; background-color:#fff; border-bottom:0px; border-left:0px; border-right:0px; ">{{= it[i][k]}}</td>
{{??}}
<td style="border-top: 1px solid #f0f0f0; color:#474747; padding: 25px 0; background-color:#fff; border-bottom:0px; border-left:0px; border-right:0px; color:#007efa !important;">{{= it[i][k]}}</td>
{{?}}
{{ } }}
{{??}}
{{ for(var k in it[i]) { }}
{{? k !=1}}
<td style="border-top: 1px solid #f0f0f0; color:#474747; padding: 25px 0; background-color:#fafafa; border-bottom:0px; border-left:0px; border-right:0px; ">{{= it[i][k]}}</td>
{{??}}
<td style="border-top: 1px solid #f0f0f0; color:#474747; padding: 25px 0; background-color:#fafafa; border-bottom:0px; border-left:0px; border-right:0px; color:#007efa !important;">{{= it[i][k]}}</td>
{{?}}
{{ } }}
{{?}}
</tr>
{{ } }}
</script>
<script type="text/x-dot-template" id="fujian-dot">
{{~it:item:index}}
<div class='fujianinfo'>
<img src="./assets/images/xiazai.png"/ class='xiazaiimg'>
<div id='cpfuinfo'>
<a href='http://10.0.0.5/leguevent_dev{{= item.file}}' target="_blank">{{= item.name}}</a>
</div>
<img src="./assets/images/x.png" class='ximg' onclick="deletefujian('{{= item.key}}')"/>
</div>
{{~}}
</script>
<script type="text/x-dot-template" id="fujiankong-dot">
{{~it:item:index}}
<div class='fujian'>
<img src="./assets/images/fujian.png"/>
未添加附件
</div>
{{~}}
</script>
<script>
var showGame = "";
var starttime, endtime;
var dstr = ''
var dict = {};
var bumen;
var notid;
var arrcp = [];
var arryy = [];
var arryf = [];
var starts ='';
function deletefujian(id){
if("<?=$isxfvrole?>" != "1" && "<?=$isxfyyerole?>" != "1" && "<?=$canEdit?>" != "1" && "<?=$isgxvrole?>" != "1" && "<?=$isgxyyerole?>" != "1" && "<?=$isgxcperole?>" != "1" && "<?=$isgxyferole?>" != "1" && "<?=$canEdit?>" != "1")return
if (confirm("确定删除该附件?")) {
$.ajax({
url: './?app=uploader&act=del',
dataType: 'json',
data: {
id: notid,
key: id
},
success: function (res) {
console.log(res);
alert('删除成功');
showEventData(notid);
// textdisabled();
},
error: function () {
alert('数据异常,请稍后重试!!!');
showEventData(notid);
// textdisabled();
}
});
}
}
$('#fujian').change(function () {
var wenjianname = $('#fujian').val();
var obj = document.getElementById("fujian");
var len = obj.files.length;
var temp;
for (var i = 0; i < len; i++) {
// temp = obj.files[i].name;
var data = {};
data['name'] = obj.files[i].name
data['file'] = "#"
arrcp.push(data)
}
$("#fujianname").empty();
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("fujianname").innerHTML = tmpltxt(arrcp);//数据渲染
// console.log('arr');
})
$("#fujian_yy").change(function () {
var wenjianname = $('#fujian_yy').val();
var obj = document.getElementById("fujian_yy");
var len = obj.files.length;
var temp;
for (var i = 0; i < len; i++) {
// temp = obj.files[i].name;
var data = {};
data['name'] = obj.files[i].name
data['file'] = "#"
arryy.push(data)
}
$("#yyfujian").empty();
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("yyfujian").innerHTML = tmpltxt(arryy);//数据渲染
})
$("#fujian_yf").change(function () {
var wenjianname = $('#fujian_yf').val();
var obj = document.getElementById("fujian_yf");
var len = obj.files.length;
var temp;
// var arr = [];
for (var i = 0; i < len; i++) {
// temp = obj.files[i].name;
var data = {};
data['name'] = obj.files[i].name
data['file'] = "#"
arryf.push(data)
}
$("#yffujian").empty();
console.log(arryf);
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("yffujian").innerHTML = tmpltxt(arryf);//数据渲染
})
//产品提交
$('#cptijiao').click(function () {
var cptext = $("#cptext").val();
var myDate = new Date();
var year = myDate.getFullYear(); //获取当前年份(2位)
var month = myDate.getMonth()+1;
var day = myDate.getDate();
var branch = myDate.getHours(); //获取当前小时数(0-23)
var second = myDate.getMinutes(); //获取当前分钟数(0-59)
var arr = {}
arr['msg'] = cptext,
arr['date'] = year + '-' + month + '-' + day + ' ' + branch + ':' + second
arr = JSON.stringify(arr)
$.ajax({
url: './?app=pmcalendar&act=editchanpin',
dataType: 'application/x-www-form-urlencoded',
type: "post",
async: "true",
data: {
id: notid,
content: arr
},
success: function (res) {
console.log(res);
alert('提交成功');
showEventData(notid);
textdisabled();
},
error: function () {
alert('数据异常,请稍后重试!!!');
showEventData(notid);
textdisabled();
}
});
})
//运营
$('#yytijiao').click(function () {
var yytext = $("#yytext").val();
var myDate = new Date();
var year = myDate.getFullYear(); //获取当前年份(2位)
var month = myDate.getMonth()+1;
var day = myDate.getDate();
var branch = myDate.getHours(); //获取当前小时数(0-23)
var second = myDate.getMinutes(); //获取当前分钟数(0-59)
var arr = {}
arr['msg'] = yytext,
arr['date'] = year + '-' + month + '-' + day + ' ' + branch + ':' + second
arr = JSON.stringify(arr)
$.ajax({
url: './?app=pmcalendar&act=edityunying',
dataType: 'json',
data: {
id: notid,
content: arr
},
success: function (res) {
console.log(res);
alert('提交成功');
showEventData(notid);
textdisabled();
},
error: function () {
alert('数据异常,请稍后重试!!!');
showEventData(notid);
textdisabled();
}
});
})
//研发
$('#yftijiao').click(function () {
var yftext = $("#yftext").val();
var myDate = new Date();
var year = myDate.getFullYear(); //获取当前年份(2位)
var month = myDate.getMonth()+1;
var day = myDate.getDate();
var branch = myDate.getHours(); //获取当前小时数(0-23)
var second = myDate.getMinutes(); //获取当前分钟数(0-59)
var arr = {}
arr['msg'] = yftext,
arr['date'] = year + '-' + month + '-' + day + ' ' + branch + ':' + second
arr = JSON.stringify(arr)
$.ajax({
url: './?app=pmcalendar&act=edityanfa',
dataType: 'json',
data: {
id: notid,
content: arr
},
success: function (res) {
console.log(res);
alert('提交成功');
showEventData(notid);
textdisabled();
},
error: function () {
alert('数据异常,请稍后重试!!!');
showEventData(notid);
textdisabled();
}
});
})
function textdisabled(){
$('#yytext').attr('disabled', false)
$('#yftext').attr('disabled', false)
$('#cptext').attr('disabled', false)
$("#upfujian_yy").hide();
$("#upfujian_cp").hide();
$("#upfujian_yf").hide();
}
var i = 0;
$(document).ready(function() {
$('html,body').scrollTop(0)
})
function bianji() {
if(bumen == 'label-danger'){
if ("<?=$isgxyyerole?>" == "1") {
if (i == 0) {
$('#yytext').attr('disabled', false)
$("#upfujian_yy").show();
i = 1;
} else {
$('#yytext').attr('disabled', true)
$("#upfujian_yy").hide();
i = 0;
}
};
}else if( bumen == "label-warning" ){
if ("<?=$isdbyyerole?>" == "1") {
if (i == 0) {
$('#yytext').attr('disabled', false)
$("#upfujian_yy").show();
i = 1;
} else {
$('#yytext').attr('disabled', true)
$("#upfujian_yy").hide();
i = 0;
}
};
if ("<?=$isdbcperole?>" == "1") {
if (i == 0) {
$('#cptext').attr('disabled', false)
$("#upfujian_cp").show();
i = 1;
} else {
$('#cptext').attr('disabled', true)
$("#upfujian_cp").hide();
i = 0;
}
};
if ("<?=$isdbyferole?>" == "1") {
if (i == 0) {
$('#yftext').attr('disabled', false)
$("#upfujian_yf").show();
i = 1;
} else {
$('#yftext').attr('disabled', true)
$("#upfujian_yf").hide();
i = 0;
}
};
} else {
if ("<?=$isxfyyerole?>" == "1") {
if (i == 0) {
$('#yytext').attr('disabled', false)
$("#upfujian_yy").show();
i = 1;
} else {
$('#yytext').attr('disabled', true)
$("#upfujian_yy").hide();
i = 0;
}
};
}
}
function onlyShowGame(o) {
if (o.value != '') {
$('#datarepair').hide();
$('.xian3').css('background-color','#fff');
} else {
$('#datarepair').show();
$('.xian3').css('background-color','#f5f5f9');
}
showGame = (o.value);
calendar.fullCalendar('refetchEvents');
$('#gamesbtn button').removeClass('btn-purple').removeClass('btn-info');
$(o).addClass('btn-info');
}
function fix2(v) {
var v = '00' + v;
return v.substr(v.length - 2, 2);
}
$(function () {
/* initialize the calendar
-----------------------------------------------------------------*/
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = window.calendar = $('#calendar').fullCalendar({
buttonText: {
prev: '<i class="icon-chevron-left"></i>',
next: '<i class="icon-chevron-right"></i>',
prevYear: '去年',
nextYear: '明年',
today: '',
month: '月',
week: '周',
day: '日'
},
timeFormat: 'H:mm',
monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthNamesShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
dayNames: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
dayNamesShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
//events: './?app=calendar&act=getEvents&game='+showGame,
events: function (start, end, callback) {
starttime = start;
endtime = end;
$.ajax({
url: './?app=pmcalendar&act=getEvents',
dataType: 'json',
data: {
start: Math.round(start.getTime() / 1000),
end: Math.round(end.getTime() / 1000),
game: showGame
},
success: function (doc) {
console.log(doc);
callback(doc.calendarData);
// console.log(doc);\
$("#dabaonum").html("("+doc.count['打包']+")");
$("#gengxinnum").html("("+doc.count['版本更新']+")");
$("#xiufunum").html("("+doc.count['修复外网']+")");
$("#jeidiannum").html("("+doc.count['节点']+")");
$("#shangxainnum").html("("+ doc.count['上线'] +")");
console.log(doc.calendarData)
if (doc.gameInfo && doc.gameInfo.length > 0) {
var _html = [];
for (var i = 0; i < doc.gameInfo.length; i++) {
var _v = doc.gameInfo[i];
_html.push("<li>" + _v.end + " " + _v.event + " " + _v.title + "</li>");
}
$('#gameinfo ul').html(_html.join(''));
} else {
$('#gameinfo ul').html('');
}
}
});
},
eventRender: function (event, element) {
element.html(event.title);
},
editable: <?=$canEdit ? "true" : "false"?>,
eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc) {
dict = {id: event.id};
dict.start = $.fullCalendar.formatDate(event.start, 'yyyy-MM-dd');
dict.end = $.fullCalendar.formatDate(event.end, 'yyyy-MM-dd');
loading.show();
$.post('./?app=pmcalendar&act=movevent', dict, function (txt) {
loading.hide();
if (txt == '1') {
calendar.fullCalendar('refetchEvents');
}
});
return false;
}
,
selectable: true,
selectHelper: true,
select: function (start, end, allDay) {
console.log(start)
console.log(end)
console.log(allDay)
if ("<?=$canEdit?>" != "1") return;
dict = {};
// console.log('select', start, end, allDay);
dict.start = $.fullCalendar.formatDate(start, 'yyyy-MM-dd');
dict.end = $.fullCalendar.formatDate(end, 'yyyy-MM-dd');
showEventInfo(dict.start, {
"save": {
"label": "<i class='icon-check'></i> 保存",
"className": "btn-sm btn-success",
"callback": function () {
dict.game = $('#game').val();
dict.allday = 1;
dict.title = $('#title').val();
dict.event = $('#event').val();
if (dict.game == '' || dict.title == '') return;
loading.show();
$.post('./?app=pmcalendar&act=newevent', dict, function (txt) {
loading.hide();
if (txt == '1') {
calendar.fullCalendar('refetchEvents');
}
});
}
},
"close": {
"label": "<i class='icon-remove'></i> Close",
"className": "btn-sm"
}
}, 'new');
calendar.fullCalendar('unselect');
}
,
eventClick: function (calEvent, jsEvent, view) {
bumen = calEvent.className[0]
console.log(calEvent.className[0])
notid = calEvent.id;
starts = calEvent.start;
// if ("<?=$canEdit?>" != "1") {
console.log("<?=$canEdit?>")
if (calEvent.className[0] == 'label-danger') {
if ("<?=$isgxvrole?>" != "1" && "<?=$isgxyyerole?>" != "1" && "<?=$isgxcperole?>" != "1" && "<?=$isgxyferole?>" != "1" && "<?=$canEdit?>" != "1") {
return
} else {
$('#uploader').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=chanpin&act=add');
$('#uploader_yy').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yunyig&act=add')
$("#uploader_yf").attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yanfa&act=add')
$("#listcp").hide();
$("#listyf").hide();
$("#yytext").attr('placeholder','填写本次更新概要,详细更新内容请使用附件')
//console.log($('#uploader').attr('action'))
dict = {};
$.post('./?app=pmcalendar&act=getEventByid', {id: calEvent.id}, function (txt) {
var j = JSON.parse(txt);
dict.start = j.start;
dict.end = j.end;
dict.id = calEvent.id;
$('#game').val(j.game);
$('#hour').val(j.shour);
$('#min').val(j.smin);
$('#event').val(j.event);
$('#title').val(j.title);
hourChange($('#hour'));
});
dstr = $.fullCalendar.formatDate(calEvent.start, 'yyyy-MM-dd');
showEventData(calEvent.id);
}
;
} else if (calEvent.className[0] == 'label-purple') {
if ("<?=$isxfvrole?>" != "1" && "<?=$isxfyyerole?>" != "1" && "<?=$canEdit?>" != "1") {
return
} else {
$('#uploader').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=chanpin&act=add');
$('#uploader_yy').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yunyig&act=add')
$("#uploader_yf").attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yanfa&act=add')
$("#listcp").hide();
$("#listyf").hide();
// $("#yytext").attr('placeholder','填写本次更新概要,详细更新内容请使用附件')
//console.log($('#uploader').attr('action'))
dict = {};
$.post('./?app=pmcalendar&act=getEventByid', {id: calEvent.id}, function (txt) {
var j = JSON.parse(txt);
dict.start = j.start;
dict.end = j.end;
dict.id = calEvent.id;
$('#game').val(j.game);
$('#hour').val(j.shour);
$('#min').val(j.smin);
$('#event').val(j.event);
$('#title').val(j.title);
hourChange($('#hour'));
});
dstr = $.fullCalendar.formatDate(calEvent.start, 'yyyy-MM-dd');
showEventData(calEvent.id);
}
;
} else if(calEvent.className[0] == 'label-warning'){
if ("<?=$isdbvrole?>" != "1" && "<?=$isdbyyerole?>" != "1" && "<?=$isdbcperole?>" != "1" && "<?=$isdbyferole?>" != "1" && "<?=$canEdit?>" != "1") {
return
} else {
$('#uploader').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=chanpin&act=add');
$('#uploader_yy').attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yunyig&act=add')
$("#uploader_yf").attr('action', './?app=uploader&id=' + calEvent.id + '&bumen=yanfa&act=add')
$("#listcp").show();
$("#listyf").show();
$("#cptext").attr('placeholder','请填写版本计划内容概要,内容较多请使用附件');
$("#yytext").attr('placeholder','请填写版本内容或更新内容,预计更新时间计划以及其他要点概要,内容较多请使用附件');
$("#yftext").attr('placeholder','请填写本次节点修改内容注意事项,内容较多请使用附件');
//console.log($('#uploader').attr('action'))
dict = {};
$.post('./?app=pmcalendar&act=getEventByid', {id: calEvent.id}, function (txt) {
var j = JSON.parse(txt);
dict.start = j.start;
dict.end = j.end;
dict.id = calEvent.id;
$('#game').val(j.game);
$('#hour').val(j.shour);
$('#min').val(j.smin);
$('#event').val(j.event);
$('#title').val(j.title);
hourChange($('#hour'));
});
dstr = $.fullCalendar.formatDate(calEvent.start, 'yyyy-MM-dd');
showEventData(calEvent.id);
}
;
} else {
if ("<?=$canEdit?>" == "1") {
dict = {};
// $.post('./?app=pmcalendar&act=getEventByid', {id: calEvent.id}, function (txt) {
// var j = JSON.parse(txt);
// dict.start = j.start;
// dict.end = j.end;
// dict.id = calEvent.id;
// $('#game').val(j.game);
// $('#hour').val(j.shour);
// $('#min').val(j.smin);
// $('#event').val(j.event);
// $('#title').val(j.title);
// hourChange($('#hour'));
// });
dstr = $.fullCalendar.formatDate(calEvent.start, 'yyyy-MM-dd');
Info();
}else {
return
}
}
}
});
});
function datarepair() {
var dis = $("#data_box").css('display');
if (dis == 'none') {
$('#data_box').show();
$('#calendardiv').hide();
$('#datarepairname').html('返回Event');
$("#dataimg").attr("src",'assets/images/fanhui.png');
var time = (Math.round(starttime.getTime()) + Math.round(endtime.getTime())) / 2;
time = new Date(time);
var year = time.getFullYear() + '年';
var month = time.getMonth() + 1 + '月';
$.ajax({
url: './?app=pmcalendar&act=getEvents',
dataType: 'json',
data: {
start: Math.round(starttime.getTime() / 1000),
end: Math.round(endtime.getTime() / 1000),
game: showGame,
type: 'charts'
},
success: function (res) {
var myChart = echarts.init(document.getElementById('chart'));
var chartsdata = res.charts;
var option = {
title: {
text: [year, month].join(''),
left: 'center',
textStyle: {
fontWeight: 'normal',
color: '#6fb3e0',
}
},
color: ['#ff7f7f', '#a494f9'],
toolbox: {
show: true,
orient: 'vertical',
right: '1.5%',
top: 'center',
feature: {
mark: {show: true},
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
restore: {show: true},
saveAsImage: {show: true}
}
},
legend: {
left: '3%',
top: '20',
itemHeight: 11,
itemWidth: 6,
color:"#5f5f5f"
},
tooltip: {},
grid: {
left: '3%',
right: '3%',
bottom: '5%',
// top: '0%',
containLabel: true
},
color: ['#ff7f7f', '#a494f9'],
dataset: {
source: chartsdata
},
xAxis: {
type: 'category',
axisLabel:{
show: true,
textStyle:{
color:"#969696"
}
},
axisLine:{
lineStyle:{
color:'#bfbfbf',
}
}
},
yAxis: {
axisLabel:{
textStyle:{
color:"#bfbfbf"
}
},
"axisLine": { //y轴
"show": false
},
"axisTick": { //y轴刻度线
"show": false
},
"splitLine": { //网格线
"show": true,
'coloe': '#bfbfbf'
}
},
// Declare several bar series, each will be mapped
// to a column of dataset.source by default.
series: [
{
type: 'bar',
barCategoryGap : 60,
itemStyle: {
normal: {
label: {
show: true,
position: 'insideBottom',
distance: 15,
align: 'left',
verticalAlign: 'middle',
rotate: 1,
fontSize: 16,
textStyle: { //数值样式
color: '#000',
fontSize: 13
}
}
}
}
},
{
type: 'bar',
barCategoryGap : 60,
itemStyle: {
normal: {
label: {
show: true,
position: 'insideBottom',
distance: 15,
align: 'left',
verticalAlign: 'middle',
rotate: 1,
fontSize: 16,
textStyle: { //数值样式
color: '#000',
fontSize: 13
}
}
}
}
}
]
};
myChart.setOption(option);
var titleAdd = res.table[0];
titleAdd[0] = "";
var tbdyArr = res.table[1];
tbdyArr[2][0] = '占比';
tmpltxt = doT.template(document.getElementById("thead-dot").innerHTML);//生成模板方法
document.getElementById("thead-title").innerHTML = tmpltxt(titleAdd);//数据渲染
tmpltxt = doT.template(document.getElementById("tbody-dot").innerHTML);//生成模板方法
document.getElementById("tbody-content").innerHTML = tmpltxt(tbdyArr);//数据渲染
},
error: function () {
alert('数据异常,请稍后重试!!!')
}
});
} else {
$('#data_box').hide();
$('#datarepairname').html('查看统计');
$("#dataimg").attr("src",'assets/images/tongji.png');
$('#calendardiv').show();
}
}
function showEventData(id) {
// $("#cptext").val('15346546')
$('#popup-bg').show();
$('body,html').css('overflow', 'hidden')
$.ajax({
url: './?app=pmcalendar&act=getEventByid',
dataType: 'json',
async: "true",
data: {
id: id,
},
success: function (res) {
$('#pop-title').html('【' + res.game + '】' + res.event + ':' + res.title);
arrcp = [];
arryy = [];
arryf = [];
$("#fujianname").empty();
$("#yyfujian").empty();
$("#yffujian").empty();
console.log(res.chanpin_remark)
if (res.chanpin_remark != "" && res.chanpin_remark != null) {
var chanpin_remark = JSON.parse(res.chanpin_remark)
document.getElementById("cptext").innerHTML = chanpin_remark.msg;
document.getElementById("cptime").innerHTML = chanpin_remark.date;
if(chanpin_remark.msg.length >= 100){
$("#cptext").css('height','150px');
}else {
$("#cptext").css('height','111px');
}
}
if (res.yunying_remark != "" && res.yunying_remark != null) {
var yunying_remark = JSON.parse(res.yunying_remark);
document.getElementById("yytext").innerHTML = yunying_remark.msg;
document.getElementById("yytime").innerHTML = yunying_remark.date;
if(yunying_remark.msg.length >= 100){
$("#yytext").css('height','150px');
}else {
$("#yytext").css('height','111px');
}
}
if (res.yanfa_remark != "" && res.yanfa_remark != null) {
var yanfa_remark = JSON.parse(res.yanfa_remark);
document.getElementById("yftext").innerHTML = yanfa_remark.msg;
document.getElementById("yftime").innerHTML = yanfa_remark.date;
if(yanfa_remark.msg.length >= 100){
$("#yftext").css('height','150px');
}else {
$("#yftext").css('height','111px');
}
}
// if(res.fujian != null){
if(res.fujian != ""){
var fujian = JSON.parse(res.fujian);
for (let i in fujian) {
if (fujian[i]['bumen'] == 'chanpin') {
arrcp.push(fujian[i])
} else if (fujian[i]['bumen'] == 'yunyig') {
arryy.push(fujian[i])
} else if (fujian[i]['bumen'] == 'yanfa') {
arryf.push(fujian[i])
}
}
}
if(arrcp.length != 0){
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("fujianname").innerHTML = tmpltxt(arrcp);//数据渲染
}else {
var data = "<div class='fujian'><img src='./assets/images/fujian.png'/>未添加附件</div>";
$('#fujianname').html(data);
}
if(arryy.length != 0){
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("yyfujian").innerHTML = tmpltxt(arryy);//数据渲染
}else {
var data = "<div class='fujian'><img src='./assets/images/fujian.png'/>未添加附件</div>";
$('#yyfujian').html(data);
}
if(arryf.length != 0){
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("yffujian").innerHTML = tmpltxt(arryf);//数据渲染
}else {
var data = "<div class='fujian'><img src='./assets/images/fujian.png'/>未添加附件</div>";
$('#yffujian').html(data);
}
},
error: function () {
alert('数据异常,请稍后重试!!!')
}
});
}
function guanbi(){
var showGame = "";
starttime, endtime;
dstr = ''
dict = {};
bumen;
notid;
arrcp = [];
arryy = [];
arryf = [];
i = 0;
starts='';
$('#yytext').attr('disabled', false)
$('#cptext').attr('disabled', false)
$('#yftext').attr('disabled', false)
$("#upfujian_yy").hide();
$("#upfujian_cp").hide();
$("#upfujian_yf").hide();
$("#popup-bg").hide();
$('body,html').css('overflow', 'auto')
}
// $("#yiny").click(function () {
// var showGame = "";
// starttime, endtime;
// dstr = ''
// dict = {};
// bumen;
// notid;
// arrcp = [];
// arryy = [];
// arryf = [];
// starts=''
// $("#popup-bg").hide();
// $('body,html').css('overflow', 'auto')
// })
function Info() {
if ("<?=$canEdit?>" != "1") return;
dict = {};
$.post('./?app=pmcalendar&act=getEventByid', {id: notid}, function (txt) {
var j = JSON.parse(txt);
dict.start = j.start;
dict.end = j.end;
dict.id = notid;
$('#game').val(j.game);
$('#hour').val(j.shour);
$('#min').val(j.smin);
$('#event').val(j.event);
$('#title').val(j.title);
hourChange($('#hour'));
});
showEventInfo(dstr, {
"save": {
"label": "<i class='icon-check'></i> 保存",
"className": "btn-sm btn-success",
"callback": function () {
dict.game = $('#game').val();
dict.allday = 1;
dict.event = $('#event').val();
dict.title = $('#title').val();
if (dict.game == '' || dict.event == '') return;
loading.show();
$.post('./?app=pmcalendar&act=modievent', dict, function (txt) {
loading.hide();
if (txt == '1') {
calendar.fullCalendar('refetchEvents');
}
});
}
},
"delete": {
"label": "<i class='icon-trash'></i> 删除事件",
"className": "btn-sm btn-danger",
"callback": function () {
if (confirm('确认要【删除】这个事件吗?')) {
loading.show();
$.post('./?app=pmcalendar&act=delevent', {id: notid}, function (txt) {
loading.hide();
if (txt == '1') {
calendar.fullCalendar('refetchEvents');
}
guanbi();
});
}
}
},
"close": {
"label": "<i class='icon-remove'></i> Close",
"className": "btn-sm"
}
}, 'modify');
}
$('#excelFile').change(function (e) {
// e.target得到的是input标签e.target.files得到是一串filelist
// e.target.files[0]得到的是图片的一些参数,这些参数可以根据自己的需要提取
var fileName = e.target.files[0].name;
var arr = [];
arr.push(fileName)
tmpltxt = doT.template(document.getElementById("fujian-dot").innerHTML);//生成模板方法
document.getElementById("fujian").innerHTML = tmpltxt(arr);//数据渲染
// $(this).prev().find('span').text(fileName);
})
function showEventInfo(start, btns, stype) {
var form = $("<form class=''><label>选择游戏和事件类型 (" + start + ")</label><div class='space-1'></div></form>");
form.append('<?=gameGameListSelect('game')?>&nbsp<select id="event"><option value="打包">打包</option><option value="版本更新">版本更新</option><option value="修复外网">修复外网</option><option value="上线">上线</option><option value="节点">节点</option></select>');
form.append("<div class='space-5'></div><label for='form-field-mask-1'>事件内容</label><input class='form-control' id='title' autocomplete=off type=text value='' /> ");
var div = bootbox.dialog({
message: form,
buttons: btns
});
form.on('submit', function () {
//calEvent.title = form.find("input[type=text]").val();
//calendar.fullCalendar('updateEvent', calEvent);
div.modal("hide");
return false;
});
};
function hourChange(o) {
if ($(o).val() == '-1') {
$('#min').hide();
} else {
$('#min').show();
}
}
</script>
</body>
</html>