eduQuestionnaireForm.jsp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/webpage/include/taglib.jsp"%>
  3. <html>
  4. <head>
  5. <title>调查问卷管理</title>
  6. <meta name="decorator" content="ani"/>
  7. <%@ include file="/webpage/include/bootstraptable.jsp"%>
  8. <%@include file="eduQuestionnaireQuestionList.js" %>
  9. <script src="${ctxStatic}/plugin/echarts3/echarts.min.js"></script>
  10. <script type="text/javascript">
  11. var questionnaireId = '';
  12. $(document).ready(function(){
  13. <c:if test="${mode == 'view'}">
  14. $(".table.table-bordered").find("input,textarea,select").attr("disabled", "disabled");
  15. </c:if>
  16. questionnaireId = $('#id').val();
  17. $('#startTime').datetimepicker({
  18. format: "YYYY-MM-DD"
  19. });
  20. $('#endTime').datetimepicker({
  21. format: "YYYY-MM-DD"
  22. });
  23. jp.ajaxForm("#inputForm",function(data){
  24. if(data.success){
  25. jp.success(data.msg);
  26. jp.go("${ctx}/questionnaire/eduQuestionnaire");
  27. }else{
  28. jp.error(data.msg);
  29. $("#inputForm").find("button:submit").button("reset");
  30. }
  31. });
  32. });
  33. layui.use('element', function(){
  34. var element = layui.element;
  35. });
  36. </script>
  37. </head>
  38. <body>
  39. <div class="wrapper wrapper-content">
  40. <div class="row">
  41. <div class="col-md-12">
  42. <div class="panel panel-primary">
  43. <div class="panel-heading">
  44. <h3 class="panel-title">
  45. <a class="panelButton" href="${ctx}/questionnaire/eduQuestionnaire"><i class="ti-angle-left"></i> 返回</a>
  46. </h3>
  47. </div>
  48. <div class="panel-body">
  49. <div class="layui-tab layui-tab-card">
  50. <ul class="layui-tab-title">
  51. <li class="layui-this">问卷信息</li>
  52. <c:if test="${mode != 'add'}">
  53. <li>问卷内容</li>
  54. </c:if>
  55. <c:if test="${mode == 'view'}">
  56. <li>调查问卷结果统计</li>
  57. </c:if>
  58. </ul>
  59. <div class="layui-tab-content">
  60. <div class="layui-tab-item layui-show">
  61. <form:form id="inputForm" modelAttribute="eduQuestionnaire" action="${ctx}/questionnaire/eduQuestionnaire/save" method="post" class="form-horizontal">
  62. <form:hidden path="id"/>
  63. <form:hidden path="sort"/>
  64. <table class="table table-bordered">
  65. <tbody>
  66. <tr>
  67. <td class="width-15 active"><label class="pull-right"><font color="red">*</font>问卷标题:</label></td>
  68. <td class="width-35" colspan="3">
  69. <form:input path="title" htmlEscape="false" maxlength="200" class="form-control required"/>
  70. </td>
  71. </tr>
  72. <tr>
  73. <td class="width-15 active"><label class="pull-right" ><font color="red">*</font>开始时间:</label></td>
  74. <td class="width-35">
  75. <div class='input-group form_datetime' id='startTime'>
  76. <input type='text' name="startTime" class="form-control " value="<fmt:formatDate value="${eduQuestionnaire.startTime}" pattern="yyyy-MM-dd"/>"/>
  77. <span class="input-group-addon">
  78. <span class="glyphicon glyphicon-calendar"></span>
  79. </span>
  80. </div>
  81. </td>
  82. <td class="width-15 active"><label class="pull-right"><font color="red">*</font>结束时间:</label></td>
  83. <td class="width-35">
  84. <div class='input-group form_datetime' id='endTime'>
  85. <input type='text' name="endTime" class="form-control " value="<fmt:formatDate value="${eduQuestionnaire.endTime}" pattern="yyyy-MM-dd"/>"/>
  86. <span class="input-group-addon">
  87. <span class="glyphicon glyphicon-calendar"></span>
  88. </span>
  89. </div>
  90. </td>
  91. </tr>
  92. </tbody>
  93. </table>
  94. <c:if test="${mode == 'add' || mode=='edit'}">
  95. <div class="col-lg-3"></div>
  96. <div class="col-lg-6">
  97. <div class="form-group text-center">
  98. <div>
  99. <button class="btn btn-primary btn-block btn-lg btn-parsley" data-loading-text="正在提交...">提 交</button>
  100. </div>
  101. </div>
  102. </div>
  103. </c:if>
  104. </form:form>
  105. </div>
  106. <c:if test="${mode != 'add'}">
  107. <div class="layui-tab-item">
  108. <div id="toolbar">
  109. <shiro:hasPermission name="questionnaire:eduQuestionnaire:add">
  110. <button id="add" class="btn btn-primary" onclick="add(questionnaireId)">
  111. <i class="glyphicon glyphicon-plus"></i> 新建
  112. </button>
  113. </shiro:hasPermission>
  114. <shiro:hasPermission name="questionnaire:eduQuestionnaire:edit">
  115. <button id="edit" class="btn btn-success" disabled onclick="edit()">
  116. <i class="glyphicon glyphicon-edit"></i> 修改
  117. </button>
  118. </shiro:hasPermission>
  119. <shiro:hasPermission name="questionnaire:eduQuestionnaire:del">
  120. <button id="remove" class="btn btn-danger" disabled onclick="deleteAll()">
  121. <i class="glyphicon glyphicon-remove"></i> 删除
  122. </button>
  123. </shiro:hasPermission>
  124. <shiro:hasPermission name="questionnaire:eduQuestionnaire:view">
  125. <button id="view" class="btn btn-default" disabled onclick="view()">
  126. <i class="fa fa-search-plus"></i> 查看
  127. </button>
  128. </shiro:hasPermission>
  129. </div>
  130. <table id="eduQuestionnaireQuestionTable" data-toolbar="#toolbar"></table>
  131. </div>
  132. </c:if>
  133. <c:if test="${mode == 'view'}">
  134. <div class="layui-tab-item" style="width: 100%;">
  135. <c:forEach var="question" items="${eduQuestionnaire.questionIdsList}" varStatus="status">
  136. <c:if test="${question.types== '1' || question.types == '2'}">
  137. <div id="main${status.index}" style="width: 800px;height: 345px"></div>
  138. <script type="text/javascript">
  139. var myChart${status.index} = echarts.init(document.getElementById('main${status.index}'));
  140. jp.get("${ctx}/questionnaire/eduQuestionnaire/countQuestionnaire?id=${question.id}", function (option) {
  141. myChart${status.index}.setOption(option);
  142. })
  143. </script>
  144. <hr />
  145. </c:if>
  146. <c:if test="${question.types ==3}">
  147. <h4>${question.title}</h4>
  148. <form:form id="searchForm" >
  149. <input type="hidden" name="question.id" value="${question.id}">
  150. </form:form>
  151. <table id="resultTable" ></table>
  152. <script type="text/javascript">
  153. $(document).ready(function() {
  154. $('#resultTable').bootstrapTable({
  155. //请求方法
  156. method: 'post',
  157. //类型json
  158. dataType: "json",
  159. contentType: "application/x-www-form-urlencoded",
  160. //显示检索按钮
  161. showSearch: false,
  162. //显示刷新按钮
  163. showRefresh: false,
  164. //显示切换手机试图按钮
  165. showToggle: false,
  166. //显示 内容列下拉框
  167. showColumns: false,
  168. //显示到处按钮
  169. showExport: false,
  170. //显示切换分页按钮
  171. showPaginationSwitch: false,
  172. //最低显示2行
  173. minimumCountColumns: 2,
  174. //是否显示行间隔色
  175. striped: true,
  176. //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  177. cache: false,
  178. //是否显示分页(*)
  179. pagination: true,
  180. //排序方式
  181. sortOrder: "asc",
  182. //初始化加载第一页,默认第一页
  183. pageNumber:1,
  184. //每页的记录行数(*)
  185. pageSize: 20,
  186. //可供选择的每页的行数(*)
  187. pageList: [20, 50, 100],
  188. //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
  189. url: "${ctx}/questionnaire/eduUserQuestionnaire/dataResult",
  190. //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
  191. //queryParamsType:'',
  192. ////查询参数,每次调用是会带上这个参数,可自定义
  193. queryParams : function(params) {
  194. var searchParam = $("#searchForm").serializeJSON();
  195. searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
  196. searchParam.pageSize = params.limit === undefined? -1 : params.limit;
  197. searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+ params.order;
  198. return searchParam;
  199. },
  200. //分页方式:client客户端分页,server服务端分页(*)
  201. sidePagination: "server",
  202. columns: [
  203. {
  204. field: 'no',
  205. title: '序号',
  206. sortable: false,
  207. align: "center",
  208. width: 40,
  209. formatter: function (value, row, index) {
  210. //获取每页显示的数量
  211. var pageSize=$('#resultTable').bootstrapTable('getOptions').pageSize;
  212. //获取当前是第几页
  213. var pageNumber=$('#resultTable').bootstrapTable('getOptions').pageNumber;
  214. //返回序号,注意index是从0开始的,所以要加上1
  215. return pageSize * (pageNumber - 1) + index + 1;
  216. }
  217. },
  218. {
  219. field: 'content',
  220. title: '内容',
  221. sortable: false,
  222. sortName: 'content'
  223. }
  224. ]
  225. });
  226. });
  227. </script>
  228. </c:if>
  229. </c:forEach>
  230. </div>
  231. </c:if>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. </div>
  239. </body>
  240. </html>