www.gusucode.com > Ectouch手机端网购商城系统PHP版源码程序 > ectouch/include/apps/admin/view/topic_add.php
{include file="pageheader"} <link rel="stylesheet" type="text/css" href="__ASSETS__/css/jquery.datetimepicker.css"/ > <script src="__ASSETS__/js/jquery.datetimepicker.js" type="text/javascript"></script> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">{$ur_here}</h3> </div> <div class="panel-body"> <ul class="nav nav-tabs" role="tablist" id="myTab"> <li class="active"><a href="#general" role="tab" data-toggle="tab">{$lang['tab_general']}</a></li> <li><a href="#goods" role="tab" data-toggle="tab">{$lang['tab_goods']}</a></li> <li><a href="#desc" role="tab" data-toggle="tab">{$lang['tab_desc']}</a></li> <li><a href="#advanced" role="tab" data-toggle="tab">{$lang['tab_advanced']}</a></li> </ul> <form action="{url('add')}" method="post" name="theForm" enctype="multipart/form-data" class="form-horizontal" role="form"> <div class="tab-content"> <div class="tab-pane active" id="general"> <table id="general-table" class="table table-hover ectouch-table"> <tr> <td width="200">{$lang['topic_title']}</td> <td><div class="col-md-4"> <input type='text' name='topic_name' maxlength="20" datatype="*" class="form-control input-sm" /> </div></td> </tr> <tr> <td width="200">{$lang['lable_topic_keywords']}</td> <td><div class="col-md-6"> <textarea class="form-control input-sm" rows="6" name='data[keywords]'></textarea> </div></td> </tr> <tr> <td width="200">{$lang['lable_topic_description']}</td> <td><div class="col-md-4"> <input type='text' name='data[description]' maxlength="20" class="form-control input-sm" /> </div></td> </tr> <tr> <td width="200">{$lang['lable_topic_type']}</td> <td><div class="col-md-3"> <select name="topic_type" id="topic_type" onchange="showMedia(this.value)"> <option value='0'>{$lang['top_img']}</option> <option value='1'>{$lang['top_flash']}</option> <option value='2'>{$lang['top_html']}</option> </select> </div></td> </tr> <tbody id="content_01"> <tr> <td>{$lang['lable_upload']}</td> <td><div class="col-md-4"> <input type="file" name="topic_img" class="form-control input-sm" /> </div></td> </tr> <tr> <td width="200">{$lang['lable_from_web']}</td> <td><div class="col-md-4"> <input type='text' name='url' maxlength="20" class="form-control input-sm" /> </div></td> </tr> </tbody> <tbody id="edit_img"> <tr> <td width="200"> </td> <td><div class="col-md-4"> <input type="text" name="img_url" id="img_url" class="form-control input-sm" value="{$topic['topic_img']}" size="35" readonly="readonly"/> </div></td> </tr> </tbody> <tbody id="content_23"> <tr> <td width="200">{$lang['topic_class_list']}</td> <td><div class="col-md-4"> <textarea name="htmls" id="htmls" class="form-control input-sm" rows="6">{$topic['htmls']}</textarea> </div></td> </tr> </tbody> <tr> <td width="200">{$lang['lable_title_upload']}</td> <td><div class="col-md-4"> <input type="file" name="title_pic" class="form-control input-sm" /> </div></td> </tr> <tr> <td width="200">{$lang['lable_from_web']}</td> <td><div class="col-md-4"> <input type='text' name='title_url' maxlength="20" class="form-control input-sm" /> </div></td> </tr> <tbody id="edit_title_img"> <tr> <td width="200"> </td> <td><div class="col-md-4"> <input type='text' name='title_img_url' maxlength="20" value="{$topic['title_pic']}" readonly="readonly" class="form-control input-sm" /> </div></td> </tr> </tbody> <tr> <td width="200">{$lang['start_time']}</td> <td><div class="col-md-4"> <input type='text' name='start_time' id="start_time" maxlength="100" class="form-control input-sm" /> </div></td> </tr> <tr> <td width="200">{$lang['end_time']}</td> <td><div class="col-md-4"> <input type='text' name='end_time' id="end_time" maxlength="100" class="form-control input-sm" /> </div></td> </tr> </table> </div> <div class="tab-pane" id="goods"> <table width="90%" class="table table-hover ectouch-table"> <tr> <td><div class="col-md-9">{$lang['topic_class']} <select name="topic_class_list" id="topic_class_list" onchange="showTargetList()"> </select> <input name="new_cat_name" type="text" id="new_cat_name" /> <input name="create_class_btn" type="button" id="create_class_btn" value="{$lang['add']}" class="button" onclick="addClass()" /> <input name="delete_class_btn" type="button" id="delete_class_btn" value="{$lang['remove']}" class="button" onclick="deleteClass()" /> </div></td> </tr> <tr> <td width="100%"><div class="col-md-9" ><i class="glyphicon glyphicon-search"></i> <select name="cat_id2"> <option value="0">{$lang['all_category']}</option> {$cat_list} </select> <select name="brand_id2"> <option value="0">{$lang['all_brand']}</option> {loop $brand_list $key $posit} <option value="{$key}">{$posit}</option> {/loop} </select> <input type="text" name="keyword2"/> <input name="button" type="button" class="button" onclick="searchGoods('cat_id2', 'brand_id2', 'keyword2')" value="{$lang['button_search']}" /> </div></td> </tr> <tr> <td width="100%"><table width="90%" class="table table-hover ectouch-table"> <tr height="37"> <th>{$lang['all_goods']}</th> <th>{$lang['handler']}</th> <th>{$lang['selected_goods']}</th> </tr> <tr> <td width="42%"><select name="source_select" id="source_select" size="20" style="width:100%;height:300px;" ondblclick="addItem(this)"> </select></td> <td align="center"><p> <input name="button" type="button" class="button" onclick="addAllItem(document.getElementById('source_select'))" value=">>" /> </p> <p> <input name="button" type="button" class="button" onclick="addItem(document.getElementById('source_select'))" value=">" /> </p> <p> <input name="button" type="button" class="button" onclick="removeItem(document.getElementById('target_select'))" value="<" /> </p> <p> <input name="button" type="button" class="button" value="<<" onclick="removeItem(document.getElementById('target_select'), true)" /> </p></td> <td width="42%"><select name="target_select" id="target_select" size="20" style="width:100%;height:300px" multiple="multiple"> </select></td> </tr> </table></td> </tr> </table> <input type="hidden" name="id" value="{$info['act_id']}" /> </div> <div class="tab-pane" id="desc"> <table width="90%" class="table table-hover ectouch-table"> <tr> <td><div class="col-md-9"> <script id="container" name="topic_intro" type="text/plain" style="width:810px; height:360px;"></script> </div></td> </tr> </table> <input type="hidden" name="id" value="{$info['act_id']}" /> </div> <div class="tab-pane" id="advanced"> <table width="90%" class="table table-hover ectouch-table"> <tr> <td width="200">{$lang['template_file']}</td> <td><div class="col-md-4"> <select name="topic_template_file" class="form-control input-sm"> {loop $template_list $key $tmp} <option value="{$tmp}">{$tmp}</option> {/loop} </select> <div class="row"><div style="padding-top:10px;display: block;" class="col-md-12"> {$lang['notice_template_file']}</div></div> </div></td> </tr> </table> </div> </div> <div class="button-div"> <input name="act" type="hidden" value="{$form_action}" /> <input name="topic_data" type="hidden" id="topic_data" value='' /> <input type="submit" value="{$lang['button_submit']}" class="btn btn-primary" onclick="return checkForm()"/> <input type="reset" value="{$lang['button_reset']}" class="btn btn-default" /> </div> </form> </div> </div> <script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.config.js"></script> <script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.all.min.js"></script> <script type="text/javascript">var ue = UE.getEditor('container');</script> {include file="pagefooter"} <script type="text/javascript"> var data = '{$topic['data']}'; var defaultClass = "{$lang['default_class']}"; var myTopic = Object(); var status_code = "{$topic['topic_type']}"; // 初始页面参数 onload = function() { // 开始检查订单 //startCheckOrder(); var classList = document.getElementById("topic_class_list"); // 初始化表单项 initialize_form(status_code); if (data == "") { classList.innerHTML = ""; myTopic['default'] = new Array(); var newOpt = document.createElement("OPTION"); newOpt.value = -1; newOpt.text = defaultClass; classList.options.add(newOpt); return; } var temp = jQuery.parseJSON(data); var counter = 0; for (var k in temp) { if(typeof(myTopic[k]) != "function") { myTopic[k] = temp[k]; var newOpt = document.createElement("OPTION"); newOpt.value = k == "default" ? -1 : counter; newOpt.text = k == "default" ? defaultClass : k; classList.options.add(newOpt); counter++; } } showTargetList(); } $('#start_time').datetimepicker({ lang:'ch', format:'Y-m-d', timepicker:false }); $('#end_time').datetimepicker({ lang:'ch', format:'Y-m-d', timepicker:false }); /** * 初始化表单项目 */ function initialize_form(status_code) { var nt = navigator_type(); var display_yes = (nt == 'IE') ? 'block' : 'table-row-group'; status_code = parseInt(status_code); status_code = status_code ? status_code : 0; document.getElementById('topic_type').options[status_code].selected = true; switch (status_code) { case 0 : document.getElementById('content_01').style.display = display_yes; document.getElementById('content_23').style.display = 'none'; document.getElementById('edit_img').style.display = display_yes; break; case 1 : document.getElementById('content_01').style.display = display_yes; document.getElementById('content_23').style.display = 'none'; document.getElementById('edit_img').style.display = display_yes; break; case 2 : document.getElementById('content_01').style.display = 'none'; document.getElementById('content_23').style.display = display_yes; document.getElementById('edit_img').style.display = 'none'; break; } document.getElementById('edit_img').style.display = 'none'; document.getElementById('edit_title_img').style.display = 'none'; return true; } /** * 类型表单项切换 */ function showMedia(code) { var obj = document.getElementById('topic_type'); initialize_form(code); } function checkForm() { // var validator = new Validator('theForm'); // validator.required('topic_name', topic_name_empty); // validator.required('start_time', start_time_empty); // validator.required('end_time', end_time_empty); // validator.islt('start_time', 'end_time', start_lt_end); document.getElementById("topic_data").value = $.toJSON(myTopic); } function chanageSize(num, id) { var obj = document.getElementById(id); if (obj.tagName == "TEXTAREA") { var tmp = parseInt(obj.rows); tmp += num; if (tmp <= 0) return; obj.rows = tmp; } } function searchGoods(catId, brandId, keyword) { var elements = document.forms['theForm'].elements; var filters = new Object; filters.cat_id = elements[catId].value; filters.brand_id = elements[brandId].value; filters.keyword = elements[keyword].value; $.post("{url('get_goods_list')}", {filters:$.toJSON(filters)}, function(result){ clearOptions("source_select"); var obj = document.getElementById("source_select"); for (var i=0; i < result.content.length; i++) { var opt = document.createElement("OPTION"); opt.value = result.content[i].value; opt.text = result.content[i].text; opt.id = result.content[i].data; obj.options.add(opt); } }, 'json'); } function clearOptions(id) { var obj = document.getElementById(id); while(obj.options.length>0) { obj.remove(0); } } function addAllItem(sender) { if(sender.options.length == 0) return false; for (var i = 0; i < sender.options.length; i++) { var opt = sender.options[i]; addItem(null, opt.value, opt.text); } } function addItem(sender, value, text) { var target_select = document.getElementById("target_select"); var sortList = document.getElementById("topic_class_list"); var newOpt = document.createElement("OPTION"); if (sender != null) { if(sender.options.length == 0) return false; var option = sender.options[sender.selectedIndex]; newOpt.value = option.value; newOpt.text = option.text; } else { newOpt.value = value; newOpt.text = text; } if (targetItemExist(newOpt)) return false; if (target_select.length>=50) { alert(item_upper_limit); } target_select.options.add(newOpt); var key = sortList.options[sortList.selectedIndex].value == "-1" ? "default" : sortList.options[sortList.selectedIndex].text; if(!myTopic[key]) { myTopic[key] = new Array(); } myTopic[key].push(newOpt.text + "|" + newOpt.value); } // 商品是否存在 function targetItemExist(opt) { var options = document.getElementById("target_select").options; for ( var i = 0; i < options.length; i++) { if(options[i].text == opt.text && options[i].value == opt.value) { return true; } } return false; } function addClass() { var obj = document.getElementById("topic_class_list"); var newClassName = document.getElementById("new_cat_name"); var regExp = /^[a-zA-Z0-9]+$/; if (newClassName.value == ""){ alert(sort_name_empty); return; } for(var i=0;i < obj.options.length; i++) { if(obj.options[i].text == newClassName.value) { alert(sort_name_exist); newClassName.focus(); return; } } var className = document.getElementById("new_cat_name").value; document.getElementById("new_cat_name").value = ""; var newOpt = document.createElement("OPTION"); newOpt.value = obj.options.length; newOpt.text = className; obj.options.add(newOpt); newOpt.selected = true; if ( obj.options[0].value == "-1") { if (myTopic["default"].length > 0) alert(move_item_confirm.replace("className",className)); myTopic[className] = myTopic["default"]; delete myTopic["default"]; obj.remove(0); } else { myTopic[className] = new Array(); clearOptions("target_select"); } } function deleteClass() { var classList = document.getElementById("topic_class_list"); if (classList.value != "-1") { delete myTopic[classList.options[classList.selectedIndex].text]; classList.remove(classList.selectedIndex); clearOptions("target_select"); } if (classList.options.length < 1) { var newOpt = document.createElement("OPTION"); newOpt.value = "-1"; newOpt.text = defaultClass; classList.options.add(newOpt); myTopic["default"] = new Array(); } } function showTargetList() { clearOptions("target_select"); var obj = document.getElementById("topic_class_list"); var index = obj.options[obj.selectedIndex].text; if (index == defaultClass) { index = "default"; } var options = myTopic[index]; for ( var i = 0; i < options.length; i++) { var newOpt = document.createElement("OPTION"); var arr = options[i].split('|'); newOpt.value = arr[1]; newOpt.text = arr[0]; document.getElementById("target_select").options.add(newOpt); } } function removeItem(sender,isAll) { var classList = document.getElementById("topic_class_list"); var key = 'default'; if (classList.value != "-1") { key = classList.options[classList.selectedIndex].text; } var arr = myTopic[key]; if (!isAll) { var goodsName = sender.options[sender.selectedIndex].text; for (var j = 0; j < arr.length; j++) { if (arr[j].indexOf(goodsName) >= 0) { myTopic[key].splice(j,1); } } for (var i = 0; i < sender.options.length;) { if (sender.options[i].selected) { sender.remove(i); myTopic[key].splice(i, 0); } else { i++; } } } else { myTopic[key] = new Array(); sender.innerHTML = ""; } } /** * 判断当前浏览器类型 */ function navigator_type() { var type_name = ''; if (navigator.userAgent.indexOf('MSIE') != -1) { type_name = 'IE'; // IE } else if(navigator.userAgent.indexOf('Firefox') != -1) { type_name = 'FF'; // FF } else if(navigator.userAgent.indexOf('Opera') != -1) { type_name = 'Opera'; // Opera } else if(navigator.userAgent.indexOf('Safari') != -1) { type_name = 'Safari'; // Safari } else if(navigator.userAgent.indexOf('Chrome') != -1) { type_name = 'Chrome'; // Chrome } return type_name; } </script>