| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- <%@page contentType="text/html;charset=UTF-8"%>
- <%@include file="/taglibs.jsp"%>
- <%pageContext.setAttribute("currentHeader", "cms");%>
- <%pageContext.setAttribute("currentMenu", "cms");%>
- <%pageContext.setAttribute("currentTitle", "cms-2");%>
- <!doctype html>
- <html>
- <head>
- <%@include file="/common/meta.jsp"%>
- <title>编辑</title>
- <%@include file="/common/s3.jsp"%>
- <script type="text/javascript">
- $(function() {
- $("#cms-article-imageForm").validate({
- submitHandler: function(form) {
- bootbox.animate(false);
- var box = bootbox.dialog('<div class="progress progress-striped active" style="margin:0px;"><div class="bar" style="width: 100%;"></div></div>');
- form.submit();
- },
- errorClass: 'validate-error'
- });
- })
- </script>
- <!-- blueimp Gallery styles -->
- <link rel="stylesheet" href="${tenantPrefix}/s/jquery-file-upload/blueimp-gallery.min.css">
- <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
- <link rel="stylesheet" href="${tenantPrefix}/s/jquery-file-upload/css/jquery.fileupload.css">
- <link rel="stylesheet" href="${tenantPrefix}/s/jquery-file-upload/css/jquery.fileupload-ui.css">
- <!-- CSS adjustments for browsers with JavaScript disabled -->
- <noscript><link rel="stylesheet" href="${tenantPrefix}/s/jquery-file-upload/css/jquery.fileupload-noscript.css"></noscript>
- <noscript><link rel="stylesheet" href="${tenantPrefix}/s/jquery-file-upload/css/jquery.fileupload-ui-noscript.css"></noscript>
- </head>
- <body>
- <%@include file="/header/_pim3.jsp"%>
- <div class="row-fluid">
- <%@include file="/menu/cms.jsp"%>
- <!-- start of main -->
- <section id="m-main" class="col-md-10" style=" ">
- <div class="panel panel-default">
- <div class="panel-heading">
- <i class="glyphicon glyphicon-list"></i>
- 编辑
- </div>
- <div class="panel-body">
- <form id="cmsArticleForm" method="post" action="cms-article-save.do" class="form-horizontal">
- <c:if test="${model != null}">
- <input id="cms-article_id" type="hidden" name="id" value="${model.id}">
- </c:if>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">栏目</label>
- <div class="col-sm-5">
- <select id="perm_resc" name="cmsCatalogId">
- <c:forEach items="${cmsCatalogs}" var="item">
- <option value="${item.id}" ${model.cmsCatalog.id==item.id ? 'selected' : ''}>${item.name}</option>
- </c:forEach>
- </select>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">标题</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="title" value="${model.title}" size="40" class="form-control required" minlength="2" maxlength="50">
- </div>
- </div>
- <!--
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">短标题</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="shortTitle" value="${model.shortTitle}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">副标题</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="subTitle" value="${model.subTitle}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- -->
- <div class="form-group">
- <label class="control-label col-md-1" for="cmsArticle_summary">摘要</label>
- <div class="col-sm-5">
- <textarea id="cmsArticle_summary" name="summary" maxlength="200">${model.summary}</textarea>
- </div>
- </div>
- <div class="form-group">
- <div class="col-sm-12">
- <div class="fileupload-buttonbar">
- <div class="col-lg-7">
- <!-- The fileinput-button span is used to style the file input field as button -->
- <span class="btn btn-success fileinput-button">
- <i class="glyphicon glyphicon-plus"></i>
- <span>添加</span>
- <input type="file" name="files[]" multiple data-no-uniform="true">
- </span>
- <button type="submit" class="btn btn-primary start">
- <i class="glyphicon glyphicon-upload"></i>
- <span>上传</span>
- </button>
- <button type="reset" class="btn btn-warning cancel">
- <i class="glyphicon glyphicon-ban-circle"></i>
- <span>取消</span>
- </button>
- <button type="button" class="btn btn-danger delete">
- <i class="glyphicon glyphicon-trash"></i>
- <span>删除</span>
- </button>
- <input type="checkbox" class="toggle">
- <!-- The global file processing state -->
- <span class="fileupload-process"></span>
- </div>
- <!-- The global progress state -->
- <div class="col-lg-5 fileupload-progress fade">
- <!-- The global progress bar -->
- <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
- <div class="progress-bar progress-bar-success" style="width:0%;"></div>
- </div>
- <!-- The extended global progress state -->
- <div class="progress-extended"> </div>
- </div>
- </div>
- <!-- The table listing the files available for upload/download -->
- <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table>
- </div>
- </div>
- <!--
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">图标</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="logo" value="${model.logo}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">关键字</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="keyword" value="${model.keyword}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">标签</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="tags" value="${model.tags}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">来源</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="source" value="${model.source}" size="40" class="text" minlength="2" maxlength="50">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">允许评论</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="checkbox" name="allowComment" value="1" class="text" ${model.allowComment == 1 ? 'checked' : ''}>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">状态</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="checkbox" name="status" value="1" class="text" ${model.status == 1 ? 'checked' : ''}>
- </div>
- </div>
- -->
- <!--
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">创建时间</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="createTime" value="${model.createTime}" class="text">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">发布时间</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="publishTime" value="${model.publishTime}" class="text">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">关闭时间</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="closeTime" value="${model.closeTime}" class="text">
- </div>
- </div>
- -->
- <!--
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">类型</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="type" value="${model.type}" class="text">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">置顶</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="top" value="${model.top}" class="text">
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-md-1" for="cms-article_cmsArticlename">权重</label>
- <div class="col-sm-5">
- <input id="cms-article_cmsArticlename" type="text" name="weight" value="${model.weight}" class="text">
- </div>
- </div>
- -->
- <div class="form-group">
- <div class="col-sm-5">
- <button id="submitButton" class="btn a-submit btn-primary"><spring:message code='core.input.save' text='保存'/></button>
- <button type="button" onclick="history.back();" class="btn a-cancel btn-link"><spring:message code='core.input.back' text='返回'/></button>
- </div>
- </div>
- </form>
- <!-- The blueimp Gallery widget -->
- <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
- <div class="slides"></div>
- <h3 class="title"></h3>
- <a class="prev">‹</a>
- <a class="next">›</a>
- <a class="close">×</a>
- <a class="play-pause"></a>
- <ol class="indicator"></ol>
- </div>
- </div>
- </div>
- </section>
- <!-- end of main -->
- </div>
- </body>
- <!-- The template to display files available for upload -->
- <script id="template-upload" type="text/x-tmpl">
- {% for (var i=0, file; file=o.files[i]; i++) { %}
- <tr class="template-upload fade">
- <td>
- <span class="preview"></span>
- </td>
- <td>
- <p class="name">{%=file.name%}</p>
- <strong class="error text-danger"></strong>
- </td>
- <td>
- <p class="size">Processing...</p>
- <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
- </td>
- <td>
- {% if (!i && !o.options.autoUpload) { %}
- <button class="btn btn-primary start" disabled>
- <i class="glyphicon glyphicon-upload"></i>
- <span>上传</span>
- </button>
- {% } %}
- {% if (!i) { %}
- <button class="btn btn-warning cancel">
- <i class="glyphicon glyphicon-ban-circle"></i>
- <span>取消</span>
- </button>
- {% } %}
- </td>
- </tr>
- {% } %}
- </script>
- <!-- The template to display files available for download -->
- <script id="template-download" type="text/x-tmpl">
- {% for (var i=0, file; file=o.files[i]; i++) { %}
- <tr class="template-download fade">
- <td>
- <span class="preview">
- {% if (file.thumbnailUrl) { %}
- <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
- {% } %}
- </span>
- </td>
- <td>
- <p class="name">
- {% if (file.url) { %}
- <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
- {% } else { %}
- <span>{%=file.name%}</span>
- {% } %}
- </p>
- {% if (file.error) { %}
- <div><span class="label label-danger">Error</span> {%=file.error%}</div>
- {% } %}
- </td>
- <td>
- <span class="size">{%=o.formatFileSize(file.size)%}</span>
- </td>
- <td>
- {% if (file.deleteUrl) { %}
- <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
- <i class="glyphicon glyphicon-trash"></i>
- <span>删除</span>
- </button>
- <input type="checkbox" name="delete" value="1" class="toggle">
- {% } else { %}
- <button class="btn btn-warning cancel">
- <i class="glyphicon glyphicon-ban-circle"></i>
- <span>取消</span>
- </button>
- {% } %}
- </td>
- </tr>
- {% } %}
- </script>
- <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/vendor/jquery.ui.widget.js"></script>
- <!-- The Templates plugin is included to render the upload/download listings -->
- <script src="${tenantPrefix}/s/jquery-file-upload/tmpl.min.js"></script>
- <!-- The Load Image plugin is included for the preview images and image resizing functionality -->
- <script src="${tenantPrefix}/s/jquery-file-upload/load-image.all.min.js"></script>
- <!-- The Canvas to Blob plugin is included for image resizing functionality -->
- <script src="${tenantPrefix}/s/jquery-file-upload/canvas-to-blob.min.js"></script>
- <!-- blueimp Gallery script -->
- <script src="${tenantPrefix}/s/jquery-file-upload/jquery.blueimp-gallery.min.js"></script>
- <!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.iframe-transport.js"></script>
- <!-- The basic File Upload plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload.js"></script>
- <!-- The File Upload processing plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-process.js"></script>
- <!-- The File Upload image preview & resize plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-image.js"></script>
- <!-- The File Upload audio preview plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-audio.js"></script>
- <!-- The File Upload video preview plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-video.js"></script>
- <!-- The File Upload validation plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-validate.js"></script>
- <!-- The File Upload user interface plugin -->
- <script src="${tenantPrefix}/s/jquery-file-upload/js/jquery.fileupload-ui.js"></script>
- <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
- <!--[if (gte IE 8)&(lt IE 10)]>
- <script src="${tenantPrefix}/s/jquery-file-upload/js/cors/jquery.xdr-transport.js"></script>
- <![endif]-->
- </body>
- <script>
- $(function () {
- 'use strict';
- // Initialize the jQuery File Upload widget:
- $('#cmsArticleForm').fileupload({
- // Uncomment the following to send cross-domain cookies:
- //xhrFields: {withCredentials: true},
- url: '${tenantPrefix}/cms/cms-article-upload.do?id=${model.id}'
- });
- // Enable iframe cross-domain access via redirect option:
- $('#cmsArticleForm').fileupload(
- 'option',
- 'redirect',
- window.location.href.replace(
- /\/[^\/]*$/,
- '/cors/result.html?%s'
- )
- );
- $('#cmsArticleForm').fileupload('option', {
- // Enable image resizing, except for Android and Opera,
- // which actually support image resizing, but fail to
- // send Blob objects via XHR requests:
- disableImageResize: /Android(?!.*Chrome)|Opera/
- .test(window.navigator.userAgent),
- maxFileSize: 5000000,
- acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
- });
- // Upload server status check for browsers with CORS support:
- if ($.support.cors) {
- $.ajax({
- url: '${tenantPrefix}/cms/cms-article-download.do?id=${model.id}',
- type: 'HEAD'
- }).fail(function () {
- $('<div class="alert alert-danger"/>')
- .text('服务器异常,暂时无法上传 - ' +
- new Date())
- .appendTo('#fileupload');
- });
- }
- // Load existing files:
- $('#cmsArticleForm').addClass('fileupload-processing');
-
- $.ajax({
- // Uncomment the following to send cross-domain cookies:
- //xhrFields: {withCredentials: true},
- url: '${tenantPrefix}/cms/cms-article-download.do?id=${model.id}',
- dataType: 'json',
- context: $('#fileupload')[0]
- }).always(function () {
- $(this).removeClass('fileupload-processing');
- }).done(function (result) {
- $(this).fileupload('option', 'done')
- .call(this, $.Event('done'), {result: result});
- });
- });
- </script>
- </html>
|