|
|
@@ -62,17 +62,60 @@
|
|
|
.l {
|
|
|
padding: 10px 20px;
|
|
|
}
|
|
|
+
|
|
|
+ .activity-top {
|
|
|
+ border: solid 1px #dadada;
|
|
|
+ padding: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-label {
|
|
|
+ display: block;
|
|
|
+ float: left;
|
|
|
+ width: 80px;
|
|
|
+ padding: 5px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-list {
|
|
|
+ float: left;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-list ul {
|
|
|
+ border: solid 1px #dadada;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-list ul li {
|
|
|
+ float: left;
|
|
|
+ border-right: solid 1px #dadada;
|
|
|
+ padding: 5px 20px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-list ul li.active {
|
|
|
+ background: #7DB4D8;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-box-list ul li:last-child {
|
|
|
+ border-right: 0;
|
|
|
+ }
|
|
|
</style>
|
|
|
</head>
|
|
|
|
|
|
<body layout:fragment="content">
|
|
|
-
|
|
|
<article class="page-container">
|
|
|
<div class="tabBar cl">
|
|
|
<span>活动详情</span>
|
|
|
<span>报名信息</span>
|
|
|
<span>签到信息</span>
|
|
|
- <span>反馈信息</span>
|
|
|
+ <span onclick="setTabFlag(3)">反馈信息</span>
|
|
|
</div>
|
|
|
<!--活动热度-->
|
|
|
<div>
|
|
|
@@ -281,28 +324,227 @@
|
|
|
</div>
|
|
|
<!--反馈信息-->
|
|
|
<div class="tabCon">
|
|
|
- <div class="row cl">
|
|
|
- <div class="formControls col-xs-12 col-sm-12">
|
|
|
- <ul class="formControls_ul" th:each="m,iterStat:${feedbackList}">
|
|
|
- <li>
|
|
|
- <p th:text="${m.content}"></p>
|
|
|
- <p class="formControls_p"><span>用户昵称:[[${m.create_name}]]</span><span
|
|
|
- th:text="${#dates.format(m.feedback_time, 'yyyy年MM月dd日')}"></span></p>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
+
|
|
|
+ <form id="myForm" th:action="@{/government/activity/get/{activity_id}(activity_id=${activity_id})}"
|
|
|
+ th:method="get">
|
|
|
+
|
|
|
+ <div class="activity-top">
|
|
|
+ <div class="clearfix activity-box">
|
|
|
+ <span class="activity-box-label">综合评分:</span>
|
|
|
+ <div class="activity-box-list">
|
|
|
+ <ul class="clearfix" id="feedback_type">
|
|
|
+ <li th:class="${maxScore=='101'&&minScore=='-1'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='101'}"
|
|
|
+ value="101">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='-1'}"
|
|
|
+ value="-1">
|
|
|
+ <span>全部</span>
|
|
|
+ <span th:text="${'('+scoreCount.score_all+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ <li th:class="${maxScore=='100'&&minScore=='80'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='100'}"
|
|
|
+ value="100">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='80'}"
|
|
|
+ value="80">
|
|
|
+ <span>100-80</span>
|
|
|
+ <span th:text="${'('+scoreCount.score100_80+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ <li th:class="${maxScore=='80'&&minScore=='60'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='80'}"
|
|
|
+ value="80">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='60'}"
|
|
|
+ value="60">
|
|
|
+ <span>80-60</span>
|
|
|
+ <span th:text="${'('+scoreCount.score80_60+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ <li th:class="${maxScore=='60'&&minScore=='40'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='60'}"
|
|
|
+ value="60">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='40'}"
|
|
|
+ value="40">
|
|
|
+ <span>60-40</span>
|
|
|
+ <span th:text="${'('+scoreCount.score60_40+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ <li th:class="${maxScore=='40'&&minScore=='20'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='40'}"
|
|
|
+ value="40">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='20'}"
|
|
|
+ value="20">
|
|
|
+ <span>40-20</span>
|
|
|
+ <span th:text="${'('+scoreCount.score40_20+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ <li th:class="${maxScore=='20'&&minScore=='-2'}? 'active' : ''">
|
|
|
+ <input hidden name="maxScore" type="radio" th:checked="${maxScore=='20'}"
|
|
|
+ value="20">
|
|
|
+ <input hidden name="minScore" type="radio" th:checked="${minScore=='-2'}"
|
|
|
+ value="-2">
|
|
|
+ <span>20-0</span>
|
|
|
+ <span th:text="${'('+scoreCount.score20_0+')'}">(0)</span>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="row cl" style="padding-top: 10px">
|
|
|
- <div style="text-align: center">
|
|
|
- <a onclick="removeIframe();" class="btn btn-default radius" type="button">返回</a>
|
|
|
+ <div class="page-container">
|
|
|
+ <div class="cl pd-5 bg-1 bk-gray mt-20">
|
|
|
+ <span class="l">
|
|
|
+ </span>
|
|
|
+ <span class="r">共有数据:<strong th:text="${pageInfo?.total}" id="total">0</strong> 条</span>
|
|
|
+ </div>
|
|
|
+ <table class="table table-border table-bordered table-bg table-hover"
|
|
|
+ style="table-layout: fixed;width:100%;">
|
|
|
+ <thead>
|
|
|
+ <tr class="text-c">
|
|
|
+ <th width="60">用户姓名</th>
|
|
|
+ <th width="100">反馈时间</th>
|
|
|
+ <th>活动评价</th>
|
|
|
+ <th width="60">综合评分</th>
|
|
|
+ <th>反馈及建议</th>
|
|
|
+ <th>回复内容</th>
|
|
|
+ <th width="60">反馈类型</th>
|
|
|
+ <th width="60">是否显示</th>
|
|
|
+ <th width="120">操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr class="text-c" th:each="m,iterStat:${pageInfo.list}">
|
|
|
+ <!-- 用户姓名 -->
|
|
|
+ <td th:text="${m.feedback_name}"></td>
|
|
|
+ <!-- 反馈时间 -->
|
|
|
+ <td>
|
|
|
+ <p th:text="${#dates.format(m.feedback_time,'yyyy年MM月dd日')}"></p>
|
|
|
+ <p th:text="${#dates.format(m.feedback_time,'HH:mm:ss')}"></p>
|
|
|
+ </td>
|
|
|
+ <!-- 活动评价 -->
|
|
|
+ <td>
|
|
|
+ <p>内容设计(20分)
|
|
|
+ <i th:if="${m.score_1 > 0}">
|
|
|
+ <i th:each="i:${#numbers.sequence(1,m.score_1)}" class="ifont-xing"
|
|
|
+ style="color:#FFD700"></i>
|
|
|
+ </i>
|
|
|
+ <i th:if="${m.score_1 < 5}">
|
|
|
+ <i th:each="i:${#numbers.sequence(m.score_1,4)}" class="ifont-star"
|
|
|
+ style="color:#DCDCDC"></i>
|
|
|
+ </i>
|
|
|
+ </p>
|
|
|
+ <p>讲师水平(20分)
|
|
|
+ <i th:if="${m.score_2 > 0}">
|
|
|
+ <i th:each="i:${#numbers.sequence(1,m.score_2)}" class="ifont-xing"
|
|
|
+ style="color:#FFD700"></i>
|
|
|
+ </i>
|
|
|
+ <i th:if="${m.score_2 < 5}">
|
|
|
+ <i th:each="i:${#numbers.sequence(m.score_2,4)}" class="ifont-star"
|
|
|
+ style="color:#DCDCDC"></i>
|
|
|
+ </i>
|
|
|
+ </p>
|
|
|
+ <p>活动效果(60分)
|
|
|
+ <i th:if="${m.score_3 > 0}">
|
|
|
+ <i th:each="i:${#numbers.sequence(1,m.score_3)}" class="ifont-xing"
|
|
|
+ style="color:#FFD700"></i>
|
|
|
+ </i>
|
|
|
+ <i th:if="${m.score_3 < 5}">
|
|
|
+ <i th:each="i:${#numbers.sequence(m.score_3,4)}" class="ifont-star"
|
|
|
+ style="color:#DCDCDC"></i>
|
|
|
+ </i>
|
|
|
+ </p>
|
|
|
+ </td>
|
|
|
+ <!-- 综合评分 -->
|
|
|
+ <td th:text="${m.score}"></td>
|
|
|
+ <!-- 反馈及建议 -->
|
|
|
+ <td th:text="${m.content}"></td>
|
|
|
+ <!-- 回复内容 -->
|
|
|
+ <td th:id="'reply_'+${m.id}" th:text="${m.reply}"></td>
|
|
|
+ <!-- 反馈类型 -->
|
|
|
+ <td th:if="${m.is_public==true}">公开</td>
|
|
|
+ <td th:if="${m.is_public==false}">不公开</td>
|
|
|
+ <!-- 是否显示 -->
|
|
|
+ <!-- <td th:text="${m.is_view}"></td> -->
|
|
|
+ <td th:if="${m.is_view==true}">显示</td>
|
|
|
+ <td th:if="${m.is_view==false}">不显示</td>
|
|
|
+ <!-- 操作 -->
|
|
|
+ <td>
|
|
|
+ <a class="ml-5" style="color: rgb(14, 144, 210);"
|
|
|
+ th:if="${m.is_top==false && m.is_public==true}"
|
|
|
+ th:onclick="'javascript:top_feedback('+${m.id}+')'">
|
|
|
+ 置顶
|
|
|
+ </a>
|
|
|
+ <i class="ml-5" style="font-style:normal"
|
|
|
+ th:if="${m.is_top==false && m.is_public==false}">
|
|
|
+ 置顶
|
|
|
+ </i>
|
|
|
+ <i class="ml-5" style="font-style:normal"
|
|
|
+ th:if="${m.is_top==true}">
|
|
|
+ 已置顶
|
|
|
+ </i>
|
|
|
+ <a class="ml-5" style="color: rgb(14, 144, 210);"
|
|
|
+ th:if="${m.is_view==false}" th:onclick="'javascript:show_feedback('+${m.id}+')'">
|
|
|
+ 显示
|
|
|
+ </a>
|
|
|
+ <a class="ml-5" style="color: rgb(14, 144, 210);"
|
|
|
+ th:if="${m.is_view==true}" th:onclick="'javascript:display_feedback('+${m.id}+')'">
|
|
|
+ 不显示
|
|
|
+ </a>
|
|
|
+ <a class="ml-5" style="color: rgb(14, 144, 210);"
|
|
|
+ th:onclick="'javascript:reply_dialog(\'回复\',\'/government/activity/reply/'+${m.id}+'\',\'800\',\'500\');'">回复</a>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <div th:replace="admin/common/page :: page"></div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </form>
|
|
|
</div>
|
|
|
</div>
|
|
|
</article>
|
|
|
+<script type="text/javascript" th:src="@{/js/common/page.js}"></script>
|
|
|
<script th:inline="javascript">
|
|
|
+
|
|
|
+ $(function () {
|
|
|
+ $(".activity-box-list ul li").on("click", function () {
|
|
|
+ if ($(this).hasClass("active")) {
|
|
|
+ $(this).removeClass("active")
|
|
|
+ } else {
|
|
|
+ $(this).addClass("active").siblings().removeClass("active")
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ $("ul#feedback_type").on("click", "li", function () {
|
|
|
+ maxScore = $(this).children("input").eq(0).val();
|
|
|
+ minScore = $(this).children("input").eq(1).val();
|
|
|
+
|
|
|
+ $('input:radio[name="maxScore"]').removeAttr('checked');
|
|
|
+ $('input:radio[name="minScore"]').removeAttr('checked');
|
|
|
+
|
|
|
+ $(this).children("input").eq(0).attr('checked', true);
|
|
|
+ $(this).children("input").eq(1).attr('checked', true);
|
|
|
+
|
|
|
+ url = pagePath + "/government/activity/get/" + [[${activity_id}]] + "?minScore=" + minScore + "&maxScore=" + maxScore;
|
|
|
+ location.replace(url);
|
|
|
+ });
|
|
|
+
|
|
|
// tab切换
|
|
|
- tabChange(".tabBar", ".tabCon");
|
|
|
+ tabChange_custom(".tabBar", ".tabCon");
|
|
|
+
|
|
|
+ function tabChange_custom(tabMenu, tabContent) {
|
|
|
+
|
|
|
+ var tabIndex = 0;
|
|
|
+ if (sessionStorage.getItem("tabIndex") != undefined && sessionStorage.getItem("tabIndex") != null) {
|
|
|
+ tabIndex = sessionStorage.getItem("tabIndex")
|
|
|
+ }
|
|
|
+ var $tab = $(tabMenu);
|
|
|
+ $tab.find("span").eq(tabIndex).addClass("current");
|
|
|
+ $(tabContent).eq(tabIndex).show();
|
|
|
+ $tab.find("span").on("click", function () {
|
|
|
+ var index = $(this).index();
|
|
|
+ $(this).addClass("current").siblings().removeClass("current");
|
|
|
+ $(tabContent).eq(index).show().siblings().hide();
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function setTabFlag(index) {
|
|
|
+ sessionStorage.setItem("tabIndex", index);
|
|
|
+ }
|
|
|
|
|
|
function print(title, url, w, h) {
|
|
|
var index = layer_show(title, pagePath + url, w, h);
|
|
|
@@ -317,6 +559,70 @@
|
|
|
window.open(pagePath + "/government/activity/exportExcelSign?id=" + id);
|
|
|
}
|
|
|
|
|
|
+ function reply_dialog(title, url, w, h) {
|
|
|
+ var index = layer_show(title, pagePath + url, w, h);
|
|
|
+ }
|
|
|
+
|
|
|
+ function show_feedback(feedback_id) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'put',
|
|
|
+ url: pagePath + "/activity/comment/feedback",
|
|
|
+ dataType: "json",
|
|
|
+ data: {
|
|
|
+ id: feedback_id,
|
|
|
+ is_view: true
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ smileMessage('操作成功!')
|
|
|
+ setTime();
|
|
|
+ },
|
|
|
+ error: function () {
|
|
|
+ errorMessage('系统错误!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function display_feedback(feedback_id) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'put',
|
|
|
+ url: pagePath + "/activity/comment/feedback",
|
|
|
+ dataType: "json",
|
|
|
+ data: {
|
|
|
+ id: feedback_id,
|
|
|
+ is_view: false
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ smileMessage('操作成功!')
|
|
|
+ setTime();
|
|
|
+ },
|
|
|
+ error: function () {
|
|
|
+ errorMessage('系统错误!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function top_feedback(feedback_id) {
|
|
|
+ layer.confirm('确定置顶此条反馈内容吗?', function () {
|
|
|
+ //此处请求后台程序,下方是成功后的前台处理……
|
|
|
+ $.ajax({
|
|
|
+ type: 'put',
|
|
|
+ url: pagePath + "/activity/comment/feedback",
|
|
|
+ dataType: "json",
|
|
|
+ data: {
|
|
|
+ id: feedback_id,
|
|
|
+ is_top: true
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ smileMessage('操作成功!')
|
|
|
+ setTime();
|
|
|
+ },
|
|
|
+ error: function () {
|
|
|
+ errorMessage('系统错误!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 取消
|
|
|
*/
|