Browse Source

Merge remote-tracking branch 'origin/master'

master
yxt_mtl 1 year ago
parent
commit
64e4b4a6f1
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/HomeKcCust.java
  2. 46
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  3. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  4. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  5. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  6. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  7. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  8. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  9. 202
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  10. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  11. 14
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue
  12. 3
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/AppCrmCustomerTempDto.java
  13. 69
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTemp.java
  14. 7
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java
  15. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java
  16. 40
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CustomerSecondSalesDto.java
  17. 5
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java
  18. 37
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  19. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  20. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java
  21. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java
  22. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  23. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeign.java
  24. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeignFallback.java
  25. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java
  26. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java
  27. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java
  28. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  29. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  30. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  31. 121
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  32. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  33. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordRest.java
  34. 93
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  35. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java
  36. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml
  37. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java
  38. 85
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  39. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  40. 24
      anrui-riskcenter-ui/src/api/Common/dictcommons.js
  41. 21
      anrui-riskcenter-ui/src/api/returntheaccount/returntheaccount.js
  42. 40
      anrui-riskcenter-ui/src/api/returntostorage/returntostorage.js
  43. 98
      anrui-riskcenter-ui/src/api/returntothewarehouse/returntothewarehouse.js
  44. 140
      anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js
  45. 129
      anrui-riskcenter-ui/src/api/secondarysublet/secondarysublet.js
  46. 65
      anrui-riskcenter-ui/src/components/publicPage/criterion.vue
  47. 307
      anrui-riskcenter-ui/src/components/publicPage/vehicleconfiguration.vue
  48. 171
      anrui-riskcenter-ui/src/router/index.js
  49. 4
      anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue
  50. 4
      anrui-riskcenter-ui/src/views/alsotransfer/alsotransfer.vue
  51. 18
      anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewAdd.vue
  52. 18
      anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewInfo.vue
  53. 18
      anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewReplenish.vue
  54. 27
      anrui-riskcenter-ui/src/views/monthlypayment/monthlypayment.vue
  55. 6
      anrui-riskcenter-ui/src/views/overduereconciliationcapital/overduereconciliationcapitalAdd.vue
  56. 2
      anrui-riskcenter-ui/src/views/overduereconciliationcapital/overduereconciliationcapitalInfo.vue
  57. 18
      anrui-riskcenter-ui/src/views/overduevehicle/relation/materialInfo.vue
  58. 10
      anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrol.vue
  59. 6
      anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrolAdd.vue
  60. 6
      anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrolInfo.vue
  61. 2
      anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue
  62. 128
      anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue
  63. 14
      anrui-riskcenter-ui/src/views/returnreserve/returnreserve.vue
  64. 404
      anrui-riskcenter-ui/src/views/returntheaccount/returntheaccount.vue
  65. 223
      anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue
  66. 323
      anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue
  67. 227
      anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue
  68. 354
      anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouse.vue
  69. 290
      anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouseAdd.vue
  70. 257
      anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouseInfo.vue
  71. 351
      anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue
  72. 553
      anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue
  73. 692
      anrui-riskcenter-ui/src/views/secondarysales/secondarysalesAdd.vue
  74. 470
      anrui-riskcenter-ui/src/views/secondarysales/secondarysalesInfo.vue
  75. 520
      anrui-riskcenter-ui/src/views/secondarysublet/secondarysublet.vue
  76. 402
      anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue
  77. 232
      anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletInfo.vue
  78. 8
      anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemption.vue
  79. 18
      anrui-riskcenter-ui/src/views/workFlow/cuishoucuoshiFlow/relation/materialInfo.vue
  80. 2
      anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue
  81. 709
      anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesByPGJ.vue
  82. 694
      anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesDaiBan.vue
  83. 651
      anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesEdit.vue
  84. 478
      anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesYiBan.vue
  85. 484
      anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletDaiBan.vue
  86. 372
      anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue
  87. 270
      anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletYiBan.vue
  88. 0
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/secondarysalesInfo.vue
  89. 232
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/secondarysubletInfo.vue
  90. 284
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/surrenderforredemptionInfo.vue
  91. 516
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseDaiBan.vue
  92. 287
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseEdit.vue
  93. 302
      anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseYiBan.vue
  94. 577
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue
  95. 370
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue
  96. 363
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue
  97. 185
      anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/relation/returntostorageInfo.vue
  98. 65
      anrui-riskcenter-ui/src/views/workFlow/publicPage/criterion.vue
  99. 307
      anrui-riskcenter-ui/src/views/workFlow/publicPage/vehicleconfiguration.vue
  100. 6
      anrui-riskcenter-ui/src/views/workFlow/yuanchengjiekongFlow/remotedecontrolDaiBan.vue

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/HomeKcCust.java

@ -83,6 +83,8 @@ public class HomeKcCust {
private String accCompAddress;
@ApiModelProperty("实际经营地址")
private String accCompxAddress;
@ApiModelProperty("股东人数")
private String shareNum;
@ApiModelProperty("挂车或上装是否公司采购(0是,1否)")
private String isCompBuy;
}

46
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -187,14 +187,6 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
public ResultBean saveOrUpdateDto(BaseOutsourcingApplicationDto dto) {
ResultBean rb = ResultBean.fireFail();
String orgPath = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgPath = dto.getOrgPath();
} else {
//取组织架构的全路径sid
SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
orgPath = sysStaffOrg.getOrgSidPath();
}
List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos = dto.getBaseOutsourcingApplicationVehicleDtos();
CommonAppendix contract = dto.getContract();
String sid = dto.getSid();
@ -208,32 +200,13 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
}
if (StringUtils.isBlank(sid)) {//新增
BaseOutsourcingApplication entity = new BaseOutsourcingApplication();
String billNo = getApplyCode(orgPath);
String billNo = getApplyCode(dto.getOrgPath());
dto.setApplicationCode(billNo);
BeanUtil.copyProperties(dto, entity, "sid");
entity.setApplicationCode(billNo);
entity.setApplicationDate(DateUtil.formatDate(new Date()));
String staffSid = dto.getStaffSid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {//TODO 封装到组织架构的feign中
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (isDept != null) {
if (isDept == 0 && !psid.equals(0)) {
orgSidPath = s;
break;
}
}
}
}
entity.setUseOrgSid(orgSidPath);
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
entity.setUseOrgSid(useOrgSid);
entity.setCreateBySid(dto.getUserSid());
entity.setNodeState("待提交");
String carBrandSid = dto.getCarBrandSid();
@ -246,10 +219,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
String purchasingUnitSid = dto.getPurchasingUnitSid();
String manufacturerCode = baseManufacturerService.fetchBySid(purchasingUnitSid).getManufacturerCode();
entity.setSupplierCode(manufacturerCode);
String useOrgSid = dto.getUseOrgSid();
String orgCode = sysOrganizationFeign.fetchBySid(useOrgSid).getData().getOrgCode();
entity.setOrgCode(orgCode);
entity.setOrgSidPath(orgPath);
entity.setOrgSidPath(dto.getOrgPath());
save(entity);
for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) {
BaseOutsourcingApplicationVehicle baseOutsourcingApplicationVehicle = new BaseOutsourcingApplicationVehicle();
@ -267,7 +239,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
}
return rb.success().setMsg("添加成功").setData(entity.getSid());
}
dto.setOrgSidPath(orgPath);
dto.setOrgSidPath(dto.getOrgPath());
updateBySid(dto, sid);
baseOutsourcingApplicationVehicleService.deleteByOutAppSid(sid);
for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) {
@ -777,11 +749,11 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
if (costTitleKey.equals(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode())) {
int price = booad.getPurchasePrice().intValue();
Integer num = booad.getNum();
finPaymentrecordDto.setCost(price * num - booad.getDeposit().intValue());
finPaymentrecordDto.setAccountsReceive(price * num - booad.getDeposit().intValue());
finPaymentrecordDto.setCost(String.valueOf(price * num - booad.getDeposit().intValue()));
finPaymentrecordDto.setAccountsReceive(String.valueOf(price * num - booad.getDeposit().intValue()));
} else if (costTitleKey.equals(ManPurOrderType.CostTitle.DJ_COSTTITLE.getCode())) {
finPaymentrecordDto.setCost(booad.getDeposit().intValue());
finPaymentrecordDto.setAccountsReceive(booad.getDeposit().intValue());
finPaymentrecordDto.setCost(String.valueOf(booad.getDeposit().intValue()));
finPaymentrecordDto.setAccountsReceive(String.valueOf(booad.getDeposit().intValue()));
}
//供应商编码
String purchasingUnitSid = booad.getPurchasingUnitSid();

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -1302,7 +1302,7 @@
<select id="selectByVinNoAndOrgSid" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicle">
SELECT *
FROM base_vehicle
WHERE vinNo = #{vinNo}
WHERE vinNo like concat('%',#{vinNo},'%')
AND useOrgSid = #{useOrgSid}
AND isDelete = 0
AND vehicleState != "0004"

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -633,8 +633,8 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(baseVehicleActualSales.getUseOrgSid());
finPaymentrecordDto.setUseOrgSid(baseVehicleActualSales.getUseOrgSid());
finPaymentrecordDto.setCost(Integer.valueOf(v.getPayAccount()));
finPaymentrecordDto.setAccountsReceive(Integer.valueOf(v.getPayAccount()));
finPaymentrecordDto.setCost(v.getPayAccount());
finPaymentrecordDto.setAccountsReceive(v.getPayAccount());
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode());
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.CK_COSTTITLE.getRemarks());
finPaymentrecordDto.setCostTypeKey(DictCommonEnum.costType.CG_TYPE.getCode());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -692,8 +692,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(busVehicleApply.getCreateOrgSid());
finPaymentrecordDto.setUseOrgSid(busVehicleApply.getCreateOrgSid());
finPaymentrecordDto.setCost(busVehicleApply.getCurrentAmount().intValue());
finPaymentrecordDto.setAccountsReceive(busVehicleApply.getCurrentAmount().intValue());
finPaymentrecordDto.setCost(busVehicleApply.getCurrentAmount().toString());
finPaymentrecordDto.setAccountsReceive(busVehicleApply.getCurrentAmount().toString());
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.DJ_COSTTITLE.getCode());
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.DJ_COSTTITLE.getRemarks());
finPaymentrecordDto.setCostTypeKey(DictCommonEnum.costType.DJ_TYPE.getCode());

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -393,4 +393,9 @@ public interface BusSalesOrderFeign {
@PostMapping("/saveSaleOrderInputLender/{saleOrderSid}/{sid}")
@ResponseBody
ResultBean<SalesLenderVo> saveSaleOrderInputLender(@PathVariable("saleOrderSid") String saleOrderSid, @PathVariable("sid") String sid);
@ApiOperation("查询销售订单价格信息")
@PostMapping("/selectByContractNoOne")
@ResponseBody
ResultBean<BusSalesOrderPrice> selectByContractNoOne(@RequestParam("contractNo") String contractNo);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -366,4 +366,9 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
public ResultBean<SalesLenderVo> saveSaleOrderInputLender(String saleOrderSid, String sid) {
return null;
}
@Override
public ResultBean<BusSalesOrderPrice> selectByContractNoOne(String contractNo) {
return null;
}
}

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -1443,7 +1443,6 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
finVehicleInvoiceDto.setIsTakeTicket(busBillApplication.getIsLQOrigInvoice());
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto);

202
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

@ -2163,122 +2163,120 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
} catch (Exception e) {
e.printStackTrace();
}
}
//------------------推送抵押办理------------------------
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusHandover mortgageHandover = busHandover;
Future future1 = pool.submit(() -> {
String orderSid = mortgageHandover.getOrderSid();
BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid);
String createBySid = "";
String staff = "";
String staffSid = "";
String bankName = "";
String bankSid = "";
String orgPath = "";
String dept = "";
String deptSid = "";
if (null != salesOrder) {
if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) {
if ("2".equals(salesOrder.getPayTypeKey())) {
if (StringUtils.isNotBlank(salesOrder.getCreateBySid())) {
createBySid = salesOrder.getCreateBySid();
}
if (StringUtils.isNotBlank(salesOrder.getOrgSidPath())) {
orgPath = salesOrder.getOrgSidPath();
}
if (StringUtils.isNotBlank(salesOrder.getStaffSid())) {
staffSid = salesOrder.getStaffSid();
}
if (StringUtils.isNotBlank(salesOrder.getStaffName())) {
staff = salesOrder.getStaffName();
}
if (StringUtils.isNotBlank(salesOrder.getOrgName())) {
dept = salesOrder.getOrgName();
}
if (StringUtils.isNotBlank(salesOrder.getOrgSid())) {
deptSid = salesOrder.getOrgSid();
}
LoanSolutions solutions = loanSolutionsFeign.getOneByOrderSid(orderSid).getData();
if (null != solutions) {
if (StringUtils.isNotBlank(solutions.getPolicySid())) {
LoanFinPolicyVo policyVo = loanFinPolicyFeign.details(solutions.getPolicySid()).getData();
if (null != policyVo) {
if (StringUtils.isNotBlank(policyVo.getBankSid())) {
bankSid = policyVo.getBankSid();
}
if (StringUtils.isNotBlank(policyVo.getBankShortName())) {
bankName = policyVo.getBankShortName();
//------------------推送抵押办理------------------------
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusHandover mortgageHandover = busHandover;
Future future1 = pool.submit(() -> {
String orderSid = mortgageHandover.getOrderSid();
BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid);
String createBySid = "";
String staff = "";
String staffSid = "";
String bankName = "";
String bankSid = "";
String orgPath = "";
String dept = "";
String deptSid = "";
if (null != salesOrder) {
if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) {
if ("2".equals(salesOrder.getPayTypeKey())) {
if (StringUtils.isNotBlank(salesOrder.getCreateBySid())) {
createBySid = salesOrder.getCreateBySid();
}
if (StringUtils.isNotBlank(salesOrder.getOrgSidPath())) {
orgPath = salesOrder.getOrgSidPath();
}
if (StringUtils.isNotBlank(salesOrder.getStaffSid())) {
staffSid = salesOrder.getStaffSid();
}
if (StringUtils.isNotBlank(salesOrder.getStaffName())) {
staff = salesOrder.getStaffName();
}
if (StringUtils.isNotBlank(salesOrder.getOrgName())) {
dept = salesOrder.getOrgName();
}
if (StringUtils.isNotBlank(salesOrder.getOrgSid())) {
deptSid = salesOrder.getOrgSid();
}
LoanSolutions solutions = loanSolutionsFeign.getOneByOrderSid(orderSid).getData();
if (null != solutions) {
if (StringUtils.isNotBlank(solutions.getPolicySid())) {
LoanFinPolicyVo policyVo = loanFinPolicyFeign.details(solutions.getPolicySid()).getData();
if (null != policyVo) {
if (StringUtils.isNotBlank(policyVo.getBankSid())) {
bankSid = policyVo.getBankSid();
}
if (StringUtils.isNotBlank(policyVo.getBankShortName())) {
bankName = policyVo.getBankShortName();
}
}
}
}
}
List<BusHandoverItems> vinItems = busHandoverItemsService.getItemsListByMainSid(mortgageHandover.getSid()).getData();
vinItems.removeAll(Collections.singleton(null));
if (!vinItems.isEmpty()) {
vinItems = vinItems.stream().filter(obj -> obj.getVehivelOrTrailer().equals("主车")).collect(Collectors.toList());
for (BusHandoverItems vinItem : vinItems) {
LoanMortgageInformationTransactDto mortagageDto = new LoanMortgageInformationTransactDto();
mortagageDto.setCreateBySid(createBySid);
mortagageDto.setOrgSidPath(orgPath);
mortagageDto.setSalesOrderSid(orderSid);
mortagageDto.setBankName(bankName);
mortagageDto.setBankSid(bankSid);
mortagageDto.setDept(dept);
mortagageDto.setDeptSid(deptSid);
mortagageDto.setStaffSid(staffSid);
mortagageDto.setStaff(staff);
if (StringUtils.isNotBlank(vinItem.getVinSid())) {
mortagageDto.setVehSid(vinItem.getVinSid());
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectOneByVehSidAndOrderSid(vinItem.getVinSid(), orderSid);
if (null != busSalesOrderVehicle) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String linkNo = busSalesOrderVehicle.getLinkNo();
if (linkNo.length() > 8) {
String substringLinkNo = linkNo.substring(linkNo.length() - 8);
mortagageDto.setVinNo(substringLinkNo);
} else {
mortagageDto.setVinNo(linkNo);
List<BusHandoverItems> vinItems = busHandoverItemsService.getItemsListByMainSid(mortgageHandover.getSid()).getData();
vinItems.removeAll(Collections.singleton(null));
if (!vinItems.isEmpty()) {
vinItems = vinItems.stream().filter(obj -> obj.getVehivelOrTrailer().equals("主车")).collect(Collectors.toList());
for (BusHandoverItems vinItem : vinItems) {
LoanMortgageInformationTransactDto mortagageDto = new LoanMortgageInformationTransactDto();
mortagageDto.setCreateBySid(createBySid);
mortagageDto.setOrgSidPath(orgPath);
mortagageDto.setSalesOrderSid(orderSid);
mortagageDto.setBankName(bankName);
mortagageDto.setBankSid(bankSid);
mortagageDto.setDept(dept);
mortagageDto.setDeptSid(deptSid);
mortagageDto.setStaffSid(staffSid);
mortagageDto.setStaff(staff);
if (StringUtils.isNotBlank(vinItem.getVinSid())) {
mortagageDto.setVehSid(vinItem.getVinSid());
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectOneByVehSidAndOrderSid(vinItem.getVinSid(), orderSid);
if (null != busSalesOrderVehicle) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String linkNo = busSalesOrderVehicle.getLinkNo();
if (linkNo.length() > 8) {
String substringLinkNo = linkNo.substring(linkNo.length() - 8);
mortagageDto.setVinNo(substringLinkNo);
} else {
mortagageDto.setVinNo(linkNo);
}
}
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getSid())) {
mortagageDto.setBusVinSid(busSalesOrderVehicle.getSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())) {
mortagageDto.setBorrowerSid(busSalesOrderVehicle.getBorrowerSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowName())) {
mortagageDto.setBorrowerName(busSalesOrderVehicle.getBorrowName());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLoanContractSid())) {
mortagageDto.setLoanContractSid(busSalesOrderVehicle.getLoanContractSid());
BusSalesOrderLoancontract loancontract = busSalesOrderLoancontractService.fetchBySid(busSalesOrderVehicle.getLoanContractSid());
if (null != loancontract) {
if (StringUtils.isNotBlank(loancontract.getLoanContractNo())) {
mortagageDto.setLoanContractNo(loancontract.getLoanContractNo());
if (StringUtils.isNotBlank(busSalesOrderVehicle.getSid())) {
mortagageDto.setBusVinSid(busSalesOrderVehicle.getSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())) {
mortagageDto.setBorrowerSid(busSalesOrderVehicle.getBorrowerSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowName())) {
mortagageDto.setBorrowerName(busSalesOrderVehicle.getBorrowName());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLoanContractSid())) {
mortagageDto.setLoanContractSid(busSalesOrderVehicle.getLoanContractSid());
BusSalesOrderLoancontract loancontract = busSalesOrderLoancontractService.fetchBySid(busSalesOrderVehicle.getLoanContractSid());
if (null != loancontract) {
if (StringUtils.isNotBlank(loancontract.getLoanContractNo())) {
mortagageDto.setLoanContractNo(loancontract.getLoanContractNo());
}
}
}
}
}
}
loanMortgageInformationTransactFeign.saveMortgageInfo(mortagageDto);
}
loanMortgageInformationTransactFeign.saveMortgageInfo(mortagageDto);
}
}
}
}
}
});
} catch (Exception e) {
e.printStackTrace();
});
} catch (Exception e) {
e.printStackTrace();
}
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -449,4 +449,9 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public ResultBean<SalesLenderVo> saveSaleOrderInputLender(String saleOrderSid, String sid) {
return busSalesOrderService.saveSaleOrderInputLender(saleOrderSid,sid);
}
@Override
public ResultBean<BusSalesOrderPrice> selectByContractNoOne(String contractNo) {
return busSalesOrderService.selectByContractNoOne(contractNo);
}
}

14
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue

@ -179,7 +179,7 @@
</el-col>
<el-col :span="8">
<el-form-item prop="receiveCompany">
<el-select v-model="formobj.receiveCompany" placeholder="请选择" @change="changerRceiveCompany" clearable>
<el-select v-model="formobj.receiveCompany" placeholder="请选择" @change="changerRceiveCompany" class="addinputw" clearable>
<el-option v-for="item in receiveCompany_list" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
@ -189,7 +189,7 @@
</el-col>
<el-col :span="8">
<el-form-item prop="receiveBankAccount">
<el-select v-model="formobj.receiveBankAccount" placeholder="请选择" @change="changeReceiveBankAccount" clearable>
<el-select v-model="formobj.receiveBankAccount" placeholder="请选择" @change="changeReceiveBankAccount" class="addinputw" clearable>
<el-option v-for="item in receiveBankAccount_list" :key="item.receiveBankAccount" :label="item.receiveBankAccount" :value="item.receiveBankAccount"/>
</el-select>
</el-form-item>
@ -209,7 +209,7 @@
</el-col>
<el-col :span="8">
<el-form-item prop="cost">
<el-input v-model="formobj.cost" clearable placeholder="" class="addinputw" />
<el-input v-model="formobj.cost" :disabled="disabledCost" clearable placeholder="" class="addinputw" />
</el-form-item>
</el-col>
</el-row>
@ -239,7 +239,7 @@
</el-col>
<el-col :span="8">
<el-form-item prop="payBankAccount">
<el-select v-model="formobj.payBankAccount" placeholder="请选择" @change="changePayBankAccount" clearable>
<el-select v-model="formobj.payBankAccount" placeholder="请选择" @change="changePayBankAccount" class="addinputw" clearable>
<el-option v-for="item in payBankAccount_list" :key="item.bankAccount" :label="item.bankAccount" :value="item.bankAccount"/>
</el-select>
</el-form-item>
@ -407,6 +407,7 @@ export default {
payCode: '', //
cost: ''
},
disabledCost: false,
imgList: [],
rules: {
payWayValue: [{ required: true, message: '请选择付款方式', trigger: 'change' }],
@ -654,10 +655,14 @@ export default {
},
handleEdit(row) {
this.dialogVisible = true
if (row.costTypeValue === '垫款' || row.costTypeValue === '月还代收') {
this.disabledCost = true
}
this.formobj.payRemark = row.payRemark
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.cost = row.cost
this.formobj.receiveCompany = row.receiveCompany
this.formobj.receiveBankAccount = row.receiveBankAccount
this.formobj.receiveBank = row.receiveBank
@ -798,6 +803,7 @@ export default {
payCode: '', //
cost: ''
}
this.disabledCost = false
this.submitdisabled = false
this.diploma_list = []
this.$refs['form_obj'].resetFields()

3
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/AppCrmCustomerTempDto.java

@ -163,4 +163,7 @@ public class AppCrmCustomerTempDto implements Dto {
@ApiModelProperty("身份证正反面")
private List<String> filePaths = Collections.emptyList();
@ApiModelProperty("证件地址")
private String certificateAddress;
}

69
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTemp.java

@ -25,79 +25,79 @@ import lombok.Data;
public class CrmCustomerTemp extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("省")
private String province;
@ApiModelProperty("市")
private String city;
@ApiModelProperty("县")
private String county;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("邮编")
private String zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ -106,16 +106,16 @@ public class CrmCustomerTemp extends BaseEntity {
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("性别")
private String sex;
@ -124,13 +124,13 @@ public class CrmCustomerTemp extends BaseEntity {
@ApiModelProperty("生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ -139,13 +139,13 @@ public class CrmCustomerTemp extends BaseEntity {
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ -154,4 +154,7 @@ public class CrmCustomerTemp extends BaseEntity {
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("证件地址")
private String certificateAddress;
}

7
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java

@ -98,6 +98,7 @@ public interface CrmCustomerTempFeign {
/**
* 客户列表导出
*
* @param crmCustomerTempQuery
*/
@PostMapping("/exportExcel")
@ -221,5 +222,9 @@ public interface CrmCustomerTempFeign {
@ApiOperation("根据客户sid修改身份证号码")
@PostMapping("/updateIdBySid")
ResultBean updateIdBySid(@RequestParam("idCard") String idCard,@RequestParam("custSid") String custSid);
ResultBean updateIdBySid(@RequestParam("idCard") String idCard, @RequestParam("custSid") String custSid);
@ApiOperation("新增或更新客户信息")
@PostMapping("/updateTemp")
ResultBean<String> updateTemp(@RequestBody CustomerSecondSalesDto dto);
}

5
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java

@ -175,5 +175,10 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
return null;
}
@Override
public ResultBean<String> updateTemp(CustomerSecondSalesDto dto) {
return null;
}
}

40
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CustomerSecondSalesDto.java

@ -0,0 +1,40 @@
package com.yxt.anrui.crm.api.crmcustomertemp;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/30
**/
@Data
public class CustomerSecondSalesDto implements Dto {
private static final long serialVersionUID = -1955772984622113809L;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户类型")
private String customerType;
private String customerTypeKey;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("证件类型")
private String certificateTypeKey;
private String certificateType;
@ApiModelProperty("证件号码")
@JsonProperty("IDNumber")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("证件地址")
private String certificateAddress;
private String userSid;
private String orgPath;
}

5
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java

@ -352,5 +352,10 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
return rb.success();
}
@Override
public ResultBean<String> updateTemp(CustomerSecondSalesDto dto) {
return crmCustomerTempService.updateTemp(dto);
}
}

37
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -1158,7 +1158,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
String dtoSid = dto.getSid();
//手机号
String phone = dto.getPhone();
if (StringUtils.isNotBlank(phone)){
if (StringUtils.isNotBlank(phone)) {
if (!phone.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("手机号格式不正确");
}
@ -1318,4 +1318,39 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
// }
return records;
}
public ResultBean<String> updateTemp(CustomerSecondSalesDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
AppCrmCustomerTempDto appCrmCustomerTempDto = new AppCrmCustomerTempDto();
if(StringUtils.isNotBlank(dto.getCustomerSid())){
CrmCustomerTemp customerTemp = fetchBySid(dto.getCustomerSid());
BeanUtils.copyProperties(customerTemp,appCrmCustomerTempDto);
appCrmCustomerTempDto.setSid(dto.getCustomerSid());
appCrmCustomerTempDto.setCertificateTypeKey(dto.getCertificateTypeKey());
appCrmCustomerTempDto.setCertificateType(dto.getCertificateType());
appCrmCustomerTempDto.setIDNumber(dto.getIDNumber());
appCrmCustomerTempDto.setEndDate(dto.getEndDate());
appCrmCustomerTempDto.setCertificateAddress(dto.getCertificateAddress());
appCrmCustomerTempDto.setUserSid(dto.getUserSid());
}else{
appCrmCustomerTempDto.setSid(dto.getCustomerSid());
appCrmCustomerTempDto.setName(dto.getCustomerName());
appCrmCustomerTempDto.setMobile(dto.getMobile());
appCrmCustomerTempDto.setCertificateTypeKey(dto.getCertificateTypeKey());
appCrmCustomerTempDto.setCertificateType(dto.getCertificateType());
appCrmCustomerTempDto.setCustomerType(dto.getCustomerType());
appCrmCustomerTempDto.setCustomerTypeKey(dto.getCustomerTypeKey());
appCrmCustomerTempDto.setIDNumber(dto.getIDNumber());
appCrmCustomerTempDto.setEndDate(dto.getEndDate());
appCrmCustomerTempDto.setCertificateAddress(dto.getCertificateAddress());
appCrmCustomerTempDto.setUserSid(dto.getUserSid());
appCrmCustomerTempDto.setOrgPath(dto.getOrgPath());
}
ResultBean<String> resultBean = saveOrUpdateAppCustomerTemp(appCrmCustomerTempDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java

@ -269,4 +269,9 @@ public interface FinBillApplicationFeign {
@GetMapping("/selectByContractNo")
@ResponseBody
ResultBean<BillApplicationIInfoVoss> selectByContractNo(@RequestParam("contractId") String contractId, @RequestParam("vins") List<String> vins);
@ApiOperation("根据合同号查询")
@GetMapping("/selectByCon")
@ResponseBody
ResultBean<FinBillApplicationDetailsVo> selectByCon(@RequestParam("contractNo") String contractNo);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java

@ -281,4 +281,9 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
public ResultBean<BillApplicationIInfoVoss> selectByContractNo(String contractId, List<String> vins) {
return null;
}
@Override
public ResultBean<FinBillApplicationDetailsVo> selectByCon(String contractNo) {
return null;
}
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java

@ -31,6 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -95,10 +96,14 @@ public class FinPaymentrecord extends BaseEntity {
private String receiveBank;
@ApiModelProperty("收款单位名称")
private String receiveCompany;
@ApiModelProperty(value = "实收金额")
/*@ApiModelProperty(value = "实收金额")
private Integer cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private Integer accountsReceive;*/
@ApiModelProperty(value = "实收金额")
private BigDecimal cost;
@ApiModelProperty(value = "应收金额")
private BigDecimal accountsReceive;
@ApiModelProperty(value = "业务编号")
private String busSid;

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -75,9 +75,9 @@ public class FinPaymentrecordDto implements Dto {
@ApiModelProperty("收款单位名称")
private String receiveCompany;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
@ApiModelProperty(value = "业务编号")
private String busSid;
@ApiModelProperty(value = "付款备注")

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeign.java

@ -70,7 +70,13 @@ public interface FinPaymentrecordFeign {
@ApiOperation("新增")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody FinPaymentrecordDto dto);
public ResultBean<String> save(@RequestBody FinPaymentrecordDto dto);
@ApiOperation("新增")
@PostMapping("/saveReturnSid")
@ResponseBody
public ResultBean<String> saveReturnSid(@RequestBody FinPaymentrecordDto dto);
@ApiOperation("修改")
@PostMapping("/update")

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeignFallback.java

@ -62,8 +62,13 @@ public class FinPaymentrecordFeignFallback implements FinPaymentrecordFeign {
}
@Override
public ResultBean save(FinPaymentrecordDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-fin/finpaymentrecord/save无法访问");
public ResultBean<String> save(FinPaymentrecordDto dto) {
return null;
}
@Override
public ResultBean<String> saveReturnSid(FinPaymentrecordDto dto) {
return null;
}
@Override

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java

@ -49,7 +49,7 @@ public class FinPaymentrecordUpdateDto implements Dto {
@ApiModelProperty("供应商编码")
private String payCode;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java

@ -79,9 +79,9 @@ public class FinPaymentrecordVo implements Vo {
@ApiModelProperty(value = "收款账号")
private String receiveBankAccount;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
@ApiModelProperty(value = "付款凭证")
private List<String> payFiles;

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java

@ -46,5 +46,7 @@ public class PaymentVoucher {
public BigDecimal amount;
@ApiModelProperty("备注")
public String remarks;
@ApiModelProperty("借贷方类型")
public String type;
}
}

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java

@ -95,4 +95,7 @@ public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication>
BillApplicationIInfoVoss selectByContractNos(String contractId);
VinListVos selectByBus(@Param("contractNo") String contractId,@Param("vinSid") String s);
@Select("select * from fin_bill_application where contractNo = #{contractNo} limit 1")
FinBillApplicationDetailsVo selectByCon(String contractNo);
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java

@ -340,4 +340,9 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
public ResultBean<BillApplicationIInfoVoss> selectByContractNo(String contractId, List<String> vins) {
return finBillApplicationService.selectByContractNo(contractId,vins);
}
@Override
public ResultBean<FinBillApplicationDetailsVo> selectByCon(String contractNo) {
return finBillApplicationService.selectByCon(contractNo);
}
}

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -4779,4 +4779,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
billApplicationIInfoVoss.setFinBillTrailers(pcSelBillGcVos);
return rb.success().setData(billApplicationIInfoVoss);
}
public ResultBean<FinBillApplicationDetailsVo> selectByCon(String contractNo) {
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = baseMapper.selectByCon(contractNo);
return rb.success().setData(finBillApplicationDetailsVo);
}
}

121
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -3804,36 +3804,75 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(planSid).getData();
if (null != planDetails) {
if (null != planDetails.getPaymentMoney()) {
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) {
String orderSid = planDetails.getSalesOrderSid();
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
BigDecimal paymentMoney = planDetails.getPaymentMoney();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setPayCostTitleKey("007");
jr.setPayCostTitleValue("资方退还垫款");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRService.insert(jr);
if (v.getReceivablesName().equals("月还")) {
if (null != planDetails.getPaymentMoney()) {
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) {
String orderSid = planDetails.getSalesOrderSid();
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
BigDecimal paymentMoney = planDetails.getPaymentMoney();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setPayCostTitleKey("007");
jr.setPayCostTitleValue("资方退还垫款");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRService.insert(jr);
}
}
}
}
}
}
if (v.getReceivablesName().equals("资方逾期利息")) {
if (null != planDetails.getPaymentInterest()) {
if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) {
String orderSid = planDetails.getSalesOrderSid();
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
BigDecimal paymentInterest = planDetails.getPaymentInterest();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentInterest(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setPayCostTitleKey("007");
jr.setPayCostTitleValue("资方退还垫款");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRService.insert(jr);
}
}
}
}
@ -3843,17 +3882,17 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
//认资金占用费消减平台资金占用费
if (v.getReceivablesName().equals("资金占用费")) {
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(jr.getBusSid()).getData();
if (planDetails != null) {
if (planDetails.getFund() != null) {
BigDecimal fund = planDetails.getFund();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = fund.subtract(new BigDecimal(subscriptionMoney));
planDetails.setFund(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
}
}
// FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
// LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(jr.getBusSid()).getData();
// if (planDetails != null) {
// if (planDetails.getFund() != null) {
// BigDecimal fund = planDetails.getFund();
// String subscriptionMoney = v.getSubscriptionMoney();
// BigDecimal subtract = fund.subtract(new BigDecimal(subscriptionMoney));
// planDetails.setFund(subtract);
// loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
// }
// }
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -512,8 +512,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordDto.setReceiveBank(finPaymentapplyDetailVo.getBank());
//金额
if (StringUtils.isNotBlank(finPaymentapplyDetailVo.getPayAccount())) {
finPaymentrecordDto.setCost(Integer.valueOf(finPaymentapplyDetailVo.getPayAccount()));
finPaymentrecordDto.setAccountsReceive(Integer.valueOf(finPaymentapplyDetailVo.getPayAccount()));
finPaymentrecordDto.setCost(finPaymentapplyDetailVo.getPayAccount());
finPaymentrecordDto.setAccountsReceive(finPaymentapplyDetailVo.getPayAccount());
}
finPaymentrecordService.saveDto(finPaymentrecordDto);
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordRest.java

@ -73,10 +73,15 @@ public class FinPaymentrecordRest implements FinPaymentrecordFeign {
}
@Override
public ResultBean save(FinPaymentrecordDto dto) {
public ResultBean<String> save(FinPaymentrecordDto dto) {
return finPaymentrecordService.saveDto(dto);
}
@Override
public ResultBean<String> saveReturnSid(FinPaymentrecordDto dto) {
return finPaymentrecordService.saveReturnSid(dto);
}
@Override
public ResultBean update(FinPaymentrecordUpdateDto dto) {
return finPaymentrecordService.updateAll(dto);

93
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -52,8 +52,10 @@ import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDet
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply;
import com.yxt.anrui.fin.api.finpaymentrecord.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.biz.finpaymentapply.FinPaymentapplyService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRService;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.portal.api.flow.FlowableFeign;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
@ -66,6 +68,15 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyFeign;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanMoneyVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.ConstantUtils;
@ -89,6 +100,7 @@ import org.springframework.stereotype.Service;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.*;
import java.util.concurrent.*;
@ -147,6 +159,16 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
private BaseVehicleActualDetailsFeign baseVehicleActualDetailsFeign;
@Autowired
private MessageListFeign messageListFeign;
@Autowired
private LoanBePadsincereApplyFeign loanBePadsincereApplyFeign;
@Autowired
private LoanBePadsincereVehFeign loanBePadsincereVehFeign;
@Autowired
private LoanRepaymentPlanDetailsFeign loanRepaymentPlanDetailsFeign;
@Autowired
private FinUncollectedReceivablesDetailedJRService finUncollectedReceivablesDetailedJRService;
@Autowired
private LoanTransferPaymentApplyFeign loanTransferPaymentApplyFeign;
public PagerVo<FinPaymentrecordVo> listPageVo(PagerQuery<FinPaymentrecordQuery> pq) {
FinPaymentrecordQuery query = pq.getParams();
@ -303,12 +325,20 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
return p;
}
public ResultBean saveDto(FinPaymentrecordDto dto) {
public ResultBean<String> saveDto(FinPaymentrecordDto dto) {
ResultBean rb = ResultBean.fireFail();
FinPaymentrecord finPaymentrecord = new FinPaymentrecord();
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
baseMapper.insert(finPaymentrecord);
return rb.success();
return rb.success().setData(finPaymentrecord.getSid());
}
public ResultBean<String> saveReturnSid(FinPaymentrecordDto dto) {
ResultBean rb = ResultBean.fireFail();
FinPaymentrecord finPaymentrecord = new FinPaymentrecord();
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
baseMapper.insert(finPaymentrecord);
return rb.success().setData(finPaymentrecord.getSid());
}
public ResultBean updateAll(FinPaymentrecordUpdateDto dto) {
@ -338,11 +368,44 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<String> list = new ArrayList<>();
for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
//更新还款计划表垫款金额和逾期利息
if ("007".equals(finPaymentrecord.getCostTypeKey())) {
List<LoanBePadsincereVehDetailsVo> loanBePadsincereVehDetailsVos = loanBePadsincereVehFeign.selByMainSid(finPaymentrecord.getBusSid()).getData();
for (LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo : loanBePadsincereVehDetailsVos) {
log.info("车辆sid++++++++++++++++++++++++++++++++++++++++++" + loanBePadsincereVehDetailsVo.getBusVinSid());
log.info("期数++++++++++++++++++++++++++++++++++++++++++" + loanBePadsincereVehDetailsVo.getPeriod());
LoanRepaymentPlanMoneyVo loanRepaymentPlanMoneyVo = loanRepaymentPlanDetailsFeign.selVehSidAndPeriod(loanBePadsincereVehDetailsVo.getBusVinSid(), loanBePadsincereVehDetailsVo.getPeriod()).getData();
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(loanRepaymentPlanMoneyVo.getSid()).getData();
String paymentMoney = loanRepaymentPlanMoneyVo.getPaymentMoney().add(new BigDecimal(loanBePadsincereVehDetailsVo.getPadMoney())).toString();
String paymentInterest = loanRepaymentPlanMoneyVo.getPaymentInterest().add(new BigDecimal(loanBePadsincereVehDetailsVo.getBankBeInter())).toString();
loanRepaymentPlanDetailsFeign.updateVehSidAndPeriod(loanBePadsincereVehDetailsVo.getBusVinSid(), loanBePadsincereVehDetailsVo.getPeriod(), paymentMoney, paymentInterest);
//推送金融应收
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(finPaymentrecord.getCreateBySid());
SysUserVo userVo = sysUserFeign.fetchBySid(finPaymentrecord.getCreateBySid()).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planDetails.getSid());
jr.setApplySid(finPaymentrecord.getBusSid());
jr.setCurrentReceivableMoney(new BigDecimal(paymentInterest));
jr.setReveivableMoney(new BigDecimal(paymentInterest));
jr.setPayCostTitleKey("005");
jr.setPayCostTitleValue("资方逾期利息");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRService.insert(jr);
}
}
FinPaymentrecord finPaymentrecordOne = null;
if (dto.getCost() < finPaymentrecord.getAccountsReceive()) {//实收金额小于应收金额
if (new BigDecimal(dto.getCost()).compareTo(finPaymentrecord.getAccountsReceive()) < 0) {//实收金额小于应收金额
finPaymentrecordOne = new FinPaymentrecord();
BeanUtil.copyProperties(finPaymentrecord, finPaymentrecordOne, "sid");
finPaymentrecordOne.setAccountsReceive(finPaymentrecord.getAccountsReceive() - dto.getCost());
finPaymentrecordOne.setAccountsReceive(finPaymentrecord.getAccountsReceive().subtract(new BigDecimal(dto.getCost())));
finPaymentrecordOne.setCost(finPaymentrecordOne.getAccountsReceive());
}
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
@ -455,6 +518,18 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
} else if ("006".equals(costTypeKey)) {
//推送转付记录
Future future1 = pool.submit(() -> {
loanTransferPaymentApplyFeign.pushPaymentRecord(finPaymentrecord.getBusSid(), finPaymentrecord.getSid());
});
Future future2 = pool.submit(() -> {
loanTransferPaymentApplyFeign.pushPaymentVoucher(finPaymentrecord.getBusSid(), finPaymentrecord.getSid());
});
} else if ("007".equals(costTypeKey)) {
Future future1 = pool.submit(() -> {
loanBePadsincereApplyFeign.pushAdvancesVoucher(finPaymentrecord.getBusSid(), finPaymentrecord.getSid());
});
}
} catch (Exception e) {
e.printStackTrace();
@ -515,10 +590,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
List<ApPayBill.FPAYBILLENTRY> FPAYBILLENTRYs = new ArrayList<>();
if (finPaymentrecord.getCost() != null
&& finPaymentrecord.getCost() > 0) {
&& finPaymentrecord.getCost().compareTo(BigDecimal.ZERO) > 0) {
ApPayBill.FPAYBILLENTRY fpaybillentry = new ApPayBill.FPAYBILLENTRY();
//应付金额
fpaybillentry.setFPAYTOTALAMOUNTFOR(Double.valueOf(finPaymentrecord.getCost()));
fpaybillentry.setFPAYTOTALAMOUNTFOR(finPaymentrecord.getCost().doubleValue());
//登账日期
fpaybillentry.setFPOSTDATE(DateUtil.formatDate(finPaymentrecord.getPayDate()));
//我方银行账号
@ -817,7 +892,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
dataMap.put("receiveCompany", finPaymentrecord.getReceiveCompany());
dataMap.put("receiveBank", finPaymentrecord.getReceiveBank());
dataMap.put("receiveBankAccount", finPaymentrecord.getReceiveBankAccount());
Double aDouble = Double.valueOf(finPaymentrecord.getAccountsReceive());
Double aDouble = finPaymentrecord.getAccountsReceive().doubleValue();
String s = upperCase2(aDouble);
dataMap.put("cost", finPaymentrecord.getAccountsReceive() + " " + "(" + s + ")");
//获取图片路径
@ -1003,7 +1078,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
finPaymentrecord.setCost(0);
finPaymentrecord.setCost(BigDecimal.ZERO);
baseMapper.updateById(finPaymentrecord);
//更新付款申请中的状态
FinPaymentapply finPaymentapply = finPaymentapplyService.fetchBySid(finPaymentrecord.getApplySid());
@ -1021,4 +1096,6 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
return rb.success();
}
}

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.DetailsOfReceivablesAndUncollectedItemsJRVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRQuery;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -86,4 +87,6 @@ public interface FinUncollectedReceivablesDetailedJRMapper extends BaseMapper<Fi
@Param("purchaseSystemSid") String purchaseSystemSid);
FinUncollectedReceivablesDetailedJR selectByType(@Param("sid") String sid, @Param("type") String type);
LoanRepaymentPlanDetails selectDetails(String sid);
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml

@ -349,4 +349,9 @@
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR">
select * from anrui_fin.fin_uncollected_receivables_detailed_jr where busSid = #{sid} and payCostTitleValue = #{type}
</select>
<select id="selectDetails"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
select * from anrui_riskcenter.loan_repayment_plan_details where sid = #{sid}
</select>
</mapper>

25
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java

@ -35,6 +35,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedR
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRQuery;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.result.ResultBean;
@ -135,9 +136,27 @@ public class FinUncollectedReceivablesDetailedJRService extends MybatisBaseServi
public ResultBean updateAll(String sid, String type, BigDecimal fundDay) {
ResultBean rb = ResultBean.fireFail();
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = baseMapper.selectByType(sid, type);
BigDecimal bigDecimal =finUncollectedReceivablesDetailedJR.getReveivableMoney().add(fundDay);
finUncollectedReceivablesDetailedJR.setReveivableMoney(bigDecimal);
baseMapper.updateById(finUncollectedReceivablesDetailedJR);
if (finUncollectedReceivablesDetailedJR == null) {
LoanRepaymentPlanDetails planDetails = baseMapper.selectDetails(sid);
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setReveivableMoney(fundDay);
jr.setPayCostTitleKey("006");
jr.setPayCostTitleValue("资金占用费");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
baseMapper.insert(jr);
} else {
BigDecimal bigDecimal = finUncollectedReceivablesDetailedJR.getReveivableMoney().add(fundDay);
finUncollectedReceivablesDetailedJR.setReveivableMoney(bigDecimal);
baseMapper.updateById(finUncollectedReceivablesDetailedJR);
}
return rb.success();
}
}

85
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -550,33 +550,36 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
List<PaymentVoucher.PaymentVoucherDetail> voucherDetails = voucher.getVoucherDetails();
if (!voucherDetails.isEmpty()) {
for (PaymentVoucher.PaymentVoucherDetail voucherDetail : voucherDetails) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode())) {
dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款");
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData();
if (null != dictCommonVo) {
dto1.setSubjectNo(dictCommonVo.getDictValue());
if (voucherDetail.getType().equals("借方")) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode())) {
dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款");
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData();
if (null != dictCommonVo) {
dto1.setSubjectNo(dictCommonVo.getDictValue());
}
} else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) {
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金");
dto1.setSubjectNo("1201.02.03");
}
} else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) {
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金");
dto1.setSubjectNo("1201.02.03");
}
if (voucher.getPayTypeCode().equals("02")) {
dto2.setSubjectNo("1002.01.00");
} else if (voucher.getPayTypeCode().equals("01")) {
dto2.setSubjectNo("1002.02.01");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
} else if (voucherDetail.getType().equals("贷方")) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
if (voucher.getPayTypeCode().equals("02")) {
dto2.setSubjectNo("1002.01.00");
} else if (voucher.getPayTypeCode().equals("01")) {
dto2.setSubjectNo("1002.02.01");
}
String date = sdf.format(voucherDetail.getDataTime());
String[] split = date.split("-");
dto2.setSummary(split[1] + "月垫付月还款");
dto2.setBankAccount(voucher.getBankAccount());
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto2);
}
String date = sdf.format(voucherDetail.getDataTime());
String[] split = date.split("-");
dto2.setSummary(split[1] + "月垫付月还款");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setBankAccount(voucher.getBankAccount());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
resultDetails.add(dto2);
}
newVoucher.setResultDetails(resultDetails);
}
@ -643,8 +646,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = voucher.getVoucherDetails();
if (!voucherDetails.isEmpty()) {
for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
String format = sdf.format(voucherDetail.getDataTime());
String[] split = format.split("-");
String month = split[1];
@ -654,18 +655,24 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
} else {
m = String.valueOf(Integer.parseInt(month) - 1);
}
dto1.setSummary("计提" + m + "逾期利息");
dto2.setSummary("计提" + m + "逾期利息");
dto1.setSubjectNo("1201.02.02");
dto2.setSubjectNo("2191.05.00");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setDimensionDept(voucherDetail.getDeptCode());
// dto2.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
resultDetails.add(dto2);
if (voucherDetail.getSceneCode().equals("借方")) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
dto1.setSummary("计提" + m + "逾期利息");
dto1.setSubjectNo("1201.02.02");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
}
if (voucherDetail.getSceneCode().equals("贷方")) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto2.setSummary("计提" + m + "逾期利息");
dto2.setSubjectNo("2191.05.00");
dto2.setDimensionDept(voucherDetail.getDeptCode());
// dto2.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto2);
}
}
newVoucher.setResultDetails(resultDetails);
}

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -71,6 +71,10 @@ public enum ProcDefEnum {
LOANVEHCLEARANCEAPPLY("车辆远程解控申请", "process_zbzenr9b:2:7782504"),
LOANRESTOREREPORTAPPLY("车辆交回事前报备申请", "process_w796wtt7:1:7822504"),
LOANREDEMPTIONAPPLY("车辆交回赎回申请", "process_qu4fq4r6:1:7820004"),
LOANRETUENINBOUNDAPPLY("交回车辆入库申请", "process_h0i1vnn8:1:7945004"),
LOANSUBLETAPPLY("交回车辆二次转租申请", "process_lu7pdwzs:1:7940004"),
LOANOUTBOUNDVEHAPPLY("交回车辆出库申请", "process_14spbdx8:1:7982504"),
LOANSECONDSALEAPPLY("交车车辆二次销售申请", "process_6kb1z0pe:4:8110004"),
/******************************测试流程id*********************************************/

24
anrui-riskcenter-ui/src/api/Common/dictcommons.js

@ -52,7 +52,7 @@ export function selModelByUseOrgSid(data) {
})
}
// 根据当前登录用户的全路径sidPath、用户sid、客户类型(01个人、02企业)等获取客户信息
// 根据当前登录用户的全路径sidPath、用户sid、客户类型(01个人、02企业)等获取当前登录用户下的客户信息
export function selectCustomerList(data) {
return request({
url: '/crm/v1/crmcustomertemp/selectCustomerList',
@ -61,6 +61,15 @@ export function selectCustomerList(data) {
})
}
// 根据当前登录用户的全路径sidPath获取分公司下的客户信息
export function pickCustomer(data) {
return request({
url: '/riskcenter/v1/loansubletapply/pickCustomer',
method: 'get',
params: data
})
}
// 当前用户创建申请时判断该用户是否有该菜单的操作权限
export function selectHaveMessage(data) {
return request({
@ -186,3 +195,16 @@ export function getGressionUserList(data) {
params: data
})
}
// 车型配置详细信息
export function selectExiCarConfig(data) {
return request({
url: '/base/v1/basevehicle/selectExiCarConfig',
method: 'post',
params: {
modelSid: data.modelSid,
configSid: data.configSid,
vehModelConfigSid: data.vehModelConfigSid
}
})
}

21
anrui-riskcenter-ui/src/api/returntheaccount/returntheaccount.js

@ -0,0 +1,21 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/LoanReturnVehLedger/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
update: function(data) {
return request({
url: '/riskcenter/v1/LoanReturnVehLedger/update',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

40
anrui-riskcenter-ui/src/api/returntostorage/returntostorage.js

@ -4,36 +4,38 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/listPage',
url: '/riskcenter/v1/LoanReturnInboundApply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
getVinList: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/save',
url: '/riskcenter/v1/LoanReturnInboundApply/getInboundList',
method: 'post',
data: data,
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
init: function(data) {
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/init',
method: 'get',
params: data
url: '/riskcenter/v1/LoanReturnInboundApply/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/fetchDetailsBySid/' + data,
method: 'get'
url: '/riskcenter/v1/LoanReturnInboundApply/details',
method: 'post',
params: data
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/delBySids',
url: '/riskcenter/v1/LoanReturnInboundApply/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
@ -42,7 +44,7 @@ export default {
// 提交流程
submit: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/submit',
url: '/riskcenter/v1/LoanReturnInboundApply/submitApply',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -51,7 +53,7 @@ export default {
// 流程审批(同意)
complete: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/complete',
url: '/riskcenter/v1/LoanReturnInboundApply/complete',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -60,7 +62,7 @@ export default {
// 流程审批(加签)
delegate: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/delegate',
url: '/riskcenter/v1/LoanReturnInboundApply/delegate',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -69,7 +71,7 @@ export default {
// 流程审批(驳回)
reject: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/reject',
url: '/riskcenter/v1/LoanReturnInboundApply/reject',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -78,7 +80,7 @@ export default {
// 流程审批(终止)
breakProcess: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/breakProcess',
url: '/riskcenter/v1/LoanReturnInboundApply/breakProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -87,7 +89,7 @@ export default {
// 流程审批(撤回)
revokeProcess: function(params) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/revokeProcess',
url: '/riskcenter/v1/LoanReturnInboundApply/revokeProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -96,7 +98,7 @@ export default {
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/getNextNodesForSubmit',
url: '/riskcenter/v1/LoanReturnInboundApply/getNextNodesForSubmit',
method: 'get',
params: data
})
@ -104,7 +106,7 @@ export default {
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/riskcenter/v1/loanrestorereportapply/getPreviousNodesForReject',
url: '/riskcenter/v1/LoanReturnInboundApply/getPreviousNodesForReject',
method: 'get',
params: data
})

98
anrui-riskcenter-ui/src/api/returntothewarehouse/returntothewarehouse.js

@ -0,0 +1,98 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/loanoutboundapply/updateOutbound',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/loanoutboundapply/outboundDetails',
method: 'get',
params: data
})
},
// 提交流程
submit: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/submit',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(同意)
complete: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/complete',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(加签)
delegate: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/delegate',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(驳回)
reject: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/reject',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(终止)
breakProcess: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/breakProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(撤回)
revokeProcess: function(params) {
return request({
url: '/riskcenter/v1/loanoutboundapply/revokeProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/riskcenter/v1/loanoutboundapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/riskcenter/v1/loanoutboundapply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

140
anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js

@ -0,0 +1,140 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
getVinList: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/getVinList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 生成合同--初始化
getDetails: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesCustomer/getDetails',
method: 'get',
params: data
})
},
// 生成合同--保存合同
save: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesCustomer/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/details',
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 销售订单 -- 金融方案初始化
selectDetailss: function(data) {
return request({
url: '/riskcenter/v1/loansolutions/selectDetailss',
method: 'get',
params: data
})
},
// 提交流程
submit: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/submitApply',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(同意)
complete: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/complete',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(加签)
delegate: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/delegate',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(驳回)
reject: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/reject',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(终止)
breakProcess: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/breakProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(撤回)
revokeProcess: function(params) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/revokeProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/riskcenter/v1/LoanSecondarySalesApply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

129
anrui-riskcenter-ui/src/api/secondarysublet/secondarysublet.js

@ -0,0 +1,129 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
getVinList: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/getVinList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/saveSublet',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
init: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/subletInit',
method: 'get',
params: data
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/subletDetails',
method: 'get',
params: data
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/deleteBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 销售订单 -- 金融方案初始化
selectDetailss: function(data) {
return request({
url: '/riskcenter/v1/loansolutions/selectDetailss',
method: 'get',
params: data
})
},
// 提交流程
submit: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/submit',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(同意)
complete: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/complete',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(加签)
delegate: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/delegate',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(驳回)
reject: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/reject',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(终止)
breakProcess: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/breakProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(撤回)
revokeProcess: function(params) {
return request({
url: '/riskcenter/v1/loansubletapply/revokeProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/riskcenter/v1/loansubletapply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

65
anrui-riskcenter-ui/src/components/publicPage/criterion.vue

@ -0,0 +1,65 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>车型配置详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn">关闭</el-button>
</div>
</div>
<vehicleconfiguration ref="divConfig" :params="sid_list"/>
</div>
</template>
<script>
import vehicleconfiguration from './vehicleconfiguration'
export default {
name: 'BiaoZhun',
components: {
vehicleconfiguration
},
data() {
return {
FormLoading: false,
isDown: true,
isDownOther: true,
sid_list: {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
guidedPrice: ''
}
}
},
methods: {
//
handleReturn() {
this.sid_list = {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
guidedPrice: ''
}
this.$emit('doback')
},
//
showInfo(row) {
this.FormLoading = true
this.sid_list.modelSid = row.modelSid
this.sid_list.configSid = row.modelConfigSid
this.sid_list.vehModelConfigSid = row.vehModelConfigSid
if (row.guidedPrice !== '' || row.guidedPrice !== null) {
const guidedPrice_two = parseFloat(Number(row.guidedPrice) / 10000).toFixed(2)
this.sid_list.guidedPrice = guidedPrice_two
}
if (row.guidedPrice === '' || row.guidedPrice == null) {
this.sid_list.guidedPrice = ''
}
// this.sid_list.guidedPrice = row.guidedPrice
}
}
}
</script>
<style scoped>
</style>

307
anrui-riskcenter-ui/src/components/publicPage/vehicleconfiguration.vue

@ -0,0 +1,307 @@
<template>
<div class="app-container">
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="title" style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<div>{{ formobj.vehicleAlias }}</div>
<div>销售指导价:<span>{{guidedPrice}} 万元</span></div>
</div>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>品牌</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.brandName }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>功能</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>系列</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.productLineValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>驱动</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.driveFormValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>马力</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.powerValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>版本</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleVersionValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>燃料</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>排放标准</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.emissionStandardValue }}</span>
</el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>发动机型号</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.engineTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>变速箱类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tranCaseTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>变速箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.gearboxTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>细分市场</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.marketSegmentsValue }}</span>
</el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>规格型号</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.specifications }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>系别</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.departmentValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>编码</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeCode }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">常用配置<span>({{ formobj.configCode }})</span></div>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>后桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>速比</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleRatio }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>轴距</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.wheelbase }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>悬架</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.suspension }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>鞍座</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.saddle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>颜色</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.carColor }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>驾驶室</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.specification }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>保险杠</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bumper }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>燃料箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTank }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>导流罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.baffleModel }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>独立热源</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.independentSources }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>缓速器</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.slowMachine }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>护轮罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tireCover }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>后视镜</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearViewMirror }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>轮胎</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tireSize }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>轮毂材质</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.hubMaterial }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>空调</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.airConditioner }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>座椅</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.seat }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>多媒体</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.multimedia }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>配置包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.configuringBao }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>门窗</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.doorAndWindowValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>门锁</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.doorLockValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>大灯</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.headlightValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>上车踏板</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.boardPedalValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>方向盘</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.steerWheelValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>离合器</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.clutchValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>方向机</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.dirMachineValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>前桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.proponsValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>货箱内部长度</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.packingCase }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>蓄电池</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.storagBatteryValue }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
更多配置
</div>
<el-row>
<el-col :span="24">
<el-form-item>{{ formobj.otherConfig }}</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { selectExiCarConfig } from '@/api/Common/dictcommons'
export default {
name: 'CheXingPeiZhiBiaoZhun',
props: {
params: {
type: Object
}
},
data() {
return {
FormLoading: false,
priceValidity: '',
guidedPrice: '',
formobj: {},
isDown: true,
isDownOther: true,
sid_list: {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
userSid: window.sessionStorage.getItem('userSid')
}
}
},
watch: {
params: {
deep: true,
immediate: false,
handler(newVal, oldVal) {
if (newVal.configSid !== '' && newVal.modelSid !== '') {
this.guidedPrice = newVal.guidedPrice
selectExiCarConfig({
modelSid: newVal.modelSid,
configSid: newVal.configSid,
vehModelConfigSid: newVal.vehModelConfigSid
}).then((response) => {
this.FormLoading = false
if (response.success) {
this.formobj = response.data
} else {
this.$message({
showClose: true,
message: '查看失败!',
type: 'error'
})
}
})
} else {
this.formobj = {}
this.guidedPrice = ''
}
}
}
},
methods: {
}
}
</script>
<style scoped>
.span-sty {
width: 100px !important;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}
.addinputInfo {
margin-left: 90px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

171
anrui-riskcenter-ui/src/router/index.js

@ -583,6 +583,38 @@ export const constantRoutes = [
}
]
},
{
path: '/returntostorage',
component: Layout,
redirect: '/returntostorage',
meta: {
title: '交回车辆入库申请'
},
children: [
{
path: '/returntostorage/returntostorage',
component: () => import('@/views/returntostorage/returntostorage.vue'),
name: 'ReturnToStorage',
meta: { title: '交回车辆入库申请', noCache: true }
}
]
},
{
path: '/returntheaccount',
component: Layout,
redirect: '/returntheaccount',
meta: {
title: '交回车辆台账'
},
children: [
{
path: '/returntheaccount/returntheaccount',
component: () => import('@/views/returntheaccount/returntheaccount.vue'),
name: 'ReturnTheAccount',
meta: { title: '交回车辆台账', noCache: true }
}
]
},
{
path: '/surrenderforredemption',
component: Layout,
@ -599,6 +631,54 @@ export const constantRoutes = [
}
]
},
{
path: '/secondarysales',
component: Layout,
redirect: '/secondarysales',
meta: {
title: '交回车辆二次销售'
},
children: [
{
path: '/secondarysales/secondarysales',
component: () => import('@/views/secondarysales/secondarysales.vue'),
name: 'SecondarySales',
meta: { title: '交回车辆二次销售', noCache: true }
}
]
},
{
path: '/secondarysublet',
component: Layout,
redirect: '/secondarysublet',
meta: {
title: '交回车辆二次转租'
},
children: [
{
path: '/secondarysublet/secondarysublet',
component: () => import('@/views/secondarysublet/secondarysublet.vue'),
name: 'SecondarySublet',
meta: { title: '交回车辆二次转租', noCache: true }
}
]
},
{
path: '/returntothewarehouse',
component: Layout,
redirect: '/returntothewarehouse',
meta: {
title: '交回车辆出库申请'
},
children: [
{
path: '/returntothewarehouse/returntothewarehouse',
component: () => import('@/views/returntothewarehouse/returntothewarehouse.vue'),
name: 'ReturnToTheWarehouse',
meta: { title: '交回车辆出库申请', noCache: true }
}
]
},
// 流程审批
// 金融产品政策报备--编辑
@ -954,6 +1034,27 @@ export const constantRoutes = [
import('@/views/workFlow/zifangduizhangFlow/zifangduizhangYiBan.vue'),
name: 'ZiFangDuiZhangYiBan'
},
// 交回车辆入库申请管理--编辑
{
path: '/jiaohuirukuFlow/returntostorageEdit',
component: () =>
import('@/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue'),
name: 'ReturnToStorageEdit'
},
// 交回车辆入库申请管理--待办
{
path: '/jiaohuirukuFlow/returntostorageDaiBan',
component: () =>
import('@/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue'),
name: 'ReturnToStorageDaiBan'
},
// 交回车辆入库申请管理--已办
{
path: '/jiaohuirukuFlow/returntostorageYiBan',
component: () =>
import('@/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue'),
name: 'ReturnToStorageYiBan'
},
// 交回车辆赎回申请管理--编辑
{
path: '/jiaohuishuhuiFlow/surrenderforredemptionEdit',
@ -974,6 +1075,76 @@ export const constantRoutes = [
component: () =>
import('@/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionYiBan.vue'),
name: 'SurrenderForRedemptionYiBan'
},
// 交回车辆二次销售申请管理--编辑
{
path: '/ercixiaoshouFlow/secondarysalesEdit',
component: () =>
import('@/views/workFlow/ercixiaoshouFlow/secondarysalesEdit.vue'),
name: 'SecondarySalesEdit'
},
// 交回车辆二次销售申请管理--待办
{
path: '/ercixiaoshouFlow/secondarysalesDaiBan',
component: () =>
import('@/views/workFlow/ercixiaoshouFlow/secondarysalesDaiBan.vue'),
name: 'SecondarySalesDaiBan'
},
// 交回车辆二次销售申请管理--待办--风控中心处置岗填写车辆评估价
{
path: '/ercixiaoshouFlow/secondarysalesByPGJ',
component: () =>
import('@/views/workFlow/ercixiaoshouFlow/secondarysalesByPGJ.vue'),
name: 'SecondarySalesByPGJ'
},
// 交回车辆二次销售申请管理--已办
{
path: '/ercixiaoshouFlow/secondarysalesYiBan',
component: () =>
import('@/views/workFlow/ercixiaoshouFlow/secondarysalesYiBan.vue'),
name: 'SecondarySalesYiBan'
},
// 交回车辆二次转租申请管理--编辑
{
path: '/ercizhuanzuFlow/secondarysubletEdit',
component: () =>
import('@/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue'),
name: 'SecondarySubletEdit'
},
// 交回车辆二次转租申请管理--待办
{
path: '/ercizhuanzuFlow/secondarysubletDaiBan',
component: () =>
import('@/views/workFlow/ercizhuanzuFlow/secondarysubletDaiBan.vue'),
name: 'SecondarySubletDaiBan'
},
// 交回车辆二次转租申请管理--已办
{
path: '/ercizhuanzuFlow/secondarysubletYiBan',
component: () =>
import('@/views/workFlow/ercizhuanzuFlow/secondarysubletYiBan.vue'),
name: 'SecondarySubletYiBan'
},
// 交回车辆出库申请管理--编辑
{
path: '/jiaohuichukuFlow/returntothewarehouseEdit',
component: () =>
import('@/views/workFlow/jiaohuichukuFlow/returntothewarehouseEdit.vue'),
name: 'ReturnToTheWarehouseEdit'
},
// 交回车辆出库申请管理--待办
{
path: '/jiaohuichukuFlow/returntothewarehouseDaiBan',
component: () =>
import('@/views/workFlow/jiaohuichukuFlow/returntothewarehouseDaiBan.vue'),
name: 'ReturnToTheWarehouseDaiBan'
},
// 交回车辆出库申请管理--已办
{
path: '/jiaohuichukuFlow/returntothewarehouseYiBan',
component: () =>
import('@/views/workFlow/jiaohuichukuFlow/returntothewarehouseYiBan.vue'),
name: 'ReturnToTheWarehouseYiBan'
},
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }

4
anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue

@ -30,7 +30,7 @@
<el-col :span="8">
<div class="span-sty">财务付款形式</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.finPaymentFormKey" placeholder="请选择" clearable filterable>
<el-select class="addinputInfo" disabled v-model="formobj.finPaymentFormKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in finPayment_list" :disabled="item.dictValue == '按收款账号合并付款'" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
@ -279,6 +279,8 @@ export default {
req.init({ orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.finPaymentFormKey = '01'
this.formobj.finPaymentFormValue = '按资方合同编号单笔付款'
}
})
},

4
anrui-riskcenter-ui/src/views/alsotransfer/alsotransfer.vue

@ -67,8 +67,8 @@
<!-- <el-table-column prop="spread" label="息差" align="center" width="100" />-->
<el-table-column prop="transferPrincipal" label="转付资方月还" align="center" width="120" />
<el-table-column prop="defaultInterest" label="转付资方逾期利息" align="center" width="140" />
<el-table-column prop="account" label="收款账户名称" align="center" width="120" />
<el-table-column prop="accountNumber" label="收款账号" align="center" width="100" />
<el-table-column prop="account" label="收款账户名称" align="center" width="160" />
<el-table-column prop="accountNumber" label="收款账号" align="center" width="160" />
</el-table>
</div>
<div class="pages">

18
anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewAdd.vue

@ -21,25 +21,25 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">房屋照片</div>
<div class="span-sty colSty">小区/村口照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.house" :key="index" :src="item" :preview-src-list="formobj.house"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">门口照片</div>
<div class="span-sty colSty">住所照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.doorway" :key="index" :src="item" :preview-src-list="formobj.doorway"/></el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <div class="span-sty colSty">客厅卧室照片</div>-->
<!-- <el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<div class="span-sty colSty">客厅卧室照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">合影照等</div>
<div class="span-sty colSty">签字合影照</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.groupPhoto" :key="index" :src="item" :preview-src-list="formobj.groupPhoto"/></el-form-item>
</el-col>
</el-row>

18
anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewInfo.vue

@ -20,25 +20,25 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">房屋照片</div>
<div class="span-sty colSty">小区/村口照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.house" :key="index" :src="item" :preview-src-list="formobj.house"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">门口照片</div>
<div class="span-sty colSty">住所照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.doorway" :key="index" :src="item" :preview-src-list="formobj.doorway"/></el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <div class="span-sty colSty">客厅卧室照片</div>-->
<!-- <el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<div class="span-sty colSty">客厅卧室照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">合影照等</div>
<div class="span-sty colSty">签字合影照</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.groupPhoto" :key="index" :src="item" :preview-src-list="formobj.groupPhoto"/></el-form-item>
</el-col>
</el-row>

18
anrui-riskcenter-ui/src/views/homevisitdatareview/homevisitdatareviewReplenish.vue

@ -19,25 +19,25 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">房屋照片</div>
<div class="span-sty colSty">小区/村口照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.house" :key="index" :src="item" :preview-src-list="formobj.house"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">门口照片</div>
<div class="span-sty colSty">住所照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.doorway" :key="index" :src="item" :preview-src-list="formobj.doorway"/></el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <div class="span-sty colSty">客厅卧室照片</div>-->
<!-- <el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<div class="span-sty colSty">客厅卧室照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">合影照等</div>
<div class="span-sty colSty">签字合影照</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.groupPhoto" :key="index" :src="item" :preview-src-list="formobj.groupPhoto"/></el-form-item>
</el-col>
</el-row>

27
anrui-riskcenter-ui/src/views/monthlypayment/monthlypayment.vue

@ -57,6 +57,7 @@
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleAdjust">需调整</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
@ -149,7 +150,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/monthlypayment/monthlypayment'
import { typeValues } from '@/api/Common/dictcommons'
import { typeValues, getButtonPermissions } from '@/api/Common/dictcommons'
import adjust from './adjust'
import deductAdd from '../deduct/deductAdd'
@ -271,7 +272,8 @@ export default {
borrowerName: '',
period: '',
returnWayKey: '',
buckleKey: ''
buckleKey: '',
change: '0'
}
}
}
@ -281,7 +283,18 @@ export default {
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
getButtonPermissions({ userSid: window.sessionStorage.getItem('userSid'), url: this.$route.path, type: 0 }).then((res) => {
if (res.success) {
for (var i = 0; i < res.data.length; i++) {
for (var k = 0; k < this.btnList.length; k++) {
if (res.data[i].buttonId === this.btnList[k].btnKey) {
this.btnList.splice(k, 1)
}
}
}
this.$refs['btnbar'].setButtonList(this.btnList)
}
})
},
methods: {
init() {
@ -357,6 +370,11 @@ export default {
}
})
},
handleAdjust() {
this.listQuery.current = 1
this.listQuery.params.change = '1'
this.getList()
},
//
handleFilter() {
this.listQuery.current = 1
@ -386,7 +404,8 @@ export default {
borrowerName: '',
period: '',
returnWayKey: '',
buckleKey: ''
buckleKey: '',
change: '0'
}
}
this.getList()

6
anrui-riskcenter-ui/src/views/overduereconciliationcapital/overduereconciliationcapitalAdd.vue

@ -56,7 +56,7 @@
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="150"/>
<el-table-column prop="period" label="期数" align="center" width="80"/>
<el-table-column prop="overdueMoney" label="平台逾期金额(元)" align="center" width="150"/>
<el-table-column prop="tiredDeficiency" label="资方逾期月还(元)" align="center" width="150" />
<el-table-column prop="bankOverdueMoney" label="资方逾期月还(元)" align="center" width="150" />
<el-table-column prop="diffMoney" label="差异金额(元)" align="center" width="130" />
</el-table>
</el-form>
@ -231,8 +231,8 @@ export default {
this.upload_list.forEach((e) => {
this.formobj.detailsVoList.forEach((k) => {
if (e.bankContractNo === k.bankContractNo) {
k.tiredDeficiency = e.bankOverdueMoney
k.diffMoney = parseFloat(k.overdueMoney) - parseFloat(k.tiredDeficiency)
k.bankOverdueMoney = e.bankOverdueMoney
k.diffMoney = parseFloat(k.overdueMoney) - parseFloat(k.bankOverdueMoney)
}
})
})

2
anrui-riskcenter-ui/src/views/overduereconciliationcapital/overduereconciliationcapitalInfo.vue

@ -53,7 +53,7 @@
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="120"/>
<el-table-column prop="period" label="期数" align="center" />
<el-table-column prop="overdueMoney" label="平台逾期金额(元)" align="center" width="140"/>
<el-table-column prop="tiredDeficiency" label="资方逾期月还(元)" align="center" width="140" />
<el-table-column prop="bankOverdueMoney" label="资方逾期月还(元)" align="center" width="140" />
<el-table-column prop="diffMoney" label="差异金额(元)" align="center" width="130" />
</el-table>
</el-form>

18
anrui-riskcenter-ui/src/views/overduevehicle/relation/materialInfo.vue

@ -20,25 +20,25 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">房屋照片</div>
<div class="span-sty colSty">小区/村口照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.house" :key="index" :src="item" :preview-src-list="formobj.house"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">门口照片</div>
<div class="span-sty colSty">住所照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.doorway" :key="index" :src="item" :preview-src-list="formobj.doorway"/></el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <div class="span-sty colSty">客厅卧室照片</div>-->
<!-- <el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<div class="span-sty colSty">客厅卧室照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">合影照等</div>
<div class="span-sty colSty">签字合影照</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.groupPhoto" :key="index" :src="item" :preview-src-list="formobj.groupPhoto"/></el-form-item>
</el-col>
</el-row>

10
anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrol.vue

@ -12,12 +12,12 @@
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
@ -57,12 +57,12 @@
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="150">
<el-table-column label="分公司" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.useOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" width="120">
<el-table-column label="申请部门" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.deptName }}</span>
</template>

6
anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrolAdd.vue

@ -50,13 +50,13 @@
<el-button type="danger" size="small" @click="toDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="120" />
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100"/>
<el-table-column prop="carNum" label="车牌号" align="center" width="100" />
<el-table-column prop="bankName" label="资方" align="center" width="100" />
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="120"/>
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="160"/>
<el-table-column prop="customerName" label="客户名称" align="center" width="100" />
<el-table-column prop="borrowerName" label="贷款人" align="center" width="100"/>
<el-table-column prop="borrowerName" label="贷款人" align="center" min-width="100"/>
<el-table-column prop="firstBeDate" label="首次逾期日期" align="center" width="120"/>
<el-table-column prop="beOverduePeriod" label="逾期期数" align="center" width="100" />
<el-table-column prop="beOverdueMoney" label="逾期金额" align="center" width="100" />

6
anrui-riskcenter-ui/src/views/remotedecontrol/remotedecontrolInfo.vue

@ -42,13 +42,13 @@
</div>
<el-table :key="tableKey" :data="formobj.loanVehClearanceVehList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="120" />
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100"/>
<el-table-column prop="carNum" label="车牌号" align="center" width="100" />
<el-table-column prop="bankName" label="资方" align="center" width="100" />
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="120"/>
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="160"/>
<el-table-column prop="customerName" label="客户名称" align="center" width="100" />
<el-table-column prop="borrowerName" label="贷款人" align="center" width="100"/>
<el-table-column prop="borrowerName" label="贷款人" align="center" min-width="100"/>
<el-table-column prop="firstBeDate" label="首次逾期日期" align="center" width="120"/>
<el-table-column prop="beOverduePeriod" label="逾期期数" align="center" width="100" />
<el-table-column prop="beOverdueMoney" label="逾期金额" align="center" width="100" />

2
anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue

@ -251,7 +251,7 @@ export default {
},
toEdit() {
if (this.sids.length === 1) {
if (this.multipleSelection[0].bankContractNo !== '' && (this.multipleSelection[0].builded === '否' && this.multipleSelection[0].handleBtn)) {
if (this.multipleSelection[0].handleBtn) {
this.viewState = 2
this.$refs['divAdd'].showEdit(this.sids[0])
} else {

128
anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue

@ -2,7 +2,7 @@
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>生成还款计划表<span style="color: red">(单车)</span></div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">生成</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
@ -27,7 +27,7 @@
<div class="title titleOne">
<div>主金融产品<span>{{ (formobj.policyName) }}</span></div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="lookJR">查看金融方案</el-button>
<el-button type="primary" size="mini" class="btntopblueline" @click="lookJR">查看单车金融方案</el-button>
</div>
</div>
<el-row>
@ -40,30 +40,30 @@
<el-form-item><span class="addinputInfo">{{ formobj.mainPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首期还款日</div>
<el-form-item><el-date-picker class="addinputInfo" @change="mainRepayDateChange" v-model="formobj.mainRepayDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"/></el-form-item>
<div class="span-sty"><span class="icon">*</span>首期还款日</div>
<el-form-item prop="mainRepayDate"><el-date-picker class="addinputInfo" @change="mainRepayDateChange" v-model="formobj.mainRepayDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首期月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.mainFirstRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>首期月还</div>
<el-form-item prop="mainFirstRepay"><el-input class="addinputInfo addinputw" v-model="formobj.mainFirstRepay" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">期间月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.mainMidRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>期间月还</div>
<el-form-item prop="mainMidRepay"><el-input class="addinputInfo addinputw" v-model="formobj.mainMidRepay" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">末期月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.mainLastRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>末期月还</div>
<el-form-item prop="mainLastRepay"><el-input class="addinputInfo addinputw" v-model="formobj.mainLastRepay" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.isOtherPolicy == '1'">
<div class="title">其它融<span>({{ formobj.otherPolicyName }})</span></div>
<el-row>
<el-col :span="24">
<div class="span-sty">资方合同号</div>
<el-form-item>
<div class="span-sty"><span class="icon">*</span>资方合同号</div>
<el-form-item prop="otherBankNo">
<span v-if="formobj.sameBank == '1'" class="addinputInfo">{{ formobj.otherBankNo }}</span>
<el-input v-else class="addinputInfo" style="width: 30%" v-model="formobj.otherBankNo" clearable placeholder=""/>
</el-form-item>
@ -79,22 +79,22 @@
<el-form-item><span class="addinputInfo">{{ formobj.otherPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首期还款日</div>
<el-form-item><el-date-picker class="addinputInfo" :disabled="formobj.sameBank == '1'" v-model="formobj.otherRepayDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"/></el-form-item>
<div class="span-sty"><span class="icon">*</span>首期还款日</div>
<el-form-item prop="otherRepayDate"><el-date-picker class="addinputInfo" :disabled="formobj.sameBank == '1'" v-model="formobj.otherRepayDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首期月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.otherFirstRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>首期月还</div>
<el-form-item prop="otherFirstRepay"><el-input class="addinputInfo addinputw" v-model="formobj.otherFirstRepay" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">期间月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.otherMidRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>期间月还</div>
<el-form-item prop="otherMidRepay"><el-input class="addinputInfo addinputw" v-model="formobj.otherMidRepay" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">末期月还</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.otherLastRepay" clearable placeholder=""/></el-form-item>
<div class="span-sty"><span class="icon">*</span>末期月还</div>
<el-form-item prop="otherLastRepay"><el-input class="addinputInfo addinputw" v-model="formobj.otherLastRepay" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
</div>
@ -116,8 +116,73 @@ export default {
financialschemeInfo
},
data() {
var mainFirstRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('主金融产品期间月还不能为空'))
} else {
if (value == '0') {
callback(new Error('主金融产品期间月还不能为零'))
} else {
callback()
}
}
}
var mainMidRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('主金融产品期间月还不能为空'))
} else {
if (value == '0') {
callback(new Error('主金融产品期间月还不能为零'))
} else {
callback()
}
}
}
var mainLastRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('主金融产品末期月还不能为空'))
} else {
if (value == '0') {
callback(new Error('主金融产品末期月还不能为零'))
} else {
callback()
}
}
}
var otherFirstRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('其它融首期月还不能为空'))
} else {
if (value == '0') {
callback(new Error('其它融首期月还不能为零'))
} else {
callback()
}
}
}
var otherMdRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('其它融期间月还不能为空'))
} else {
if (value == '0') {
callback(new Error('其它融期间月还不能为零'))
} else {
callback()
}
}
}
var otherLastRepay = (rule, value, callback) => {
if (value === '') {
callback(new Error('其它融末期月还不能为空'))
} else {
if (value == '0') {
callback(new Error('其它融末期月还不能为零'))
} else {
callback()
}
}
}
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
formobj: {
@ -146,12 +211,21 @@ export default {
userSid: '',
solutionsDetailsssVo: []
},
rules: {}
rules: {
mainRepayDate: [{ required: true, message: '主金融产品首期还款日不能为空', trigger: 'change' }],
mainFirstRepay: [{ required: true, validator: mainFirstRepay, trigger: 'blur' }],
mainMidRepay: [{ required: true, validator: mainMidRepay, trigger: 'blur' }],
mainLastRepay: [{ required: true, validator: mainLastRepay, trigger: 'blur' }],
otherFirstRepay: [{ required: true, validator: otherFirstRepay, trigger: 'blur' }],
otherMidRepay: [{ required: true, validator: otherMdRepay, trigger: 'blur' }],
otherLastRepay: [{ required: true, validator: otherLastRepay, trigger: 'blur' }],
otherBankNo: [{ required: true, message: '其它融资方合同号不能为空', trigger: 'blur' }],
otherRepayDate: [{ required: true, message: '其它融首期还款日不能为空', trigger: 'change' }]
}
}
},
methods: {
showEdit(sid) {
this.viewTitle = '生成还款计划表'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
@ -176,6 +250,11 @@ export default {
this.$message({ showClose: true, type: 'success', message: '生成成功' })
this.handleReturn('true')
}
else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
@ -233,6 +312,9 @@ export default {
.addinputInfo {
margin-left: 120px !important;
}
/deep/ .el-form-item__error {
margin-left: 110px !important;
}
.titleOne {
padding: 7px;
display: flex;

14
anrui-riskcenter-ui/src/views/returnreserve/returnreserve.vue

@ -12,12 +12,12 @@
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
@ -88,12 +88,12 @@
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="150">
<el-table-column label="分公司" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.useOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" width="120">
<el-table-column label="申请部门" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.deptName }}</span>
</template>
@ -113,7 +113,7 @@
<span>{{ scope.row.modifyTime }}</span>
</template>
</el-table-column>
<el-table-column label="贷款合同编号" align="center" width="120">
<el-table-column label="贷款合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.loanContractNo }}</span>
</template>
@ -133,7 +133,7 @@
<span>{{ scope.row.bankName }}</span>
</template>
</el-table-column>
<el-table-column label="资方合同编号" align="center" width="120">
<el-table-column label="资方合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.bankContractNo }}</span>
</template>

404
anrui-riskcenter-ui/src/views/returntheaccount/returntheaccount.vue

@ -0,0 +1,404 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="交回车辆台账" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="listQuery.params.vehMark" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车辆类型">
<el-input v-model="listQuery.params.vehType" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-input v-model="listQuery.params.vehModel" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customer" placeholder="" clearable/>
</el-form-item>
<el-form-item label="贷款人">
<el-input v-model="listQuery.params.borrowerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="存放地点">
<el-input v-model="listQuery.params.location" placeholder="" clearable/>
</el-form-item>
<el-form-item label="处置方式">
<el-select v-model="listQuery.params.disposalKey" placeholder="请选择" clearable>
<el-option v-for="item in disposal_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="入库日期">
<el-date-picker v-model="listQuery.params.inboundDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.inboundDateEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="出库日期">
<el-date-picker v-model="listQuery.params.outboundDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.outEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="库存状态">
<el-select v-model="listQuery.params.vehicleState" placeholder="请选择" clearable>
<el-option v-for="item in vehicleState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">交回车辆台账列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="分公司" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.useOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="120">
<template slot-scope="scope">
<span class="bluezi" @click="lookVin(scope.row)">{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车牌号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehMark }}</span>
</template>
</el-table-column>
<el-table-column label="车辆类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehType }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center" min-width="170">
<template slot-scope="scope">
<span>{{ scope.row.vehModel }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.customer }}</span>
</template>
</el-table-column>
<el-table-column label="贷款人" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.borrowerName }}</span>
</template>
</el-table-column>
<el-table-column label="逾期金额" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.overMoney }}</span>
</template>
</el-table-column>
<el-table-column label="未到期金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.notBecomeDueMoney }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
</el-table-column>
<el-table-column label="处置方式" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.disposal }}</span>
</template>
</el-table-column>
<el-table-column label="入库价" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.inboundMoney }}</span>
</template>
</el-table-column>
<el-table-column label="入库日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.inboundDate }}</span>
</template>
</el-table-column>
<el-table-column label="出库日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.outboundDate }}</span>
</template>
</el-table-column>
<el-table-column label="库存状态" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehicleState }}</span>
</template>
</el-table-column>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!-- 查看交回车辆入库申请详情 -->
<returntostorageInfo v-show="viewState == 2" ref="divStorage" @doback="resetState"/>
<!-- 修改存放地点 -->
<el-dialog title="编辑存放地点" :visible.sync="dialogVisible" width="60%">
<el-form class="formadd" >
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>存放地点</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="formobj.location" placeholder="" class="addinputw" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="confirm"> </el-button>
<el-button type="info " size="mini" @click="dialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/returntheaccount/returntheaccount'
import { typeValues } from '@/api/Common/dictcommons'
import returntostorageInfo from '../returntostorage/returntostorageInfo'
export default {
name: 'ReturnTheAccount',
components: {
Pagination,
pageye,
ButtonBar,
returntostorageInfo
},
data() {
return {
dialogVisible: false,
formobj: {
location: '',
locationSid: '',
sid: ''
},
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
disposal_list: [],
vehicleState_list: [],
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 5,
total: 0,
params: {
borrowerName: '',
customer: '',
disposalKey: '',
inboundDateEnd: '',
inboundDateStart: '',
location: '',
menuUrl: '',
orgPath: '',
outboundDateEnd: '',
outboundDateStart: '',
useOrgName: '',
userSid: '',
vehMark: '',
vehModel: '',
vehType: '',
vehicleState: '',
vinNo: ''
}
}
}
},
created() {
this.init()
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
init() {
typeValues({ type: 'disposal' }).then((res) => {
if (res.success) {
this.disposal_list = res.data
}
})
typeValues({ type: 'returnVehicleState' }).then((res) => {
if (res.success) {
this.vehicleState_list = res.data
}
})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toEdit':
this.toEdit()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
borrowerName: '',
customer: '',
disposalKey: '',
inboundDateEnd: '',
inboundDateStart: '',
location: '',
menuUrl: '',
orgPath: '',
outboundDateEnd: '',
outboundDateStart: '',
useOrgName: '',
userSid: '',
vehMark: '',
vehModel: '',
vehType: '',
vehicleState: '',
vinNo: ''
}
}
this.getList()
},
toEdit() {
if (this.sids.length === 1) {
this.formobj = {
location: '',
locationSid: '',
sid: ''
}
this.dialogVisible = true
} else {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑操作' })
}
},
confirm() {
this.formobj.sid = this.sids[0]
req.update(this.formobj).then((resp) => {
if (resp.success) {
this.$message({showClose: true, type: 'success', message: '操作成功' })
this.dialogVisible = false
this.getList()
}
})
},
lookVin(row) {
this.viewState = 2
this.$refs['divStorage'].showInfo({ sid: row.busSid })
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

223
anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue

@ -8,7 +8,7 @@
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
@ -16,17 +16,43 @@
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable/>
<el-input v-model="listQuery.params.createDept" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.createDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.createDateEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="办结日期">
<el-date-picker v-model="listQuery.params.modifyStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.closeDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.modifyEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.closeDateEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="贷款合同编号">
<el-input v-model="listQuery.params.loanContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="listQuery.params.vehMark" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方">
<el-input v-model="listQuery.params.bankName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方合同编号">
<el-input v-model="listQuery.params.bankContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="贷款人">
<el-input v-model="listQuery.params.loanName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="是否带挂车">
<el-select v-model="listQuery.params.tralier" placeholder="请选择" clearable filterable>
<el-option v-for="item in tralier_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -51,20 +77,20 @@
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="180px" header-align="center">
<el-table-column label="状态" width="150" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="150">
<el-table-column label="分公司" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.useOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" width="120">
<el-table-column label="申请部门" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.deptName }}</span>
<span>{{ scope.row.createDept }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center" width="100">
@ -74,57 +100,57 @@
</el-table-column>
<el-table-column label="申请日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>
<el-table-column label="办结日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.closeDate }}</span>
</template>
</el-table-column>
<el-table-column label="贷款合同编号" align="center" width="120">
<el-table-column label="贷款合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.loanContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车牌号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.vehMark }}</span>
</template>
</el-table-column>
<el-table-column label="资方" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.bankName }}</span>
</template>
</el-table-column>
<el-table-column label="资方合同编号" align="center" width="120">
<el-table-column label="资方合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.bankContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="贷款人" align="center" width="100">
<el-table-column label="贷款人" align="center" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.loanName }}</span>
</template>
</el-table-column>
<el-table-column label="入库价" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
<span>{{ scope.row.inboundMoney }}</span>
</template>
</el-table-column>
<el-table-column label="是否带挂车" align="center">
<el-table-column label="是否带挂车" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span>{{ scope.row.tralier }}</span>
</template>
</el-table-column>
</el-table>
@ -139,13 +165,48 @@
</div>
</div>
<!--新增及修改 -->
<returnreserveAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<returntostorageAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情-->
<returnreserveInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<returntostorageInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
<!-- 选择车辆 -->
<el-dialog title="可入库车辆列表" :visible.sync="carVisible" width="80%">
<div>
<el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px">
<el-form-item label="车架号">
<el-input v-model="carList.params.vinNo" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="carList.params.vehMark" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="selectCar">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-table :key="carKey" v-loading="carLoading" :data="listByCar" border fit highlight-current-row style="width: 100%;">
<el-table-column :index="carindexMethod" align="center" label="序号" type="index" width="80"/>
<el-table-column label="操作" align="center" width="80">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="chooseCar(scope.row)">选择</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" />
<el-table-column prop="vehMark" label="车牌号" align="center" />
<el-table-column prop="modelName" label="车型" align="center" />
<el-table-column prop="bankName" label="资方" align="center" />
<el-table-column prop="customerName" label="客户名称" align="center" />
<el-table-column prop="loanName" label="贷款人" align="center" />
</el-table>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="carList.length > 0" :limit.sync="carList.size" :page.sync="carList.current" :total="carList.total" class="pagination" @pagination="getCarList"/>
</div>
</el-dialog>
</div>
</template>
@ -153,19 +214,19 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/returnreserve/returnreserve'
import req from '@/api/returntostorage/returntostorage'
import { getStorage } from '@/utils/auth'
import returnreserveAdd from './returnreserveAdd'
import returnreserveInfo from './returnreserveInfo'
import returntostorageAdd from './returntostorageAdd'
import returntostorageInfo from './returntostorageInfo'
export default {
name: 'ReturnReserve',
name: 'ReturnToStorage',
components: {
Pagination,
pageye,
ButtonBar,
returnreserveAdd,
returnreserveInfo
returntostorageAdd,
returntostorageInfo
},
data() {
return {
@ -202,6 +263,16 @@ export default {
tableKey: 0,
list: [],
sids: [], // SIDs
tralier_list: [
{
dictKey: '0',
dictValue: '是'
},
{
dictKey: '1',
dictValue: '否'
}
],
FormLoading: false,
listLoading: false,
//
@ -210,18 +281,40 @@ export default {
size: 5,
total: 0,
params: {
bankContractNo: '',
bankName: '',
closeDateEnd: '',
closeDateStart: '',
createDateEnd: '',
createDateStart: '',
createByName: '',
createEndTime: '',
createStartTime: '',
deptName: '',
createDept: '',
customerName: '',
loanContractNo: '',
loanName: '',
menuUrl: '',
modifyEndTime: '',
modifyStartTime: '',
orgPath: '',
tralier: '',
useOrgName: '',
userSid: ''
userSid: '',
vehMark: '',
vinNo: ''
}
}
},
carVisible: false,
carKey: 2,
carList: {
current: 1,
size: 5,
total: 0,
params: {
vehMark: '',
vinNo: '',
orgPath: ''
}
},
listByCar: [],
carLoading: false
}
},
created() {
@ -257,7 +350,7 @@ export default {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstSid,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
@ -330,23 +423,32 @@ export default {
size: 5,
total: 0,
params: {
bankContractNo: '',
bankName: '',
closeDateEnd: '',
closeDateStart: '',
createDateEnd: '',
createDateStart: '',
createByName: '',
createEndTime: '',
createStartTime: '',
deptName: '',
menuUrl: '',
modifyEndTime: '',
modifyStartTime: '',
orgPath: '',
tralier: '',
useOrgName: '',
userSid: ''
userSid: '',
vehMark: '',
vinNo: ''
}
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
this.carVisible = true
this.carList.params.vinNo = ''
this.carList.params.vehMark = ''
this.getCarList()
},
toEdit(row) {
this.viewState = 3
@ -386,6 +488,35 @@ export default {
}).catch(() => {
})
},
//
carindexMethod(index) {
var pagestart = (this.carList.current - 1) * this.carList.size
var pageindex = index + 1 + pagestart
return pageindex
},
getCarList() {
this.carLoading = true
this.carList.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.getVinList(this.carList).then(response => {
this.carLoading = false
if (response.success) {
this.listByCar = response.data.records
this.carList.total = response.data.total
} else {
this.listByCar = []
this.carList.total = 0
}
})
},
selectCar() {
this.carList.current = 1
this.getCarList()
},
chooseCar(row) {
this.carVisible = false
this.viewState = 2
this.$refs['divAdd'].showAdd(row)
},
//
resetState() {
this.viewState = 1

323
anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue

@ -14,104 +14,117 @@
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item>
<el-date-picker class="addinputInfo" v-model="formobj.firstDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.tralier">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">停车收费标准</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<div class="span-sty">停放地点</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.locationName" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<div class="span-sty">停车收费标准</div>
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.tralier === '是'">
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable>
<el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
@ -151,37 +164,249 @@
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.filesList" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import { typeValues } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import criterion from '@/components/publicPage/criterion'
export default {
name: '',
name: 'ReturnToStorageAdd',
components: {
uploadImg
uploadImg,
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
formobj: {},
trailer_list: [],
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {}
methods: {
init() {
typeValues({ type: 'trailerType' }).then((res) => {
if (res.success) {
this.trailer_list = res.data
}
})
},
showAdd(row) {
this.viewTitle = '【新增】交回车辆入库申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ chooseSid: row.sid, orgPath: window.sessionStorage.getItem('defaultOrgPath'), sid: '', userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
// = + ()
this.formobj.inboundMoney = parseFloat(this.formobj.currentBeMoney === '' ? 0 : this.formobj.currentBeMoney) + parseFloat(this.formobj.unexpiredMoney === '' ? 0 : this.formobj.unexpiredMoney)
}
})
},
showEdit(row) {
this.viewTitle = '【编辑】交回车辆入库申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ chooseSid: '', orgPath: '', sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.instanceId = resp.data.procInstId
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
trailerChange(value) {
const choose = this.trailer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanReturnInboundTrailer.trailerType = choose[0].dictValue
} else {
this.formobj.loanReturnInboundTrailer.trailerType = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
</style>

227
anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue

@ -40,7 +40,7 @@
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.modelName }}</span></el-form-item>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
@ -76,7 +76,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="8" class="tlineheightb">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
@ -85,31 +85,33 @@
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.tralier === '是'">
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
@ -149,38 +151,197 @@
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '@/components/publicPage/criterion'
export default {
name: '',
name: 'ReturnToStorageInfo',
components: {
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
formobj: {},
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆入库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSid: '', orgPath: '', sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.filesList.length > 0) {
const aa = []
this.formobj.filesList.forEach((e) => {
aa.push(e.url)
})
this.formobj.filesList = aa
}
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

354
anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouse.vue

@ -0,0 +1,354 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="交回车辆出库申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.company" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.dept" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.applyStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.applyEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="办结日期">
<el-date-picker v-model="listQuery.params.closingStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.closingEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="贷款合同编号">
<el-input v-model="listQuery.params.loanContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="listQuery.params.vehMark" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方">
<el-input v-model="listQuery.params.bankName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方合同编号">
<el-input v-model="listQuery.params.bankContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customer" placeholder="" clearable/>
</el-form-item>
<el-form-item label="贷款人">
<el-input v-model="listQuery.params.borrowerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="处置方式">
<el-select v-model="listQuery.params.disposalKey" placeholder="请选择" clearable>
<el-option v-for="item in disposal_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="出库日期">
<el-date-picker v-model="listQuery.params.outStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.outEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">交回车辆出库申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="150" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column prop="company" label="分公司" align="center" width="130" />
<el-table-column prop="dept" label="申请部门" align="center" width="130" />
<el-table-column prop="applyName" label="申请人" align="center" width="100" />
<el-table-column prop="applyDate" label="申请日期" align="center" width="100" />
<el-table-column prop="closingDate" label="办结日期" align="center" width="100" />
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" width="100" />
<el-table-column prop="bankName" label="资方" align="center" width="100" />
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="160" />
<el-table-column prop="customer" label="客户名称" align="center" width="100" />
<el-table-column prop="borrowerName" label="贷款人" align="center" min-width="100" />
<el-table-column prop="disposal" label="处置方式" align="center" width="100" />
<el-table-column prop="outboundDate" label="出库日期" align="center" width="120" />
<el-table-column prop="amount" label="出库价格" align="center" width="120" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<returntothewarehouseAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情-->
<returntothewarehouseInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/returntothewarehouse/returntothewarehouse'
import { getStorage } from '@/utils/auth'
import { typeValues } from '@/api/Common/dictcommons'
import returntothewarehouseAdd from './returntothewarehouseAdd'
import returntothewarehouseInfo from './returntothewarehouseInfo'
export default {
name: 'ReturnToTheWarehouse',
components: {
Pagination,
pageye,
ButtonBar,
returntothewarehouseAdd,
returntothewarehouseInfo
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
disposal_list: [],
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 5,
total: 0,
params: {
userSid: '',
menuUrl: '',
company: '',
applyName: '',
outStartDate: '',
outEndDate: '',
applyStartDate: '',
applyEndDate: '',
closingStartDate: '',
closingEndDate: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
vinNo: '',
vehMark: '',
dept: '',
orgPath: '',
disposalKey: ''
}
}
}
},
created() {
//
this.init()
this.getList()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
init() {
typeValues({ type: 'disposal' }).then((res) => {
if (res.success) {
this.disposal_list = res.data
}
})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
userSid: '',
menuUrl: '',
company: '',
applyName: '',
outStartDate: '',
outEndDate: '',
applyStartDate: '',
applyEndDate: '',
closingStartDate: '',
closingEndDate: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
vinNo: '',
vehMark: '',
dept: '',
orgPath: '',
disposalKey: ''
}
}
this.getList()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

290
anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouseAdd.vue

@ -0,0 +1,290 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">处置方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">处置合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposalContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" size="small" @click="lookDisposal">查看处置申请</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.newCustomer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">出库价格</div>
<el-form-item><el-input class="addinputInfo" @keyup.native="UpNumber" style="width: 30%" v-model="formobj.amount" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<div class="title">出库车辆列表</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" v-if="scope.row.vehType !== '主车'" type="danger" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
<el-table-column prop="location" label="库存地点" align="center" min-width="130"/>
</el-table>
<div class="title">附件资料</div>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆买卖协议</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.buyFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆交付确认书</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.deliveryFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆完整评估照片</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.assessFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">其他附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.otherFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 处置方式为客户赎回时查看交回车辆赎回申请详情 -->
<surrenderforredemptionInfo v-show="viewState == 2" ref="divSurrender" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次销售申请详情 -->
<secondarysalesInfo v-show="viewState == 3" ref="divSales" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次转租申请详情 -->
<secondarysubletInfo v-show="viewState == 4" ref="divSublet" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntothewarehouse/returntothewarehouse'
import surrenderforredemptionInfo from '../surrenderforredemption/surrenderforredemptionInfo'
import secondarysalesInfo from '../secondarysales/secondarysalesInfo'
import secondarysubletInfo from '../secondarysublet/secondarysubletInfo'
import uploadImg from '@/components/uploadFile/uploadImg'
export default {
name: 'ReturnToTheWarehouseAdd',
components: {
uploadImg,
surrenderforredemptionInfo,
secondarysalesInfo,
secondarysubletInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
formobj: {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
},
rules: {}
}
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showEdit(row) {
this.viewTitle = '【编辑】交回车辆出库申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.applyName = window.sessionStorage.getItem('name')
this.formobj.userSid = window.sessionStorage.getItem('userSid')
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.dept = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
}
})
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
//
lookDisposal() {
//
if (this.formobj.disposalKey === '02') {
this.viewState = 2
this.$refs['divSurrender'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '03') {
this.viewState = 3
this.$refs['divSales'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '04') {
this.viewState = 4
this.$refs['divSublet'].showInfo({ sid: this.formobj.applySid })
}
},
resetState() {
this.viewState = 1
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

257
anrui-riskcenter-ui/src/views/returntothewarehouse/returntothewarehouseInfo.vue

@ -0,0 +1,257 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">处置方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">处置合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposalContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" size="small" @click="lookDisposal">查看处置申请</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.newCustomer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">出库价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">出库车辆列表</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
<el-table-column prop="location" label="库存地点" align="center" min-width="130"/>
</el-table>
<div class="title">附件资料</div>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆买卖协议</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.buyFiles" :key="index" :src="item" :preview-src-list="formobj.buyFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆交付确认书</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.deliveryFiles" :key="index" :src="item" :preview-src-list="formobj.deliveryFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆完整评估照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.assessFiles" :key="index" :src="item" :preview-src-list="formobj.assessFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">其他附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.otherFiles" :key="index" :src="item" :preview-src-list="formobj.otherFiles" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 处置方式为客户赎回时查看交回车辆赎回申请详情 -->
<surrenderforredemptionInfo v-show="viewState == 2" ref="divSurrender" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次销售申请详情 -->
<secondarysalesInfo v-show="viewState == 3" ref="divSales" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次转租申请详情 -->
<secondarysubletInfo v-show="viewState == 4" ref="divSublet" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntothewarehouse/returntothewarehouse'
import surrenderforredemptionInfo from '../surrenderforredemption/surrenderforredemptionInfo'
import secondarysalesInfo from '../secondarysales/secondarysalesInfo'
import secondarysubletInfo from '../secondarysublet/secondarysubletInfo'
export default {
name: 'ReturnToTheWarehouseInfo',
components: {
surrenderforredemptionInfo,
secondarysalesInfo,
secondarysubletInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆出库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.buyFiles.length > 0) {
const aa = []
this.formobj.buyFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.buyFiles = aa
}
if (this.formobj.deliveryFiles.length > 0) {
const aa = []
this.formobj.deliveryFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.deliveryFiles = aa
}
if (this.formobj.assessFiles.length > 0) {
const aa = []
this.formobj.assessFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.assessFiles = aa
}
if (this.formobj.otherFiles.length > 0) {
const aa = []
this.formobj.otherFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.otherFiles = aa
}
}
})
},
//
lookDisposal() {
//
if (this.formobj.disposalKey === '02') {
this.viewState = 2
this.$refs['divSurrender'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '03') {
this.viewState = 3
this.$refs['divSales'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '04') {
this.viewState = 4
this.$refs['divSublet'].showInfo({ sid: this.formobj.applySid })
}
},
resetState() {
this.viewState = 1
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

351
anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue

@ -0,0 +1,351 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">生成</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.saleDate }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.salePrice }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>客户信息<span style="color: red;margin-left: 10px">若客户信息不存在请先点击新增客户按钮完善客户信息</span></div>
<el-button type="primary" size="mini" @click="addCustomer">新增客户</el-button>
</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item>
<el-select v-model="formobj.customerName" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.vinOwner"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.certificateTypeKey" filterable clearable placeholder="" @change="certificateTypeChange">
<el-option v-for="item in certificateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><el-input class="addinputInfo" style="width: 40%;" v-model="formobj.IDNumber" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item><el-date-picker class="addinputInfo" v-model="formobj.endDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.certificateAddress" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div class="title">二次销售车辆列表</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisible" width="70%">
<el-form :model="formobj" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input class="addinputw" v-model="formobj.customerName" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>客户类型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.customerTypeKey" filterable clearable placeholder="" @change="customerTypeChange">
<el-option v-for="item in customerType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input class="addinputw" v-model="formobj.mobile" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>证件类型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.certificateTypeKey" filterable clearable placeholder="" @change="certificateTypeChange">
<el-option v-for="item in certificateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>证件号码</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input class="addinputw" v-model="formobj.IDNumber" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>证件有效期</span>
</el-col>
<el-col :span="8">
<el-form-item><el-date-picker class="addinputw" v-model="formobj.endDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>证件地址</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input class="addinputw" v-model="formobj.certificateAddress" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import { pickCustomer, typeValues } from '@/api/Common/dictcommons'
export default {
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
dialogVisible: false,
tableKey: 0,
index: 0,
customer_list: [],
customerType_list: [],
certificateType_list: [],
formobj: {
mainSid: '',
createDept: '',
saleDate: '',
salePrice: '',
customerSid: '',
customerName: '',
customerType: '',
customerTypeKey: '',
mobile: '',
certificateTypeKey: '',
certificateType: '',
IDNumber: '',
endDate: '',
certificateAddress: '',
loanSecondarySalesVehVoList: [],
},
rules: {}
}
},
methods: {
init() {
typeValues({ type: 'certificateType' }).then((resp) => {
if (resp.success) {
this.certificateType_list = resp.data
}
})
typeValues({ type: 'customerType' }).then((resp) => {
if (resp.success) {
this.customerType_list = resp.data
}
})
pickCustomer({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.customer_list = res.data
}
})
},
showEdit(sid) {
this.viewTitle = '交回车辆二次销售合同信息补充'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.getDetails({ sid: sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
addCustomer() {
this.dialogVisible = true
this.formobj.customerName = ''
this.formobj.customerSid = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.mobile = ''
this.formobj.endDate = ''
this.formobj.IDNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
this.formobj.certificateAddress = ''
},
reject() {
this.dialogVisible = false
},
changeCustomer(value) {
const choosetItem = this.customer_list.filter((item) => item.vinOwner === value)
if (choosetItem.length > 0 && choosetItem !== null) {
this.formobj.customerSid = choosetItem[0].newCustomerSid
this.formobj.customerType = choosetItem[0].customerType
this.formobj.customerTypeKey = choosetItem[0].customerTypeKey
this.formobj.mobile = choosetItem[0].phoneNum
this.formobj.endDate = choosetItem[0].endDate
this.formobj.IDNumber = choosetItem[0].idNumber
this.formobj.certificateType = choosetItem[0].certificateType
this.formobj.certificateTypeKey = choosetItem[0].certificateTypeKey
this.formobj.certificateAddress = ''
} else {
this.formobj.customerSid = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.mobile = ''
this.formobj.endDate = ''
this.formobj.IDNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
this.formobj.certificateAddress = ''
}
},
customerTypeChange(value) {
const choose = this.customerType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.customerType = choose[0].dictValue
} else {
this.formobj.customerType = ''
}
},
certificateTypeChange(value) {
const choose = this.certificateType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.certificateType = choose[0].dictValue
} else {
this.formobj.certificateType = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
// this.$refs['form_obj'].validate((valid) => {
// if (valid) {
// this.submitdisabled = true
// req.saveOrUpdate(this.formobj).then((res) => {
// if (res.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.handleReturn('true')
// } else {
// this.submitdisabled = false
// }
// }).catch(() => {
// this.submitdisabled = false
// })
// }
// })
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
mainSid: '',
createDept: '',
saleDate: '',
salePrice: '',
customerSid: '',
customerName: '',
customerType: '',
customerTypeKey: '',
mobile: '',
certificateTypeKey: '',
certificateType: '',
IDNumber: '',
endDate: '',
certificateAddress: '',
loanSecondarySalesVehVoList: [],
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 100px !important;
}
.addinputInfo {
margin-left: 90px !important;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

553
anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue

@ -0,0 +1,553 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="交回车辆二次销售申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.createDept" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createTimeStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createTimeEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="办结日期">
<el-date-picker v-model="listQuery.params.closeDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.closeDateEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="贷款合同编号">
<el-input v-model="listQuery.params.loanContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="listQuery.params.vehMark" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方合同编号">
<el-input v-model="listQuery.params.bankContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="贷款人">
<el-input v-model="listQuery.params.loanName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="欠款合计">
<el-input v-model="listQuery.params.arrearsAll" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">交回车辆二次销售申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="150" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.useOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.createDept }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.createByName }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>
<el-table-column label="办结日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.closeDate }}</span>
</template>
</el-table-column>
<el-table-column label="贷款合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.loanContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" min-width="120">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车牌号" align="center" min-width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehMark }}</span>
</template>
</el-table-column>
<el-table-column label="资方" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.bankName }}</span>
</template>
</el-table-column>
<el-table-column label="资方合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.bankContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="贷款人" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.loanName }}</span>
</template>
</el-table-column>
<el-table-column label="欠款合计" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.arrearsAll }}</span>
</template>
</el-table-column>
<el-table-column label="车辆售价" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehPrice }}</span>
</template>
</el-table-column>
<el-table-column label="预计亏损金额" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.lossPrice }}</span>
</template>
</el-table-column>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<secondarysalesAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情-->
<secondarysalesInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!--生成合同补充合同信息-->
<generatecontract v-show="viewState == 5" ref="divContract" @doback="resetState" @reloadlist="getList"/>
<!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
<!-- 选择车辆 -->
<el-dialog title="可处置车辆列表" :visible.sync="carVisible" width="80%">
<div>
<el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px">
<el-form-item label="车架号">
<el-input v-model="carList.params.vinNo" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="carList.params.vehMark" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="selectCar">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-table :key="carKey" v-loading="carLoading" :data="listByCar" border fit highlight-current-row style="width: 100%;">
<el-table-column :index="carindexMethod" align="center" label="序号" type="index" width="80"/>
<el-table-column label="操作" align="center" width="80">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="chooseCar(scope.row)">选择</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" />
<el-table-column prop="vehMark" label="车牌号" align="center" />
<el-table-column prop="vehType" label="车辆类型" align="center" />
<el-table-column prop="vehModel" label="车型" align="center" />
<el-table-column prop="bankName" label="资方" align="center" />
<el-table-column prop="customer" label="客户" align="center" />
<el-table-column prop="borrowerName" label="贷款人" align="center" />
</el-table>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="carList.length > 0" :limit.sync="carList.size" :page.sync="carList.current" :total="carList.total" class="pagination" @pagination="getCarList"/>
</div>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/secondarysales/secondarysales'
import { getStorage } from '@/utils/auth'
import secondarysalesAdd from './secondarysalesAdd'
import secondarysalesInfo from './secondarysalesInfo'
import generatecontract from './relation/generatecontract'
export default {
name: 'SecondarySales',
components: {
Pagination,
pageye,
ButtonBar,
secondarysalesAdd,
secondarysalesInfo,
generatecontract
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toCreate',
btnLabel: '生成合同'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
multipleSelection: [],
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 5,
total: 0,
params: {
bankContractNo: '',
bankName: '',
closeDateEnd: '',
closeDateStart: '',
createTimeEnd: '',
createTimeStart: '',
createByName: '',
createDept: '',
customerName: '',
loanContractNo: '',
loanName: '',
menuUrl: '',
orgPath: '',
arrearsAll: '',
useOrgName: '',
userSid: '',
vehMark: '',
vinNo: ''
}
},
carVisible: false,
carKey: 2,
carList: {
current: 1,
size: 5,
total: 0,
params: {
vehMark: '',
vinNo: '',
orgPath: ''
}
},
listByCar: [],
carLoading: false
}
},
created() {
//
this.getList()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toCreate':
this.toCreate()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
this.multipleSelection = row
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
bankContractNo: '',
bankName: '',
closeDateEnd: '',
closeDateStart: '',
createTimeEnd: '',
createTimeStart: '',
createByName: '',
createDept: '',
customerName: '',
loanContractNo: '',
loanName: '',
menuUrl: '',
orgPath: '',
arrearsAll: '',
useOrgName: '',
userSid: '',
vehMark: '',
vinNo: ''
}
}
this.getList()
},
toAdd() {
this.carVisible = true
this.carList.params.vinNo = ''
this.carList.params.vehMark = ''
this.getCarList()
},
toCreate() {
if (this.sids.length === 1) {
if (this.multipleSelection[0].nodeState === '已办结') {
this.viewState = 5
this.$refs['divContract'].showEdit(this.sids[0])
} else {
this.$message({ showClose: true, type: 'error', message: '请选择状态为已办结的记录进行操作' })
}
} else {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行操作' })
}
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
carindexMethod(index) {
var pagestart = (this.carList.current - 1) * this.carList.size
var pageindex = index + 1 + pagestart
return pageindex
},
getCarList() {
this.carLoading = true
this.carList.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.getVinList(this.carList).then(response => {
this.carLoading = false
if (response.success) {
this.listByCar = response.data.records
this.carList.total = response.data.total
} else {
this.listByCar = []
this.carList.total = 0
}
})
},
selectCar() {
this.carList.current = 1
this.getCarList()
},
chooseCar(row) {
this.carVisible = false
this.viewState = 2
this.$refs['divAdd'].showAdd(row)
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

692
anrui-riskcenter-ui/src/views/secondarysales/secondarysalesAdd.vue

@ -0,0 +1,692 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" type="danger" @click="delete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.inspect">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">年检情况</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.inspectSituation" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.guaranteed">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">保险情况</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.insuranceSituation" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.kilometerDriven" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.illustrate" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehPrice" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.collectionCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">风控中心车辆评估价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.bankSettleCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.bankSettleCostAssumeKey" placeholder="请选择" clearable filterable @change="bankSettleCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehicleViolationCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.vehicleViolationCostAssumeKey" placeholder="请选择" clearable filterable @change="vehicleViolationCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.inspectYearCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.inspectYearCostAssumeKey" placeholder="请选择" clearable filterable @change="inspectYearCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.insureCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.insureCostAssumeKey" placeholder="请选择" clearable filterable @change="insureCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.ownershipCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.ownershipCostAssumeKey" placeholder="请选择" clearable filterable @change="ownershipCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.stopCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.stopCostAssumeKey" placeholder="请选择" clearable filterable @change="stopCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.otherCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.otherCostAssumeKey" placeholder="请选择" clearable filterable @change="otherCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">费用说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.costDescription" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ lossPrice() }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.debtDisposal" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.loanSecondarySalesCost.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import { typeValues } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import financialschemeInfo from '@/components/publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesAdd',
components: {
uploadImg,
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
bearer_list: [],
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
bankSettleCostAssumeKey: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
inspectYearCostAssumeKey: '',
insureCost: '',
insureCostAssume: '',
insureCostAssumeKey: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
otherCostAssumeKey: '',
ownershipCost: '',
ownershipCostAssume: '',
ownershipCostAssumeKey: '',
stopCost: '',
stopCostAssume: '',
stopCostAssumeKey: '',
vehPrice: '',
vehicleEvaluation: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: '',
vehicleViolationCostAssumeKey: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
salesOrderSid: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
init() {
typeValues({ type: 'costAssume' }).then((resp) => {
if (resp.success) {
this.bearer_list = resp.data
}
})
},
showAdd(row) {
this.viewTitle = '【新增】交回车辆二次销售申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
const aa = []
aa.push(row.ledgerSid)
req.fetchBySid({ chooseSidList: aa, orgPath: window.sessionStorage.getItem('defaultOrgPath'), sid: '', userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
}
})
},
showEdit(row) {
this.viewTitle = '【编辑】交回车辆二次销售申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: row.sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstId
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
delete(index) {
this.formobj.loanSecondarySalesVehVoList.splice(index, 1)
},
bankSettleCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = ''
}
},
vehicleViolationCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = ''
}
},
inspectYearCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = ''
}
},
insureCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.insureCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.insureCostAssume = ''
}
},
ownershipCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.ownershipCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.ownershipCostAssume = ''
}
},
stopCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.stopCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.stopCostAssume = ''
}
},
otherCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.otherCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.otherCostAssume = ''
}
},
// = - - - -
lossPrice() {
let money = '0'
money = parseFloat(this.formobj.loanSecondarySalesCost.arrearsAll) - parseFloat(this.formobj.loanSecondarySalesCost.loanDeposit)
//
if (this.formobj.loanSecondarySalesCost.vehPrice !== '') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehPrice)
}
//
if (this.formobj.loanSecondarySalesCost.collectionCost !== '') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.collectionCost)
}
//
if (this.formobj.loanSecondarySalesCost.bankSettleCost !== '' && this.formobj.loanSecondarySalesCost.bankSettleCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.bankSettleCost)
}
//
if (this.formobj.loanSecondarySalesCost.vehicleViolationCost !== '' && this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehicleViolationCost)
}
//
if (this.formobj.loanSecondarySalesCost.inspectYearCost !== '' && this.formobj.loanSecondarySalesCost.inspectYearCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.inspectYearCost)
}
//
if (this.formobj.loanSecondarySalesCost.insureCost !== '' && this.formobj.loanSecondarySalesCost.insureCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.insureCost)
}
//
if (this.formobj.loanSecondarySalesCost.ownershipCost !== '' && this.formobj.loanSecondarySalesCost.ownershipCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.ownershipCost)
}
//
if (this.formobj.loanSecondarySalesCost.stopCost !== '' && this.formobj.loanSecondarySalesCost.stopCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.stopCost)
}
//
if (this.formobj.loanSecondarySalesCost.otherCost !== '' && this.formobj.loanSecondarySalesCost.otherCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.otherCost)
}
this.formobj.loanSecondarySalesCost.lossPrice = money
return money
},
resetState() {
this.viewState = 1
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
bankSettleCostAssumeKey: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
inspectYearCostAssumeKey: '',
insureCost: '',
insureCostAssume: '',
insureCostAssumeKey: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
otherCostAssumeKey: '',
ownershipCost: '',
ownershipCostAssume: '',
ownershipCostAssumeKey: '',
stopCost: '',
stopCostAssume: '',
stopCostAssumeKey: '',
vehPrice: '',
vehicleEvaluation: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: '',
vehicleViolationCostAssumeKey: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
salesOrderSid: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 190px !important;
width: calc(100% - 185px);
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

470
anrui-riskcenter-ui/src/views/secondarysales/secondarysalesInfo.vue

@ -0,0 +1,470 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">年检情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">保险情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">风控中心车辆评估价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import financialschemeInfo from '@/components/publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesInfo',
components: {
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
insureCost: '',
insureCostAssume: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
ownershipCost: '',
ownershipCostAssume: '',
stopCost: '',
stopCostAssume: '',
vehicleEvaluation: '',
vehPrice: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆二次销售申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: row.sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.loanSecondarySalesCost.files.length > 0) {
const bb = []
this.formobj.loanSecondarySalesCost.files.forEach((e) => {
bb.push(e.url)
})
this.formobj.loanSecondarySalesCost.files = bb
}
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
insureCost: '',
insureCostAssume: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
ownershipCost: '',
ownershipCostAssume: '',
stopCost: '',
stopCostAssume: '',
vehicleEvaluation: '',
vehPrice: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

520
anrui-riskcenter-ui/src/views/secondarysublet/secondarysublet.vue

@ -0,0 +1,520 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="交回车辆二次转租申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.company" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.dept" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.applyStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.applyEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="办结日期">
<el-date-picker v-model="listQuery.params.closingStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.closingEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="贷款合同编号">
<el-input v-model="listQuery.params.loanContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="listQuery.params.vehMark" placeholder="" clearable/>
</el-form-item>
<el-form-item label="资方合同编号">
<el-input v-model="listQuery.params.bankContractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customer" placeholder="" clearable/>
</el-form-item>
<el-form-item label="贷款人">
<el-input v-model="listQuery.params.borrowerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="原车主是否同意">
<el-input v-model="listQuery.params.agree" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">交回车辆二次转租申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="150" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.company }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.dept }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.applyName }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.applyDate }}</span>
</template>
</el-table-column>
<el-table-column label="办结日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.closingDate }}</span>
</template>
</el-table-column>
<el-table-column label="贷款合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.loanContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车牌号" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehMark }}</span>
</template>
</el-table-column>
<el-table-column label="资方" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.bankName }}</span>
</template>
</el-table-column>
<el-table-column label="资方合同编号" align="center" width="160">
<template slot-scope="scope">
<span>{{ scope.row.bankContractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.customer }}</span>
</template>
</el-table-column>
<el-table-column label="贷款人" align="center" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.borrowerName }}</span>
</template>
</el-table-column>
<el-table-column label="原车主是否同意" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.agree }}</span>
</template>
</el-table-column>
<el-table-column label="二次转租价格" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.amount }}</span>
</template>
</el-table-column>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<secondarysubletAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情-->
<secondarysubletInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
<!-- 选择车辆 -->
<el-dialog title="可处置车辆列表" :visible.sync="carVisible" width="80%">
<div>
<el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px">
<el-form-item label="车架号">
<el-input v-model="carList.params.vinNo" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item label="车牌号">
<el-input v-model="carList.params.vehMark" clearable style="width: 150px;" placeholder=""/>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="selectCar">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-table :key="carKey" v-loading="carLoading" :data="listByCar" border fit highlight-current-row style="width: 100%;">
<el-table-column :index="carindexMethod" align="center" label="序号" type="index" width="80"/>
<el-table-column label="操作" align="center" width="80">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="chooseCar(scope.row)">选择</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" />
<el-table-column prop="vehMark" label="车牌号" align="center" />
<el-table-column prop="vehType" label="车辆类型" align="center" />
<el-table-column prop="vehModel" label="车型" align="center" />
<el-table-column prop="bankName" label="资方" align="center" />
<el-table-column prop="customer" label="客户" align="center" />
<el-table-column prop="borrowerName" label="贷款人" align="center" />
</el-table>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="carList.length > 0" :limit.sync="carList.size" :page.sync="carList.current" :total="carList.total" class="pagination" @pagination="getCarList"/>
</div>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/secondarysublet/secondarysublet'
import { getStorage } from '@/utils/auth'
import secondarysubletAdd from './secondarysubletAdd'
import secondarysubletInfo from './secondarysubletInfo'
export default {
name: 'SecondarySublet',
components: {
Pagination,
pageye,
ButtonBar,
secondarysubletAdd,
secondarysubletInfo
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 5,
total: 0,
params: {
agree: '',
applyEndDate: '',
applyName: '',
applyStartDate: '',
bankContractNo: '',
bankName: '',
borrowerName: '',
closingEndDate: '',
closingStartDate: '',
company: '',
customer: '',
dept: '',
loanContractNo: '',
menuUrl: '',
orgPath: '',
userSid: '',
vehMark: '',
vinNo: ''
}
},
carVisible: false,
carKey: 2,
carList: {
current: 1,
size: 5,
total: 0,
params: {
vehMark: '',
vinNo: '',
orgPath: ''
}
},
listByCar: [],
carLoading: false
}
},
created() {
//
this.getList()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
agree: '',
applyEndDate: '',
applyName: '',
applyStartDate: '',
bankContractNo: '',
bankName: '',
borrowerName: '',
closingEndDate: '',
closingStartDate: '',
company: '',
customer: '',
dept: '',
loanContractNo: '',
menuUrl: '',
orgPath: '',
userSid: '',
vehMark: '',
vinNo: ''
}
}
this.getList()
},
toAdd() {
this.carVisible = true
this.carList.params.vinNo = ''
this.carList.params.vehMark = ''
this.getCarList()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
carindexMethod(index) {
var pagestart = (this.carList.current - 1) * this.carList.size
var pageindex = index + 1 + pagestart
return pageindex
},
getCarList() {
this.carLoading = true
this.carList.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.getVinList(this.carList).then(response => {
this.carLoading = false
if (response.success) {
this.listByCar = response.data.records
this.carList.total = response.data.total
} else {
this.listByCar = []
this.carList.total = 0
}
})
},
selectCar() {
this.carList.current = 1
this.getCarList()
},
chooseCar(row) {
this.carVisible = false
this.viewState = 2
this.$refs['divAdd'].showAdd(row)
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

402
anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue

@ -0,0 +1,402 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.agree">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><el-input class="addinputInfo" style="width: 20%" @keyup.native="UpNumber" v-model="formobj.amount" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" type="danger" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="24">
<div class="span-sty">客户名称</div>
<el-form-item>
<el-select v-model="formobj.newCustomerSid" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.newCustomerSid"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><el-input class="addinputInfo" style="width: 40%" v-model="formobj.vinOwner" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.customerTypeKey" placeholder="请选择" clearable filterable @change="customerTypeChange">
<el-option v-for="item in customerType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><el-input class="addinputInfo" style="width: 40%" v-model="formobj.phoneNum" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.certificateTypeKey" placeholder="请选择" clearable filterable @change="certificateTypeChange">
<el-option v-for="item in certificateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><el-input class="addinputInfo" style="width: 40%" v-model="formobj.idNumber" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item>
<el-date-picker class="addinputInfo" style="width: 40%" v-model="formobj.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><el-input class="addinputInfo" style="width: 40%" v-model="formobj.cardAddress" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.plan" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
import uploadImg from '@/components/uploadFile/uploadImg'
import { typeValues, pickCustomer } from '@/api/Common/dictcommons'
export default {
name: 'SecondarySubletAdd',
components: {
uploadImg
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
customerType_list: [],
certificateType_list: [],
customer_list: [],
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
rules: {}
}
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
init() {
typeValues({ type: 'customerType' }).then((res) => {
if (res.success) {
this.customerType_list = res.data
}
})
typeValues({ type: 'certificateType' }).then((res) => {
if (res.success) {
this.certificateType_list = res.data
}
})
pickCustomer({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.customer_list = res.data
}
})
},
showAdd(row) {
this.viewTitle = '【新增】交回车辆二次转租申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.init({ ledgerSid: row.ledgerSid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.applyName = window.sessionStorage.getItem('name')
this.formobj.dept = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.formobj.userSid = window.sessionStorage.getItem('userSid')
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
var nowDate = new Date()
var date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
day: nowDate.getDate()
}
this.formobj.applyDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
}
})
},
showEdit(row) {
this.viewTitle = '【编辑】交回车辆二次转租申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
customerTypeChange(value) {
const choose = this.customerType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.customerType = choose[0].dictValue
} else {
this.formobj.customerType = ''
}
},
certificateTypeChange(value) {
const choose = this.certificateType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.certificateType = choose[0].dictValue
} else {
this.formobj.certificateType = ''
}
},
handleDelete(index) {
this.formobj.vinList.splice(index, 1)
},
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.newCustomerSid === value)
if (choose.length > 0 && choose !== null) {
this.formobj.vinOwner = choose[0].vinOwner
this.formobj.customerType = choose[0].customerType
this.formobj.customerTypeKey = choose[0].customerTypeKey
this.formobj.phoneNum = choose[0].phoneNum
this.formobj.endDate = choose[0].endDate
this.formobj.idNumber = choose[0].idNumber
this.formobj.certificateType = choose[0].certificateType
this.formobj.certificateTypeKey = choose[0].certificateTypeKey
} else {
this.formobj.vinOwner = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.phoneNum = ''
this.formobj.endDate = ''
this.formobj.idNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.vinList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '二次销售车辆列表不能为空' })
return
}
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
</style>

232
anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletInfo.vue

@ -0,0 +1,232 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item><span class="addinputInfo">{{ formobj.agree }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinOwner }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.certificateType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.idNumber }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item><span class="addinputInfo">{{ formobj.endDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><span class="addinputInfo">{{ formobj.cardAddress }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.plan }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
export default {
name: 'SecondarySubletInfo',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆二次转租申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
}
}
})
},
handleReturn() {
this.formobj = {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
</style>

8
anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemption.vue

@ -12,12 +12,12 @@
<el-form-item label="分公司">
<el-input v-model="listQuery.params.company" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.dept" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.applyStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
@ -160,7 +160,7 @@
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
<!-- 选择车辆 -->
<el-dialog title="选择车辆" :visible.sync="carVisible" width="80%">
<el-dialog title="可处置车辆列表" :visible.sync="carVisible" width="80%">
<div>
<el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px">
<el-form-item label="车架号">

18
anrui-riskcenter-ui/src/views/workFlow/cuishoucuoshiFlow/relation/materialInfo.vue

@ -20,25 +20,25 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">房屋照片</div>
<div class="span-sty colSty">小区/村口照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.house" :key="index" :src="item" :preview-src-list="formobj.house"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">门口照片</div>
<div class="span-sty colSty">住所照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.doorway" :key="index" :src="item" :preview-src-list="formobj.doorway"/></el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <div class="span-sty colSty">客厅卧室照片</div>-->
<!-- <el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<div class="span-sty colSty">客厅卧室照片</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.indoor" :key="index" :src="item" :preview-src-list="formobj.indoor"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty colSty">合影照等</div>
<div class="span-sty colSty">签字合影照</div>
<el-form-item><el-image style="width: 150px; height: 150px" class="addinputInfo" v-for="(item, index) in formobj.groupPhoto" :key="index" :src="item" :preview-src-list="formobj.groupPhoto"/></el-form-item>
</el-col>
</el-row>

2
anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue

@ -29,7 +29,7 @@
<el-col :span="8">
<div class="span-sty">财务付款形式</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.finPaymentFormKey" placeholder="请选择" clearable filterable>
<el-select class="addinputInfo" disabled v-model="formobj.finPaymentFormKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in finPayment_list" :disabled="item.dictValue == '按收款账号合并付款'" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>

709
anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesByPGJ.vue

@ -0,0 +1,709 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openCountersign('加签')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">年检情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">保险情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty"><span class="icon">*</span>风控中心车辆评估价</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehicleEvaluation" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span class="icon">*</span>加签人员:
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="countersign.assignee" placeholder="请选择" filterable>
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import { selectStaffListss } from '@/api/Common/dictcommons'
import financialschemeInfo from '../publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesByPGJ',
components: {
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
insureCost: '',
insureCostAssume: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
ownershipCost: '',
ownershipCostAssume: '',
stopCost: '',
stopCostAssume: '',
vehicleEvaluation: '',
vehPrice: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: '',
vehicleEvaluation: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showInfo(sid) {
this.viewTitle = '交回车辆二次销售申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.loanSecondarySalesCost.files.length > 0) {
const bb = []
this.formobj.loanSecondarySalesCost.files.forEach((e) => {
bb.push(e.url)
})
this.formobj.loanSecondarySalesCost.files = bb
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
resetState() {
this.viewState = 1
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
if (this.formobj.loanSecondarySalesCost.vehicleEvaluation === '') {
this.$message({ showClose: true, type: 'error', message: '风控中心车辆评估价不能为空' })
return
}
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid, vehicleEvaluation: this.formobj.loanSecondarySalesCost.vehicleEvaluation }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' })
return
}
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
return
}
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
this.linkByParameter.vehicleEvaluation = this.formobj.loanSecondarySalesCost.vehicleEvaluation
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

694
anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesDaiBan.vue

@ -0,0 +1,694 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openCountersign('加签')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">年检情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">保险情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">风控中心车辆评估价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span class="icon">*</span>加签人员:
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="countersign.assignee" placeholder="请选择" filterable>
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import { selectStaffListss } from '@/api/Common/dictcommons'
import financialschemeInfo from '../publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesDaiBan',
components: {
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
insureCost: '',
insureCostAssume: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
ownershipCost: '',
ownershipCostAssume: '',
stopCost: '',
stopCostAssume: '',
vehicleEvaluation: '',
vehPrice: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: '',
vehicleEvaluation: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆二次销售申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.loanSecondarySalesCost.files.length > 0) {
const bb = []
this.formobj.loanSecondarySalesCost.files.forEach((e) => {
bb.push(e.url)
})
this.formobj.loanSecondarySalesCost.files = bb
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
resetState() {
this.viewState = 1
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid, vehicleEvaluation: this.formobj.loanSecondarySalesCost.vehicleEvaluation }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' })
return
}
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
return
}
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
this.linkByParameter.vehicleEvaluation = this.formobj.loanSecondarySalesCost.vehicleEvaluation
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

651
anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesEdit.vue

@ -0,0 +1,651 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" type="danger" @click="delete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.inspect">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">年检情况</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.inspectSituation" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.guaranteed">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">保险情况</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.insuranceSituation" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.kilometerDriven" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.illustrate" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehPrice" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.collectionCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">风控中心车辆评估价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.bankSettleCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.bankSettleCostAssumeKey" placeholder="请选择" clearable filterable @change="bankSettleCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehicleViolationCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.vehicleViolationCostAssumeKey" placeholder="请选择" clearable filterable @change="vehicleViolationCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.inspectYearCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.inspectYearCostAssumeKey" placeholder="请选择" clearable filterable @change="inspectYearCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.insureCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.insureCostAssumeKey" placeholder="请选择" clearable filterable @change="insureCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.ownershipCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.ownershipCostAssumeKey" placeholder="请选择" clearable filterable @change="ownershipCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.stopCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.stopCostAssumeKey" placeholder="请选择" clearable filterable @change="stopCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.otherCost" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.otherCostAssumeKey" placeholder="请选择" clearable filterable @change="otherCostChange">
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">费用说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.costDescription" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ lossPrice() }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.debtDisposal" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.loanSecondarySalesCost.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import { typeValues } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import financialschemeInfo from '../publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesEdit',
components: {
uploadImg,
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
bearer_list: [],
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
bankSettleCostAssumeKey: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
inspectYearCostAssumeKey: '',
insureCost: '',
insureCostAssume: '',
insureCostAssumeKey: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
otherCostAssumeKey: '',
ownershipCost: '',
ownershipCostAssume: '',
ownershipCostAssumeKey: '',
stopCost: '',
stopCostAssume: '',
stopCostAssumeKey: '',
vehPrice: '',
vehicleEvaluation: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: '',
vehicleViolationCostAssumeKey: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
salesOrderSid: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
init() {
typeValues({ type: 'costAssume' }).then((resp) => {
if (resp.success) {
this.bearer_list = resp.data
}
})
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
showInfo(sid) {
this.viewTitle = '【编辑】交回车辆二次销售申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstId
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
delete(index) {
this.formobj.loanSecondarySalesVehVoList.splice(index, 1)
},
bankSettleCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = ''
}
},
vehicleViolationCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = ''
}
},
inspectYearCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = ''
}
},
insureCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.insureCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.insureCostAssume = ''
}
},
ownershipCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.ownershipCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.ownershipCostAssume = ''
}
},
stopCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.stopCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.stopCostAssume = ''
}
},
otherCostChange(value) {
const choose = this.bearer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanSecondarySalesCost.otherCostAssume = choose[0].dictValue
} else {
this.formobj.loanSecondarySalesCost.otherCostAssume = ''
}
},
// = - - - -
lossPrice() {
let money = '0'
money = parseFloat(this.formobj.loanSecondarySalesCost.arrearsAll) - parseFloat(this.formobj.loanSecondarySalesCost.loanDeposit)
//
if (this.formobj.loanSecondarySalesCost.vehPrice !== '') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehPrice)
}
//
if (this.formobj.loanSecondarySalesCost.collectionCost !== '') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.collectionCost)
}
//
if (this.formobj.loanSecondarySalesCost.bankSettleCost !== '' && this.formobj.loanSecondarySalesCost.bankSettleCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.bankSettleCost)
}
//
if (this.formobj.loanSecondarySalesCost.vehicleViolationCost !== '' && this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehicleViolationCost)
}
//
if (this.formobj.loanSecondarySalesCost.inspectYearCost !== '' && this.formobj.loanSecondarySalesCost.inspectYearCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.inspectYearCost)
}
//
if (this.formobj.loanSecondarySalesCost.insureCost !== '' && this.formobj.loanSecondarySalesCost.insureCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.insureCost)
}
//
if (this.formobj.loanSecondarySalesCost.ownershipCost !== '' && this.formobj.loanSecondarySalesCost.ownershipCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.ownershipCost)
}
//
if (this.formobj.loanSecondarySalesCost.stopCost !== '' && this.formobj.loanSecondarySalesCost.stopCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.stopCost)
}
//
if (this.formobj.loanSecondarySalesCost.otherCost !== '' && this.formobj.loanSecondarySalesCost.otherCostAssume === '公司') {
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.otherCost)
}
this.formobj.loanSecondarySalesCost.lossPrice = money
return money
},
resetState() {
this.viewState = 1
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 190px !important;
width: calc(100% - 185px);
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

478
anrui-riskcenter-ui/src/views/workFlow/ercixiaoshouFlow/secondarysalesYiBan.vue

@ -0,0 +1,478 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>二次销售车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button>
</div>
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">车辆状况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否年检</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">年检情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否已出保</div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<div class="span-sty">保险情况</div>
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">当前行驶公里数</div>
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">其他车况说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">费用说明</div>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆售价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">催收费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">风控中心车辆评估价</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方结清费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车辆违章费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">年检费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">过户费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">停车费</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">其他费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">承担方</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">预计亏损金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">后续欠款处置方向</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/secondarysales/secondarysales'
import financialschemeInfo from '../publicPage/financialschemeInfo'
export default {
name: 'SecondarySalesYiBan',
components: {
financialschemeInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
createByName: '',
createDate: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
files: '',
filesList: [],
firstDate: '',
guaranteed: '',
illustrate: '',
inspect: '',
inspectSituation: '',
insuranceSituation: '',
kilometerDriven: '',
loanContractNo: '',
loanName: '',
loanSecondarySalesCost: {
arrearsAll: '',
bankSettleCost: '',
bankSettleCostAssume: '',
collectionCost: '',
costDescription: '',
debtDisposal: '',
files: [],
inspectYearCost: '',
inspectYearCostAssume: '',
insureCost: '',
insureCostAssume: '',
loanDeposit: '',
lossPrice: '',
otherCost: '',
otherCostAssume: '',
ownershipCost: '',
ownershipCostAssume: '',
stopCost: '',
stopCostAssume: '',
vehicleEvaluation: '',
vehPrice: '',
vehicleViolationCost: '',
vehicleViolationCostAssume: ''
},
loanSecondarySalesVehVoList: [],
locationName: '',
nper: '',
orgPath: '',
procInstId: '',
sid: '',
taskId: '',
unexpiredMoney: '',
useOrgSid: '',
userSid: '',
wheFundOccMoney: ''
},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆二次销售申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.loanSecondarySalesCost.files.length > 0) {
const bb = []
this.formobj.loanSecondarySalesCost.files.forEach((e) => {
bb.push(e.url)
})
this.formobj.loanSecondarySalesCost.files = bb
}
}
})
},
lookFinancial() {
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => {
if (res.success) {
this.viewState = 2
this.$refs['divFinancial'].showInfo(res.data, '03')
}
})
},
resetState() {
this.viewState = 1
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

484
anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletDaiBan.vue

@ -0,0 +1,484 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openCountersign('加签')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item><span class="addinputInfo">{{ formobj.agree }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinOwner }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.certificateType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.idNumber }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item><span class="addinputInfo">{{ formobj.endDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><span class="addinputInfo">{{ formobj.cardAddress }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.plan }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span class="icon">*</span>加签人员:
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="countersign.assignee" placeholder="请选择" filterable>
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
import { selectStaffListss } from '@/api/Common/dictcommons'
export default {
name: 'SecondarySubletDaiBan',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆二次转租申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: sid }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' })
return
}
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
return
}
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

372
anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue

@ -0,0 +1,372 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.agree">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><el-input class="addinputInfo" style="width: 20%" @keyup.native="UpNumber" v-model="formobj.amount" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" type="danger" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="24">
<div class="span-sty">客户名称</div>
<el-form-item>
<el-select v-model="formobj.newCustomerSid" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.newCustomerSid"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.vinOwner" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.customerTypeKey" placeholder="请选择" clearable filterable @change="customerTypeChange">
<el-option v-for="item in customerType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.phoneNum" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.certificateTypeKey" placeholder="请选择" clearable filterable @change="certificateTypeChange">
<el-option v-for="item in certificateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.idNumber" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item>
<el-date-picker class="addinputInfo" style="width: 50%" v-model="formobj.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.cardAddress" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.plan" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
import uploadImg from '@/components/uploadFile/uploadImg'
import { typeValues, pickCustomer } from '@/api/Common/dictcommons'
export default {
name: 'SecondarySubletEdit',
components: {
uploadImg
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
customerType_list: [],
certificateType_list: [],
customer_list: [],
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
}
}, '*')
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
init() {
typeValues({ type: 'customerType' }).then((res) => {
if (res.success) {
this.customerType_list = res.data
}
})
typeValues({ type: 'certificateType' }).then((res) => {
if (res.success) {
this.certificateType_list = res.data
}
})
},
showInfo(sid) {
this.viewTitle = '【编辑】交回车辆二次转租申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ sid: sid }).then((res) => {
if (res.success) {
this.formobj = res.data
pickCustomer({ orgPath: this.formobj.orgPath }).then((res) => {
if (res.success) {
this.customer_list = res.data
}
})
}
})
},
customerTypeChange(value) {
const choose = this.customerType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.customerType = choose[0].dictValue
} else {
this.formobj.customerType = ''
}
},
certificateTypeChange(value) {
const choose = this.certificateType_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.certificateType = choose[0].dictValue
} else {
this.formobj.certificateType = ''
}
},
handleDelete(index) {
this.formobj.vinList.splice(index, 1)
},
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.newCustomerSid === value)
if (choose.length > 0 && choose !== null) {
this.formobj.vinOwner = choose[0].vinOwner
this.formobj.customerType = choose[0].customerType
this.formobj.customerTypeKey = choose[0].customerTypeKey
this.formobj.phoneNum = choose[0].phoneNum
this.formobj.endDate = choose[0].endDate
this.formobj.idNumber = choose[0].idNumber
this.formobj.certificateType = choose[0].certificateType
this.formobj.certificateTypeKey = choose[0].certificateTypeKey
} else {
this.formobj.vinOwner = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.phoneNum = ''
this.formobj.endDate = ''
this.formobj.idNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.vinList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '二次销售车辆列表不能为空' })
return
}
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
</style>

270
anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletYiBan.vue

@ -0,0 +1,270 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item><span class="addinputInfo">{{ formobj.agree }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinOwner }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.certificateType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.idNumber }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item><span class="addinputInfo">{{ formobj.endDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><span class="addinputInfo">{{ formobj.cardAddress }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.plan }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
export default {
name: 'SecondarySubletYiBan',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆二次转租申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: sid }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
}
}
})
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
</style>

0
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/secondarysalesInfo.vue

232
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/secondarysubletInfo.vue

@ -0,0 +1,232 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">原车主是否同意</div>
<el-form-item><span class="addinputInfo">{{ formobj.agree }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">二次转租价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>二次销售车辆列表(含主车挂车)</div>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">新车主信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinOwner }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">证件类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.certificateType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.idNumber }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">证件有效期</div>
<el-form-item><span class="addinputInfo">{{ formobj.endDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件地址</div>
<el-form-item><span class="addinputInfo">{{ formobj.cardAddress }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">转租方案说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.plan }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/secondarysublet/secondarysublet'
export default {
name: 'SecondarySubletInfo',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆二次转租申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
}
}
})
},
handleReturn() {
this.formobj = {
sid: '',
userSid: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
orgPath: '',
taskId: '',
instanceId: '',
loanContractNo: '',
bankName: '',
bankContractNo: '',
customer: '',
borrowerName: '',
amount: '',
plan: '',
agree: '',
vinOwner: '',
customerTypeKey: '',
customerType: '',
phoneNum: '',
cardAddress: '',
endDate: '',
idNumber: '',
certificateTypeKey: '',
certificateType: '',
newCustomerSid: '',
files: [],
vinList: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !important;
}
</style>

284
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/relation/surrenderforredemptionInfo.vue

@ -0,0 +1,284 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.borrowerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
</el-col>
</el-row>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.location }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">相关费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.fees }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.feesShows }}</span></el-form-item>
</el-col>
</el-row>
<div class="title titleOne">
<div>赎回车辆列表(含主车挂车)</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookCollection">催收记录</el-button>
</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title titleOne">
<div>已还与欠款情况</div>
<el-button size="mini" type="primary" class="btntopblueline" @click="lookStorage">入库申请</el-button>
</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">本次还款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">赎回方案</div>
<el-form-item><span class="addinputInfo">{{ formobj.plan }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车辆历史催收记录 -->
<vehiclecollectionrecords v-show="viewState == 2" ref="divCollection" @doback="resetState" />
<!-- 查看入库申请详情-->
<returntostorageInfo v-show="viewState == 3" ref="divStorage" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/surrenderforredemption/surrenderforredemption'
import vehiclecollectionrecords from '../../cuishoucuoshiFlow/relation/vehiclecollectionrecords'
import returntostorageInfo from '../../jiaohuishuhuiFlow/relation/returntostorageInfo'
export default {
name: 'SurrenderForRedemptionInfo',
components: {
vehiclecollectionrecords,
returntostorageInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
amount: '',
applyDate: '',
applyName: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
borrowerName: '',
busVinSid: '',
currentBeMoney: '',
currentPeriod: '',
customer: '',
dept: '',
deptSid: '',
fees: '',
feesShows: '',
files: [],
instanceId: '',
ledgerSid: '',
loanContractNo: '',
location: '',
nper: '',
orgPath: '',
plan: '',
rksqSid: '',
sid: '',
taskId: '',
unexpiredMoney: '',
userSid: '',
vinList: [],
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆赎回申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
lookCollection() {
this.viewState = 2
this.$refs['divCollection'].showInfo({ saleVehSid: this.formobj.busVinSid })
},
lookStorage() {
this.viewState = 3
this.$refs['divStorage'].showInfo({ sid: this.formobj.rksqSid })
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
amount: '',
applyDate: '',
applyName: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
borrowerName: '',
busVinSid: '',
currentBeMoney: '',
currentPeriod: '',
customer: '',
dept: '',
deptSid: '',
fees: '',
feesShows: '',
files: [],
instanceId: '',
ledgerSid: '',
loanContractNo: '',
location: '',
nper: '',
orgPath: '',
plan: '',
rksqSid: '',
sid: '',
taskId: '',
unexpiredMoney: '',
userSid: '',
vinList: [],
wheFundOccMoney: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

516
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseDaiBan.vue

@ -0,0 +1,516 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openCountersign('加签')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">处置方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">处置合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposalContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" size="small" @click="lookDisposal">查看处置申请</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.newCustomer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">出库价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">出库车辆列表</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
<el-table-column prop="location" label="库存地点" align="center" min-width="130"/>
</el-table>
<div class="title">附件资料</div>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆买卖协议</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.buyFiles" :key="index" :src="item" :preview-src-list="formobj.buyFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆交付确认书</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.deliveryFiles" :key="index" :src="item" :preview-src-list="formobj.deliveryFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆完整评估照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.assessFiles" :key="index" :src="item" :preview-src-list="formobj.assessFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">其他附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.otherFiles" :key="index" :src="item" :preview-src-list="formobj.otherFiles" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 处置方式为客户赎回时查看交回车辆赎回申请详情 -->
<surrenderforredemptionInfo v-show="viewState == 2" ref="divSurrender" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次销售申请详情 -->
<secondarysalesInfo v-show="viewState == 3" ref="divSales" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次转租申请详情 -->
<secondarysubletInfo v-show="viewState == 4" ref="divSublet" @doback="resetState"/>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span class="icon">*</span>加签人员:
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="countersign.assignee" placeholder="请选择" filterable>
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/returntothewarehouse/returntothewarehouse'
import surrenderforredemptionInfo from './relation/surrenderforredemptionInfo'
import secondarysalesInfo from './relation/secondarysalesInfo'
import secondarysubletInfo from './relation/secondarysubletInfo'
import { selectStaffListss } from '@/api/Common/dictcommons'
export default {
name: 'ReturnToTheWarehouseDaiBan',
components: {
surrenderforredemptionInfo,
secondarysalesInfo,
secondarysubletInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆出库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.buyFiles.length > 0) {
const aa = []
this.formobj.buyFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.buyFiles = aa
}
if (this.formobj.deliveryFiles.length > 0) {
const aa = []
this.formobj.deliveryFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.deliveryFiles = aa
}
if (this.formobj.assessFiles.length > 0) {
const aa = []
this.formobj.assessFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.assessFiles = aa
}
if (this.formobj.otherFiles.length > 0) {
const aa = []
this.formobj.otherFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.otherFiles = aa
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
//
lookDisposal() {
//
if (this.formobj.disposalKey === '02') {
this.viewState = 2
this.$refs['divSurrender'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '03') {
this.viewState = 3
this.$refs['divSales'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '04') {
this.viewState = 4
this.$refs['divSublet'].showInfo({ sid: this.formobj.applySid })
}
},
resetState() {
this.viewState = 1
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' })
return
}
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
return
}
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

287
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseEdit.vue

@ -0,0 +1,287 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">处置方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">处置合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposalContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" size="small" @click="lookDisposal">查看处置申请</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.newCustomer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">出库价格</div>
<el-form-item><el-input class="addinputInfo" @keyup.native="UpNumber" style="width: 30%" v-model="formobj.amount" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<div class="title">出库车辆列表</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button size="small" v-if="scope.row.vehType !== '主车'" type="danger" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
<el-table-column prop="location" label="库存地点" align="center" min-width="130"/>
</el-table>
<div class="title">附件资料</div>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆买卖协议</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.buyFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆交付确认书</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.deliveryFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆完整评估照片</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.assessFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">其他附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.otherFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 处置方式为客户赎回时查看交回车辆赎回申请详情 -->
<surrenderforredemptionInfo v-show="viewState == 2" ref="divSurrender" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次销售申请详情 -->
<secondarysalesInfo v-show="viewState == 3" ref="divSales" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次转租申请详情 -->
<secondarysubletInfo v-show="viewState == 4" ref="divSublet" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntothewarehouse/returntothewarehouse'
import surrenderforredemptionInfo from './relation/surrenderforredemptionInfo'
import secondarysalesInfo from './relation/secondarysalesInfo'
import secondarysubletInfo from './relation/secondarysubletInfo'
import uploadImg from '@/components/uploadFile/uploadImg'
export default {
name: 'ReturnToTheWarehouseEdit',
components: {
uploadImg,
surrenderforredemptionInfo,
secondarysalesInfo,
secondarysubletInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 1,
index: 0,
formobj: {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showInfo(sid) {
this.viewTitle = '【编辑】交回车辆出库申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
}
})
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
//
lookDisposal() {
//
if (this.formobj.disposalKey === '02') {
this.viewState = 2
this.$refs['divSurrender'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '03') {
this.viewState = 3
this.$refs['divSales'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '04') {
this.viewState = 4
this.$refs['divSublet'].showInfo({ sid: this.formobj.applySid })
}
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

302
anrui-riskcenter-ui/src/views/workFlow/jiaohuichukuFlow/returntothewarehouseYiBan.vue

@ -0,0 +1,302 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">处置方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">处置合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.disposalContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" size="small" @click="lookDisposal">查看处置申请</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.newCustomer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.phoneNum }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">出库价格</div>
<el-form-item><span class="addinputInfo">{{ formobj.amount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">出库车辆列表</div>
<el-table :key="tableKey" :data="formobj.vinList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/>
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
<el-table-column prop="location" label="库存地点" align="center" min-width="130"/>
</el-table>
<div class="title">附件资料</div>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆买卖协议</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.buyFiles" :key="index" :src="item" :preview-src-list="formobj.buyFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆交付确认书</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.deliveryFiles" :key="index" :src="item" :preview-src-list="formobj.deliveryFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">车辆完整评估照片</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.assessFiles" :key="index" :src="item" :preview-src-list="formobj.assessFiles" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">其他附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.otherFiles" :key="index" :src="item" :preview-src-list="formobj.otherFiles" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 处置方式为客户赎回时查看交回车辆赎回申请详情 -->
<surrenderforredemptionInfo v-show="viewState == 2" ref="divSurrender" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次销售申请详情 -->
<secondarysalesInfo v-show="viewState == 3" ref="divSales" @doback="resetState"/>
<!-- 处置方式为客户赎回时查看交回车辆二次转租申请详情 -->
<secondarysubletInfo v-show="viewState == 4" ref="divSublet" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntothewarehouse/returntothewarehouse'
import surrenderforredemptionInfo from './relation/surrenderforredemptionInfo'
import secondarysalesInfo from './relation/secondarysalesInfo'
import secondarysubletInfo from './relation/secondarysubletInfo'
export default {
name: 'ReturnToTheWarehouseYiBan',
components: {
surrenderforredemptionInfo,
secondarysalesInfo,
secondarysubletInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
userSid: '',
orgPath: '',
dept: '',
deptSid: '',
applyName: '',
applyDate: '',
taskId: '',
instanceId: '',
amount: '',
disposalContractNo: '',
vinList: [],
phoneNum: '',
applySid: '',
remarks: '',
newCustomer: '',
disposal: '',
disposalKey: '',
buyFiles: [],
deliveryFiles: [],
assessFiles: [],
otherFiles: []
},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆出库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.buyFiles.length > 0) {
const aa = []
this.formobj.buyFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.buyFiles = aa
}
if (this.formobj.deliveryFiles.length > 0) {
const aa = []
this.formobj.deliveryFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.deliveryFiles = aa
}
if (this.formobj.assessFiles.length > 0) {
const aa = []
this.formobj.assessFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.assessFiles = aa
}
if (this.formobj.otherFiles.length > 0) {
const aa = []
this.formobj.otherFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.otherFiles = aa
}
}
})
},
//
lookDisposal() {
//
if (this.formobj.disposalKey === '02') {
this.viewState = 2
this.$refs['divSurrender'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '03') {
this.viewState = 3
this.$refs['divSales'].showInfo({ sid: this.formobj.applySid })
}
//
if (this.formobj.disposalKey === '04') {
this.viewState = 4
this.$refs['divSublet'].showInfo({ sid: this.formobj.applySid })
}
},
resetState() {
this.viewState = 1
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

577
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue

@ -0,0 +1,577 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openCountersign('加签')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
<el-form-item><span class="addinputInfo">{{ formobj.tralier }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">停车收费标准</div>
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.tralier === '是'">
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span class="icon">*</span>加签人员:
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="countersign.assignee" placeholder="请选择" filterable>
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '../publicPage/criterion'
import { selectStaffListss } from '@/api/Common/dictcommons'
export default {
name: 'ReturnToStorageDaiBan',
components: {
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆入库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSid: '', orgPath: '', sid: sid, userSid: '' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.filesList.length > 0) {
const aa = []
this.formobj.filesList.forEach((e) => {
aa.push(e.url)
})
this.formobj.filesList = aa
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' })
return
}
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
return
}
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

370
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue

@ -0,0 +1,370 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item>
<el-date-picker class="addinputInfo" v-model="formobj.firstDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.tralier">
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">停放地点</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.locationName" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">停车收费标准</div>
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.tralier === '是'">
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable>
<el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.filesList" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import { typeValues } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import criterion from '../publicPage/criterion'
export default {
name: 'ReturnToStorageEdit',
components: {
uploadImg,
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
trailer_list: [],
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
init() {
typeValues({ type: 'trailerType' }).then((res) => {
if (res.success) {
this.trailer_list = res.data
}
})
},
showInfo(sid) {
this.viewTitle = '【编辑】交回车辆入库申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid({ chooseSid: '', orgPath: '', sid: sid, userSid: '' }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.instanceId = resp.data.procInstId
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
trailerChange(value) {
const choose = this.trailer_list.filter((item) => item.dictKey === value)
if (choose.length > 0 && choose !== null) {
this.formobj.loanReturnInboundTrailer.trailerType = choose[0].dictValue
} else {
this.formobj.loanReturnInboundTrailer.trailerType = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
</style>

363
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue

@ -0,0 +1,363 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">首次登记日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
<el-form-item><span class="addinputInfo">{{ formobj.tralier }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">停车收费标准</div>
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.tralier === '是'">
<div class="title">挂车信息</div>
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div>
<el-row>
<el-col :span="8">
<div class="span-sty">已还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前逾期金额/其中资金占用费</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">未到期金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">总期数/当前期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">已还金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">逾期金额换算期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '../publicPage/criterion'
export default {
name: 'ReturnToStorageYiBan',
components: {
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '交回车辆入库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSid: '', orgPath: '', sid: sid, userSid:'' }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.filesList.length > 0) {
const aa = []
this.formobj.filesList.forEach((e) => {
aa.push(e.url)
})
this.formobj.filesList = aa
}
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

185
anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/relation/returntostorageInfo.vue

@ -40,7 +40,7 @@
<el-row>
<el-col :span="16">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.modelName }}</span></el-form-item>
<el-form-item><span class="addinputInfo bluezi" @click="lookModel">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否带挂车</div>
@ -76,7 +76,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="8" class="tlineheightb">
<div class="span-sty">停放地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item>
</el-col>
@ -89,25 +89,25 @@
<el-row>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">入库价()</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">挂车类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.dept }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyName }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">已还与欠款情况</div>
@ -149,38 +149,197 @@
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files"/>
<el-image class="addinputInfo" style="width: 150px; height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 查看车型配置标准页面 -->
<criterion v-show="viewState == 2" ref="divModel" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '@/components/publicPage/criterion'
export default {
name: '',
name: 'ReturnToStorageInfo',
components: {
criterion
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
formobj: {},
formobj: {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '交回车辆入库申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ chooseSid: '', orgPath: '', sid: row.sid, userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.filesList.length > 0) {
const aa = []
this.formobj.filesList.forEach((e) => {
aa.push(e.url)
})
this.formobj.filesList = aa
}
}
})
},
lookModel() {
this.viewState = 2
const aa = {
modelSid: this.formobj.modelSid,
modelConfigSid: this.formobj.configSid,
vehModelConfigSid: this.formobj.modelConfigSid,
guidedPrice: this.formobj.guidedPrice
}
this.$refs['divModel'].showInfo(aa)
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
alRepaidMoney: '',
alRepaidMoneyConPeriod: '',
bankContractNo: '',
bankName: '',
beOverdueMoneyAndPeriod: '',
configName: '',
configSid: '',
createByName: '',
createDept: '',
createDeptSid: '',
currentBeMoney: '',
currentPeriod: '',
customerName: '',
customerSid: '',
filesList: [],
firstDate: '',
guidedPrice: '',
inboundMoney: '',
loanContractNo: '',
loanName: '',
loanReturnInboundTrailer: {
inboundMoney: '',
remarks: '',
trailerType: '',
trailerTypeKey: '',
vinNo: '',
vinSid: '',
vehMark: ''
},
loanSid: '',
locationName: '',
locationSid: '',
modelConfigSid: '',
modelName: '',
modelSid: '',
nper: '',
orgPath: '',
parkFees: '',
procInstId: '',
remarks: '',
sid: '',
taskId: '',
tralier: '',
unexpiredMoney: '',
useOrgName: '',
useOrgSid: '',
userSid: '',
vehMark: '',
vinNo: '',
vinSid: '',
wheFundOccMoney: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 200px !important;
}
.addinputInfo {
margin-left: 190px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

65
anrui-riskcenter-ui/src/views/workFlow/publicPage/criterion.vue

@ -0,0 +1,65 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>车型配置详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn">关闭</el-button>
</div>
</div>
<vehicleconfiguration ref="divConfig" :params="sid_list"/>
</div>
</template>
<script>
import vehicleconfiguration from './vehicleconfiguration'
export default {
name: 'BiaoZhun',
components: {
vehicleconfiguration
},
data() {
return {
FormLoading: false,
isDown: true,
isDownOther: true,
sid_list: {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
guidedPrice: ''
}
}
},
methods: {
//
handleReturn() {
this.sid_list = {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
guidedPrice: ''
}
this.$emit('doback')
},
//
showInfo(row) {
this.FormLoading = true
this.sid_list.modelSid = row.modelSid
this.sid_list.configSid = row.modelConfigSid
this.sid_list.vehModelConfigSid = row.vehModelConfigSid
if (row.guidedPrice !== '' || row.guidedPrice !== null) {
const guidedPrice_two = parseFloat(Number(row.guidedPrice) / 10000).toFixed(2)
this.sid_list.guidedPrice = guidedPrice_two
}
if (row.guidedPrice === '' || row.guidedPrice == null) {
this.sid_list.guidedPrice = ''
}
// this.sid_list.guidedPrice = row.guidedPrice
}
}
}
</script>
<style scoped>
</style>

307
anrui-riskcenter-ui/src/views/workFlow/publicPage/vehicleconfiguration.vue

@ -0,0 +1,307 @@
<template>
<div class="app-container">
<div class="">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="title" style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<div>{{ formobj.vehicleAlias }}</div>
<div>销售指导价:<span>{{guidedPrice}} 万元</span></div>
</div>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>品牌</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.brandName }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>功能</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>系列</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.productLineValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>驱动</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.driveFormValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>马力</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.powerValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>版本</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleVersionValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>燃料</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>排放标准</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.emissionStandardValue }}</span>
</el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>发动机型号</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.engineTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>变速箱类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tranCaseTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>变速箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.gearboxTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>细分市场</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.marketSegmentsValue }}</span>
</el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>规格型号</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.specifications }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>系别</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.departmentValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>编码</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeCode }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">常用配置<span>({{ formobj.configCode }})</span></div>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>后桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>速比</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleRatio }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>轴距</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.wheelbase }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>悬架</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.suspension }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>鞍座</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.saddle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>颜色</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.carColor }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>驾驶室</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.specification }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>保险杠</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bumper }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>燃料箱</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.fuelTank }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>导流罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.baffleModel }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>独立热源</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.independentSources }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>缓速器</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.slowMachine }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>护轮罩</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tireCover }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>后视镜</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.rearViewMirror }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>轮胎</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.tireSize }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>轮毂材质</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.hubMaterial }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>空调</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.airConditioner }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>座椅</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.seat }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>多媒体</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.multimedia }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>配置包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.configuringBao }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>门窗</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.doorAndWindowValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>门锁</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.doorLockValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>大灯</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.headlightValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>上车踏板</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.boardPedalValue }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>方向盘</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.steerWheelValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>离合器</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.clutchValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>方向机</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.dirMachineValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>前桥</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.proponsValue }}</span></el-form-item>
</el-col>
<el-col :span="5" class="tlineheightb">
<div class="span-sty"><span>货箱内部长度</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.packingCase }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tlineheightb">
<div class="span-sty"><span>蓄电池</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.storagBatteryValue }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
更多配置
</div>
<el-row>
<el-col :span="24">
<el-form-item>{{ formobj.otherConfig }}</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { selectExiCarConfig } from '@/api/Common/dictcommons'
export default {
name: 'CheXingPeiZhiBiaoZhun',
props: {
params: {
type: Object
}
},
data() {
return {
FormLoading: false,
priceValidity: '',
guidedPrice: '',
formobj: {},
isDown: true,
isDownOther: true,
sid_list: {
modelSid: '',
configSid: '',
vehModelConfigSid: '',
userSid: window.sessionStorage.getItem('userSid')
}
}
},
watch: {
params: {
deep: true,
immediate: false,
handler(newVal, oldVal) {
if (newVal.configSid !== '' && newVal.modelSid !== '') {
this.guidedPrice = newVal.guidedPrice
selectExiCarConfig({
modelSid: newVal.modelSid,
configSid: newVal.configSid,
vehModelConfigSid: newVal.vehModelConfigSid
}).then((response) => {
this.FormLoading = false
if (response.success) {
this.formobj = response.data
} else {
this.$message({
showClose: true,
message: '查看失败!',
type: 'error'
})
}
})
} else {
this.formobj = {}
this.guidedPrice = ''
}
}
}
},
methods: {
}
}
</script>
<style scoped>
.span-sty {
width: 100px !important;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}
.addinputInfo {
margin-left: 90px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

6
anrui-riskcenter-ui/src/views/workFlow/yuanchengjiekongFlow/remotedecontrolDaiBan.vue

@ -45,13 +45,13 @@
</div>
<el-table :key="tableKey" :data="formobj.loanVehClearanceVehList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="120" />
<el-table-column prop="loanContractNo" label="贷款合同编号" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100"/>
<el-table-column prop="carNum" label="车牌号" align="center" width="100" />
<el-table-column prop="bankName" label="资方" align="center" width="100" />
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="120"/>
<el-table-column prop="bankContractNo" label="资方合同编号" align="center" width="160"/>
<el-table-column prop="customerName" label="客户名称" align="center" width="100" />
<el-table-column prop="borrowerName" label="贷款人" align="center" width="100"/>
<el-table-column prop="borrowerName" label="贷款人" align="center" min-width="100"/>
<el-table-column prop="firstBeDate" label="首次逾期日期" align="center" width="120"/>
<el-table-column prop="beOverduePeriod" label="逾期期数" align="center" width="100" />
<el-table-column prop="beOverdueMoney" label="逾期金额" align="center" width="100" />

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save