|
@@ -0,0 +1,312 @@
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+ <script >
|
|
|
+ $(document).ready(function () {
|
|
|
+ $('#projectTable').bootstrapTable({
|
|
|
+ //请求方法
|
|
|
+ method: 'post',
|
|
|
+ //类型json
|
|
|
+ dataType: "json",
|
|
|
+ contentType: "application/x-www-form-urlencoded",
|
|
|
+ //显示检索按钮
|
|
|
+ showSearch: true,
|
|
|
+ //显示刷新按钮
|
|
|
+ showRefresh: true,
|
|
|
+ //显示切换手机试图按钮
|
|
|
+ showToggle: true,
|
|
|
+ //显示 内容列下拉框
|
|
|
+ showColumns: true,
|
|
|
+ //显示到处按钮
|
|
|
+ showExport: true,
|
|
|
+ //显示切换分页按钮
|
|
|
+ showPaginationSwitch: true,
|
|
|
+ //最低显示2行
|
|
|
+ minimumCountColumns: 2,
|
|
|
+ //是否显示行间隔色
|
|
|
+ striped: true,
|
|
|
+ //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
|
|
|
+ cache: false,
|
|
|
+ //是否显示分页(*)
|
|
|
+ pagination: true,
|
|
|
+ //排序方式
|
|
|
+ sortOrder: "asc",
|
|
|
+ //初始化加载第一页,默认第一页
|
|
|
+ pageNumber: 1,
|
|
|
+ //每页的记录行数(*)
|
|
|
+ pageSize: 25,
|
|
|
+ //可供选择的每页的行数(*)
|
|
|
+ pageList: [5, 10, 25, 50, 100],
|
|
|
+ //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
|
|
|
+ url: "${ctx}/cg/infrastructure/annualBatchDisplay/list",
|
|
|
+ //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
|
|
|
+ //queryParamsType:'',
|
|
|
+ ////查询参数,每次调用是会带上这个参数,可自定义
|
|
|
+ queryParams: function (params) {
|
|
|
+ var searchParam = $("#searchForm").serializeJSON();
|
|
|
+ searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
|
|
|
+ searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
|
|
|
+ searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
|
|
|
+ return searchParam;
|
|
|
+ },
|
|
|
+ //分页方式:client客户端分页,server服务端分页(*)
|
|
|
+ sidePagination: "server",
|
|
|
+ contextMenuTrigger: "right",//pc端 按右键弹出菜单
|
|
|
+ contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
|
|
|
+ contextMenu: '#context-menu',
|
|
|
+ onContextMenuItem: function (row, $el) {
|
|
|
+ if ($el.data("item") == "edit") {
|
|
|
+ edit(row.id);
|
|
|
+ } else if ($el.data("item") == "view") {
|
|
|
+ view(row.id);
|
|
|
+ } else if ($el.data("item") == "delete") {
|
|
|
+ jp.confirm('确认要删除该表单记录吗?', function () {
|
|
|
+ jp.loading();
|
|
|
+ jp.get("${ctx}/cg/infrastructure/infrastructureBasicInfo/delete?id=" + row.id, function (data) {
|
|
|
+ if (data.success) {
|
|
|
+ $('#projectTable').bootstrapTable('refresh');
|
|
|
+ jp.success(data.msg);
|
|
|
+ } else {
|
|
|
+ jp.error(data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onClickRow: function (row, $el) {
|
|
|
+ },
|
|
|
+ onLoadSuccess: function () { //加载成功时执行
|
|
|
+ var data = $("#projectTable").bootstrapTable('getData', true)
|
|
|
+ //合并单元格
|
|
|
+ mergeTable($('#projectTable'),"preliminaryDesignInternalReview");
|
|
|
+ mergeTable($('#projectTable'),"preliminaryDesignReviewPlan");
|
|
|
+ mergeTable($('#projectTable'),"preliminaryExternalAuditReview");
|
|
|
+ mergeTable($('#projectTable'),"preliminaryDesignReviewComments");
|
|
|
+ mergeTable($('#projectTable'),"constructionDrawingReviewPlan");
|
|
|
+ mergeTable($('#projectTable'),"constructionDrawingReview");
|
|
|
+ // mergeCells(data, "preliminaryDesignInternalReview", 1, $('#projectTable'));
|
|
|
+ // mergeCells(data, "preliminaryDesignReviewPlan", 1, $('#projectTable'));
|
|
|
+ // mergeCells(data, "preliminaryExternalAuditReview", 1, $('#projectTable'));
|
|
|
+ // mergeCells(data, "preliminaryDesignReviewComments", 1, $('#projectTable'));
|
|
|
+ // mergeCells(data, "constructionDrawingReviewPlan", 1, $('#projectTable'));
|
|
|
+ // mergeCells(data, "constructionDrawingReview", 1, $('#projectTable'));
|
|
|
+ },
|
|
|
+ onShowSearch: function () {
|
|
|
+ $("#search-collapse").slideToggle();
|
|
|
+ },
|
|
|
+ columns:
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {"title":"非新建变电站批次信息","colspan":9,width: "1800px"},
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ {field:'preliminaryDesignInternalReview',title: '(一)初步设计内审',valign:"middle", align:"center"},
|
|
|
+ {field:'preliminaryDesignReviewPlan',title: '(二)初步设计评审计划',valign:"middle",align: "center"},
|
|
|
+ {field:'preliminaryExternalAuditReview',title: '(三)初设外审评审',valign:"middle",align: "center"},
|
|
|
+ {field:'preliminaryDesignReviewComments',title: '(四)初设评审意见',valign:"middle",align: "center"},
|
|
|
+ {field:'constructionDrawingReviewPlan',title: '(五)施工图评审计划',valign:"middle",align: "center"},
|
|
|
+ {field:'constructionDrawingReview',title: '(六)施工图评审',valign:"middle",align: "center"},
|
|
|
+ {field:'constructionDrawReview',title: '(七)施工图评审意见',valign:"middle",align: "center"},
|
|
|
+ {field:'batchNumber',title: '施工计划批次',valign:"middle",align: "center"},
|
|
|
+ {field:'bidOpenTime',title: '施工定标日期',valign:"middle",align: "center"},
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
|
|
|
+ $('#projectTable').bootstrapTable("toggleView");
|
|
|
+ }
|
|
|
+
|
|
|
+ $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
|
|
|
+ 'check-all.bs.table uncheck-all.bs.table', function () {
|
|
|
+ $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
|
|
|
+ $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').bootstrapTable('getSelections').length != 1);
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#btnImport").click(function () {
|
|
|
+ jp.open({
|
|
|
+ type: 2,
|
|
|
+ area: [500, 200],
|
|
|
+ auto: true,
|
|
|
+ title: "导入数据",
|
|
|
+ content: "${ctx}/tag/importExcel",
|
|
|
+ btn: ['确定', '关闭'],
|
|
|
+ btn1: function (index, layero) {
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ iframeWin.contentWindow.importExcel('${ctx}/cg/infrastructure/constructionBatch/import', function (data) {
|
|
|
+ if (data.success) {
|
|
|
+ jp.success(data.msg);
|
|
|
+ refresh();
|
|
|
+ } else {
|
|
|
+ jp.error(data.msg);
|
|
|
+ }
|
|
|
+ jp.close(index);
|
|
|
+ });//调用保存事件
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ btn2: function (index) {
|
|
|
+ // jp.close(index);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#btnExport").click(function () {
|
|
|
+ var projectReserveId = $("#projectReserveId").val();
|
|
|
+ var projectName = $("#projectName").val();
|
|
|
+ jp.downloadFile('${ctx}/cg/infrastructure/constructionBatch/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#search").click("click", function () {// 绑定查询按扭
|
|
|
+ $('#projectTable').bootstrapTable('refresh');
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#reset").click("click", function () {// 绑定查询按扭
|
|
|
+ $("#searchForm input").val("");
|
|
|
+ $("#searchForm select").val("2023");
|
|
|
+ $("#searchForm .select-item").html("");
|
|
|
+ $('#projectTable').bootstrapTable('refresh');
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#beginBeginDate').datetimepicker({
|
|
|
+ format: "YYYY-MM-DD HH:mm:ss"
|
|
|
+ });
|
|
|
+ $('#endBeginDate').datetimepicker({
|
|
|
+ format: "YYYY-MM-DD HH:mm:ss"
|
|
|
+ });
|
|
|
+ $('#endDate').datetimepicker({
|
|
|
+ format: "YYYY-MM-DD HH:mm:ss"
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+/**
|
|
|
+ * 合并单元格
|
|
|
+ * @param data 原始数据(在服务端完成排序)
|
|
|
+ * @param fieldName 合并属性名称
|
|
|
+ * @param colspan 合并列
|
|
|
+ * @param target 目标表格对象
|
|
|
+ */
|
|
|
+// function mergeCells(data,fieldName,colspan,target){
|
|
|
+// //声明一个map计算相同属性值在data对象出现的次数和
|
|
|
+// var sortMap = {};
|
|
|
+// for(var i = 0 ; i < data.length ; i++){
|
|
|
+// for(var prop in data[i]){
|
|
|
+// if(prop == fieldName){
|
|
|
+// var key = data[i][prop]
|
|
|
+// if(sortMap.hasOwnProperty(key)){
|
|
|
+// sortMap[key] = sortMap[key] * 1 + 1;
|
|
|
+// } else {
|
|
|
+// sortMap[key] = 1;
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+// for(var prop in sortMap){
|
|
|
+// console.log(prop,sortMap[prop])
|
|
|
+// }
|
|
|
+// var index = 0;
|
|
|
+// for(var prop in sortMap){
|
|
|
+// var count = sortMap[prop] * 1;
|
|
|
+// $(target).bootstrapTable('mergeCells',{index:index, field:fieldName, colspan: colspan, rowspan: count});
|
|
|
+// index += count;
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+function mergeTable(bstable, fieldname) {
|
|
|
+ var rows = bstable.bootstrapTable('getData');
|
|
|
+ var rowspan = 0;
|
|
|
+ var index = 0;
|
|
|
+ var first_yjzbmc = '';
|
|
|
+ $.each(rows, function (i, row) {
|
|
|
+ if (i == 0) {
|
|
|
+ first_yjzbmc = row[fieldname];
|
|
|
+ rowspan = 1;
|
|
|
+ index = i;
|
|
|
+ } else {
|
|
|
+ if (first_yjzbmc === row[fieldname]) {
|
|
|
+ rowspan++;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $(bstable).bootstrapTable('mergeCells', { index: index, field: fieldname, colspan: 1, rowspan: rowspan });
|
|
|
+ first_yjzbmc = row[fieldname];
|
|
|
+ rowspan = 1;
|
|
|
+ index = i;
|
|
|
+ }
|
|
|
+ if (i == (rows.length - 1)) {
|
|
|
+ $(bstable).bootstrapTable('mergeCells', { index: index, field: fieldname, colspan: 1, rowspan: rowspan });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function getIdSelections() {
|
|
|
+ return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
|
|
|
+ return row.id
|
|
|
+ });
|
|
|
+}
|
|
|
+//表格超出宽度鼠标悬停显示td内容
|
|
|
+function paramsMatter(value,row,index,field) {
|
|
|
+ var span = document.createElement('span');
|
|
|
+ span.setAttribute('title',value);
|
|
|
+ span.innerHTML = value;
|
|
|
+ return span.outerHTML;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//刷新列表
|
|
|
+function refresh() {
|
|
|
+ $('#projectTable').bootstrapTable('refresh');
|
|
|
+}
|
|
|
+
|
|
|
+function add() {
|
|
|
+ jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/infrastructure/constructionBatch/form", '800px', '500px');
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+function edit(id) {//没有权限时,不显示确定按钮
|
|
|
+ if (id == undefined) {
|
|
|
+ id = getIdSelections();
|
|
|
+ }
|
|
|
+ jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/infrastructure/constructionBatch/form?id=" + id, '800px', '500px');
|
|
|
+}
|
|
|
+
|
|
|
+function view(id) {//没有权限时,不显示确定按钮
|
|
|
+ if (id == undefined) {
|
|
|
+ id = getIdSelections();
|
|
|
+ }
|
|
|
+ jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/view?id=" + id, '800px', '500px');
|
|
|
+}
|
|
|
+
|
|
|
+function deleteAll(){
|
|
|
+
|
|
|
+ jp.confirm('确认要删除该储备项目基本信息吗?', function(){
|
|
|
+ jp.loading();
|
|
|
+ jp.get("${ctx}/cg/infrastructure/constructionBatch/deleteAll?ids=" + getIdSelections(), function(data){
|
|
|
+ if(data.success){
|
|
|
+ $('#projectTable').bootstrapTable('refresh');
|
|
|
+ jp.success(data.msg);
|
|
|
+ }else{
|
|
|
+ jp.error(data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+//转换日期格式(时间戳转换为datetime格式)
|
|
|
+function changeDateFormat(cellval) {
|
|
|
+ var dateVal = cellval + "";
|
|
|
+ if (cellval != null) {
|
|
|
+ var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
|
|
|
+ var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
|
|
|
+ var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|
|
+
|
|
|
+ /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
|
|
|
+ var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
|
|
|
+ var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
|
|
|
+
|
|
|
+ return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|