Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
e385f0605e
  1. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  2. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsQuery.java
  3. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverList.java
  4. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverListDto.java
  5. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverListVo.java
  6. 91
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  7. 101
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  8. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.xml
  9. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java
  10. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  11. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  12. 133
      anrui-buscenter/anrui-buscenter-ui/src/api/chukuguanli/chukubanli.js
  13. 9
      anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js
  14. 184
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqing.vue
  15. 795
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingAdd.vue
  16. 315
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingInfo.vue
  17. 86
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/daichukucheliang.vue
  18. 258
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/guacheInfo.vue
  19. 123
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/selectpackage.vue
  20. 153
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/shangzhuangInfo.vue
  21. 186
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoAdd.vue
  22. 68
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoLook.vue
  23. 499
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuDaiBanInfo.vue
  24. 779
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuEdit.vue
  25. 406
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuYiBanInfo.vue
  26. 195
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/daichuku.vue
  27. 527
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/dingdanInfo.vue
  28. 263
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/guacheInfo.vue
  29. 249
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/paymentticket.vue
  30. 123
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/selectpackage.vue
  31. 158
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/shangzhuangInfo.vue
  32. 244
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/userEdit.vue
  33. 128
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/userInfo.vue
  34. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
  35. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java
  36. 3
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java
  37. 37
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  38. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoQuery.java
  39. 3
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java
  40. 3
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskFinishVo.java
  41. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffQuery.java
  42. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffVo.java
  43. 12
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeign.java
  44. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeignFallback.java
  45. 3
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/app/AppSysStaffQuery.java
  46. 1
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java
  47. 57
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java
  48. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.java
  49. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  50. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoRest.java
  51. 23
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  52. 74
      anrui-scm/anrui-scm-ui/src/api/examinePage/chukushenhe.js
  53. 229
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenhe.vue
  54. 464
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheInfo.vue
  55. 448
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheTodo.vue
  56. 332
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/financialscheme.vue
  57. 258
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/guacheInfo.vue
  58. 244
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/paymentticket.vue
  59. 153
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/shangzhuangInfo.vue
  60. 211
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/userInfoLook.vue
  61. 522
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/xiaoshoudingdanInfo.vue
  62. 4
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangDaiBanInfo.vue
  63. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppDeliveredDetailssQuery.java

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

@ -473,9 +473,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId());
if (r == 1) {
//流程定义id
bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
@ -512,6 +512,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
return voResultBean;
}
if (r == 2) {
bv.setModelId(busVehicleApply.get().getProcDefId());
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
@ -583,6 +584,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(busVehicleApply.getSchedulingTypeKey()));
bv.setFormVariables(variables);
bv.setOrgSidPath(busVehicleApply.getOrgSidPath());
if (bv.getTaskId().equals(busVehicleApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsQuery.java

@ -1,10 +1,8 @@
package com.yxt.anrui.buscenter.api.busdelivered;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
@ -22,4 +20,7 @@ public class AppDeliveredDetailsQuery {
@ApiModelProperty("出库申请sid")
private String outboundSid;
@ApiModelProperty("是否是pc")
private boolean pcView;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverList.java

@ -27,7 +27,7 @@ public class BusDiscountpackageHandoverList extends BaseEntity {
@ApiModelProperty("数量")
private String number; // 数量
@ApiModelProperty("优惠包说明")
private String explain; // 优惠包说明
private String packageExplain; // 优惠包说明
@ApiModelProperty("总价值")
private BigDecimal totalPrice; // 总价值
@ApiModelProperty("优惠包名称")

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverListDto.java

@ -29,7 +29,7 @@ public class BusDiscountpackageHandoverListDto implements Dto {
@ApiModelProperty("数量")
private String number; // 数量
@ApiModelProperty("优惠包说明")
private String explain; // 优惠包说明
private String packageExplain; // 优惠包说明
@ApiModelProperty("总价值")
private BigDecimal totalPrice; // 总价值
@ApiModelProperty("优惠包名称")

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandoverlist/BusDiscountpackageHandoverListVo.java

@ -26,7 +26,7 @@ public class BusDiscountpackageHandoverListVo implements Vo {
@ApiModelProperty("数量")
private String number; // 数量
@ApiModelProperty("优惠包说明")
private String explain; // 优惠包说明
private String packageExplain; // 优惠包说明
@ApiModelProperty("总价值")
private BigDecimal totalPrice; // 总价值
@ApiModelProperty("优惠包名称")

91
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java

@ -227,6 +227,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
public ResultBean<AppDeliveredDetailsVo> getRetrievalApplyInfo(AppDeliveredDetailsQuery query) {
ResultBean<AppDeliveredDetailsVo> rb = ResultBean.fireFail();
AppDeliveredDetailsVo appDeliveredDetailsVo = new AppDeliveredDetailsVo();
boolean codeMsg = false;
if (StringUtils.isBlank(query.getOutboundSid())) {
appDeliveredDetailsVo.setOrgPath(query.getOrgPath());
List<String> list = query.getList();
@ -436,40 +437,61 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
}
List<AppCarListVo> carList = new ArrayList<>();
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(),busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
discountUse.add(busDeliveredDetailsDiscountsVo);
detailsList.removeAll(Collections.singleton(null));
if(!detailsList.isEmpty()){
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(),busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
//已使用的数量:根据优惠包sid查询出库已提交以及出库已办结的数量
int intCount = busDeliveredDetailsDiscountService.selectCounts(busDeliveredDetailsDiscount.getDiscountSid());
int count = busDeliveredDetailsDiscount.getNum();
//剩余数量
int discountLeaveNum = count - intCount;
if(discountLeaveNum<busDeliveredDetailsDiscount.getGiveNum()){
codeMsg = true;
busDeliveredDetailsDiscountsVo.setDiscountNum(0);
}
discountUse.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
if(!query.isPcView()){
if("2".equals(busDeliveredApply.getTypeKey())){
busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
}
}else{
busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
}
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo);
}
appDeliveredDetailsVo.setCarList(carList);
//剩余
@ -528,6 +550,9 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
vo.setCarList(appCarListVos);
vo.setTerminalKey("0");
vo.setTerminalValue("否");*/
if(codeMsg){
return rb.success().setData(appDeliveredDetailsVo).setCode("20005");
}
return rb.success().setData(appDeliveredDetailsVo);
}

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

@ -708,17 +708,21 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
List<BusDiscountpackageHandoverListDto> busDiscountpackageHandoverLists = new ArrayList<>();
for (int i = 0; i < discountList.size(); i++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountList.get(i);
BusDiscountpackageHandoverListDto busDiscountpackageHandoverListDto = new BusDiscountpackageHandoverListDto();
busDiscountpackageHandoverListDto.setPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()));
busDiscountpackageHandoverListDto.setNumber(String.valueOf(busDeliveredDetailsDiscount.getGiveNum()));
busDiscountpackageHandoverListDto.setDiscountName(busDeliveredDetailsDiscount.getName());
busDiscountpackageHandoverListDto.setExplain(busDeliveredDetailsDiscount.getDiscountExplain());
busDiscountpackageHandoverListDto.setRemarks(busDeliveredDetailsDiscount.getRemarks());
busDiscountpackageHandoverListDto.setTotalPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum())));
busDiscountpackageHandoverLists.add(busDiscountpackageHandoverListDto);
discountList.removeAll(Collections.singleton(null));
if(!discountList.isEmpty()){
for (int i = 0; i < discountList.size(); i++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountList.get(i);
BusDiscountpackageHandoverListDto busDiscountpackageHandoverListDto = new BusDiscountpackageHandoverListDto();
busDiscountpackageHandoverListDto.setPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()));
busDiscountpackageHandoverListDto.setNumber(String.valueOf(busDeliveredDetailsDiscount.getGiveNum()));
busDiscountpackageHandoverListDto.setDiscountName(busDeliveredDetailsDiscount.getName());
busDiscountpackageHandoverListDto.setPackageExplain(busDeliveredDetailsDiscount.getDiscountExplain());
busDiscountpackageHandoverListDto.setRemarks(busDeliveredDetailsDiscount.getRemarks());
busDiscountpackageHandoverListDto.setTotalPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum())));
busDiscountpackageHandoverLists.add(busDiscountpackageHandoverListDto);
}
}
busDiscountpackageHandoverDto.setBusDiscountpackageHandoverLists(busDiscountpackageHandoverLists);
busDiscountpackageHandoverService.saveOrUpdateDto(busDiscountpackageHandoverDto);
@ -1015,7 +1019,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//优惠包项目说明
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo());
//数量
busDeliveredDetailsDiscount.setNum(busDeliveredDetailsDiscountsVo.getTotalNum());
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum());
//本次赠送数量
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum());
//销售订单中主车优惠的sid
@ -1319,40 +1324,43 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
List<AppCarListVo> carList = new ArrayList<>();
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(sid);
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
discountUse.add(busDeliveredDetailsDiscountsVo);
detailsList.removeAll(Collections.singleton(null));
if(!detailsList.isEmpty()){
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
discountUse.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo);
}
appDeliveredDetailsVo.setCarList(carList);
//获取实际购车人的数据
@ -1426,10 +1434,11 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse();
for (int j = 0; j < discountUse.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j);
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
//根据discountSid查询已通过或已提交的申请的赠送套餐的数量
int count = busDeliveredDetailsDiscountService.selectGiveNumBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
int giveNum = count + busDeliveredDetailsDiscountsVo.getDiscountNum();
if (busDeliveredDetailsDiscountsVo.getTotalNum() < giveNum) {
if (busSalesOrderDiscount.getNum() < giveNum) {
return rb.setMsg("车辆赠送的优惠包已超出");
}
}
@ -1476,7 +1485,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("sid", businessSid);
appMap.put("outboundSid", businessSid);
appMap.put("contractId", busDeliveredApply.getContractNo());
variables.put("app", appMap);
//流程定义id

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.xml

@ -13,7 +13,7 @@
left join bus_delivered_apply_details bad on bad.sid = bd.detailsSid
left join bus_delivered_apply bda on bda.sid = bad.applySid
where bd.discountSid = #{discountSid}
and (bda.nodeState = '已办结' or bda.nodeState = '销售支持部经理审批')
and (bda.state = 3 or bda.state = 2)
</select>
<delete id="deleteByApplySid">
@ -40,14 +40,13 @@
select IFNULL(SUM(cast(bd.giveNum as signed)), 0) as count
from bus_delivered_details_discount bd
left join bus_delivered_apply ba on ba.sid = bd.applySid
where ba.state = 2
or ba.state = 3
where (ba.state = 2 or ba.state = 3) and bd.discountSid = #{sid}
</select>
<select id="selectByApplySid"
resultType="com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetailsDiscount">
select IFNULL(SUM(cast(giveNum as signed)), 0) as count,price,discountExplain,name,remarks
select IFNULL(SUM(cast(giveNum as signed)), 0) as giveNum,price,discountExplain,name,remarks
from bus_delivered_details_discount
where applySid = #{sid} group by discountSid
where applySid = #{sid} and length(giveNum) >0 group by discountSid
</select>
</mapper>

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java

@ -313,8 +313,8 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService<BusDis
if (StringUtils.isNotBlank(String.valueOf(handoverList.getTotalPrice()))) {
listVo.setTotalPrice(handoverList.getTotalPrice());
}
if (StringUtils.isNotBlank(handoverList.getExplain())) {
listVo.setExplain(handoverList.getExplain());
if (StringUtils.isNotBlank(handoverList.getPackageExplain())) {
listVo.setPackageExplain(handoverList.getPackageExplain());
}
listVo.setSNo(i++);
listVos.add(listVo);
@ -367,7 +367,7 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService<BusDis
Map<String, Object> map = new HashMap<>();
map.put("sNo", handoverList.getSNo());
map.put("discountName", handoverList.getDiscountName());
map.put("explain", handoverList.getExplain());
map.put("explain", handoverList.getPackageExplain());
map.put("number", handoverList.getNumber());
newList.add(map);
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -580,7 +580,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<String> stringList = new ArrayList<>();
if (!list.isEmpty()) {
for (BusDepositFictitiousDetailsVo v : list) {
String b = "编号为" + v.getDepositBillNo() + "虚拟订单订金转入" + v.getPrice() + "元,";
String b = "编号为" + v.getDepositBillNo() + "简易订单订金转入" + v.getPrice() + "元,";
a = a + b;
if (StringUtils.isNotBlank(v.getPayPath())) {
List<String> payPathList = Arrays.asList(v.getPayPath().split(","));
@ -3331,7 +3331,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<String> stringList = new ArrayList<>();
if (!list.isEmpty()) {
for (BusDepositFictitiousDetailsVo v : list) {
String b = "编号为" + v.getDepositBillNo() + "虚拟订单订金转入" + v.getPrice() + "元,";
String b = "编号为" + v.getDepositBillNo() + "简易订单订金转入" + v.getPrice() + "元,";
a = a + b;
if (StringUtils.isNotBlank(v.getPayPath())) {
List<String> payPathList = Arrays.asList(v.getPayPath().split(","));

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java

@ -66,6 +66,7 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -166,6 +167,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
* @param dto 数据传输对象
* @return
*/
@Transactional(rollbackFor = Exception.class)
public ResultBean saveApp(AppBusSalesOrderModelDto dto) {
ResultBean rb = ResultBean.fireFail();
String salesOrderSid = dto.getSaleOrderSid();

133
anrui-buscenter/anrui-buscenter-ui/src/api/chukuguanli/chukubanli.js

@ -12,30 +12,6 @@ export function listPage(params) {
})
}
// 验证是否可出库
export function checkingApply(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/checkingApply',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 出库申请详情、编辑回显 已改
export function fetchDetailsBySid(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/fetchDetailsBySid',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 出库分页列表 已改
export function pagerList(params) {
return request({
@ -62,36 +38,10 @@ export function revokeBySid(params) {
})
}
// 保存和修改接口 已改
export function save(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/save',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 列表提交 已改
export function submitBySid(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/submitBySid',
method: 'put',
params: {
sid: params
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
}
// 表单中的提交 已改
export function submitInfo(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/submitDeliveredApply',
url: '/buscenter/v1/busdeliveredapply/submitAppDeliveredApply',
method: 'post',
data: params,
headers: {
@ -112,26 +62,6 @@ export function delBySids(params) {
})
}
// 模糊搜索客户
export function customerName(data) {
return request({
url: '/crm/v1/crmcustomertemp/listAll',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 获取下拉框option
export function typeValues(data) {
return request({
url: '/portal/v1/dictcommons/typeValues',
method: 'get',
params: data
})
}
// 代办任务同意办理
export function complete(data) {
return request({
@ -192,3 +122,64 @@ export function getPreviousNodesForReject(data) {
params: data
})
}
// 待出库车辆选择后--返回出库申请页面调用初始化
export function getRetrievalApplyInfo(data) {
return request({
url: '/buscenter/v1/busdelivered/getRetrievalApplyInfo',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 补充待出库车辆选择后--返回出库申请页面调用--仅返回车辆列表信息
export function selectInfo(data) {
return request({
url: '/buscenter/v1/busdelivered/selectInfo',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 出库申请--车辆列表--查看挂车信息
export function trailerList(data) {
return request({
url: '/base/v1/basetrailer/trailerList',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 查看款、票情况详情
export function deliveredFinSelect(data) {
return request({
url: '/buscenter/v1/busdeliveredapply/deliveredFinSelect',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 保存和修改接口 已改
export function saveOrUpdate(data) {
return request({
url: '/buscenter/v1/busdeliveredapply/saveRetrievalApplyInfo',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

9
anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js

@ -18,6 +18,15 @@ export function getOrgSidByPath(data) {
})
}
// 根据选择的销售专员获取客户
export function selectCustomerList(data) {
return request({
url: '/crm/v1/crmcustomertemp/selectCustomerList',
method: 'get',
params: data
})
}
// 当前用户创建申请时判断该用户是否有该菜单的操作权限
export function selectHaveMessage(data) {
return request({

184
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqing.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="viewState == 5">
<div v-show="viewState == 1">
<button-bar view-title="出库申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
@ -8,21 +8,21 @@
<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-item label="销售类型">
<el-select v-model="listQuery.params.paymentMethodKey" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in payType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="合同编号">
<el-input v-model="listQuery.params.contractNo" placeholder="请输入合同编号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="客户名称">
<el-select v-model="listQuery.params.name" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in customerList" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="请输入申请人姓名" clearable class="filter-item"/>
<el-input v-model="listQuery.params.name" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.applyDateStart" type="date" placeholder="选择日期" clearable></el-date-picker>
<el-date-picker v-model="listQuery.params.applyDateStart" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" clearable></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.applyDateEnd" type="date" placeholder="选择日期" clearable></el-date-picker>
<el-date-picker v-model="listQuery.params.applyDateEnd" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" clearable></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -45,14 +45,25 @@
<template slot-scope="scope">
<el-button size="small" type="danger" :disabled="scope.row.nodeState === '待提交' ? true : scope.row.nodeState === '已办结' ? true : scope.row.nodeState === '已终止' ? true : scope.row.nodeState === '发起申请' ? true : false" @click="handleRevoke(scope.row)">撤回
</el-button>
<el-button size="small" type="primary" :disabled="scope.row.nodeState === '待提交' ? false : scope.row.nodeState === '发起申请' ? false : true" @click="changeNodeState(scope.row)">办理
<el-button size="small" type="primary" :disabled="scope.row.nodeState === '待提交' ? false : scope.row.nodeState === '发起申请' ? false : true" @click="toEdit(scope.row)">办理
</el-button>
<el-button size="small" type="primary" @click="handleCheck(scope.row)">查看</el-button>
<el-button size="small" type="primary" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="180px" 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">
<template slot-scope="scope">
<span>{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<el-table-column label="销售类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
<span>{{ scope.row.paymentMethod }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
@ -65,7 +76,17 @@
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center">
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column label="台数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
</template>
</el-table-column>
<el-table-column label="发起日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.applyDate }}</span>
</template>
@ -88,16 +109,21 @@
</div>
<chukushenqing-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<chukushenqing-info v-show="viewState == 4" ref="divInfo" @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>
</div>
</template>
<script>
import { customerName, delBySids, pagerList, revokeProcess } from '@/api/chukuguanli/chukubanli'
import { delBySids, pagerList, revokeProcess } from '@/api/chukuguanli/chukubanli'
import { typeValues, selectHaveMessage } from '@/api/dictcommons/dictcommons'
import { getStorage } from '@/utils/auth'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import chukushenqingAdd from './chukushenqingAdd'
import chukushenqingInfo from './chukushenqingInfo'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'chukushenqing',
@ -110,15 +136,17 @@ export default {
},
data() {
return {
viewTitle: '',
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
//
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 5, // 1 2 3 4
viewState: 1, // 1 2 3 4
// -----------
tableKey: 0,
customerList: [],
payType: [],
list: [],
sids: [], // SIDs
FormLoading: false,
@ -134,7 +162,8 @@ export default {
applyName: '', //
applySid: '', // sid
contractNo: '', //
name: '' //
name: '', //
paymentMethodKey: ''
}
},
btnList: [
@ -168,13 +197,48 @@ export default {
this.init()
},
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.init()
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 = 'http://localhost:9530/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
// ========== ==========
init() {
typeValues({ type: 'purchaseType' }).then((res) => {
if (res.success) {
this.payType = res.data
}
})
this.getList()
this.getCustomer()
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
@ -192,15 +256,6 @@ export default {
break
}
},
//
getCustomer() {
customerName({ staffSid: window.sessionStorage.getItem('staffSid') }).then((response) => {
if (response.code === '200') {
this.customerList = response.data
console.log('客户列表', this.customerList)
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
@ -208,10 +263,6 @@ export default {
return pageindex
},
// ========== ==========
//
resetState() {
this.viewState = 5
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
@ -222,7 +273,7 @@ export default {
}
},
handleRevoke(row) {
this.$confirm('是否确定提交该业务', '提示', {
this.$confirm('是否确定撤回该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@ -237,7 +288,6 @@ export default {
},
// sid
handleSelectionChange(row) {
console.log('开票', row)
const aa = []
row.forEach(element => {
aa.push(element.sid)
@ -245,6 +295,22 @@ export default {
this.sids = aa
console.log('sids数组', this.sids)
},
// ========== ==========
//
getList() {
this.listLoading = true
this.listQuery.params.applySid = window.sessionStorage.getItem('userSid')
pagerList(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
@ -262,42 +328,30 @@ export default {
applyName: '', //
applySid: '', // sid
contractNo: '', //
name: '' //
name: '', //
paymentMethodKey: ''
}
}
this.getList()
},
// ========== ==========
//
getList() {
this.listLoading = true
this.listQuery.params.applySid = window.sessionStorage.getItem('staffSid')
pagerList(this.listQuery).then(response => { //
this.listLoading = false
console.log(response)
if (response.code === '200' && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
toAdd() {
selectHaveMessage({ menuUrl: this.$route.path, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.viewState = 2
this.$refs['divadd'].showAdd()
}
})
},
//
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
//
handleCheck(row) {
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row.sid)
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
//
changeNodeState(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row, row.sid)
},
//
doDel() {
if (this.sids.length === 0) {
@ -316,7 +370,7 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
delBySids(this.sids).then(resp => {
delBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
@ -328,6 +382,10 @@ export default {
}).catch(() => {
})
},
//
resetState() {
this.viewState = 1
},
//
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)

795
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingAdd.vue

@ -4,161 +4,295 @@
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="createBtn" @click="handLeSelect()">选择车辆</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleChoose()">选择车辆</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleSave()">保存</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleSubmit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="temp" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="4" class="tleftb colOneStyle">
<span>合同编号:</span>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colOneStyle">
<el-form-item>{{ temp.contractNo }}</el-form-item>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb colOneStyle">
<span>申请日期:</span>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colOneStyle">
<el-form-item>{{ temp.applyDate }}</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
</el-row>
<el-row class="rowStyle">
<el-col :span="4" class="tleftb colStyle">
<span>客户名称:</span>
<el-row>
<el-col :span="8">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colStyle">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb colStyle">
<span>是否为终端客户:</span>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colStyle">
<el-form-item>
<el-radio v-model="temp.isTerminal" :disabled="radioDisabled" :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" :disabled="radioDisabled" :label="1"></el-radio>
</el-row>
<el-row v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty"><span class="icon">*</span>贷款人</div>
<el-form-item prop="loanName">
<el-select v-model="formobj.loanName" class="addinputInfo" filterable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row class="rowStyle">
<el-col :span="4" class="tleftb colStyle">
<span>车型:</span>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="20" class="colStyle">
<el-form-item>
<span>{{ temp.modelName }}</span>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>实际购车人</div>
<el-form-item prop="typeKey">
<el-radio-group class="addinputw" style="font-size: 1px" v-model="formobj.typeKey" @input="typeRadio">
<el-radio label="0">订单客户</el-radio>
<el-radio label="1" v-show="formobj.paymentMethodKey == '2'">贷款人</el-radio>
<el-radio label="2">其他人</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="title" v-if="temp.isTerminal === 0">
<div class="title" v-if="formobj.typeKey == '2'">
<div>车辆信息</div>
<div>
<el-button size="mini" type="primary" @click="openUserInfo">录入用人信息
<el-button size="mini" type="primary" @click="openUserInfo">批量录入实际购车人
</el-button>
<el-button size="mini" type="danger" @click="clearUserInfo">置空使用人信息
<el-button size="mini" type="danger" @click="clearUserInfo">批量置空实际购车人
</el-button>
</div>
</div>
<div class="titleOne" v-else>
<div>车辆信息</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit @selection-change="handleSelectionChange">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50" :index="index + 1"/>
<el-table-column fixed align="center" label="序号" type="index" width="60"/>
<el-table-column fixed align="center" label="操作" type="index" width="80">
<el-table-column fixed align="center" label="操作" type="index" width="280">
<template slot-scope="scope">
<el-button type="danger" size="small" @click="handleDel(scope.$index)">删除</el-button>
<el-button type="primary" size="small" @click="handleSelect(scope.row)">选择套餐</el-button>
<el-button type="primary" size="small" v-if="formobj.typeKey == '2'" @click="handleUpdateUser(scope.row)">修改购车人</el-button>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</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.vinNo }}</span>
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<el-button v-show="temp.isTerminal === 0 && scope.row.isExist == '1'" size="small" type="primary" @click="updateUserInfo(scope.row.vinNo)" class="btntopbluebut">修改
</el-button>
<el-button v-show="temp.isTerminal === 0 && scope.row.isExist == '1'" size="small" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<el-button v-show="temp.isTerminal === 1" size="small" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<span v-show="temp.isTerminal == 3"></span>
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" class="addinputw" placeholder="请输入备注" clearable/>
<el-input v-model="scope.row.discount" placeholder="" clearable/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<el-input class="addinputInfo" style="width: 90%" v-model="formobj.remarks" placeholder="" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div> <!--@returnEdit="getUserInfoEdit"-->
</div>
<!-- 选择待出库车辆 -->
<daichukucheliang v-show="viewState == 2" ref="divSelect" @doback="resetState" @backData="backData"/>
<user-info-add v-show="viewState == 3 || viewState == 4" ref="divUser" @doback="resetState" @returnInfo="getUserInfo"/>
<user-info-look v-show="viewState == 5" ref="divUserInfo" @doback="resetState"/>
<!-- 录入实际购车人 -->
<userInfoAdd v-show="viewState == 3 || viewState == 4" ref="divAddByUser" @doback="resetState" @backUser="backUser"/>
<!-- 查看实际购车人 -->
<userInfoLook v-show="viewState == 5" ref="divInfoByUser" @doback="resetState"/>
<!-- 查看挂车信息 -->
<guacheInfo v-show="viewState == 6" ref="divCheInfo" @doback="resetState"/>
<!-- 选择优惠套餐 -->
<selectpackage v-show="viewState == 7" ref="divSelectPackAge" @backData="backPackAge" @doback="resetState"/>
<!-- 查看上装信息 -->
<shangzhuangInfo v-show="viewState == 8" ref="divZhuangInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid, save, submitInfo } from '@/api/chukuguanli/chukubanli'
import { saveOrUpdate, submitInfo, getRetrievalApplyInfo, selectInfo, trailerList } from '@/api/chukuguanli/chukubanli'
import { selectCustomerList } from '@/api/dictcommons/dictcommons'
import daichukucheliang from './daichukucheliang'
import userInfoAdd from './relation/userInfoAdd'
import userInfoLook from './relation/userInfoLook'
import guacheInfo from './relation/guacheInfo'
import selectpackage from './relation/selectpackage'
import shangzhuangInfo from './relation/shangzhuangInfo'
export default {
name: 'chukushenqingAdd',
components: {
daichukucheliang,
userInfoAdd,
userInfoLook
userInfoLook,
guacheInfo,
selectpackage,
shangzhuangInfo
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
createBtn: false, //
// ---------
viewState: 1,
isShow: true,
radioDisabled: false,
// ===
listLoading: false,
customer_list: [],
list: [],
temp: {
applyName: '', //
applySid: '', // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
userSid: '',
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
instanceId: '',
detailsList: []
}, //
detailsList: [],
userlist: {},
diaStatus: '',
sids: [],
vinNo_info: '',
index_list: [],
rules: {}
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
arguments_params: {
contractNo: '',
vinSids: []
},
vinNo_list: [], // --
index_list: [], // --
rules: {
typeKey: [{ required: true, message: '请选择实际购车人', trigger: 'change' }],
loanName: [{ required: true, message: '贷款人不能为空', trigger: 'change' }]
}
}
},
methods: {
@ -167,233 +301,283 @@ export default {
this.$refs['dataForm'].clearValidate()
})
this.viewTitle = '【新增】出库申请'
var nowDate = new Date()
var date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
day: nowDate.getDate()
}
var dayDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
this.temp.applyDate = dayDate
this.temp.applyName = window.sessionStorage.getItem('name')
this.temp.applySid = window.sessionStorage.getItem('staffSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
},
showEdit(row, sid) {
showEdit(row) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.viewTitle = '【编辑】出库申请'
this.radioDisabled = true
this.diaStatus = 'edit'
fetchDetailsBySid({ sid: sid }).then(response => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.temp.instanceId = response.data.procInstId
this.detailsList = response.data.listVo
for (var i = 0; i < this.detailsList.length; i++) {
// JSON.stringify()
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
this.arguments.outboundSid = row.sid
getRetrievalApplyInfo(this.arguments).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.instanceId = resp.data.procInstId
selectCustomerList({ staffSid: this.formobj.pcStaffSid, userSid: '', orgPath: '' }).then((resp) => {
if (resp.success) {
this.customer_list = resp.data
}
}
this.temp = JSON.parse(JSON.stringify(this.temp).replace(/listVo/g, 'detailsList'))
console.log('isTerminal', this.temp.isTerminal)
})
}
})
},
// ------------ ------------
handLeSelect() {
//
handleChoose() {
this.viewState = 2
this.$refs['divSelect'].showData(this.detailsList, this.temp.contractNo)
this.$refs['divSelect'].showData(this.formobj.carList, this.formobj.contractId)
},
//
handleDel(index) {
this.detailsList.splice(index, 1)
for (var i = 0; i < this.formobj.discountLeave.length; i++) {
for (var k = 0; k < this.formobj.carList[index].discountUse.length; k++) {
if (this.formobj.discountLeave[i].discountSid === this.formobj.carList[index].discountUse[k].discountSid) {
this.formobj.discountLeave[i].discountLeaveNum = parseInt(this.formobj.discountLeave[i].discountLeaveNum) + parseInt(this.formobj.carList[index].discountUse[k].discountNum)
}
}
}
this.formobj.carList.splice(index, 1)
},
// --
backData(value) {
this.viewState = 1
this.temp.contractNo = value[0].contractNo
this.temp.name = value[0].name
this.temp.modelName = value[0].modelName
if (value.length > 0) {
value.forEach((e) => {
this.detailsList.push({
price: e.price, //
remarks: '', //
vinNo: e.vinNo, //
useMessage: {
contractNo: value[0].contractNo,
vinNo: value[0].vinNo,
name: '',
mobile: '',
idNo: '',
address: ''
this.arguments.userSid = window.sessionStorage.getItem('userSid')
this.arguments.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.arguments.contractId = value[0].contractNo
this.arguments_params.contractNo = value[0].contractNo
const aa = []
value.forEach((e) => {
aa.push(e.vinSid)
})
this.arguments.list = aa
this.arguments_params.vinSids = aa
// --
if (this.formobj.contractId === '' || this.formobj.contractId === null) {
getRetrievalApplyInfo(this.arguments).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.userSid = window.sessionStorage.getItem('userSid')
selectCustomerList({ staffSid: this.formobj.pcStaffSid, userSid: '', orgPath: '' }).then((resp) => {
if (resp.success) {
this.customer_list = resp.data
}
})
}
})
} else {
selectInfo(this.arguments_params).then((resp) => {
if (resp.success) {
for (var k = 0; k < resp.data.length; k++) {
this.formobj.carList.push(resp.data[k])
}
})
this.userlist = {
contractNo: value[0].contractNo,
vinNo: value[0].vinNo,
name: value[0].name,
mobile: value[0].mobile,
idNo: value[0].idNo,
address: value[0].address
}
})
}
},
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.name === value)
this.formobj.loanSid = choose[0].sid
this.formobj.loanMobile = choose[0].mobile
},
//
handleSelect(row) {
this.viewState = 7
this.$refs['divSelectPackAge'].showData(row.discountUse, this.formobj.discountLeave, row.vinSid)
},
backPackAge(val, vinSid) {
this.viewState = 1
for (var i = 0; i < val.length; i++) {
//
for (var k = 0; k < this.formobj.discountLeave.length; k++) {
if (val[i].discountSid === this.formobj.discountLeave[k].discountSid) {
this.formobj.discountLeave[k].discountLeaveNum = parseInt(this.formobj.discountLeave[k].discountLeaveNum) - parseInt(val[i].discountNum)
}
}
//
for (var n = 0; n < this.formobj.carList.length; n++) {
if (this.formobj.carList[n].vinSid === vinSid) {
for (var b = 0; b < this.formobj.carList[n].discountUse.length; b++) {
if (val[i].discountSid === this.formobj.carList[n].discountUse[b].discountSid) {
this.formobj.carList[n].discountUse[b].discountNum = val[i].discountNum
this.formobj.carList[n].discountUse[b].totalNum = parseInt(this.formobj.carList[n].discountUse[b].totalNum) - parseInt(val[i].discountNum)
}
}
}
}
}
},
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
//
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 6
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 8
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
}
})
},
//
handleSelectionChange(row) {
console.log('开票', row)
console.log(row, 999)
const aa = []
const bb = []
const index_arr = []
row.forEach((element, index) => {
aa.push(element.vinNo)
bb.push(element.sid)
this.detailsList.forEach((v, i) => {
// id id
if (element.vinNo === v.vinNo) {
index_arr.push(i)
row.forEach((e, i) => {
aa.push(e.realBuyer.vin)
})
this.formobj.carList.forEach((e, i) => {
aa.forEach((element) => {
if (e.realBuyer.vin === element) {
bb.push(i)
}
})
})
this.vinNo_info = aa.join()
this.sids = bb
this.index_list = index_arr
this.vinNo_list = aa
this.index_list = bb
},
//
typeRadio(val) {
if (val === '0') {
this.formobj.type = '订单客户'
for (var i = 0; i < this.formobj.carList.length; i++) {
this.formobj.carList[i].realBuyer.address = ''
this.formobj.carList[i].realBuyer.contacts = ''
this.formobj.carList[i].realBuyer.customerType = ''
this.formobj.carList[i].realBuyer.customerTypeKey = ''
this.formobj.carList[i].realBuyer.idNumber = ''
this.formobj.carList[i].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[i].realBuyer.mobile = this.formobj.mobile
this.formobj.carList[i].realBuyer.name = this.formobj.name
this.formobj.carList[i].realBuyer.remarks = ''
}
} else if (val === '1') {
this.formobj.type = '贷款人'
for (var k = 0; k < this.formobj.carList.length; k++) {
this.formobj.carList[k].realBuyer.address = ''
this.formobj.carList[k].realBuyer.contacts = ''
this.formobj.carList[k].realBuyer.customerType = ''
this.formobj.carList[k].realBuyer.customerTypeKey = ''
this.formobj.carList[k].realBuyer.idNumber = ''
this.formobj.carList[k].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[k].realBuyer.mobile = this.formobj.loanMobile
this.formobj.carList[k].realBuyer.name = this.formobj.loanName
this.formobj.carList[k].realBuyer.remarks = ''
}
} else {
this.formobj.type = '其他人'
for (var m = 0; m < this.formobj.carList.length; m++) {
this.formobj.carList[m].realBuyer.address = ''
this.formobj.carList[m].realBuyer.contacts = ''
this.formobj.carList[m].realBuyer.customerType = ''
this.formobj.carList[m].realBuyer.customerTypeKey = ''
this.formobj.carList[m].realBuyer.idNumber = ''
this.formobj.carList[m].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[m].realBuyer.mobile = ''
this.formobj.carList[m].realBuyer.name = ''
this.formobj.carList[m].realBuyer.remarks = ''
}
}
},
//
openUserInfo() {
if (this.sids.length > 0) {
console.log('车架号', this.vinNo_info, '合同编号', this.temp.contractNo)
if (this.vinNo_list.length > 0) {
this.viewState = 3
this.$refs['divUser'].showAdd(this.temp.contractNo, this.vinNo_info)
this.$refs['divAddByUser'].showAdd(this.formobj.contractId, this.vinNo_list.join(','))
} else {
this.$message({
showClose: true,
message: '请选择出库车辆信息!',
type: 'error'
})
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行批量录入实际购车人的操作' })
return
}
},
//
updateUserInfo(vinNo) {
//
handleUpdateUser(row) {
this.viewState = 4
let useMessage = {}
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo === vinNo) {
useMessage = {
address: this.detailsList[i].useMessage.address,
contractNo: this.detailsList[i].useMessage.contractNo,
idNo: this.detailsList[i].useMessage.idNo,
mobile: this.detailsList[i].useMessage.mobile,
name: this.detailsList[i].useMessage.name,
vinNo: this.detailsList[i].useMessage.vinNo
}
}
}
this.$refs['divUser'].showEdit(useMessage, vinNo)
},
//
lookUserInfo(vinNo) {
this.viewState = 5
let useMessage = {}
if (this.temp.isTerminal === 1) {
for (var i = 0; i < this.detailsList.length; i++) {
useMessage = this.detailsList[i]
if (this.detailsList[i].useMessage !== {}) {
useMessage = this.detailsList[i].useMessage
if (this.userlis !== {} && this.diaStatus === '') {
useMessage = this.userlist
}
}
}
}
if (this.temp.isTerminal === 0) {
for (var g = 0; g < this.detailsList.length; g++) {
if (this.detailsList[g].vinNo === vinNo) {
useMessage = {
address: this.detailsList[g].useMessage.address,
contractNo: this.detailsList[g].useMessage.contractNo,
idNo: this.detailsList[g].useMessage.idNo,
mobile: this.detailsList[g].useMessage.mobile,
name: this.detailsList[g].useMessage.name,
vinNo: this.detailsList[g].useMessage.vinNo
}
}
const cc = []
this.formobj.carList.forEach((e, i) => {
if (e.realBuyer.vin === row.realBuyer.vin) {
cc.push(i)
}
}
this.$refs['divUserInfo'].showInfo(useMessage)
})
this.index_list = cc
this.$refs['divAddByUser'].showEdit(row.realBuyer, this.formobj.contractId)
},
//
//
clearUserInfo() {
if (this.sids.length > 0) {
for (var i = 0; i < this.index_list.length; i++) {
if (this.detailsList[this.index_list[i]].isExist == '1') {
this.detailsList[this.index_list[i]].useMessage = {
contractNo: '',
vinNo: '',
name: '',
mobile: '',
idNo: '',
address: ''
}
this.detailsList[this.index_list[i]].isExist = ''
this.$message({
showClose: true,
message: '成功置空使用人信息!',
type: 'success'
})
} else {
this.$message({
showClose: true,
message: '此车辆无使用人信息!',
type: 'error'
})
return
}
}
} else {
this.$message({
showClose: true,
message: '请选择出库车辆信息!',
type: 'error'
})
if (this.index_list.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行批量置空实际购车人的操作' })
return
}
for (var k = 0; k < this.index_list.length; k++) {
this.formobj.carList[this.index_list[k]].realBuyer.address = ''
this.formobj.carList[this.index_list[k]].realBuyer.contacts = ''
this.formobj.carList[this.index_list[k]].realBuyer.customerType = ''
this.formobj.carList[this.index_list[k]].realBuyer.customerTypeKey = ''
this.formobj.carList[this.index_list[k]].realBuyer.idNumber = ''
this.formobj.carList[this.index_list[k]].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[this.index_list[k]].realBuyer.mobile = ''
this.formobj.carList[this.index_list[k]].realBuyer.name = ''
this.formobj.carList[this.index_list[k]].realBuyer.remarks = ''
}
this.index_list = []
this.vinNo_list = []
this.$refs.multipleTable.clearSelection()
},
//
getUserInfo(tempUser) {
console.log('开票申请页面的tempUser', tempUser)
const vinNo_array = tempUser.vinNo.split(',') // 使
console.log('保存过来的vinNo', vinNo_array)
for (var i = 0; i < this.detailsList.length; i++) {
for (var j = 0; j < vinNo_array.length; j++) {
if (this.detailsList[i].vinNo === vinNo_array[j]) {
this.detailsList[i].useMessage = tempUser
this.detailsList[i].isExist = '1'
console.log('保存到detailsList的信息', this.detailsList)
}
}
// --
backUser(value) {
for (var k = 0; k < this.index_list.length; k++) {
this.formobj.carList[this.index_list[k]].realBuyer.address = value.address
this.formobj.carList[this.index_list[k]].realBuyer.contacts = value.contacts
this.formobj.carList[this.index_list[k]].realBuyer.customerType = value.customerType
this.formobj.carList[this.index_list[k]].realBuyer.customerTypeKey = value.customerTypeKey
this.formobj.carList[this.index_list[k]].realBuyer.idNumber = value.idNumber
this.formobj.carList[this.index_list[k]].realBuyer.isConfirmRealBuyer = value.isConfirmRealBuyer
this.formobj.carList[this.index_list[k]].realBuyer.mobile = value.mobile
this.formobj.carList[this.index_list[k]].realBuyer.name = value.name
this.formobj.carList[this.index_list[k]].realBuyer.remarks = value.remarks
}
this.index_list = []
this.vinNo_list = []
this.$refs.multipleTable.clearSelection()
},
//
lookUser(row) {
this.viewState = 5
this.$refs['divInfoByUser'].showInfo(this.formobj.contractId, row)
},
resetState() {
this.viewState = 1
},
// ------------ ------------
//
handleCreate() {
if (this.userlist !== {} && this.temp.isTerminal === 1) {
for (var i = 0; i < this.detailsList.length; i++) {
this.detailsList[i].useMessage = this.userlist
}
}
this.temp.detailsList = this.detailsList
handleSave() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
save(this.temp).then((response) => {
this.createBtn = false
saveOrUpdate(this.formobj).then((response) => {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
}
}).catch((e) => {
@ -404,6 +588,10 @@ export default {
},
//
handleSubmit() {
if (this.formobj.carList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '车辆信息表不能为空' })
return
}
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -412,11 +600,13 @@ export default {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
this.temp.detailsList = this.detailsList
submitInfo(this.temp).then((response) => {
this.formobj.procInsId = this.formobj.procInstId
submitInfo(this.formobj).then((response) => {
if (response.success) {
this.createBtn = false
this.$message({ showClose: true, type: 'success', message: '提交成功' })
this.handleReturn('true')
} else {
this.createBtn = false
}
}).catch(e => {
this.createBtn = false
@ -429,38 +619,67 @@ export default {
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.$refs['dataForm'].resetFields()
this.temp = {
applyName: '', //
applySid: '', // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
this.formobj = {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
}
this.arguments = {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
}
this.arguments_params = {
contractNo: '',
vinSids: []
}
this.detailsList = []
this.userlist = {}
this.radioDisabled = false
this.index_list = []
this.vinNo_list = []
this.createBtn = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.rowStyle {
border-left: 0px;
}
.colStyle {
padding: 0px 5px !important;
border-right: 0px !important;
border-bottom: 0px !important;
}
.colOneStyle {
padding: 0px 5px !important;
border-right: 0px !important;
}
.title {
padding: 7px;
display: flex;
@ -476,4 +695,24 @@ export default {
text-align: left;
color: #ffffff;
}
.span-sty {
width: 120px !important;
}
.addinputInfo {
margin-left: 110px !important;
}
.addinputw {
margin-left: 110px !important;
}
/deep/ .el-form-item__error {
margin-left: 110px !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

315
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingInfo.vue

@ -9,115 +9,227 @@
</div>
<div class="listconadd">
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="temp" :rules="rules" class="formadd">
<el-row class="rowStyle">
<el-col :span="4" class="tleftb colOneStyle">
<span>合同编号:</span>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colOneStyle">
<el-form-item>{{ temp.contractNo }}</el-form-item>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb colOneStyle">
<span>申请日期:</span>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colOneStyle">
<el-form-item>{{ temp.applyDate }}</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</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.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</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 class="rowStyle">
<el-col :span="4" class="tleftb colStyle">
<span>客户名称:</span>
<el-row v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colStyle">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb colStyle">
<span>是否为终端客户:</span>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="colStyle">
<el-form-item>
<el-radio v-model="temp.isTerminal" :disabled="radioDisabled" :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" :disabled="radioDisabled" :label="1"></el-radio>
</el-form-item>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row class="rowStyle">
<el-col :span="4" class="tleftb colStyle">
<span>车型:</span>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="20" class="colStyle">
<el-form-item>
<span>{{ temp.modelName }}</span>
</el-form-item>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">实际购车人</div>
<el-form-item><span class="addinputInfo">{{ formobj.type }}</span></el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="title">
<div>车辆信息</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit>
<el-table-column align="center" label="序号" width="60" type="index" :index="index + 1"/>
<el-table-column label="车架号" align="center">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="实际购车人" align="center" width="120">
<template slot-scope="scope">
<el-button v-show="scope.row.isExist == '1'" size="small" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看</el-button>
<span v-show="temp.isTerminal == 0 && scope.row.isExist == '0'"></span>
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="left" header-align="center">
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
</el-table>
<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-form>
</div>
</div>
<user-info-look v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<guacheInfo v-show="viewState == 3" ref="divCheInfo" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 4" ref="divZhuangInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid } from '@/api/chukuguanli/chukubanli'
import { getRetrievalApplyInfo, trailerList } from '@/api/chukuguanli/chukubanli'
import userInfoLook from './relation/userInfoLook'
import guacheInfo from './relation/guacheInfo'
import shangzhuangInfo from './relation/shangzhuangInfo'
export default {
name: 'chukushenqingInfo',
components: {
userInfoLook
userInfoLook,
guacheInfo,
shangzhuangInfo
},
data() {
return {
tableKey: 0,
index: 0,
// ---------
viewState: 1,
listLoading: false,
list: [],
temp: {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
}, //
detailsList: [],
sids: [],
vinNo_info: '',
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
rules: {}
}
},
@ -130,42 +242,55 @@ export default {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
fetchDetailsBySid({ sid: sid }).then((response) => {
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((response) => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.detailsList = response.data.listVo
console.log('详情回显车辆信息', this.detailsList)
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
}
if (this.detailsList[i].useMessage.vinNo == '') {
this.detailsList[i].isExist = '0'
}
}
this.temp = JSON.parse(
JSON.stringify(this.temp).replace(/listVo/g, 'detailsList')
)
console.log('isTerminal', this.temp.isTerminal)
this.formobj = response.data
}
})
},
//
lookUserInfo(vinNo) {
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo == vinNo) {
let useMessage = {}
useMessage = this.detailsList[i].useMessage
this.viewState = 2
this.$refs['divUserInfo'].showInfo(useMessage)
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 3
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 4
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
}
})
},
//
lookUser(row) {
this.viewState = 2
this.$refs['divUserInfo'].showInfo(this.formobj.contractId, row)
},
// ------------ ------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
handleReturn() {
this.$refs['dataForm'].resetFields()
this.$emit('doback')
}
@ -173,16 +298,18 @@ export default {
}
</script>
<style scoped>
.rowStyle {
border-left: 0px;
.span-sty {
width: 120px !important;
}
.addinputInfo {
margin-left: 110px !important;
}
.colStyle {
padding: 0px 5px !important;
border-right: 0px !important;
border-bottom: 0px !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
.colOneStyle {
padding: 0px 5px !important;
border-right: 0px !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

86
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/daichukucheliang.vue

@ -7,15 +7,13 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="合同编号">
<el-input v-model="listQuery.contractNo" placeholder="请输入合同编号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="客户名称">
<el-select v-model="listQuery.name" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in customerList" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
<el-input v-model="listQuery.params.name" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.vinNo" placeholder="请输入车架号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -29,14 +27,19 @@
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" :border="true" fit highlight-current-row style="width: 100%;" @selection-change="handleSelectionChange">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50"/>
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="认款状态" align="center">
<el-table-column fixed label="序号" type="index" width="60" :index="indexMethod" align="center"/>
<el-table-column label="业务状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.subscription }}</span>
</template>
</el-table-column>
<el-table-column label="销售类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.paymentMethod }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}</span>
@ -52,11 +55,6 @@
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
@ -69,7 +67,7 @@
</template>
<script>
import { listPage, customerName } from '@/api/chukuguanli/chukubanli'
import { listPage } from '@/api/chukuguanli/chukubanli'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
@ -91,7 +89,6 @@ export default {
sids: [], // SIDs
FormLoading: false,
listLoading: false,
customerList: [],
typeList: [], //
list: [],
btnList: [
@ -120,7 +117,7 @@ export default {
name: '', //
vinNo: '', //
userSid: '',
vinNoList: []
vinSid: []
}
},
multipleSelection: []
@ -147,25 +144,15 @@ export default {
const aa = []
if (value.length > 0) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i].vinNo)
aa.push(value[i].vinSid)
}
this.listQuery.params.contractNo = contractNo
this.listQuery.params.vinNoList = aa
this.listQuery.params.vinSid = aa
} else {
this.listQuery.params.vinNoList = []
this.listQuery.params.vinSid = []
}
this.getCustomer()
this.getList()
},
//
getCustomer() {
customerName({ staffSid: window.sessionStorage.getItem('staffSid') }).then((response) => {
if (response.code === '200') {
this.customerList = response.data
console.log('客户列表', this.customerList)
}
})
},
// ========== ==========
//
clicksearchShow() {
@ -187,27 +174,10 @@ export default {
console.log('待出库', row)
this.multipleSelection = row
const aa = []
for (var i = 0; i < row.length; i++) {
for (var j = i + 1; j < row.length; j++) {
if (row[i].contractNo !== row[j].contractNo) {
this.$message({
showClose: true,
message: '请选择同一合同编号的车辆!',
type: 'error'
})
}
}
}
row.forEach(element => {
aa.push({
address: element.address,
contractNo: element.contractNo,
idNo: element.idNo,
mobile: element.mobile,
modelName: element.modelName,
name: element.name,
price: element.price,
vinNo: element.vinNo
vinSid: element.vinSid
})
})
this.sids = aa
@ -219,18 +189,12 @@ export default {
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
contractNo: '', //
name: '', //
vinNo: '', //
userSid: '',
vinNoList: []
}
}
this.listQuery.current = 1
this.listQuery.size = 10
this.listQuery.total = 0
this.listQuery.params.name = ''
this.listQuery.params.vinNo = ''
this.listQuery.params.userSid = ''
this.getList()
},
//
@ -239,8 +203,7 @@ export default {
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
listPage(this.listQuery).then(response => { //
this.listLoading = false
console.log(response)
if (response.success && response.data && response.data.total > 0) {
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
@ -269,6 +232,7 @@ export default {
}
}
}
console.log(this.sids, 9999)
this.$emit('backData', this.sids)
}
},

258
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/guacheInfo.vue

@ -0,0 +1,258 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu"><span>挂车信息</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" 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>
<span>{{ formobj.vinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.modelName }}</span>
</el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.list" :key="index">
<div class="title">挂车{{ index + 1 }}</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>车架号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.trailerVinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>成交价</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.dealPrice }}</span>
</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>
<span>{{ item.brandName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车辆型号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.carModelName }}</span>
</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>
<span>{{ item.manufacturerName }}</span>
</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>
<span>{{ item.trailerTypeValue }}</span>
</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>
<span></span><span class="spanPadding">{{ item.appearanceSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeHigh }}</span>mm,
<span>总高</span><span class="spanPadding">{{ item.appearanceSizeTotalHigh }}</span>mm
</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>
<span></span><span class="spanPadding">{{ item.insideSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeHigh }}</span>mm
</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>
<span class="spanPadding">{{ item.saddleLeaveLandHigh }}</span>mm
</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>
<span>高度</span><span class="spanPadding">{{ item.girderSizeHigh }}</span>mm,
<span>宽度</span><span class="spanPadding">{{ item.girderSizeWide }}</span>mm,
<span>立板</span><span class="spanPadding">{{ item.girderSizeStandPlate }}</span>mm
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb" style="display: flex;justify-content: flex-end;align-items: center">
<span>底盘部分</span>
</el-col>
<el-col :span="20" style="padding: 0">
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>牵引销</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.towPin }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>板簧</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.plateSpring }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>车桥</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.axle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>轮胎及钢圈</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.tyreAndSteelCircle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center;border-bottom: 0">
<span>底板</span>
</el-col>
<el-col :span="20" style="border-right: 0;border-bottom: 0">
<el-form-item>
<span class="spanPadding">{{ item.floorSize }}</span>mm
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>门扇要求</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.doorFanRequirement }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>箱体颜色</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.boxColor }}</span>
</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>
<span>{{ item.moreConfig }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
export default {
name: 'GuaCheInfo',
data() {
return {
viewTitle: '',
formobj: {
vinNo: '',
modelName: '',
list: []
},
rules: {},
submitdisabled: false
}
},
methods: {
showInfo(data) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '挂车详情'
this.formobj = data
},
handleReturn() {
this.formobj = {
vinNo: '',
modelName: '',
list: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.spanPadding {
padding: 0 5px;
}
</style>

123
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/selectpackage.vue

@ -0,0 +1,123 @@
<template>
<div class="app-container">
<button-bar view-title="选择优惠包" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column label="优惠名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.discountName }}</span>
</template>
</el-table-column>
<el-table-column label="价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.discountPrice }}</span>
</template>
</el-table-column>
<el-table-column label="优惠项目说明" header-align="center" align="left" min-width="200">
<template slot-scope="scope">
<span>{{ scope.row.discountInfo }}</span>
</template>
</el-table-column>
<el-table-column label="剩余数量" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.discountLeaveNum }}</span>
</template>
</el-table-column>
<el-table-column label="本次赠送数量" align="center" width="200">
<template slot-scope="scope">
<el-input :disabled="scope.row.discountLeaveNum == '0'" v-model="scope.row.discountNum" placeholder=""/>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'selectpackage',
components: {
ButtonBar
},
data() {
return {
viewTitle: '',
tableKey: 0,
listLoading: false,
btndisabled: false,
list: [],
vinSid: '', // sid
btnList: [
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doCreate',
btnLabel: '确定'
},
{
type: 'info',
size: 'small',
icon: '',
btnKey: 'doClose',
btnLabel: '关闭'
}
]
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doCreate':
this.doCreate()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
showData(discountUse, discountLeave, vinSid) {
const aa = []
for (var i = 0; i < discountLeave.length; i++) {
for (var k = 0; k < discountUse.length; k++) {
if (discountLeave[i].discountSid === discountUse[k].discountSid) {
aa.push({
discountSid: discountUse[k].discountSid,
discountName: discountUse[k].discountName,
discountPrice: discountUse[k].discountPrice,
discountInfo: discountUse[k].discountInfo,
discountLeaveNum: parseInt(discountUse[k].discountNum) + parseInt(discountLeave[i].discountLeaveNum),
discountNum: discountUse[k].discountNum
})
}
}
}
this.list = aa
this.vinSid = vinSid
},
doCreate() {
for (var i = 0; i < this.list.length; i++) {
if (this.list[i].discountNum === '') {
this.list[i].discountNum = 0
}
}
this.$emit('backData', this.list, this.vinSid)
},
doClose() {
this.$emit('doback')
},
}
}
</script>
<style scoped></style>

153
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/shangzhuangInfo.vue

@ -0,0 +1,153 @@
<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>
<div class="listconadd">
<div class="titwu"><span>上装配置信息</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>主车车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.modelName }}</span></el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.vehillModelList" :key="index">
<div class="title">上装{{ index + 1 }}</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>成交价</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.topPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.vehicleTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>上装名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.installNameValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>委改方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitMethodValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>供应商</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitFactory }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>货箱内部尺寸</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.wk_long }}</span>mm,
<span class="inputStyle">{{ item.wk_wide }}</span>mm,
<span class="inputStyle">{{ item.wk_high }}</span>mm
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>颜色</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.colorValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材材质</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.plateMaterialValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材厚度</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.plateThicknessBottom }}</span>mm,
<span class="inputStyle">{{ item.plateThicknessEdge }}</span>mm
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>篷布滑道</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.tarpaulinSlide }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>冷藏冷机</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refrigerator }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>自卸液压盖板</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.selfUnHyCoPl }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>底板加热</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.floorHeating }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>更多配置</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.moreConfig }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'ShangZhuangInfo',
data() {
return {
formobj: {
modelName: '',
vinNo: '',
vehillModelList: []
}
}
},
methods: {
handleReturn() {
this.formobj = {
modelName: '',
vinNo: '',
vehillModelList: []
}
this.$emit('doback')
},
showInfo(data) {
this.formobj = data
}
}
}
</script>
<style scoped>
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 110px !important;
}
.inputStyle {
display: inline-block;
margin: 0 5px;
}
</style>

186
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoAdd.vue

@ -2,7 +2,7 @@
<div class="app-container">
<div v-show="visible">
<div class="tab-header webtop">
<div>录入使用人信息</div>
<div>录入实际购车人信息</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleCreate()">保存</el-button>
@ -10,79 +10,124 @@
</div>
</div>
<div class="listconadd">
<div class="titwu">录入使用人信息</div>
<div class="titwu">实际购车人信息</div>
<el-form ref="dataForm" :model="tempUser" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>合同编号</span>
<span>是否为实际购车人</span>
</el-col>
<el-col :span="20">
<el-form-item prop="contractNo">
<span slot="label">{{ tempUser.contractNo }}</span>
<el-form-item>
<el-radio-group class="addinputw" style="font-size: 1px" v-model="tempUser.isConfirmRealBuyer">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>车架号</span>
<span><span class="icon">*</span>客户类型</span>
</el-col>
<el-col :span="20">
<el-form-item prop="vinNo">
<span slot="label">{{ tempUser.vinNo }}</span>
<el-form-item>
<el-select v-model="tempUser.customerType" placeholder="请选择" @change="changeMerType" clearable class="addinputw addinputwOne">
<el-option v-for="item in merType" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>客户名称</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.name" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.customerTypeKey == '2' && tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>联系人</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.contacts" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>联系电话</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.mobile" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>客户名称</span>
<span>证件号码</span>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-input v-model="tempUser.name" maxlength="125" placeholder="" class="addinputw addinputwOne" clearable/>
<el-form-item>
<el-input v-model="tempUser.idNumber" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>通讯地址</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.address" placeholder="" class="addinputw addinputwTwo" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>联系电话</span>
<span>车架号</span>
</el-col>
<el-col :span="20">
<el-form-item prop="mobile">
<el-input v-model="tempUser.mobile" maxlength="125" placeholder="" class="addinputw addinputwOne" clearable/>
<el-form-item>
<span slot="label">{{ tempUser.vin }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>证件号码</span>
<span>合同编号</span>
</el-col>
<el-col :span="20">
<el-form-item prop="idNo">
<el-input v-model="tempUser.idNo" maxlength="125" placeholder="" class="addinputw addinputwOne" clearable/>
<el-form-item>
<span slot="label">{{ tempUser.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>联系地址</span>
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item prop="address">
<el-input v-model="tempUser.address" maxlength="125" placeholder="" class="addinputw addinputwTwo" clearable/>
<el-form-item>
<el-input v-model="tempUser.remarks" placeholder="" class="addinputw addinputwTwo" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { typeValues } from '@/api/dictcommons/dictcommons'
export default {
name: 'userInfo',
name: 'userAdd',
components: {},
data() {
return {
@ -90,16 +135,25 @@ export default {
index: 0,
disabled: false, //
createBtn: false,
merType: [],
state: '',
// ---------
visible: true,
listLoading: false,
tempUser: {
contractNo: '',
vinNo: '',
sid: ''
}, //
address: '',
contacts: '',
customerType: '',
customerTypeKey: '',
idNumber: '',
isConfirmRealBuyer: '',
mobile: '',
name: '',
remarks: '',
vin: '',
contractNo: ''
},
rules: {}
// ------------------------------------
}
},
created() {
@ -108,14 +162,11 @@ export default {
methods: {
// ------------ ------------
init() {
this.tempUser = {
contractNo: '',
vinNo: '',
name: '',
mobile: '',
idNo: '',
address: ''
}
typeValues({ type: 'customerType' }).then((res) => {
if (res.success) {
this.merType = res.data
}
})
},
showAdd(contractNo, vinNo) {
this.init()
@ -124,9 +175,10 @@ export default {
})
this.state = 'add'
this.tempUser.contractNo = contractNo
this.tempUser.vinNo = vinNo //
this.tempUser.vin = vinNo //
this.tempUser.isConfirmRealBuyer = '1'
},
showEdit(useMessage, vinNo) {
showEdit(useMessage, contractNo) {
this.init()
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
@ -134,25 +186,55 @@ export default {
console.log('编辑拿到的信息', useMessage)
this.state = 'edit'
this.tempUser = useMessage
this.tempUser.vinNo = vinNo
this.tempUser.contractNo = contractNo
},
// ------------ ------------
changeMerType(val) {
const choose = this.merType.filter((item) => item.dictValue === val)
this.tempUser.customerTypeKey = choose[0].dictKey
},
//
handleCreate() {
if (this.tempUser.isConfirmRealBuyer === '1') {
if (this.tempUser.customerType === '') {
this.$message({ showClose: true, type: 'error', message: '客户类型不能为空' })
return
}
if (this.tempUser.name === '') {
this.$message({ showClose: true, type: 'error', message: '客户名称不能为空' })
return
}
if (this.tempUser.mobile === '') {
this.$message({ showClose: true, type: 'error', message: '联系电话不能为空' })
return
}
} else {
if (this.tempUser.remarks === '') {
this.$message({ showClose: true, type: 'error', message: '因实际购车人选择否,请填写备注' })
return
}
}
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
if (this.tempUser.isConfirmRealBuyer === '0') {
this.tempUser.address = ''
this.tempUser.idNumber = ''
this.tempUser.mobile = ''
this.tempUser.customerType = ''
this.tempUser.customerTypeKey = ''
this.tempUser.contacts = ''
this.tempUser.name = ''
}
if (this.state === 'add') {
this.createBtn = false
console.log('新增保存数据', this.tempUser)
const aa = this.tempUser
this.$emit('returnInfo', aa)
this.$emit('backUser', aa)
this.handleReturn()
} else {
this.createBtn = false
console.log('修改保存数据', this.tempUser)
const bb = this.tempUser
this.$emit('returnInfo', bb)
this.$emit('backUser', bb)
this.handleReturn()
}
}
@ -160,6 +242,20 @@ export default {
},
//
handleReturn() {
this.tempUser = {
address: '',
contacts: '',
customerType: '',
customerTypeKey: '',
idNumber: '',
isConfirmRealBuyer: '',
mobile: '',
name: '',
remarks: '',
vin: '',
contractNo: ''
}
this.createBtn = false
this.$emit('doback')
}
}

68
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoLook.vue

@ -2,41 +2,41 @@
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>录入使用人信息</div>
<div>实际购车人信息</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">录入使用人信息</div>
<div class="titwu">实际购车人信息</div>
<el-form ref="dataForm" :model="tempUserLook" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>合同编号</span>
<span>客户类型</span>
</el-col>
<el-col :span="20">
<el-form-item prop="contractNo">
<span>{{ tempUserLook.contractNo }}</span>
<el-form-item>
<span>{{ tempUserLook.customerType }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>车架号</span>
<span>客户名称</span>
</el-col>
<el-col :span="20">
<el-form-item prop="vinNo">
<span>{{ tempUserLook.vinNo }}</span>
<el-form-item>
<span>{{ tempUserLook.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-show="tempUserLook.customerTypeKey == '2'">
<el-col :span="4" class="tleftb">
<span>客户名称</span>
<span>联系人</span>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<span>{{ tempUserLook.name }}</span>
<el-form-item>
<span>{{ tempUserLook.contacts }}</span>
</el-form-item>
</el-col>
</el-row>
@ -45,7 +45,7 @@
<span>联系电话</span>
</el-col>
<el-col :span="20">
<el-form-item prop="mobile">
<el-form-item>
<span>{{ tempUserLook.mobile }}</span>
</el-form-item>
</el-col>
@ -55,21 +55,51 @@
<span>证件号码</span>
</el-col>
<el-col :span="20">
<el-form-item prop="idNo">
<span>{{ tempUserLook.idNo }}</span>
<el-form-item>
<span>{{ tempUserLook.idNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>联系地址</span>
<span>通讯地址</span>
</el-col>
<el-col :span="20">
<el-form-item prop="address">
<el-form-item>
<span>{{ tempUserLook.address }}</span>
</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>
<span>{{ tempUserLook.vin }}</span>
</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>
<span>{{ tempUserLook.contractNo }}</span>
</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>
<span>{{ tempUserLook.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
@ -77,7 +107,6 @@
</template>
<script>
import {} from '@/api/chukuguanli/chukubanli'
export default {
name: 'userInfoLook',
@ -90,12 +119,13 @@ export default {
}
},
methods: {
showInfo(useMessage) {
showInfo(contractNo, useMessage) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
console.log('详情拿到的信息', useMessage)
this.tempUserLook = useMessage
this.tempUserLook.contractNo = contractNo
},
//
handleReturn() {

499
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuDaiBanInfo.vue

@ -4,102 +4,191 @@
<div class="tab-header webtop">
<div>出库申请详情</div>
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </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="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
出库申请
<div class="times">
<div>
<span>合同编号</span><span>{{ temp.contractNo }}</span>
</div>
<div>
<span>申请日期</span><span>{{ temp.applyDate }}</span>
</div>
</div>
</div>
<el-row class="nothingBorder">
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">客户名称</span></el-form-item>
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-form-item><span slot="label">是否为终端客户</span></el-form-item>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
<el-col :span="2"/>
</el-row>
<el-row>
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">车型</span></el-form-item>
<el-col :span="8">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<span>{{ temp.modelName }}</span>
</el-form-item>
<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 v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">实际购车人</div>
<el-form-item><span class="addinputInfo">{{ formobj.type }}</span></el-form-item>
</el-col>
<el-col :span="12"/>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">车辆信息</div>
<div class="title">
<div>车辆信息</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLookByDingDan()">查看销售订单</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit>
<el-table-column align="center" label="序号" width="50" type="index" :index="index + 1"/>
<el-table-column label="车架号" align="center">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</span>
</template>
</el-table-column>
<el-table-column label="实际购车人" align="center" width="120">
<template slot-scope="scope">
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span>{{ price(scope.row) }}</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.price }}</span>
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<el-button v-show="scope.row.isExist == '1'" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看</el-button>
<span v-show="temp.isTerminal == 0 && scope.row.isExist == '0'"></span>
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="left">
<el-table-column label="款、票情况" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span class="bluezi" @click="lookPayment(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
<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-form>
</div>
</div>
<user-info-look v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<userInfo v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<guacheInfo v-show="viewState == 3" ref="divCheInfo" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 4" ref="divZhuangInfo" @doback="resetState"/>
<xiaoshoudingdanInfo v-show="viewState == 5" ref="divDingDanInfo" @doback="resetState"/>
<paymentticket v-show="viewState == 6" ref="divPayMentInfo" @doback="resetState"/>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-form>
<el-row v-show="currentLink" class="borderStyle">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<span>{{ current.taskName }}->{{ nextNode.name }}</span>
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<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="borderStyle">
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" clearable ></el-input>
<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;">
@ -112,43 +201,82 @@
</template>
<script>
import { fetchDetailsBySid, complete, breakProcess, reject, getPreviousNodesForReject, getNextNodesForSubmit } from '@/api/chukuguanli/chukubanli'
import userInfoLook from './relation/userInfo'
import { getRetrievalApplyInfo, trailerList, complete, breakProcess, reject, getPreviousNodesForReject, getNextNodesForSubmit } from '@/api/chukuguanli/chukubanli'
import userInfo from './relation/userInfo'
import guacheInfo from './relation/guacheInfo'
import shangzhuangInfo from './relation/shangzhuangInfo'
import paymentticket from './relation/paymentticket'
import xiaoshoudingdanInfo from './relation/dingdanInfo'
export default {
name: 'chukuDaiBanInfo',
components: {
userInfoLook
userInfo,
guacheInfo,
shangzhuangInfo,
paymentticket,
xiaoshoudingdanInfo
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
dialogStatus: 'add', //
// ---------
viewState: 1,
// ===
listLoading: false,
list: [],
temp: {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
}, //
detailsList: [],
sids: [],
vinNo_info: '',
rules: {},
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
operation: '', //
dialogList: {
comment: ''
},
operation: '', //
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
@ -156,6 +284,7 @@ export default {
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
rules: {},
//
linkByParameter: {
businessSid: '',
@ -173,6 +302,7 @@ export default {
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
@ -191,7 +321,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
data: 500 + 'px'
}
}, '*')
},
@ -204,42 +334,67 @@ export default {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
fetchDetailsBySid({ sid: sid }).then((response) => {
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((response) => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.detailsList = response.data.listVo
console.log('详情回显车辆信息', this.detailsList)
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
}
if (this.detailsList[i].useMessage.vinNo == '') {
this.detailsList[i].isExist = '0'
}
}
this.temp = JSON.parse(JSON.stringify(this.temp).replace(/listVo/g, 'detailsList'))
console.log('isTerminal', this.temp.isTerminal)
this.formobj = response.data
}
})
},
//
lookUserInfo(vinNo) {
console.log('1111', vinNo)
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo === vinNo) {
let useMessage = {}
useMessage = this.detailsList[i].useMessage
this.viewState = 2
this.$refs['divUserInfo'].showInfo(useMessage)
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
//
lookPayment(row) {
this.viewState = 6
this.$refs['divPayMentInfo'].showInfo(this.formobj.contractId, row)
},
//
handleLookByDingDan() {
this.viewState = 5
this.$refs['divDingDanInfo'].showInfo({ sid: this.formobj.busSalesOrderSid })
},
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 3
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 4
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
}
})
},
//
lookUser(row) {
this.viewState = 2
this.$refs['divUserInfo'].showInfo(this.formobj.contractId, row)
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
this.dialogList.comment = '同意'
getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
@ -266,17 +421,25 @@ export default {
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
this.handleStop()
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
}
},
/** 同意任务 */
@ -299,13 +462,6 @@ export default {
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
@ -329,20 +485,12 @@ export default {
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
console.log(this.stopList, 99999)
breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
@ -360,13 +508,6 @@ export default {
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
@ -374,79 +515,33 @@ export default {
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
.formadd /deep/ .el-row {
border: 0;
}
.formadd /deep/ .el-col {
border: 0;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.titcon {
border: 1px solid #e0e3eb;
}
.titcon,
.title {
background-color: white;
color: black;
}
.changeIt {
line-height: 40px;
font-size: 17px;
float: right;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
justify-content: space-between;
align-items: center;
}
/deep/ .el-col-20 {
text-align: left;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
.span-sty {
width: 120px !important;
}
.lineone {
border-bottom: 2px solid #e0e3eb;
.addinputInfo {
margin-left: 110px !important;
}
.linetwo {
margin-top: 10px;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
.borderStyle {
border: 1px solid #e0e3eb;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
.trightb {
border-left: 1px solid #e0e3eb;
padding-left: 5px;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.tleftb {
padding-right: 5px;
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

779
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuEdit.vue

@ -3,152 +3,289 @@
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" size="small" :disabled="createBtn" @click="handLeSelect()">选择车辆</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleChoose()">选择车辆</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleSave()">保存</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleSubmit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
出库申请
<div class="times">
<div><span>合同编号</span><span>{{ temp.contractNo }}</span></div>
<div><span>申请日期</span><span>{{ temp.applyDate }}</span></div>
</div>
</div>
<el-row class="nothingBorder">
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">客户名称</span></el-form-item>
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-form-item><span slot="label">是否为终端客户</span></el-form-item>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</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.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</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 v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty"><span class="icon">*</span>贷款人</div>
<el-form-item prop="loanName">
<el-select v-model="formobj.loanName" class="addinputInfo" filterable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="2"/>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">车型</span></el-form-item>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<span>{{ temp.modelName }}</span>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>实际购车人</div>
<el-form-item prop="typeKey">
<el-radio-group class="addinputw" style="font-size: 1px" v-model="formobj.typeKey" @input="typeRadio">
<el-radio label="0">订单客户</el-radio>
<el-radio label="1" v-show="formobj.paymentMethodKey == '2'">贷款人</el-radio>
<el-radio label="2">其他人</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12"/>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">车辆信息</div>
<div class="baocun">
<el-button v-show="temp.isTerminal === 0" size="medium" type="primary" @click="openUserInfo" class="btntopbluebut">录入用人信息</el-button>
<el-button v-show="temp.isTerminal === 0" size="medium" type="danger" @click="clearUserInfo">置空使用人信息</el-button>
<div class="title" v-if="formobj.typeKey == '2'">
<div>车辆信息</div>
<div>
<el-button size="mini" type="primary" @click="openUserInfo">批量录入实际购车人
</el-button>
<el-button size="mini" type="danger" @click="clearUserInfo">批量置空实际购车人
</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50"/>
<el-table-column fixed align="center" label="序号" type="index" width="50" :index="index + 1"/>
<el-table-column fixed align="center" label="操作" type="index" width="80">
<div class="titleOne" v-else>
<div>车辆信息</div>
</div>
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50" :index="index + 1"/>
<el-table-column fixed align="center" label="序号" type="index" width="60"/>
<el-table-column fixed align="center" label="操作" type="index" width="280">
<template slot-scope="scope">
<el-button type="danger" size="small" @click="handleDel(scope.$index)">删除</el-button>
<el-button type="primary" size="small" @click="handleSelect(scope.row)">选择套餐</el-button>
<el-button type="primary" size="small" v-if="formobj.typeKey == '2'" @click="handleUpdateUser(scope.row)">修改购车人</el-button>
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="实际购车人" align="center" width="120">
<template slot-scope="scope">
<el-button v-show="temp.isTerminal === 0 && scope.row.isExist == '1'" size="medium" type="primary" @click="updateUserInfo(scope.row.vinNo)" class="btntopbluebut">修改
</el-button>
<el-button v-show="temp.isTerminal === 0 && scope.row.isExist == '1'" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<el-button v-show="temp.isTerminal === 1" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<span v-show="temp.isTerminal == 3"></span>
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" class="addinputw" placeholder="请输入备注" clearable/>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<el-input v-model="scope.row.discount" placeholder="" clearable/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<el-input class="addinputInfo" style="width: 90%" v-model="formobj.remarks" placeholder="" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div> <!--@returnEdit="getUserInfoEdit"-->
<daichukucheliang v-show="viewState == 2" ref="divSelect" @doback="resetState" @backData="backData"/>
<user-info-add v-show="viewState == 3 || viewState == 4" ref="divUser" @doback="resetState" @returnInfo="getUserInfo"/>
<user-info-look v-show="viewState == 5" ref="divUserInfo" @doback="resetState"/>
</div>
<daichuku v-show="viewState == 2" ref="divSelect" @doback="resetState" @backData="backData"/>
<userEdit v-show="viewState == 3 || viewState == 4" ref="divAddByUser" @doback="resetState" @backUser="backUser"/>
<userInfo v-show="viewState == 5" ref="divInfoByUser" @doback="resetState"/>
<guacheInfo v-show="viewState == 6" ref="divCheInfo" @doback="resetState"/>
<selectpackage v-show="viewState == 7" ref="divSelectPackAge" @backData="backPackAge" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 8" ref="divZhuangInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid, save, submitInfo } from '@/api/chukuguanli/chukubanli'
import daichukucheliang from './daichuku'
import userInfoAdd from './relation/userEdit'
import userInfoLook from './relation/userInfo'
import { saveOrUpdate, submitInfo, getRetrievalApplyInfo, selectInfo, trailerList } from '@/api/chukuguanli/chukubanli'
import { selectCustomerList } from '@/api/dictcommons/dictcommons'
import daichuku from './daichuku'
import userEdit from './relation/userEdit'
import userInfo from './relation/userInfo'
import guacheInfo from './relation/guacheInfo'
import selectpackage from './relation/selectpackage'
import shangzhuangInfo from './relation/shangzhuangInfo'
export default {
name: 'chukuEdit',
components: {
daichukucheliang,
userInfoAdd,
userInfoLook
daichuku,
userEdit,
userInfo,
guacheInfo,
selectpackage,
shangzhuangInfo
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
createBtn: false, //
// ---------
viewState: 1,
isShow: true,
// ===
listLoading: false,
customer_list: [],
list: [],
temp: {
applyName: '', //
applySid: '', // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
userSid: '',
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
instanceId: '',
detailsList: []
}, //
detailsList: [],
userlist: {},
diaStatus: '',
sids: [],
vinNo_info: '',
index_list: [],
rules: {}
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
arguments_params: {
contractNo: '',
vinSids: []
},
vinNo_list: [], // --
index_list: [], // --
rules: {
typeKey: [{ required: true, message: '请选择实际购车人', trigger: 'change' }],
loanName: [{ required: true, message: '贷款人不能为空', trigger: 'change' }]
}
}
},
created() {
@ -164,7 +301,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
data: 500 + 'px'
}
}, '*')
},
@ -174,217 +311,277 @@ export default {
this.$refs['dataForm'].clearValidate()
})
this.viewTitle = '【编辑】出库申请'
this.diaStatus = 'edit'
fetchDetailsBySid({ sid: sid }).then(response => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.temp.instanceId = response.data.procInstId
this.detailsList = response.data.listVo
for (var i = 0; i < this.detailsList.length; i++) {
// JSON.stringify()
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((resp) => {
if (resp.success) {
this.formobj = resp.data
selectCustomerList({ staffSid: this.formobj.pcStaffSid, userSid: '', orgPath: '' }).then((res) => {
if (res.success) {
this.customer_list = resp.data
}
}
this.temp = JSON.parse(JSON.stringify(this.temp).replace(/listVo/g, 'detailsList'))
console.log('isTerminal', this.temp.isTerminal)
console.log('temp', this.temp)
})
}
})
},
// ------------ ------------
handLeSelect() {
//
handleChoose() {
this.viewState = 2
this.$refs['divSelect'].showData(this.detailsList, this.temp.contractNo)
this.$refs['divSelect'].showData(this.formobj.carList, this.formobj.contractId)
},
//
handleDel(index) {
this.detailsList.splice(index, 1)
for (var i = 0; i < this.formobj.discountLeave.length; i++) {
for (var k = 0; k < this.formobj.carList[index].discountUse.length; k++) {
if (this.formobj.discountLeave[i].discountSid === this.formobj.carList[index].discountUse[k].discountSid) {
this.formobj.discountLeave[i].discountLeaveNum = parseInt(this.formobj.discountLeave[i].discountLeaveNum) + parseInt(this.formobj.carList[index].discountUse[k].discountNum)
}
}
}
this.formobj.carList.splice(index, 1)
},
// --
backData(value) {
this.viewState = 1
this.temp.contractNo = value[0].contractNo
this.temp.name = value[0].name
this.temp.modelName = value[0].modelName
if (value.length > 0) {
value.forEach((e) => {
this.detailsList.push({
price: e.price, //
remarks: '', //
vinNo: e.vinNo, //
useMessage: {
contractNo: value[0].contractNo,
vinNo: value[0].vinNo,
name: '',
mobile: '',
idNo: '',
address: ''
this.arguments.userSid = window.sessionStorage.getItem('userSid')
this.arguments.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.arguments.contractId = value[0].contractNo
this.arguments_params.contractNo = value[0].contractNo
const aa = []
value.forEach((e) => {
aa.push(e.vinSid)
})
this.arguments.list = aa
this.arguments_params.vinSids = aa
// --
if (this.formobj.contractId === '' || this.formobj.contractId === null) {
getRetrievalApplyInfo(this.arguments).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.userSid = window.sessionStorage.getItem('userSid')
selectCustomerList({ staffSid: this.formobj.pcStaffSid, userSid: '', orgPath: '' }).then((resp) => {
if (resp.success) {
this.customer_list = resp.data
}
})
}
})
} else {
selectInfo(this.arguments_params).then((resp) => {
if (resp.success) {
for (var k = 0; k < resp.data.length; k++) {
this.formobj.carList.push(resp.data[k])
}
})
this.userlist = {
contractNo: value[0].contractNo,
vinNo: value[0].vinNo,
name: value[0].name,
mobile: value[0].mobile,
idNo: value[0].idNo,
address: value[0].address
}
})
}
},
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.name === value)
this.formobj.loanSid = choose[0].sid
this.formobj.loanMobile = choose[0].mobile
},
//
handleSelect(row) {
this.viewState = 7
this.$refs['divSelectPackAge'].showData(row.discountUse, this.formobj.discountLeave, row.vinSid)
},
backPackAge(val, vinSid) {
this.viewState = 1
for (var i = 0; i < val.length; i++) {
//
for (var k = 0; k < this.formobj.discountLeave.length; k++) {
if (val[i].discountSid === this.formobj.discountLeave[k].discountSid) {
this.formobj.discountLeave[k].discountLeaveNum = parseInt(this.formobj.discountLeave[k].discountLeaveNum) - parseInt(val[i].discountNum)
}
}
//
for (var n = 0; n < this.formobj.carList.length; n++) {
if (this.formobj.carList[n].vinSid === vinSid) {
for (var b = 0; b < this.formobj.carList[n].discountUse.length; b++) {
if (val[i].discountSid === this.formobj.carList[n].discountUse[b].discountSid) {
this.formobj.carList[n].discountUse[b].discountNum = val[i].discountNum
this.formobj.carList[n].discountUse[b].totalNum = parseInt(this.formobj.carList[n].discountUse[b].totalNum) - parseInt(val[i].discountNum)
}
}
}
}
}
},
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
//
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 6
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 8
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
}
})
},
//
handleSelectionChange(row) {
console.log('开票', row)
console.log(row, 999)
const aa = []
const bb = []
const index_arr = []
row.forEach((element, index) => {
aa.push(element.vinNo)
bb.push(element.sid)
this.detailsList.forEach((v, i) => {
// id id
if (element.vinNo === v.vinNo) {
index_arr.push(i)
row.forEach((e, i) => {
aa.push(e.realBuyer.vin)
})
this.formobj.carList.forEach((e, i) => {
aa.forEach((element) => {
if (e.realBuyer.vin === element) {
bb.push(i)
}
})
})
this.vinNo_info = aa.join()
this.sids = bb
this.index_list = index_arr
this.vinNo_list = aa
this.index_list = bb
},
//
typeRadio(val) {
if (val === '0') {
this.formobj.type = '订单客户'
for (var i = 0; i < this.formobj.carList.length; i++) {
this.formobj.carList[i].realBuyer.address = ''
this.formobj.carList[i].realBuyer.contacts = ''
this.formobj.carList[i].realBuyer.customerType = ''
this.formobj.carList[i].realBuyer.customerTypeKey = ''
this.formobj.carList[i].realBuyer.idNumber = ''
this.formobj.carList[i].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[i].realBuyer.mobile = this.formobj.mobile
this.formobj.carList[i].realBuyer.name = this.formobj.name
this.formobj.carList[i].realBuyer.remarks = ''
}
} else if (val === '1') {
this.formobj.type = '贷款人'
for (var k = 0; k < this.formobj.carList.length; k++) {
this.formobj.carList[k].realBuyer.address = ''
this.formobj.carList[k].realBuyer.contacts = ''
this.formobj.carList[k].realBuyer.customerType = ''
this.formobj.carList[k].realBuyer.customerTypeKey = ''
this.formobj.carList[k].realBuyer.idNumber = ''
this.formobj.carList[k].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[k].realBuyer.mobile = this.formobj.loanMobile
this.formobj.carList[k].realBuyer.name = this.formobj.loanName
this.formobj.carList[k].realBuyer.remarks = ''
}
} else {
this.formobj.type = '其他人'
for (var m = 0; m < this.formobj.carList.length; m++) {
this.formobj.carList[m].realBuyer.address = ''
this.formobj.carList[m].realBuyer.contacts = ''
this.formobj.carList[m].realBuyer.customerType = ''
this.formobj.carList[m].realBuyer.customerTypeKey = ''
this.formobj.carList[m].realBuyer.idNumber = ''
this.formobj.carList[m].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[m].realBuyer.mobile = ''
this.formobj.carList[m].realBuyer.name = ''
this.formobj.carList[m].realBuyer.remarks = ''
}
}
},
//
openUserInfo() {
if (this.sids.length > 0) {
console.log('车架号', this.vinNo_info, '合同编号', this.temp.contractNo)
if (this.vinNo_list.length > 0) {
this.viewState = 3
this.$refs['divUser'].showAdd(this.temp.contractNo, this.vinNo_info)
this.$refs['divAddByUser'].showAdd(this.formobj.contractId, this.vinNo_list.join(','))
} else {
this.$message({
showClose: true,
message: '请选择出库车辆信息!',
type: 'error'
})
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行批量录入实际购车人的操作' })
return
}
},
//
updateUserInfo(vinNo) {
//
handleUpdateUser(row) {
this.viewState = 4
let useMessage = {}
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo === vinNo) {
useMessage = {
address: this.detailsList[i].useMessage.address,
contractNo: this.detailsList[i].useMessage.contractNo,
idNo: this.detailsList[i].useMessage.idNo,
mobile: this.detailsList[i].useMessage.mobile,
name: this.detailsList[i].useMessage.name,
vinNo: this.detailsList[i].useMessage.vinNo
}
}
}
this.$refs['divUser'].showEdit(useMessage, vinNo)
},
//
lookUserInfo(vinNo) {
this.viewState = 5
let useMessage = {}
if (this.temp.isTerminal === 1) {
for (var i = 0; i < this.detailsList.length; i++) {
useMessage = this.detailsList[i]
if (this.detailsList[i].useMessage !== {}) {
useMessage = this.detailsList[i].useMessage
if (this.userlist !== {} && this.diaStatus === '') {
useMessage = this.userlist
}
}
}
}
if (this.temp.isTerminal === 0) {
for (var g = 0; g < this.detailsList.length; g++) {
if (this.detailsList[g].vinNo === vinNo) {
useMessage = {
address: this.detailsList[g].useMessage.address,
contractNo: this.detailsList[g].useMessage.contractNo,
idNo: this.detailsList[g].useMessage.idNo,
mobile: this.detailsList[g].useMessage.mobile,
name: this.detailsList[g].useMessage.name,
vinNo: this.detailsList[g].useMessage.vinNo
}
}
const cc = []
this.formobj.carList.forEach((e, i) => {
if (e.realBuyer.vin === row.realBuyer.vin) {
cc.push(i)
}
}
this.$refs['divUserInfo'].showInfo(useMessage)
})
this.index_list = cc
this.$refs['divAddByUser'].showEdit(row.realBuyer, this.formobj.contractId)
},
//
//
clearUserInfo() {
if (this.sids.length > 0) {
for (var i = 0; i < this.index_list.length; i++) {
if (this.detailsList[this.index_list[i]].isExist == '1') {
this.detailsList[this.index_list[i]].useMessage = {
contractNo: '',
vinNo: '',
name: '',
mobile: '',
idNo: '',
address: ''
}
this.detailsList[this.index_list[i]].isExist = ''
this.$message({
showClose: true,
message: '成功置空使用人信息!',
type: 'success'
})
} else {
this.$message({
showClose: true,
message: '此车辆无使用人信息!',
type: 'error'
})
return
}
}
} else {
this.$message({
showClose: true,
message: '请选择出库车辆信息!',
type: 'error'
})
if (this.index_list.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行批量置空实际购车人的操作' })
return
}
for (var k = 0; k < this.index_list.length; k++) {
this.formobj.carList[this.index_list[k]].realBuyer.address = ''
this.formobj.carList[this.index_list[k]].realBuyer.contacts = ''
this.formobj.carList[this.index_list[k]].realBuyer.customerType = ''
this.formobj.carList[this.index_list[k]].realBuyer.customerTypeKey = ''
this.formobj.carList[this.index_list[k]].realBuyer.idNumber = ''
this.formobj.carList[this.index_list[k]].realBuyer.isConfirmRealBuyer = ''
this.formobj.carList[this.index_list[k]].realBuyer.mobile = ''
this.formobj.carList[this.index_list[k]].realBuyer.name = ''
this.formobj.carList[this.index_list[k]].realBuyer.remarks = ''
}
this.index_list = []
this.vinNo_list = []
this.$refs.multipleTable.clearSelection()
},
//
getUserInfo(tempUser) {
console.log('开票申请页面的tempUser', tempUser)
const vinNo_array = tempUser.vinNo.split(',') // 使
console.log('保存过来的vinNo', vinNo_array)
for (var i = 0; i < this.detailsList.length; i++) {
for (var j = 0; j < vinNo_array.length; j++) {
if (this.detailsList[i].vinNo === vinNo_array[j]) {
this.detailsList[i].useMessage = tempUser
this.detailsList[i].isExist = '1'
console.log('保存到detailsList的信息', this.detailsList)
}
}
// --
backUser(value) {
for (var k = 0; k < this.index_list.length; k++) {
this.formobj.carList[this.index_list[k]].realBuyer.address = value.address
this.formobj.carList[this.index_list[k]].realBuyer.contacts = value.contacts
this.formobj.carList[this.index_list[k]].realBuyer.customerType = value.customerType
this.formobj.carList[this.index_list[k]].realBuyer.customerTypeKey = value.customerTypeKey
this.formobj.carList[this.index_list[k]].realBuyer.idNumber = value.idNumber
this.formobj.carList[this.index_list[k]].realBuyer.isConfirmRealBuyer = value.isConfirmRealBuyer
this.formobj.carList[this.index_list[k]].realBuyer.mobile = value.mobile
this.formobj.carList[this.index_list[k]].realBuyer.name = value.name
this.formobj.carList[this.index_list[k]].realBuyer.remarks = value.remarks
}
this.index_list = []
this.vinNo_list = []
this.$refs.multipleTable.clearSelection()
},
//
lookUser(row) {
this.viewState = 5
this.$refs['divInfoByUser'].showInfo(this.formobj.contractId, row)
},
resetState() {
this.viewState = 1
},
// ------------ ------------
//
handleCreate() {
if (this.userlist !== {} && this.temp.isTerminal === 1) {
for (var i = 0; i < this.detailsList.length; i++) {
this.detailsList[i].useMessage = this.userlist
}
}
this.temp.detailsList = this.detailsList
handleSave() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
save(this.temp).then((response) => {
saveOrUpdate(this.formobj).then((response) => {
if (response.success) {
this.createBtn = false
//
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
@ -401,6 +598,10 @@ export default {
},
//
handleSubmit() {
if (this.formobj.carList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '车辆信息表不能为空' })
return
}
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -409,16 +610,11 @@ export default {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
if (this.userlist !== {} && this.temp.isTerminal === 1) {
for (var i = 0; i < this.detailsList.length; i++) {
this.detailsList[i].useMessage = this.userlist
}
}
this.temp.detailsList = this.detailsList
submitInfo(this.temp).then((response) => {
this.createBtn = false
this.formobj.procInsId = this.formobj.procInstId
submitInfo(this.formobj).then((response) => {
if (response.success) {
//
this.$message({ showClose: true, type: 'success', message: '提交成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
@ -426,6 +622,8 @@ export default {
code: 1
}
}, '*')
} else {
this.createBtn = false
}
}).catch(e => {
this.createBtn = false
@ -438,43 +636,44 @@ export default {
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.times {
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
justify-content: space-between;
align-items: center;
}
.formadd /deep/ .el-row {
border: 0;
.titleOne {
padding: 12px;
font-weight: bold;
font-size: 16px;
background-color: #0294D7;
text-align: left;
color: #ffffff;
}
.formadd /deep/ .el-col {
border: 0;
.span-sty {
width: 120px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.addinputInfo {
margin-left: 110px !important;
}
.titcon {
border: 1px solid #e0e3eb;
.addinputw {
margin-left: 110px !important;
}
.titcon, .title {
background-color: white;
color: black;
/deep/ .el-form-item__error {
margin-left: 110px !important;
}
.formadd .el-row .el-col {
padding: 0 !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

406
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/chukuYiBanInfo.vue

@ -4,124 +4,246 @@
<div class="tab-header webtop">
<div>出库申请详情</div>
<div>
<el-button type="danger" @click="openRevoke()"> </el-button>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
出库申请
<div class="times">
<div>
<span>合同编号</span><span>{{ temp.contractNo }}</span>
</div>
<div>
<span>申请日期</span><span>{{ temp.applyDate }}</span>
</div>
</div>
</div>
<el-row class="nothingBorder">
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">客户名称</span></el-form-item>
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</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.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-form-item><span slot="label">是否为终端客户</span></el-form-item>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
<el-col :span="2"/>
</el-row>
<el-row>
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">车型</span></el-form-item>
<el-col :span="8">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</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 v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<span>{{ temp.modelName }}</span>
</el-form-item>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">实际购车人</div>
<el-form-item><span class="addinputInfo">{{ formobj.type }}</span></el-form-item>
</el-col>
<el-col :span="12"/>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">车辆信息</div>
<div class="title">
<div>车辆信息</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLookByDingDan()">查看销售订单</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit>
<el-table-column align="center" label="序号" width="50" type="index" :index="index + 1"/>
<el-table-column label="车架号" align="center">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</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.price }}</span>
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<el-button v-show="scope.row.isExist == '1'" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看</el-button>
<span v-show="temp.isTerminal == 0 && scope.row.isExist == '0'"></span>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="款、票情况" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookPayment(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
<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-form>
</div>
</div>
<user-info-look v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<userInfo v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<guacheInfo v-show="viewState == 3" ref="divCheInfo" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 4" ref="divZhuangInfo" @doback="resetState"/>
<xiaoshoudingdanInfo v-show="viewState == 5" ref="divDingDanInfo" @doback="resetState"/>
<paymentticket v-show="viewState == 6" ref="divPayMentInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid, revokeProcess } from '@/api/chukuguanli/chukubanli'
import userInfoLook from './relation/userInfo'
import { getRetrievalApplyInfo, trailerList, revokeProcess } from '@/api/chukuguanli/chukubanli'
import userInfo from './relation/userInfo'
import guacheInfo from './relation/guacheInfo'
import shangzhuangInfo from './relation/shangzhuangInfo'
import paymentticket from './relation/paymentticket'
import xiaoshoudingdanInfo from './relation/dingdanInfo'
export default {
name: 'chukuYiBanInfo',
components: {
userInfoLook
userInfo,
guacheInfo,
shangzhuangInfo,
paymentticket,
xiaoshoudingdanInfo
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
dialogStatus: 'add', //
// ---------
viewState: 1,
// ===
listLoading: false,
list: [],
temp: {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
}, //
detailsList: [],
sids: [],
vinNo_info: '',
rules: {},
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
//
linkByParameter: {
businessSid: '',
@ -131,7 +253,8 @@ export default {
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
},
rules: {}
}
},
created() {
@ -139,6 +262,7 @@ export default {
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
@ -155,7 +279,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
data: 500 + 'px'
}
}, '*')
},
@ -168,37 +292,63 @@ export default {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
fetchDetailsBySid({ sid: sid }).then((response) => {
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((response) => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.detailsList = response.data.listVo
console.log('详情回显车辆信息', this.detailsList)
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
}
if (this.detailsList[i].useMessage.vinNo == '') {
this.detailsList[i].isExist = '0'
}
}
this.temp = JSON.parse(JSON.stringify(this.temp).replace(/listVo/g, 'detailsList'))
console.log('isTerminal', this.temp.isTerminal)
this.formobj = response.data
}
})
},
//
lookUserInfo(vinNo) {
console.log('1111', vinNo)
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo === vinNo) {
let useMessage = {}
useMessage = this.detailsList[i].useMessage
this.viewState = 2
this.$refs['divUserInfo'].showInfo(useMessage)
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
//
lookPayment(row) {
this.viewState = 6
this.$refs['divPayMentInfo'].showInfo(this.formobj.contractId, row)
},
//
handleLookByDingDan() {
this.viewState = 5
this.$refs['divDingDanInfo'].showInfo({ sid: this.formobj.busSalesOrderSid })
},
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 3
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 4
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
}
})
},
//
lookUser(row) {
this.viewState = 2
this.$refs['divUserInfo'].showInfo(this.formobj.contractId, row)
},
// ------------ ------------
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
@ -224,6 +374,7 @@ export default {
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
@ -232,13 +383,6 @@ export default {
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
@ -246,46 +390,30 @@ export default {
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
justify-content: space-between;
align-items: center;
}
.formadd /deep/ .el-row {
border: 0;
.span-sty {
width: 120px !important;
}
.formadd /deep/ .el-col {
border: 0;
.addinputInfo {
margin-left: 110px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
.titcon {
border: 1px solid #e0e3eb;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
.titcon,
.title {
background-color: white;
color: black;
}
.changeIt {
line-height: 40px;
font-size: 17px;
float: right;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

195
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/daichuku.vue

@ -1,56 +1,43 @@
<template>
<div class="app-container">
<!--待开票列表页面-->
<div>
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>待出库车辆列表</div>
<!--start 查询列表按钮部分开始-->
<div>
<el-button type="primary" size="small" @click="handleCreate()">确定</el-button>
<el-button type="info" size="small" @click="handleColse()">确定</el-button>
</div>
<!--end 查询列表按钮部分结束-->
</div>
<!--按钮部分结束-->
<!--Start查询列表部分-->
<button-bar view-title="待出库车辆列表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="">
<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-item label="合同编号">
<el-input v-model="listQuery.contractNo" placeholder="请输入合同编号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="客户名称">
<el-select v-model="listQuery.name" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in customerList" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
<el-input v-model="listQuery.params.name" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.vinNo" placeholder="请输入车架号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-divider></el-divider>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handleReset">重置</el-button>
</div>
</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="listcon">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" :border="true" fit highlight-current-row style="width: 100%;" @selection-change="handleSelectionChange">
<div class="">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50"/>
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="认款状态" align="center">
<el-table-column fixed label="序号" type="index" width="60" :index="indexMethod" align="center"/>
<el-table-column label="业务状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.subscription }}</span>
</template>
</el-table-column>
<el-table-column label="销售类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.type }}</span>
<span>{{ scope.row.paymentMethod }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
@ -68,11 +55,6 @@
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
@ -85,19 +67,21 @@
</template>
<script>
import { listPage, customerName } from '@/api/chukuguanli/chukubanli'
import { setuser } from '@/utils/baocun'
import { listPage } from '@/api/chukuguanli/chukubanli'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'daichuku',
components: {
Pagination,
pageye
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
isSearchShow: false, //
searchxianshitit: '显示查询条件',
// -----------
@ -105,9 +89,24 @@ export default {
sids: [], // SIDs
FormLoading: false,
listLoading: false,
customerList: [],
typeList: [], //
list: [],
btnList: [
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doCreate',
btnLabel: '确定'
},
{
type: 'info',
size: 'small',
icon: '',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
//
listQuery: {
current: 1,
@ -118,36 +117,42 @@ export default {
name: '', //
vinNo: '', //
userSid: '',
vinNoList: []
vinSid: []
}
},
multipleSelection: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doCreate':
this.doCreate()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
showData(value, contractNo) {
const aa = []
if (value.length > 0) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i].vinNo)
aa.push(value[i].vinSid)
}
this.listQuery.params.contractNo = contractNo
this.listQuery.params.vinNoList = aa
this.listQuery.params.vinSid = aa
} else {
this.listQuery.params.vinNoList = []
this.listQuery.params.vinSid = []
}
this.getCustomer()
this.getList()
},
//
getCustomer() {
customerName({ staffSid: window.sessionStorage.getItem('staffSid') }).then((response) => {
if (response.code === '200') {
this.customerList = response.data
console.log('客户列表', this.customerList)
}
})
},
// ========== ==========
//
clicksearchShow() {
@ -169,27 +174,10 @@ export default {
console.log('待出库', row)
this.multipleSelection = row
const aa = []
for (var i = 0; i < row.length; i++) {
for (var j = i + 1; j < row.length; j++) {
if (row[i].contractNo !== row[j].contractNo) {
this.$message({
showClose: true,
message: '请选择同一合同编号的车辆!',
type: 'error'
})
}
}
}
row.forEach(element => {
aa.push({
address: element.address,
contractNo: element.contractNo,
idNo: element.idNo,
mobile: element.mobile,
modelName: element.modelName,
name: element.name,
price: element.price,
vinNo: element.vinNo
vinSid: element.vinSid
})
})
this.sids = aa
@ -201,18 +189,12 @@ export default {
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
contractNo: '', //
name: '', //
vinNo: '', //
userSid: '',
vinNoList: []
}
}
this.listQuery.current = 1
this.listQuery.size = 10
this.listQuery.total = 0
this.listQuery.params.name = ''
this.listQuery.params.vinNo = ''
this.listQuery.params.userSid = ''
this.getList()
},
//
@ -221,8 +203,7 @@ export default {
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
listPage(this.listQuery).then(response => { //
this.listLoading = false
console.log(response)
if (response.success && response.data && response.data.total > 0) {
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
@ -232,7 +213,7 @@ export default {
})
},
//
handleCreate() {
doCreate() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行出库申请' })
return
@ -254,47 +235,11 @@ export default {
this.$emit('backData', this.sids)
}
},
handleColse() {
doClose() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.searchli {
padding: 5px 100px;
}
</style>

527
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/dingdanInfo.vue

@ -0,0 +1,527 @@
<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" icon="el-icon-close" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="titwu">销售订单</div>
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="130px" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8" class="tlineheightb">
<div class="span-sty">订单编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.concatNo }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<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" class="tlineheightb">
<div class="span-sty">销售机构</div>
<el-form-item><span class="addinputInfo">{{ formobj.useOrgName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.orgName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">客户信息</div>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">挂靠公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.affiliatedCompany }}</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.payType }} {{ formobj.financePlanValue }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">开票类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.billingType }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">是否包牌</div>
<el-form-item><span class="addinputInfo">{{ formobj.licensePlateValue }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">车型信息</div>
<el-row>
<el-col :span="24" class="tlineheightb">
<el-form-item><span class="addinputInfo" style="margin-left: 0px !important;">{{ formobj.busSalesOrderModel.modelConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">常用配置</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.config }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">更多配置</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.moreConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">特殊配置说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.specialConfig }}</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.busSalesOrderModel.publicModel }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<el-form-item><span class="addinputInfo" style="margin-left: 0px !important;">{{ formobj.busSalesOrderModel.publicModelSon }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.busSalesOrderMakeup.topMessage !== ''">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">上装</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topMessage }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '1'">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.vinNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '2'">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">采购订单编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.linkNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '3'">
<el-col :span="24">
<div class="span-sty">需采购</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.quantity }}</span></el-form-item>
</el-col>
</el-row>
<!-- <div class="title">挂车信息</div>-->
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item><span></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.busSalesOrderPrice.singleGuildPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">主车单台成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.finalPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单台整体成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.singleFinalPrice }}</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.busSalesOrderPrice.bigDecimalSing }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">台数</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.quantity }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车价合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.priceSum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">计划提车日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.plannedPickUpDate }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">预计提车地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">保险说明</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.insuranceInfo }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">订金信息</div>
<el-row>
<el-col :span="12">
<div class="span-sty">单台订金</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.deposit }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">订金合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.depositAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">订金缴纳方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.depositType }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">需补交订金</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.makeUpDeposit }}</span></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: 178px;height: 178px;" v-for="(item,index) in formobj.busSalesOrderDeposit.paymentConfirmation" :key="index" :src="item" :preview-src-list="formobj.busSalesOrderDeposit.paymentConfirmation"></el-image></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.busSalesOrderDeposit.depositRemarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title" v-if="formobj.busSalesOrderDiscountList.length > 0">优惠套餐</div>
<el-table v-if="formobj.busSalesOrderDiscountList.length > 0" :key="tableKey" :data="formobj.busSalesOrderDiscountList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column label="优惠名称" align="left" header-align="center">
<template slot-scope="scope">
{{ scope.row.name }}
</template>
</el-table-column>
<el-table-column label="价值" align="left" header-align="center">
<template slot-scope="scope">
{{ scope.row.price }}
</template>
</el-table-column>
<el-table-column label="优惠项目说明" header-align="center">
<template slot-scope="scope">
{{ scope.row.discountExplain }}
</template>
</el-table-column>
<el-table-column label="数量" header-align="center">
<template slot-scope="scope">
{{ scope.row.num }}
</template>
</el-table-column>
<el-table-column prop="totalValue" label="小计" header-align="center">
<template slot-scope="scope">
{{ scope.row.totalValue }}
</template>
</el-table-column>
</el-table>
<div v-show="formobj.finPlanState" class="jinrong">
<div>金融方案</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLook()">查看</el-button>
</div>
</div>
<div class="title">补充说明</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.notes }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item><el-image style="width: 178px;height: 178px;" v-for="(item,index) in formobj.images" :key="index" :src="item" :preview-src-list="formobj.images"></el-image></el-form-item>
</el-col>
</el-row>
<div class="title">其它信息</div>
<el-row>
<el-col :span="12">
<div class="span-sty">内部引荐人</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.name }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">返利备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">单车中介服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">中介服务费合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">单车中介服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">中介服务费合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<financialscheme ref="divInfo" v-show="viewState == 2" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid } from '@/api/salesManagement/orderManagement'
import financialscheme from '../../../xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme'
export default {
name: 'XiaoShouDingDanInfo',
components: {
financialscheme
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
affiliatedCompany: '',
affiliatedCompanySid: '',
billNo: '',
billingType: '',
billingTypeKey: '',
busDepositFictitiousList: [],
busSalesOrderDeposit: [],
busSalesOrderDiscountList: [],
busSalesOrderInsurance: [],
busSalesOrderMakeup: [],
busSalesOrderModel: [],
busSalesOrderPrice: [],
busSalesOrderVehicleList: [],
busSalesOrderotherMessageDetailsVo: [],
busSalesVehicleOrderList: [],
concatNo: '',
createDate: '',
customerName: '',
customerSid: '',
images: [],
insuranceInfo: '',
insuranceInfoMessage: '',
isInsurance: '',
isTop: '',
licensePlateKey: '',
licensePlateValue: '',
mobile: '',
nodeState: '',
notes: '',
orgName: '',
orgSid: '',
payType: '',
payTypeKey: '',
procInstId: '',
remarks: '',
staffName: '',
staffSid: '',
taskId: '',
type: '',
useOrgName: '',
useOrgSid: '',
finPlanState: false
}
}
},
methods: {
showInfo(row) {
this.viewTitle = '销售订单'
fetchDetailsBySid(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.busSalesOrderModel.linkNo.length > 0) {
this.formobj.busSalesOrderModel.linkNo = this.formobj.busSalesOrderModel.linkNo.join('、')
} else {
this.formobj.busSalesOrderModel.linkNo = ''
}
if (this.formobj.busSalesOrderModel.vinNo.length > 0) {
this.formobj.busSalesOrderModel.vinNo = this.formobj.busSalesOrderModel.vinNo.join('、')
} else {
this.formobj.busSalesOrderModel.vinNo = ''
}
}
})
},
handleLook() {
this.viewState = 2
this.$refs['divInfo'].showInfo(this.formobj.solutionsDetailsssVo)
},
//
getSummaries(param) {
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = ''
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'totalValue') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
} else {
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
this.amount = sums[index] += ''
} else {
sums[index] = ''
}
}
})
return sums
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
sid: '',
affiliatedCompany: '',
affiliatedCompanySid: '',
billNo: '',
billingType: '',
billingTypeKey: '',
busDepositFictitiousList: [],
busSalesOrderDeposit: [],
busSalesOrderDiscountList: [],
busSalesOrderInsurance: [],
busSalesOrderMakeup: [],
busSalesOrderModel: [],
busSalesOrderPrice: [],
busSalesOrderVehicleList: [],
busSalesOrderotherMessageDetailsVo: [],
busSalesVehicleOrderList: [],
concatNo: '',
createDate: '',
customerName: '',
customerSid: '',
images: [],
insuranceInfo: '',
insuranceInfoMessage: '',
isInsurance: '',
isTop: '',
licensePlateKey: '',
licensePlateValue: '',
mobile: '',
nodeState: '',
notes: '',
orgName: '',
orgSid: '',
payType: '',
payTypeKey: '',
procInstId: '',
remarks: '',
staffName: '',
staffSid: '',
taskId: '',
type: '',
useOrgName: '',
useOrgSid: '',
finPlanState: false
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.jinrong {
padding: 7px;
font-weight: bold;
font-size: 16px;
background-color: #0294d7;
text-align: left;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 1px;
}
.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;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

263
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/guacheInfo.vue

@ -0,0 +1,263 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="titwu"><span>挂车信息</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" 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>
<span>{{ formobj.vinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.modelName }}</span>
</el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.list" :key="index">
<div class="title">挂车{{ index + 1 }}</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>车架号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.trailerVinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>成交价</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.dealPrice }}</span>
</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>
<span>{{ item.brandName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车辆型号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.carModelName }}</span>
</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>
<span>{{ item.manufacturerName }}</span>
</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>
<span>{{ item.trailerTypeValue }}</span>
</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>
<span></span><span class="spanPadding">{{ item.appearanceSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeHigh }}</span>mm,
<span>总高</span><span class="spanPadding">{{ item.appearanceSizeTotalHigh }}</span>mm
</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>
<span></span><span class="spanPadding">{{ item.insideSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeHigh }}</span>mm
</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>
<span class="spanPadding">{{ item.saddleLeaveLandHigh }}</span>mm
</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>
<span>高度</span><span class="spanPadding">{{ item.girderSizeHigh }}</span>mm,
<span>宽度</span><span class="spanPadding">{{ item.girderSizeWide }}</span>mm,
<span>立板</span><span class="spanPadding">{{ item.girderSizeStandPlate }}</span>mm
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb" style="display: flex;justify-content: flex-end;align-items: center">
<span>底盘部分</span>
</el-col>
<el-col :span="20" style="padding: 0">
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>牵引销</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.towPin }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>板簧</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.plateSpring }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>车桥</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.axle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>轮胎及钢圈</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.tyreAndSteelCircle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center;border-bottom: 0">
<span>底板</span>
</el-col>
<el-col :span="20" style="border-right: 0;border-bottom: 0">
<el-form-item>
<span class="spanPadding">{{ item.floorSize }}</span>mm
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>门扇要求</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.doorFanRequirement }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>箱体颜色</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.boxColor }}</span>
</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>
<span>{{ item.moreConfig }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
export default {
name: 'GuaCheInfo',
data() {
return {
viewTitle: '',
formobj: {
vinNo: '',
modelName: '',
list: []
},
rules: {},
submitdisabled: false
}
},
methods: {
showInfo(data) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '挂车详情'
this.formobj = data
},
handleReturn() {
this.formobj = {
vinNo: '',
modelName: '',
list: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.spanPadding {
padding: 0 5px;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

249
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/paymentticket.vue

@ -0,0 +1,249 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>款票详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</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.modelName }}</span></el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="title">
<div>款项情况(平台收款)</div>
</div>
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.finSelectVoList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="款项名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.receivablesName }}</span>
</template>
</el-table-column>
<el-table-column label="应收金额" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.reveivableMoney }}</span>
</template>
</el-table-column>
<el-table-column label="已收款" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.subscriptionMoneyAll }}</span>
</template>
</el-table-column>
<el-table-column label="未收款" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.notSubscriptionMoney }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.remark }}</span>
</template>
</el-table-column>
</el-table>
<div class="title">发票情况</div>
<el-row>
<el-col :span="16">
<div class="span-sty">开票名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoicingName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">税号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceNo }}</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">{{ formobj.vinInvoiceVo.address }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.telPhone }}</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">{{ formobj.vinInvoiceVo.openingBank }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">银行账号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.bankNum }}</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">{{ formobj.vinInvoiceVo.invoiceTitle }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceType }}</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.vinInvoiceVo.billingState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceAmount }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceDate }}</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.vinInvoiceVo.transferState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">接收人</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.recipient }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">移交日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.transferTime }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { deliveredFinSelect } from '@/api/chukuguanli/chukubanli'
export default {
name: 'PaymentTicket',
data() {
return {
tableKey: 0,
index: 0,
// ---------
listLoading: false,
formobj: {
vinNo: '',
paymentMethod: '',
contractNo: '',
customerName: '',
modelName: '',
finSelectVoList: [],
vinInvoiceVo: {
invoicingName: '',
invoiceNo: '',
invoiceTitle: '',
invoiceType: '',
billingState: '',
invoiceAmount: '',
invoiceDate: '',
transferState: '',
address: '',
telPhone: '',
openingBank: '',
bankNum: '',
recipient: '',
transferTime: ''
}
},
rules: {}
}
},
methods: {
// ------------ ------------
showInfo(contractId, row) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
deliveredFinSelect({ contractNo: contractId, vinSid: row.vinSid }).then((response) => {
if (response.success) {
console.log(response.data)
this.formobj = response.data
}
})
},
// ------------ ------------
//
handleReturn() {
this.$refs['dataForm'].resetFields()
this.formobj = {
vinNo: '',
paymentMethod: '',
contractNo: '',
customerName: '',
modelName: '',
finSelectVoList: [],
vinInvoiceVo: {
invoicingName: '',
invoiceNo: '',
invoiceTitle: '',
invoiceType: '',
billingState: '',
invoiceAmount: '',
invoiceDate: '',
transferState: '',
address: '',
telPhone: '',
openingBank: '',
bankNum: '',
recipient: '',
transferTime: ''
}
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.span-sty {
width: 120px !important;
}
.addinputInfo {
margin-left: 110px !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

123
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/selectpackage.vue

@ -0,0 +1,123 @@
<template>
<div class="app-container">
<button-bar view-title="选择优惠包" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="">
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column label="优惠名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.discountName }}</span>
</template>
</el-table-column>
<el-table-column label="价值" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.discountPrice }}</span>
</template>
</el-table-column>
<el-table-column label="优惠项目说明" header-align="center" align="left" min-width="200">
<template slot-scope="scope">
<span>{{ scope.row.discountInfo }}</span>
</template>
</el-table-column>
<el-table-column label="剩余数量" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.discountLeaveNum }}</span>
</template>
</el-table-column>
<el-table-column label="本次赠送数量" align="center" width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.discountNum" placeholder=""/>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
name: '',
components: {
ButtonBar
},
data() {
return {
viewTitle: '',
tableKey: 0,
listLoading: false,
btndisabled: false,
list: [],
vinSid: '', // sid
btnList: [
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doCreate',
btnLabel: '确定'
},
{
type: 'info',
size: 'small',
icon: '',
btnKey: 'doClose',
btnLabel: '关闭'
}
]
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doCreate':
this.doCreate()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
showData(discountUse, discountLeave, vinSid) {
const aa = []
for (var i = 0; i < discountLeave.length; i++) {
for (var k = 0; k < discountUse.length; k++) {
if (discountLeave[i].discountSid === discountUse[k].discountSid) {
aa.push({
discountSid: discountUse[k].discountSid,
discountName: discountUse[k].discountName,
discountPrice: discountUse[k].discountPrice,
discountInfo: discountUse[k].discountInfo,
discountLeaveNum: parseInt(discountUse[k].discountNum) + parseInt(discountLeave[i].discountLeaveNum),
discountNum: discountUse[k].discountNum
})
}
}
}
this.list = aa
this.vinSid = vinSid
},
doCreate() {
for (var i = 0; i < this.list.length; i++) {
if (this.list[i].discountNum === '') {
this.list[i].discountNum = 0
}
}
this.$emit('backData', this.list, this.vinSid)
},
doClose() {
this.$emit('doback')
},
}
}
</script>
<style scoped></style>

158
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/shangzhuangInfo.vue

@ -0,0 +1,158 @@
<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>
<div class="">
<div class="titwu"><span>上装配置信息</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>主车车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.modelName }}</span></el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.vehillModelList" :key="index">
<div class="title">上装{{ index + 1 }}</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>成交价</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.topPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.vehicleTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>上装名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.installNameValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>委改方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitMethodValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>供应商</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitFactory }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>货箱内部尺寸</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.wk_long }}</span>mm,
<span class="inputStyle">{{ item.wk_wide }}</span>mm,
<span class="inputStyle">{{ item.wk_high }}</span>mm
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>颜色</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.colorValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材材质</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.plateMaterialValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材厚度</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.plateThicknessBottom }}</span>mm,
<span class="inputStyle">{{ item.plateThicknessEdge }}</span>mm
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>篷布滑道</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.tarpaulinSlide }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>冷藏冷机</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refrigerator }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>自卸液压盖板</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.selfUnHyCoPl }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>底板加热</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.floorHeating }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>更多配置</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.moreConfig }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'ShangZhuangInfo',
data() {
return {
formobj: {
modelName: '',
vinNo: '',
vehillModelList: []
}
}
},
methods: {
handleReturn() {
this.formobj = {
modelName: '',
vinNo: '',
vehillModelList: []
}
this.$emit('doback')
},
showInfo(data) {
this.formobj = data
}
}
}
</script>
<style scoped>
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 110px !important;
}
.inputStyle {
display: inline-block;
margin: 0 5px;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

244
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/userEdit.vue

@ -2,84 +2,130 @@
<div class="app-container">
<div v-show="visible">
<div class="tab-header webtop">
<div>录入使用人信息</div>
<div>录入实际购车人信息</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleCreate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="tempUser" :rules="rules" label-position="right" class="formadd">
<div class="tit">录入使用人信息</div>
<el-row>
<el-col :span="4" class="topBor">
<span>合同编号</span>
<div class="titwu">实际购车人信息</div>
<el-form ref="dataForm" :model="tempUser" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>是否为实际购车人</span>
</el-col>
<el-col :span="10" class="topBor">
<el-form-item prop="contractNo">
<span slot="label">{{ tempUser.contractNo }}</span>
<el-col :span="20">
<el-form-item>
<el-radio-group class="addinputw" style="font-size: 1px" v-model="tempUser.isConfirmRealBuyer">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>车架号</span>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>客户类型</span>
</el-col>
<el-col :span="10">
<el-form-item prop="vinNo">
<span slot="label">{{ tempUser.vinNo }}</span>
<el-col :span="20">
<el-form-item>
<el-select v-model="tempUser.customerType" placeholder="请选择" @change="changeMerType" clearable class="addinputw addinputwOne">
<el-option v-for="item in merType" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>客户名称</span>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>客户名称</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.name" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.customerTypeKey == '2' && tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>联系人</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.contacts" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>联系电话</span>
</el-col>
<el-col :span="10">
<el-form-item prop="name">
<el-input v-model="tempUser.name" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.mobile" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>证件号码</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.idNumber" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="tempUser.isConfirmRealBuyer =='1'">
<el-col :span="4" class="tleftb">
<span>通讯地址</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.address" placeholder="" class="addinputw addinputwTwo" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>联系电话</span>
<el-col :span="4" class="tleftb">
<span>车架号</span>
</el-col>
<el-col :span="10">
<el-form-item prop="mobile">
<el-input v-model="tempUser.mobile" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-col :span="20">
<el-form-item>
<span slot="label">{{ tempUser.vin }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>证件号码</span>
<el-col :span="4" class="tleftb">
<span>合同编号</span>
</el-col>
<el-col :span="10">
<el-form-item prop="idNo">
<el-input v-model="tempUser.idNo" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-col :span="20">
<el-form-item>
<span slot="label">{{ tempUser.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>联系地址</span>
<el-col :span="4" class="tleftb">
<span>备注</span>
</el-col>
<el-col :span="10">
<el-form-item prop="address">
<el-input v-model="tempUser.address" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-col :span="20">
<el-form-item>
<el-input v-model="tempUser.remarks" placeholder="" class="addinputw addinputwTwo" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { typeValues } from '@/api/dictcommons/dictcommons'
export default {
name: 'userEdit',
components: {},
@ -89,14 +135,24 @@ export default {
index: 0,
disabled: false, //
createBtn: false,
merType: [],
state: '',
// ---------
visible: true,
listLoading: false,
tempUser: {
contractNo: '',
vinNo: '',
sid: ''
}, //
address: '',
contacts: '',
customerType: '',
customerTypeKey: '',
idNumber: '',
isConfirmRealBuyer: '',
mobile: '',
name: '',
remarks: '',
vin: '',
contractNo: ''
},
rules: {}
}
},
@ -106,14 +162,11 @@ export default {
methods: {
// ------------ ------------
init() {
this.tempUser = {
contractNo: '',
vinNo: '',
name: '',
mobile: '',
idNo: '',
address: ''
}
typeValues({ type: 'customerType' }).then((res) => {
if (res.success) {
this.merType = res.data
}
})
},
showAdd(contractNo, vinNo) {
this.init()
@ -122,9 +175,9 @@ export default {
})
this.state = 'add'
this.tempUser.contractNo = contractNo
this.tempUser.vinNo = vinNo //
this.tempUser.vin = vinNo //
},
showEdit(useMessage, vinNo) {
showEdit(useMessage, contractNo) {
this.init()
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
@ -132,25 +185,55 @@ export default {
console.log('编辑拿到的信息', useMessage)
this.state = 'edit'
this.tempUser = useMessage
this.tempUser.vinNo = vinNo
this.tempUser.contractNo = contractNo
},
// ------------ ------------
changeMerType(val) {
const choose = this.merType.filter((item) => item.dictValue === val)
this.tempUser.customerTypeKey = choose[0].dictKey
},
//
handleCreate() {
if (this.tempUser.isConfirmRealBuyer === '1') {
if (this.tempUser.customerType === '') {
this.$message({ showClose: true, type: 'error', message: '客户类型不能为空' })
return
}
if (this.tempUser.name === '') {
this.$message({ showClose: true, type: 'error', message: '客户名称不能为空' })
return
}
if (this.tempUser.mobile === '') {
this.$message({ showClose: true, type: 'error', message: '联系电话不能为空' })
return
}
} else {
if (this.tempUser.remarks === '') {
this.$message({ showClose: true, type: 'error', message: '因实际购车人选择否,请填写备注' })
return
}
}
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.createBtn = true
if (this.tempUser.isConfirmRealBuyer === '0') {
this.tempUser.address = ''
this.tempUser.idNumber = ''
this.tempUser.mobile = ''
this.tempUser.customerType = ''
this.tempUser.customerTypeKey = ''
this.tempUser.contacts = ''
this.tempUser.name = ''
}
if (this.state === 'add') {
this.createBtn = false
console.log('新增保存数据', this.tempUser)
const aa = this.tempUser
this.$emit('returnInfo', aa)
this.$emit('backUser', aa)
this.handleReturn()
} else {
this.createBtn = false
console.log('修改保存数据', this.tempUser)
const bb = this.tempUser
this.$emit('returnInfo', bb)
this.$emit('backUser', bb)
this.handleReturn()
}
}
@ -158,39 +241,36 @@ export default {
},
//
handleReturn() {
this.tempUser = {
address: '',
contacts: '',
customerType: '',
customerTypeKey: '',
idNumber: '',
isConfirmRealBuyer: '',
mobile: '',
name: '',
remarks: '',
vin: '',
contractNo: ''
}
this.createBtn = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.tit {
margin: 45px 0 66px 0;
padding: 10px 0 0 0;
border: 0;
}
/deep/ .el-row {
display: flex;
justify-content: center;
border-left: 0;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.topBor {
border-top: 1px solid #e0e3eb;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.addinputwOne {
width: 20% !important;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
border-left: 1px solid #e0e3eb;
.addinputwTwo {
width: 40% !important;
}
</style>

128
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/chukuguanliFlow/chukuguanli/relation/userInfo.vue

@ -2,78 +2,107 @@
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>录入使用人信息</div>
<div>实际购车人信息</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="tempUserLook" :rules="rules" label-position="right" class="formadd">
<div class="tit">录入使用人信息</div>
<el-row>
<el-col :span="4" class="topBor">
<span>合同编号</span>
<div class="titwu">实际购车人信息</div>
<el-form ref="dataForm" :model="tempUserLook" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>客户类型</span>
</el-col>
<el-col :span="10" class="topBor">
<el-form-item prop="contractNo">
<span>{{ tempUserLook.contractNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.customerType }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>车架号</span>
<el-col :span="4" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="10">
<el-form-item prop="vinNo">
<span>{{ tempUserLook.vinNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>客户名称</span>
<el-row v-show="tempUserLook.customerTypeKey == '2'">
<el-col :span="4" class="tleftb">
<span>联系人</span>
</el-col>
<el-col :span="10">
<el-form-item prop="name">
<span>{{ tempUserLook.name }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.contacts }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-col :span="4" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="10">
<el-form-item prop="mobile">
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.mobile }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-col :span="4" class="tleftb">
<span>证件号码</span>
</el-col>
<el-col :span="10">
<el-form-item prop="idNo">
<span>{{ tempUserLook.idNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.idNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>联系地址</span>
<el-col :span="4" class="tleftb">
<span>通讯地址</span>
</el-col>
<el-col :span="10">
<el-form-item prop="address">
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.address }}</span>
</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>
<span>{{ tempUserLook.vin }}</span>
</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>
<span>{{ tempUserLook.contractNo }}</span>
</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>
<span>{{ tempUserLook.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
@ -91,12 +120,13 @@ export default {
}
},
methods: {
showInfo(useMessage) {
showInfo(contractNo, useMessage) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
console.log('详情拿到的信息', useMessage)
this.tempUserLook = useMessage
this.tempUserLook.contractNo = contractNo
},
//
handleReturn() {
@ -106,33 +136,9 @@ export default {
}
</script>
<style scoped>
.tit {
margin: 45px 0 66px 0;
padding: 10px 0 0 0;
border: 0;
}
/deep/ .el-row {
display: flex;
justify-content: center;
border-left: 0;
}
.topBor {
border-top: 1px solid #e0e3eb;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
border-left: 1px solid #e0e3eb;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java

@ -30,12 +30,10 @@ public class FinVehicleInvoiceDto implements Dto {
private String sid; // sid
@ApiModelProperty("版本锁")
private Integer lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("修改时间")
private Date modifyTime;
@ApiModelProperty("是否可用:1可用,0不可用")
@ -60,7 +58,7 @@ public class FinVehicleInvoiceDto implements Dto {
private String vehicleType;
@ApiModelProperty("车辆金额")
private BigDecimal vehiclAmount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("最大发票开票日期")
private Date invoiceDate;
@ApiModelProperty("发票号")
@ -106,7 +104,7 @@ public class FinVehicleInvoiceDto implements Dto {
private String bankNum;
@ApiModelProperty("接收人")
private String recipient;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("移交日期")
private Date transferTime;
}

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -341,6 +341,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("useOrgSid", query.getUseOrgSid());
qw.eq("isDelete", "0");
qw.orderByDesc("createTime");
return qw;
@ -598,7 +599,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
String salesOrderSid = data.getSalesOrderSid();
//根据销售订单sid 查询采购系统sid
BusSalesOrderDetailsVo orderDetailsVo = busSalesOrderFeign.fetchDetailsBySid(salesOrderSid).getData();
if (null != orderDetailsVo && StringUtils.isNotBlank(orderDetailsVo.getPurchaseSystemSid()) && StringUtils.isNotBlank(orderDetailsVo.getUseOrgSid())) {
ResultBean<FinCompanyInvoicingDetailsVo> detailsByUseOrgAndSystem = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(orderDetailsVo.getUseOrgSid(), orderDetailsVo.getPurchaseSystemSid());
if (detailsByUseOrgAndSystem.getData() != null) {
@ -627,7 +627,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
} else {
pdfVo.setLinKNo(linkNo);
}
}
if (StringUtils.isNotBlank(pdfVo.getConfirmDate())) {
String confirmDate = pdfVo.getConfirmDate();
@ -725,11 +724,9 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
String[] arr = str.split("\\.");
char[] chars = arr[0].toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < chars.length; ++i) {
sb.append(numChinese[Integer.valueOf(String.valueOf(chars[i])).intValue()]).append(chinese[chars.length - i - 1]);
}
if (arr.length == 1) {
return sb.toString() + "元整";
} else if (arr[1].length() > 2) {
@ -737,7 +734,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
} else {
sb.append("元");
char[] chars1 = arr[1].toCharArray();
for (int i = 0; i < chars1.length; ++i) {
sb.append(numChinese[Integer.valueOf(String.valueOf(chars1[i])).intValue()]).append(afterChinese[i]);
}

3
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java

@ -115,4 +115,7 @@ public class FlowTaskDto implements Serializable {
private boolean hasRevokeButton = false;
@ApiModelProperty("办理的url")
private SysProUrlVo sysProUrlVo ;
@ApiModelProperty("流程名称")
private String flowableName;
}

37
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -877,6 +877,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString());
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString());
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setFlowableName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString()));
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString());
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString());
@ -937,19 +938,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
List<FlowTaskDto> userHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
//对hisTaskList进行筛选发起人
/* if (StringUtils.isNotBlank(names)) {
String finalStartUserNameParams = names;
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
List<FlowTaskDto> finallyList = new ArrayList<>();
finallyList.addAll(namesHisTaskList);
finallyList.addAll(userHisTaskList);
page.setTotal(finallyList.size());
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
page.setRecords(finallyList);*/
page.setTotal(count);
page.setRecords(hisTaskList);
@ -1945,6 +1933,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Page<FlowTaskDto> page = new Page<>();
TaskQuery taskQuery = taskService.createTaskQuery();
String names = "";
String startUserSidParams = "";
// 流程参数
Map<String, Object> paramMap = new HashMap<>();
// 挂载表单参数
@ -1962,6 +1951,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
}
}
//发起人姓名查询
if("startUserSid".equals(btq.getField())){
startUserSidParams = btq.getValue();
}
}
if("proDefName".equals(btq.getField())){
names = btq.getValue();
@ -1977,6 +1970,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
or.or();
or.taskVariableValueLike("orderNames", "%" + names + "%").processDefinitionNameLike("%" + paramMap.get("proDefName") + "%");
or.endOr();
}
if(StringUtils.isNotBlank(startUserSidParams)){
or.taskVariableValueLike("INITIATOR", "%" + startUserSidParams + "%");
}
or.taskAssigneeLike("%" + userSid + "%")
.orderByTaskCreateTime().desc();
@ -2011,6 +2007,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
.singleResult();
flowTask.setDeployId(pd.getDeploymentId());
flowTask.setProcDefName(pd.getName());
flowTask.setFlowableName(pd.getName());
flowTask.setProcDefVersion(pd.getVersion());
flowTask.setProcInsId(task.getProcessInstanceId());
// 流程发起人信息
@ -2060,20 +2057,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
flowList.add(flowTask);
}
//对flowList进行筛选发起人======================
/*List<FlowTaskDto> userHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
if (StringUtils.isNotBlank(names)) {
String finalStartUserNameParams = names;
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
List<FlowTaskDto> finallyList = new ArrayList<>();
finallyList.addAll(namesHisTaskList);
finallyList.addAll(userHisTaskList);
page.setTotal(finallyList.size());
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());*/
page.setRecords(flowList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page);

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoQuery.java

@ -22,4 +22,9 @@ public class FlowTaskDoQuery implements Query {
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("日期至日期")
private String date;
@ApiModelProperty("用户sid")
private String createUser;
}

3
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java

@ -50,4 +50,7 @@ public class FlowTaskDoVo implements Vo {
@ApiModelProperty("流程ID")
private String procDefId;
@ApiModelProperty("流程名称")
private String flowableName;
}

3
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskFinishVo.java

@ -56,4 +56,7 @@ public class FlowTaskFinishVo implements Vo {
@ApiModelProperty("任务执行人名称")
@JsonProperty("currentHandle")
private String assigneeName;
@ApiModelProperty("流程名称")
private String flowableName;
}

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffQuery.java

@ -12,7 +12,7 @@ import lombok.Data;
@Data
public class PcSysStaffQuery implements Query {
private static final long serialVersionUID = 1858291601540877140L;
@ApiModelProperty(value = "业务员sid")
@ApiModelProperty(value = "业务员sid",required = false)
private String staffSid;
}

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffVo.java

@ -1,6 +1,7 @@
package com.yxt.anrui.portal.api.sysstaffinfo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -11,7 +12,8 @@ import lombok.Data;
@Data
public class PcSysStaffVo implements Vo {
private static final long serialVersionUID = -9042032921079833819L;
private String staffSid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("人员")
private String staffName;
}

12
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeign.java

@ -94,7 +94,7 @@ public interface SysStaffinfoFeign {
*/
@ApiOperation("获取集团内全部员工姓名")
@GetMapping("/getStaffName")
public ResultBean<List<Map<String, String>>> getStaffName(@RequestParam(value = "staffName", required = false) String staffName,@RequestParam(value = "deptSid") String deptSid);
public ResultBean<List<Map<String, String>>> getStaffName(@RequestParam(value = "staffName", required = false) String staffName, @RequestParam(value = "deptSid") String deptSid);
/**
* 获取部门内全部员工姓名
@ -145,5 +145,13 @@ public interface SysStaffinfoFeign {
@ApiOperation("切换机构:存放地点变更-获取人员列表")
@ResponseBody
@GetMapping("/getGressionUserList")
ResultBean<List<AppSysStaffVo>> getGressionUserList(@RequestParam("userSid")String userSid,@RequestParam("orgPath")String orgPath);
ResultBean<List<AppSysStaffVo>> getGressionUserList(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation("获取集团所有人员")
@ResponseBody
@GetMapping("/selectStaffLists")
ResultBean<List<PcSysStaffVo>> selectStaffLists();
}

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeignFallback.java

@ -103,4 +103,9 @@ public class SysStaffinfoFeignFallback implements SysStaffinfoFeign {
return null;
}
@Override
public ResultBean<List<PcSysStaffVo>> selectStaffLists() {
return null;
}
}

3
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/app/AppSysStaffQuery.java

@ -24,4 +24,7 @@ public class AppSysStaffQuery implements Query {
@ApiModelProperty("已选人员sid")
private List<String> selectSid;
@ApiModelProperty("state:1是所有,0是本分公司")
private int state;
}

1
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java

@ -255,4 +255,5 @@ public interface SysUserFeign {
@ApiOperation(value = "分享时查询的人员")
@PostMapping(value = "/shareSelectUser")
ResultBean<List<String>> shareSelectUser(@RequestBody ShareUserQuery shareUserQuery);
}

57
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -486,6 +486,36 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LIKE);
taskParamList.add(taskParam);
}
//发起日期查询
String date = params.getDate();
if(StringUtils.isNotBlank(date)){
String[] s = date.split("至");
String startDate = s[0];
if (StringUtils.isNotBlank(startDate)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startDate");
taskParam.setValue(startDate);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.GE);
taskParamList.add(taskParam);
}
String endDate = s[1];
if (StringUtils.isNotBlank(endDate)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("endDate");
taskParam.setValue(endDate);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LE);
taskParamList.add(taskParam);
}
}
if(StringUtils.isNotBlank(params.getCreateUser())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserSid");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getCreateUser());
taskParamList.add(taskParam);
}
/* if (StringUtils.isNotBlank(orgPath)) {//切换机构
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField(BusinessVariables.ORGPATH);
@ -585,6 +615,33 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LIKE);
taskParamList.add(taskParam);
}
String date = params.getDate();
if(StringUtils.isNotBlank(date)){
String[] s = date.split("至");
String startDate = s[0];
if (StringUtils.isNotBlank(startDate)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startDate");
taskParam.setValue(startDate);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.GE);
taskParamList.add(taskParam);
}
String endDate = s[1];
if (StringUtils.isNotBlank(endDate)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("endDate");
taskParam.setValue(endDate);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LE);
taskParamList.add(taskParam);
}
}
if(StringUtils.isNotBlank(params.getCreateUser())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserSid");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getCreateUser());
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery);
ResultBean<Page<FlowTaskDto>> resultBean = flowTaskFeign.businessDoneListForApp(userSid, taskQueryPagerQuery);

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.java

@ -122,4 +122,6 @@ public interface SysStaffinfoMapper extends BaseMapper<SysStaffinfo> {
IPage<AppSysStaffVo> getUserList(IPage<SysStaffinfo> page, @Param(Constants.WRAPPER) QueryWrapper<AppSysStaffVo> qw, @Param("orgSid") String orgSid);
List<AppSysStaffVo> getGressionUserList(@Param("userOrgSid")String userOrgSid);
List<PcSysStaffVo> selectStaffLists();
}

10
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -309,9 +309,10 @@
</update>
<!--查询当前分公司下的员工信息-->
<select id="selectStaffList" resultType="com.yxt.anrui.portal.api.sysstaffinfo.PcSysStaffVo">
select sso.staffSid, si.name staffName
select su.sid userSid, si.name staffName
from sys_staff_org sso
left join sys_staffinfo si on sso.staffSid = si.sid
left join sys_user su on su.staffSid = si.sid
where find_in_set(#{orgSid}, replace(sso.orgSidPath, '/', ','))
</select>
@ -377,4 +378,11 @@
</if>
</where>
</select>
<select id="selectStaffLists" resultType="com.yxt.anrui.portal.api.sysstaffinfo.PcSysStaffVo">
select su.sid userSid,
si.name userName
from sys_user su
left join sys_staffinfo si on su.staffSid = si.sid
</select>
</mapper>

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoRest.java

@ -220,5 +220,10 @@ public class SysStaffinfoRest implements SysStaffinfoFeign {
return sysStaffinfoService.getGressionUserList(userSid, orgPath);
}
@Override
public ResultBean<List<PcSysStaffVo>> selectStaffLists() {
return sysStaffinfoService.selectStaffLists();
}
}

23
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java

@ -749,25 +749,19 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
QueryWrapper<AppSysStaffVo> qw = new QueryWrapper<>();
String orgSid = "";
if (params != null) {
if(StringUtils.isBlank(params.getOrgPath())){
if (StringUtils.isNotBlank(params.getUserSid())) {
ResultBean<String> stringResultBean = sysStaffOrgService.getPathSidByUserSid(params.getUserSid());
if (stringResultBean.getSuccess()) {
orgSid = stringResultBean.getData();
}
}
}else{
if(StringUtils.isNotBlank(params.getOrgPath())){
String orgPath = params.getOrgPath();
orgSid = sysStaffOrgService.getOrgSidByPath(orgPath).getData();
}
if (StringUtils.isNotBlank(params.getName())) {
qw.like("si.name", params.getName());
}
if (params.getSelectSid().size() > 0){
if (params.getSelectSid() != null && params.getSelectSid().size() > 0){
qw.notIn("su.sid",params.getSelectSid());
}
if(params.getState() == 0){
qw.eq("si.personTypeKey","01");
}
}
IPage<AppSysStaffVo> pagging = baseMapper.getUserList(page, qw, orgSid);
List<AppSysStaffVo> list = pagging.getRecords();
@ -798,4 +792,11 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
List<AppSysStaffVo> list = baseMapper.getGressionUserList(useOrgSid);
return rb.success().setData(list);
}
public ResultBean<List<PcSysStaffVo>> selectStaffLists() {
ResultBean<List<PcSysStaffVo>> rb = ResultBean.fireFail();
List<PcSysStaffVo> list = baseMapper.selectStaffLists();
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}
}

74
anrui-scm/anrui-scm-ui/src/api/examinePage/chukushenhe.js

@ -1,11 +1,35 @@
import request from '@/utils/request'
// 出库申请初始化/详情 已改
export function fetchDetailsBySid(params) {
// 待出库车辆选择后--返回出库申请页面调用初始化
export function getRetrievalApplyInfo(data) {
return request({
url: '/buscenter/v1/busdeliveredapply/fetchDetailsBySid',
url: '/buscenter/v1/busdelivered/getRetrievalApplyInfo',
method: 'post',
data: params,
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 出库申请--车辆列表--查看挂车信息
export function trailerList(data) {
return request({
url: '/base/v1/basetrailer/trailerList',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 查看款、票情况详情
export function deliveredFinSelect(data) {
return request({
url: '/buscenter/v1/busdeliveredapply/deliveredFinSelect',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
@ -24,17 +48,13 @@ export function listExaminePage(params) {
})
}
// 出库分页列表 已改
// export function examine(params) {
// return request({
// url: '/buscenter/v1/busdeliveredapply/examine',
// method: "post",
// data: params,
// headers: {
// 'Content-Type': 'application/json'
// }
// });
// }
// 销售订单--编辑、详情初始化
export function fetchDetailsBySid(data) {
return request({
url: '/buscenter/v1/bussalesorder/fetchDetailsBySid/' + data,
method: 'get'
})
}
// 同意
export function complete(data) {
@ -69,27 +89,3 @@ export function breakProcess(data) {
}
})
}
// 模糊搜索客户
export function customerName(data) {
return request({
url: '/crm/v1/crmcustomertemp/listAll',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 获取下拉框option
export function typeValues(data) {
return request({
url: '/portal/v1/dictcommons/typeValues',
method: 'get',
params: data
// headers: {
// 'Content-Type':'multipart/form-data',
// }
})
}

229
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenhe.vue

@ -4,57 +4,62 @@
<button-bar view-title="出库审核" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{searchxianshitit }}
</el-button>
<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-item label="销售类型">
<el-select v-model="listQuery.params.paymentMethodKey" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in payType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="合同编号">
<el-input v-model="listQuery.params.contractNo" placeholder="请输入合同编号" clearable class="filter-item"/>
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="客户名称">
<el-select v-model="listQuery.params.name" class="addinputw" clearable filterable placeholder="请选择">
<el-option v-for="item in customerList" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applyName" placeholder="请输入申请人姓名" clearable class="filter-item"/>
<el-input v-model="listQuery.params.name" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="申请日期">
<div class="block">
<el-date-picker v-model="listQuery.params.applyDateStart" type="date" placeholder="选择日期" clearable></el-date-picker>
</div>
<label></label>
<div class="block">
<el-date-picker v-model="listQuery.params.applyDateEnd" type="date" placeholder="选择日期" clearable></el-date-picker>
</div>
<el-date-picker v-model="listQuery.params.applyDateStart" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" clearable></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.applyDateEnd" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" clearable></el-date-picker>
</el-form-item>
</el-form>
<div class="searchbtns">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<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="listcon">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" fit highlight-current-row style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50"/>
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" fit highlight-current-row style="width: 100%;">
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column fixed width="150px" label="操作" align="center">
<el-table-column fixed width="220px" label="操作" align="center">
<template slot-scope="scope">
<el-button size="small" :disabled="scope.row.nodeState == '已办结'" type="primary" @click="toEdit(scope.row)">办理
</el-button>
<el-button size="small" type="primary" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="180px" header-align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button v-show="scope.row.nodeState !== '已办结' && scope.row.nodeState !== '已终止'" size="small" type="primary" @click="handleCheck(scope.row)">办理</el-button>
<el-button size="small" type="primary" @click="handleLooK(scope.row)">查看</el-button>
</div>
<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">
<el-table-column label="单据编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
<span>{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="销售类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.paymentMethod }}</span>
</template>
</el-table-column>
<el-table-column label="合同编号" align="center">
@ -67,7 +72,17 @@
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center">
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column label="台数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
</template>
</el-table-column>
<el-table-column label="发起日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.applyDate }}</span>
</template>
@ -78,22 +93,28 @@
</template>
</el-table-column>
</el-table>
<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>
</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>
<chukushenqing-info v-show="viewState == 2" ref="divInfo" @doback="resetState" @reloadlist="getList"/>
<chukushenheInfo v-show="viewState == 3" ref="divLook" @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 { listExaminePage, customerName } from '@/api/examinePage/chukushenhe'
import { setuser } from '@/utils/baocun'
import { listExaminePage } from '@/api/examinePage/chukushenhe'
import { typeValues } from '@/api/cheliang/dictcommons'
import { getStorage } from '@/utils/auth'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import chukushenqingInfo from './chukushenheTodo'
@ -111,6 +132,9 @@ export default {
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
viewTitle: '',
//
@ -119,12 +143,10 @@ export default {
viewState: 1, // 1 2
// -----------
tableKey: 0,
customerList: [],
list: [],
sids: [], // SIDs
payType: [],
FormLoading: false,
listLoading: false,
typeList: [], //
//
listQuery: {
current: 1,
@ -134,9 +156,11 @@ export default {
applyDateEnd: '', //
applyDateStart: '', //
applyName: '', //
staffSid: '', // sid
applySid: '', // sid
contractNo: '', //
name: '' //
name: '', //
paymentMethodKey: '',
orgPath: ''
}
},
btnList: [
@ -155,13 +179,48 @@ export default {
this.init()
},
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.init()
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: 'purchaseType' }).then((res) => {
if (res.success) {
this.payType = res.data
}
})
this.getList()
this.getCustomer()
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
@ -173,15 +232,6 @@ export default {
break
}
},
//
getCustomer() {
customerName({ staffSid: window.sessionStorage.getItem('staffSid') }).then((response) => {
if (response.code === '200') {
this.customerList = response.data
console.log('客户列表', this.customerList)
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
@ -202,18 +252,6 @@ export default {
this.searchxianshitit = '显示查询条件'
}
},
// sid
handleSelectionChange(row) {
console.log('开票', row)
const aa = []
const bb = []
row.forEach((element) => {
aa.push(element.sid)
setuser(this.sids) // sids
})
this.sids = aa
console.log('sids数组', this.sids)
},
//
handleFilter() {
this.listQuery.current = 1
@ -229,9 +267,11 @@ export default {
applyDateEnd: '', //
applyDateStart: '', //
applyName: '', //
staffSid: '', // sid
applySid: '', // sid
contractNo: '', //
name: '' //
name: '', //
paymentMethodKey: '',
orgPath: ''
}
}
this.getList()
@ -240,16 +280,11 @@ export default {
//
getList() {
this.listLoading = true
this.listQuery.params.staffSid = window.sessionStorage.getItem('staffSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
listExaminePage(this.listQuery).then((response) => {
//
this.listLoading = false
console.log(response)
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
@ -259,11 +294,11 @@ export default {
})
},
//
handleCheck(row) {
toEdit(row) {
this.viewState = 2
this.$refs['divInfo'].showInfo(row.sid)
},
handleLooK(row) {
toInfo(row) {
this.viewState = 3
this.$refs['divLook'].showInfo(row.sid)
},
@ -277,52 +312,4 @@ export default {
</script>
<style scoped>
.block {
display: inline-block;
}
label {
padding: 0 6px;
}
.searchbtns {
margin: 10px 0;
text-align: center;
}
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

464
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheInfo.vue

@ -8,155 +8,247 @@
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
出库申请
<div class="times">
<div>
<span>合同编号</span><span>{{ temp.contractNo }}</span>
</div>
<div>
<span>申请日期</span><span>{{ temp.applyDate }}</span>
</div>
</div>
</div>
<el-row class="nothingBorder">
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">客户名称</span></el-form-item>
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</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.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</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.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</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 v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
><span slot="label">是否为终端客户</span></el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item> <!-- -->
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
<el-col :span="2"/>
</el-row>
<el-row>
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">车型</span></el-form-item>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<span>{{ temp.modelName }}</span>
</el-form-item>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</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.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">实际购车人</div>
<el-form-item><span class="addinputInfo">{{ formobj.type }}</span></el-form-item>
</el-col>
<el-col :span="12"/>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">车辆信息</div>
<div class="title">
<div>车辆信息</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLookByDingDan()">查看销售订单</el-button>
</div>
</div>
<!--@selection-change="handleSelectionChange"-->
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit>
<!-- <el-table-column type="selection" align="center" width="50"/>-->
<el-table-column align="center" label="序号" type="index" width="50"/>
<el-table-column label="车架号" align="center">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="实际购车人" align="center" width="120">
<template slot-scope="scope">
<el-button v-show="scope.row.isExist == '1'" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<span v-show="temp.isTerminal == 0 && scope.row.isExist == '0'"></span>
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="left">
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="款、票情况" align="center" width="120">
<template slot-scope="scope">
<span class="bluezi" @click="lookPayment(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
<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-form>
</div>
</div>
<user-info-look v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<guacheInfo v-show="viewState == 3" ref="divCheInfo" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 4" ref="divZhuangInfo" @doback="resetState"/>
<xiaoshoudingdanInfo v-show="viewState == 5" ref="divInfo" @doback="resetState"/>
<paymentticket v-show="viewState == 6" ref="divPaymentInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid } from '@/api/examinePage/chukushenhe'
import { getRetrievalApplyInfo, trailerList } from '@/api/examinePage/chukushenhe'
import userInfoLook from './relation/userInfoLook'
import guacheInfo from './relation/guacheInfo'
import shangzhuangInfo from './relation/shangzhuangInfo'
import xiaoshoudingdanInfo from './relation/xiaoshoudingdanInfo'
import paymentticket from './relation/paymentticket'
export default {
name: 'chukushenheInfo',
name: 'chukushenqingInfo',
components: {
userInfoLook
userInfoLook,
guacheInfo,
shangzhuangInfo,
xiaoshoudingdanInfo,
paymentticket
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
disabled: false, //
createBtn: false,
dialogStatus: 'add', //
// ---------
viewState: 1,
// ===
listLoading: false,
list: [],
temp: {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
}, //
detailsList: [
{
price: '', //
remarks: '', //
vinNo: '', //
useMessage: {}
}
],
sids: [],
vinNo_info: '',
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
rules: {}
}
},
created() {
//
this.init()
},
methods: {
// ------------ ------------
init() {
this.temp = {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
sid: '',
applyDate: '', //
detailsList: [],
isUse: false
}
},
resetState() {
this.viewState = 1
},
@ -164,95 +256,131 @@ export default {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
fetchDetailsBySid({ sid: sid }).then((response) => {
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((response) => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.detailsList = response.data.listVo
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
}
if (this.detailsList[i].useMessage.vinNo == '') {
this.detailsList[i].isExist = '0'
}
this.formobj = response.data
}
})
},
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 3
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 4
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
this.temp = JSON.parse(JSON.stringify(this.temp).replace(/listVo/g, 'detailsList'))
console.log('isTerminal', this.temp.isTerminal)
}
})
},
//
lookUserInfo(vinNo) {
lookUser(row) {
this.viewState = 2
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo == vinNo) {
let useMessage = {}
useMessage = this.detailsList[i].useMessage
this.$refs['divUserInfo'].showInfo(useMessage, vinNo)
}
}
this.$refs['divUserInfo'].showInfo(this.formobj.contractId, row)
},
//
handleLookByDingDan() {
this.viewState = 5
this.$refs['divInfo'].showInfo({ sid: this.formobj.busSalesOrderSid })
},
//
lookPayment(row) {
this.viewState = 6
this.$refs['divPaymentInfo'].showInfo(this.formobj.contractId, row)
},
// ------------ ------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
handleReturn() {
this.$refs['dataForm'].resetFields()
this.formobj = {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
justify-content: space-between;
align-items: center;
}
.formadd /deep/ .el-row {
border: 0;
.span-sty {
width: 120px !important;
}
.formadd /deep/ .el-col {
border: 0;
.addinputInfo {
margin-left: 110px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
.titcon {
border: 1px solid #e0e3eb;
}
.titcon,
.title {
background-color: white;
color: black;
}
.formadd {
padding: 20px 0;
}
.formadd .tit {
font-size: 32px;
border-bottom: 1px solid #e0e3eb;
text-align: center;
margin: 0 0 20px 0;
padding: 20px 0;
}
.formadd .el-row .el-col {
padding: 0 !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

448
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheTodo.vue

@ -4,165 +4,255 @@
<div class="tab-header webtop">
<div>出库申请详情</div>
<div>
<el-button type="primary" size="small" :disabled="disabled" @click="handleAgree()">同意</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleReject()">驳回</el-button>
<el-button type="primary" size="small" :disabled="createBtn" @click="handleAgree()">同意</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleDisagree()">不同意</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
出库申请
<div class="times">
<div>
<span>合同编号</span><span>{{ temp.contractNo }}</span>
</div>
<div>
<span>申请日期</span><span>{{ temp.applyDate }}</span>
</div>
</div>
</div>
<el-row class="nothingBorder">
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">客户名称</span></el-form-item>
<div class="titwu">出库申请</div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发起部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyDept }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发起人</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcApplyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发起日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</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.staffDeptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</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.contractId }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</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 v-if="formobj.paymentMethodKey == '2'">
<el-col :span="12">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanMobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
{{ temp.name }}
</el-form-item>
<el-col :span="8">
<div class="span-sty">单车中介费1</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
><span slot="label">是否为终端客户</span></el-form-item>
<el-col :span="8">
<div class="span-sty">中介服务费1合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceAll }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item> <!-- -->
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单车中介费2</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">中介服务费2合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.pcDistributorPriceTwoAll }}</span></el-form-item>
</el-col>
<el-col :span="2"/>
</el-row>
<el-row>
<el-col :span="2"/>
<el-col :span="4">
<el-form-item><span slot="label">车型</span></el-form-item>
<el-col :span="8">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.modelName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<span>{{ temp.modelName }}</span>
</el-form-item>
<el-col :span="8">
<div class="span-sty">实际购车人</div>
<el-form-item><span class="addinputInfo">{{ formobj.type }}</span></el-form-item>
</el-col>
<el-col :span="12"/>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">车辆信息</div>
<div class="title">
<div>车辆信息</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLookByDingDan()">查看销售订单</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="detailsList" border style="width: 100%" :index="index" fit>
<el-table-column align="center" label="序号" type="index" width="50"/>
<el-table-column label="车架号" align="center">
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.carList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="车架号" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.realBuyer.vin }}</span>
</template>
</el-table-column>
<el-table-column label="挂车/上装" align="center" width="100">
<template slot-scope="scope">
<span v-show="scope.row.showHandCarBtn" class="bluezi" @click="handleLook(scope.row)">查看</span>
</template>
</el-table-column>
<el-table-column label="实际购车人" align="center" width="120">
<template slot-scope="scope">
<span v-if="formobj.typeKey == '2'" class="bluezi" @click="lookUser(scope.row.realBuyer)">{{ scope.row.realBuyer.name }}</span>
<span v-else>{{ scope.row.realBuyer.name }}</span>
</template>
</el-table-column>
<el-table-column label="实际购车人联系电话" align="center" width="170">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span>{{ scope.row.realBuyer.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="成交价" align="center">
<el-table-column label="赠送套餐" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
<span>{{ price(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="使用人信息" align="center">
<el-table-column label="销售折让" align="center" width="120">
<template slot-scope="scope">
<el-button v-show="scope.row.isExist == '1'" size="medium" type="primary" @click="lookUserInfo(scope.row.vinNo)" class="btntopbluebut">查看
</el-button>
<span v-show="temp.isTerminal == 0 && scope.row.isExist == '0'"></span>
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<el-table-column label="备注" align="center" min-width="200">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
<span>{{ remarks(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="款、票情况" align="center" width="120">
<template slot-scope="scope">
<span class="bluezi" @click="lookPayment(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
<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-form>
</div>
</div>
<user-info-look v-show="viewState == 2" ref="divUserInfo" @doback="resetState"/>
<guacheInfo v-show="viewState == 3" ref="divCheInfo" @doback="resetState"/>
<shangzhuangInfo v-show="viewState == 4" ref="divZhuangInfo" @doback="resetState"/>
<xiaoshoudingdanInfo v-show="viewState == 5" ref="divInfo" @doback="resetState"/>
<paymentticket v-show="viewState == 6" ref="divPaymentInfo" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid, reject, complete, breakProcess } from '@/api/examinePage/chukushenhe'
import { getRetrievalApplyInfo, trailerList, reject, complete, breakProcess } from '@/api/examinePage/chukushenhe'
import userInfoLook from './relation/userInfoLook'
import guacheInfo from './relation/guacheInfo'
import shangzhuangInfo from './relation/shangzhuangInfo'
import xiaoshoudingdanInfo from './relation/xiaoshoudingdanInfo'
import paymentticket from './relation/paymentticket'
export default {
name: 'chukushenheTodo',
components: {
userInfoLook
userInfoLook,
guacheInfo,
shangzhuangInfo,
xiaoshoudingdanInfo,
paymentticket
},
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
disabled: false, //
createBtn: false,
dialogStatus: 'add', //
// ---------
viewState: 1,
// ===
listLoading: false,
list: [],
temp: {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
disabled: false, //
formobj: {
carList: [],
configSid: '',
contractId: '',
createTime: '',
customerSid: '',
loanMobile: '',
loanName: '',
loanSid: '',
mobile: '',
modelName: '',
modelSid: '',
name: '',
orgPath: '',
paymentMethod: '',
paymentMethodKey: '',
pcApplyDept: '',
pcApplyDeptSid: '',
pcApplyName: '',
pcApplySid: '',
pcDistributorName: '',
pcDistributorNameTwo: '',
pcDistributorPrice: '',
pcDistributorPriceAll: '',
pcDistributorPriceTwo: '',
pcDistributorPriceTwoAll: '',
price: '',
procInstId: '',
remarks: '',
sid: '',
applyDate: '', //
detailsList: []
}, //
detailsList: [
{
price: '', //
remarks: '', //
vinNo: '', //
useMessage: {}
}
],
sids: [],
vinNo_info: '',
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid')
staffDeptName: '',
staffDeptSid: '',
staffName: '',
pcStaffSid: '',
taskId: '',
type: '',
typeKey: '',
userSid: '',
discountLeave: []
},
arguments: {
list: [],
userSid: '',
orgPath: '',
contractId: '',
outboundSid: '',
pcView: true
},
rules: {}
// ------------------------------------
}
},
created() {
//
this.init()
},
methods: {
// ------------ ------------
init() {
this.temp = {
applyName: window.sessionStorage.getItem('name'), //
applySid: window.sessionStorage.getItem('staffSid'), // sid staffSid
contractNo: '', //
isTerminal: 3, // 10
modelName: '', //
name: '', //
sid: '',
applyDate: '', //
detailsList: [],
isUse: false
}
},
resetState() {
this.viewState = 1
},
@ -170,36 +260,61 @@ export default {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
fetchDetailsBySid({ sid: sid }).then((response) => {
this.arguments.outboundSid = sid
getRetrievalApplyInfo(this.arguments).then((response) => {
if (response.success) {
this.temp = response.data
this.temp.sid = sid
this.detailsList = response.data.listVo
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1'
}
if (this.detailsList[i].useMessage.vinNo == '') {
this.detailsList[i].isExist = '0'
}
this.formobj = response.data
}
})
},
// --
price(row) {
var aa = 0
for (var i = 0; i < row.discountUse.length; i++) {
aa = parseInt(aa) + (parseInt(row.discountUse[i].discountPrice) * parseInt(row.discountUse[i].discountNum))
}
return aa
},
// -- +
remarks(row) {
var aa = ''
for (var i = 0; i < row.discountUse.length; i++) {
if (row.discountUse[i].discountNum !== 0) {
aa = aa + row.discountUse[i].discountInfo + 'X' + row.discountUse[i].discountNum + ','
}
}
if (aa !== '') {
aa = aa.substring(0, aa.lastIndexOf(','))
}
return aa
},
//
handleLookByDingDan() {
this.viewState = 5
this.$refs['divInfo'].showInfo({ sid: this.formobj.busSalesOrderSid })
},
//
lookPayment(row) {
this.viewState = 6
this.$refs['divPaymentInfo'].showInfo(this.formobj.contractId, row)
},
handleLook(row) {
trailerList({ contractNo: this.formobj.contractId, vinSid: row.vinSid }).then((resp) => {
if (resp.success) {
if (resp.data.list.length > 0) {
this.viewState = 3
this.$refs['divCheInfo'].showInfo(resp.data)
} else {
this.viewState = 4
this.$refs['divZhuangInfo'].showInfo(resp.data)
}
this.temp = JSON.parse(
JSON.stringify(this.temp).replace(/listVo/g, 'detailsList')
)
console.log('isTerminal', this.temp.isTerminal)
}
})
},
//
lookUserInfo(vinNo) {
lookUser(row) {
this.viewState = 2
for (var i = 0; i < this.detailsList.length; i++) {
if (this.detailsList[i].vinNo == vinNo) {
let useMessage = {}
useMessage = this.detailsList[i].useMessage
this.$refs['divUserInfo'].showInfo(useMessage, vinNo)
}
}
this.$refs['divUserInfo'].showInfo(this.formobj.contractId, row)
},
handleReject() {
this.$prompt('请输入驳回原因', '提示', {
@ -208,12 +323,12 @@ export default {
}).then(({ value }) => {
if (value) {
const info = {
businessSid: this.temp.sid,
businessSid: this.formobj.sid,
comment: value,
instanceId: this.temp.procInstId,
taskId: this.temp.taskId,
instanceId: this.formobj.procInstId,
taskId: this.formobj.taskId,
orgSidPath: window.sessionStorage.getItem('orgSidPath'),
taskDefKey: this.temp.taskDefKey,
taskDefKey: this.formobj.taskDefKey,
userSid: window.sessionStorage.getItem('userSid')
}
reject(info).then((response) => {
@ -239,12 +354,12 @@ export default {
type: 'warning'
}).then(() => {
const info = {
businessSid: this.temp.sid,
businessSid: this.formobj.sid,
comment: '同意',
instanceId: this.temp.procInstId,
taskId: this.temp.taskId,
instanceId: this.formobj.procInstId,
taskId: this.formobj.taskId,
orgSidPath: window.sessionStorage.getItem('orgSidPath'),
taskDefKey: this.temp.taskDefKey,
taskDefKey: this.formobj.taskDefKey,
userSid: window.sessionStorage.getItem('userSid')
}
complete(info).then((response) => {
@ -261,12 +376,12 @@ export default {
}).then(({ value }) => {
if (value) {
const info = {
businessSid: this.temp.sid,
businessSid: this.formobj.sid,
comment: value,
instanceId: this.temp.procInstId,
taskId: this.temp.taskId,
instanceId: this.formobj.procInstId,
taskId: this.formobj.taskId,
orgSidPath: window.sessionStorage.getItem('orgSidPath'),
taskDefKey: this.temp.taskDefKey,
taskDefKey: this.formobj.taskDefKey,
userSid: window.sessionStorage.getItem('userSid')
}
breakProcess(info).then((response) => {
@ -294,56 +409,25 @@ export default {
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
.formadd /deep/ .el-row {
border: 0;
}
.formadd /deep/ .el-col {
border: 0;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.titcon {
border: 1px solid #e0e3eb;
justify-content: space-between;
align-items: center;
}
.titcon,
.title {
background-color: white;
color: black;
.span-sty {
width: 120px !important;
}
.formadd {
padding: 20px 0;
.addinputInfo {
margin-left: 110px !important;
}
.formadd .tit {
font-size: 32px;
border-bottom: 1px solid #e0e3eb;
text-align: center;
margin: 0 0 20px 0;
padding: 20px 0;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
.formadd .el-row .el-col {
padding: 0 !important;
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

332
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/financialscheme.vue

@ -0,0 +1,332 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" icon="el-icon-close" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="130px" class="formaddcopy02">
<div v-if="formobj.typeKey !== '02'">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">资方及产品政策</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">融资项目</div>
<el-form-item>
<div class="addinputInfo">
<span>主车发票价{{ formobj.mainVehicleAmount }}</span>
<span>融资票据{{ formobj.accessoriesAmount }}</span>
<span>挂车{{ formobj.trailerAmount }} </span>
<span>购置税{{ formobj.purchaseTax }} </span>
<span>车损上浮{{ formobj.vehDamageFloat }} </span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="span-sty">融资项目总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">首付比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">贷款保证金比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">厂家贴息</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPayMoney }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanInterest }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">厂家贴息用途</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscountUse }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.otherPolicyState">
<div class="title">其它融</div>
<el-row>
<el-col :span="12">
<div class="span-sty">其它融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyMonthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyInterest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">方案汇总</div>
<el-row>
<el-col :span="12">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanDownPay }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">总贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmountTotal }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.monthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.interest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">预计首款还款日</div>
<el-form-item><span class="addinputInfo">{{ formobj.returnTime }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">应收明细</div>
<el-row>
<el-col :span="6">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保险保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">落户保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">代收意外险</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyAccidentPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">上牌费</div>
<el-form-item><span class="addinputInfo">{{ formobj.registerAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">运管费</div>
<el-form-item><span class="addinputInfo">{{ formobj.operationAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">补车价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehOtherPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">其它费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmountRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">办理方式选择</div>
<el-form-item><span class="addinputInfo">{{ formobj.dealWay }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPurchasetax }}</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.receivableTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">抵顶费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetTotal }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPurchasetax }}</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.realTotal }}</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.vehTotalPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">名义(留购)</div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="18">
<el-form-item><span class="addinputInfo">结清时需缴纳此费用</span></el-form-item>
</el-col>
</el-row>
</div>
<div v-if="formobj.typeKey == '02'">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">厂家贴息</div>
<el-form-item>
<span class="addinputInfo">{{ formobj.factoryDiscount }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">厂家贴息用途</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.factoryDiscountUse }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>服务费</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.serviceAmount }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'JinRongFangAnInfo',
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
formobj: {
otherPolicyState: false
}
}
},
methods: {
showInfo(value) {
this.viewTitle = '金融方案'
this.formobj = value
},
handleReturn() {
this.formobj = {
otherPolicyState: false
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !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>

258
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/guacheInfo.vue

@ -0,0 +1,258 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu"><span>挂车信息</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" 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>
<span>{{ formobj.vinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ formobj.modelName }}</span>
</el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.list" :key="index">
<div class="title">挂车{{ index + 1 }}</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>车架号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.trailerVinNo }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>成交价</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.dealPrice }}</span>
</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>
<span>{{ item.brandName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>车辆型号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.carModelName }}</span>
</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>
<span>{{ item.manufacturerName }}</span>
</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>
<span>{{ item.trailerTypeValue }}</span>
</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>
<span></span><span class="spanPadding">{{ item.appearanceSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.appearanceSizeHigh }}</span>mm,
<span>总高</span><span class="spanPadding">{{ item.appearanceSizeTotalHigh }}</span>mm
</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>
<span></span><span class="spanPadding">{{ item.insideSizeLong }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeWide }}</span>mm,
<span></span><span class="spanPadding">{{ item.insideSizeHigh }}</span>mm
</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>
<span class="spanPadding">{{ item.saddleLeaveLandHigh }}</span>mm
</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>
<span>高度</span><span class="spanPadding">{{ item.girderSizeHigh }}</span>mm,
<span>宽度</span><span class="spanPadding">{{ item.girderSizeWide }}</span>mm,
<span>立板</span><span class="spanPadding">{{ item.girderSizeStandPlate }}</span>mm
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb" style="display: flex;justify-content: flex-end;align-items: center">
<span>底盘部分</span>
</el-col>
<el-col :span="20" style="padding: 0">
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>牵引销</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.towPin }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>板簧</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.plateSpring }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>车桥</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.axle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center">
<span>轮胎及钢圈</span>
</el-col>
<el-col :span="20" style="border-right: 0">
<el-form-item>
<span>{{ item.tyreAndSteelCircle }}</span>
</el-form-item>
</el-col>
<el-col :span="4" style="display: flex;justify-content: center;align-items: center;border-bottom: 0">
<span>底板</span>
</el-col>
<el-col :span="20" style="border-right: 0;border-bottom: 0">
<el-form-item>
<span class="spanPadding">{{ item.floorSize }}</span>mm
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>门扇要求</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.doorFanRequirement }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>箱体颜色</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ item.boxColor }}</span>
</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>
<span>{{ item.moreConfig }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
export default {
name: 'GuaCheInfo',
data() {
return {
viewTitle: '',
formobj: {
vinNo: '',
modelName: '',
list: []
},
rules: {},
submitdisabled: false
}
},
methods: {
showInfo(data) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '挂车详情'
this.formobj = data
},
handleReturn() {
this.formobj = {
vinNo: '',
modelName: '',
list: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.spanPadding {
padding: 0 5px;
}
</style>

244
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/paymentticket.vue

@ -0,0 +1,244 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>款票详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02" :rules="rules">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">销售类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.paymentMethod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.contractNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</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.modelName }}</span></el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="title">
<div>款项情况(平台收款)</div>
</div>
<el-table :key="tableKey" v-loading="listLoading" ref="multipleTable" :data="formobj.finSelectVoList" border style="width: 100%" :index="index">
<el-table-column fixed align="center" label="序号" type="index" :index="index + 1" width="60"/>
<el-table-column label="款项名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.receivablesName }}</span>
</template>
</el-table-column>
<el-table-column label="应收金额" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.reveivableMoney }}</span>
</template>
</el-table-column>
<el-table-column label="已收款" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.subscriptionMoneyAll }}</span>
</template>
</el-table-column>
<el-table-column label="未收款" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.notSubscriptionMoney }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.remark }}</span>
</template>
</el-table-column>
</el-table>
<div class="title">发票情况</div>
<el-row>
<el-col :span="16">
<div class="span-sty">开票名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoicingName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">税号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceNo }}</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">{{ formobj.vinInvoiceVo.address }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.telPhone }}</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">{{ formobj.vinInvoiceVo.openingBank }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">银行账号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.bankNum }}</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">{{ formobj.vinInvoiceVo.invoiceTitle }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceType }}</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.vinInvoiceVo.billingState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceAmount }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.invoiceDate }}</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.vinInvoiceVo.transferState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">接收人</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.recipient }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">移交日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinInvoiceVo.transferTime }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { deliveredFinSelect } from '@/api/examinePage/chukushenhe'
export default {
name: 'PaymentTicket',
data() {
return {
tableKey: 0,
index: 0,
// ---------
listLoading: false,
formobj: {
vinNo: '',
paymentMethod: '',
contractNo: '',
customerName: '',
modelName: '',
finSelectVoList: [],
vinInvoiceVo: {
invoicingName: '',
invoiceNo: '',
invoiceTitle: '',
invoiceType: '',
billingState: '',
invoiceAmount: '',
invoiceDate: '',
transferState: '',
address: '',
telPhone: '',
openingBank: '',
bankNum: '',
recipient: '',
transferTime: ''
}
},
rules: {}
}
},
methods: {
// ------------ ------------
showInfo(contractId, row) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
deliveredFinSelect({ contractNo: contractId, vinSid: row.vinSid }).then((response) => {
if (response.success) {
console.log(response.data)
this.formobj = response.data
}
})
},
// ------------ ------------
//
handleReturn() {
this.$refs['dataForm'].resetFields()
this.formobj = {
vinNo: '',
paymentMethod: '',
contractNo: '',
customerName: '',
modelName: '',
finSelectVoList: [],
vinInvoiceVo: {
invoicingName: '',
invoiceNo: '',
invoiceTitle: '',
invoiceType: '',
billingState: '',
invoiceAmount: '',
invoiceDate: '',
transferState: '',
address: '',
telPhone: '',
openingBank: '',
bankNum: '',
recipient: '',
transferTime: ''
}
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 120px !important;
}
.addinputInfo {
margin-left: 110px !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

153
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/shangzhuangInfo.vue

@ -0,0 +1,153 @@
<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>
<div class="listconadd">
<div class="titwu"><span>上装配置信息</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>主车车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.modelName }}</span></el-form-item>
</el-col>
</el-row>
<div v-for="(item, index) in formobj.vehillModelList" :key="index">
<div class="title">上装{{ index + 1 }}</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>成交价</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.topPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.vehicleTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>上装名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.installNameValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>委改方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitMethodValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>供应商</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refitFactory }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>货箱内部尺寸</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.wk_long }}</span>mm,
<span class="inputStyle">{{ item.wk_wide }}</span>mm,
<span class="inputStyle">{{ item.wk_high }}</span>mm
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>颜色</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.colorValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材材质</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.plateMaterialValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>板材厚度</span></div>
<el-form-item>
<div class="addinputInfo addinputwOne">
<span class="inputStyle">{{ item.plateThicknessBottom }}</span>mm,
<span class="inputStyle">{{ item.plateThicknessEdge }}</span>mm
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>篷布滑道</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.tarpaulinSlide }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>冷藏冷机</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.refrigerator }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>自卸液压盖板</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.selfUnHyCoPl }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>底板加热</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.floorHeating }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>更多配置</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ item.moreConfig }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'ShangZhuangInfo',
data() {
return {
formobj: {
modelName: '',
vinNo: '',
vehillModelList: []
}
}
},
methods: {
handleReturn() {
this.formobj = {
modelName: '',
vinNo: '',
vehillModelList: []
}
this.$emit('doback')
},
showInfo(data) {
this.formobj = data
}
}
}
</script>
<style scoped>
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 110px !important;
}
.inputStyle {
display: inline-block;
margin: 0 5px;
}
</style>

211
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/userInfoLook.vue

@ -1,178 +1,139 @@
<template>
<div class="app-container">
<div v-show="visible">
<div>
<div class="tab-header webtop">
<div>录入使用人信息</div>
<!-- <div v-else></div> -->
<div>实际购车人信息</div>
<div>
<!-- <el-button type="primary" size="small" :disabled="createBtn" @click="handleCreate()">保存</el-button>-->
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="tempUserLook" :rules="rules" label-position="right"
class="formadd">
<div class="tit">录入使用人信息</div>
<el-row>
<el-col :span="4" class="topBor">
<span>合同编号</span>
<div class="titwu">实际购车人信息</div>
<el-form ref="dataForm" :model="tempUserLook" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>客户类型</span>
</el-col>
<el-col :span="10" class="topBor">
<el-form-item prop="contractNo">
<span>{{ tempUserLook.contractNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.customerType }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>车架号</span>
<el-col :span="4" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="10">
<el-form-item prop="vinNo">
<span>{{ tempUserLook.vinNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>客户名称</span>
<el-row v-show="tempUserLook.customerTypeKey == '2'">
<el-col :span="4" class="tleftb">
<span>联系人</span>
</el-col>
<el-col :span="10">
<el-form-item prop="name">
<span>{{ tempUserLook.name }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.contacts }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-col :span="4" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="10">
<el-form-item prop="mobile">
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.mobile }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-col :span="4" class="tleftb">
<span>证件号码</span>
</el-col>
<el-col :span="10">
<el-form-item prop="idNo">
<span>{{ tempUserLook.idNo }}</span>
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.idNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>联系地址</span>
<el-col :span="4" class="tleftb">
<span>通讯地址</span>
</el-col>
<el-col :span="10">
<el-form-item prop="address">
<el-col :span="20">
<el-form-item>
<span>{{ tempUserLook.address }}</span>
</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>
<span>{{ tempUserLook.vin }}</span>
</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>
<span>{{ tempUserLook.contractNo }}</span>
</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>
<span>{{ tempUserLook.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
export default {
name: 'userInfoLook',
components: {},
data() {
return {
viewTitle: '',
index: 0,
disabled: false, //
createBtn: false,
// ---------
visible: true,
listLoading: false,
tempUserLook: {},
rules: {},
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
},
methods: {
// ------------ ------------
//
resetTemp() {
},
init() {
},
showInfo(useMessage, vinNo) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
});
console.log('详情拿到的信息', useMessage)
this.tempUserLook = useMessage
},
// ------------ ------------
//
handleReturn() {
this.$emit('doback')
},
// ------------ ------------
export default {
name: 'userInfoLook',
components: {},
data() {
return {
viewTitle: '',
tempUserLook: {},
rules: {}
}
},
methods: {
showInfo(contractNo, useMessage) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
console.log('详情拿到的信息', useMessage)
this.tempUserLook = useMessage
this.tempUserLook.contractNo = contractNo
},
//
handleReturn() {
this.tempUserLook = {}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.tit {
margin: 45px 0 66px 0;
padding: 10px 0 0 0;
border: 0;
}
/deep/ .el-row {
display: flex;
justify-content: center;
border-left: 0;
}
.topBor {
border-top: 1px solid #e0e3eb;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
border-left: 1px solid #e0e3eb;
}
.formadd .tit {
font-size: 32px;
text-align: center;
margin: 0 0 20px 0;
padding: 20px 0;
}
</style>

522
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/relation/xiaoshoudingdanInfo.vue

@ -0,0 +1,522 @@
<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" icon="el-icon-close" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">销售订单</div>
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="130px" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8" class="tlineheightb">
<div class="span-sty">订单编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.concatNo }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<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" class="tlineheightb">
<div class="span-sty">销售机构</div>
<el-form-item><span class="addinputInfo">{{ formobj.useOrgName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.orgName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">销售专员</div>
<el-form-item><span class="addinputInfo">{{ formobj.staffName }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">客户信息</div>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">客户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">挂靠公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.affiliatedCompany }}</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.payType }} {{ formobj.financePlanValue }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">开票类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.billingType }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">是否包牌</div>
<el-form-item><span class="addinputInfo">{{ formobj.licensePlateValue }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">车型信息</div>
<el-row>
<el-col :span="24" class="tlineheightb">
<el-form-item><span class="addinputInfo" style="margin-left: 0px !important;">{{ formobj.busSalesOrderModel.modelConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">常用配置</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.config }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">更多配置</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.moreConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">特殊配置说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.specialConfig }}</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.busSalesOrderModel.publicModel }}</span></el-form-item>
</el-col>
<el-col :span="16" class="tlineheightb">
<el-form-item><span class="addinputInfo" style="margin-left: 0px !important;">{{ formobj.busSalesOrderModel.publicModelSon }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.busSalesOrderMakeup.topMessage !== ''">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">上装</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topMessage }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '1'">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.vinNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '2'">
<el-col :span="24" class="tlineheightb">
<div class="span-sty">采购订单编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.linkNo }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-if="formobj.type == '3'">
<el-col :span="24">
<div class="span-sty">需采购</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.quantity }}</span></el-form-item>
</el-col>
</el-row>
<!-- <div class="title">挂车信息</div>-->
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item><span></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.busSalesOrderPrice.singleGuildPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">主车单台成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.finalPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单台整体成交价</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.singleFinalPrice }}</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.busSalesOrderPrice.bigDecimalSing }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">台数</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.quantity }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车价合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.priceSum }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">计划提车日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.plannedPickUpDate }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">预计提车地点</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">保险说明</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.insuranceInfo }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">订金信息</div>
<el-row>
<el-col :span="12">
<div class="span-sty">单台订金</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.deposit }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">订金合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.depositAll }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">订金缴纳方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.depositType }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">需补交订金</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderDeposit.makeUpDeposit }}</span></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: 178px;height: 178px;" v-for="(item,index) in formobj.busSalesOrderDeposit.paymentConfirmation" :key="index" :src="item" :preview-src-list="formobj.busSalesOrderDeposit.paymentConfirmation"></el-image></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.busSalesOrderDeposit.depositRemarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title" v-if="formobj.busSalesOrderDiscountList.length > 0">优惠套餐</div>
<el-table v-if="formobj.busSalesOrderDiscountList.length > 0" :key="tableKey" :data="formobj.busSalesOrderDiscountList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column label="优惠名称" align="left" header-align="center">
<template slot-scope="scope">
{{ scope.row.name }}
</template>
</el-table-column>
<el-table-column label="价值" align="left" header-align="center">
<template slot-scope="scope">
{{ scope.row.price }}
</template>
</el-table-column>
<el-table-column label="优惠项目说明" header-align="center">
<template slot-scope="scope">
{{ scope.row.discountExplain }}
</template>
</el-table-column>
<el-table-column label="数量" header-align="center">
<template slot-scope="scope">
{{ scope.row.num }}
</template>
</el-table-column>
<el-table-column prop="totalValue" label="小计" header-align="center">
<template slot-scope="scope">
{{ scope.row.totalValue }}
</template>
</el-table-column>
</el-table>
<div v-show="formobj.finPlanState" class="jinrong">
<div>金融方案</div>
<div>
<el-button type="primary" size="mini" class="btntopblueline" @click="handleLook()">查看</el-button>
</div>
</div>
<div class="title">补充说明</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.notes }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item><el-image style="width: 178px;height: 178px;" v-for="(item,index) in formobj.images" :key="index" :src="item" :preview-src-list="formobj.images"></el-image></el-form-item>
</el-col>
</el-row>
<div class="title">其它信息</div>
<el-row>
<el-col :span="12">
<div class="span-sty">内部引荐人</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.name }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">返利备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">中介人1</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">单车中介服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">中介服务费合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">中介人2</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">单车中介服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">中介服务费合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<financialscheme ref="divInfo" v-show="viewState == 2" @doback="resetState"/>
</div>
</template>
<script>
import { fetchDetailsBySid } from '@/api/examinePage/chukushenhe'
import financialscheme from './financialscheme'
export default {
name: 'XiaoShouDingDanInfo',
components: {
financialscheme
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
affiliatedCompany: '',
affiliatedCompanySid: '',
billNo: '',
billingType: '',
billingTypeKey: '',
busDepositFictitiousList: [],
busSalesOrderDeposit: [],
busSalesOrderDiscountList: [],
busSalesOrderInsurance: [],
busSalesOrderMakeup: [],
busSalesOrderModel: [],
busSalesOrderPrice: [],
busSalesOrderVehicleList: [],
busSalesOrderotherMessageDetailsVo: [],
busSalesVehicleOrderList: [],
concatNo: '',
createDate: '',
customerName: '',
customerSid: '',
images: [],
insuranceInfo: '',
insuranceInfoMessage: '',
isInsurance: '',
isTop: '',
licensePlateKey: '',
licensePlateValue: '',
mobile: '',
nodeState: '',
notes: '',
orgName: '',
orgSid: '',
payType: '',
payTypeKey: '',
procInstId: '',
remarks: '',
staffName: '',
staffSid: '',
taskId: '',
type: '',
useOrgName: '',
useOrgSid: '',
finPlanState: false
}
}
},
methods: {
showInfo(row) {
this.viewTitle = '销售订单'
fetchDetailsBySid(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.busSalesOrderModel.linkNo.length > 0) {
this.formobj.busSalesOrderModel.linkNo = this.formobj.busSalesOrderModel.linkNo.join('、')
} else {
this.formobj.busSalesOrderModel.linkNo = ''
}
if (this.formobj.busSalesOrderModel.vinNo.length > 0) {
this.formobj.busSalesOrderModel.vinNo = this.formobj.busSalesOrderModel.vinNo.join('、')
} else {
this.formobj.busSalesOrderModel.vinNo = ''
}
}
})
},
handleLook() {
this.viewState = 2
this.$refs['divInfo'].showInfo(this.formobj.solutionsDetailsssVo)
},
//
getSummaries(param) {
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = ''
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'totalValue') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
} else {
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
this.amount = sums[index] += ''
} else {
sums[index] = ''
}
}
})
return sums
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
sid: '',
affiliatedCompany: '',
affiliatedCompanySid: '',
billNo: '',
billingType: '',
billingTypeKey: '',
busDepositFictitiousList: [],
busSalesOrderDeposit: [],
busSalesOrderDiscountList: [],
busSalesOrderInsurance: [],
busSalesOrderMakeup: [],
busSalesOrderModel: [],
busSalesOrderPrice: [],
busSalesOrderVehicleList: [],
busSalesOrderotherMessageDetailsVo: [],
busSalesVehicleOrderList: [],
concatNo: '',
createDate: '',
customerName: '',
customerSid: '',
images: [],
insuranceInfo: '',
insuranceInfoMessage: '',
isInsurance: '',
isTop: '',
licensePlateKey: '',
licensePlateValue: '',
mobile: '',
nodeState: '',
notes: '',
orgName: '',
orgSid: '',
payType: '',
payTypeKey: '',
procInstId: '',
remarks: '',
staffName: '',
staffSid: '',
taskId: '',
type: '',
useOrgName: '',
useOrgSid: '',
finPlanState: false
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.jinrong {
padding: 7px;
font-weight: bold;
font-size: 16px;
background-color: #0294d7;
text-align: left;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 1px;
}
.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>

4
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangDaiBanInfo.vue

@ -433,7 +433,7 @@ export default {
this.operation = val
this.currentLink = true
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
@ -447,7 +447,7 @@ export default {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey }).then((resp) => {
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppDeliveredDetailssQuery.java

@ -3,6 +3,7 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -14,7 +15,7 @@ import java.util.List;
public class AppDeliveredDetailssQuery {
@ApiModelProperty("车辆sid")
private List<String> list;
private List<String> list = new ArrayList<>();
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径")

Loading…
Cancel
Save