|
@@ -1,1408 +1,269 @@
|
|
|
<@override name="head">
|
|
|
-<link rel="stylesheet" type="text/css" href="${ctx}/assets/css/public-head.css"/>
|
|
|
- <link rel="stylesheet" href="${ctx}/assets/css/create.css"/>
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/css/daterangepicker.css" />
|
|
|
-<link rel="stylesheet" type="text/css" href="${ctx}/assets/css/style.css">
|
|
|
-<link rel="stylesheet" type="text/css" href="${ctx}/assets/css/geo.css">
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/js/schedule/s.css">
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/css/bootstrap.min.css">
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/css/font-awesome.min.css"/>
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/css/zbone.css"/>
|
|
|
-<link rel="stylesheet" type="text/css" href="${ctx}/assets/css/regionReport.css">
|
|
|
-<link rel="stylesheet" href="${ctx}/assets/css/newforadvertiser1.css"/>
|
|
|
-
|
|
|
-<script type="text/javascript" src="${ctx}/assets/js/lib/jquery-1.9.1.min.js"></script>
|
|
|
-<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.min.js"></script>
|
|
|
+<title>编辑投放</title>
|
|
|
+<link rel="stylesheet" href="${ctx}/assets/css/daterangepicker.css"/>
|
|
|
+<link rel="stylesheet" href="${ctx}/assets/css/time_adGroup.css"/>
|
|
|
+<link rel="stylesheet" href="${ctx}/assets/css/wifi.css"/>
|
|
|
+<link rel="stylesheet" href="${ctx}/assets/css/style.css">
|
|
|
+<link rel="stylesheet" href="${ctx}/assets/css/geo.css">
|
|
|
+<script type="text/javascript" src="${ctx}/assets/js/lib/bootstrap.min.js"></script>
|
|
|
+<script type="text/javascript" src="${ctx}/assets/js/lib/bootbox.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/moment.min.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.daterangepicker.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.daterangepicker1.js"></script>
|
|
|
-<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.validate.min.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.common.min.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.geo.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/areas_popup.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery-ui-1.10.4.custom.js"></script>
|
|
|
<script type="text/javascript" src="${ctx}/assets/js/lib/jquery.cxselect.js"></script>
|
|
|
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=2767a619003d806b2dba379e3e023dfd"></script>
|
|
|
-<script type="text/javascript" src="${ctx}/assets/js/divselect.js"></script>
|
|
|
-
|
|
|
-<style>
|
|
|
- /**map serch button**/
|
|
|
- #btnmapSearch:hover {background:#344c67;}
|
|
|
- /**点击找回**/
|
|
|
- #line{margin-left:80px;}
|
|
|
- .ui-widget-overlay { background: #aeaeae 50% 50% repeat-y; opacity: .90;filter:Alpha(Opacity=90); position: absolute; top: 0; left: 0; width: 100%; height:560%;}
|
|
|
- .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
|
|
- .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
|
|
- .modal-foot{text-algin:center;width:560px;}
|
|
|
- .modal-head{height:25px; }
|
|
|
- .modal-content{height:380px;}
|
|
|
- label{font-size:14px;}
|
|
|
- //wifi分页导航类 div为pagination 下面的类为 pagination-mini。每个页为这个ul下的一个li
|
|
|
-
|
|
|
- modal-dialog{backgroud:#ffffff 100% 100% repeat;}
|
|
|
- #wifitab{float:left;margin-left:10px;}
|
|
|
- /**搜索和已选wifi列表**/
|
|
|
- .wifilist{
|
|
|
- height: 320px;
|
|
|
- width:320px;
|
|
|
- display:block;
|
|
|
- }
|
|
|
- #wifitabul { margin:0; padding:0; list-style:none; overflow:hidden; float:left;margin-left:0 20px 0 0; width:320px;border-bottom:1px solid #E9E9E9;}
|
|
|
- #wifitabul li {float:left;line-height:30px;color:#3469E2;border-radius: 5px 5px 0px 0px;display:block;cursor:pointer;width:85px;text-align:center;border:1px solid #E9E9E9;}
|
|
|
- #wifitabul li a { color:#3469E2; text-decoration:none; }
|
|
|
- #wifitabul li.current { background-color:#eeeeee;}
|
|
|
- #wifipage{height:320px;width:360px;}
|
|
|
- #divLBS{width:900px;height:540px;background-color:#ffffff;}
|
|
|
- #mapdistance{width:35px;}
|
|
|
- #divmapsearch{height:35px;}
|
|
|
- #mapview{width:520px;height:360px;margin-top:10px;}
|
|
|
- #wifimap{width:520px;height:360px;float:left;}
|
|
|
- #address{width:180px;}
|
|
|
- #divselectedwifi{width:320px;margin-top:15px;font-size:14px;}
|
|
|
- #divsearchedwifi{width:320px;margin-top:15px;font-size:14px;}
|
|
|
- #prov{width:91px;}
|
|
|
- #city{width:91px;}
|
|
|
- #wifitab{height:380px;}
|
|
|
- #distance{width:80px;}
|
|
|
- #content{position:absolut;}
|
|
|
- .pagination-wifi{float:left;margin-left:10px;width:320px;padding-top:10px;}
|
|
|
- .pagination-mini-wifi{margin:0; padding:0; list-style:none; overflow:hidden; float:left; border:solid 1px #E9E9E9;border-radius: 5px;}
|
|
|
- .pagination-mini-wifi li{margin:0px; padding:3px; list-style:none; overflow:hidden; float:left; width:20px;height:20px;border:solid 1px #E9E9E9;text-align:center; }
|
|
|
- #third{
|
|
|
- margin-left:-60px;
|
|
|
- margin-top:-10px;
|
|
|
- }
|
|
|
- .form-horizontal .control-label{
|
|
|
- text-align:left;
|
|
|
- }
|
|
|
- #form-field-1{
|
|
|
- margin-left:-222px;
|
|
|
- }
|
|
|
- #id-date-picker-1{
|
|
|
- margin-left:-41px;
|
|
|
- margin-top:-28px;
|
|
|
- }
|
|
|
- #form-field-2{
|
|
|
- margin-left:-78px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-3{
|
|
|
- margin-left:-50px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
- #form-field-4{
|
|
|
- margin-left:-69px;
|
|
|
- margin-top:-4px;
|
|
|
- }
|
|
|
- #form-field-5{
|
|
|
- margin-left:-54px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-6{
|
|
|
- margin-left:-54px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-7{
|
|
|
- margin-left:-54px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-8{
|
|
|
- margin-left:-38px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-9{
|
|
|
- margin-left:-38px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- #form-field-10{
|
|
|
- margin-left:-38px;
|
|
|
- margin-top:-2px;
|
|
|
- }
|
|
|
- .controls-reset #form-field-11{
|
|
|
- border-radius:5px;
|
|
|
- width:153px;
|
|
|
- height:40px;
|
|
|
- margin-left:-37px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
- .controls #form-field-11{
|
|
|
- border-radius:5px;
|
|
|
- width:137px;
|
|
|
- height:30px;
|
|
|
- margin-left:-171px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
- .controls-reset #form-field-12{
|
|
|
- border-radius:5px;
|
|
|
- width:153px;
|
|
|
- height:40px;
|
|
|
- margin-left:-37px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
- .controls #form-field-12{
|
|
|
- border-radius:5px;
|
|
|
- width:137px;
|
|
|
- height:30px;
|
|
|
- margin-left:-171px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
-
|
|
|
- .controls7 #form-field-13{
|
|
|
- margin-left:-37px;
|
|
|
- margin-top:-3px;
|
|
|
- }
|
|
|
- .time_tit{
|
|
|
- height:30px;
|
|
|
- line-height:30px;
|
|
|
- }
|
|
|
- .time_tit p{
|
|
|
- float: left;
|
|
|
- width: 150px;
|
|
|
- text-align: center;
|
|
|
- border: 1px solid #d5d5d5;
|
|
|
- height:30px;
|
|
|
- line-height:30px;
|
|
|
- }
|
|
|
- .time_add{
|
|
|
- width: 302px;
|
|
|
- border: 1px solid;
|
|
|
- text-align: center;
|
|
|
- height: 30px;
|
|
|
- line-height: 30px;
|
|
|
- border: 1px solid #d5d5d5;
|
|
|
- }
|
|
|
- .time_item{
|
|
|
- height:32px;
|
|
|
- clear:both;
|
|
|
- }
|
|
|
- .tr_data{
|
|
|
- height:32px;
|
|
|
- float:left;
|
|
|
- }
|
|
|
- .time_box .inp{
|
|
|
- display:block;
|
|
|
- float: left;
|
|
|
- height:30px;
|
|
|
- line-height:30px;
|
|
|
- width: 150px;
|
|
|
- overflow:hidden;
|
|
|
- text-align: center;
|
|
|
- border: 1px solid #d5d5d5;
|
|
|
- }
|
|
|
- .time_box .inp input{
|
|
|
- width:150px;
|
|
|
- height:30px;
|
|
|
- line-height:30px;
|
|
|
- text-align:center;
|
|
|
- border:none;
|
|
|
- padding:0;
|
|
|
- overflow:hidden;
|
|
|
- }
|
|
|
-
|
|
|
- .time_quantum{
|
|
|
- width:300px;
|
|
|
- float:left;
|
|
|
- margin-top:3px;
|
|
|
- -moz-border-radius:4px;
|
|
|
- -webkit-border-radius:4px;
|
|
|
- border-radius:4px;
|
|
|
- background-color:#e7eaee;
|
|
|
- border: solid #d5d5d5 1px;
|
|
|
- margin-left: 20px;
|
|
|
- }
|
|
|
- .time_quantum div p a{
|
|
|
- color:#4da8e1;
|
|
|
- font-size:12px;
|
|
|
- }
|
|
|
- .time_quantum p{
|
|
|
- float:right;
|
|
|
- margin:0 5px 0 0;
|
|
|
- }
|
|
|
- .quantum_title{
|
|
|
- height:26px;
|
|
|
- line-height:26px;
|
|
|
- color:#4da8e1;
|
|
|
- }
|
|
|
- .quantum_list{
|
|
|
- overflow:hidden;
|
|
|
- }
|
|
|
- .quantum_list p{
|
|
|
- float:left;
|
|
|
- width:98px;
|
|
|
- font-size:12px;
|
|
|
- color:#4da8e1;
|
|
|
- border: solid #d5d5d5 1px;
|
|
|
- text-align:center;
|
|
|
- padding:0px;
|
|
|
- margin:0px;
|
|
|
- height:26px;
|
|
|
- cursor:pointer;
|
|
|
- line-height:26px;
|
|
|
- }
|
|
|
- .pitchon{
|
|
|
- background-color:red;
|
|
|
- background:url(/ssp_web/assets/advertiser/images/duihao.png) no-repeat right bottom;
|
|
|
- background-size:16%;
|
|
|
- }
|
|
|
-
|
|
|
- .btn_del{
|
|
|
- width:90px;
|
|
|
- height:30px;
|
|
|
- line-height:30px;
|
|
|
- border: 1px solid #36aeea;
|
|
|
- border-radius: 5px;
|
|
|
- color: #36aeea;
|
|
|
- background-color: white;
|
|
|
- margin-left:20px;
|
|
|
- }
|
|
|
-
|
|
|
- .btn_del:hover{
|
|
|
- color: white;
|
|
|
- background-color: #36aeea;
|
|
|
- }
|
|
|
- .btn2:hover{
|
|
|
- background-color: #4c637b;
|
|
|
- }
|
|
|
-</style>
|
|
|
-<script type="text/javascript">
|
|
|
-
|
|
|
- $(document).ready(function(){
|
|
|
-
|
|
|
- $('#id-date-picker-1').dateRangePicker({
|
|
|
- separator : ' to ',
|
|
|
- inline:true,
|
|
|
- container: '#divdaterangepick',
|
|
|
- alwaysOpen:false
|
|
|
- });
|
|
|
-
|
|
|
- $('#city_custom').cxSelect({
|
|
|
- selects: ['prov', 'city'],
|
|
|
- required: true,
|
|
|
- url:'${ctx}/advertiser/main/ad/target/ad-group/getLocations'
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- $( "#btn-toggle" ).click(function( event ) {
|
|
|
- $( "#divLBS" ).dialog( "open" );
|
|
|
- try{
|
|
|
- map = new AMap.Map('mapview',{level:12});
|
|
|
- if($('#cacheSelected').val().length>2){
|
|
|
- loadselectwifi(1);
|
|
|
- }
|
|
|
- }
|
|
|
- catch(e){alert('加载已选wifi时出错')}
|
|
|
- map.plugin(['AMap.MarkerClusterer'], function(){
|
|
|
- var cl = new AMap.MarkerClusterer(map, initMarker($("#cacheSelected")[0]));
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- });
|
|
|
-
|
|
|
- $( "#divLBS" ).dialog({
|
|
|
- autoOpen: false,
|
|
|
- width: 900,
|
|
|
- modal: true,
|
|
|
- open: function (event, ui) {
|
|
|
- $(".ui-dialog-titlebar-close", $(this).parent()).hide();
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
-
|
|
|
- $('#validation-form').validate({
|
|
|
- errorElement: 'span',
|
|
|
- errorClass: 'help-inline',
|
|
|
- focusInvalid: false,
|
|
|
- onfocusout: function(element) {
|
|
|
- $(element).valid();
|
|
|
- },
|
|
|
- ignore:".ignore",
|
|
|
- rules: {
|
|
|
- adGroupName: {
|
|
|
- required: true,
|
|
|
- maxlength:50
|
|
|
- },
|
|
|
- price:{
|
|
|
- number:true,
|
|
|
- required:true
|
|
|
- },
|
|
|
- dailyBudget:{
|
|
|
- number:true
|
|
|
- },
|
|
|
- maxImpression:{
|
|
|
- number:true
|
|
|
- },
|
|
|
- maxClick:{
|
|
|
- number:true
|
|
|
- },
|
|
|
- dailyMaxImpression:{
|
|
|
- digits:true
|
|
|
- },
|
|
|
- dailyMaxclick:{
|
|
|
- digits:true
|
|
|
- },
|
|
|
- dailyMaxConversion:{
|
|
|
- digits:true
|
|
|
- },
|
|
|
- maxSessionImpression:{
|
|
|
- digits:true
|
|
|
- },
|
|
|
- maxUserImpression:{
|
|
|
- digits:true
|
|
|
- },
|
|
|
-
|
|
|
- },
|
|
|
- messages: {
|
|
|
- adGroupName:{
|
|
|
- required:"请输入内容!",
|
|
|
- maxlength:"输入的长度大于50超出范围!"
|
|
|
- },
|
|
|
- price:{
|
|
|
- required:"请输入内容!",
|
|
|
- number:"请输入数字!"
|
|
|
- },
|
|
|
- dailyBudget:{
|
|
|
- number:"请输入正确格式"
|
|
|
- },
|
|
|
- maxImpression:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- maxClick:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- dailyMaxImpression:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- dailyMaxclick:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- dailyMaxConversion:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- maxSessionImpression:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- },
|
|
|
- maxUserImpression:{
|
|
|
- digits:"请输入正确格式"
|
|
|
- }
|
|
|
- },
|
|
|
- invalidHandler: function (event, validator) { //display error alert on form submit
|
|
|
- $('.alert-error', $('.login-form')).show();
|
|
|
- },
|
|
|
- highlight: function (e) {
|
|
|
- $(e).closest('.control-group').removeClass('info').addClass('error');
|
|
|
- $(e).closest('.control-group').find("span.note").addClass('hidden');
|
|
|
- },
|
|
|
- success: function (e) {
|
|
|
- $(e).closest('.control-group').removeClass('error').addClass('info');
|
|
|
- $(e).closest('.control-group').find("span.note").removeClass('hidden');
|
|
|
- $(e).remove();
|
|
|
- },
|
|
|
- errorPlacement: function (error, element) {
|
|
|
- if(element.is(':checkbox') || element.is(':radio')) {
|
|
|
- var controls = element.closest('.controls');
|
|
|
- if(controls.find(':checkbox,:radio').length > 1) controls.append(error);
|
|
|
- else error.insertAfter(element.nextAll('.lbl').eq(0));
|
|
|
- }
|
|
|
- else if(element.is('.chzn-select')) {
|
|
|
- error.insertAfter(element.nextAll('[class*="chzn-container"]').eq(0));
|
|
|
- }
|
|
|
- else error.insertAfter(element);
|
|
|
- },
|
|
|
- submitHandler:function(form){form.submit();}
|
|
|
- /*
|
|
|
-
|
|
|
- submitHandler: function (form) {
|
|
|
- var startDate = $('input[name=startDate]').val();
|
|
|
- var endDate = $('input[name=endDate]').val();
|
|
|
- if(startDate!==""&&endDate!==""){
|
|
|
- if(datefalg){
|
|
|
- // 防止表单二次提交
|
|
|
- $('button:submit').attr('disabled', 'disabled');
|
|
|
- var _url = $('form').attr('action');
|
|
|
- var _param = $('form').serialize();
|
|
|
- $.post(_url,_param,function(data) {
|
|
|
- $('#main-content').html(data);
|
|
|
- });
|
|
|
- }
|
|
|
- }else{
|
|
|
- $('input[name=startDate]').nextAll(".date-inline").text("请输入内容").addClass("loginerror");
|
|
|
- $('input[name=endDate]').nextAll(".date-inline").text("请输入内容").addClass("loginerror");
|
|
|
- }
|
|
|
- },
|
|
|
- */
|
|
|
-
|
|
|
- });
|
|
|
+<script type="text/javascript" src="${ctx}/assets/js/common/validate.js"></script>
|
|
|
+<script type="text/javascript" src="${ctx}/assets/js/wifi.js"></script>
|
|
|
+<script type="text/javascript" src="${ctx}/assets/js/advertiser/adGroup.js"></script>
|
|
|
|
|
|
-var datefalg = true;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-});
|
|
|
- </script>
|
|
|
</@override>
|
|
|
-
|
|
|
<@override name="body">
|
|
|
-<!-- PAGE CONTENT BEGINS HERE -->
|
|
|
<div id=content_bg>
|
|
|
- <#include "/advertiser/main/public-head.ftl">
|
|
|
- <div id= "pagecontent">
|
|
|
- <div id="content" style="width:97%;height:94%;">
|
|
|
- <div id="third">
|
|
|
- <ul style="">
|
|
|
- <li class="size1"><i class="icon-home" style="background-image:none;"></i> <a href="#">首页</a>
|
|
|
- <span class="divider1"><i class="icon-angle-right"></i></span></li>
|
|
|
- <#if role == "agent">
|
|
|
-
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/advertiser/list">广告主管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span>
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/order/list?advertiserId=${advertiserId}">订单管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span>
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/target/campaign/list?orderId=${orderId}&advertiserId=${advertiserId}">活动管理</a>
|
|
|
- <span class="divider3"><i class="icon-angle-right"></i></span></li>
|
|
|
- <li class="size2"><a style="margin-left:15px !important" href="${ctx}/advertiser/main/ad/target/ad-group/list?campaignId=${campaignId}&orderId=${orderId}&advertiserId=${advertiserId}">投放管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span></li>
|
|
|
- <li class="size3">编辑投放</li>
|
|
|
- <#elseif role == "advertiser">
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/order/list?advertiserId=${advertiserId}">订单管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span>
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/target/campaign/list?orderId=${orderId}&advertiserId=${advertiserId}">活动管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span></li>
|
|
|
- <li class="size2"><a href="${ctx}/advertiser/main/ad/target/ad-group/list?campaignId=${campaignId}&orderId=${orderId}&advertiserId=${advertiserId}">投放管理</a></li>
|
|
|
- <span class="divider2"><i class="icon-angle-right"></i></span></li>
|
|
|
- <li class="size3">编辑投放</li>
|
|
|
- </#if>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- <form id="validation-form" class="form-horizontal" action="${ctx}/advertiser/main/ad/target/ad-group/save" method="post" style="margin-left:-20px;">
|
|
|
- <input autocomplete="off" type="hidden" name="id" value="${adGroup.id}">
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-1"><sup style="color:red">*</sup>投放名称:</label>
|
|
|
- <div class="controls">
|
|
|
-
|
|
|
- <input class="i1" autocomplete="off" type="text" name="adGroupName" value="${adGroup.adGroupName}" id="form-field-1">
|
|
|
- <span class="help-inline" for="form-field-1">支持输入1~50个字符</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="id-date-picker-1"><sup style="color:red">*</sup>活动周期:</label>
|
|
|
- <div class="controls row-fluid">
|
|
|
-
|
|
|
- <input class="input1 input-append " autocomplete="off" name="activeTime" id="id-date-picker-1" type="text" value="${activeTime}" data-date-format="yyyy/mm/dd" />
|
|
|
- </div>
|
|
|
- <div id="divdaterangepick" style="width:456px;margin: -2px 0 0 120px;position: absolute;"></div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-2"><sup style="color:red">*</sup>总预算:</label>
|
|
|
- <div class="controls1">
|
|
|
- <input class="i1" autocomplete="off" name="totalBudget" value="${adGroup.totalBudget}" type="text" id="form-field-2" placeholder="">
|
|
|
- <input name="budget" type="hidden" id="budget" value="${budget!}"/>
|
|
|
- <span>元</span>
|
|
|
- <span id="totalBudget_span" style="position:absolute;margin:6px 0 0 5px;color:#595959;" for="form-field-2">总预算不能大于订单总预算</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-3"><sup style="color:red">*</sup>投放模式:</label>
|
|
|
- <label style="float:left;margin-left:-39px;"><input id="input-radio-cpm" autocomplete="off" name="mode" type="radio" <#if adGroup.mode==1>checked</#if> value="1"><span style="position:absolute;margin:3px 0 0 5px;">CPM</span></label>
|
|
|
- <label style="float:left;margin-left:46px;"><input id="input-radio-cpc" autocomplete="off" name="mode" type="radio" <#if adGroup.mode==2>checked</#if> value="2"><span style="position:absolute;margin:3px 0 0 5px;">CPC</span></label>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group" style="clear:both;">
|
|
|
- <label class="control-label" for="form-field-3"><sup style="color:red">*</sup>单价(CPM):</label>
|
|
|
- <div class="controls2">
|
|
|
- <input class="i1" autocomplete="off" name="price" value="${adGroup.price}" type="text" id="form-field-3" placeholder="">
|
|
|
- <span>元</span>
|
|
|
- <span class="help-inline" for="form-field-3">单价</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-4">每日预算:</label>
|
|
|
- <div class="controls3">
|
|
|
- <input class="i1" autocomplete="off" name="dailyBudget" value="${adGroup.dailyBudget}" type="text" id="form-field-4" placeholder="">
|
|
|
- <span>元</span>
|
|
|
- <span class="help-inline" for="form-field-4">若不设置,系统默认将总预算在投放周期内的均值作为每日预算</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-5">曝光总上限:</label>
|
|
|
- <div class="controls4">
|
|
|
- <input class="i1" autocomplete="off" name="maxImpression" value="${adGroup.maxImpression}" type="text" id="form-field-5" placeholder="">
|
|
|
- <span>千次</span>
|
|
|
- <span class="help-inline" for="form-field-5">整个投放期,广告最多被曝光多少千次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-6">点击总上限:</label>
|
|
|
- <div class="controls4">
|
|
|
- <input class="i1" autocomplete="off" name="maxClick" value="${adGroup.maxClick}" type="text" id="form-field-6" placeholder="">
|
|
|
- <span>次</span>
|
|
|
- <span class="help-inline" for="form-field-6">整个投放期,广告最多被点击多少次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-7">转化总上限:</label>
|
|
|
- <div class="controls4">
|
|
|
- <input class="i1" autocomplete="off" name="maxConversion" value="${adGroup.maxConversion}" type="text" id="form-field-7" placeholder="">
|
|
|
- <span>次</span>
|
|
|
- <span class="help-inline" for="form-field-7">整个投放期,广告最多被转化多少次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-8">每日曝光上限:</label>
|
|
|
- <div class="controls5">
|
|
|
- <input class="i1" autocomplete="off" type="text" name="dailyMaxImpression" value="${adGroup.dailyMaxImpression}" id="form-field-8" placeholder="">
|
|
|
- <span>千次</span>
|
|
|
- <span class="help-inline" for="form-field-8">每天,广告最多被曝光多少千次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-9">每日点击上限:</label>
|
|
|
- <div class="controls5">
|
|
|
- <input class="i1" autocomplete="off" type="text" name="dailyMaxClick" value="${adGroup.dailyMaxClick}" id="form-field-9" placeholder="">
|
|
|
- <span>次</span>
|
|
|
- <span class="help-inline" for="form-field-9">每天,广告最多被点击多少次</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-10">每日转换上限:</label>
|
|
|
- <div class="controls5">
|
|
|
- <input class="i1" autocomplete="off" type="text" name="dailyMaxConversion" value="${adGroup.dailyMaxConversion}" id="form-field-10" placeholder="">
|
|
|
- <span>次</span>
|
|
|
- <span class="help-inline" for="form-field-10">每天,广告最多被转换多少次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-11">单人曝光频次:</label>
|
|
|
- <div class="controls-reset">
|
|
|
- <select id="form-field-11" name="perImpressionType">
|
|
|
- <option value="0" <#if adGroup.perImpressionType==0>selected</#if> >请选择曝光类型</option>
|
|
|
- <option value="1" <#if adGroup.perImpressionType==1>selected</#if> >每天</option>
|
|
|
- <option value="2" <#if adGroup.perImpressionType==2>selected</#if> >投放周期</option>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
- <div class="controls">
|
|
|
- <input autocomplete="off" type="text" name="perImpression" value="${adGroup.perImpression}" id="form-field-11" placeholder="">
|
|
|
- <span class="help-inline" for="form-field-11">单人曝光频次</span>
|
|
|
- </div>
|
|
|
-
|
|
|
- </div>
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-12">单人点击频次:</label>
|
|
|
- <div class="controls-reset">
|
|
|
- <select id="form-field-12" name="perClickType">
|
|
|
- <option value="0" <#if adGroup.perClickType==0>selected</#if> >请选择曝光类型</option>
|
|
|
- <option value="1" <#if adGroup.perClickType==1>selected</#if> >每天</option>
|
|
|
- <option value="2" <#if adGroup.perClickType==2>selected</#if> >投放周期</option>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
- <div class="controls">
|
|
|
- <input autocomplete="off" type="text" name="perClick" value="${adGroup.perClick}" id="form-field-12" placeholder="">
|
|
|
- <span class="help-inline" for="form-field-12">单人点击频次</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label">点击找回:</label>
|
|
|
- <div class="controls" id="line">
|
|
|
- <label class="form-align-radio">
|
|
|
- <input class="i" autocomplete="off" style="margin-left:-57px;top:-4px;" name="retarget" type="radio" value="1" <#if adGroup.retarget==1>checked</#if> ><span style="margin-left:-3px;margin-top:0px;" class="lbl"> 未设置</span>
|
|
|
- </label>
|
|
|
- <label class="form-align-radio">
|
|
|
- <input class="i" autocomplete="off" style="margin-left:80px;top:-3px;" name="retarget" type="radio" value="2" <#if adGroup.retarget==2>checked</#if> ><span style="margin-left:0px;margin-top:-3px;" class="lbl"> 点击过本广告主广告</span>
|
|
|
- </label>
|
|
|
- <label class="form-align-radio">
|
|
|
- <input class="i" autocomplete="off" style="margin-left:80px;top:-3px;" name="retarget" type="radio" value="3" <#if adGroup.retarget==3>checked</#if> ><span style="margin-left:0px;top:0px;" class="lbl"> 点击过广告</span>
|
|
|
- </label>
|
|
|
- <label class="form-align-radio">
|
|
|
- <input class="i" autocomplete="off" style="margin-left:80px;top:-3px;" name="retarget" type="radio" value="4" <#if adGroup.retarget==4>checked</#if> ><span style="margin-left:0px;margin-top:0px;" class="lbl"> 点击过本订单广告</span>
|
|
|
- </label>
|
|
|
- <label class="form-align-radio">
|
|
|
- <input class="i" autocomplete="off" style="margin-left:80px;top:-3px;" name="retarget" type="radio" value="5" <#if adGroup.retarget==5>checked</#if> ><span style="margin-left:0px;margin-top:0px;" class="lbl"> 点击过本活动广告</span>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label" for="form-field-13">访客投放期:</label>
|
|
|
- <div class="controls7">
|
|
|
- <input class="i1" autocomplete="off" type="text" name="period" value="${adGroup.period!}" id="form-field-13" placeholder="">
|
|
|
- <span class="help-inline" for="form-field-13">1-90天</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label"><sup></sup>访客分类:</label>
|
|
|
- <div class="controls">
|
|
|
- <label class="form-align-radio">
|
|
|
- <input id="i" autocomplete="off" name="site" style="margin-left:-249px;top:-2px;" type="checkbox" value="1" <#if adGroup.site==1>checked</#if> ><span style="margin-left:-88px;top:1px;" class="lbl">全站访客</span>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="hr hr32"></div>
|
|
|
-
|
|
|
- <!-- 前端需要传输给后端的地域定向的数据值放在value里面 -->
|
|
|
- <div class="control-group">
|
|
|
- <label class="control-label">地域定向:</label>
|
|
|
-
|
|
|
- <div class="controls2">
|
|
|
- <div class="dashed">
|
|
|
- <input class="ignore" type="hidden" id="areas" name="areas" value="${areas}">
|
|
|
- <input type="button" style="width:150px;margin-top:-3px;margin-left:-48px;" class="btn-Directed btn1" id="btn-areas" value="地域设定">
|
|
|
- <div class="geo">
|
|
|
- <div class="geo-selected" id="geo-selected-areas" style="display: none;margin:-50px 0 0 300px;position: absolute;">
|
|
|
- <span class="area-direct"></span><span >您已经设定了<strong id="count-areas">0</strong>个地域条件</span>
|
|
|
- </div>
|
|
|
- <div class="geo-all" id="geo-all-areas" style="display: block;margin:-50px 0 0 300px;position: absolute;">
|
|
|
- <span class="area-direct"></span><span class="default_text">不限</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
- <div id="timediv" class="control-group" style="margin-top:-40px;">
|
|
|
- <label style="margin-left:2px;width:auto;" class="control-label">时段定向:</label>
|
|
|
- <div class="controls">
|
|
|
- <div class="setting" style="margin:-60px 0 0px 120px;">
|
|
|
- <div class="time_tit">
|
|
|
- <p>开始时间</p>
|
|
|
- <p>结束时间</p>
|
|
|
- </div>
|
|
|
- <input type="hidden" name="sdayParting" id="sdayParting" value='${time!}'/>
|
|
|
- <div class="clear"></div>
|
|
|
- <div class="time_box"></div>
|
|
|
- <div class="time_add"><p id="setting_list" class="dateRangePicker" href="">新增时间段</p></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="control-group" id="placediv" style="clear:both;">
|
|
|
- <sup style="color:red">*</sup>场景:
|
|
|
- <div class="controls6" style="margin-bottom: 37px;margin-left: 25px;margin-top: -18px;width:auto;">
|
|
|
- <#if placeList ??>
|
|
|
- <#list placeList as place>
|
|
|
- <div style="display:inline-block; margin-left:180px;margin-bottom:20px;">
|
|
|
- <input autocomplete="off" style="float:left;display:inline-block;" type="checkbox" name="place" id ="#{place.id}place" value="#{place.id}">
|
|
|
- <li style="float:left;width:120px;position: relative;top:-3px;left:10px;" >${place.name}</li>
|
|
|
+ <#include "/advertiser/main/public-head.ftl"/>
|
|
|
+ <div id= "pagecontent">
|
|
|
+ <div id="content">
|
|
|
+ <div id="navDiv">
|
|
|
+ <ul id="navDiv_ul">
|
|
|
+ <li><i class="icon-home"></i></li>
|
|
|
+ <li><a href="${ctx}/advertiser/main/dashboard">首页</a></li>
|
|
|
+ <li><i class="icon-angle-right"></i></li>
|
|
|
+ <#if role == "agent">
|
|
|
+ <li><a href="${ctx}/advertiser/main/ad/advertiser/list">广告主管理</a></li>
|
|
|
+ <li><i class="icon-angle-right"></i></li>
|
|
|
+ </#if>
|
|
|
+ <li><a href="${ctx}/advertiser/main/ad/order/list?advertiserId=${advertiserId!}">订单管理</a></li>
|
|
|
+ <li><i class="icon-angle-right"></i></li>
|
|
|
+ <li><a href="${ctx}/advertiser/main/ad/target/campaign/list?orderId=${orderId!}&advertiserId=${advertiserId!}">活动管理</a></li>
|
|
|
+ <li><i class="icon-angle-right"></i></li>
|
|
|
+ <li><a href="${ctx}/advertiser/main/ad/target/ad-group/list?campaignId=${campaignId!}&orderId=${orderId!}&advertiserId=${advertiserId!}">投放管理</a></li>
|
|
|
+ <li><i class="icon-angle-right"></i></li>
|
|
|
+ <li class="navDiv_currentLi">编辑投放</li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <form id="validateForm" action="${ctx}/advertiser/main/ad/target/ad-group/save" method="post">
|
|
|
+ <input type="hidden" id="adGroupId" name="id" value="${adGroup.id!}"/>
|
|
|
+ <input type="hidden" id="advertiserId" name="advertiserId" value="${adGroup.advertiserId!}"/>
|
|
|
+ <input type="hidden" id="orderId" name="orderId" value="${adGroup.orderId!}"/>
|
|
|
+ <input type="hidden" id="campaignId" name="campaignId" value="${adGroup.campaignId!}"/>
|
|
|
+ <input type="hidden" name="agentId" value="${adGroup.agentId!}"/>
|
|
|
+ <input type="hidden" name="zoneIdString" value="1,12"/>
|
|
|
+ <input type="hidden" name="selectedwifi" id="selectedwifi" value="${selectedwifi!}"/>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>投放名称:</label>
|
|
|
+ <input class="input-text" tabindex="1" id="adGroupName" name="adGroupName" type="text" value="${adGroup.adGroupName!}" verify="unspecial/255/1/0"/><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>活动周期:</label>
|
|
|
+ <span id="input-calendar">
|
|
|
+ <i class="icon-calendar"></i>
|
|
|
+ <input type="text" tabindex="2" name="activeTime" id="dateRangePicker" value="${activeTime!}" verify="date-to/24/1/0"/><span class="spanVaildate"></span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>总预算:</label>
|
|
|
+ <input name="budget" type="hidden" id="budget" value="${budget!}"/>
|
|
|
+ <input class="input-text" tabindex="3" id="totalBudget" name="totalBudget" type="text" value="${adGroup.totalBudget!}" verify="float/11/1/2"/>
|
|
|
+ <span class="input-span">元</span><span class="help-inline">总预算不能大于订单总预算</span><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>投放模式:</label>
|
|
|
+ <input class="input-radio" name="mode" type="radio" value="1" <#if adGroup.mode==1>checked</#if> ><span class="input-radio-span otherspan">CPM</span>
|
|
|
+ <input class="input-radio" name="mode" type="radio" value="2" <#if adGroup.mode==2>checked</#if> ><span class="input-radio-span otherspan">CPC</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>单价(CPM):</label>
|
|
|
+ <input class="input-text" tabindex="4" id="price" name="price" type="text" value="${adGroup.price!}" verify="float/11/1/2"/><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>每日预算:</label>
|
|
|
+ <input class="input-text" tabindex="5" id="dailyBudget" name="dailyBudget" type="text" value="${adGroup.dailyBudget!}" verify="float/11/0/2"/>
|
|
|
+ <span class="input-span">元</span><span class="help-inline">若不设置,系统默认将总预算在投放周期内的均值作为每日预算</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>曝光总上限:</label>
|
|
|
+ <input class="input-text" tabindex="6" id="maxImpression" name="maxImpression" type="text" value="${adGroup.maxImpression!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">千次</span><span class="help-inline">整个投放期,广告最多被曝光多少千次,-1代表不限</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>点击总上限:</label>
|
|
|
+ <input class="input-text" tabindex="7" id="maxClick" name="maxClick" type="text" value="${adGroup.maxClick!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">次</span><span class="help-inline">整个投放期,广告最多被点击多少次,-1代表不限</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>转化总上限:</label>
|
|
|
+ <input class="input-text" tabindex="8" id="maxConversion" name="maxConversion" type="text" value="${adGroup.maxConversion!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">次</span><span class="help-inline">整个投放期,广告最多被曝光多少千次,-1代表不限</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>每日曝光总上限:</label>
|
|
|
+ <input class="input-text" tabindex="9" id="dailyMaxImpression" name="dailyMaxImpression" type="text" value="${adGroup.dailyMaxImpression!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">千次</span><span class="help-inline">每天,广告最多被曝光多少千次</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>每日点击总上限:</label>
|
|
|
+ <input class="input-text" tabindex="10" id="dailyMaxClick" name="dailyMaxClick" type="text" value="${adGroup.dailyMaxClick!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">次</span><span class="help-inline">每天,广告最多被点击多少次</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>每日转化总上限:</label>
|
|
|
+ <input class="input-text" tabindex="11" id="dailyMaxConversion" name="dailyMaxConversion" type="text" value="${adGroup.dailyMaxConversion!}" verify="number/11/0/0"/>
|
|
|
+ <span class="input-span">次</span><span class="help-inline">每天,广告最多被转换多少次</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>单人点击频次:</label>
|
|
|
+ <ul id="main_perClickul">
|
|
|
+ <li class="select_box" id="perClickul_box">
|
|
|
+ <span id="perClickul_span">请选择点击类型</span>
|
|
|
+ <ul class="son_ul" id="perClick_son_ul">
|
|
|
+ <li value="0">请选择点击类型</li>
|
|
|
+ <li value="1">每天</li>
|
|
|
+ <li value="2">投放周期</li>
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <input id="perClickType" name="perClickType" type="hidden" value="${adGroup.perClickType!}"/>
|
|
|
+ <input class="input-text-small" tabindex="12" id="perClick" name="perClick" type="text" value="${adGroup.perClick!}" verify="number/11/0/0"/><span class="input-span">次</span><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>单人曝光频次:</label>
|
|
|
+ <ul id="main_perImpressionul">
|
|
|
+ <li class="select_box" id="perImpressionul_box">
|
|
|
+ <span id="perImpressionul_span">请选择曝光类型</span>
|
|
|
+ <ul class="son_ul" id="perImpression_son_ul">
|
|
|
+ <li value="0">请选择曝光类型</li>
|
|
|
+ <li value="1">每天</li>
|
|
|
+ <li value="2">投放周期</li>
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <input id="perImpressionType" name="perImpressionType" type="hidden" value="${adGroup.perImpressionType!}"/>
|
|
|
+ <input class="input-text-small" tabindex="13" id="perImpression" name="perImpression" type="text" value="${adGroup.perImpression!}" verify="number/11/0/0"/><span class="input-span">次</span><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>点击找回:</label>
|
|
|
+ <input class="input-radio" name="retarget" type="radio" value="1" <#if adGroup.retarget==1>checked</#if> ><span class="input-radio-span otherspan">未设置</span>
|
|
|
+ <input class="input-radio" name="retarget" type="radio" value="2" <#if adGroup.retarget==2>checked</#if> ><span class="input-radio-span otherspan">点击过本广告主广告</span>
|
|
|
+ <input class="input-radio" name="retarget" type="radio" value="3" <#if adGroup.retarget==3>checked</#if> ><span class="input-radio-span otherspan">点击过广告</span>
|
|
|
+ <input class="input-radio" name="retarget" type="radio" value="4" <#if adGroup.retarget==4>checked</#if> ><span class="input-radio-span otherspan">点击过本订单广告</span>
|
|
|
+ <input class="input-radio" name="retarget" type="radio" value="5" <#if adGroup.retarget==5>checked</#if> ><span class="input-radio-span otherspan">点击过本活动广告</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>访客投放期:</label>
|
|
|
+ <input class="input-text" tabindex="14" id="period" name="period" type="text" value="${adGroup.period!}" verify="number/2/0/0"/>
|
|
|
+ <span class="input-span">1-90天</span><span class="spanVaildate"></span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>访客分类:</label>
|
|
|
+ <input class="input-checkbox" name="site" type="checkbox" value="1" <#if adGroup.site==1>checked</#if> ><span class="input-checkbox-span otherspan">全站访客</span>
|
|
|
+ </div>
|
|
|
+ <div class="input-group" id="areasDiv">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>地域定向:</label>
|
|
|
+ <input class="ignore" type="hidden" id="areas" name="areas" value="${areas!}"/>
|
|
|
+ <a id="btn-areas" class="btn2">地域设定</a>
|
|
|
+ <label id="geo-selected-areas"><span class="area-direct"></span><span>您已经设定了<strong id="count-areas">0</strong>个地域条件</span></label>
|
|
|
+ <label id="geo-all-areas"><span class="area-direct"></span><span class="default_text">不限</span></label>
|
|
|
+ </div>
|
|
|
+ <div id="timediv" class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>时段定向:</label>
|
|
|
+ <div class="setting">
|
|
|
+ <div class="time_tit">
|
|
|
+ <p>开始时间</p>
|
|
|
+ <p>结束时间</p>
|
|
|
+ </div>
|
|
|
+ <input type="hidden" name="sdayParting" id="sdayParting" value='${time!}'/>
|
|
|
+ <div class="clear"></div>
|
|
|
+ <div class="time_box"></div>
|
|
|
+ <div class="time_add"><p id="setting_list" class="dateRangePicker" href="">新增时间段</p></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="input-group place-edit" id="placeDiv">
|
|
|
+ <input type="hidden" id="edit-place" value="${place!}"/>
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>场景:</label>
|
|
|
+ <div class="input-checkboxsDiv">
|
|
|
+ <#if placeList ??>
|
|
|
+ <#list placeList as place>
|
|
|
+ <div class="single_div">
|
|
|
+ <input class="single_div_checkbox" name="place" type="checkbox" value="${place.id!}"><span class="single_div_span">${place.name!}</span>
|
|
|
+ </div>
|
|
|
+ </#list>
|
|
|
+ </#if>
|
|
|
</div>
|
|
|
- </#list>
|
|
|
- </#if>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <script type="text/javascript">
|
|
|
- var a="${place}";
|
|
|
- var c=a.split(",");
|
|
|
- for(var i=1;i<=17;i++)
|
|
|
- {
|
|
|
- var placeaaa = i + 'place' ;
|
|
|
- var flag=document.getElementById(placeaaa).value;
|
|
|
- for(var j=0;j<c.length;j++)
|
|
|
- {
|
|
|
- if(c[j]==flag)
|
|
|
- {
|
|
|
- document.getElementById(placeaaa).checked=true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- </script>
|
|
|
-
|
|
|
- <div class="control-group">
|
|
|
- <label style="position:relative;margin-top:-30px;" class="control-label"><sup></sup>位置:</label>
|
|
|
- <div class="controls" style="position:absolute; margin:-30px 0 0 98px;width:auto;">
|
|
|
- <div class="form-align-radio1" style="margin-right:100px;">
|
|
|
- <input autocomplete="off" style="line-height:30px;margin:0px 5px 0 0;border:none;" name="position" type="checkbox" id= "1position" value="1"><span class="lb2"> 全部</span>
|
|
|
</div>
|
|
|
- <div class="form-align-radio1" style="margin-right:84px;">
|
|
|
- <input autocomplete="off" style="line-height:30px;margin:0px 5px 0 0;" name="position" type="checkbox" id= "2position" value="2"><span class="lb2"> 认证页</span>
|
|
|
+ <div class="input-group position-edit" id="positionDiv">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>访客分类:</label>
|
|
|
+ <input type="hidden" id="edit-position" value="${adGroup.position!}"/>
|
|
|
+ <input class="input-checkbox" name="position" type="checkbox" value="1"><span class="input-checkbox-span otherspan">全部</span>
|
|
|
+ <input class="input-checkbox" name="position" type="checkbox" value="2"><span class="input-checkbox-span otherspan">认证页</span>
|
|
|
+ <input class="input-checkbox" name="position" type="checkbox" value="3"><span class="input-checkbox-span otherspan">认证页后</span>
|
|
|
+ <input class="input-checkbox" name="position" type="checkbox" value="4"><span class="input-checkbox-span otherspan">上网过程</span>
|
|
|
</div>
|
|
|
- <div class="form-align-radio1" style="margin-right:72px;">
|
|
|
- <input autocomplete="off" style="line-height:30px;margin:0px 5px 0 0;" name="position" type="checkbox" id= "3position" value="3"><span class="lb2"> 认证页后</span>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-no"></span>LBS定向:</label>
|
|
|
+ <a id="btn-toggle" class="btn2">LBS定向</a>
|
|
|
+ <span id="spanselectedhint"></span>
|
|
|
</div>
|
|
|
- <div class="form-align-radio1">
|
|
|
- <input autocomplete="off" style="line-height:30px;margin:0px 5px 0 0;" name="position" type="checkbox" id= "4position" value="4"><span class="lb2"> 上网过程</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <script type="text/javascript">
|
|
|
- var a="${adGroup.position}";
|
|
|
- var c=a.split(",");
|
|
|
- for(var i=1;i<=4;i++)
|
|
|
- {
|
|
|
- var positionaaa = i + 'position' ;
|
|
|
- var flag=document.getElementById(positionaaa).value;
|
|
|
- for(var j=0;j<c.length;j++)
|
|
|
- {
|
|
|
- if(c[j]==flag)
|
|
|
- {
|
|
|
- document.getElementById(positionaaa).checked=true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- </script>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-<div class="control-group">
|
|
|
- <lable class="control-label">
|
|
|
- <span style="color:red">*</span>代表必填项
|
|
|
- </lable>
|
|
|
-</div>
|
|
|
-
|
|
|
-<div class="control-group">
|
|
|
- <lable style="margin-top:-17px;" class="control-label">
|
|
|
- <input type="button" id="btn-toggle" class="btn1" style="width:150px;margin-top:10px;" value="LBS定向"> <span id="spanselectedhint" style="display:none;position:absolute;margin:15px 0 0 10px;"></span>
|
|
|
- </lable>
|
|
|
-</div>
|
|
|
-
|
|
|
-
|
|
|
-<div class="control-group">
|
|
|
- <input type="submit" style="width:150px;margin-right:15px;" value="保存" class="btn2" id="btnsave">
|
|
|
- <button class="btn2" href="${ctx}/advertiser/main/ad/target/ad-group/list?campaignId=${campaignId}&orderId=${orderId}&advertiserId=${advertiserId}" style="background-color:#36aeea;" id="btncancel"><i class="icon-undo"></i> 取消</button>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <input autocomplete="off" type="hidden" name="campaignId" value="${adGroup.campaignId}">
|
|
|
- <input autocomplete="off" type="hidden" name="orderId" value="${adGroup.orderId}">
|
|
|
- <input autocomplete="off" type="hidden" name="advertiserId" value="${adGroup.advertiserId}">
|
|
|
- <input autocomplete="off" type="hidden" name="agentId" value="${adGroup.agentId}">
|
|
|
- <input autocomplete="off" type="hidden" name="zoneIdString" value="1,12">
|
|
|
- <input type="hidden" name="selectedwifi" id="selectedwifi" value="${selectedwifi!}">
|
|
|
-</form>
|
|
|
-<div id="divLBS" >
|
|
|
- <div class="modal-dialog">
|
|
|
- <div class="modal-head"> LBS 设定</div>
|
|
|
- <div class="modal-content">
|
|
|
- <div class="modal-body" style="height:400px;">
|
|
|
- <div id="wifimap">
|
|
|
- <div id="divmapsearch">
|
|
|
- <form name="frmwifisearch" id="frmWifiSearch" action="${ctx}/advertiser/main/ad/target/ad-group/wifiList">
|
|
|
+ <div id="divLBS">
|
|
|
+ <div class="wifi-modal-dialog">
|
|
|
+ <div class="wifi-modal-head">
|
|
|
+ <label>LBS 设定</label>
|
|
|
+ <span id="wifi-headclose" class="close-tag"></span>
|
|
|
+ </div>
|
|
|
+ <div class="wifi-modal-content">
|
|
|
+ <div class="wifi-modal-body">
|
|
|
+ <div id="wifimap">
|
|
|
+ <div id="divmapsearch">
|
|
|
<fieldset id="city_custom">
|
|
|
- <input type="text" class="form-control" name="address" id="address" onkeydown="if(event.keyCode==13){return false;}"/>
|
|
|
- <select name="prov" id="prov" class="prov" ></select>
|
|
|
+ <select name="prov" id="prov" class="prov" ></select>
|
|
|
<select name="city" id="city" class="city"></select>
|
|
|
- <#-- 距离
|
|
|
+ <input type="text" class="input-text-small" name="address" id="address" onkeydown="if(event.keyCode==13){return false;}">
|
|
|
+ <#--距离
|
|
|
<select name="distance" id="mapdistance" >
|
|
|
<option value="1">1Km</option>
|
|
|
<option value="2">2Km</option><option value="3">3Km</option>
|
|
|
<option value="4">4Km</option><option value="5" selected>5Km</option>
|
|
|
<option value="6">6Km</option><option value="10">10Km</option>
|
|
|
<option value="20">20Km</option>
|
|
|
- </select>--> <input type="button" name="mapSearch" id="btnmapSearch" class="btn btn-primary" value="搜索" style="background:#36aeea"></fieldset>
|
|
|
- </form>
|
|
|
- <input type="hidden" name="cacheSearched" id="cacheSearched" >
|
|
|
- <input type="hidden" name="cacheSelected" id="cacheSelected" value='${cacheSelected}'><!--[{"id":1,"address":"上海体育馆","lat":121.535816,"lng":31.24231},{"id":2,"address":"上海市八万人体育场","lat":121.526224,"lng":31.238806},{"id":3,"address":"上海市卢湾区体育馆","lat":121.523198,"lng":31.235045},{"id":9,"address":"智造局一期国际服务外包产业","lat":121.478716, "lng":31.206612},{"id":10,"address":"上海市红房子妇产科医院","lat":121.483587, "lng":31.213861},{"id":11,"address":"上海东仁商贸中","lat":121.499101, "lng":31.220265}]-->
|
|
|
- <input type="hidden" id="searchedPage"><input type="hidden" id="selectedPage">
|
|
|
- </div>
|
|
|
- <div id="mapview" >
|
|
|
-
|
|
|
+ </select>-->
|
|
|
+ <input type="button" name="mapSearch" id="btnmapSearch" style="margin-top:-10px;background:#36aeea;" class="btn btn-primary" value="搜索">
|
|
|
+ </fieldset>
|
|
|
+ <!--[{"id":1,"address":"上海体育馆","lat":121.535816,"lng":31.24231},{"id":2,"address":"上海市八万人体育场","lat":121.526224,"lng":31.238806},{"id":3,"address":"上海市卢湾区体育馆","lat":121.523198,"lng":31.235045},{"id":9,"address":"智造局一期国际服务外包产业","lat":121.478716, "lng":31.206612},{"id":10,"address":"上海市红房子妇产科医院","lat":121.483587, "lng":31.213861},{"id":11,"address":"上海东仁商贸中","lat":121.499101, "lng":31.220265}]-->
|
|
|
+ <input type="hidden" name="cacheSearched" id="cacheSearched"/>
|
|
|
+ <input type="hidden" name="cacheSelected" id="cacheSelected" value='${cacheSelected!}'/>
|
|
|
+ <input type="hidden" id="searchedPage"><input type="hidden" id="selectedPage"/>
|
|
|
+ </div>
|
|
|
+ <div id="mapview"></div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div id="wifitab" >
|
|
|
- <ul class="nav navtab" id="wifitabul" >
|
|
|
- <li id="mnusearchedwifi" ><a href="javascript:" onclick="tabshow(this,'mnusearchedwifi')">搜索wifii</a></li>
|
|
|
- <li id="mnuselectedwifi" class="current"><a href="javascript:" onclick="tabshow(this,'mnuselectedwifi')">已选wifi</a></li>
|
|
|
- </ul><br class="clearfix">
|
|
|
+ <div id="wifitab" >
|
|
|
+ <ul class="nav navtab" id="wifitabul" >
|
|
|
+ <li id="mnusearchedwifi"><a href="javascript:" onclick="tabshow(this,'mnusearchedwifi')">搜索wifii</a></li>
|
|
|
+ <li id="mnuselectedwifi" class="current"><a href="javascript:" onclick="tabshow(this,'mnuselectedwifi')">已选wifi</a></li>
|
|
|
+ </ul>
|
|
|
<div id="divselectedwifi" class="in fade">没有选中wifi</div>
|
|
|
<div id="divsearchedwifi" class="in fade" style="display:none;">没有相关数据</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
-
|
|
|
+ </div>
|
|
|
+ <div class="wifi-modal-foot">
|
|
|
+ <button id="wifi-btn-save" class="btn-save" type="submit">确定</button>
|
|
|
+ <button id="wifi-btn-cancel" class="btn-cancel" type="button">取消</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="input-group">
|
|
|
+ <label class="input-label-other"><span class="lbl-yes">*</span>代表必填项</label>
|
|
|
+ </div>
|
|
|
+ <div id="footBtn">
|
|
|
+ <button id="create-btn-save" class="btn-save" type="submit">保存</button>
|
|
|
+ <button id="create-btn-cancel" class="btn-cancel" type="button">取消</button>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ <div id="areas_layout"></div>
|
|
|
</div>
|
|
|
- <br class="clearfix"><br class="clearfix">
|
|
|
- <div class="modal-foot" style="width:300px;height:34px;position:absloute;margin-left:300px;"><input type="button" value="确定" class="btn122" onclick='savewifi();$("#divLBS").dialog("close");'style="width:100px;position:absloute;height:30px;"> <input type="button" class="btn2" value="取消" onclick='$("#divLBS").dialog("close");' style="width:100px;position:absloute;magin-left:105px;height:30px;"></div>
|
|
|
- </div>
|
|
|
-
|
|
|
+ </div>
|
|
|
</div>
|
|
|
-<div class="space-24ger"></div>
|
|
|
-</div><!--/row-->
|
|
|
-<div id="areas_layout"></div>
|
|
|
-<div id="schedule_layout"></div>
|
|
|
-
|
|
|
-<script type="text/javascript">
|
|
|
-
|
|
|
- var areasgeoPopup = $("#areas_popup")[0];
|
|
|
- var GEO_list;
|
|
|
- $('#btn-areas').click(function () {
|
|
|
- if (!areasgeoPopup) {
|
|
|
- areasgeoPopup = new areasPopup({
|
|
|
- width: '746px',
|
|
|
- height: '435px',
|
|
|
- title: '地域定向设定'
|
|
|
- });
|
|
|
- var defaultValue = "不限";
|
|
|
- var input = $('#areas').trigger('change');
|
|
|
- var selectedIds = input.val() ? input.val().split(',') : null;
|
|
|
- $('#areasconfirm').click(function(){
|
|
|
- var pop= areasgeoPopup;
|
|
|
- areasgeoPopup.hide();
|
|
|
- input.val(Area.save());
|
|
|
- var id = 'areas',selected = Area.save();
|
|
|
- parent.$('#'+id).val(selected);
|
|
|
- if (selected && $('input[type=checkbox]:not(:checked)').length) {
|
|
|
- //有选择 且 非全选的
|
|
|
- parent.$('#count-'+id)[0].innerHTML = selected.split(',').length;
|
|
|
- parent.$('#geo-all-'+id).hide();
|
|
|
- parent.$('#geo-selected-'+id).show();
|
|
|
- }else{
|
|
|
- if(!$('input[type=checkbox]:not(:checked)').length){
|
|
|
- parent.$('#geo-all-'+id).find('.default_text')[0].innerHTML=defaultValue;
|
|
|
- }else{
|
|
|
- var val = defaultValue;
|
|
|
- parent.$('#geo-all-'+id).find('.default_text')[0].innerHTML=decodeURIComponent(val);
|
|
|
- }
|
|
|
- parent.$('#geo-all-'+id).show();
|
|
|
- parent.$('#geo-selected-'+id).hide();
|
|
|
- }
|
|
|
- parent.$(parent.document).trigger('setData');
|
|
|
-
|
|
|
- });
|
|
|
- //Area.init(GEO_LIST,selectedIds);
|
|
|
- $.ajax({
|
|
|
- url: '${ctx}/advertiser/main/ad/target/ad-group/getLocations',
|
|
|
- dataType:'json',
|
|
|
- success:function(GEO_LIST){
|
|
|
- Area.init(GEO_LIST,selectedIds);
|
|
|
- areasgeoPopup.show();
|
|
|
- GEO_list = GEO_LIST;
|
|
|
- },
|
|
|
- error:function(){
|
|
|
- alert('数据拉取失败,请检查您的网络连接是否可用');
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- }else{
|
|
|
- areasgeoPopup.show();
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- $('#count-areas').click(function () {
|
|
|
- $('#btn-areas').trigger('click');
|
|
|
- });
|
|
|
- if ($('#areas').val()) {
|
|
|
-
|
|
|
- $('#geo-selected-areas').show();
|
|
|
- $('#geo-all-areas').hide();
|
|
|
- $('#count-areas')[0].innerHTML = $('#areas').val().split(',').length;
|
|
|
- } else {
|
|
|
- $('#geo-selected-areas').hide();
|
|
|
- $('#geo-all-areas').show();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </script>
|
|
|
-<script type="text/javascript">
|
|
|
-//Alex add for wifi LBS
|
|
|
-
|
|
|
- jspagesize = 2 ;
|
|
|
-
|
|
|
-/*get wifi from cachedata*/
|
|
|
-function initMarker(obj){
|
|
|
-
|
|
|
- try{
|
|
|
- if(obj.value.length>4){
|
|
|
- allwifi=jQuery.parseJSON(obj.value)
|
|
|
- markers = [];
|
|
|
- for (var i = 0; length= allwifi.length,i<length ;i ++) {
|
|
|
- var markerPosition = new AMap.LngLat(allwifi[i]['lat'],allwifi[i]['lng']);
|
|
|
- var marker = new AMap.Marker({
|
|
|
- position: markerPosition,
|
|
|
- icon: "http://developer.amap.com/wp-content/uploads/2014/06/marker.png"
|
|
|
- });
|
|
|
- markers.push(marker);
|
|
|
- }
|
|
|
- return markers;
|
|
|
- }
|
|
|
- }
|
|
|
- catch(e){return false;}
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-function savewifi(){
|
|
|
- try{
|
|
|
- wifiids=''
|
|
|
- selectedwificount=0
|
|
|
- if($("#cacheSelected").val().length>2){
|
|
|
- allwifi=$.parseJSON($("#cacheSelected").val())
|
|
|
- for (var i = 0; length= allwifi.length,i<length ;i ++) {
|
|
|
- wifiids += allwifi[i]['id']+',';
|
|
|
- selectedwificount+=1;
|
|
|
- }
|
|
|
- wifiids=wifiids.substring(0,wifiids.length-1)
|
|
|
- }
|
|
|
- $("#selectedwifi").val(wifiids);
|
|
|
- $("#spanselectedhint").html("共选择了" + selectedwificount + " 个 wifi")
|
|
|
- $("#spanselectedhint").show();
|
|
|
-
|
|
|
- }
|
|
|
- catch(e){alert(e)}
|
|
|
-}
|
|
|
-
|
|
|
-function tabshow(e,id){
|
|
|
- var mnu=['mnusearchedwifi','mnuselectedwifi']
|
|
|
- try{
|
|
|
- for(i=0;i<mnu.length;i++){
|
|
|
- mnuid=mnu[i];divid="#div" + mnuid.substr(3)
|
|
|
- if(mnu[i]==id){
|
|
|
- $('#'+mnuid).addClass('current');
|
|
|
- $(divid)[0].style.display='block';
|
|
|
- }
|
|
|
- else{
|
|
|
- $('#'+mnuid).removeClass('current');
|
|
|
- $(divid)[0].style.display='none';
|
|
|
- }
|
|
|
- }
|
|
|
- }catch(e){alert(e)}
|
|
|
-}
|
|
|
-
|
|
|
-function wificlick(e){
|
|
|
- var nval="",v=$(e).attr("dataj"),oldval,strcache=$('#cacheSelected').val()
|
|
|
- if(strcache.length>2){
|
|
|
- oldval=$.parseJSON(strcache);
|
|
|
- }
|
|
|
-
|
|
|
- try{
|
|
|
- if(e.checked == true){//add string to cache
|
|
|
- if(strcache.length>2){
|
|
|
- if(strcache.indexOf(v)<1){
|
|
|
- strcache= strcache.substr(0,strcache.length-1) +',' + v + ']'
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- strcache='['+ v +']';
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if(e.checked== false){
|
|
|
- if(strcache.indexOf(v)>0){
|
|
|
-
|
|
|
- strcache='['+strcache.substring(1,strcache.indexOf(v)) + strcache.substring(strcache.indexOf(v)+v.length,strcache.length-1)+ ']'
|
|
|
- strcache=strcache.replace(",,",",");
|
|
|
- strcache=strcache.replace("[,","[");
|
|
|
- strcache=strcache.replace(",]","]");
|
|
|
- }
|
|
|
- else{alert(strcache +"\n" + v +"\n"+strcache.indexOf(v))
|
|
|
- strcache='[]'
|
|
|
- }
|
|
|
- }
|
|
|
- //alert(strcache);
|
|
|
- $('#cacheSelected').val(strcache);
|
|
|
- loadselectwifi($('#selectedPage').val())
|
|
|
- loadsearchwifi($('#searchedPage').val())
|
|
|
- //alert($('#cacheSelected').val())
|
|
|
- }catch(e){alert(e)}
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-function loadsearchwifi(p){
|
|
|
- var totalcount,pageno,swifi
|
|
|
-
|
|
|
- try{
|
|
|
- if($('#cacheSearched').val().length>2){
|
|
|
- swifi=$.parseJSON($('#cacheSearched').val())
|
|
|
- totalcount = swifi.length
|
|
|
- pagecount=Math.ceil(totalcount/jspagesize)
|
|
|
- $("#searchedPage").val(p)
|
|
|
- if(isNaN(p)|| typeof(p)!=='number' || parseInt(p)!==p || parseInt(p)>pagecount){pageno=1;}
|
|
|
- else{pageno=p;}
|
|
|
- $("#searchPage").val(p)
|
|
|
- wifihtm='';
|
|
|
- //select item in wifisections
|
|
|
- for(i=jspagesize*(pageno-1);i<jspagesize*(pageno-1)+jspagesize;i++){
|
|
|
- if(swifi[i]){
|
|
|
- wifihtm +="<div class=\"wifiitem\"><input type=\"checkbox\" name=\"swifi["+swifi[i]['id'] +"]\" id=\"swifi"+swifi[i]['id'] +"\" value=\""+swifi[i]['id'] +"\" onclick=\"wificlick(this)\" dataj='" + JSON.stringify(swifi[i]) +"'";
|
|
|
- //alert($("#cacheSelected")[0].value+"\n"+JSON.stringify(swifi[i]).toString().substring(0,20) +"\n"+$("#cacheSelected")[0].value.indexOf(JSON.stringify(swifi[i]).toString().substring(0,20)))
|
|
|
- if($("#cacheSelected")[0].value.indexOf(JSON.stringify(swifi[i]).toString().substring(0,20))>-1){wifihtm +=' checked ';}
|
|
|
- wifihtm+= "> <lable class=\"wifilab\" for=\"swifi" +swifi[i]['id'] +"\">" +swifi[i]['address'] + "</lable></div>";
|
|
|
- }
|
|
|
- }
|
|
|
- resulthtm= wifihtm+genwifinav(pagecount,pageno,'loadsearchwifi');
|
|
|
- $("#divsearchedwifi").html(resulthtm);
|
|
|
- }
|
|
|
- else{$("#divsearchedwifi").html('没有搜索到wifif信息')}
|
|
|
- }
|
|
|
- catch(e){$("#divsearchedwifi").html('加载wifi信息出错');}
|
|
|
-}
|
|
|
-
|
|
|
-function loadselectwifi(p){
|
|
|
- var totalcount,pageno,allwifi
|
|
|
- try{
|
|
|
- if($('#cacheSelected').val().length>2){
|
|
|
- var allwifi=$.parseJSON($('#cacheSelected').val())
|
|
|
- totalcount = allwifi.length
|
|
|
- pagecount=Math.ceil(totalcount/jspagesize)
|
|
|
- if(isNaN(p)|| typeof(p)!=='number' || parseInt(p)!==p || parseInt(p)>pagecount){pageno=1;}
|
|
|
- else{pageno=p;}
|
|
|
- $("#selectedPage").val(p)
|
|
|
- wifihtm = '<div class="wifilist">';
|
|
|
- //show select item in wifisections
|
|
|
- for(i=jspagesize*(pageno-1);i<jspagesize*(pageno-1)+jspagesize;i++){
|
|
|
- if((allwifi[i])){
|
|
|
- wifihtm +="<div class=\"wifiitem\"><input type=\"checkbox\" name=\"swifi[]\" id=\"swifi"+allwifi[i]['id'] +"\" value=\""+allwifi[i]['id'] +"\" onclick=\"wificlick(this) \" dataj='" + JSON.stringify(allwifi[i]) + "' checked> <lable class=\"\" for=\"swifi" +allwifi[i]['id'] +"\">" +allwifi[i]['address'] + "</lable></div>"
|
|
|
- }
|
|
|
- else{break;}
|
|
|
- }
|
|
|
- wifihtm += '</div>'
|
|
|
- resulthtml= wifihtm+genwifinav(pagecount,pageno,'loadselectwifi');
|
|
|
- $("#divselectedwifi").html(resulthtml);
|
|
|
- }
|
|
|
- else{$("#divselectedwifi").html("没有选择wifi");}
|
|
|
- }
|
|
|
- catch(e){$("#divselectedwifi").html("加载wifi时出错");}
|
|
|
-}
|
|
|
-
|
|
|
-function genwifinav(pcount,pno,fun){
|
|
|
- //pageinvbar
|
|
|
- wifinavhtm='<div class="pagination-wifi"><ul class="pagination-mini-wifi">';
|
|
|
- if(pcount<=7){pagebegin=1;pageend=pagecount;}
|
|
|
- else{
|
|
|
- if(pno<=4){pagebegin=1;pageend=pagecount;}
|
|
|
- else{
|
|
|
- if(pagecount-pno<4){pagebegin=pcount-6;pageend=pcount;}
|
|
|
- else{pagebegin=pno-3;pageend=pno+3}
|
|
|
- }
|
|
|
- }
|
|
|
- for(i=pagebegin;i<=pageend;i++){
|
|
|
- wifinavhtm +="<li ><a href=\"javascript:\" onclick=\""+ fun + "("+ i +")\""
|
|
|
- if(i==pno){wifinavhtm+=" class=\"disabled\""}
|
|
|
-
|
|
|
- wifinavhtm+= ">"+ i +"</li>"
|
|
|
- }
|
|
|
- wifinavhtm +='</ul></div>';
|
|
|
- return wifinavhtm;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-(function(){
|
|
|
- var map ;
|
|
|
- $('#btnmapSearch').click(function(e){
|
|
|
- try{
|
|
|
- var sdata = $(document.forms["frmwifisearch"]).serializeArray();
|
|
|
-
|
|
|
- $.ajax({
|
|
|
- url: document.forms['frmwifisearch'].action,
|
|
|
- type: "POST",
|
|
|
- // formate "name=codeplayer&age=18&uid=1&uid=2&uid=3"
|
|
|
- data: sdata,
|
|
|
- datatype: 'json',
|
|
|
- // sucess
|
|
|
- success: function( rdata, textStatus, jqXHR ){
|
|
|
- try{
|
|
|
- if(rdata.length>4){
|
|
|
- $('#cacheSearched').val(rdata);
|
|
|
- map=window.map;
|
|
|
- map.plugin(['AMap.MarkerClusterer'], function(){
|
|
|
- var cl = new AMap.MarkerClusterer(map, initMarker($("#cacheSearched")[0]));
|
|
|
- });
|
|
|
- loadsearchwifi(1);
|
|
|
- tabshow($("#mnusearchedwifi")[0],'mnusearchedwifi')
|
|
|
- }
|
|
|
- else{$("#cacheSearched").val("");$("#divsearchedwifi").html("没有搜索到wifi");}
|
|
|
-
|
|
|
- }
|
|
|
- catch(e){alert(e);}
|
|
|
-
|
|
|
- },
|
|
|
- // onfaile
|
|
|
- error: function(jqXHR, textStatus, errorMsg){
|
|
|
- // jqXHR object of XMLHttpRequest
|
|
|
- // textStatus value: null、"timeout"、"error"、"abort"或"parsererror"
|
|
|
- // errorMsg value: "Not Found"、"Internal Server Error"
|
|
|
- alert("请求失败:" + errorMsg);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- catch(e){alert(e.error);}
|
|
|
- });
|
|
|
- })();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </script>
|
|
|
-<script>
|
|
|
-
|
|
|
- function setting_date(){
|
|
|
- var str_date = $("#sdayParting").val();
|
|
|
- console.log(str_date);
|
|
|
- if(str_date!=""){
|
|
|
- var js_date = $.parseJSON(str_date);
|
|
|
- var html="";
|
|
|
- for(var i=0;i<js_date.length;i++){
|
|
|
- console.log(js_date[i].dehours);
|
|
|
- html += '<div class="time_item"><p class="tr_data"><span class="inp"><input type="text" class="start_date edit_time" readonly="readonly" value="'+js_date[i].startDate+'"></span><span class="inp"><input type="text" class="end_date edit_time" readonly="readonly" value = "'+js_date[i].endDate+'"></span></p><button class="btn_del">删除</button><input class="json_date" type="hidden" value = "'+js_date[i].dehours+'"></div>';
|
|
|
- }
|
|
|
- $(".setting .time_box").append(html);
|
|
|
- $(".time_box .time_item .btn_del").bind("click",function(e){
|
|
|
- $(this).parents(".time_item").remove();
|
|
|
- });
|
|
|
- var date = $("#id-date-picker-1").val().split('to');
|
|
|
- var s_date = date[0];
|
|
|
- var e_date = date[1];
|
|
|
- $(".setting .tr_data").unbind("mousedown").bind("mousedown",function(){
|
|
|
- var obj_tr = $(this);
|
|
|
- var th_date_s = $(this).find(".start_date").val();
|
|
|
- var th_date_e = $(this).find(".end_date").val();
|
|
|
- var datePickerOptions_td = {
|
|
|
- "startDate":th_date_s,
|
|
|
- "endDate":th_date_e,
|
|
|
- getValue: function(){
|
|
|
- if (obj_tr.find(".start_date").val() && obj_tr.find(".end_date").val() )
|
|
|
- return obj_tr.find(".start_date").val() + ' to ' + obj_tr.find(".end_date").val();
|
|
|
- else
|
|
|
- return '';
|
|
|
- },
|
|
|
- setValue: function(s,s1,s2){
|
|
|
- obj_tr.find(".start_date").val(s1);
|
|
|
- obj_tr.find(".end_date").val(s2);
|
|
|
- }
|
|
|
- }
|
|
|
- obj_tr.unbind("datepicker-apply").bind('datepicker-apply',function(event,obj){
|
|
|
- var date = $("#id-date-picker-1").val().split('to');
|
|
|
- var s_date = date[0];
|
|
|
- var e_date = date[1];
|
|
|
- var checked_date = new Array();
|
|
|
- var other_box =obj_tr.parent().siblings();
|
|
|
- var len = other_box.length;
|
|
|
- for(var i=0;i<len;i++){
|
|
|
- var json_check = {"startDate":other_box.eq(i).find(".start_date").val(),"endDate":other_box.eq(i).find(".end_date").val()};
|
|
|
- checked_date.push(json_check);
|
|
|
- }
|
|
|
- console.log(checked_date);
|
|
|
- var startDate = obj.value.split('to')[0];
|
|
|
- var endDate = obj.value.split('to')[1];
|
|
|
- var flag = true;
|
|
|
- if(flag){
|
|
|
- var obj = $("#quantum_list1");
|
|
|
- if(obj.find(".pitchon")){
|
|
|
- var timeData = obj.find(".pitchon").map(function(i,span){
|
|
|
- return $(span).attr("title");
|
|
|
- }).toArray().join(',');
|
|
|
- }else{
|
|
|
- var timeData = -1;
|
|
|
- }
|
|
|
- obj_tr.find(".start_date").val(startDate);
|
|
|
- obj_tr.find(".end_date").val(endDate);
|
|
|
- obj_tr.parent().find(".json_date").val(timeData);
|
|
|
- }else{alert("请选择正确时间!");}
|
|
|
- });
|
|
|
- obj_tr.dateRangePicker1(datePickerOptions_td);
|
|
|
- $("#quantum_list1").find("p").removeClass("pitchon");
|
|
|
- var chose_time = obj_tr.parent().find(".json_date").val();
|
|
|
- console.log(chose_time);
|
|
|
- if(chose_time!=-1&&chose_time!=""){
|
|
|
- var chose_arr = chose_time.split(",");
|
|
|
- for(var n=0;n<chose_arr.length;n++){
|
|
|
- $("#quantum_list1 p").eq(chose_arr[n]).addClass("pitchon");
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- $(function(){
|
|
|
- savewifi();
|
|
|
- //获取排期时间
|
|
|
- setting_date();
|
|
|
- $('#setting_list').unbind("mousedown").bind("mousedown",function(){
|
|
|
- var date = $("#id-date-picker-1").val().split('to');
|
|
|
- var s_date = date[0];
|
|
|
- var e_date = date[1];
|
|
|
- var len_box = $(".time_box").find(".time_item").length;
|
|
|
- if(len_box > 6){
|
|
|
- alert("最多只能添加6个时段");
|
|
|
- }else{
|
|
|
- if(s_date!=""&&e_date!=""){
|
|
|
- var datePickerOptions = {
|
|
|
- "startDate":s_date,
|
|
|
- "endDate":e_date
|
|
|
- }
|
|
|
- $("#quantum_list1").find("p").removeClass("pitchon");
|
|
|
- $('#setting_list').unbind("datepicker-apply").bind('datepicker-apply',function(event,obj){
|
|
|
- var date = $("#id-date-picker-1").val().split('to');
|
|
|
- var s_date = date[0];
|
|
|
- var e_date = date[1];
|
|
|
- var checked_date = new Array();
|
|
|
- var len = $(".setting .time_item").length;
|
|
|
- for(var i=0;i<len;i++){
|
|
|
- var json_check = {"startDate":$(".time_item").eq(i).find(".start_date").val(),"endDate":$(".time_item").eq(i).find(".end_date").val()};
|
|
|
- checked_date.push(json_check);
|
|
|
- }
|
|
|
- var startDate = obj.value.split('to')[0];
|
|
|
- var endDate = obj.value.split('to')[1];
|
|
|
- var flag = true;
|
|
|
- for(var j=0;j<checked_date.length;j++){
|
|
|
- if(startDate < checked_date[j].startDate && endDate < checked_date[j].startDate){
|
|
|
- console.log(startDate+":"+endDate)
|
|
|
- console.log(flag+":1");
|
|
|
- }else if(startDate > checked_date[j].endDate && endDate > checked_date[j].endDate){
|
|
|
- console.log(flag+":2");
|
|
|
- }else{
|
|
|
- flag=false;
|
|
|
- }
|
|
|
- }
|
|
|
- if(flag){
|
|
|
- var obj = $("#quantum_list1");
|
|
|
- if(obj.find(".pitchon").length){
|
|
|
- var timeData = obj.find(".pitchon").map(function(i,span){
|
|
|
- return $(span).attr("title");
|
|
|
- }).toArray().join(',');
|
|
|
- }else{
|
|
|
- var timeData = -1;
|
|
|
- }
|
|
|
- var html = '<div class="time_item"><p class="tr_data"><span class="inp"><input type="text" class="start_date edit_time" readonly="readonly" value="'+startDate+'"></span><span class="inp"><input type="text" class="end_date edit_time" readonly="readonly" value = "'+endDate+'"></span></p><button class="btn_del">删除</button><input class="json_date" type="hidden" value = "'+timeData+'"></div>';
|
|
|
- $(".setting .time_box").append(html);
|
|
|
- $(".time_box .time_item .btn_del").bind("click",function(e){
|
|
|
- $(this).parents(".time_item").remove();
|
|
|
- });
|
|
|
- $(".setting .tr_data").unbind("mousedown").bind("mousedown",function(){
|
|
|
- var obj_tr = $(this);
|
|
|
- var datePickerOptions_td = {
|
|
|
- "startDate":s_date,
|
|
|
- "endDate":e_date,
|
|
|
- getValue: function(){
|
|
|
- if (obj_tr.find(".start_date").val() && obj_tr.find(".end_date").val() )
|
|
|
- return obj_tr.find(".start_date").val() + ' to ' + obj_tr.find(".end_date").val();
|
|
|
- else
|
|
|
- return '';
|
|
|
- },
|
|
|
- setValue: function(s,s1,s2){
|
|
|
- obj_tr.find(".start_date").val(s1);
|
|
|
- obj_tr.find(".end_date").val(s2);
|
|
|
- }
|
|
|
- }
|
|
|
- obj_tr.unbind("datepicker-apply").bind('datepicker-apply',function(event,obj){
|
|
|
- var date = $("#id-date-picker-1").val().split('to');
|
|
|
- var s_date = date[0];
|
|
|
- var e_date = date[1];
|
|
|
- var checked_date = new Array();
|
|
|
- var other_box =obj_tr.parent().siblings();
|
|
|
- var len = other_box.length;
|
|
|
- for(var i=0;i<len;i++){
|
|
|
- var json_check = {"startDate":other_box.eq(i).find(".start_date").val(),"endDate":other_box.eq(i).find(".end_date").val()};
|
|
|
- checked_date.push(json_check);
|
|
|
- }
|
|
|
- console.log(checked_date);
|
|
|
- var startDate = obj.value.split('to')[0];
|
|
|
- var endDate = obj.value.split('to')[1];
|
|
|
- var flag = true;
|
|
|
- console.log(checked_date);
|
|
|
- if(flag){
|
|
|
- var obj = $("#quantum_list1");
|
|
|
- if(obj.find(".pitchon")){
|
|
|
- var timeData = obj.find(".pitchon").map(function(i,span){
|
|
|
- return $(span).attr("title");
|
|
|
- }).toArray().join(',');
|
|
|
- }else{
|
|
|
- var timeData = -1;
|
|
|
- }
|
|
|
- obj_tr.find(".start_date").val(startDate);
|
|
|
- obj_tr.find(".end_date").val(endDate);
|
|
|
- console.log(timeData);
|
|
|
- console.log(obj_tr);
|
|
|
- obj_tr.parent().find(".json_date").val(timeData);
|
|
|
- }else{alert("请选择正确时间!");}
|
|
|
- });
|
|
|
- obj_tr.dateRangePicker1(datePickerOptions_td);
|
|
|
- $("#quantum_list1").find("p").removeClass("pitchon");
|
|
|
- var chose_time = obj_tr.parent().find(".json_date").val();
|
|
|
- console.log(chose_time);
|
|
|
- if(chose_time!=-1&&chose_time!=""){
|
|
|
- var chose_arr = chose_time.split(",");
|
|
|
- for(var n=0;n<chose_arr.length;n++){
|
|
|
- $("#quantum_list1 p").eq(chose_arr[n]).addClass("pitchon");
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }else{
|
|
|
- alert("请选择正确时间!");
|
|
|
- }
|
|
|
- });
|
|
|
- $('#setting_list').dateRangePicker1(datePickerOptions);
|
|
|
- }else{
|
|
|
- alert("请选择活动周期,在进行操作!");
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- $("#btnsave").click(function(){
|
|
|
- var checked_date = new Array();
|
|
|
- var len = $(".setting .time_item").length;
|
|
|
- var jsondata = "[";
|
|
|
- for(var i=0;i<len;i++){
|
|
|
- if(i == 0){
|
|
|
- jsondata += '{"startDate":\"'+$(".time_item").eq(i).find(".start_date").val()+'\","endDate":\"'+$(".time_item").eq(i).find(".end_date").val()+'\","dehours":\"'+$(".time_item").eq(i).find(".json_date").val()+'\"}';
|
|
|
- }else{
|
|
|
- jsondata += ',{"startDate":\"'+$(".time_item").eq(i).find(".start_date").val()+'\","endDate":\"'+$(".time_item").eq(i).find(".end_date").val()+'\","dehours":\"'+$(".time_item").eq(i).find(".json_date").val()+'\"}';
|
|
|
- }
|
|
|
- }
|
|
|
- jsondata += "]";
|
|
|
- $("#sdayParting").val(jsondata);
|
|
|
-
|
|
|
- //提示场景选择
|
|
|
- var placelist = $("#placediv input[type='checkbox']:checked");
|
|
|
- if(placelist.length == 0){
|
|
|
- alert("场景为必填项,请选择!");
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- $("#validation-form input[name='totalBudget']").focus(function(){
|
|
|
- $("#totalBudget_span").html("");
|
|
|
- });
|
|
|
-
|
|
|
- $("#validation-form input[name='totalBudget']").blur(function(){
|
|
|
- validateMoney();
|
|
|
- });
|
|
|
-
|
|
|
- $("#btncancel").click(function(){
|
|
|
- location.href = $(this).attr("href");
|
|
|
- return false;
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- function validateMoney(){
|
|
|
- var reg=/^\d{1,8}\.?\d{0,2}$/;
|
|
|
- var $this = $("#validation-form input[name='totalBudget']");
|
|
|
- if($this.val().match(reg)!=null){
|
|
|
- if(($this.val().indexOf('.') == -1 && $this.val().length > 8) || $this.val() <= 0){
|
|
|
- $this.css("box-shadow","0 0 6px red").attr('title','总预算金额必须大于0且整数位最多8位');
|
|
|
- $("#totalBudget_span").html("总预算金额必须大于0且整数位最多8位").css("color","red");
|
|
|
- return false;
|
|
|
- }if($this.val() > parseInt($("#budget").val())){
|
|
|
- $this.css("box-shadow","0 0 6px red").attr('title','总预算不能大于订单总预算');
|
|
|
- $("#totalBudget_span").html("总预算不能大于订单总预算").css("color","red");
|
|
|
- return false;
|
|
|
- }else{
|
|
|
- $this.css("box-shadow","none").attr('title','');
|
|
|
- $("#totalBudget_span").html("");
|
|
|
- }
|
|
|
- }else{
|
|
|
- $this.css("box-shadow","0 0 6px red").attr('title','总预算金额必须大于0整数位最多8位且最多有2位小数');
|
|
|
- $("#totalBudget_span").html("总预算金额必须大于0整数位最多8位且最多有2位小数").css("color","red");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-</script>
|
|
|
</@override>
|
|
|
<@extends name="/common/simple.ftl"/>
|