Browse Source

Merge branch 'master' of http://219.147.85.210:8080/gmcs/HongHu-PSM

zzs 3 months ago
parent
commit
d04836ad89
28 changed files with 1648 additions and 1649 deletions
  1. 2 2
      bidding-ui/src/views/mine/tenderOffer.vue
  2. 1 0
      ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/BidCommitteeController.java
  3. 10 0
      ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/BidQuoteController.java
  4. 46 34
      ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/ExpertMarkController.java
  5. 3 1
      ruoyi-modules/hh-bidding/src/main/resources/mapper/BidCommitteeMapper.xml
  6. 3 4
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankDepositController.java
  7. 27 3
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankDepositdescController.java
  8. 87 57
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankRefundController.java
  9. 59 32
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankRefundbatController.java
  10. 52 4
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankTenderpubController.java
  11. 16 12
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankUncleardepositController.java
  12. 6 6
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/domain/BankRefundbat.java
  13. 8 0
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/mapper/BankDepositdescMapper.java
  14. 7 0
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/service/IBankDepositdescService.java
  15. 9 0
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/service/impl/BankDepositdescServiceImpl.java
  16. 12 6
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/utils/JsonUtils.java
  17. 8 0
      ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/project/controller/MastProjectController.java
  18. 8 0
      ruoyi-modules/hh-mast/src/main/resources/mapper/bank/BankDepositdescMapper.xml
  19. 6 6
      ruoyi-modules/hh-mast/src/main/resources/mapper/bank/BankRefundbatMapper.xml
  20. 8 0
      ruoyi-ui/src/api/bank/tenderpub.js
  21. 46 271
      ruoyi-ui/src/views/bank/depositdesc/index.vue
  22. 729 690
      ruoyi-ui/src/views/bank/refund/index.vue
  23. 26 15
      ruoyi-ui/src/views/bank/refundbat/index.vue
  24. 10 3
      ruoyi-ui/src/views/bank/tenderpub/index.vue
  25. 444 498
      ruoyi-ui/src/views/bank/uncleardeposit/index.vue
  26. 13 3
      ruoyi-ui/src/views/expert/tender/detail.vue
  27. 1 1
      ruoyi-ui/src/views/tender/tender1/bidding.vue
  28. 1 1
      ruoyi-ui/src/views/tender/tender1/components/CompDetermineWin.vue

+ 2 - 2
bidding-ui/src/views/mine/tenderOffer.vue

@@ -32,8 +32,8 @@
       <el-table-column label="供应商联系方式" prop="contactPhone" align="center" />
       <el-table-column label="报价时间" prop="quoteTime" align="center">
         <template slot-scope="scope">
-            <span>{{scope.row.quoteTime}}</span>
-          </template>
+          {{ scope.row.thirdTime ? scope.row.thirdTime : (scope.row.secondTime ? scope.row.secondTime : scope.row.firstTime) }}
+        </template>
       </el-table-column>
       <el-table-column label="报价金额" align="center">
         <template slot-scope="scope">

+ 1 - 0
ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/BidCommitteeController.java

@@ -153,6 +153,7 @@ public class BidCommitteeController extends BaseController
             bidCommittee.setBsExpert(bsExpert);
             bidCommittee.setJid(bsExpert.getJid());
             bidCommittee.setUserId(bsExpert.getUserId());
+            bidCommittee.setStatus(0L);
             int i = bidCommitteeService.insertBidCommittee(bidCommittee);
         }
         return success("保存成功");

+ 10 - 0
ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/BidQuoteController.java

@@ -389,15 +389,19 @@ public class BidQuoteController extends BaseController
             if(item.getHid().equals(hid)){
                 if(current == 0){
                     item.setFirst(item.getFirst());
+                    item.setFirstTime(item.getFirstTime());
                 }
                 else if(current == 1){
                     item.setFirst(item.getFirst());
+                    item.setFirstTime(item.getFirstTime());
                 }
                 else if(current == 2){
                     item.setSecond(item.getSecond());
+                    item.setSecondTime(item.getSecondTime());
                 }
                 else if(current == 3){
                     item.setThird(item.getThird());
+                    item.setThirdTime(item.getThirdTime());
                 }
                 res.add(item);
             }else{
@@ -405,15 +409,21 @@ public class BidQuoteController extends BaseController
 
                 } else if(current == 1){
                     item.setFirst(item.getFirst());
+                    item.setFirstTime(item.getFirstTime());
                     item.setSecond(null);
+                    item.setSecondTime(null);
                     item.setThird(null);
+                    item.setThirdTime(null);
                     res.add(item);
                 } else if (current == 2) {
                     item.setSecond(item.getSecond());
+                    item.setSecondTime(item.getSecondTime());
                     item.setThird(null);
+                    item.setThirdTime(null);
                     res.add(item);
                 } else if (current == 3) {
                     item.setThird(item.getThird());
+                    item.setThirdTime(item.getThirdTime());
                     res.add(item);
                 }
             }

+ 46 - 34
ruoyi-modules/hh-bidding/src/main/java/com/hh/bidding/controller/ExpertMarkController.java

@@ -309,9 +309,11 @@ public class ExpertMarkController extends BaseController{
         List<BidExpertRespond> respondDetails = bidExpertRespondService.selectBidExpertRespondList(bidExpertRespond);
         List<BidExpertTech> techDetails = bidExpertTechService.selectBidExpertTechList(bidExpertTech);
         mark.setSid(sid);
-        mark.setsName(info.getsName());
-        mark.setuKaiTime(info.getuKaiTime());
-        mark.setuKaiPosition(info.getuKaiPosition());
+        if(info != null){
+            mark.setsName(info.getsName());
+            mark.setuKaiTime(info.getuKaiTime());
+            mark.setuKaiPosition(info.getuKaiPosition());
+        }
         mark.setBidExpertExamines(examineDetails);
         mark.setBidExpertResponds(respondDetails);
         mark.setBidExpertTeches(techDetails);
@@ -330,44 +332,54 @@ public class ExpertMarkController extends BaseController{
         Long jid = bsExpert.getJid();
         String jName = bsExpert.getjName();
 
-        BidIdea bidIdea = new BidIdea();
-        bidIdea.setSid(mark.getSid());
-        bidIdea.setHid(mark.getHid());
-        List<BidIdea> bidIdeas = bidIdeaService.selectBidIdeaList(bidIdea);
-        bidIdea.setIdea(mark.getIdea());
-        if(bidIdeas.size() == 0){
-            bidIdeaService.insertBidIdea(bidIdea);
-        }else {
-            bidIdea.setId(bidIdeas.get(0).getId());
-            bidIdeaService.updateBidIdea(bidIdea);
-        }
+        BidCommittee bidCommittee = new BidCommittee();
+        bidCommittee.setJid(jid);
+        bidCommittee.setSid(mark.getSid());
+        bidCommittee.setIsLeader(1);
 
-        List<BidExpertExamine> bidExpertExamines = mark.getBidExpertExamines();
-        List<BidExpertRespond> bidExpertResponds = mark.getBidExpertResponds();
-        List<BidExpertTech> bidExpertTeches = mark.getBidExpertTeches();
+        List<BidCommittee> bidCommittees = bidCommitteeService.selectBidCommitteeList(bidCommittee);
+        if(!CollectionUtils.isEmpty(bidCommittees)){
+            BidIdea bidIdea = new BidIdea();
+            bidIdea.setSid(mark.getSid());
+            bidIdea.setHid(mark.getHid());
+            List<BidIdea> bidIdeas = bidIdeaService.selectBidIdeaList(bidIdea);
+            if(mark.getIdea() != null){
+                bidIdea.setIdea(mark.getIdea());
+                if(bidIdeas.size() == 0){
+                    bidIdeaService.insertBidIdea(bidIdea);
+                }else {
+                    bidIdea.setId(bidIdeas.get(0).getId());
+                    bidIdeaService.updateBidIdea(bidIdea);
+                }
+            }
 
-        for (BidExpertExamine bidExpertExamine : bidExpertExamines){
-            if(bidExpertExamine.getId() != null){
-                bidExpertExamineService.updateBidExpertExamine(bidExpertExamine);
-            }else {
-                bidExpertExamine.setJid(jid);
-                bidExpertExamine.setjName(jName);
-                bidExpertExamine.setUserId(userId);
-                bidExpertExamineService.insertBidExpertExamine(bidExpertExamine);
+            List<BidExpertExamine> bidExpertExamines = mark.getBidExpertExamines();
+            List<BidExpertRespond> bidExpertResponds = mark.getBidExpertResponds();
+
+            for (BidExpertExamine bidExpertExamine : bidExpertExamines){
+                if(bidExpertExamine.getId() != null){
+                    bidExpertExamineService.updateBidExpertExamine(bidExpertExamine);
+                }else {
+                    bidExpertExamine.setJid(jid);
+                    bidExpertExamine.setjName(jName);
+                    bidExpertExamine.setUserId(userId);
+                    bidExpertExamineService.insertBidExpertExamine(bidExpertExamine);
+                }
             }
-        }
 
-        for(BidExpertRespond bidExpertRespond : bidExpertResponds){
-            if(bidExpertRespond.getId() != null){
-                bidExpertRespondService.updateBidExpertRespond(bidExpertRespond);
-            }else {
-                bidExpertRespond.setJid(jid);
-                bidExpertRespond.setjName(jName);
-                bidExpertRespond.setUserId(userId);
-                bidExpertRespondService.insertBidExpertRespond(bidExpertRespond);
+            for(BidExpertRespond bidExpertRespond : bidExpertResponds){
+                if(bidExpertRespond.getId() != null){
+                    bidExpertRespondService.updateBidExpertRespond(bidExpertRespond);
+                }else {
+                    bidExpertRespond.setJid(jid);
+                    bidExpertRespond.setjName(jName);
+                    bidExpertRespond.setUserId(userId);
+                    bidExpertRespondService.insertBidExpertRespond(bidExpertRespond);
+                }
             }
         }
 
+        List<BidExpertTech> bidExpertTeches = mark.getBidExpertTeches();
         for (BidExpertTech bidExpertTech : bidExpertTeches){
             if(bidExpertTech.getId() != null){
                 bidExpertTechService.updateBidExpertTech(bidExpertTech);

+ 3 - 1
ruoyi-modules/hh-bidding/src/main/resources/mapper/BidCommitteeMapper.xml

@@ -39,7 +39,7 @@
     </select>
 
     <select id="getProjectByUserId" parameterType="Long" resultType="com.hh.bidding.domain.BidTender">
-        select t.* from bid_tender t inner join bid_committee c on t.sid = c.sid where c.user_id = #{userId} and (c.status = 1 or c.status = 3)
+        select t.* from bid_tender t inner join bid_committee c on t.sid = c.sid where c.user_id = #{userId} and (c.status = 1 or c.status = 3) order by t.sid desc
     </select>
 
     <select id="selectBidCommitteeByPbId" parameterType="Long" resultMap="BidCommitteeResult">
@@ -61,6 +61,7 @@
             <if test="jid != null">jid,</if>
             <if test="sid != null">sid,</if>
             <if test="userId != null">user_id,</if>
+            <if test="status != null">status,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="pbId != null">#{pbId},</if>
@@ -74,6 +75,7 @@
             <if test="jid != null">#{jid},</if>
             <if test="sid != null">#{sid},</if>
             <if test="userId != null">#{userId},</if>
+            <if test="status != null">#{status},</if>
         </trim>
     </insert>
 

+ 3 - 4
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankDepositController.java

@@ -89,8 +89,7 @@ public class BankDepositController extends BaseController {
      * 获取查询保证金入账数量详细信息 by 采购公告id
      * depositid : 当作ppid 用
      */
-    @Transactional
-    // @RequiresPermissions("bank:deposit:query")
+    @RequiresPermissions("bank:deposit:query")
     @GetMapping(value = "/{depositid}")
     public AjaxResult getInfo(@PathVariable("depositid") String depositid) {
         Map<String, Object> map = bankTenderpubController.getInfos(depositid);
@@ -143,8 +142,8 @@ public class BankDepositController extends BaseController {
         bankDepositdesc.setPltfmcstno(env.getProperty("BANK.PLTFMCSTNO"));
         bankDepositdesc.setEntpnm("");
 
-        for (int i = page1; i <= page; i++) {
-            bankDepositdesc.setPgno(String.valueOf(i));
+        for (int i = 0; i < page; i++) {
+            bankDepositdesc.setPgno(String.valueOf(i + 1));
             AjaxResult msg2 = bankDepositdescController.addBankDepositdesc(bankDepositdesc);
 
             if (!msg2.get("msg").toString().contains("成功")) {

+ 27 - 3
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankDepositdescController.java

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.uuid.UUID;
+import com.ruoyi.mast.bank.domain.BankRefundbat;
 import com.ruoyi.mast.bank.utils.JsonUtils;
 import kong.unirest.core.HttpResponse;
 import kong.unirest.core.Unirest;
@@ -46,6 +47,9 @@ public class BankDepositdescController extends BaseController {
     @Autowired
     private IBankDepositdescService bankDepositdescService;
 
+    @Autowired
+    private BankRefundbatController bankRefundbatController;
+
     @Autowired
     private Environment env;
 
@@ -205,7 +209,7 @@ public class BankDepositdescController extends BaseController {
             if (i == (contentlist.size() - 1)) bankDepositdescService.deleteBankDepositdescByDepositdescid(delid);
         }
 
-        if(contentlist.size()<1)return 0;
+        if (contentlist.size() < 1) return 0;
         else return 1;
     }
 
@@ -243,12 +247,32 @@ public class BankDepositdescController extends BaseController {
 
 
     /**
-     * 删除查询保证金入账明细
+     * 批量退还保证金
      */
     // @RequiresPermissions("bank:depositdesc:remove")
     @Log(title = "查询保证金入账明细", businessType = BusinessType.DELETE)
     @DeleteMapping("/{depositdescids}")
     public AjaxResult remove(@PathVariable String[] depositdescids) {
-        return toAjax(bankDepositdescService.deleteBankDepositdescByDepositdescids(depositdescids));
+        List<BankDepositdesc> list = bankDepositdescService.selectByDepositdescids(depositdescids);
+        if(list.isEmpty()) return toAjax(0);
+
+        String xml = "";
+
+        for (int i = 0; i < list.size(); i++) {
+             xml += "<CONTENT>\n" +
+                    "   <INDEX>" + (i + 1) + "</INDEX>\n" +
+                    "   <TDRNO>" + list.get(i).getRtnTdrno() + "</TDRNO>\n" +
+                    "   <REMARK>批量退还保证金" + DateUtils.getTime() + "</REMARK>\n" +
+                    "</CONTENT>";
+        }
+
+        BankRefundbat bankRefundbat = new BankRefundbat();
+        bankRefundbat.setPpid(Long.valueOf(list.get(0).getPpid()));
+        bankRefundbat.setRqbody(xml);
+
+        bankRefundbatController.addBankRefundbat(bankRefundbat);
+
+
+        return toAjax(1);
     }
 }

+ 87 - 57
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankRefundController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.mast.bank.controller;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.io.IOException;
 import java.util.Random;
@@ -90,32 +91,44 @@ public class BankRefundController extends BaseController {
     @Log(title = "查询保证金退款信息", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody BankRefund bankRefund) {
-        BankRefund bt = new BankRefund();
+        return addBankRefund(bankRefund);
+    }
+
+    public int getPage(BankRefund bankRefund) {
+        String TRNUID = "BZJQ" + System.currentTimeMillis() + (new Random().nextInt(1000) + 1);
+        bankRefund.setRefundid(UUID.randomUUID().toString(true));
+        bankRefund.setTrnuid(TRNUID);
+        String rtnxml = postBank(bankRefund);
+        String p = JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/TOTPGNUM");      //总页数
+        int page = (p == "") ? 0 : Integer.parseInt(p);
+        return page;
+    }
+
+    public AjaxResult addBankRefund(BankRefund bankRefund) {
         // 流水号
         String TRNUID = "BZJQ" + System.currentTimeMillis() + (new Random().nextInt(1000) + 1);
 
-        bt.setRefundid(UUID.randomUUID().toString(true));
-        bt.setTrnuid(TRNUID);
-        bt.setPpid(Long.valueOf(115));
+        bankRefund.setRefundid(UUID.randomUUID().toString(true));
+        bankRefund.setTrnuid(TRNUID);
 
-        bt.setSgtid("0cd87fb3e9314f43a0e7240380a30cec");
-        bt.setSgtno("BD202408281514");
-        bt.setPrjno("32143217891");
-        bt.setEntpnm("");
-        bt.setBegdt("");
-        bt.setEnddt("");
-        bt.setPgno("1");
+//        bt.setPpid(Long.valueOf(115));
+//        bt.setSgtid("0cd87fb3e9314f43a0e7240380a30cec");
+//        bt.setSgtno("BD202408281514");
+//        bt.setPrjno("32143217891");
+//        bt.setEntpnm("");
+//        bt.setBegdt("");
+//        bt.setEnddt("");
+//        bt.setPgno("1");
 
-        String rtnxml = postBank(bt);
+        String rtnxml = postBank(bankRefund);
 
         String rtn = JsonUtils.getStatus(rtnxml);
 
         if (rtn.contains("成功")) {
-            bankRefundService.insertBankRefund(bt);
-            update(bt, rtnxml);
+            bankRefundService.insertBankRefund(bankRefund);
+            update(bankRefund, rtnxml);
             return AjaxResult.success(rtn);
-        }
-        else return AjaxResult.error(rtn);
+        } else return AjaxResult.error(rtn);
     }
 
     /**
@@ -140,6 +153,7 @@ public class BankRefundController extends BaseController {
         List<BankRefund> list = bankRefundService.selectBankRefundList(bankRefund);
         if (list.isEmpty()) return 0;
         BankRefund bt = list.get(0);
+        String delid = bt.getRefundid();
 
         bt.setRtnTrnuid(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/TRNUID"));
         bt.setRtnStatus(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/STATUS"));
@@ -147,51 +161,67 @@ public class BankRefundController extends BaseController {
         bt.setRtnSeverity(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/STATUS/SEVERITY"));
         bt.setRtnMessage(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/STATUS/MESSAGE"));
 
-        bt.setRtnRsbody(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY"));
+//        bt.setRtnRsbody(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY"));
         bt.setRtnRcrdtotnum(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/RCRDTOTNUM"));
         bt.setRtnCrnpgno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CRNPGNO"));
         bt.setRtnPgrcrdnum(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/PGRCRDNUM"));
         bt.setRtnTotpgnum(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/TOTPGNUM"));
-        bt.setRtnContent(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT"));
-        bt.setRtnLsecstno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/LSECSTNO"));
-        bt.setRtnCstno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/CSTNO"));
-        bt.setRtnSgtid(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/SGTID"));
-        bt.setRtnSgtno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/SGTNO"));
-        bt.setRtnSgtnm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/SGTNM"));
-        bt.setRtnTdrno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRNO"));
-        bt.setRtnPrjno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/PRJNO"));
-        bt.setRtnPrjnm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/PRJNM"));
-        bt.setRtnRfndst(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDST"));
-        bt.setRtnTdracctno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRACCTNO"));
-        bt.setRtnTdracctnoccycd(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRACCTNOCCYCD"));
-        bt.setRtnTdracctnm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRACCTNM"));
-        bt.setRtnTdracctnobnkno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRACCTNOBNKNO"));
-        bt.setRtnTdracctnobnknm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRACCTNOBNKNM"));
-        bt.setRtnTdrnum(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TDRNUM"));
-        bt.setRtnMrgnamt(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/ MRGNAMT")));
-        bt.setRtnSvcfee(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/SVCFEE")));
-        bt.setRtnFrzamt(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/FRZAMT")));
-        bt.setRtnFineamt(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/FINEAMT")));
-        bt.setRtnRfnddt(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDDT"));      //?????
-        bt.setRtnRfndtm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDTM"));      //?????
-        bt.setRtnTxnseqnos(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TXNSEQNOS"));
-        bt.setRtnBcktp(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/BCKTP"));
-        bt.setRtnTfroutmd(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTMD"));
-        bt.setRtnTfroutacctno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTACCTNO"));
-        bt.setRtnTfroutccycd(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTCCYCD"));
-        bt.setRtnTfroutacctnm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTACCTNM"));
-        bt.setRtnTfroutbnkno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTBNKNO"));
-        bt.setRtnTfroutbnknm(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/TFROUTBNKNM"));
-        bt.setRtnRfndamt(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDAMT")));
-        bt.setRtnRfndpnp(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDPNP")));
-        bt.setRtnRcvblpcdfee(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RCVBLPCDFEE")));
-        bt.setRtnActrcvpcdfee(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/ACTRCVPCDFEE")));
-        bt.setRtnPyblint(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/PYBLINT")));
-        bt.setRtnActpymtint(new BigDecimal(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/ACTPYMTINT")));
-        bt.setRtnRfnddealopnn(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDDEALOPNN"));
-        bt.setRtnRfnddealinf(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT/RFNDDEALINF"));
-
-        return bankRefundService.updateBankRefund(bt);
+
+        String rsbody = JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY");
+
+        bankRefundService.updateBankRefund(bt);
+
+        ArrayList<String> contentlist = JsonUtils.findContent(rsbody);
+
+        for (int i = 0; i < contentlist.size(); i++) {
+//            bt.setRtnContent(JsonUtils.findJson(contentlist.get(i), "FOX/SECURITIES_MSGSRSV1/QUERYDEPOSITRFNDTRNRS/RSBODY/CONTENT"));
+            bt.setRtnLsecstno(JsonUtils.findJson(contentlist.get(i), "LSECSTNO"));
+            bt.setRtnCstno(JsonUtils.findJson(contentlist.get(i), "CSTNO"));
+            bt.setRtnSgtid(JsonUtils.findJson(contentlist.get(i), "SGTID"));
+            bt.setRtnSgtno(JsonUtils.findJson(contentlist.get(i), "SGTNO"));
+            bt.setRtnSgtnm(JsonUtils.findJson(contentlist.get(i), "SGTNM"));
+            bt.setRtnTdrno(JsonUtils.findJson(contentlist.get(i), "TDRNO"));
+            bt.setRtnPrjno(JsonUtils.findJson(contentlist.get(i), "PRJNO"));
+            bt.setRtnPrjnm(JsonUtils.findJson(contentlist.get(i), "PRJNM"));
+            bt.setRtnRfndst(JsonUtils.findJson(contentlist.get(i), "RFNDST"));
+            bt.setRtnTdracctno(JsonUtils.findJson(contentlist.get(i), "TDRACCTNO"));
+            bt.setRtnTdracctnoccycd(JsonUtils.findJson(contentlist.get(i), "TDRACCTNOCCYCD"));
+            bt.setRtnTdracctnm(JsonUtils.findJson(contentlist.get(i), "TDRACCTNM"));
+            bt.setRtnTdracctnobnkno(JsonUtils.findJson(contentlist.get(i), "TDRACCTNOBNKNO"));
+            bt.setRtnTdracctnobnknm(JsonUtils.findJson(contentlist.get(i), "TDRACCTNOBNKNM"));
+            bt.setRtnTdrnum(JsonUtils.findJson(contentlist.get(i), "TDRNUM"));
+            bt.setRtnMrgnamt(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), " MRGNAMT")));
+            bt.setRtnSvcfee(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "SVCFEE")));
+            bt.setRtnFrzamt(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "FRZAMT")));
+            bt.setRtnFineamt(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "FINEAMT")));
+            bt.setRtnRfnddt(JsonUtils.findJson(contentlist.get(i), "RFNDDT"));      //?????
+            bt.setRtnRfndtm(JsonUtils.findJson(contentlist.get(i), "RFNDTM"));      //?????
+            bt.setRtnTxnseqnos(JsonUtils.findJson(contentlist.get(i), "TXNSEQNOS"));
+            bt.setRtnBcktp(JsonUtils.findJson(contentlist.get(i), "BCKTP"));
+            bt.setRtnTfroutmd(JsonUtils.findJson(contentlist.get(i), "TFROUTMD"));
+            bt.setRtnTfroutacctno(JsonUtils.findJson(contentlist.get(i), "TFROUTACCTNO"));
+            bt.setRtnTfroutccycd(JsonUtils.findJson(contentlist.get(i), "TFROUTCCYCD"));
+            bt.setRtnTfroutacctnm(JsonUtils.findJson(contentlist.get(i), "TFROUTACCTNM"));
+            bt.setRtnTfroutbnkno(JsonUtils.findJson(contentlist.get(i), "TFROUTBNKNO"));
+            bt.setRtnTfroutbnknm(JsonUtils.findJson(contentlist.get(i), "TFROUTBNKNM"));
+            bt.setRtnRfndamt(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "RFNDAMT")));
+            bt.setRtnRfndpnp(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "RFNDPNP")));
+            bt.setRtnRcvblpcdfee(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "RCVBLPCDFEE")));
+            bt.setRtnActrcvpcdfee(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "ACTRCVPCDFEE")));
+            bt.setRtnPyblint(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "PYBLINT")));
+            bt.setRtnActpymtint(JsonUtils.checkBigDecimal(JsonUtils.findJson(contentlist.get(i), "ACTPYMTINT")));
+            bt.setRtnRfnddealopnn(JsonUtils.findJson(contentlist.get(i), "RFNDDEALOPNN"));
+            bt.setRtnRfnddealinf(JsonUtils.findJson(contentlist.get(i), "RFNDDEALINF"));
+
+            bt.setRefundid(UUID.randomUUID().toString(true));
+
+            bankRefundService.insertBankRefund(bt);
+
+            if (i == (contentlist.size() - 1)) bankRefundService.deleteBankRefundByRefundid(delid);
+        }
+
+        if (contentlist.size() < 1) return 0;
+        else return 1;
     }
 
     private String postBank(BankRefund bankRefund) {

+ 59 - 32
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankRefundbatController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.mast.bank.controller;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.io.IOException;
 import java.util.Random;
@@ -8,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.uuid.UUID;
+import com.ruoyi.mast.bank.domain.BankDepositdesc;
 import com.ruoyi.mast.bank.domain.BankTenderpub;
 import com.ruoyi.mast.bank.utils.JsonUtils;
 import com.ruoyi.system.api.RemotePlanService;
@@ -35,14 +37,13 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
 
 /**
  * 批量退还保证金Controller
- * 
+ *
  * @author ruoyi
  * @date 2024-09-03
  */
 @RestController
 @RequestMapping("/refundbat")
-public class BankRefundbatController extends BaseController
-{
+public class BankRefundbatController extends BaseController {
     @Autowired
     private IBankRefundbatService bankRefundbatService;
 
@@ -57,8 +58,7 @@ public class BankRefundbatController extends BaseController
      */
     // @RequiresPermissions("bank:refundbat:list")
     @GetMapping("/list")
-    public TableDataInfo list(BankRefundbat bankRefundbat)
-    {
+    public TableDataInfo list(BankRefundbat bankRefundbat) {
         startPage();
         List<BankRefundbat> list = bankRefundbatService.selectBankRefundbatList(bankRefundbat);
         return getDataTable(list);
@@ -70,8 +70,7 @@ public class BankRefundbatController extends BaseController
     // @RequiresPermissions("bank:refundbat:export")
     @Log(title = "批量退还保证金", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, BankRefundbat bankRefundbat)
-    {
+    public void export(HttpServletResponse response, BankRefundbat bankRefundbat) {
         List<BankRefundbat> list = bankRefundbatService.selectBankRefundbatList(bankRefundbat);
         ExcelUtil<BankRefundbat> util = new ExcelUtil<BankRefundbat>(BankRefundbat.class);
         util.exportExcel(response, list, "批量退还保证金数据");
@@ -82,8 +81,7 @@ public class BankRefundbatController extends BaseController
      */
     // @RequiresPermissions("bank:refundbat:query")
     @GetMapping(value = "/{refundbatid}")
-    public AjaxResult getInfo(@PathVariable("refundbatid") String refundbatid)
-    {
+    public AjaxResult getInfo(@PathVariable("refundbatid") String refundbatid) {
         return success(bankRefundbatService.selectBankRefundbatByRefundbatid(refundbatid));
     }
 
@@ -93,8 +91,7 @@ public class BankRefundbatController extends BaseController
     // @RequiresPermissions("bank:refundbat:add")
     @Log(title = "批量退还保证金", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody BankRefundbat bankRefundbat)
-    {
+    public AjaxResult add(@RequestBody BankRefundbat bankRefundbat) {
         BankRefundbat bt = new BankRefundbat();
         // 流水号
         String TRNUID = "BZJB" + System.currentTimeMillis() + (new Random().nextInt(1000) + 1);
@@ -102,7 +99,7 @@ public class BankRefundbatController extends BaseController
         bt.setRefundbatid(UUID.randomUUID().toString(true));
         bt.setTrnuid(TRNUID);
         bt.setPpid(Long.valueOf(115));
-        bt.setIndex("1");
+        bt.setRindex("1");
         bt.setTdrno("7f9f46ef87b8435c9ee9bbc535d99661");
         bt.setRemark("批量退还保证金测试");
 
@@ -114,8 +111,25 @@ public class BankRefundbatController extends BaseController
             bankRefundbatService.insertBankRefundbat(bt);
             update(bt, rtnxml);
             return AjaxResult.success(rtn);
-        }
-        else return AjaxResult.error(rtn);
+        } else return AjaxResult.error(rtn);
+    }
+
+    public AjaxResult addBankRefundbat(BankRefundbat bankRefundbat) {
+        // 流水号
+        String TRNUID = "BZJB" + System.currentTimeMillis() + (new Random().nextInt(1000) + 1);
+
+        bankRefundbat.setRefundbatid(UUID.randomUUID().toString(true));
+        bankRefundbat.setTrnuid(TRNUID);
+
+        String rtnxml = postBank(bankRefundbat);
+
+        String rtn = JsonUtils.getStatus(rtnxml);
+
+        if (rtn.contains("成功")) {
+            bankRefundbatService.insertBankRefundbat(bankRefundbat);
+            update(bankRefundbat, rtnxml);
+            return AjaxResult.success(rtn);
+        } else return AjaxResult.error(rtn);
     }
 
     /**
@@ -124,8 +138,7 @@ public class BankRefundbatController extends BaseController
     // @RequiresPermissions("bank:refundbat:edit")
     @Log(title = "批量退还保证金", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody BankRefundbat bankRefundbat)
-    {
+    public AjaxResult edit(@RequestBody BankRefundbat bankRefundbat) {
         List<BankRefundbat> list = bankRefundbatService.selectBankRefundbatList(bankRefundbat);
         if (list.isEmpty()) return AjaxResult.error("");
         BankRefundbat bt = list.get(0);
@@ -141,22 +154,42 @@ public class BankRefundbatController extends BaseController
         List<BankRefundbat> list = bankRefundbatService.selectBankRefundbatList(bankRefundbat);
         if (list.isEmpty()) return 0;
         BankRefundbat brb = list.get(0);
+        if (brb == null) return 0;
+
+        String delid = brb.getRefundbatid();
+
         brb.setRtnTrnuid(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/TRNUID"));
         brb.setRtnStatus(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/STATUS"));
         brb.setRtnCode(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/STATUS/CODE"));
         brb.setRtnSeverity(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/STATUS/SEVERITY"));
-        brb.setRtnRsbody(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY"));
-        brb.setRtnContent(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/CONTENT"));
-        brb.setRtnIndex(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/CONTENT/INDEX"));
-        brb.setRtnTdrno(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/CONTENT/TDRNO"));
-        brb.setRtnRefundstat(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/CONTENT/REFUNDSTAT"));
-        brb.setRtnRefundmsg(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/CONTENT/REFUNDMSG"));
+
+        String rsbody = JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY");
+        brb.setRtnRsbody(rsbody);
+
         brb.setRtnXferprcsts(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/XFERPRCSTS"));
         brb.setRtnXferprccode(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/XFERPRCSTS/XFERPRCCODE"));
         brb.setRtnDtxferprc(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/XFERPRCSTS/DTXFERPRC"));
         brb.setRtnMessage(JsonUtils.findXML(rtnxml, "FOX/SECURITIES_MSGSRSV1/DEPOSITBATCHREFUNDTRNRS/RSBODY/XFERPRCSTS/MESSAGE"));
 
-        return bankRefundbatService.updateBankRefundbat(brb);
+        bankRefundbatService.updateBankRefundbat(brb);
+
+        ArrayList<String> contentlist = JsonUtils.findContent(rsbody);
+
+        for (int i = 0; i < contentlist.size(); i++) {
+            brb.setRtnContent(JsonUtils.findJson(contentlist.get(i), "CONTENT"));
+            brb.setRtnIndex(JsonUtils.findJson(contentlist.get(i), "CONTENT/INDEX"));
+            brb.setRtnTdrno(JsonUtils.findJson(contentlist.get(i), "TDRNO"));
+            brb.setRtnRefundstat(JsonUtils.findJson(contentlist.get(i), "REFUNDSTAT"));
+            brb.setRtnRefundmsg(JsonUtils.findJson(contentlist.get(i), "REFUNDMSG"));
+
+            brb.setRefundbatid(UUID.randomUUID().toString(true));
+            bankRefundbatService.insertBankRefundbat(brb);
+
+            if (i == (contentlist.size() - 1)) bankRefundbatService.deleteBankRefundbatByRefundbatid(delid);
+        }
+
+        if (contentlist.size() < 1) return 0;
+        else return 1;
     }
 
     private String postBank(BankRefundbat bankRefundbat) {
@@ -176,12 +209,7 @@ public class BankRefundbatController extends BaseController
                 "    <SECURITIES_MSGSRQV1>\n" +
                 "        <DEPOSITBATCHREFUNDTRNRQ>\n" +
                 "            <TRNUID>" + bankRefundbat.getTrnuid() + "</TRNUID>\n" +
-                "            <RQBODY>\n" +
-                "                <CONTENT>\n" +
-                "                   <INDEX>" + bankRefundbat.getIndex() + "</INDEX>\n" +
-                "                   <TDRNO>" + bankRefundbat.getTdrno() + "</TDRNO>\n" +
-                "                   <REMARK>" + bankRefundbat.getRemark() + "</REMARK>\n" +
-                "                </CONTENT>\n" +
+                "            <RQBODY>\n" + bankRefundbat.getRqbody() +
                 "                <TFROUTMD>0</TFROUTMD>\n" +
                 "            </RQBODY>\n" +
                 "        </DEPOSITBATCHREFUNDTRNRQ>\n" +
@@ -197,9 +225,8 @@ public class BankRefundbatController extends BaseController
      */
     // @RequiresPermissions("bank:refundbat:remove")
     @Log(title = "批量退还保证金", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{refundbatids}")
-    public AjaxResult remove(@PathVariable String[] refundbatids)
-    {
+    @DeleteMapping("/{refundbatids}")
+    public AjaxResult remove(@PathVariable String[] refundbatids) {
         return toAjax(bankRefundbatService.deleteBankRefundbatByRefundbatids(refundbatids));
     }
 }

+ 52 - 4
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankTenderpubController.java

@@ -9,9 +9,8 @@ import javax.servlet.http.HttpServletResponse;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.uuid.UUID;
 import com.ruoyi.common.security.annotation.InnerAuth;
-import com.ruoyi.mast.bank.domain.BankDeposit;
-import com.ruoyi.mast.bank.domain.BankDepositdesc;
-import com.ruoyi.mast.bank.domain.BankTenderquery;
+import com.ruoyi.mast.bank.domain.*;
+import com.ruoyi.mast.bank.service.IBankRefundService;
 import com.ruoyi.mast.bank.service.IBankTenderqueryService;
 import com.ruoyi.mast.bank.utils.JsonUtils;
 import com.ruoyi.system.api.RemotePlanService;
@@ -31,7 +30,6 @@ import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
-import com.ruoyi.mast.bank.domain.BankTenderpub;
 import com.ruoyi.mast.bank.service.IBankTenderpubService;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -56,6 +54,12 @@ public class BankTenderpubController extends BaseController {
     @Autowired
     private BankTenderqueryController bankTenderqueryController;
 
+    @Autowired
+    private BankRefundController bankRefundController;
+
+    @Autowired
+    private IBankRefundService bankRefundService;
+
     @Autowired
     private RemotePlanService remotePlanService;
 
@@ -92,6 +96,50 @@ public class BankTenderpubController extends BaseController {
         return getInfo(tenderpubid);
     }
 
+    /**
+     * 查询保证金退款信息
+     *
+     * @param tenderpubid
+     * @return
+     */
+    @RequiresPermissions("bank:tenderpub:query")
+    @GetMapping(value = "/getRefunds/{tenderpubid}")
+    public AjaxResult getRefunds(@PathVariable("tenderpubid") String tenderpubid) {
+        BankTenderpub bankTenderpub = bankTenderpubService.selectBankTenderpubByTenderpubid(tenderpubid);
+        if (bankTenderpub == null) return error("没找到标段发布信息!");
+
+        BankRefund bt = new BankRefund();
+        bt.setPpid(bankTenderpub.getPpid());
+
+        bt.setSgtid(bankTenderpub.getRtnSgtid());
+        bt.setSgtno(bankTenderpub.getRtnSgtno());
+        bt.setPrjno(bankTenderpub.getRtnPrjno());
+        bt.setEntpnm("");
+        bt.setBegdt("");
+        bt.setEnddt("");
+        bt.setPgno("1");
+        //先删除已有数据
+        BankRefund brf = new BankRefund();
+        brf.setSgtid(bt.getSgtid());
+        brf.setSgtno(bt.getSgtno());
+        brf.setPgno(bt.getPgno());
+        List<BankRefund> list = bankRefundService.selectBankRefundList(brf);
+        String[] ids = list.stream().map(BankRefund::getRefundid).toArray(String[]::new);
+        if (ids != null && ids.length > 0) bankRefundService.deleteBankRefundByRefundids(ids);
+        //然后查询银行接口
+        int page = bankRefundController.getPage(bt);
+
+        for (int i = 0; i < page; i++) {
+            bt.setPgno(String.valueOf(i + 1));
+            AjaxResult msg = bankRefundController.addBankRefund(bt);
+            if (!msg.get("msg").toString().contains("成功")) {
+                return AjaxResult.error("保证金退款信息:" + msg.get("msg").toString());
+            }
+        }
+
+        return AjaxResult.success();
+    }
+
     /**
      * 获取标段发布详细信息
      */

+ 16 - 12
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/controller/BankUncleardepositController.java

@@ -90,31 +90,35 @@ public class BankUncleardepositController extends BaseController {
     @Log(title = "查询不明保证金明细", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody BankUncleardeposit bankUncleardeposit) {
-        BankUncleardeposit bt = new BankUncleardeposit();
+        return addBankUncleardeposit(bankUncleardeposit);
+    }
+
+    public AjaxResult addBankUncleardeposit(BankUncleardeposit bankUncleardeposit) {
         // 流水号
         String TRNUID = "BMBZJD" + System.currentTimeMillis() + (new Random().nextInt(1000) + 1);
 
-        bt.setUncleardepositid(UUID.randomUUID().toString(true));
-        bt.setTrnuid(TRNUID);
-        bt.setPpid(Long.valueOf(115));
-        bt.setPage("1");
-        bt.setAcctno("117010100102244796");
-        bt.setCcycd("01");
-        bt.setBegdt("20240828");
-        bt.setEnddt("20240930");
+        bankUncleardeposit.setUncleardepositid(UUID.randomUUID().toString(true));
+        bankUncleardeposit.setTrnuid(TRNUID);
+//        bankUncleardeposit.setPpid(Long.valueOf(115));
+        bankUncleardeposit.setPage("1");
+        bankUncleardeposit.setAcctno(env.getProperty("BANK.ACCTNO"));
+        bankUncleardeposit.setCcycd("01");
+        bankUncleardeposit.setBegdt(bankUncleardeposit.getBegdt().replace("-",""));
+        bankUncleardeposit.setEnddt(bankUncleardeposit.getEnddt().replace("-",""));
 
-        String rtnxml = postBank(bt);
+        String rtnxml = postBank(bankUncleardeposit);
 
         String rtn = JsonUtils.getStatus(rtnxml);
 
         if (rtn.contains("成功")) {
-            bankUncleardepositService.insertBankUncleardeposit(bt);
-            update(bt, rtnxml);
+            bankUncleardepositService.insertBankUncleardeposit(bankUncleardeposit);
+            update(bankUncleardeposit, rtnxml);
             return AjaxResult.success(rtn);
         }
         else return AjaxResult.error(rtn);
     }
 
+
     /**
      * 修改查询不明保证金明细
      */

+ 6 - 6
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/domain/BankRefundbat.java

@@ -35,7 +35,7 @@ public class BankRefundbat extends BaseEntity
 
     /** 投标序号 */
     @Excel(name = "投标序号")
-    private String index;
+    private String rindex;
 
     /** 投标编号 */
     @Excel(name = "投标编号")
@@ -146,14 +146,14 @@ public class BankRefundbat extends BaseEntity
     {
         return content;
     }
-    public void setIndex(String index) 
+    public void setRindex(String rindex)
     {
-        this.index = index;
+        this.rindex = rindex;
     }
 
-    public String getIndex() 
+    public String gettRindex()
     {
-        return index;
+        return rindex;
     }
     public void setTdrno(String tdrno) 
     {
@@ -308,7 +308,7 @@ public class BankRefundbat extends BaseEntity
             .append("trnuid", getTrnuid())
             .append("rqbody", getRqbody())
             .append("content", getContent())
-            .append("index", getIndex())
+            .append("index", gettRindex())
             .append("tdrno", getTdrno())
             .append("remark", getRemark())
             .append("tfroutmd", getTfroutmd())

+ 8 - 0
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/mapper/BankDepositdescMapper.java

@@ -58,4 +58,12 @@ public interface BankDepositdescMapper
      * @return 结果
      */
     public int deleteBankDepositdescByDepositdescids(String[] depositdescids);
+
+    /**
+     * 根据id列表查询实体
+     * @param depositdescids
+     * @return
+     */
+    public List<BankDepositdesc> selectByDepositdescids(String[] depositdescids);
+
 }

+ 7 - 0
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/service/IBankDepositdescService.java

@@ -58,4 +58,11 @@ public interface IBankDepositdescService
      * @return 结果
      */
     public int deleteBankDepositdescByDepositdescid(String depositdescid);
+
+    /**
+     * 根据id列表查询
+     * @param depositdescids
+     * @return
+     */
+    public List<BankDepositdesc> selectByDepositdescids(String[] depositdescids);
 }

+ 9 - 0
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/service/impl/BankDepositdescServiceImpl.java

@@ -90,4 +90,13 @@ public class BankDepositdescServiceImpl implements IBankDepositdescService
     {
         return bankDepositdescMapper.deleteBankDepositdescByDepositdescid(depositdescid);
     }
+
+    /**
+     * 根据id列表查询
+     * @param depositdescids
+     * @return
+     */
+    public List<BankDepositdesc> selectByDepositdescids(String[] depositdescids){
+        return bankDepositdescMapper.selectByDepositdescids(depositdescids);
+    }
 }

+ 12 - 6
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/bank/utils/JsonUtils.java

@@ -11,6 +11,8 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import static org.json.JSONArray.*;
+
 /**
  * Json属性查询
  *
@@ -76,14 +78,18 @@ public class JsonUtils {
      */
     public static ArrayList<String> findContent(String json) {
         JSONObject object = checkJson(json);
-        if(object==null) return new ArrayList<>();
+        if (object == null) return new ArrayList<>();
         ArrayList<String> contents = new ArrayList<>();
         if (!object.has("CONTENT")) return contents;
 
-        JSONArray arr = (JSONArray) object.get("CONTENT");
-
-        for (int i = 0; i < arr.length(); i++) {
-            contents.add(arr.get(i).toString());
+        if(object.get("CONTENT").getClass().isInstance(new JSONArray())){
+            JSONArray arr = (JSONArray) object.get("CONTENT");
+            for (int i = 0; i < arr.length(); i++) {
+                contents.add(arr.get(i).toString());
+            }
+        }else{
+            JSONObject o = (JSONObject) object.get("CONTENT");
+            contents.add(o.toString());
         }
 
         return contents;
@@ -149,7 +155,7 @@ public class JsonUtils {
     }
 
     public static BigDecimal checkBigDecimal(String str) {
-        if("".equals(str)) return BigDecimal.ZERO;
+        if ("".equals(str)) return BigDecimal.ZERO;
         return new BigDecimal(str);
     }
 }

+ 8 - 0
ruoyi-modules/hh-mast/src/main/java/com/ruoyi/mast/project/controller/MastProjectController.java

@@ -109,6 +109,14 @@ public class MastProjectController extends BaseController {
     public AjaxResult add(@RequestBody MastProject mastProject) {
         Long l = remoteUserService.getDeptIdByDictValue(mastProject.getProjCompanyname(), SecurityConstants.INNER);
         mastProject.setOwnerDept(l);
+        MastProject item = new MastProject();
+        item.setProjCompanyname(mastProject.getProjCompanyname());
+        item.setProjYear(mastProject.getProjYear());
+        item.setOwnerDepts("("+l+")");
+        List<MastProject> mastProjects = mastProjectService.selectMastProjectList(item);
+        Integer res = mastProjects.size()+1;
+        String format = String.format("%04d",res);
+        mastProject.setProjNo(format);
         return toAjax(mastProjectService.insertMastProject(mastProject));
     }
 

+ 8 - 0
ruoyi-modules/hh-mast/src/main/resources/mapper/bank/BankDepositdescMapper.xml

@@ -279,6 +279,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from bank_depositdesc where depositdescid = #{depositdescid}
     </delete>
 
+    <select id="selectByDepositdescids" parameterType="String" resultMap="BankDepositdescResult">
+        <include refid="selectBankDepositdescVo"/>
+        where depositdescid in
+        <foreach item="depositdescid" collection="array" open="(" separator="," close=")">
+            #{depositdescid}
+        </foreach>
+    </select>
+
     <delete id="deleteBankDepositdescByDepositdescids" parameterType="String">
         delete from bank_depositdesc where depositdescid in 
         <foreach item="depositdescid" collection="array" open="(" separator="," close=")">

+ 6 - 6
ruoyi-modules/hh-mast/src/main/resources/mapper/bank/BankRefundbatMapper.xml

@@ -10,7 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="trnuid"    column="trnuid"    />
         <result property="rqbody"    column="rqbody"    />
         <result property="content"    column="content"    />
-        <result property="index"    column="index"    />
+        <result property="rindex"    column="rindex"    />
         <result property="tdrno"    column="tdrno"    />
         <result property="remark"    column="remark"    />
         <result property="tfroutmd"    column="tfroutmd"    />
@@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectBankRefundbatVo">
-        select refundbatid, ppid, trnuid, rqbody, content, index, tdrno, remark, tfroutmd, rtn_trnuid, rtn_status, rtn_code, rtn_severity, rtn_rsbody, rtn_content, rtn_index, rtn_tdrno, rtn_refundstat, rtn_refundmsg, rtn_xferprcsts, rtn_xferprccode, rtn_dtxferprc, rtn_message from bank_refundbat
+        select refundbatid, ppid, trnuid, rqbody, content, rindex, tdrno, remark, tfroutmd, rtn_trnuid, rtn_status, rtn_code, rtn_severity, rtn_rsbody, rtn_content, rtn_index, rtn_tdrno, rtn_refundstat, rtn_refundmsg, rtn_xferprcsts, rtn_xferprccode, rtn_dtxferprc, rtn_message from bank_refundbat
     </sql>
 
     <select id="selectBankRefundbatList" parameterType="BankRefundbat" resultMap="BankRefundbatResult">
@@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="ppid != null "> and ppid = #{ppid}</if>
             <if test="rqbody != null  and rqbody != ''"> and rqbody = #{rqbody}</if>
             <if test="content != null  and content != ''"> and content = #{content}</if>
-            <if test="index != null  and index != ''"> and index = #{index}</if>
+            <if test="rindex != null  and rindex != ''"> and rindex = #{rindex}</if>
             <if test="tdrno != null  and tdrno != ''"> and tdrno = #{tdrno}</if>
             <if test="tfroutmd != null  and tfroutmd != ''"> and tfroutmd = #{tfroutmd}</if>
             <if test="rtnTrnuid != null  and rtnTrnuid != ''"> and rtn_trnuid = #{rtnTrnuid}</if>
@@ -73,7 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="trnuid != null">trnuid,</if>
             <if test="rqbody != null">rqbody,</if>
             <if test="content != null">content,</if>
-            <if test="index != null">index,</if>
+            <if test="rindex != null">rindex,</if>
             <if test="tdrno != null">tdrno,</if>
             <if test="remark != null">remark,</if>
             <if test="tfroutmd != null">tfroutmd,</if>
@@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="trnuid != null">#{trnuid},</if>
             <if test="rqbody != null">#{rqbody},</if>
             <if test="content != null">#{content},</if>
-            <if test="index != null">#{index},</if>
+            <if test="rindex != null">#{rindex},</if>
             <if test="tdrno != null">#{tdrno},</if>
             <if test="remark != null">#{remark},</if>
             <if test="tfroutmd != null">#{tfroutmd},</if>
@@ -126,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="trnuid != null">trnuid = #{trnuid},</if>
             <if test="rqbody != null">rqbody = #{rqbody},</if>
             <if test="content != null">content = #{content},</if>
-            <if test="index != null">index = #{index},</if>
+            <if test="rindex != null">rindex = #{rindex},</if>
             <if test="tdrno != null">tdrno = #{tdrno},</if>
             <if test="remark != null">remark = #{remark},</if>
             <if test="tfroutmd != null">tfroutmd = #{tfroutmd},</if>

+ 8 - 0
ruoyi-ui/src/api/bank/tenderpub.js

@@ -50,3 +50,11 @@ export function getInfo(depositid) {
 		method: 'get'
 	})
 }
+
+// 查询保证金退款信息
+export function getRefunds(tenderpubid) {
+	return request({
+		url: '/bank/tenderpub/getRefunds/' + tenderpubid,
+		method: 'get'
+	})
+}

+ 46 - 271
ruoyi-ui/src/views/bank/depositdesc/index.vue

@@ -2,10 +2,10 @@
 	<div class="app-container">
 		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
 				 label-width="68px">
-			<el-form-item label="采购计划" prop="ppid">
+			<el-form-item label="采购公告" prop="ppid">
 				<el-input
 					v-model="queryParams.ppid"
-					placeholder="请输入采购计划id"
+					placeholder="请输入采购公告名称"
 					clearable
 					@keyup.enter.native="handleQuery"
 				/>
@@ -18,15 +18,7 @@
 					@keyup.enter.native="handleQuery"
 				/>
 			</el-form-item>
-			<el-form-item label="报文节点" prop="rqbody">
-				<el-input
-					v-model="queryParams.rqbody"
-					placeholder="请输入报文节点"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="标段id" prop="sgtid">
+			<el-form-item label="标段ID" prop="sgtid">
 				<el-input
 					v-model="queryParams.sgtid"
 					placeholder="请输入标段id"
@@ -34,46 +26,6 @@
 					@keyup.enter.native="handleQuery"
 				/>
 			</el-form-item>
-			<el-form-item label="标段编号" prop="sgtno">
-				<el-input
-					v-model="queryParams.sgtno"
-					placeholder="请输入标段编号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="项目编号" prop="prjno">
-				<el-input
-					v-model="queryParams.prjno"
-					placeholder="请输入项目编号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="核心客户号" prop="pltfmcstno">
-				<el-input
-					v-model="queryParams.pltfmcstno"
-					placeholder="请输入核心客户号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="企业名称" prop="entpnm">
-				<el-input
-					v-model="queryParams.entpnm"
-					placeholder="请输入企业名称"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="租户号" prop="rtnLescstno">
-				<el-input
-					v-model="queryParams.rtnLescstno"
-					placeholder="请输入租户号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
 			<el-form-item label="投标编号" prop="rtnTdrno">
 				<el-input
 					v-model="queryParams.rtnTdrno"
@@ -82,74 +34,10 @@
 					@keyup.enter.native="handleQuery"
 				/>
 			</el-form-item>
-			<el-form-item label="客户编号" prop="rtnCstno">
-				<el-input
-					v-model="queryParams.rtnCstno"
-					placeholder="请输入客户编号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="项目编号" prop="rtnPrjno">
-				<el-input
-					v-model="queryParams.rtnPrjno"
-					placeholder="请输入项目编号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="项目名称" prop="rtnPrjnm">
-				<el-input
-					v-model="queryParams.rtnPrjnm"
-					placeholder="请输入项目名称"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="标段编号" prop="rtnSgtno">
-				<el-input
-					v-model="queryParams.rtnSgtno"
-					placeholder="请输入标段编号"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="标段名称" prop="rtnSgtnm">
-				<el-input
-					v-model="queryParams.rtnSgtnm"
-					placeholder="请输入标段名称"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="投标状态" prop="rtnSgtst">
-				<el-input
-					v-model="queryParams.rtnSgtst"
-					placeholder="请输入投标状态0-未中标1-已中标"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="保证金状态" prop="rtnMrgnst">
-				<el-input
-					v-model="queryParams.rtnMrgnst"
-					placeholder="请输入保证金状态 1-竞标"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="缴纳类型" prop="rtnDuetp">
-				<el-input
-					v-model="queryParams.rtnDuetp"
-					placeholder="请输入缴纳类型0-一般保证金 1- 长期保证金 2-现金3-保函"
-					clearable
-					@keyup.enter.native="handleQuery"
-				/>
-			</el-form-item>
-			<el-form-item label="会员编号" prop="rtnMbrshpno">
+			<el-form-item label="投标账户名称" prop="rtnTdracctnm" label-width="100">
 				<el-input
-					v-model="queryParams.rtnMbrshpno"
-					placeholder="请输入会员编号"
+					v-model="queryParams.rtnTdracctnm"
+					placeholder="投标账户名称"
 					clearable
 					@keyup.enter.native="handleQuery"
 				/>
@@ -165,11 +53,23 @@
 				<el-button
 					type="primary"
 					plain
+					icon="el-icon-delete"
+					size="mini"
+					:disabled="multiple"
+					@click="handleDelete"
+					v-hasPermi="['bank:depositdesc:remove']"
+				>批量退还保证金
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="danger"
+					plain
 					icon="el-icon-plus"
 					size="mini"
 					@click="handleAdd"
 					v-hasPermi="['bank:depositdesc:add']"
-				>新增
+				>非原路退还保证金
 				</el-button>
 			</el-col>
 			<el-col :span="1.5">
@@ -181,21 +81,10 @@
 					:disabled="single"
 					@click="handleUpdate"
 					v-hasPermi="['bank:depositdesc:edit']"
+					v-if="false"
 				>修改
 				</el-button>
 			</el-col>
-			<el-col :span="1.5">
-				<el-button
-					type="danger"
-					plain
-					icon="el-icon-delete"
-					size="mini"
-					:disabled="multiple"
-					@click="handleDelete"
-					v-hasPermi="['bank:depositdesc:remove']"
-				>删除
-				</el-button>
-			</el-col>
 			<el-col :span="1.5">
 				<el-button
 					type="warning"
@@ -204,7 +93,8 @@
 					size="mini"
 					@click="handleExport"
 					v-hasPermi="['bank:depositdesc:export']"
-				>批量退还保证金
+					v-if="false"
+				>
 				</el-button>
 			</el-col>
 			<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -216,31 +106,31 @@
 			<el-table-column label="采购公告" align="center" prop="ppid"/>
 			<el-table-column label="银行流水" align="center" prop="trnuid" v-if="false"/>
 			<el-table-column label="报文节点" align="center" prop="rqbody" v-if="false"/>
-			<el-table-column label="标段ID" align="center" prop="sgtid"/>
+			<el-table-column label="标段ID" align="center" prop="sgtid" width="150"/>
 			<el-table-column label="标段编号" align="center" prop="sgtno" v-if="false"/>
 			<el-table-column label="项目编号" align="center" prop="prjno" v-if="false"/>
 			<el-table-column label="核心客户号" align="center" prop="pltfmcstno" v-if="false"/>
 			<el-table-column label="企业名称" align="center" prop="entpnm" v-if="false"/>
 			<el-table-column label="页码不输默认查询第一页" align="center" prop="pgno" v-if="false"/>
 			<el-table-column label="版本号" align="center" prop="version" v-if="false"/>
-			<el-table-column label="银行流水" align="center" prop="rtnTrnuid"/>
+			<el-table-column label="银行流水" align="center" prop="rtnTrnuid" width="150"/>
 			<el-table-column label="交易处理状态" align="center" prop="rtnStatus" v-if="false"/>
 			<el-table-column label="处理结果码" align="center" prop="rtnCode" v-if="false"/>
-			<el-table-column label="处理结果等级" align="center" prop="rtnSeverity">
+			<el-table-column label="结果等级" align="center" prop="rtnSeverity">
 				<template slot-scope="scope">
 					<el-tag type="info" v-if="scope.row.rtnSeverity.toLowerCase() === 'info'">info</el-tag>
 					<el-tag type="warning" v-if="scope.row.rtnSeverity.toLowerCase() === 'warn'">warn</el-tag>
 					<el-tag type="danger" v-if="scope.row.rtnSeverity.toLowerCase() === 'error'">error</el-tag>
 				</template>
 			</el-table-column>
-			<el-table-column label="处理信息描述" align="center" prop="rtnMessage"/>
+			<el-table-column label="处理结果" align="center" prop="rtnMessage" width="100"/>
 			<el-table-column label="报文节点" align="center" prop="rtnRsbody" v-if="false"/>
 			<el-table-column label="记录总数" align="center" prop="rtnRcrdtotnum" v-if="false"/>
 			<el-table-column label="当前页码" align="center" prop="rtnCrnpgno" v-if="false"/>
 			<el-table-column label="每页记录数" align="center" prop="rtnPgrcrdnum" v-if="false"/>
 			<el-table-column label="总页数" align="center" prop="rtnTotpgnum" v-if="false"/>
 			<el-table-column label="明细报文标识" align="center" prop="rtnContent" v-if="false"/>
-			<el-table-column label="租户号" align="center" prop="rtnLescstno"/>
+			<el-table-column label="租户号" align="center" prop="rtnLescstno" v-if="false"/>
 			<el-table-column label="投标编号" align="center" prop="rtnTdrno"/>
 			<el-table-column label="客户编号" align="center" prop="rtnCstno"/>
 			<el-table-column label="项目编号" align="center" prop="rtnPrjno"/>
@@ -271,7 +161,7 @@
 			<el-table-column label="会员编号" align="center" prop="rtnMbrshpno" v-if="false"/>
 			<el-table-column label="服务费" align="center" prop="rtnSvcfee"/>
 			<el-table-column label="交易附言" align="center" prop="rtnRemark"/>
-			<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+			<el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="false">
 				<template slot-scope="scope">
 					<el-button
 						size="mini"
@@ -303,145 +193,30 @@
 
 		<!-- 添加或修改查询保证金入账明细对话框 -->
 		<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-			<el-form ref="form" :model="form" :rules="rules" label-width="80px">
-				<el-form-item label="采购计划id" prop="ppid">
-					<el-input v-model="form.ppid" placeholder="请输入采购计划id"/>
-				</el-form-item>
-				<el-form-item label="客户端交易的唯一流水号建议值为yyyymmdd+序号" prop="trnuid">
-					<el-input v-model="form.trnuid" placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"/>
-				</el-form-item>
-				<el-form-item label="报文节点" prop="rqbody">
-					<el-input v-model="form.rqbody" placeholder="请输入报文节点"/>
-				</el-form-item>
-				<el-form-item label="标段id" prop="sgtid">
-					<el-input v-model="form.sgtid" placeholder="请输入标段id"/>
-				</el-form-item>
-				<el-form-item label="标段编号" prop="sgtno">
-					<el-input v-model="form.sgtno" placeholder="请输入标段编号"/>
-				</el-form-item>
-				<el-form-item label="项目编号" prop="prjno">
-					<el-input v-model="form.prjno" placeholder="请输入项目编号"/>
-				</el-form-item>
-				<el-form-item label="核心客户号" prop="pltfmcstno">
-					<el-input v-model="form.pltfmcstno" placeholder="请输入核心客户号"/>
-				</el-form-item>
-				<el-form-item label="企业名称" prop="entpnm">
-					<el-input v-model="form.entpnm" placeholder="请输入企业名称"/>
-				</el-form-item>
-				<el-form-item label="页码不输默认查询第一页" prop="pgno">
-					<el-input v-model="form.pgno" placeholder="请输入页码不输默认查询第一页"/>
-				</el-form-item>
-				<el-form-item label="版本号" prop="version">
-					<el-input v-model="form.version" placeholder="请输入版本号"/>
-				</el-form-item>
-				<el-form-item label="客户端交易的唯一标志" prop="rtnTrnuid">
-					<el-input v-model="form.rtnTrnuid" placeholder="请输入客户端交易的唯一标志"/>
-				</el-form-item>
-				<el-form-item label="处理结果码" prop="rtnCode">
-					<el-input v-model="form.rtnCode" placeholder="请输入处理结果码"/>
-				</el-form-item>
-				<el-form-item label="处理结果等级(info/warn/error)" prop="rtnSeverity">
-					<el-input v-model="form.rtnSeverity" placeholder="请输入处理结果等级(info/warn/error)"/>
-				</el-form-item>
-				<el-form-item label="处理信息描述" prop="rtnMessage">
-					<el-input v-model="form.rtnMessage" type="textarea" placeholder="请输入内容"/>
-				</el-form-item>
-				<el-form-item label="报文节点" prop="rtnRsbody">
-					<el-input v-model="form.rtnRsbody" placeholder="请输入报文节点"/>
-				</el-form-item>
-				<el-form-item label="记录总数" prop="rtnRcrdtotnum">
-					<el-input v-model="form.rtnRcrdtotnum" placeholder="请输入记录总数"/>
-				</el-form-item>
-				<el-form-item label="当前页码" prop="rtnCrnpgno">
-					<el-input v-model="form.rtnCrnpgno" placeholder="请输入当前页码"/>
-				</el-form-item>
-				<el-form-item label="每页记录数" prop="rtnPgrcrdnum">
-					<el-input v-model="form.rtnPgrcrdnum" placeholder="请输入每页记录数"/>
-				</el-form-item>
-				<el-form-item label="总页数" prop="rtnTotpgnum">
-					<el-input v-model="form.rtnTotpgnum" placeholder="请输入总页数"/>
-				</el-form-item>
-				<el-form-item label="明细报文标识">
-					<editor v-model="form.rtnContent" :min-height="192"/>
-				</el-form-item>
-				<el-form-item label="租户号" prop="rtnLescstno">
-					<el-input v-model="form.rtnLescstno" placeholder="请输入租户号"/>
-				</el-form-item>
-				<el-form-item label="投标编号" prop="rtnTdrno">
-					<el-input v-model="form.rtnTdrno" placeholder="请输入投标编号"/>
-				</el-form-item>
-				<el-form-item label="客户编号" prop="rtnCstno">
-					<el-input v-model="form.rtnCstno" placeholder="请输入客户编号"/>
-				</el-form-item>
-				<el-form-item label="项目编号" prop="rtnPrjno">
-					<el-input v-model="form.rtnPrjno" placeholder="请输入项目编号"/>
-				</el-form-item>
-				<el-form-item label="项目名称" prop="rtnPrjnm">
-					<el-input v-model="form.rtnPrjnm" placeholder="请输入项目名称"/>
-				</el-form-item>
-				<el-form-item label="标段编号" prop="rtnSgtno">
-					<el-input v-model="form.rtnSgtno" placeholder="请输入标段编号"/>
-				</el-form-item>
-				<el-form-item label="标段名称" prop="rtnSgtnm">
-					<el-input v-model="form.rtnSgtnm" placeholder="请输入标段名称"/>
-				</el-form-item>
-				<el-form-item label="投标状态0-未中标1-已中标" prop="rtnSgtst">
-					<el-input v-model="form.rtnSgtst" placeholder="请输入投标状态0-未中标1-已中标"/>
-				</el-form-item>
-				<el-form-item label="保证金状态 1-竞标" prop="rtnMrgnst">
-					<el-input v-model="form.rtnMrgnst" placeholder="请输入保证金状态 1-竞标"/>
-				</el-form-item>
-				<el-form-item label="投标账号" prop="rtnTdracctno">
-					<el-input v-model="form.rtnTdracctno" placeholder="请输入投标账号"/>
-				</el-form-item>
-				<el-form-item label="投标账号币种01-人民币" prop="rtnTdracctnoccycd">
-					<el-input v-model="form.rtnTdracctnoccycd" placeholder="请输入投标账号币种01-人民币"/>
-				</el-form-item>
-				<el-form-item label="投标账户名称" prop="rtnTdracctnm">
-					<el-input v-model="form.rtnTdracctnm" placeholder="请输入投标账户名称"/>
-				</el-form-item>
-				<el-form-item label="投标账号行号" prop="rtnTdracctnobnkno">
-					<el-input v-model="form.rtnTdracctnobnkno" placeholder="请输入投标账号行号"/>
-				</el-form-item>
-				<el-form-item label="投标账号行名" prop="rtnTdracctnobnknm">
-					<el-input v-model="form.rtnTdracctnobnknm" placeholder="请输入投标账号行名"/>
-				</el-form-item>
-				<el-form-item label="投标数量" prop="rtnTdrnum">
-					<el-input v-model="form.rtnTdrnum" placeholder="请输入投标数量"/>
-				</el-form-item>
-				<el-form-item label="保证金金额 double" prop="rtnMrgnamt">
-					<el-input v-model="form.rtnMrgnamt" placeholder="请输入保证金金额 double"/>
-				</el-form-item>
-				<el-form-item label="中标金额 double" prop="rtnTdramt">
-					<el-input v-model="form.rtnTdramt" placeholder="请输入中标金额 double"/>
-				</el-form-item>
-				<el-form-item label="代理服务费 double" prop="rtnAgncsvcfee">
-					<el-input v-model="form.rtnAgncsvcfee" placeholder="请输入代理服务费 double"/>
-				</el-form-item>
-				<el-form-item label="冻结金额 double" prop="rtnFrzamt">
-					<el-input v-model="form.rtnFrzamt" placeholder="请输入冻结金额 double"/>
+			<el-form ref="form" :model="form" :rules="rules" label-width="100px">
+				<el-form-item label="投标编号" prop="tenderId">
+					<el-input v-model="form.tenderId" placeholder="请输入投标编号" />
 				</el-form-item>
-				<el-form-item label="罚没金额 double" prop="rtnFineamt">
-					<el-input v-model="form.rtnFineamt" placeholder="请输入罚没金额 double"/>
+				<el-form-item label="收款账号" prop="acctNo">
+					<el-input v-model="form.acctNo" placeholder="请输入收款账号" />
 				</el-form-item>
-				<el-form-item label="投标日期yyyymmdd" prop="rtnTdrdt">
-					<el-input v-model="form.rtnTdrdt" placeholder="请输入投标日期yyyymmdd"/>
+				<el-form-item label="收款户名" prop="acctName">
+					<el-input v-model="form.acctName" placeholder="请输入收款户名" />
 				</el-form-item>
-				<el-form-item label="投标时间hhmmss" prop="rtnTdrtm">
-					<el-input v-model="form.rtnTdrtm" placeholder="请输入投标时间hhmmss"/>
+				<el-form-item label="收款账户类型" prop="acctType">
+					单位账户
 				</el-form-item>
-				<el-form-item label="缴纳类型0-一般保证金 1- 长期保证金 2-现金3-保函" prop="rtnDuetp">
-					<el-input v-model="form.rtnDuetp"
-							  placeholder="请输入缴纳类型0-一般保证金 1- 长期保证金 2-现金3-保函"/>
+				<el-form-item label="收款行号" prop="bankNo">
+					<el-input v-model="form.bankNo" placeholder="请输入收款行号" />
 				</el-form-item>
-				<el-form-item label="会员编号" prop="rtnMbrshpno">
-					<el-input v-model="form.rtnMbrshpno" placeholder="请输入会员编号"/>
+				<el-form-item label="收款行名" prop="bankName">
+					<el-input v-model="form.bankName" placeholder="请输入收款行名" />
 				</el-form-item>
-				<el-form-item label="服务费 double" prop="rtnSvcfee">
-					<el-input v-model="form.rtnSvcfee" placeholder="请输入服务费 double"/>
+				<el-form-item label="退款备注" prop="remark">
+					<el-input v-model="form.remark" placeholder="请输入退款备注" />
 				</el-form-item>
-				<el-form-item label="交易附言" prop="rtnRemark">
-					<el-input v-model="form.rtnRemark" placeholder="请输入交易附言"/>
+				<el-form-item label="退款类型" prop="remark">
+					本息退还
 				</el-form-item>
 			</el-form>
 			<div slot="footer" class="dialog-footer">
@@ -640,7 +415,7 @@ export default {
 		handleAdd() {
 			this.reset();
 			this.open = true;
-			this.title = "添加查询保证金入账明细";
+			this.title = "非原路退还保证金【申请】";
 		},
 		/** 修改按钮操作 */
 		handleUpdate(row) {

+ 729 - 690
ruoyi-ui/src/views/bank/refund/index.vue

@@ -1,702 +1,741 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="采购计划" prop="ppid">
-        <el-input
-          v-model="queryParams.ppid"
-          placeholder="请输入采购计划id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="流水号" prop="trnuid">
-        <el-input
-          v-model="queryParams.trnuid"
-          placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="企业名称" prop="entpnm">
-        <el-input
-          v-model="queryParams.entpnm"
-          placeholder="请输入企业名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="处理结果等级" prop="rtnSeverity" label-width="70">
-        <el-input
-          v-model="queryParams.rtnSeverity"
-          placeholder="请输入处理结果等级(info/warn/error)"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="租户号" prop="rtnLsecstno">
-        <el-input
-          v-model="queryParams.rtnLsecstno"
-          placeholder="请输入租户号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="客户号" prop="rtnCstno">
-        <el-input
-          v-model="queryParams.rtnCstno"
-          placeholder="请输入客户号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="标段id" prop="rtnSgtid">
-        <el-input
-          v-model="queryParams.rtnSgtid"
-          placeholder="请输入标段id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="标段编号" prop="rtnSgtno">
-        <el-input
-          v-model="queryParams.rtnSgtno"
-          placeholder="请输入标段编号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="标段名称" prop="rtnSgtnm">
-        <el-input
-          v-model="queryParams.rtnSgtnm"
-          placeholder="请输入标段名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="投标编号" prop="rtnTdrno">
-        <el-input
-          v-model="queryParams.rtnTdrno"
-          placeholder="请输入投标编号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="项目编号" prop="rtnPrjno">
-        <el-input
-          v-model="queryParams.rtnPrjno"
-          placeholder="请输入项目编号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="项目名称" prop="rtnPrjnm">
-        <el-input
-          v-model="queryParams.rtnPrjnm"
-          placeholder="请输入项目名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="退款状态" prop="rtnRfndst">
-        <el-input
-          v-model="queryParams.rtnRfndst"
-          placeholder="请输入退款状态5-退款成功7-退款失败3-退款处理中"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="退回类型" prop="rtnBcktp">
-        <el-input
-          v-model="queryParams.rtnBcktp"
-          placeholder="请输入退回类型0-一般保证金1-长期保证金2-现金3-保函"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="退款方式" prop="rtnTfroutmd">
-        <el-input
-          v-model="queryParams.rtnTfroutmd"
-          placeholder="请输入退款方式0-本金退还 1-本息退还"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
+	<div class="app-container">
+		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+				 label-width="68px">
+			<el-form-item label="采购计划" prop="ppid">
+				<el-input
+					v-model="queryParams.ppid"
+					placeholder="请输入采购计划id"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="流水号" prop="trnuid">
+				<el-input
+					v-model="queryParams.trnuid"
+					placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="企业名称" prop="entpnm">
+				<el-input
+					v-model="queryParams.entpnm"
+					placeholder="请输入企业名称"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="处理结果等级" prop="rtnSeverity" label-width="70">
+				<el-input
+					v-model="queryParams.rtnSeverity"
+					placeholder="请输入处理结果等级(info/warn/error)"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="租户号" prop="rtnLsecstno">
+				<el-input
+					v-model="queryParams.rtnLsecstno"
+					placeholder="请输入租户号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="客户号" prop="rtnCstno">
+				<el-input
+					v-model="queryParams.rtnCstno"
+					placeholder="请输入客户号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="标段id" prop="rtnSgtid">
+				<el-input
+					v-model="queryParams.rtnSgtid"
+					placeholder="请输入标段id"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="标段编号" prop="rtnSgtno">
+				<el-input
+					v-model="queryParams.rtnSgtno"
+					placeholder="请输入标段编号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="标段名称" prop="rtnSgtnm">
+				<el-input
+					v-model="queryParams.rtnSgtnm"
+					placeholder="请输入标段名称"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="投标编号" prop="rtnTdrno">
+				<el-input
+					v-model="queryParams.rtnTdrno"
+					placeholder="请输入投标编号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="项目编号" prop="rtnPrjno">
+				<el-input
+					v-model="queryParams.rtnPrjno"
+					placeholder="请输入项目编号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="项目名称" prop="rtnPrjnm">
+				<el-input
+					v-model="queryParams.rtnPrjnm"
+					placeholder="请输入项目名称"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="退款状态" prop="rtnRfndst">
+				<el-input
+					v-model="queryParams.rtnRfndst"
+					placeholder="请输入退款状态5-退款成功7-退款失败3-退款处理中"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="退回类型" prop="rtnBcktp">
+				<el-input
+					v-model="queryParams.rtnBcktp"
+					placeholder="请输入退回类型0-一般保证金1-长期保证金2-现金3-保函"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="退款方式" prop="rtnTfroutmd">
+				<el-input
+					v-model="queryParams.rtnTfroutmd"
+					placeholder="请输入退款方式0-本金退还 1-本息退还"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item>
+				<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+				<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+			</el-form-item>
+		</el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['bank:refund:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['bank:refund:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['bank:refund:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['bank:refund:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+		<el-row :gutter="10" class="mb8">
+			<el-col :span="1.5">
+				<el-button
+					type="primary"
+					plain
+					icon="el-icon-plus"
+					size="mini"
+					@click="handleAdd"
+					v-hasPermi="['bank:refund:add']"
+				>新增
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="success"
+					plain
+					icon="el-icon-edit"
+					size="mini"
+					:disabled="single"
+					@click="handleUpdate"
+					v-hasPermi="['bank:refund:edit']"
+				>修改
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="danger"
+					plain
+					icon="el-icon-delete"
+					size="mini"
+					:disabled="multiple"
+					@click="handleDelete"
+					v-hasPermi="['bank:refund:remove']"
+				>删除
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="warning"
+					plain
+					icon="el-icon-download"
+					size="mini"
+					@click="handleExport"
+					v-hasPermi="['bank:refund:export']"
+				>导出
+				</el-button>
+			</el-col>
+			<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+		</el-row>
 
-    <el-table v-loading="loading" :data="refundList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="查询保证金退款信息id" align="center" prop="refundid" />
-      <el-table-column label="采购计划id" align="center" prop="ppid" />
-      <el-table-column label="客户端交易的唯一流水号建议值为yyyymmdd+序号" align="center" prop="trnuid" />
-      <el-table-column label="报文节点" align="center" prop="rqbody" />
-      <el-table-column label="标段id" align="center" prop="sgtid" />
-      <el-table-column label="标段编号" align="center" prop="sgtno" />
-      <el-table-column label="项目编号" align="center" prop="prjno" />
-      <el-table-column label="企业名称" align="center" prop="entpnm" />
-      <el-table-column label="开始日期yyyymmdd" align="center" prop="begdt" />
-      <el-table-column label="结束日期yyyymmdd" align="center" prop="enddt" />
-      <el-table-column label="页码不输默认查询第一页" align="center" prop="pgno" />
-      <el-table-column label="客户端交易的唯一标志" align="center" prop="rtnTrnuid" />
-      <el-table-column label="交易处理状态" align="center" prop="rtnStatus" />
-      <el-table-column label="处理结果码" align="center" prop="rtnCode" />
-      <el-table-column label="处理结果等级(info/warn/error)" align="center" prop="rtnSeverity" />
-      <el-table-column label="处理信息描述" align="center" prop="rtnMessage" />
-      <el-table-column label="报文节点" align="center" prop="rtnRsbody" />
-      <el-table-column label="记录总数" align="center" prop="rtnRcrdtotnum" />
-      <el-table-column label="当前页码" align="center" prop="rtnCrnpgno" />
-      <el-table-column label="每页记录数" align="center" prop="rtnPgrcrdnum" />
-      <el-table-column label="总页数" align="center" prop="rtnTotpgnum" />
-      <el-table-column label="明细报文标识" align="center" prop="rtnContent" />
-      <el-table-column label="租户号" align="center" prop="rtnLsecstno" />
-      <el-table-column label="客户号" align="center" prop="rtnCstno" />
-      <el-table-column label="标段id" align="center" prop="rtnSgtid" />
-      <el-table-column label="标段编号" align="center" prop="rtnSgtno" />
-      <el-table-column label="标段名称" align="center" prop="rtnSgtnm" />
-      <el-table-column label="投标编号" align="center" prop="rtnTdrno" />
-      <el-table-column label="项目编号" align="center" prop="rtnPrjno" />
-      <el-table-column label="项目名称" align="center" prop="rtnPrjnm" />
-      <el-table-column label="退款状态5-退款成功7-退款失败3-退款处理中" align="center" prop="rtnRfndst" />
-      <el-table-column label="投标账号" align="center" prop="rtnTdracctno" />
-      <el-table-column label="投标账号币种01-人民币" align="center" prop="rtnTdracctnoccycd" />
-      <el-table-column label="投标账户名称" align="center" prop="rtnTdracctnm" />
-      <el-table-column label="投标账号行号" align="center" prop="rtnTdracctnobnkno" />
-      <el-table-column label="投标账号行名" align="center" prop="rtnTdracctnobnknm" />
-      <el-table-column label="投标数量" align="center" prop="rtnTdrnum" />
-      <el-table-column label="保证金金额 double" align="center" prop="rtnMrgnamt" />
-      <el-table-column label="服务费 double" align="center" prop="rtnSvcfee" />
-      <el-table-column label="冻结金额 double" align="center" prop="rtnFrzamt" />
-      <el-table-column label="罚没金额 double" align="center" prop="rtnFineamt" />
-      <el-table-column label="退款日期yyyymmdd" align="center" prop="rtnRfnddt" />
-      <el-table-column label="退款时间hhmmss" align="center" prop="rtnRfndtm" />
-      <el-table-column label="交易流水号(标)" align="center" prop="rtnTxnseqnos" />
-      <el-table-column label="退回类型0-一般保证金1-长期保证金2-现金3-保函" align="center" prop="rtnBcktp" />
-      <el-table-column label="退款方式0-本金退还 1-本息退还" align="center" prop="rtnTfroutmd" />
-      <el-table-column label="退款时收款账号" align="center" prop="rtnTfroutacctno" />
-      <el-table-column label="退款时收款币种01-人民币" align="center" prop="rtnTfroutccycd" />
-      <el-table-column label="退款时收款账户名称" align="center" prop="rtnTfroutacctnm" />
-      <el-table-column label="退款时收款行行号" align="center" prop="rtnTfroutbnkno" />
-      <el-table-column label="退款时收款行行名" align="center" prop="rtnTfroutbnknm" />
-      <el-table-column label="退款金额 double" align="center" prop="rtnRfndamt" />
-      <el-table-column label="退款本金 double" align="center" prop="rtnRfndpnp" />
-      <el-table-column label="应收手续费 double" align="center" prop="rtnRcvblpcdfee" />
-      <el-table-column label="实收手续费 double" align="center" prop="rtnActrcvpcdfee" />
-      <el-table-column label="应付利息 double" align="center" prop="rtnPyblint" />
-      <el-table-column label="实付利息 double" align="center" prop="rtnActpymtint" />
-      <el-table-column label="退款处理意见" align="center" prop="rtnRfnddealopnn" />
-      <el-table-column label="退款处理信息" align="center" prop="rtnRfnddealinf" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['bank:refund:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['bank:refund:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+		<el-table v-loading="loading" :data="refundList" @selection-change="handleSelectionChange">
+			<el-table-column type="selection" width="55" align="center"/>
+			<el-table-column label="查询保证金退款信息id" align="center" prop="refundid" v-if="false"/>
+			<el-table-column label="采购公告" align="center" prop="ppid"/>
+			<el-table-column label="银行流水" align="center" prop="trnuid" v-if="false"/>
+			<el-table-column label="报文节点" align="center" prop="rqbody" v-if="false"/>
+			<el-table-column label="标段id" align="center" prop="sgtid"/>
+			<el-table-column label="标段编号" align="center" prop="sgtno"/>
+			<el-table-column label="项目编号" align="center" prop="prjno"/>
+			<el-table-column label="企业名称" align="center" prop="entpnm"/>
+			<el-table-column label="开始日期" align="center" prop="begdt" v-if="false"/>
+			<el-table-column label="结束日期yyyymmdd" align="center" prop="enddt" v-if="false"/>
+			<el-table-column label="页码不输默认查询第一页" align="center" prop="pgno" v-if="false"/>
+			<el-table-column label="银行流水" align="center" prop="rtnTrnuid"/>
+			<el-table-column label="交易处理状态" align="center" prop="rtnStatus" v-if="false"/>
+			<el-table-column label="处理结果码" align="center" prop="rtnCode" v-if="false"/>
+			<el-table-column label="处理结果等级" align="center" prop="rtnSeverity">
+				<template slot-scope="scope">
+					<el-tag type="info" v-if="scope.row.rtnSeverity.toLowerCase() === 'info'">info</el-tag>
+					<el-tag type="warning" v-if="scope.row.rtnSeverity.toLowerCase() === 'warn'">warn</el-tag>
+					<el-tag type="danger" v-if="scope.row.rtnSeverity.toLowerCase() === 'error'">error</el-tag>
+				</template>
+			</el-table-column>
+			<el-table-column label="处理信息描述" align="center" prop="rtnMessage"/>
+			<el-table-column label="报文节点" align="center" prop="rtnRsbody" v-if="false"/>
+			<el-table-column label="记录总数" align="center" prop="rtnRcrdtotnum"/>
+			<el-table-column label="当前页码" align="center" prop="rtnCrnpgno"/>
+			<el-table-column label="每页记录数" align="center" prop="rtnPgrcrdnum"/>
+			<el-table-column label="总页数" align="center" prop="rtnTotpgnum"/>
+			<el-table-column label="明细报文标识" align="center" prop="rtnContent"/>
+			<el-table-column label="租户号" align="center" prop="rtnLsecstno"/>
+			<el-table-column label="客户号" align="center" prop="rtnCstno"/>
+			<el-table-column label="标段ID" align="center" prop="rtnSgtid"/>
+			<el-table-column label="标段编号" align="center" prop="rtnSgtno"/>
+			<el-table-column label="标段名称" align="center" prop="rtnSgtnm"/>
+			<el-table-column label="投标编号" align="center" prop="rtnTdrno"/>
+			<el-table-column label="项目编号" align="center" prop="rtnPrjno"/>
+			<el-table-column label="项目名称" align="center" prop="rtnPrjnm"/>
+			<el-table-column label="退款状态" align="center" prop="rtnRfndst">
+				<template slot-scope="scope">
+					<el-tag type="info" v-if="scope.row.rtnRfndst === '5'">退款成功</el-tag>
+					<el-tag type="warning" v-if="scope.row.rtnRfndst === '7'">退款失败</el-tag>
+					<el-tag type="danger" v-if="scope.row.rtnRfndst === '3'">退款处理中</el-tag>
+				</template>
+			</el-table-column>
+			<el-table-column label="投标账号" align="center" prop="rtnTdracctno"/>
+			<el-table-column label="投标账号币种01-人民币" align="center" prop="rtnTdracctnoccycd" v-if="false"/>
+			<el-table-column label="投标账户名称" align="center" prop="rtnTdracctnm"/>
+			<el-table-column label="投标账号行号" align="center" prop="rtnTdracctnobnkno"/>
+			<el-table-column label="投标账号行名" align="center" prop="rtnTdracctnobnknm"/>
+			<el-table-column label="投标数量" align="center" prop="rtnTdrnum"/>
+			<el-table-column label="保证金金额" align="center" prop="rtnMrgnamt"/>
+			<el-table-column label="服务费 double" align="center" prop="rtnSvcfee" v-if="false"/>
+			<el-table-column label="冻结金额 double" align="center" prop="rtnFrzamt" v-if="false"/>
+			<el-table-column label="罚没金额 double" align="center" prop="rtnFineamt" v-if="false"/>
+			<el-table-column label="退款日期" align="center" prop="rtnRfnddt">
+				<template slot-scope="scope">
+					{{ scope.row.rtnRfnddt + "-" + scope.row.rtnRfndtm }}
+				</template>
+			</el-table-column>
+			<el-table-column label="退款时间hhmmss" align="center" prop="rtnRfndtm" v-if="false"/>
+			<el-table-column label="交易流水号(标)" align="center" prop="rtnTxnseqnos"/>
+			<el-table-column label="退回类型" align="center" prop="rtnBcktp">
+				<template slot-scope="scope">
+					<el-tag type="info" v-if="scope.row.rtnBcktp === '0'">一般保证金</el-tag>
+					<el-tag type="warning" v-if="scope.row.rtnBcktp === '1'">长期保证金</el-tag>
+					<el-tag type="danger" v-if="scope.row.rtnBcktp === '2'">现金</el-tag>
+					<el-tag type="danger" v-if="scope.row.rtnBcktp === '3'">保函</el-tag>
+				</template>
+			</el-table-column>
+			<el-table-column label="退款方式" align="center" prop="rtnTfroutmd">
+				<template slot-scope="scope">
+					<el-tag type="info" v-if="scope.row.rtnTfroutmd === '0'">本金退还</el-tag>
+					<el-tag type="warning" v-if="scope.row.rtnTfroutmd === '1'">本息退还</el-tag>
+				</template>
+			</el-table-column>
+			<el-table-column label="退款时收款账号" align="center" prop="rtnTfroutacctno"/>
+			<el-table-column label="退款时收款币种01-人民币" align="center" prop="rtnTfroutccycd" v-if="false"/>
+			<el-table-column label="退款时收款账户名称" align="center" prop="rtnTfroutacctnm"/>
+			<el-table-column label="退款时收款行行号" align="center" prop="rtnTfroutbnkno"/>
+			<el-table-column label="退款时收款行行名" align="center" prop="rtnTfroutbnknm"/>
+			<el-table-column label="退款金额" align="center" prop="rtnRfndamt"/>
+			<el-table-column label="退款本金" align="center" prop="rtnRfndpnp"/>
+			<el-table-column label="应收手续费 double" align="center" prop="rtnRcvblpcdfee" v-if="false"/>
+			<el-table-column label="实收手续费 double" align="center" prop="rtnActrcvpcdfee" v-if="false"/>
+			<el-table-column label="应付利息 double" align="center" prop="rtnPyblint" v-if="false"/>
+			<el-table-column label="实付利息 double" align="center" prop="rtnActpymtint" v-if="false"/>
+			<el-table-column label="退款处理意见" align="center" prop="rtnRfnddealopnn"/>
+			<el-table-column label="退款处理信息" align="center" prop="rtnRfnddealinf"/>
+			<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+				<template slot-scope="scope">
+					<el-button
+						size="mini"
+						type="text"
+						icon="el-icon-edit"
+						@click="handleUpdate(scope.row)"
+						v-hasPermi="['bank:refund:edit']"
+					>修改
+					</el-button>
+					<el-button
+						size="mini"
+						type="text"
+						icon="el-icon-delete"
+						@click="handleDelete(scope.row)"
+						v-hasPermi="['bank:refund:remove']"
+					>删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+		<pagination
+			v-show="total>0"
+			:total="total"
+			:page.sync="queryParams.pageNum"
+			:limit.sync="queryParams.pageSize"
+			@pagination="getList"
+		/>
 
-    <!-- 添加或修改查询保证金退款信息对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="采购计划id" prop="ppid">
-          <el-input v-model="form.ppid" placeholder="请输入采购计划id" />
-        </el-form-item>
-        <el-form-item label="客户端交易的唯一流水号建议值为yyyymmdd+序号" prop="trnuid">
-          <el-input v-model="form.trnuid" placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号" />
-        </el-form-item>
-        <el-form-item label="报文节点" prop="rqbody">
-          <el-input v-model="form.rqbody" placeholder="请输入报文节点" />
-        </el-form-item>
-        <el-form-item label="标段id" prop="sgtid">
-          <el-input v-model="form.sgtid" placeholder="请输入标段id" />
-        </el-form-item>
-        <el-form-item label="标段编号" prop="sgtno">
-          <el-input v-model="form.sgtno" placeholder="请输入标段编号" />
-        </el-form-item>
-        <el-form-item label="项目编号" prop="prjno">
-          <el-input v-model="form.prjno" placeholder="请输入项目编号" />
-        </el-form-item>
-        <el-form-item label="企业名称" prop="entpnm">
-          <el-input v-model="form.entpnm" placeholder="请输入企业名称" />
-        </el-form-item>
-        <el-form-item label="开始日期yyyymmdd" prop="begdt">
-          <el-input v-model="form.begdt" placeholder="请输入开始日期yyyymmdd" />
-        </el-form-item>
-        <el-form-item label="结束日期yyyymmdd" prop="enddt">
-          <el-input v-model="form.enddt" placeholder="请输入结束日期yyyymmdd" />
-        </el-form-item>
-        <el-form-item label="页码不输默认查询第一页" prop="pgno">
-          <el-input v-model="form.pgno" placeholder="请输入页码不输默认查询第一页" />
-        </el-form-item>
-        <el-form-item label="客户端交易的唯一标志" prop="rtnTrnuid">
-          <el-input v-model="form.rtnTrnuid" placeholder="请输入客户端交易的唯一标志" />
-        </el-form-item>
-        <el-form-item label="处理结果码" prop="rtnCode">
-          <el-input v-model="form.rtnCode" placeholder="请输入处理结果码" />
-        </el-form-item>
-        <el-form-item label="处理结果等级(info/warn/error)" prop="rtnSeverity">
-          <el-input v-model="form.rtnSeverity" placeholder="请输入处理结果等级(info/warn/error)" />
-        </el-form-item>
-        <el-form-item label="处理信息描述" prop="rtnMessage">
-          <el-input v-model="form.rtnMessage" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="报文节点" prop="rtnRsbody">
-          <el-input v-model="form.rtnRsbody" placeholder="请输入报文节点" />
-        </el-form-item>
-        <el-form-item label="记录总数" prop="rtnRcrdtotnum">
-          <el-input v-model="form.rtnRcrdtotnum" placeholder="请输入记录总数" />
-        </el-form-item>
-        <el-form-item label="当前页码" prop="rtnCrnpgno">
-          <el-input v-model="form.rtnCrnpgno" placeholder="请输入当前页码" />
-        </el-form-item>
-        <el-form-item label="每页记录数" prop="rtnPgrcrdnum">
-          <el-input v-model="form.rtnPgrcrdnum" placeholder="请输入每页记录数" />
-        </el-form-item>
-        <el-form-item label="总页数" prop="rtnTotpgnum">
-          <el-input v-model="form.rtnTotpgnum" placeholder="请输入总页数" />
-        </el-form-item>
-        <el-form-item label="明细报文标识">
-          <editor v-model="form.rtnContent" :min-height="192"/>
-        </el-form-item>
-        <el-form-item label="租户号" prop="rtnLsecstno">
-          <el-input v-model="form.rtnLsecstno" placeholder="请输入租户号" />
-        </el-form-item>
-        <el-form-item label="客户号" prop="rtnCstno">
-          <el-input v-model="form.rtnCstno" placeholder="请输入客户号" />
-        </el-form-item>
-        <el-form-item label="标段id" prop="rtnSgtid">
-          <el-input v-model="form.rtnSgtid" placeholder="请输入标段id" />
-        </el-form-item>
-        <el-form-item label="标段编号" prop="rtnSgtno">
-          <el-input v-model="form.rtnSgtno" placeholder="请输入标段编号" />
-        </el-form-item>
-        <el-form-item label="标段名称" prop="rtnSgtnm">
-          <el-input v-model="form.rtnSgtnm" placeholder="请输入标段名称" />
-        </el-form-item>
-        <el-form-item label="投标编号" prop="rtnTdrno">
-          <el-input v-model="form.rtnTdrno" placeholder="请输入投标编号" />
-        </el-form-item>
-        <el-form-item label="项目编号" prop="rtnPrjno">
-          <el-input v-model="form.rtnPrjno" placeholder="请输入项目编号" />
-        </el-form-item>
-        <el-form-item label="项目名称" prop="rtnPrjnm">
-          <el-input v-model="form.rtnPrjnm" placeholder="请输入项目名称" />
-        </el-form-item>
-        <el-form-item label="退款状态5-退款成功7-退款失败3-退款处理中" prop="rtnRfndst">
-          <el-input v-model="form.rtnRfndst" placeholder="请输入退款状态5-退款成功7-退款失败3-退款处理中" />
-        </el-form-item>
-        <el-form-item label="投标账号" prop="rtnTdracctno">
-          <el-input v-model="form.rtnTdracctno" placeholder="请输入投标账号" />
-        </el-form-item>
-        <el-form-item label="投标账号币种01-人民币" prop="rtnTdracctnoccycd">
-          <el-input v-model="form.rtnTdracctnoccycd" placeholder="请输入投标账号币种01-人民币" />
-        </el-form-item>
-        <el-form-item label="投标账户名称" prop="rtnTdracctnm">
-          <el-input v-model="form.rtnTdracctnm" placeholder="请输入投标账户名称" />
-        </el-form-item>
-        <el-form-item label="投标账号行号" prop="rtnTdracctnobnkno">
-          <el-input v-model="form.rtnTdracctnobnkno" placeholder="请输入投标账号行号" />
-        </el-form-item>
-        <el-form-item label="投标账号行名" prop="rtnTdracctnobnknm">
-          <el-input v-model="form.rtnTdracctnobnknm" placeholder="请输入投标账号行名" />
-        </el-form-item>
-        <el-form-item label="投标数量" prop="rtnTdrnum">
-          <el-input v-model="form.rtnTdrnum" placeholder="请输入投标数量" />
-        </el-form-item>
-        <el-form-item label="保证金金额 double" prop="rtnMrgnamt">
-          <el-input v-model="form.rtnMrgnamt" placeholder="请输入保证金金额 double" />
-        </el-form-item>
-        <el-form-item label="服务费 double" prop="rtnSvcfee">
-          <el-input v-model="form.rtnSvcfee" placeholder="请输入服务费 double" />
-        </el-form-item>
-        <el-form-item label="冻结金额 double" prop="rtnFrzamt">
-          <el-input v-model="form.rtnFrzamt" placeholder="请输入冻结金额 double" />
-        </el-form-item>
-        <el-form-item label="罚没金额 double" prop="rtnFineamt">
-          <el-input v-model="form.rtnFineamt" placeholder="请输入罚没金额 double" />
-        </el-form-item>
-        <el-form-item label="退款日期yyyymmdd" prop="rtnRfnddt">
-          <el-input v-model="form.rtnRfnddt" placeholder="请输入退款日期yyyymmdd" />
-        </el-form-item>
-        <el-form-item label="退款时间hhmmss" prop="rtnRfndtm">
-          <el-input v-model="form.rtnRfndtm" placeholder="请输入退款时间hhmmss" />
-        </el-form-item>
-        <el-form-item label="交易流水号(标)" prop="rtnTxnseqnos">
-          <el-input v-model="form.rtnTxnseqnos" placeholder="请输入交易流水号(标)" />
-        </el-form-item>
-        <el-form-item label="退回类型0-一般保证金1-长期保证金2-现金3-保函" prop="rtnBcktp">
-          <el-input v-model="form.rtnBcktp" placeholder="请输入退回类型0-一般保证金1-长期保证金2-现金3-保函" />
-        </el-form-item>
-        <el-form-item label="退款方式0-本金退还 1-本息退还" prop="rtnTfroutmd">
-          <el-input v-model="form.rtnTfroutmd" placeholder="请输入退款方式0-本金退还 1-本息退还" />
-        </el-form-item>
-        <el-form-item label="退款时收款账号" prop="rtnTfroutacctno">
-          <el-input v-model="form.rtnTfroutacctno" placeholder="请输入退款时收款账号" />
-        </el-form-item>
-        <el-form-item label="退款时收款币种01-人民币" prop="rtnTfroutccycd">
-          <el-input v-model="form.rtnTfroutccycd" placeholder="请输入退款时收款币种01-人民币" />
-        </el-form-item>
-        <el-form-item label="退款时收款账户名称" prop="rtnTfroutacctnm">
-          <el-input v-model="form.rtnTfroutacctnm" placeholder="请输入退款时收款账户名称" />
-        </el-form-item>
-        <el-form-item label="退款时收款行行号" prop="rtnTfroutbnkno">
-          <el-input v-model="form.rtnTfroutbnkno" placeholder="请输入退款时收款行行号" />
-        </el-form-item>
-        <el-form-item label="退款时收款行行名" prop="rtnTfroutbnknm">
-          <el-input v-model="form.rtnTfroutbnknm" placeholder="请输入退款时收款行行名" />
-        </el-form-item>
-        <el-form-item label="退款金额 double" prop="rtnRfndamt">
-          <el-input v-model="form.rtnRfndamt" placeholder="请输入退款金额 double" />
-        </el-form-item>
-        <el-form-item label="退款本金 double" prop="rtnRfndpnp">
-          <el-input v-model="form.rtnRfndpnp" placeholder="请输入退款本金 double" />
-        </el-form-item>
-        <el-form-item label="应收手续费 double" prop="rtnRcvblpcdfee">
-          <el-input v-model="form.rtnRcvblpcdfee" placeholder="请输入应收手续费 double" />
-        </el-form-item>
-        <el-form-item label="实收手续费 double" prop="rtnActrcvpcdfee">
-          <el-input v-model="form.rtnActrcvpcdfee" placeholder="请输入实收手续费 double" />
-        </el-form-item>
-        <el-form-item label="应付利息 double" prop="rtnPyblint">
-          <el-input v-model="form.rtnPyblint" placeholder="请输入应付利息 double" />
-        </el-form-item>
-        <el-form-item label="实付利息 double" prop="rtnActpymtint">
-          <el-input v-model="form.rtnActpymtint" placeholder="请输入实付利息 double" />
-        </el-form-item>
-        <el-form-item label="退款处理意见" prop="rtnRfnddealopnn">
-          <el-input v-model="form.rtnRfnddealopnn" placeholder="请输入退款处理意见" />
-        </el-form-item>
-        <el-form-item label="退款处理信息" prop="rtnRfnddealinf">
-          <el-input v-model="form.rtnRfnddealinf" placeholder="请输入退款处理信息" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
+		<!-- 添加或修改查询保证金退款信息对话框 -->
+		<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+			<el-form ref="form" :model="form" :rules="rules" label-width="80px">
+				<el-form-item label="采购计划id" prop="ppid">
+					<el-input v-model="form.ppid" placeholder="请输入采购计划id"/>
+				</el-form-item>
+				<el-form-item label="客户端交易的唯一流水号建议值为yyyymmdd+序号" prop="trnuid">
+					<el-input v-model="form.trnuid" placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"/>
+				</el-form-item>
+				<el-form-item label="报文节点" prop="rqbody">
+					<el-input v-model="form.rqbody" placeholder="请输入报文节点"/>
+				</el-form-item>
+				<el-form-item label="标段id" prop="sgtid">
+					<el-input v-model="form.sgtid" placeholder="请输入标段id"/>
+				</el-form-item>
+				<el-form-item label="标段编号" prop="sgtno">
+					<el-input v-model="form.sgtno" placeholder="请输入标段编号"/>
+				</el-form-item>
+				<el-form-item label="项目编号" prop="prjno">
+					<el-input v-model="form.prjno" placeholder="请输入项目编号"/>
+				</el-form-item>
+				<el-form-item label="企业名称" prop="entpnm">
+					<el-input v-model="form.entpnm" placeholder="请输入企业名称"/>
+				</el-form-item>
+				<el-form-item label="开始日期yyyymmdd" prop="begdt">
+					<el-input v-model="form.begdt" placeholder="请输入开始日期yyyymmdd"/>
+				</el-form-item>
+				<el-form-item label="结束日期yyyymmdd" prop="enddt">
+					<el-input v-model="form.enddt" placeholder="请输入结束日期yyyymmdd"/>
+				</el-form-item>
+				<el-form-item label="页码不输默认查询第一页" prop="pgno">
+					<el-input v-model="form.pgno" placeholder="请输入页码不输默认查询第一页"/>
+				</el-form-item>
+				<el-form-item label="客户端交易的唯一标志" prop="rtnTrnuid">
+					<el-input v-model="form.rtnTrnuid" placeholder="请输入客户端交易的唯一标志"/>
+				</el-form-item>
+				<el-form-item label="处理结果码" prop="rtnCode">
+					<el-input v-model="form.rtnCode" placeholder="请输入处理结果码"/>
+				</el-form-item>
+				<el-form-item label="处理结果等级(info/warn/error)" prop="rtnSeverity">
+					<el-input v-model="form.rtnSeverity" placeholder="请输入处理结果等级(info/warn/error)"/>
+				</el-form-item>
+				<el-form-item label="处理信息描述" prop="rtnMessage">
+					<el-input v-model="form.rtnMessage" type="textarea" placeholder="请输入内容"/>
+				</el-form-item>
+				<el-form-item label="报文节点" prop="rtnRsbody">
+					<el-input v-model="form.rtnRsbody" placeholder="请输入报文节点"/>
+				</el-form-item>
+				<el-form-item label="记录总数" prop="rtnRcrdtotnum">
+					<el-input v-model="form.rtnRcrdtotnum" placeholder="请输入记录总数"/>
+				</el-form-item>
+				<el-form-item label="当前页码" prop="rtnCrnpgno">
+					<el-input v-model="form.rtnCrnpgno" placeholder="请输入当前页码"/>
+				</el-form-item>
+				<el-form-item label="每页记录数" prop="rtnPgrcrdnum">
+					<el-input v-model="form.rtnPgrcrdnum" placeholder="请输入每页记录数"/>
+				</el-form-item>
+				<el-form-item label="总页数" prop="rtnTotpgnum">
+					<el-input v-model="form.rtnTotpgnum" placeholder="请输入总页数"/>
+				</el-form-item>
+				<el-form-item label="明细报文标识">
+					<editor v-model="form.rtnContent" :min-height="192"/>
+				</el-form-item>
+				<el-form-item label="租户号" prop="rtnLsecstno">
+					<el-input v-model="form.rtnLsecstno" placeholder="请输入租户号"/>
+				</el-form-item>
+				<el-form-item label="客户号" prop="rtnCstno">
+					<el-input v-model="form.rtnCstno" placeholder="请输入客户号"/>
+				</el-form-item>
+				<el-form-item label="标段id" prop="rtnSgtid">
+					<el-input v-model="form.rtnSgtid" placeholder="请输入标段id"/>
+				</el-form-item>
+				<el-form-item label="标段编号" prop="rtnSgtno">
+					<el-input v-model="form.rtnSgtno" placeholder="请输入标段编号"/>
+				</el-form-item>
+				<el-form-item label="标段名称" prop="rtnSgtnm">
+					<el-input v-model="form.rtnSgtnm" placeholder="请输入标段名称"/>
+				</el-form-item>
+				<el-form-item label="投标编号" prop="rtnTdrno">
+					<el-input v-model="form.rtnTdrno" placeholder="请输入投标编号"/>
+				</el-form-item>
+				<el-form-item label="项目编号" prop="rtnPrjno">
+					<el-input v-model="form.rtnPrjno" placeholder="请输入项目编号"/>
+				</el-form-item>
+				<el-form-item label="项目名称" prop="rtnPrjnm">
+					<el-input v-model="form.rtnPrjnm" placeholder="请输入项目名称"/>
+				</el-form-item>
+				<el-form-item label="退款状态5-退款成功7-退款失败3-退款处理中" prop="rtnRfndst">
+					<el-input v-model="form.rtnRfndst" placeholder="请输入退款状态5-退款成功7-退款失败3-退款处理中"/>
+				</el-form-item>
+				<el-form-item label="投标账号" prop="rtnTdracctno">
+					<el-input v-model="form.rtnTdracctno" placeholder="请输入投标账号"/>
+				</el-form-item>
+				<el-form-item label="投标账号币种01-人民币" prop="rtnTdracctnoccycd">
+					<el-input v-model="form.rtnTdracctnoccycd" placeholder="请输入投标账号币种01-人民币"/>
+				</el-form-item>
+				<el-form-item label="投标账户名称" prop="rtnTdracctnm">
+					<el-input v-model="form.rtnTdracctnm" placeholder="请输入投标账户名称"/>
+				</el-form-item>
+				<el-form-item label="投标账号行号" prop="rtnTdracctnobnkno">
+					<el-input v-model="form.rtnTdracctnobnkno" placeholder="请输入投标账号行号"/>
+				</el-form-item>
+				<el-form-item label="投标账号行名" prop="rtnTdracctnobnknm">
+					<el-input v-model="form.rtnTdracctnobnknm" placeholder="请输入投标账号行名"/>
+				</el-form-item>
+				<el-form-item label="投标数量" prop="rtnTdrnum">
+					<el-input v-model="form.rtnTdrnum" placeholder="请输入投标数量"/>
+				</el-form-item>
+				<el-form-item label="保证金金额 double" prop="rtnMrgnamt">
+					<el-input v-model="form.rtnMrgnamt" placeholder="请输入保证金金额 double"/>
+				</el-form-item>
+				<el-form-item label="服务费 double" prop="rtnSvcfee">
+					<el-input v-model="form.rtnSvcfee" placeholder="请输入服务费 double"/>
+				</el-form-item>
+				<el-form-item label="冻结金额 double" prop="rtnFrzamt">
+					<el-input v-model="form.rtnFrzamt" placeholder="请输入冻结金额 double"/>
+				</el-form-item>
+				<el-form-item label="罚没金额 double" prop="rtnFineamt">
+					<el-input v-model="form.rtnFineamt" placeholder="请输入罚没金额 double"/>
+				</el-form-item>
+				<el-form-item label="退款日期yyyymmdd" prop="rtnRfnddt">
+					<el-input v-model="form.rtnRfnddt" placeholder="请输入退款日期yyyymmdd"/>
+				</el-form-item>
+				<el-form-item label="退款时间hhmmss" prop="rtnRfndtm">
+					<el-input v-model="form.rtnRfndtm" placeholder="请输入退款时间hhmmss"/>
+				</el-form-item>
+				<el-form-item label="交易流水号(标)" prop="rtnTxnseqnos">
+					<el-input v-model="form.rtnTxnseqnos" placeholder="请输入交易流水号(标)"/>
+				</el-form-item>
+				<el-form-item label="退回类型0-一般保证金1-长期保证金2-现金3-保函" prop="rtnBcktp">
+					<el-input v-model="form.rtnBcktp" placeholder="请输入退回类型0-一般保证金1-长期保证金2-现金3-保函"/>
+				</el-form-item>
+				<el-form-item label="退款方式0-本金退还 1-本息退还" prop="rtnTfroutmd">
+					<el-input v-model="form.rtnTfroutmd" placeholder="请输入退款方式0-本金退还 1-本息退还"/>
+				</el-form-item>
+				<el-form-item label="退款时收款账号" prop="rtnTfroutacctno">
+					<el-input v-model="form.rtnTfroutacctno" placeholder="请输入退款时收款账号"/>
+				</el-form-item>
+				<el-form-item label="退款时收款币种01-人民币" prop="rtnTfroutccycd">
+					<el-input v-model="form.rtnTfroutccycd" placeholder="请输入退款时收款币种01-人民币"/>
+				</el-form-item>
+				<el-form-item label="退款时收款账户名称" prop="rtnTfroutacctnm">
+					<el-input v-model="form.rtnTfroutacctnm" placeholder="请输入退款时收款账户名称"/>
+				</el-form-item>
+				<el-form-item label="退款时收款行行号" prop="rtnTfroutbnkno">
+					<el-input v-model="form.rtnTfroutbnkno" placeholder="请输入退款时收款行行号"/>
+				</el-form-item>
+				<el-form-item label="退款时收款行行名" prop="rtnTfroutbnknm">
+					<el-input v-model="form.rtnTfroutbnknm" placeholder="请输入退款时收款行行名"/>
+				</el-form-item>
+				<el-form-item label="退款金额 double" prop="rtnRfndamt">
+					<el-input v-model="form.rtnRfndamt" placeholder="请输入退款金额 double"/>
+				</el-form-item>
+				<el-form-item label="退款本金 double" prop="rtnRfndpnp">
+					<el-input v-model="form.rtnRfndpnp" placeholder="请输入退款本金 double"/>
+				</el-form-item>
+				<el-form-item label="应收手续费 double" prop="rtnRcvblpcdfee">
+					<el-input v-model="form.rtnRcvblpcdfee" placeholder="请输入应收手续费 double"/>
+				</el-form-item>
+				<el-form-item label="实收手续费 double" prop="rtnActrcvpcdfee">
+					<el-input v-model="form.rtnActrcvpcdfee" placeholder="请输入实收手续费 double"/>
+				</el-form-item>
+				<el-form-item label="应付利息 double" prop="rtnPyblint">
+					<el-input v-model="form.rtnPyblint" placeholder="请输入应付利息 double"/>
+				</el-form-item>
+				<el-form-item label="实付利息 double" prop="rtnActpymtint">
+					<el-input v-model="form.rtnActpymtint" placeholder="请输入实付利息 double"/>
+				</el-form-item>
+				<el-form-item label="退款处理意见" prop="rtnRfnddealopnn">
+					<el-input v-model="form.rtnRfnddealopnn" placeholder="请输入退款处理意见"/>
+				</el-form-item>
+				<el-form-item label="退款处理信息" prop="rtnRfnddealinf">
+					<el-input v-model="form.rtnRfnddealinf" placeholder="请输入退款处理信息"/>
+				</el-form-item>
+			</el-form>
+			<div slot="footer" class="dialog-footer">
+				<el-button type="primary" @click="submitForm">确 定</el-button>
+				<el-button @click="cancel">取 消</el-button>
+			</div>
+		</el-dialog>
+	</div>
 </template>
 
 <script>
-import { listRefund, getRefund, delRefund, addRefund, updateRefund } from "@/api/bank/refund";
+import {listRefund, getRefund, delRefund, addRefund, updateRefund} from "@/api/bank/refund";
 
 export default {
-  name: "Refund",
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 查询保证金退款信息表格数据
-      refundList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        ppid: null,
-        trnuid: null,
-        rqbody: null,
-        sgtid: null,
-        sgtno: null,
-        prjno: null,
-        entpnm: null,
-        begdt: null,
-        enddt: null,
-        pgno: null,
-        rtnTrnuid: null,
-        rtnStatus: null,
-        rtnCode: null,
-        rtnSeverity: null,
-        rtnMessage: null,
-        rtnRsbody: null,
-        rtnRcrdtotnum: null,
-        rtnCrnpgno: null,
-        rtnPgrcrdnum: null,
-        rtnTotpgnum: null,
-        rtnContent: null,
-        rtnLsecstno: null,
-        rtnCstno: null,
-        rtnSgtid: null,
-        rtnSgtno: null,
-        rtnSgtnm: null,
-        rtnTdrno: null,
-        rtnPrjno: null,
-        rtnPrjnm: null,
-        rtnRfndst: null,
-        rtnTdracctno: null,
-        rtnTdracctnoccycd: null,
-        rtnTdracctnm: null,
-        rtnTdracctnobnkno: null,
-        rtnTdracctnobnknm: null,
-        rtnTdrnum: null,
-        rtnMrgnamt: null,
-        rtnSvcfee: null,
-        rtnFrzamt: null,
-        rtnFineamt: null,
-        rtnRfnddt: null,
-        rtnRfndtm: null,
-        rtnTxnseqnos: null,
-        rtnBcktp: null,
-        rtnTfroutmd: null,
-        rtnTfroutacctno: null,
-        rtnTfroutccycd: null,
-        rtnTfroutacctnm: null,
-        rtnTfroutbnkno: null,
-        rtnTfroutbnknm: null,
-        rtnRfndamt: null,
-        rtnRfndpnp: null,
-        rtnRcvblpcdfee: null,
-        rtnActrcvpcdfee: null,
-        rtnPyblint: null,
-        rtnActpymtint: null,
-        rtnRfnddealopnn: null,
-        rtnRfnddealinf: null
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-        ppid: [
-          { required: true, message: "采购计划id不能为空", trigger: "blur" }
-        ],
-        trnuid: [
-          { required: true, message: "客户端交易的唯一流水号建议值为yyyymmdd+序号不能为空", trigger: "blur" }
-        ],
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询查询保证金退款信息列表 */
-    getList() {
-      this.loading = true;
-      listRefund(this.queryParams).then(response => {
-        this.refundList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        refundid: null,
-        ppid: null,
-        trnuid: null,
-        rqbody: null,
-        sgtid: null,
-        sgtno: null,
-        prjno: null,
-        entpnm: null,
-        begdt: null,
-        enddt: null,
-        pgno: null,
-        rtnTrnuid: null,
-        rtnStatus: null,
-        rtnCode: null,
-        rtnSeverity: null,
-        rtnMessage: null,
-        rtnRsbody: null,
-        rtnRcrdtotnum: null,
-        rtnCrnpgno: null,
-        rtnPgrcrdnum: null,
-        rtnTotpgnum: null,
-        rtnContent: null,
-        rtnLsecstno: null,
-        rtnCstno: null,
-        rtnSgtid: null,
-        rtnSgtno: null,
-        rtnSgtnm: null,
-        rtnTdrno: null,
-        rtnPrjno: null,
-        rtnPrjnm: null,
-        rtnRfndst: null,
-        rtnTdracctno: null,
-        rtnTdracctnoccycd: null,
-        rtnTdracctnm: null,
-        rtnTdracctnobnkno: null,
-        rtnTdracctnobnknm: null,
-        rtnTdrnum: null,
-        rtnMrgnamt: null,
-        rtnSvcfee: null,
-        rtnFrzamt: null,
-        rtnFineamt: null,
-        rtnRfnddt: null,
-        rtnRfndtm: null,
-        rtnTxnseqnos: null,
-        rtnBcktp: null,
-        rtnTfroutmd: null,
-        rtnTfroutacctno: null,
-        rtnTfroutccycd: null,
-        rtnTfroutacctnm: null,
-        rtnTfroutbnkno: null,
-        rtnTfroutbnknm: null,
-        rtnRfndamt: null,
-        rtnRfndpnp: null,
-        rtnRcvblpcdfee: null,
-        rtnActrcvpcdfee: null,
-        rtnPyblint: null,
-        rtnActpymtint: null,
-        rtnRfnddealopnn: null,
-        rtnRfnddealinf: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.refundid)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加查询保证金退款信息";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const refundid = row.refundid || this.ids
-      getRefund(refundid).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改查询保证金退款信息";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.refundid != null) {
-            updateRefund(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addRefund(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const refundids = row.refundid || this.ids;
-      this.$modal.confirm('是否确认删除查询保证金退款信息编号为"' + refundids + '"的数据项?').then(function() {
-        return delRefund(refundids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('bank/refund/export', {
-        ...this.queryParams
-      }, `refund_${new Date().getTime()}.xlsx`)
-    }
-  }
+	name: "Refund",
+	data() {
+		return {
+			// 遮罩层
+			loading: true,
+			// 选中数组
+			ids: [],
+			// 非单个禁用
+			single: true,
+			// 非多个禁用
+			multiple: true,
+			// 显示搜索条件
+			showSearch: true,
+			// 总条数
+			total: 0,
+			// 查询保证金退款信息表格数据
+			refundList: [],
+			// 弹出层标题
+			title: "",
+			// 是否显示弹出层
+			open: false,
+			// 查询参数
+			queryParams: {
+				pageNum: 1,
+				pageSize: 10,
+				ppid: null,
+				trnuid: null,
+				rqbody: null,
+				sgtid: null,
+				sgtno: null,
+				prjno: null,
+				entpnm: null,
+				begdt: null,
+				enddt: null,
+				pgno: null,
+				rtnTrnuid: null,
+				rtnStatus: null,
+				rtnCode: null,
+				rtnSeverity: null,
+				rtnMessage: null,
+				rtnRsbody: null,
+				rtnRcrdtotnum: null,
+				rtnCrnpgno: null,
+				rtnPgrcrdnum: null,
+				rtnTotpgnum: null,
+				rtnContent: null,
+				rtnLsecstno: null,
+				rtnCstno: null,
+				rtnSgtid: null,
+				rtnSgtno: null,
+				rtnSgtnm: null,
+				rtnTdrno: null,
+				rtnPrjno: null,
+				rtnPrjnm: null,
+				rtnRfndst: null,
+				rtnTdracctno: null,
+				rtnTdracctnoccycd: null,
+				rtnTdracctnm: null,
+				rtnTdracctnobnkno: null,
+				rtnTdracctnobnknm: null,
+				rtnTdrnum: null,
+				rtnMrgnamt: null,
+				rtnSvcfee: null,
+				rtnFrzamt: null,
+				rtnFineamt: null,
+				rtnRfnddt: null,
+				rtnRfndtm: null,
+				rtnTxnseqnos: null,
+				rtnBcktp: null,
+				rtnTfroutmd: null,
+				rtnTfroutacctno: null,
+				rtnTfroutccycd: null,
+				rtnTfroutacctnm: null,
+				rtnTfroutbnkno: null,
+				rtnTfroutbnknm: null,
+				rtnRfndamt: null,
+				rtnRfndpnp: null,
+				rtnRcvblpcdfee: null,
+				rtnActrcvpcdfee: null,
+				rtnPyblint: null,
+				rtnActpymtint: null,
+				rtnRfnddealopnn: null,
+				rtnRfnddealinf: null
+			},
+			// 表单参数
+			form: {},
+			// 表单校验
+			rules: {
+				ppid: [
+					{required: true, message: "采购计划id不能为空", trigger: "blur"}
+				],
+				trnuid: [
+					{required: true, message: "客户端交易的唯一流水号建议值为yyyymmdd+序号不能为空", trigger: "blur"}
+				],
+			}
+		};
+	},
+	created() {
+		this.getList();
+	},
+	methods: {
+		/** 查询查询保证金退款信息列表 */
+		getList() {
+			this.loading = true;
+			listRefund(this.queryParams).then(response => {
+				this.refundList = response.rows;
+				this.total = response.total;
+				this.loading = false;
+			});
+		},
+		// 取消按钮
+		cancel() {
+			this.open = false;
+			this.reset();
+		},
+		// 表单重置
+		reset() {
+			this.form = {
+				refundid: null,
+				ppid: null,
+				trnuid: null,
+				rqbody: null,
+				sgtid: null,
+				sgtno: null,
+				prjno: null,
+				entpnm: null,
+				begdt: null,
+				enddt: null,
+				pgno: null,
+				rtnTrnuid: null,
+				rtnStatus: null,
+				rtnCode: null,
+				rtnSeverity: null,
+				rtnMessage: null,
+				rtnRsbody: null,
+				rtnRcrdtotnum: null,
+				rtnCrnpgno: null,
+				rtnPgrcrdnum: null,
+				rtnTotpgnum: null,
+				rtnContent: null,
+				rtnLsecstno: null,
+				rtnCstno: null,
+				rtnSgtid: null,
+				rtnSgtno: null,
+				rtnSgtnm: null,
+				rtnTdrno: null,
+				rtnPrjno: null,
+				rtnPrjnm: null,
+				rtnRfndst: null,
+				rtnTdracctno: null,
+				rtnTdracctnoccycd: null,
+				rtnTdracctnm: null,
+				rtnTdracctnobnkno: null,
+				rtnTdracctnobnknm: null,
+				rtnTdrnum: null,
+				rtnMrgnamt: null,
+				rtnSvcfee: null,
+				rtnFrzamt: null,
+				rtnFineamt: null,
+				rtnRfnddt: null,
+				rtnRfndtm: null,
+				rtnTxnseqnos: null,
+				rtnBcktp: null,
+				rtnTfroutmd: null,
+				rtnTfroutacctno: null,
+				rtnTfroutccycd: null,
+				rtnTfroutacctnm: null,
+				rtnTfroutbnkno: null,
+				rtnTfroutbnknm: null,
+				rtnRfndamt: null,
+				rtnRfndpnp: null,
+				rtnRcvblpcdfee: null,
+				rtnActrcvpcdfee: null,
+				rtnPyblint: null,
+				rtnActpymtint: null,
+				rtnRfnddealopnn: null,
+				rtnRfnddealinf: null
+			};
+			this.resetForm("form");
+		},
+		/** 搜索按钮操作 */
+		handleQuery() {
+			this.queryParams.pageNum = 1;
+			this.getList();
+		},
+		/** 重置按钮操作 */
+		resetQuery() {
+			this.resetForm("queryForm");
+			this.handleQuery();
+		},
+		// 多选框选中数据
+		handleSelectionChange(selection) {
+			this.ids = selection.map(item => item.refundid)
+			this.single = selection.length !== 1
+			this.multiple = !selection.length
+		},
+		/** 新增按钮操作 */
+		handleAdd() {
+			this.reset();
+			this.open = true;
+			this.title = "添加查询保证金退款信息";
+		},
+		/** 修改按钮操作 */
+		handleUpdate(row) {
+			this.reset();
+			const refundid = row.refundid || this.ids
+			getRefund(refundid).then(response => {
+				this.form = response.data;
+				this.open = true;
+				this.title = "修改查询保证金退款信息";
+			});
+		},
+		/** 提交按钮 */
+		submitForm() {
+			this.$refs["form"].validate(valid => {
+				if (valid) {
+					if (this.form.refundid != null) {
+						updateRefund(this.form).then(response => {
+							this.$modal.msgSuccess("修改成功");
+							this.open = false;
+							this.getList();
+						});
+					} else {
+						addRefund(this.form).then(response => {
+							this.$modal.msgSuccess("新增成功");
+							this.open = false;
+							this.getList();
+						});
+					}
+				}
+			});
+		},
+		/** 删除按钮操作 */
+		handleDelete(row) {
+			const refundids = row.refundid || this.ids;
+			this.$modal.confirm('是否确认删除查询保证金退款信息编号为"' + refundids + '"的数据项?').then(function () {
+				return delRefund(refundids);
+			}).then(() => {
+				this.getList();
+				this.$modal.msgSuccess("删除成功");
+			}).catch(() => {
+			});
+		},
+		/** 导出按钮操作 */
+		handleExport() {
+			this.download('bank/refund/export', {
+				...this.queryParams
+			}, `refund_${new Date().getTime()}.xlsx`)
+		},
+		formatDate(dateStr, timeStr) {
+			return dateStr.substring(0, 4) + "-" + dateStr.substring(4, 6) + "-" + dateStr.substring(6, 8) + " " + timeStr.substring(0, 2) + ":" + timeStr.substring(2, 4) + ":" + timeStr.substring(4, 6)
+		}
+	}
 };
 </script>

+ 26 - 15
ruoyi-ui/src/views/bank/refundbat/index.vue

@@ -135,28 +135,39 @@
 
     <el-table v-loading="loading" :data="refundbatList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="${comment}" align="center" prop="refundbatid" />
-      <el-table-column label="采购计划id" align="center" prop="ppid" />
-      <el-table-column label="客户端交易的唯一流水号建议值为yyyymmdd+序号" align="center" prop="trnuid" />
-      <el-table-column label="报文节点" align="center" prop="rqbody" />
-      <el-table-column label="投标id集合信息数组报文节点" align="center" prop="content" />
+      <el-table-column label="${comment}" align="center" prop="refundbatid" v-if="false"/>
+      <el-table-column label="采购公告" align="center" prop="ppid" />
+      <el-table-column label="银行流水" align="center" prop="trnuid" />
+      <el-table-column label="报文节点" align="center" prop="rqbody" v-if="false"/>
+      <el-table-column label="投标id集合信息数组报文节点" align="center" prop="content" v-if="false"/>
       <el-table-column label="投标序号" align="center" prop="index" />
       <el-table-column label="投标编号" align="center" prop="tdrno" />
       <el-table-column label="退款备注" align="center" prop="remark" />
-      <el-table-column label="转出方式0-本金退还 1-本息退还" align="center" prop="tfroutmd" />
-      <el-table-column label="客户端交易的唯一标志" align="center" prop="rtnTrnuid" />
-      <el-table-column label="交易处理状态" align="center" prop="rtnStatus" />
-      <el-table-column label="处理结果码" align="center" prop="rtnCode" />
-      <el-table-column label="处理结果等级(info/warn/error)" align="center" prop="rtnSeverity" />
-      <el-table-column label="报文节点" align="center" prop="rtnRsbody" />
-      <el-table-column label="投标id集合信息数组报文节点" align="center" prop="rtnContent" />
+      <el-table-column label="转出方式0-本金退还 1-本息退还" align="center" prop="tfroutmd" v-if="false"/>
+      <el-table-column label="银行流水" align="center" prop="rtnTrnuid" />
+      <el-table-column label="交易处理状态" align="center" prop="rtnStatus" v-if="false"/>
+      <el-table-column label="处理结果码" align="center" prop="rtnCode" v-if="false"/>
+		<el-table-column label="处理结果等级" align="center" prop="rtnSeverity" >
+			<template slot-scope="scope">
+				<el-tag type="info" v-if="scope.row.rtnSeverity.toLowerCase() === 'info'">info</el-tag>
+				<el-tag type="warning" v-if="scope.row.rtnSeverity.toLowerCase() === 'warn'">warn</el-tag>
+				<el-tag type="danger" v-if="scope.row.rtnSeverity.toLowerCase() === 'error'">error</el-tag>
+			</template>
+		</el-table-column>
+      <el-table-column label="报文节点" align="center" prop="rtnRsbody" v-if="false"/>
+      <el-table-column label="投标id集合信息数组报文节点" align="center" prop="rtnContent" v-if="false"/>
       <el-table-column label="投标序号" align="center" prop="rtnIndex" />
       <el-table-column label="投标编号" align="center" prop="rtnTdrno" />
-      <el-table-column label="退款状态2-处理中,3-失败" align="center" prop="rtnRefundstat" />
+		<el-table-column label="退款状态" align="center" prop="rtnRefundstat" >
+			<template slot-scope="scope">
+				<el-tag type="warning" v-if="scope.row.rtnRefundstat.toLowerCase() === '2'">处理中</el-tag>
+				<el-tag type="danger" v-if="scope.row.rtnRefundstat.toLowerCase() === '3'">失败</el-tag>
+			</template>
+		</el-table-column>
       <el-table-column label="退款返回信息" align="center" prop="rtnRefundmsg" />
-      <el-table-column label="指令处理状态报文节点" align="center" prop="rtnXferprcsts" />
+      <el-table-column label="指令处理状态报文节点" align="center" prop="rtnXferprcsts" v-if="false"/>
       <el-table-column label="指令状态编码" align="center" prop="rtnXferprccode" />
-      <el-table-column label="指令处理时间yyyymmdd hhmmss" align="center" prop="rtnDtxferprc" />
+      <el-table-column label="指令处理时间" align="center" prop="rtnDtxferprc" />
       <el-table-column label="指令处理信息" align="center" prop="rtnMessage" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">

+ 10 - 3
ruoyi-ui/src/views/bank/tenderpub/index.vue

@@ -113,7 +113,7 @@
 			<el-table-column label="交易处理状态" align="center" prop="rtnStatus" v-if="false"/>
 			<el-table-column label="处理结果码" align="center" prop="rtnCode" v-if="false"/>
 			<el-table-column label="处理结果等级" align="center" prop="rtnSeverity" v-if="false"/>
-			<el-table-column label="处理信息描述" align="center" prop="rtnMessage"/>
+			<el-table-column label="处理结果" align="center" prop="rtnMessage"/>
 			<el-table-column label="账号" align="center" prop="rtnAcctno"/>
 			<el-table-column label="项目编号" align="center" prop="rtnPrjno"/>
 			<el-table-column label="标段编号" align="center" prop="rtnSgtno"/>
@@ -127,7 +127,7 @@
 				<template slot-scope="scope">
 					<el-button size="mini" type="text" @click="handleInfoQuery(scope.row)">标段信息查询</el-button>
 					<el-button size="mini" type="text" @click="getInfo(scope.row)">保证金入账查询</el-button>
-					<el-button size="mini" type="text" @click="handleInfoQuery(scope.row)">批量退还保证金</el-button>
+					<el-button size="mini" type="text" @click="getRefundsss(scope.row)">查询保证金退款信息</el-button>
 					<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bank:tenderpub:edit']">修改</el-button>
 					<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bank:tenderpub:remove']">删除</el-button>
 				</template>
@@ -258,7 +258,7 @@
 </template>
 
 <script>
-import {listTenderpub, getTenderpub, delTenderpub, addTenderpub, updateTenderpub, getInfo} from "@/api/bank/tenderpub";
+import {listTenderpub, getTenderpub, delTenderpub, addTenderpub, updateTenderpub, getInfo, getRefunds} from "@/api/bank/tenderpub";
 
 export default {
 	name: "Tenderpub",
@@ -430,6 +430,13 @@ export default {
 				this.$modal.msgSuccess(response.data);
 			});
 		},
+		/** 查询保证金入账 */
+		getRefundsss(row) {
+			getRefunds(row.tenderpubid).then(response => {
+				console.log("getInfo", response.data);
+				this.$modal.msgSuccess(response.data);
+			});
+		},
 		/** 修改按钮操作 */
 		handleUpdate(row) {
 			this.reset();

+ 444 - 498
ruoyi-ui/src/views/bank/uncleardeposit/index.vue

@@ -1,510 +1,456 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="采购计划" prop="ppid">
-        <el-input
-          v-model="queryParams.ppid"
-          placeholder="请输入采购计划id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="流水号" prop="trnuid">
-        <el-input
-          v-model="queryParams.trnuid"
-          placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="中心账号" prop="acctno">
-        <el-input
-          v-model="queryParams.acctno"
-          placeholder="请输入中心账号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="处理结果码" prop="rtnCode">
-        <el-input
-          v-model="queryParams.rtnCode"
-          placeholder="请输入处理结果码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="记录总数" prop="rtnRcrdtotnum">
-        <el-input
-          v-model="queryParams.rtnRcrdtotnum"
-          placeholder="请输入记录总数"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="当前页码" prop="rtnCrnpgno">
-        <el-input
-          v-model="queryParams.rtnCrnpgno"
-          placeholder="请输入当前页码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="每页记录数" prop="rtnPgrcrdnum">
-        <el-input
-          v-model="queryParams.rtnPgrcrdnum"
-          placeholder="请输入每页记录数"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="总页数" prop="rtnTotpgnum">
-        <el-input
-          v-model="queryParams.rtnTotpgnum"
-          placeholder="请输入总页数"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="中心账户名" prop="rtnAssetname">
-        <el-input
-          v-model="queryParams.rtnAssetname"
-          placeholder="请输入中心账户名"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="入账账号" prop="rtnOppassetno">
-        <el-input
-          v-model="queryParams.rtnOppassetno"
-          placeholder="请输入入账账号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="入账账户名" prop="rtnOppassetname">
-        <el-input
-          v-model="queryParams.rtnOppassetname"
-          placeholder="请输入入账账户名"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="入账账号行号" prop="rtnOppbankno">
-        <el-input
-          v-model="queryParams.rtnOppbankno"
-          placeholder="请输入入账账号行号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
+	<div class="app-container">
+		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+				 label-width="68px">
+			<el-form-item label="采购公告" prop="ppid">
+				<el-input
+					v-model="queryParams.ppid"
+					placeholder="请输入采购计划id"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="流水号" prop="trnuid">
+				<el-input
+					v-model="queryParams.trnuid"
+					placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="中心账号" prop="acctno">
+				<el-input
+					v-model="queryParams.acctno"
+					placeholder="请输入中心账号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="处理结果码" prop="rtnCode" v-if="false">
+				<el-input
+					v-model="queryParams.rtnCode"
+					placeholder="请输入处理结果码"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="记录总数" prop="rtnRcrdtotnum" v-if="false">
+				<el-input
+					v-model="queryParams.rtnRcrdtotnum"
+					placeholder="请输入记录总数"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="当前页码" prop="rtnCrnpgno" v-if="false">
+				<el-input
+					v-model="queryParams.rtnCrnpgno"
+					placeholder="请输入当前页码"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="每页记录数" prop="rtnPgrcrdnum" v-if="false">
+				<el-input
+					v-model="queryParams.rtnPgrcrdnum"
+					placeholder="请输入每页记录数"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="总页数" prop="rtnTotpgnum" v-if="false">
+				<el-input
+					v-model="queryParams.rtnTotpgnum"
+					placeholder="请输入总页数"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="中心账户名" prop="rtnAssetname">
+				<el-input
+					v-model="queryParams.rtnAssetname"
+					placeholder="请输入中心账户名"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账号" prop="rtnOppassetno">
+				<el-input
+					v-model="queryParams.rtnOppassetno"
+					placeholder="请输入入账账号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账户名" prop="rtnOppassetname">
+				<el-input
+					v-model="queryParams.rtnOppassetname"
+					placeholder="请输入入账账户名"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账号行号" prop="rtnOppbankno">
+				<el-input
+					v-model="queryParams.rtnOppbankno"
+					placeholder="请输入入账账号行号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item>
+				<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+				<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+			</el-form-item>
+		</el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['bank:uncleardeposit:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['bank:uncleardeposit:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['bank:uncleardeposit:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['bank:uncleardeposit:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+		<el-row :gutter="10" class="mb8">
+			<el-col :span="1.5">
+				<el-button
+					type="primary"
+					plain
+					icon="el-icon-plus"
+					size="mini"
+					@click="handleAdd"
+					v-hasPermi="['bank:uncleardeposit:add']"
+				>查询不明保证金
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="success"
+					plain
+					icon="el-icon-edit"
+					size="mini"
+					:disabled="single"
+					@click="handleUpdate"
+					v-hasPermi="['bank:uncleardeposit:edit']"
+				>同步银行数据
+				</el-button>
+			</el-col>
+			<el-col :span="1.5" v-if="false">
+				<el-button
+					type="danger"
+					plain
+					icon="el-icon-delete"
+					size="mini"
+					:disabled="multiple"
+					@click="handleDelete"
+					v-hasPermi="['bank:uncleardeposit:remove']"
+				>删除
+				</el-button>
+			</el-col>
+			<el-col :span="1.5">
+				<el-button
+					type="warning"
+					plain
+					icon="el-icon-download"
+					size="mini"
+					@click="handleExport"
+					v-hasPermi="['bank:uncleardeposit:export']"
+				>数据导出
+				</el-button>
+			</el-col>
+			<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+		</el-row>
 
-    <el-table v-loading="loading" :data="uncleardepositList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="查询不明保证金明细" align="center" prop="uncleardepositid" />
-      <el-table-column label="采购计划id" align="center" prop="ppid" />
-      <el-table-column label="客户端交易的唯一流水号建议值为yyyymmdd+序号" align="center" prop="trnuid" />
-      <el-table-column label="报文节点page查询页码,必输若需跳转到下一页只需修改页码,其他字段不变" align="center" prop="rqbody" />
-      <el-table-column label="中心账号" align="center" prop="acctno" />
-      <el-table-column label="中心币种01-人民币" align="center" prop="ccycd" />
-      <el-table-column label="开始日期格式:yyyymmdd" align="center" prop="begdt" />
-      <el-table-column label="结束日期格式:yyyymmdd" align="center" prop="enddt" />
-      <el-table-column label="客户端交易的唯一标志" align="center" prop="rtnTrnuid" />
-      <el-table-column label="交易处理状态" align="center" prop="rtnStatus" />
-      <el-table-column label="处理结果码" align="center" prop="rtnCode" />
-      <el-table-column label="处理结果等级(info/warn/error)" align="center" prop="rtnSeverity" />
-      <el-table-column label="处理信息描述" align="center" prop="rtnMessage" />
-      <el-table-column label="报文节点more是否有下一页,y有,n无" align="center" prop="rtnRsbody" />
-      <el-table-column label="记录总数" align="center" prop="rtnRcrdtotnum" />
-      <el-table-column label="当前页码" align="center" prop="rtnCrnpgno" />
-      <el-table-column label="每页记录数" align="center" prop="rtnPgrcrdnum" />
-      <el-table-column label="总页数" align="center" prop="rtnTotpgnum" />
-      <el-table-column label="客户基础信息内容循环体报文节点每批最多支持100个" align="center" prop="rtnContent" />
-      <el-table-column label="交易日期yyyymmdd用于不明保证金退款日期" align="center" prop="rtnTradedate" />
-      <el-table-column label="流水号用于不明保证金退款流水号" align="center" prop="rtnSerialno" />
-      <el-table-column label="中心账号" align="center" prop="rtnAssetno" />
-      <el-table-column label="中心账户名" align="center" prop="rtnAssetname" />
-      <el-table-column label="入账账号" align="center" prop="rtnOppassetno" />
-      <el-table-column label="入账账户名" align="center" prop="rtnOppassetname" />
-      <el-table-column label="入账账号行号" align="center" prop="rtnOppbankno" />
-      <el-table-column label="入账账号行名" align="center" prop="rtnOppbankname" />
-      <el-table-column label="交易金额" align="center" prop="rtnAmt" />
-      <el-table-column label="可退款金额" align="center" prop="rtnSelfbal" />
-      <el-table-column label="摘要" align="center" prop="rtnSummary" />
-      <el-table-column label="进入不明原因" align="center" prop="rtnAdjustreason" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['bank:uncleardeposit:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['bank:uncleardeposit:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+		<el-table v-loading="loading" :data="uncleardepositList" @selection-change="handleSelectionChange">
+			<el-table-column type="selection" width="55" align="center"/>
+			<el-table-column label="查询不明保证金明细" align="center" prop="uncleardepositid"/>
+			<el-table-column label="采购计划id" align="center" prop="ppid"/>
+			<el-table-column label="客户端交易的唯一流水号建议值为yyyymmdd+序号" align="center" prop="trnuid"/>
+			<el-table-column label="报文节点page查询页码,必输若需跳转到下一页只需修改页码,其他字段不变" align="center"
+							 prop="rqbody"/>
+			<el-table-column label="中心账号" align="center" prop="acctno"/>
+			<el-table-column label="中心币种01-人民币" align="center" prop="ccycd"/>
+			<el-table-column label="开始日期格式:yyyymmdd" align="center" prop="begdt"/>
+			<el-table-column label="结束日期格式:yyyymmdd" align="center" prop="enddt"/>
+			<el-table-column label="客户端交易的唯一标志" align="center" prop="rtnTrnuid"/>
+			<el-table-column label="交易处理状态" align="center" prop="rtnStatus"/>
+			<el-table-column label="处理结果码" align="center" prop="rtnCode"/>
+			<el-table-column label="处理结果等级(info/warn/error)" align="center" prop="rtnSeverity"/>
+			<el-table-column label="处理信息描述" align="center" prop="rtnMessage"/>
+			<el-table-column label="报文节点more是否有下一页,y有,n无" align="center" prop="rtnRsbody"/>
+			<el-table-column label="记录总数" align="center" prop="rtnRcrdtotnum"/>
+			<el-table-column label="当前页码" align="center" prop="rtnCrnpgno"/>
+			<el-table-column label="每页记录数" align="center" prop="rtnPgrcrdnum"/>
+			<el-table-column label="总页数" align="center" prop="rtnTotpgnum"/>
+			<el-table-column label="客户基础信息内容循环体报文节点每批最多支持100个" align="center" prop="rtnContent"/>
+			<el-table-column label="交易日期yyyymmdd用于不明保证金退款日期" align="center" prop="rtnTradedate"/>
+			<el-table-column label="流水号用于不明保证金退款流水号" align="center" prop="rtnSerialno"/>
+			<el-table-column label="中心账号" align="center" prop="rtnAssetno"/>
+			<el-table-column label="中心账户名" align="center" prop="rtnAssetname"/>
+			<el-table-column label="入账账号" align="center" prop="rtnOppassetno"/>
+			<el-table-column label="入账账户名" align="center" prop="rtnOppassetname"/>
+			<el-table-column label="入账账号行号" align="center" prop="rtnOppbankno"/>
+			<el-table-column label="入账账号行名" align="center" prop="rtnOppbankname"/>
+			<el-table-column label="交易金额" align="center" prop="rtnAmt"/>
+			<el-table-column label="可退款金额" align="center" prop="rtnSelfbal"/>
+			<el-table-column label="摘要" align="center" prop="rtnSummary"/>
+			<el-table-column label="进入不明原因" align="center" prop="rtnAdjustreason"/>
+			<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+				<template slot-scope="scope">
+					<el-button
+						size="mini"
+						type="text"
+						icon="el-icon-edit"
+						@click="handleUpdate(scope.row)"
+						v-hasPermi="['bank:uncleardeposit:edit']"
+					>修改
+					</el-button>
+					<el-button
+						size="mini"
+						type="text"
+						icon="el-icon-delete"
+						@click="handleDelete(scope.row)"
+						v-hasPermi="['bank:uncleardeposit:remove']"
+					>删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+		<pagination
+			v-show="total>0"
+			:total="total"
+			:page.sync="queryParams.pageNum"
+			:limit.sync="queryParams.pageSize"
+			@pagination="getList"
+		/>
 
-    <!-- 添加或修改查询不明保证金明细对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="采购计划id" prop="ppid">
-          <el-input v-model="form.ppid" placeholder="请输入采购计划id" />
-        </el-form-item>
-        <el-form-item label="客户端交易的唯一流水号建议值为yyyymmdd+序号" prop="trnuid">
-          <el-input v-model="form.trnuid" placeholder="请输入客户端交易的唯一流水号建议值为yyyymmdd+序号" />
-        </el-form-item>
-        <el-form-item label="报文节点page查询页码,必输若需跳转到下一页只需修改页码,其他字段不变" prop="rqbody">
-          <el-input v-model="form.rqbody" placeholder="请输入报文节点page查询页码,必输若需跳转到下一页只需修改页码,其他字段不变" />
-        </el-form-item>
-        <el-form-item label="中心账号" prop="acctno">
-          <el-input v-model="form.acctno" placeholder="请输入中心账号" />
-        </el-form-item>
-        <el-form-item label="中心币种01-人民币" prop="ccycd">
-          <el-input v-model="form.ccycd" placeholder="请输入中心币种01-人民币" />
-        </el-form-item>
-        <el-form-item label="开始日期格式:yyyymmdd" prop="begdt">
-          <el-input v-model="form.begdt" placeholder="请输入开始日期格式:yyyymmdd" />
-        </el-form-item>
-        <el-form-item label="结束日期格式:yyyymmdd" prop="enddt">
-          <el-input v-model="form.enddt" placeholder="请输入结束日期格式:yyyymmdd" />
-        </el-form-item>
-        <el-form-item label="客户端交易的唯一标志" prop="rtnTrnuid">
-          <el-input v-model="form.rtnTrnuid" placeholder="请输入客户端交易的唯一标志" />
-        </el-form-item>
-        <el-form-item label="处理结果码" prop="rtnCode">
-          <el-input v-model="form.rtnCode" placeholder="请输入处理结果码" />
-        </el-form-item>
-        <el-form-item label="处理结果等级(info/warn/error)" prop="rtnSeverity">
-          <el-input v-model="form.rtnSeverity" placeholder="请输入处理结果等级(info/warn/error)" />
-        </el-form-item>
-        <el-form-item label="处理信息描述" prop="rtnMessage">
-          <el-input v-model="form.rtnMessage" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="报文节点more是否有下一页,y有,n无" prop="rtnRsbody">
-          <el-input v-model="form.rtnRsbody" placeholder="请输入报文节点more是否有下一页,y有,n无" />
-        </el-form-item>
-        <el-form-item label="记录总数" prop="rtnRcrdtotnum">
-          <el-input v-model="form.rtnRcrdtotnum" placeholder="请输入记录总数" />
-        </el-form-item>
-        <el-form-item label="当前页码" prop="rtnCrnpgno">
-          <el-input v-model="form.rtnCrnpgno" placeholder="请输入当前页码" />
-        </el-form-item>
-        <el-form-item label="每页记录数" prop="rtnPgrcrdnum">
-          <el-input v-model="form.rtnPgrcrdnum" placeholder="请输入每页记录数" />
-        </el-form-item>
-        <el-form-item label="总页数" prop="rtnTotpgnum">
-          <el-input v-model="form.rtnTotpgnum" placeholder="请输入总页数" />
-        </el-form-item>
-        <el-form-item label="客户基础信息内容循环体报文节点每批最多支持100个">
-          <editor v-model="form.rtnContent" :min-height="192"/>
-        </el-form-item>
-        <el-form-item label="交易日期yyyymmdd用于不明保证金退款日期" prop="rtnTradedate">
-          <el-input v-model="form.rtnTradedate" placeholder="请输入交易日期yyyymmdd用于不明保证金退款日期" />
-        </el-form-item>
-        <el-form-item label="流水号用于不明保证金退款流水号" prop="rtnSerialno">
-          <el-input v-model="form.rtnSerialno" placeholder="请输入流水号用于不明保证金退款流水号" />
-        </el-form-item>
-        <el-form-item label="中心账号" prop="rtnAssetno">
-          <el-input v-model="form.rtnAssetno" placeholder="请输入中心账号" />
-        </el-form-item>
-        <el-form-item label="中心账户名" prop="rtnAssetname">
-          <el-input v-model="form.rtnAssetname" placeholder="请输入中心账户名" />
-        </el-form-item>
-        <el-form-item label="入账账号" prop="rtnOppassetno">
-          <el-input v-model="form.rtnOppassetno" placeholder="请输入入账账号" />
-        </el-form-item>
-        <el-form-item label="入账账户名" prop="rtnOppassetname">
-          <el-input v-model="form.rtnOppassetname" placeholder="请输入入账账户名" />
-        </el-form-item>
-        <el-form-item label="入账账号行号" prop="rtnOppbankno">
-          <el-input v-model="form.rtnOppbankno" placeholder="请输入入账账号行号" />
-        </el-form-item>
-        <el-form-item label="入账账号行名" prop="rtnOppbankname">
-          <el-input v-model="form.rtnOppbankname" placeholder="请输入入账账号行名" />
-        </el-form-item>
-        <el-form-item label="交易金额" prop="rtnAmt">
-          <el-input v-model="form.rtnAmt" placeholder="请输入交易金额" />
-        </el-form-item>
-        <el-form-item label="可退款金额" prop="rtnSelfbal">
-          <el-input v-model="form.rtnSelfbal" placeholder="请输入可退款金额" />
-        </el-form-item>
-        <el-form-item label="摘要" prop="rtnSummary">
-          <el-input v-model="form.rtnSummary" placeholder="请输入摘要" />
-        </el-form-item>
-        <el-form-item label="进入不明原因" prop="rtnAdjustreason">
-          <el-input v-model="form.rtnAdjustreason" placeholder="请输入进入不明原因" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
+		<!-- 添加或修改查询不明保证金明细对话框 -->
+		<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+			<el-form ref="form" :model="form" :rules="rules" label-width="80px">
+				<el-form-item label="开始日期" prop="begdt">
+					<el-date-picker clearable
+									v-model="form.begdt"
+									type="date"
+									value-format="yyyy-MM-dd"
+									placeholder="开始日期"
+					>
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="结束日期" prop="enddt">
+					<el-date-picker clearable
+									v-model="form.enddt"
+									type="date"
+									value-format="yyyy-MM-dd"
+									placeholder="结束日期"
+					>
+					</el-date-picker>
+				</el-form-item>
+			</el-form>
+			<div slot="footer" class="dialog-footer">
+				<el-button type="primary" @click="submitForm">确 定</el-button>
+				<el-button @click="cancel">取 消</el-button>
+			</div>
+		</el-dialog>
+	</div>
 </template>
 
 <script>
-import { listUncleardeposit, getUncleardeposit, delUncleardeposit, addUncleardeposit, updateUncleardeposit } from "@/api/bank/uncleardeposit";
+import {
+	listUncleardeposit,
+	getUncleardeposit,
+	delUncleardeposit,
+	addUncleardeposit,
+	updateUncleardeposit
+} from "@/api/bank/uncleardeposit";
 
 export default {
-  name: "Uncleardeposit",
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 查询不明保证金明细表格数据
-      uncleardepositList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        ppid: null,
-        trnuid: null,
-        rqbody: null,
-        acctno: null,
-        ccycd: null,
-        begdt: null,
-        enddt: null,
-        rtnTrnuid: null,
-        rtnStatus: null,
-        rtnCode: null,
-        rtnSeverity: null,
-        rtnMessage: null,
-        rtnRsbody: null,
-        rtnRcrdtotnum: null,
-        rtnCrnpgno: null,
-        rtnPgrcrdnum: null,
-        rtnTotpgnum: null,
-        rtnContent: null,
-        rtnTradedate: null,
-        rtnSerialno: null,
-        rtnAssetno: null,
-        rtnAssetname: null,
-        rtnOppassetno: null,
-        rtnOppassetname: null,
-        rtnOppbankno: null,
-        rtnOppbankname: null,
-        rtnAmt: null,
-        rtnSelfbal: null,
-        rtnSummary: null,
-        rtnAdjustreason: null
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-        ppid: [
-          { required: true, message: "采购计划id不能为空", trigger: "blur" }
-        ],
-        trnuid: [
-          { required: true, message: "客户端交易的唯一流水号建议值为yyyymmdd+序号不能为空", trigger: "blur" }
-        ],
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询查询不明保证金明细列表 */
-    getList() {
-      this.loading = true;
-      listUncleardeposit(this.queryParams).then(response => {
-        this.uncleardepositList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        uncleardepositid: null,
-        ppid: null,
-        trnuid: null,
-        rqbody: null,
-        acctno: null,
-        ccycd: null,
-        begdt: null,
-        enddt: null,
-        rtnTrnuid: null,
-        rtnStatus: null,
-        rtnCode: null,
-        rtnSeverity: null,
-        rtnMessage: null,
-        rtnRsbody: null,
-        rtnRcrdtotnum: null,
-        rtnCrnpgno: null,
-        rtnPgrcrdnum: null,
-        rtnTotpgnum: null,
-        rtnContent: null,
-        rtnTradedate: null,
-        rtnSerialno: null,
-        rtnAssetno: null,
-        rtnAssetname: null,
-        rtnOppassetno: null,
-        rtnOppassetname: null,
-        rtnOppbankno: null,
-        rtnOppbankname: null,
-        rtnAmt: null,
-        rtnSelfbal: null,
-        rtnSummary: null,
-        rtnAdjustreason: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.uncleardepositid)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加查询不明保证金明细";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const uncleardepositid = row.uncleardepositid || this.ids
-      getUncleardeposit(uncleardepositid).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改查询不明保证金明细";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.uncleardepositid != null) {
-            updateUncleardeposit(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addUncleardeposit(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const uncleardepositids = row.uncleardepositid || this.ids;
-      this.$modal.confirm('是否确认删除查询不明保证金明细编号为"' + uncleardepositids + '"的数据项?').then(function() {
-        return delUncleardeposit(uncleardepositids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('bank/uncleardeposit/export', {
-        ...this.queryParams
-      }, `uncleardeposit_${new Date().getTime()}.xlsx`)
-    }
-  }
+	name: "Uncleardeposit",
+	data() {
+		return {
+			// 遮罩层
+			loading: true,
+			// 选中数组
+			ids: [],
+			// 非单个禁用
+			single: true,
+			// 非多个禁用
+			multiple: true,
+			// 显示搜索条件
+			showSearch: true,
+			// 总条数
+			total: 0,
+			// 查询不明保证金明细表格数据
+			uncleardepositList: [],
+			// 弹出层标题
+			title: "",
+			// 是否显示弹出层
+			open: false,
+			// 查询参数
+			queryParams: {
+				pageNum: 1,
+				pageSize: 10,
+				ppid: null,
+				trnuid: null,
+				rqbody: null,
+				acctno: null,
+				ccycd: null,
+				begdt: null,
+				enddt: null,
+				rtnTrnuid: null,
+				rtnStatus: null,
+				rtnCode: null,
+				rtnSeverity: null,
+				rtnMessage: null,
+				rtnRsbody: null,
+				rtnRcrdtotnum: null,
+				rtnCrnpgno: null,
+				rtnPgrcrdnum: null,
+				rtnTotpgnum: null,
+				rtnContent: null,
+				rtnTradedate: null,
+				rtnSerialno: null,
+				rtnAssetno: null,
+				rtnAssetname: null,
+				rtnOppassetno: null,
+				rtnOppassetname: null,
+				rtnOppbankno: null,
+				rtnOppbankname: null,
+				rtnAmt: null,
+				rtnSelfbal: null,
+				rtnSummary: null,
+				rtnAdjustreason: null
+			},
+			// 表单参数
+			form: {},
+			// 表单校验
+			rules: {
+				ppid: [
+					{required: true, message: "采购计划id不能为空", trigger: "blur"}
+				],
+				trnuid: [
+					{required: true, message: "客户端交易的唯一流水号建议值为yyyymmdd+序号不能为空", trigger: "blur"}
+				],
+			}
+		};
+	},
+	created() {
+		this.getList();
+	},
+	methods: {
+		/** 查询查询不明保证金明细列表 */
+		getList() {
+			this.loading = true;
+			listUncleardeposit(this.queryParams).then(response => {
+				this.uncleardepositList = response.rows;
+				this.total = response.total;
+				this.loading = false;
+			});
+		},
+		// 取消按钮
+		cancel() {
+			this.open = false;
+			this.reset();
+		},
+		// 表单重置
+		reset() {
+			this.form = {
+				uncleardepositid: null,
+				ppid: null,
+				trnuid: null,
+				rqbody: null,
+				acctno: null,
+				ccycd: null,
+				begdt: null,
+				enddt: null,
+				rtnTrnuid: null,
+				rtnStatus: null,
+				rtnCode: null,
+				rtnSeverity: null,
+				rtnMessage: null,
+				rtnRsbody: null,
+				rtnRcrdtotnum: null,
+				rtnCrnpgno: null,
+				rtnPgrcrdnum: null,
+				rtnTotpgnum: null,
+				rtnContent: null,
+				rtnTradedate: null,
+				rtnSerialno: null,
+				rtnAssetno: null,
+				rtnAssetname: null,
+				rtnOppassetno: null,
+				rtnOppassetname: null,
+				rtnOppbankno: null,
+				rtnOppbankname: null,
+				rtnAmt: null,
+				rtnSelfbal: null,
+				rtnSummary: null,
+				rtnAdjustreason: null
+			};
+			this.resetForm("form");
+		},
+		/** 搜索按钮操作 */
+		handleQuery() {
+			this.queryParams.pageNum = 1;
+			this.getList();
+		},
+		/** 重置按钮操作 */
+		resetQuery() {
+			this.resetForm("queryForm");
+			this.handleQuery();
+		},
+		// 多选框选中数据
+		handleSelectionChange(selection) {
+			this.ids = selection.map(item => item.uncleardepositid)
+			this.single = selection.length !== 1
+			this.multiple = !selection.length
+		},
+		/** 新增按钮操作 */
+		handleAdd() {
+			this.reset();
+			this.open = true;
+			this.title = "查询不明保证金明细";
+		},
+		/** 修改按钮操作 */
+		handleUpdate(row) {
+			this.reset();
+			const uncleardepositid = row.uncleardepositid || this.ids
+			getUncleardeposit(uncleardepositid).then(response => {
+				this.form = response.data;
+				this.open = true;
+				this.title = "修改查询不明保证金明细";
+			});
+		},
+		/** 提交按钮 */
+		submitForm() {
+			this.$refs["form"].validate(valid => {
+				if (valid) {
+					if ((this.form.begdt != null) && (this.form.enddt != null)) {
+						updateUncleardeposit(this.form).then(response => {
+							this.$modal.msgSuccess("修改成功");
+							this.open = false;
+							this.getList();
+						});
+					} else {
+						addUncleardeposit(this.form).then(response => {
+							this.$modal.msgSuccess("新增成功");
+							this.open = false;
+							this.getList();
+						});
+					}
+				}
+			});
+		},
+		/** 删除按钮操作 */
+		handleDelete(row) {
+			const uncleardepositids = row.uncleardepositid || this.ids;
+			this.$modal.confirm('是否确认删除查询不明保证金明细编号为"' + uncleardepositids + '"的数据项?').then(function () {
+				return delUncleardeposit(uncleardepositids);
+			}).then(() => {
+				this.getList();
+				this.$modal.msgSuccess("删除成功");
+			}).catch(() => {
+			});
+		},
+		/** 导出按钮操作 */
+		handleExport() {
+			this.download('bank/uncleardeposit/export', {
+				...this.queryParams
+			}, `uncleardeposit_${new Date().getTime()}.xlsx`)
+		}
+	}
 };
 </script>

+ 13 - 3
ruoyi-ui/src/views/expert/tender/detail.vue

@@ -41,8 +41,18 @@
       </el-descriptions>
       <el-table v-if="tender.sProjectState >= 6" :data="quoteTableData" border style="width: 100%;margin-top: 20px;">
         <el-table-column label="供应商名称" prop="hName" align="center" />
-        <el-table-column v-if="detail.isEnd" label="报价" prop="quotePrice" align="center" />
-        <el-table-column label="报价时间" prop="quoteTime" align="center" />
+        <el-table-column v-if="detail.isEnd" label="报价" prop="quotePrice" align="center">
+          <template slot-scope="scope">
+            <span>
+              {{ scope.row.third ? scope.row.third : (scope.row.second ? scope.row.second : scope.row.first) }}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column label="报价时间" prop="quoteTime" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.thirdTime ? scope.row.thirdTime : (scope.row.secondTime ? scope.row.secondTime : scope.row.firstTime) }}
+          </template>
+        </el-table-column>
         <el-table-column label="标书" align="center">
           <template slot-scope="scope">
             <div v-for="(item, index) in scope.row.fjAnnex" :key="index">
@@ -50,7 +60,7 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="评分" align="center">
+        <el-table-column v-if="plan.buyingMode == 3" label="评分" align="center">
           <template slot-scope="scope">
             <router-link :to="`/expert/expertScore?sid=${scope.row.sid}&hid=${scope.row.hid}&hName=${scope.row.hName}`">
               <el-button size="mini" type="text">评分</el-button>

+ 1 - 1
ruoyi-ui/src/views/tender/tender1/bidding.vue

@@ -67,7 +67,7 @@
         </el-table-column>
         <el-table-column v-if="isOverFirstTime" label="报价时间" prop="quoteTime" align="center">
           <template slot-scope="scope">
-            <span>{{ scope.row.quoteTime }}</span>
+            {{ scope.row.thirdTime ? scope.row.thirdTime : (scope.row.secondTime ? scope.row.secondTime : scope.row.firstTime) }}
           </template>
         </el-table-column>
         <el-table-column v-if="plan.buyingMode != 1 && checkRole(['operator', 'commander'])" label="标书" align="center">

+ 1 - 1
ruoyi-ui/src/views/tender/tender1/components/CompDetermineWin.vue

@@ -11,7 +11,7 @@
       </el-table-column>
       <el-table-column prop="quoteTime" align="center" label="报价时间">
         <template slot-scope="scope">
-          <span>{{scope.row.quoteTime}}</span>
+          {{ scope.row.thirdTime ? scope.row.thirdTime : (scope.row.secondTime ? scope.row.secondTime : scope.row.firstTime) }}
         </template>
       </el-table-column>
     </el-table>