Переглянути джерело

合同页面添加导出列表

梁世豪 4 місяців тому
батько
коміт
025bded646

+ 32 - 1
src/main/java/com/liang/controller/PrjContractController.java

@@ -1,5 +1,6 @@
1 1
 package com.liang.controller;
2 2
 
3
+import com.fasterxml.jackson.databind.ObjectMapper;
3 4
 import com.github.pagehelper.PageHelper;
4 5
 import com.github.pagehelper.PageInfo;
5 6
 import com.liang.common.JsonTool;
@@ -17,6 +18,7 @@ import org.springframework.ui.Model;
17 18
 import org.springframework.web.bind.annotation.*;
18 19
 
19 20
 import javax.annotation.Resource;
21
+import java.sql.Date;
20 22
 import java.util.HashMap;
21 23
 import java.util.List;
22 24
 import java.util.Map;
@@ -48,6 +50,8 @@ public class PrjContractController extends BaseController {
48 50
 
49 51
     @Resource
50 52
     private BasePersonService basePersonService;
53
+    @Resource
54
+    private PrjPayplanService prjPayplanService;
51 55
 
52 56
 
53 57
     /**
@@ -207,7 +211,9 @@ public class PrjContractController extends BaseController {
207 211
     public String forUpdate(Model model, @PathVariable Integer id) {
208 212
         //当前项目
209 213
         PrjContract contract = prjContractService.queryById(id);
214
+        List<PrjPayplan> payPlanList = prjPayplanService.getPayPlanList(id);
210 215
         String userPostName = getSysUserInfo().getUserPostName();
216
+        model.addAttribute("dataFkjh",payPlanList);
211 217
         model.addAttribute("contract", contract);
212 218
         model.addAttribute("userPostName",userPostName);
213 219
 
@@ -388,7 +394,6 @@ public class PrjContractController extends BaseController {
388 394
      * 获取创建人
389 395
      * @param pageNum
390 396
      * @param pageSize
391
-     * @param cjr
392 397
      * @return
393 398
      */
394 399
     @ResponseBody
@@ -431,5 +436,31 @@ public class PrjContractController extends BaseController {
431 436
         }
432 437
         return BaseResult.success(num);
433 438
     }
439
+
440
+    @ResponseBody
441
+    @RequestMapping(value = "/getAll/{fromdata}",method = RequestMethod.POST)
442
+    public BaseResult getAll(@PathVariable(required = false) String fromdata) throws  Exception{
443
+        Map<String, Object> paraMap = new HashMap<>();
444
+        ObjectMapper objectMapper = new ObjectMapper();
445
+        PrjContract formDatas = objectMapper.readValue(fromdata, PrjContract.class);
446
+        Date kssj = formDatas.getKssj();
447
+        Date jssj = formDatas.getJssj();
448
+        paraMap.put("htmc", formDatas.getHtmc());
449
+        paraMap.put("rws", formDatas.getRws());
450
+        paraMap.put("rwsmc", formDatas.getRwsmc());
451
+        paraMap.put("cjr",formDatas.getCjr());
452
+        paraMap.put("erpbh",formDatas.getErpbh());
453
+        paraMap.put("spzt",formDatas.getSpzt());
454
+        if (kssj != null) {
455
+            paraMap.put("kssj", formDatas.getKssj().toString());
456
+        }
457
+        if (jssj !=null) {
458
+            paraMap.put("jssj", formDatas.getJssj().toString());
459
+        }
460
+        List<PrjContract> list = prjContractService.getContractList(paraMap);
461
+        return BaseResult.success("导出成功",list);
462
+
463
+    }
464
+
434 465
 }
435 466
 

+ 4 - 1
src/main/java/com/liang/service/impl/StaPayapprovalServiceImpl.java

@@ -22,6 +22,7 @@ import javax.annotation.Resource;
22 22
 import java.util.HashMap;
23 23
 import java.util.List;
24 24
 import java.util.Map;
25
+import java.util.concurrent.atomic.AtomicInteger;
25 26
 import java.util.stream.Collectors;
26 27
 
27 28
 /**
@@ -199,6 +200,7 @@ public class StaPayapprovalServiceImpl implements StaPayapprovalService {
199 200
             throw new CustomException("请联系管理员添加文件查看字典");
200 201
         }
201 202
         String viewFilePath = dictByCode.get(0).get("name");
203
+        AtomicInteger count = new AtomicInteger(0);
202 204
         if (!Collections.isEmpty(staReimbursementVos)) {
203 205
             return staReimbursementVos.stream().map(item -> {
204 206
                 //从url "http:/1 ocalhost:8082/202305/dcccd096e08a4a1 obaacadae7477d996我的阅读推荐.docx",中截取 dcccd096e08a4a1 obaacadae7477d996我的阅读推荐.docx
@@ -213,11 +215,12 @@ public class StaPayapprovalServiceImpl implements StaPayapprovalService {
213 215
                     // 使用 iframe 标签拼接 <iframe frameborder="0" src="http://localhost:8081//files/eaedfdfe22834ed391fc353085741c37_1715051628960.pdf" scrolling="auto" style="width: 99%; height: 950px;"></iframe>
214 216
                     content = "<iframe frameborder=\"0\" src=\"" + viewFilePath + substring + "\" scrolling=\"auto\" style=\"width: 99%; height: 950px;\"></iframe>";
215 217
                 }
218
+                count.getAndIncrement();
216 219
                 return ViewFileVo.builder()
217 220
                         //文件路径  http://localhost:8081//files/eaedfdfe22834ed391fc353085741c37_1715051628960.jpg
218 221
                         .content(content)
219 222
                         //文件名称
220
-                        .title(item.getWjm())
223
+                        .title("图"+count)
221 224
                         .build();
222 225
             }).collect(Collectors.toList());
223 226
         } else {

+ 4 - 1
src/main/java/com/liang/service/impl/StaReimbursementServiceImpl.java

@@ -19,6 +19,7 @@ import org.springframework.data.domain.PageRequest;
19 19
 import javax.annotation.Resource;
20 20
 import java.util.List;
21 21
 import java.util.Map;
22
+import java.util.concurrent.atomic.AtomicInteger;
22 23
 import java.util.stream.Collectors;
23 24
 
24 25
 /**
@@ -143,6 +144,7 @@ public class StaReimbursementServiceImpl implements StaReimbursementService {
143 144
     public List<ViewFileVo> viewFile(Integer bzId) {
144 145
         StaReimbursement reimbursement = staReimbursementService.queryById(bzId);
145 146
         String bxpz = reimbursement.getBxpz();
147
+        AtomicInteger count = new AtomicInteger(0);
146 148
         List<StaReimbursementVo> staReimbursementVos = JsonTool.parseArray(bxpz, StaReimbursementVo.class);
147 149
         //获取数据库配置 http://localhost:8081//files/
148 150
         List<Map<String, String>> dictByCode = dictDao.getDictByCode(CommonConstant.VIEW_FILE_PATH);
@@ -164,11 +166,12 @@ public class StaReimbursementServiceImpl implements StaReimbursementService {
164 166
                     // 使用 iframe 标签拼接 <iframe frameborder="0" src="http://localhost:8081//files/eaedfdfe22834ed391fc353085741c37_1715051628960.pdf" scrolling="auto" style="width: 99%; height: 950px;"></iframe>
165 167
                     content = "<iframe frameborder=\"0\" src=\"" + viewFilePath + substring + "\" scrolling=\"auto\" style=\"width: 99%; height: 950px;\"></iframe>";
166 168
                 }
169
+                count.getAndIncrement();
167 170
                 return ViewFileVo.builder()
168 171
                         //文件路径  http://localhost:8081//files/eaedfdfe22834ed391fc353085741c37_1715051628960.jpg
169 172
                         .content(content)
170 173
                         //文件名称
171
-                        .title(item.getWjm())
174
+                        .title("图"+count)
172 175
                         .build();
173 176
             }).collect(Collectors.toList());
174 177
         } else {

+ 23 - 1
src/main/resources/templates/prjcontract/list.html

@@ -105,6 +105,9 @@
105 105
                         id="viewXgsq">
106 106
                     查看修改申请
107 107
                 </button>
108
+                <button class="layui-btn layui-btn-sm" lay-event="export" style="background-color: black">
109
+                    <i class="layui-icon layui-icon-export" style="font-size: 10px;"></i>导出列表
110
+                </button>
108 111
             </div>
109 112
         </script>
110 113
         <input type="hidden" id="userId" name="userId" class="layui-input" th:value="${userId}">
@@ -143,9 +146,10 @@
143 146
 <script type="text/javascript" th:inline="javascript">
144 147
     AjaxUtil.ctx = /*[[@{/}]]*/'';
145 148
     var updateflag = 0;
146
-    layui.use(['form', 'table', 'treeTable','laydate'], function () {
149
+    layui.use(['form', 'table','tableSelect', 'treeTable','laydate'], function () {
147 150
         var form = layui.form,
148 151
             table = layui.table,
152
+            tableSelect = layui.tableSelect,
149 153
             laydate = layui.laydate;
150 154
         var userId = $("#userId").val();
151 155
         var userPostName = [[${userPostName}]]
@@ -513,6 +517,24 @@
513 517
                 }
514 518
                     }
515 519
                 })
520
+            } else if (obj.event === 'export'){
521
+
522
+                var formData = form.val('search-form');
523
+                console.log(formData);
524
+                var formDataString = JSON.stringify(formData);
525
+                AjaxUtil.post({
526
+                    url:AjaxUtil.ctx +'prjContract/getAll/'+formDataString,
527
+                    contentType: "application/json",
528
+                    timeout: 15000, //大批量导出时会出现超时问题
529
+                    success: function(res){
530
+                        console.log(res);
531
+                        table.exportFile('currentTableId',res.data,'xlsx');
532
+                    },
533
+                    error:function (error) {
534
+                        Message.error(error,2000)
535
+
536
+                    }
537
+                });
516 538
             }else  if (obj.event ==="viewXgsq"){
517 539
                 var index = layer.open({
518 540
                     title: '修改申请',

+ 2 - 2
src/main/resources/templates/stafeemanage/list_feemanage.html

@@ -142,8 +142,8 @@
142 142
     layui.use(['form', 'table', 'tableSelect','layCascader'], function () {
143 143
         var form = layui.form,
144 144
             table = layui.table,
145
-            tableSelect = layui.tableSelect;
146
-        layCascader = layui.layCascader;
145
+            tableSelect = layui.tableSelect,
146
+            layCascader = layui.layCascader;
147 147
         var year = document.getElementById('nf').value;
148 148
 
149 149
         var index2 = layer.load(0, {shade: 0.1});