diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SuppInvoiceCmd.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SuppInvoiceCmd.java
index c5034c54fb399ff4ce27bc6e9d42e2340962e9eb..743a9a1aa42da17b431540c0d3a87dc42b01aa03 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SuppInvoiceCmd.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SuppInvoiceCmd.java
@@ -19,8 +19,10 @@ import java.util.List;
 @NoArgsConstructor
 @Data
 public class SuppInvoiceCmd {
+    private Long invoiceId;
     @ApiModelProperty(value = "鍥炲崟id")
     private Long incomeId;
+    private  String repairProject;
     @ApiModelProperty(value = "鍙戠エ绫诲瀷")
     private String billType;
     @ApiModelProperty(value = "鍙戠エ鍙风爜")
diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/query/dto/IncomeTypeQry.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/query/dto/IncomeTypeQry.java
new file mode 100644
index 0000000000000000000000000000000000000000..7d14164a4a90402c763d5366129eace8c2bb0a63
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/query/dto/IncomeTypeQry.java
@@ -0,0 +1,8 @@
+package com.seasky.ledgerincome.application.query.dto;
+
+import lombok.Data;
+
+@Data
+public class IncomeTypeQry {
+    public  Long id;
+}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/BaseSetController.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/BaseSetController.java
index f872324380253596e74d9dd95ef629e0d913ae7d..8a835f97169eb1e0120abd97cedf4b8b8986e52d 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/BaseSetController.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/BaseSetController.java
@@ -4,6 +4,7 @@ import com.seasky.core.common.Result;
 import com.seasky.ledgerincome.application.command.dto.*;
 import com.seasky.ledgerincome.application.query.dto.AllocationRuleQry;
 import com.seasky.ledgerincome.application.query.dto.AuthQry;
+import com.seasky.ledgerincome.application.query.dto.IncomeTypeQry;
 import com.seasky.ledgerincome.application.query.dto.ProjectTypeQry;
 import com.seasky.ledgerincome.application.query.dto.out.*;
 import io.swagger.annotations.Api;
@@ -82,5 +83,7 @@ public interface BaseSetController {
     @ApiOperation("鏀舵绫诲瀷-鏌ヨ鍒楄〃")
     @PostMapping("pc/v1/getIncomeList")
     Result<IncomeTypeOut> getIncomeList();
-
+    @ApiOperation("鏀舵绫诲瀷-鏌ヨ鍒楄〃")
+    @PostMapping("pc/v1/getIncomeInfo")
+    Result<IncomeTypeOut> getIncomeInfo(@RequestBody IncomeTypeQry qry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/IncomeCommandServiceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/IncomeCommandServiceImpl.java
index db4ed903c285b1cf7534aa96db67bc76f054a8c3..ae8f98aca5dc7e1d5b5683941c02096e7edb9b45 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/IncomeCommandServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/IncomeCommandServiceImpl.java
@@ -9,6 +9,7 @@ import com.ql.util.express.ExpressRunner;
 import com.ql.util.express.Operator;
 import com.seasky.core.ddd.base.api.BaseCommandAbstractService;
 import com.seasky.core.util.ExceptionUtil;
+import com.seasky.ledgerincome.application.command.api.EntryCommandService;
 import com.seasky.ledgerincome.application.command.api.IncomeCommandService;
 import com.seasky.ledgerincome.application.command.assembler.IncomeAssembler;
 import com.seasky.ledgerincome.application.command.assembler.VchDetailAssembler;
@@ -35,6 +36,7 @@ import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
@@ -66,6 +68,9 @@ public class IncomeCommandServiceImpl  extends BaseCommandAbstractService<Income
     IncomeInvoiceQueryService incomeInvoiceQueryService;
     @Autowired
     EntryBillRepository entryBillRepository;
+    @Autowired
+    EntryCommandService entryCommandService;
+
     @Override
     public void automaticIncomeType(List<ReceiptBillCmd> receiptBillCmdList) {
         if(receiptBillCmdList == null || receiptBillCmdList.isEmpty()){
@@ -95,7 +100,27 @@ public class IncomeCommandServiceImpl  extends BaseCommandAbstractService<Income
             incomeRepository.saveIncomeList(pos);
         }
     }
-
+    public JSONObject getVoucherRpc(String voucherCode,Date voucherDate){
+        String path=propertyUtil.getInnerInterfacePath();
+        String secret = propertyUtil.getSecret();
+        String systemid=propertyUtil.getSystemid();
+        if(Objects.isNull(path)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙e湴鍧€锛�");
+        if(Objects.isNull(secret)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙ecret锛�");
+        if(Objects.isNull(systemid)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙ystemid锛�");
+        String url = path+ "/Help/Api/POST-BudgetLedgerInterface-GetVoucherInfo";
+        LocalDateTime currentDate = LocalDateTime.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH");
+        String formattedDate = currentDate.plusHours(1).format(formatter);
+        HashMap<String,Object> map = new HashMap<>();
+        map.put("SystemID",systemid);
+        String token=systemid+"|"+formattedDate+"|"+secret;
+        map.put("Token", StringToMd5Hash.toMD5(token));
+        map.put("VoucherFendNo",voucherCode);
+        map.put("VoucherDate",voucherDate);
+        String s = HttpClientUtil.doPostJson(url, JSONObject.toJSONString(map));
+        JSONObject stationObj = JSONObject.parseObject(s);
+        return stationObj;
+    }
     @Override
     public void changeWrongAccount(ChangeWrongAccountCmd cmd) {
         IncomeAggregate incomeAggregate=findById(cmd.getIncomeId());
@@ -122,28 +147,9 @@ public class IncomeCommandServiceImpl  extends BaseCommandAbstractService<Income
         incomeAggregate.changePreIncome(cmd.getPreIncomeType());
         save(incomeAggregate);
     }
-    public JSONObject getVoucherRpc(String voucherCode,Date voucherDate){
-        String path=propertyUtil.getInnerInterfacePath();
-        String secret = propertyUtil.getSecret();
-        String systemid=propertyUtil.getSystemid();
-        if(Objects.isNull(path)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙e湴鍧€锛�");
-        if(Objects.isNull(secret)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙ecret锛�");
-        if(Objects.isNull(systemid)) throw ExceptionUtil.getException(null, "璇烽厤缃唴閮ㄦ帴鍙ystemid锛�");
-        String url = path+ "/Help/Api/POST-BudgetLedgerInterface-GetVoucherInfo";
-        LocalDateTime currentDate = LocalDateTime.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH");
-        String formattedDate = currentDate.plusHours(1).format(formatter);
-        HashMap<String,Object> map = new HashMap<>();
-        map.put("SystemID",systemid);
-        String token=systemid+"|"+formattedDate+"|"+secret;
-        map.put("Token", StringToMd5Hash.toMD5(token));
-        map.put("VoucherFendNo",voucherCode);
-        map.put("VoucherDate",voucherDate);
-        String s = HttpClientUtil.doPostJson(url, JSONObject.toJSONString(map));
-        JSONObject stationObj = JSONObject.parseObject(s);
-        return stationObj;
-    }
+
     @Override
+    @Transactional
     public void incomeAllocation(IncomeAllocationCmd cmd) {
         IncomeAggregate incomeAggregate=findById(cmd.getIncomeId());
                if(cmd.getIncomeTypeName().equals(IncomeSpeedEnum.寰呰棰�.getValue()))
@@ -154,7 +160,7 @@ public class IncomeCommandServiceImpl  extends BaseCommandAbstractService<Income
                    //杩涘害鐘舵€侊細瀹屾垚
                   if(cmd.getEntryMode().equals(EntryModeEnum.鍏宠仈.getValue()))
                   {
-                      JSONObject json = getVoucherRpc(cmd.getVoucherNo(),cmd.getVoucherDate());
+                      JSONObject json =getVoucherRpc(cmd.getVoucherNo(),cmd.getVoucherDate());
                       if(!json.getBooleanValue("isSuccess")){
                           throw new RuntimeException("璋冪敤鍑瘉鎺ュ彛error:"+json.getString("errorMessage"));
                       }
@@ -169,13 +175,19 @@ public class IncomeCommandServiceImpl  extends BaseCommandAbstractService<Income
                       List<Long> invoiceIds = incomeInvoiceQueryService.findPreInvoiceIdsWith(cmd.getIncomeId());
                       String entryType = entryBillRepository.queryEntryType(cmd.getIncomeId(),Arrays.asList(EntryTypeEnum.鍒版杞殏瀛�.getValue()));
                       if(invoiceIds == null || invoiceIds.isEmpty()){
-
+                          EntryTempCmd entryTempCmd=new EntryTempCmd();
+                          entryTempCmd.setIncomeId(cmd.getIncomeId());
+                          entryTempCmd.setVoucherCode(cmd.getVoucherNo());
+                          entryTempCmd.setVoucherDate(cmd.getVoucherDate());
                           if(StringUtils.isEmpty(entryType))
                           {
                               //鍒版杞敹鍏�
+                              entryCommandService.entryIncome(entryTempCmd);
                           }else
                           {
                               //鏆傚瓨杞敹鍏�
+
+                              entryCommandService.entryTemp(entryTempCmd);
                           }
                       }else
                       {
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
index c5717c2d71b5d3e0583f8015a82f5eeb68151409..5c243a2c7ff7fe1171f04ce4b9e48e75c06084ae 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
@@ -449,41 +449,40 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
         if(Objects.isNull(preInvoiceCmd.getInvoiceId())) {
             InvoiceAggergate aggergate = InvoiceAssembler.toInvoiceAggergate(preInvoiceCmd);
             invoiceId = invoiceRepository.save(aggergate);
-        }else{
+        }else {
             //淇濆瓨鍙戠エ鏀舵
-            IncomeInvoiceAggregate incomeInvoiceAggregate=new IncomeInvoiceAggregate(null,preInvoiceCmd.getIncomeId(),preInvoiceCmd.getInvoiceId(),
+            IncomeInvoiceAggregate incomeInvoiceAggregate = new IncomeInvoiceAggregate(null, preInvoiceCmd.getIncomeId(), preInvoiceCmd.getInvoiceId(),
                     InvoiceTypeEnum.棰勫紑绁�.getValue());
             incomeInvoiceRepository.save(incomeInvoiceAggregate);
-        }
-
 
-        //2.淇濆瓨鍑瘉
-        JSONObject json = getVoucherRpc(preInvoiceCmd.getVoucherCode(),preInvoiceCmd.getVoucherDate());
-        if(!json.getBooleanValue("isSuccess")){
-            throw new RuntimeException("璋冪敤鍑瘉鎺ュ彛error:"+json.getString("errorMessage"));
+            //2.淇濆瓨鍑瘉
+            JSONObject json = getVoucherRpc(preInvoiceCmd.getVoucherCode(), preInvoiceCmd.getVoucherDate());
+            if (!json.getBooleanValue("isSuccess")) {
+                throw new RuntimeException("璋冪敤鍑瘉鎺ュ彛error:" + json.getString("errorMessage"));
+            }
+            String outOrderNo = json.getString("outOrderNo");
+            JSONArray array = json.getJSONArray("voucherDetails");
+            List<VchDetailEntity> vchDetailList = VchDetailAssembler.jsonArrayToEntity(array);
+            VoucherAggregate voucherAggregate = new VoucherAggregate(outOrderNo, null, preInvoiceCmd.getVoucherDate(),
+                    preInvoiceCmd.getVoucherCode(), null, VoucherStateEnum.棰勫紑绁�.getValue(), vchDetailList);
+            Long voucherId = voucherRepository.save(voucherAggregate);
+            //3 淇濆瓨鍏ヨ处
+            //鍏堝幓鏌gg
+            EntryBillAggregate entryBillAggregate = entryBillRepository.findByIncomeId(preInvoiceCmd.getIncomeId());
+            List<EntryBillFlowEntity> flowEntityList = new ArrayList<>();
+            flowEntityList.add(new EntryBillFlowEntity(null, null, new Date(),
+                    EntryTypeEnum.getByValue(EntryTypeEnum.鏈埌娆�.getValue()),
+                    InvoiceTypeEnum.getByValue(InvoiceTypeEnum.棰勫紑绁�.getValue()),
+                    preInvoiceCmd.getIncomeId(),
+                    Arrays.asList(invoiceId), voucherId
+            ));
+            entryBillAggregate = new EntryBillAggregate(
+                    entryBillAggregate.getEntryBillId(), preInvoiceCmd.getIncomeId(), null, null,
+                    VoucherStateEnum.getByValue(VoucherStateEnum.棰勫紑绁�.getValue())
+                    , flowEntityList
+            );
+            entryBillRepository.save(entryBillAggregate);
         }
-        String outOrderNo = json.getString("outOrderNo");
-        JSONArray array = json.getJSONArray("voucherDetails");
-        List<VchDetailEntity> vchDetailList = VchDetailAssembler.jsonArrayToEntity(array);
-        VoucherAggregate voucherAggregate = new VoucherAggregate(outOrderNo,null,preInvoiceCmd.getVoucherDate(),
-                preInvoiceCmd.getVoucherCode(),null, VoucherStateEnum.棰勫紑绁�.getValue(),vchDetailList);
-        Long voucherId = voucherRepository.save(voucherAggregate);
-        //3 淇濆瓨鍏ヨ处
-        //鍏堝幓鏌gg
-        EntryBillAggregate entryBillAggregate = entryBillRepository.findByIncomeId(preInvoiceCmd.getIncomeId());
-        List<EntryBillFlowEntity> flowEntityList = new ArrayList<>();
-        flowEntityList.add(new EntryBillFlowEntity(null,null,new Date(),
-                EntryTypeEnum.getByValue(EntryTypeEnum.鏈埌娆�.getValue()),
-                InvoiceTypeEnum.getByValue(InvoiceTypeEnum.棰勫紑绁�.getValue()),
-                preInvoiceCmd.getIncomeId(),
-                Arrays.asList(invoiceId),voucherId
-                ));
-         entryBillAggregate = new EntryBillAggregate(
-                entryBillAggregate.getEntryBillId(),preInvoiceCmd.getIncomeId(),null,null,
-                VoucherStateEnum.getByValue(VoucherStateEnum.棰勫紑绁�.getValue())
-                ,flowEntityList
-        );
-        entryBillRepository.save(entryBillAggregate);
     }
 
     @Transactional
@@ -494,33 +493,42 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
         if(!incomeAggregate.getReceiptBillVo().getIncomeSpeed().equals(IncomeSpeedEnum.瀹屾垚.getValue())){
             throw ExceptionUtil.getException(null,"闈炲凡瀹屾垚鐨勫洖鍗曚笉鍏佽琛ュ紑鍙戠エ");
         }
+        Long invoiceId=cmd.getInvoiceId();
         //1.淇濆瓨鍙戠エ
-        InvoiceAggergate aggergate = InvoiceAssembler.toSuppInvoiceAggergate(cmd);
-        aggergate.setIsSend("鏄�");
-        aggergate.setInvoiceState("鏄�");
-        Long invoiceId = invoiceRepository.save(aggergate);
-        //2 TODO 鍏ヨ处瑙勫垯 鐢熸垚鍑瘉
-        Long voucherId = null;
-
-
-        //3 淇濆瓨鍏ヨ处
-        //鍏堝幓鏌gg
-        EntryBillAggregate entryBillAggregate = entryBillRepository.findByIncomeId(cmd.getIncomeId());
-        String entryType = entryBillRepository.queryEntryType(cmd.getIncomeId(),Arrays.asList(EntryTypeEnum.鏆傚瓨杞敹鍏�.getValue(),EntryTypeEnum.鍒版杞敹鍏�.getValue()));
-        List<EntryBillFlowEntity> flowEntityList = new ArrayList<>();
-        flowEntityList.add(new EntryBillFlowEntity(null,null,new Date(),
-                EntryTypeEnum.getByValue(entryType),
-                InvoiceTypeEnum.getByValue(InvoiceTypeEnum.琛ュ紑绁�.getValue()),
-                cmd.getIncomeId(),
-                Arrays.asList(invoiceId),voucherId
-        ));
-        entryBillAggregate = new EntryBillAggregate(
-                entryBillAggregate.getEntryBillId(),cmd.getIncomeId(),null,null,
-                VoucherStateEnum.getByValue(VoucherStateEnum.宸插叆璐�.getValue())
-                ,flowEntityList
-        );
-        entryBillRepository.save(entryBillAggregate);
-
+        if(Objects.isNull(cmd.getInvoiceId())) {
+            InvoiceAggergate aggergate = InvoiceAssembler.toSuppInvoiceAggergate(cmd);
+            aggergate.setIsSend("鏄�");
+            aggergate.setInvoiceState("鏄�");
+            invoiceId = invoiceRepository.save(aggergate);
+            //淇濆瓨鍙戠エ鏀舵
+            IncomeInvoiceAggregate incomeInvoiceAggregate = new IncomeInvoiceAggregate(null, cmd.getIncomeId(), invoiceId.toString(),
+                    InvoiceTypeEnum.琛ュ紑绁�.getValue());
+            incomeInvoiceRepository.save(incomeInvoiceAggregate);
+             incomeAggregate.changeRepairProject(cmd.getRepairProject());
+             incomeRepository.save(incomeAggregate);
+        }else {
+            //2 TODO 鍏ヨ处瑙勫垯 鐢熸垚鍑瘉
+            Long voucherId = null;
+
+
+            //3 淇濆瓨鍏ヨ处
+            //鍏堝幓鏌gg
+            EntryBillAggregate entryBillAggregate = entryBillRepository.findByIncomeId(cmd.getIncomeId());
+            String entryType = entryBillRepository.queryEntryType(cmd.getIncomeId(), Arrays.asList(EntryTypeEnum.鏆傚瓨杞敹鍏�.getValue(), EntryTypeEnum.鍒版杞敹鍏�.getValue()));
+            List<EntryBillFlowEntity> flowEntityList = new ArrayList<>();
+            flowEntityList.add(new EntryBillFlowEntity(null, null, new Date(),
+                    EntryTypeEnum.getByValue(entryType),
+                    InvoiceTypeEnum.getByValue(InvoiceTypeEnum.琛ュ紑绁�.getValue()),
+                    cmd.getIncomeId(),
+                    Arrays.asList(invoiceId), voucherId
+            ));
+            entryBillAggregate = new EntryBillAggregate(
+                    entryBillAggregate.getEntryBillId(), cmd.getIncomeId(), null, null,
+                    VoucherStateEnum.getByValue(VoucherStateEnum.宸插叆璐�.getValue())
+                    , flowEntityList
+            );
+            entryBillRepository.save(entryBillAggregate);
+        }
     }
 
 
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/IncomeAssembler.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/IncomeAssembler.java
index 81e77fbcf9b5011397a189d13c68bc33253c923a..55b6157db037503c555c4fa78e44df2b378d7547 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/IncomeAssembler.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/IncomeAssembler.java
@@ -44,4 +44,5 @@ public class IncomeAssembler {
         po.setPreIncomeType(incomeType);
         return po;*/
      }
+
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/query/api/IncomeTypeQueryService.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/query/api/IncomeTypeQueryService.java
index 9ed7545badecbdfa93e74d728a83ef46adb5920c..258d02d8ae4c32db5bae2ef55b37a2b4dbbfed4f 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/query/api/IncomeTypeQueryService.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/query/api/IncomeTypeQueryService.java
@@ -2,6 +2,7 @@ package com.seasky.ledgerincome.application.query.api;
 
 import com.seasky.ledgerincome.application.query.dto.AllocationRuleQry;
 import com.seasky.ledgerincome.application.query.dto.AuthQry;
+import com.seasky.ledgerincome.application.query.dto.IncomeTypeQry;
 import com.seasky.ledgerincome.application.query.dto.out.AllocationRuleModifyOut;
 import com.seasky.ledgerincome.application.query.dto.out.AllocationRuleOut;
 import com.seasky.ledgerincome.application.query.dto.out.AuthOut;
@@ -25,5 +26,5 @@ public interface IncomeTypeQueryService {
     List<IncomeTypeOut> getIncomeList();
 
     List<IncomeTypeOut> getIncomeListForImport();
-
+    IncomeTypeOut  getIncomeInfo(IncomeTypeQry qry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/income/IncomeAggregate.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/income/IncomeAggregate.java
index bef3ad10317fae5268a530b9d022dc3edf68ba43..8d4e3bcfe09dd2d0f06b56d1a3a75633e8b6d32a 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/income/IncomeAggregate.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/income/IncomeAggregate.java
@@ -69,7 +69,10 @@ public class IncomeAggregate extends BaseAggregate {
         this.receiptBillVo.incomeTypeName=incomeTypeName;
         this.incomeProject=incomeProject;
     }
-
+public  void  changeRepairProject(String repairProject)
+{
+    this.receiptBillVo.repairProject=repairProject;
+}
     public  void  changePreIncomeConfirm()
     {
        this.receiptBillVo.setIncomeSpeed(IncomeSpeedEnum.鍙戝竷.getValue());
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/reader/IncomeTypeQueryServiceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/reader/IncomeTypeQueryServiceImpl.java
index 9e81a1c85a5693d4d95871736036dc86f38617dd..3e5910d74ac8c383cc4054ad95897ed67b9f63ec 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/reader/IncomeTypeQueryServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/reader/IncomeTypeQueryServiceImpl.java
@@ -8,12 +8,12 @@ import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.ledgerincome.application.query.api.IncomeTypeQueryService;
 import com.seasky.ledgerincome.application.query.dto.AllocationRuleQry;
 import com.seasky.ledgerincome.application.query.dto.AuthQry;
-import com.seasky.ledgerincome.application.query.dto.out.AllocationRuleModifyOut;
-import com.seasky.ledgerincome.application.query.dto.out.AllocationRuleOut;
-import com.seasky.ledgerincome.application.query.dto.out.AuthOut;
-import com.seasky.ledgerincome.application.query.dto.out.IncomeTypeOut;
+import com.seasky.ledgerincome.application.query.dto.IncomeTypeQry;
+import com.seasky.ledgerincome.application.query.dto.out.*;
 import com.seasky.ledgerincome.infrastructure.mapper.api.IncomeTypeMapper;
+import com.seasky.ledgerincome.infrastructure.po.BankAccountNumberPo;
 import com.seasky.ledgerincome.infrastructure.po.IncomeTypePo;
+import com.seasky.ledgerincome.infrastructure.repository.convert.BankAccountNumberConvert;
 import com.seasky.ledgerincome.utils.RuleUtil;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
@@ -126,6 +126,17 @@ public class IncomeTypeQueryServiceImpl implements IncomeTypeQueryService {
         List<IncomeTypeOut> outs = inComeTypeMapper.findIncomeList();
         return outs;
     }
+
+    @Override
+    public IncomeTypeOut getIncomeInfo(IncomeTypeQry qry) {
+        QueryWrapper<IncomeTypePo> queryWrapper=new QueryWrapper<>();
+        queryWrapper.eq("id",qry.getId());
+        IncomeTypePo incomeTypePo=inComeTypeMapper.selectOne(queryWrapper);
+        if(incomeTypePo==null)
+            return  new IncomeTypeOut();
+        return MapperUtils.INSTANCE.map(IncomeTypeOut.class, incomeTypePo);
+    }
+
     // 鐢熸垚鐩爣瀛楃涓�
     private String generateTargetString(String rules) {
         if(StringUtils.isEmpty(rules))
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
index efb9690634b211c9864e8aab17925bb624483074..f707d4901bb6adb34a4b263615433a47647b968c 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
@@ -86,7 +86,8 @@ public class AccountEntryManageControllerImpl extends  BaseControllerImpl implem
 
     @Override
     public Result<Object> incomeAllocation(IncomeAllocationCmd cmd)  {
-        return null;
+        incomeCommandService.incomeAllocation(cmd);
+        return Response.success();
     }
     @Override
     public Result<IncomeTypeOut> getAuthIncomeList() {
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BaseSetControllerImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BaseSetControllerImpl.java
index d0162b5db8cbb99d4a6059f27c4544270e3bebd4..6f8a978e636c46027f901a0a88a7f92237385867 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BaseSetControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BaseSetControllerImpl.java
@@ -10,6 +10,7 @@ import com.seasky.ledgerincome.application.query.api.IncomeTypeQueryService;
 import com.seasky.ledgerincome.application.query.api.ProjectTypeQueryService;
 import com.seasky.ledgerincome.application.query.dto.AllocationRuleQry;
 import com.seasky.ledgerincome.application.query.dto.AuthQry;
+import com.seasky.ledgerincome.application.query.dto.IncomeTypeQry;
 import com.seasky.ledgerincome.application.query.dto.ProjectTypeQry;
 import com.seasky.ledgerincome.application.query.dto.out.*;
 import com.seasky.ledgerincome.infrastructure.service.api.IncomeService;
@@ -137,5 +138,10 @@ public class BaseSetControllerImpl   implements BaseSetController {
         return ok(ResponseCode.SUCCESS,incomeList);
     }
 
+    @Override
+    public Result<IncomeTypeOut> getIncomeInfo(IncomeTypeQry qry) {
+        return null;
+    }
+
 
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BudgetProjectControllerImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BudgetProjectControllerImpl.java
index 2076b972774a71fc04c98e832d90fe333b8419a8..61751b0648736a8606d0117d6601bce8315e390e 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BudgetProjectControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/BudgetProjectControllerImpl.java
@@ -18,6 +18,14 @@ public class BudgetProjectControllerImpl implements BudgetProjectController {
     BudgetProjectQueryService budgetProjectQueryService;
     @Override
     public Result<BudgetProjectOut> getBudgetProjectList(BudgetProjectQry qry) {
+
+        qry.setProjectCode(qry.getProjectCode().contains("*")? qry.getProjectCode().replace("*","_"):
+                qry.getProjectCode());
+        if(qry.getProjectCode().contains("*"))
+        {
+            qry.setPageIndex(1);
+            qry.setPageSize(Integer.MAX_VALUE);
+        }
         Pagination<BudgetProjectOut> list=budgetProjectQueryService.getBudgetProjectList(qry);
         return  ok(ResponseCode.SUCCESS, list);
     }
diff --git a/WebSite/src/api/Common.js b/WebSite/src/api/Common.js
index cee759cdfc3a69cae6b84d8cd68450bcf158f3ce..cf4f6732e7964671888be41af6bfc5c7201b77be 100644
--- a/WebSite/src/api/Common.js
+++ b/WebSite/src/api/Common.js
@@ -16,5 +16,13 @@ class Common {
       data
     });
   }
+  static async getBudgetProjectList(data) {
+    return await request({
+      url: 'budgetProject/getBudgetProjectList',
+      method: 'post',
+      data
+    });
+  }
+
 }
 export default Common;
diff --git a/WebSite/src/api/IncomeType.js b/WebSite/src/api/IncomeType.js
index 165508541ab2a8b273972a88ec648b60a47dca96..68df9c761618c9f10945455424b72affef275a8d 100644
--- a/WebSite/src/api/IncomeType.js
+++ b/WebSite/src/api/IncomeType.js
@@ -65,5 +65,20 @@ class IncomeType{
           data
         });
       }
+      static async getProjectInfo(data) {
+        return await request({
+          url: 'baseset/pc/v1/getProjectInfo',
+          method: 'post',
+          data
+        });
+      }
+      static async getIncomeInfo(data) {
+        return await request({
+          url: 'baseset/pc/v1/getIncomeInfo',
+          method: 'post',
+          data
+        });
+      }
+      
 }
 export default IncomeType;
\ No newline at end of file
diff --git a/WebSite/src/api/Invoice.js b/WebSite/src/api/Invoice.js
index a416851c59323375ee26a1e64f9a07fa8952cad9..0246a84498761bf678e7328dc75a6897f98e78a2 100644
--- a/WebSite/src/api/Invoice.js
+++ b/WebSite/src/api/Invoice.js
@@ -55,5 +55,21 @@ class Invoice{
           data
         });
       }
+
+      static async preInvoice(data) {
+        return await request({
+          url: 'invoice/preInvoice',
+          method: 'post',
+          data
+        });
+      }
+
+      static async suppInvoice(data) {
+        return await request({
+          url: 'invoice/suppInvoice',
+          method: 'post',
+          data
+        });
+      }
 }
 export default Invoice
\ No newline at end of file
diff --git a/WebSite/src/views/common/createmodifyinvoice.vue b/WebSite/src/views/common/createmodifyinvoice.vue
index 1c91f688e226797c649c1a0a5c3e059435a5b856..89dfd225e6200e31106103e75fb3f778b1ba8ecc 100644
--- a/WebSite/src/views/common/createmodifyinvoice.vue
+++ b/WebSite/src/views/common/createmodifyinvoice.vue
@@ -7,11 +7,27 @@
     width="100%"
     v-model="visible"
     v-if="visible">
+    <el-form  v-if="saveInvoiceCmd.billNo!==''"   :inline="true"
+    class="demo-form-inline">
+    <el-form-item label="鍥炲崟鍗曞彿" >
+      {{ billNo }}
+    </el-form-item>
+    <el-form-item label="琛ュ紑椤圭洰"  v-if="saveInvoiceCmd.incomeId!=''">
+      <el-input   style="width:75%;" 
+              clearable
+              v-model.trim="saveInvoiceCmd.repairProject"
+              placeholder="琛ュ紑椤圭洰"
+            ><template  #append>
+        <el-button icon="el-icon-search" @click="choiceProject" />
+          </template></el-input>
+    </el-form-item>
+    </el-form>
   <el-form
         :inline="true"
         class="demo-form-inline"
          
       >
+      
       <el-form-item label="鍙戠エ绫诲瀷" >
    
             <el-select    style="width: 95%;"   v-model="saveInvoiceCmd.billType" 
@@ -247,14 +263,17 @@ setup(props,context){
           applyOrgName:'',
           invoiceType:props.invoicePara.invoiceType,
           invoiceId:props.invoicePara.invoiceId,
-          invoiceDetailCmdList:[]
+          invoiceDetailCmdList:[],
+          incomeId:props.invoicePara.incomeId,
+          repairProject:''
         },
         visible:props.invoicePara.visible,
         title:props.invoicePara.title,
         billTypeList:[],
         deptPara:{
           visible:false
-        }
+        },
+        billNo:props.invoicePara.billNo
     });
 
 // 鏂板涓€琛�
@@ -384,6 +403,29 @@ const saveCMInvoice=()=>{
   });
   if(!isSave)
   return;
+if(data.saveInvoiceCmd.invoiceType=='棰勫紑绁�'  && data.saveInvoiceCmd.invoiceId=="" )
+{
+  Invoice.preInvoice(data.saveInvoiceCmd).then((rs)=>{
+    if (rs.code!='00000') {
+            return ElNotification.warning(rs.description);
+          }
+          context.emit('update:visible',false);
+          context.emit('closeQuery');
+  }) .catch(err => {
+          return ElNotification.error(err);
+        });
+}else if(data.saveInvoiceCmd.invoiceType=='琛ュ紑绁�' && data.saveInvoiceCmd.invoiceId=="")
+{
+  Invoice.suppInvoice(data.saveInvoiceCmd).then((rs)=>{
+    if (rs.code!='00000') {
+            return ElNotification.warning(rs.description);
+          }
+          context.emit('update:visible',false);
+          context.emit('closeQuery');
+  }) .catch(err => {
+          return ElNotification.error(err);
+        });
+}else{
   Invoice.saveInvoice(data.saveInvoiceCmd).then((rs)=>{
     if (rs.code!='00000') {
             return ElNotification.warning(rs.description);
@@ -393,6 +435,7 @@ const saveCMInvoice=()=>{
   }) .catch(err => {
           return ElNotification.error(err);
         });
+      }
 }
 const choiceDeptment=()=>{
   data.deptPara.visible=true;
diff --git a/WebSite/src/views/preinvoice/index.vue b/WebSite/src/views/preinvoice/index.vue
index 17464d7e4b5fb5a18d7fcadaf52b7a84948aa6ae..18313d6fc1a0d04d3eb613618346c54ffa9972cd 100644
--- a/WebSite/src/views/preinvoice/index.vue
+++ b/WebSite/src/views/preinvoice/index.vue
@@ -141,7 +141,6 @@
           style="width: 100%"
           :height="maxHeight"
           highlight-current-row
-           @row-click="selectRowChange"
         @selection-change="handleSelectionChange"
         >
         <el-table-column type="selection" show-overflow-tooltip  label="鎿嶄綔"
@@ -267,7 +266,9 @@ setup(){
           visible:false,
           title:'鏂板棰勫紑鍙戠エ',
           invoiceType:'棰勫紑绁�',
-          invoiceId:''
+          invoiceId:'',
+          billNo:'',
+          incomeId:''
         },
         fileList:[]
     });
diff --git a/WebSite/src/views/srincomequery/components/incomeallocation.vue b/WebSite/src/views/srincomequery/components/incomeallocation.vue
index d088e14f37d486f97d397d551ca9c9a03deac235..1f02dd6951f77c849cde82cea29c5be7cafa5ada 100644
--- a/WebSite/src/views/srincomequery/components/incomeallocation.vue
+++ b/WebSite/src/views/srincomequery/components/incomeallocation.vue
@@ -17,6 +17,7 @@
        style="width: 100%;"
           v-model="incomeAllocationCmd.incomeTypeId"
           placeholder="璇烽€夋嫨"
+          @change="incomeTypeChange"
         >
           <el-option
             v-for="item in incomeTypeList"
@@ -53,7 +54,7 @@
         <el-select
           clearable
           v-model="incomeAllocationCmd.projectTypeId"
-          placeholder="璇烽€夋嫨"
+          placeholder="璇烽€夋嫨" @change="changeProject"
         >
           <el-option
             v-for="item in projectTypeList"
@@ -113,6 +114,7 @@ import { onMounted, reactive, toRefs } from 'vue';
 import IncomeType from '@/api/IncomeType';
 import AccountEntryManage from '@/api/AccountEntryManage';
 import { ElMessage,ElNotification } from 'element-plus';
+import Common from '@/api/Common';
 export default {
   name: 'incomeallocation',
   emits: ['closeIncomeAllocation', 'update:visible'],
@@ -135,6 +137,7 @@ export default {
       billNo: props.incomeAllocationPara.billNo,
       incomeTypeList: [],
       projectTypeList: [],
+      projectList:[],
       isSupplement: false,
       entryModeList: [
         { key: '鍏ヨ处', value: '鍏ヨ处' },
@@ -152,15 +155,19 @@ export default {
         data.incomeTypeList = rs.data;
         data.incomeTypeList.push({ id: '', incomeTypeName: '寰呰棰�' });
       });
-      IncomeType.projectTypeList({incomeTypeId:data.incomeAllocationCmd.incomeTypeId}).then((rs) => {
+     
+    });
+    const changeProject=()=>{
+        IncomeType.projectTypeList({incomeTypeId:data.incomeAllocationCmd.incomeTypeId}).then((rs) => {
         if (rs.code != '00000') {
           return ElNotification.warning(rs.description);
         }
         data.projectTypeList = rs.data;
       });
-    });
+    }
+ 
     const closeIncomeAllocation = () => {
-      context.emit('update:visible', false);
+        context.emit('update:visible', false);
     };
     const saveIncomeAllocation=()=>{
        if(data.incomeAllocationCmd.incomeTypeId.length==0)
@@ -196,10 +203,38 @@ export default {
        }
        }
     }
+    const getProject=()=>{
+      const project={projectCode:''};
+       IncomeType.getProjectInfo({id:data.incomeAllocationCmd.projectTypeId}).then((rs)=>{
+        if (rs.code != '00000') {
+          return ElNotification.warning(rs.description);
+        }
+        project.projectCode=rs.data;
+      }).then(()=>{
+        Common.getProject(project).then((res)=>{
+          if (res.code != '00000') {
+          return ElNotification.warning(res.description);
+        }
+         data.projectList=res.data;
+        })
+      });
+     
+    }
+    const incomeTypeChange=()=>{
+      IncomeType.getIncomeInfo({id:data.incomeAllocationCmd.incomeTypeId}).then((rs) => {
+        if (rs.code != '00000') {
+          return ElNotification.warning(rs.description);
+        }
+        data.isSupplement = rs.data=='鏄�'?true:false;
+      });
+    }
     return {
       ...toRefs(data),
       closeIncomeAllocation,
-      saveIncomeAllocation
+      saveIncomeAllocation,
+      changeProject,
+      incomeTypeChange,
+      getProject
     };
   },
 };
diff --git a/WebSite/src/views/srincomequery/index.vue b/WebSite/src/views/srincomequery/index.vue
index 1f65360b95c6256c137d8a52f039381c530d2290..f3e2c29870815d28012e396d1ee3815635c77194 100644
--- a/WebSite/src/views/srincomequery/index.vue
+++ b/WebSite/src/views/srincomequery/index.vue
@@ -198,12 +198,12 @@
        
           <el-table-column label="浜ゆ槗鏃ユ湡"
             ><template v-slot="slot">
-              <span class="ellipsisclass">{{ slot.row.incomeDate }}</span>
+              <span class="ellipsisclass">{{ configdate(slot.row.incomeDate) }}</span>
             </template></el-table-column
           >
           <el-table-column label="閲戦"
             ><template v-slot="slot">
-              <span class="ellipsisclass">{{ slot.row.incomeAmount }}</span>
+              <span class="ellipsisclass">{{currency(slot.row.incomeAmount)  }}</span>
             </template></el-table-column
           >
           <el-table-column label="鏀舵璐︽埛"
@@ -314,7 +314,7 @@
 </template>
 
 <script>
-import { onMounted, reactive, toRefs } from 'vue';
+import { onMounted, reactive, toRefs,getCurrentInstance } from 'vue';
 import IncomeType from '@/api/IncomeType';
 import BankAccountNumber from '@/api/BankAccountNumber';
 import Income from '@/api/Income';
@@ -444,12 +444,23 @@ setup(){
     // }
        data.incomeAllocationPara.visible=true;
     }
+     //**閲戦鏍煎紡鍖� **/
+     const { proxy } = getCurrentInstance();
+    const configdate = value => {
+      if (value == null) return value;
+      else return proxy.$formatDate(value, 'yyyy-MM-dd');
+    };
+    const currency = value => {
+      return proxy.$currency(value, '');
+    };
     return{
         ...toRefs(data),
         incomeQuery,
         selectRowChange,
         changeWrongAccountAjust,
-        incomeAllocation
+        incomeAllocation,
+        configdate,
+        currency
     }
 }
 }
diff --git a/WebSite/src/views/srincomesupplementinvoice/index.vue b/WebSite/src/views/srincomesupplementinvoice/index.vue
index e6530cd57eb184b38e8fb7090b07b674bad11cdf..72deff9265c874a9c9290545eee4e4ad77585621 100644
--- a/WebSite/src/views/srincomesupplementinvoice/index.vue
+++ b/WebSite/src/views/srincomesupplementinvoice/index.vue
@@ -123,6 +123,11 @@ style="width:155px;" v-model="queryMod.endAmount"
        @click="queryIncomeSupplementInvoice"
        >鏌ヨ</el-button
      >
+     <el-button
+       type="primary"
+       @click="incomeSupplementInvoice"
+       >琛ュ紑鍙戠エ</el-button
+     >
 </el-form-item>
 </el-form>
 </div>
@@ -134,11 +139,9 @@ style="width:155px;" v-model="queryMod.endAmount"
           style="width: 100%"
           :height="maxHeight"
           highlight-current-row
+        @row-click="selectRowChange"
         >
-        <el-table-column  show-overflow-tooltip  label="鎿嶄綔"
-            >
-            </el-table-column
-          >
+       
         <el-table-column label="鍥炲崟鍗曞彿"
             ><template v-slot="slot">
               <span class="ellipsisclass">{{ slot.row.billNo }}</span>
@@ -229,7 +232,8 @@ style="width:155px;" v-model="queryMod.endAmount"
         v-model:limit="queryMod.pageSize"
         @pagination="queryIncomeSupplementInvoice()"
       />
-     
+      <CreateModifyInvoice :invoicePara="invoicePara" v-if="invoicePara.visible"
+      v-model:visible="invoicePara.visible" @closeQuery="queryIncomeSupplementInvoice"></CreateModifyInvoice>
         </div>
 </el-card>
 </div>
@@ -240,8 +244,10 @@ import { onMounted, reactive, toRefs } from 'vue';
 import LOBSupplement from '@/api/LOBSupplement';
 import IncomeType from '@/api/IncomeType';
 import BankAccountNumber from '@/api/BankAccountNumber';
+import CreateModifyInvoice from '../common/createmodifyinvoice.vue';
 export default {
 name:'srincomesupplementinvoice',
+components:{CreateModifyInvoice,Pagination},
 setup(){
     const data=reactive({
         queryMod:{
@@ -263,6 +269,14 @@ setup(){
         incomeSupplementInvoiceList:[],
         dataCount:0,
         maxHeight:window.innerHeight-355,
+        invoicePara:{
+          visible:false,
+          title:'琛ュ紑绁�',
+          invoiceType:'琛ュ紑绁�',
+          invoiceId:'',
+          billNo:'',
+          incomeId:''
+        }
     })
     onMounted(()=>{
         IncomeType.getIncomeList().then((res)=>{
@@ -286,6 +300,8 @@ setup(){
     });
     })
     const queryIncomeSupplementInvoice=()=>{
+      data.invoicePara.billNo='';
+      data.invoicePara.incomeId='';
         LOBSupplement.selectIncomeSupplementInvoicePage(data.queryMod).then((rs)=>{
             if (rs.code!='00000') {
           return ElNotification.warning(rs.description);
@@ -299,9 +315,19 @@ setup(){
     
     });
     }
+    const incomeSupplementInvoice=()=>{
+     data.invoicePara.visible=true;
+
+    }
+    const selectRowChange=(row)=>{
+    data.invoicePara.billNo=row.billNo;
+    data.invoicePara.incomeId=row.incomeId;
+    }
     return{
         ...toRefs(data),
-        queryIncomeSupplementInvoice
+        queryIncomeSupplementInvoice,
+        incomeSupplementInvoice,
+        selectRowChange
     }
 }
 }
diff --git a/WebSite/src/views/srinvoicetackle/index.vue b/WebSite/src/views/srinvoicetackle/index.vue
index 47291c1c23c1df1337d7d12684d8faf2d8b2d2b5..c6195dc3e446e8075c338b254add815dd4652ff9 100644
--- a/WebSite/src/views/srinvoicetackle/index.vue
+++ b/WebSite/src/views/srinvoicetackle/index.vue
@@ -130,7 +130,7 @@
         >
         <el-table-column  show-overflow-tooltip  label="鎿嶄綔" width="125px;">
           <template v-slot="slot">
-            <el-button type="text" v-if="slot.row.isSend=='鍚�'" @click="invoiceDetailById(slot.row)">璋冩暣</el-button>
+            <el-button type="text" v-if="slot.row.isSend=='鍚�'" @click="invoiceAdjuest(slot.row)">璋冩暣</el-button>
             <el-button type="text" v-if="slot.row.isSend=='鍚�'"  @click="invoiceDetailById(slot.row)">鍙戦€�</el-button>
             <el-button type="text" v-if="slot.row.isSend=='鍚�' && sow.row.invoiceType=='鍚屾寮€绁�'"  @click="rejectInvoiceById(slot.row)">椹冲洖</el-button>
             <el-button type="text" v-if="slot.row.invoiceState=='宸插紑'"  @click="invoiceDetailById(slot.row)">涓嬭浇</el-button>
@@ -231,6 +231,8 @@
         </el-card>
 <RejectInvoice v-if="rejectInvoicePara.visible" v-model:visible="rejectInvoicePara.visible"
 :rejectInvoicePara="rejectInvoicePara" @closeRejectInvoice="queryIncomeInvoide"></RejectInvoice>
+<CreateModifyInvoice :invoicePara="invoicePara" v-if="invoicePara.visible"
+v-model:visible="invoicePara.visible" @closeQuery="queryIncomeInvoide"></CreateModifyInvoice>
         </div>
 </template>
 
@@ -241,9 +243,10 @@ import Emun from '@/api/Emun';
 import AccountEntryManage from '@/api/AccountEntryManage';
 import RejectInvoice from './components/rejectinvoice.vue';
 import Pagination from 'element-plus/lib/el-pagination';
+import CreateModifyInvoice from '../common/createmodifyinvoice.vue';
 export default {
 name:"srinvoicetackle",
-components:{ Pagination,RejectInvoice},
+components:{ Pagination,RejectInvoice,CreateModifyInvoice},
 setup(){
   const data=reactive({
     queryMod:{
@@ -267,6 +270,14 @@ setup(){
           incomeId:'',
           invoiceId:'',
           visible:false
+        },
+        invoicePara:{
+          visible:false,
+          title:'',
+          invoiceType:'',
+          invoiceId:'',
+          billNo:'',
+          incomeId:''
         }
   });
   onMounted(()=>{
@@ -294,6 +305,13 @@ setup(){
     queryIncomeInvoide();
   })
   const queryIncomeInvoide=()=>{
+     data.rejectInvoicePara.incomeId='';
+     data.rejectInvoicePara.invoiceId='';
+     data.invoicePara.invoiceId='';
+     data.invoicePara.title='';
+     data.invoicePara.invoiceType='';
+     data.invoicePara.invoiceId='';
+     data.invoicePara.billNo='';
       AccountEntryManage.selectInvoiceTacklePage(data.queryMod).then((rs)=>{
         if (rs.code!='00000') {
           return ElNotification.warning(rs.description);
@@ -309,10 +327,19 @@ data.rejectInvoicePara.incomeId=row.incomeId;
 data.rejectInvoicePara.invoiceId=row.invoiceId;
 data.rejectInvoicePara.visible=true;
     }
+
+    const invoiceAdjuest=(row)=>{
+     data.invoicePara.title=row.invoiceType+'璋冩暣';
+     data.invoicePara.invoiceType=row.invoiceType;
+     data.invoicePara.invoiceId=row.id;
+     data.invoicePara.visible=true;
+     data.invoicePara.billNo=row.billNo;
+    }
   return {
     ...toRefs(data),
     queryIncomeInvoide,
-    rejectInvoiceById
+    rejectInvoiceById,
+    invoiceAdjuest
   }
 }
 }