Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
djz236 3 years ago
parent
commit
2ebf0444e4
  1. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java
  3. 74
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePart.java
  4. 77
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartDetailsVo.java
  5. 77
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartDto.java
  6. 84
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartFeign.java
  7. 78
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartFeignFallback.java
  8. 56
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartQuery.java
  9. 64
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartVo.java
  10. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/ManPurOrderType.java
  11. 28
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleState.java
  12. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  13. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java
  14. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  15. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  16. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml
  17. 68
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartMapper.java
  18. 33
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartMapper.xml
  19. 107
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartRest.java
  20. 120
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartService.java
  21. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  22. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmcertstayinventory/ScmCertStayInventoryDto.java
  23. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmcertstayinventory/ScmCertStayInventoryVo.java
  24. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/AppScmVehicleGressionDto.java
  25. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/ScmVehicleGression.java
  26. 25
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/ScmVehicleGressionDto.java
  27. 246
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertinventory/ScmCertInventoryService.java
  28. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryMapper.java
  29. 75
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryMapper.xml
  30. 20
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryService.java
  31. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.xml
  32. 17
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  33. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java
  34. 303
      anrui-scm/anrui-scm-biz/src/main/resources/出门证.ftl
  35. 22
      anrui-scm/anrui-scm-ui/src/api/cheliang/basevehicle.js
  36. 9
      anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js
  37. 15
      anrui-scm/anrui-scm-ui/src/api/supplychain/hegezhengpandian.js
  38. 44
      anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js
  39. 285
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue
  40. 327
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheckAdd.vue
  41. 231
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheckInfo.vue
  42. 392
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue
  43. 206
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/bicyclerebatetobecheckedAdd.vue
  44. 205
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/bicyclerebatetobecheckedInfo.vue
  45. 277
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/yiheduidanchefanli.vue
  46. 286
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue
  47. 248
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue
  48. 146
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue
  49. 176
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliAdd.vue
  50. 165
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliInfo.vue
  51. 246
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliselect.vue
  52. 388
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue
  53. 278
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue
  54. 156
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue
  55. 335
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangpeijianchange/cheliangpeijian.vue
  56. 157
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  57. 16
      anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/cheliangneigouAdd.vue
  58. 122
      anrui-scm/anrui-scm-ui/src/views/supplychain/hegezhengpandianjilu/hegezhengpandianjilu.vue
  59. 137
      anrui-scm/anrui-scm-ui/src/views/supplychain/hegezhengpandianjilu/hegezhengpandianjiluAdd.vue
  60. 34
      anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAlready.vue
  61. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionService.java

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java

@ -34,5 +34,6 @@ public class BaseVehicleQuery implements Query {
private String location;
@ApiModelProperty(value = "库存状态")
private String vehicleState;
@ApiModelProperty(value = "合格证状态value")
private String certificateStateValue;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java

@ -100,4 +100,6 @@ public class BaseVehicleVo implements Vo {
private String guidedPrice;
@ApiModelProperty(value = "调车状态value")
private String witPinStateValue;
@ApiModelProperty(value = "合格证状态value")
private String certificateStateValue;
}

74
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePart.java

@ -0,0 +1,74 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePart.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePart <br/>
* Description: 车辆更换配件记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆更换配件记录", description = "车辆更换配件记录")
@TableName("base_veh_replace_part")
public class BaseVehReplacePart extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("来源车架号")
private String sourceVinNo; // 来源车架号
@ApiModelProperty("来源车辆sid")
private String sourceVehSid; // 来源车辆sid
@ApiModelProperty("配件名称")
private String partName; // 配件名称
@ApiModelProperty("安装至车架号")
private String installVinNo; // 安装至车架号
@ApiModelProperty("安装至车辆sid")
private String installSid; // 安装至车辆sid
@ApiModelProperty("费用")
private String money; // 费用
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
}

77
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartDetailsVo.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartVo.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo <br/>
* Description: 车辆更换配件记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆更换配件记录 视图数据详情", description = "车辆更换配件记录 视图数据详情")
public class BaseVehReplacePartDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("来源车架号")
private String sourceVinNo; // 来源车架号
@ApiModelProperty("来源车辆sid")
private String sourceVehSid; // 来源车辆sid
@ApiModelProperty("配件名称")
private String partName; // 配件名称
@ApiModelProperty("安装至车架号")
private String installVinNo; // 安装至车架号
@ApiModelProperty("安装至车辆sid")
private String installSid; // 安装至车辆sid
@ApiModelProperty("费用")
private String money; // 费用
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
}

77
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartDto.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartDto.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartDto <br/>
* Description: 车辆更换配件记录 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆更换配件记录 数据传输对象", description = "车辆更换配件记录 数据传输对象")
public class BaseVehReplacePartDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("来源车架号")
private String sourceVinNo; // 来源车架号
@ApiModelProperty("来源车辆sid")
private String sourceVehSid; // 来源车辆sid
@ApiModelProperty("配件名称")
private String partName; // 配件名称
@ApiModelProperty("安装至车架号")
private String installVinNo; // 安装至车架号
@ApiModelProperty("安装至车辆sid")
private String installSid; // 安装至车辆sid
@ApiModelProperty("费用")
private String money; // 费用
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
}

84
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartFeign.java

@ -0,0 +1,84 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartFeign.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartFeign <br/>
* Description: 车辆更换配件记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆更换配件记录rest")
@FeignClient(
contextId = "anrui-base-BaseVehReplacePart",
name = "anrui-base",
path = "v1/basevehreplacepart",
fallback = BaseVehReplacePartFeignFallback.class)
public interface BaseVehReplacePartFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<BaseVehReplacePartVo>> listPage(@RequestBody PagerQuery<BaseVehReplacePartQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody BaseVehReplacePartDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseVehReplacePartDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("获取安装至车架号和车辆sid")
@GetMapping("/fetchVinNoAndVehSid/{createOrgSid}")
@ResponseBody
public ResultBean<List<Map<String,String>>> fetchVinNoAndVehSid(@PathVariable("createOrgSid") String createOrgSid);
}

78
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartFeignFallback.java

@ -0,0 +1,78 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartFeignFallback <br/>
* Description: 车辆更换配件记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class BaseVehReplacePartFeignFallback implements BaseVehReplacePartFeign {
@Override
public ResultBean<PagerVo<BaseVehReplacePartVo>> listPage(PagerQuery<BaseVehReplacePartQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basevehreplacepart/listPage无法访问");
}
@Override
public ResultBean save(BaseVehReplacePartDto dto){
return ResultBean.fireFail().setMsg("接口anrui-base/basevehreplacepart/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-base/basevehreplacepart/delBySids无法访问");
}
@Override
public ResultBean<BaseVehReplacePartDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basevehreplacepart/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<List<Map<String, String>>> fetchVinNoAndVehSid(String createOrgSid) {
return null;
}
}

56
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartQuery.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartQuery.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartQuery <br/>
* Description: 车辆更换配件记录 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆更换配件记录 查询条件", description = "车辆更换配件记录 查询条件")
public class BaseVehReplacePartQuery implements Query {
@ApiModelProperty("来源车辆sid")
private String sourceVehSid; // 来源车辆sid
@ApiModelProperty("安装至车辆sid")
private String installSid; // 安装至车辆sid
}

64
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehreplacepart/BaseVehReplacePartVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basevehreplacepart;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartVo.java <br/>
* Class: com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo <br/>
* Description: 车辆更换配件记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆更换配件记录 视图数据对象", description = "车辆更换配件记录 视图数据对象")
public class BaseVehReplacePartVo implements Vo {
private String sid; // sid
@ApiModelProperty("来源车架号")
private String sourceVinNo; // 来源车架号
@ApiModelProperty("配件名称")
private String partName; // 配件名称
@ApiModelProperty("安装至车架号")
private String installVinNo; // 安装至车架号
@ApiModelProperty("费用")
private String money; // 费用
@ApiModelProperty("备注")
private String remarks; // 备注
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/ManPurOrderType.java

@ -14,15 +14,19 @@ public class ManPurOrderType {
/**
* 排产
*/
PC_ORDER("001", "排产"),
PC_ORDER("001", "厂家排产"),
/**
* 外采
*/
WC_ORDER("002", "外采"),
/**
* 内购
*/
TC_ORDER("003", "内购"),
/**
* 调车
*/
TC_ORDER("003", "调车");
NG_ORDER("004", "厂家调车");
/**
* code值
@ -44,4 +48,36 @@ public class ManPurOrderType {
this.remarks = remarks;
}
}
@Getter
public static enum ApplyType {
/**
* 排产
*/
PC_ORDER("001", "厂家排产"),
/**
* 外采
*/
TC_ORDER("004", "厂家调车");
/**
* code值
*/
private final String code;
/**
* 备注
*/
private final String remarks;
/**
* 构造器
*
* @param code code值
* @param remarks 备注
*/
private ApplyType(String code, String remarks) {
this.code = code;
this.remarks = remarks;
}
}
}

28
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleState.java

@ -135,12 +135,38 @@ public class VehicleState {
* 出库
*/
OUT_STOCK("0002", "出库"),
/**
* 采购退库中
*/
RETURNING_STOCK("0003", "采购退库中"),
/**
* 退库
*/
RETURN_STOCK("0004", "退库"),
ING_STOCK("0005", "在途");
/**
* 在途
*/
ING_STOCK("0005", "在途"),
/**
* 调出
*/
DC_STOCK("0006", "调出"),
/**
* 内销
*/
NX_STOCK("0007", "内销"),
/**
* 调入
*/
DR_STOCK("0008", "调入"),
/**
* 调出中
*/
DCZ_STOCK("0009", "调出中"),
/**
* 调回
*/
DH_STOCK("0010", "调回");
/**
* code值

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java

@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderListDto;
import com.yxt.anrui.base.biz.busvehicleapply.BusVehicleApplyService;
import com.yxt.anrui.base.biz.busvehicleorder.BusVehicleOrderService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.ManPurOrderType;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -232,7 +233,7 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
}
//推送采购订单的数据
//根据排产订单编号查询排产订单的sid及排产申请的车型的sid及具体的车型中的信息
if ("1".equals(baseManufactorSubscription.getApplyTypeKey())) {//厂家排产
if (ManPurOrderType.ApplyType.PC_ORDER.getCode().equals(baseManufactorSubscription.getApplyTypeKey())) {//厂家排产
BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyService.selectByApplyCode(baseManufactorSubscription.getProSchAppNo());
if (busVehicleApplyDetailsVo != null) {
List<BusVehicleOrderListDto> dtoList = new ArrayList<>();
@ -257,7 +258,7 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
busVehicleOrderService.saveVehicleOrder(dtoList);
}
} else if ("2".equals(baseManufactorSubscription.getApplyTypeKey())) {//厂家调车
} else if (ManPurOrderType.ApplyType.TC_ORDER.getCode().equals(baseManufactorSubscription.getApplyTypeKey())) {//厂家调车
BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyService.selectByApplyCode(baseManufactorSubscription.getProSchAppNo());
if (busVehicleApplyDetailsVo != null) {
//根据申请人查询分公司sid

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java

@ -356,8 +356,8 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
}
}
}
BaseManufacturerFinance baseManufacturerFinance = baseManufacturerFinanceService.selectByBaseManufacturerSid(sid);
baseManufacturerFinanceService.updateBySid(dto.getBaseManufacturerFinanceDto().toMap(), baseManufacturerFinance.getSid());
//BaseManufacturerFinance baseManufacturerFinance = baseManufacturerFinanceService.selectByBaseManufacturerSid(sid);
//baseManufacturerFinanceService.updateBySid(dto.getBaseManufacturerFinanceDto().toMap(), baseManufacturerFinance.getSid());
return rb.success().setMsg("修改成功");
}
}

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

@ -13,12 +13,15 @@
<!--分页列表-->
<select id="pagerList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleVo">
SELECT bv.*,
bvc.sid as vehModelConfigSid,
bvc.`guidedPrice`
bvc.sid AS vehModelConfigSid,
bvc.`guidedPrice`,
bvcf.certificateStateValue
FROM base_vehicle bv
LEFT JOIN base_vehmodel_config bvc
ON bv.`modelSid` = bvc.`modelSid`
AND bv.`modelConfigSid` = bvc.`configurationItemsSid` AND bvc.useOrgSid = bv.createOrgSid
LEFT JOIN base_vehicle_certificate bvcf
ON bv.`sid` = bvcf.`vehicleSid` AND bvcf.createOrgSid = bv.createOrgSid
<where>
${ew.sqlSegment}
</where>

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -134,6 +134,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(pagerQuery.getVehicleState())) {//库存状态
qw.eq("bv.vehicleState", pagerQuery.getVehicleState());
}
if (StringUtils.isNotBlank(pagerQuery.getCertificateStateValue())) {//合格证状态value
qw.eq("bvcf.certificateStateValue", pagerQuery.getCertificateStateValue());
}
//qw.orderByDesc("bv.createTime");
}
return qw;

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml

@ -216,6 +216,7 @@
AND (
bvc.transferStateKey = "002"
OR bvc.transferStateKey = "003"
OR bvc.transferStateKey = "001"
)
</select>
</mapper>

68
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartMapper.java

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basevehreplacepart;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePart;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartMapper.java <br/>
* Class: com.yxt.anrui.base.biz.basevehreplacepart.BaseVehReplacePartMapper <br/>
* Description: 车辆更换配件记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface BaseVehReplacePartMapper extends BaseMapper<BaseVehReplacePart> {
//@Update("update base_veh_replace_part set name=#{msg} where id=#{id}")
//IPage<BaseVehReplacePartVo> voPage(IPage<BaseVehReplacePart> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehReplacePart> qw);
IPage<BaseVehReplacePartVo> selectPageVo(IPage<BaseVehReplacePart> page, @Param(Constants.WRAPPER) Wrapper<BaseVehReplacePart> qw);
List<BaseVehReplacePartVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BaseVehReplacePart> qw);
@Select("select * from base_veh_replace_part")
List<BaseVehReplacePartVo> selectListVo();
List<Map<String, String>> fetchVinNoAndVehSid(String createOrgSid);
}

33
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartMapper.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.base.biz.basevehreplacepart.BaseVehReplacePartMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo">
SELECT * FROM base_veh_replace_part
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo">
SELECT * FROM base_veh_replace_part
<where>
${ew.sqlSegment}
</where>
</select>
<select id="fetchVinNoAndVehSid" resultType="java.util.Map">
SELECT vinNo AS installVinNo,
sid AS installSid
FROM base_vehicle
WHERE createOrgSid = #{createOrgSid}
AND isDelete = 0
AND (
vehicleState = 0001
OR vehicleState = 0008
OR vehicleState = 0009
OR vehicleState = 0003
)
</select>
</mapper>

107
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartRest.java

@ -0,0 +1,107 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basevehreplacepart;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePart;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartQuery;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartDetailsVo;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartDto;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartFeign;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basevehreplacepart.BaseVehReplacePartRest <br/>
* Description: 车辆更换配件记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆更换配件记录")
@RestController
@RequestMapping("v1/basevehreplacepart")
public class BaseVehReplacePartRest implements BaseVehReplacePartFeign {
@Autowired
private BaseVehReplacePartService baseVehReplacePartService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseVehReplacePartVo>> listPage(@RequestBody PagerQuery<BaseVehReplacePartQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseVehReplacePartVo> pv = baseVehReplacePartService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseVehReplacePartDto dto){
ResultBean rb = ResultBean.fireFail();
baseVehReplacePartService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
baseVehReplacePartService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BaseVehReplacePartDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseVehReplacePartDetailsVo vo = baseVehReplacePartService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<List<Map<String, String>>> fetchVinNoAndVehSid(String createOrgSid) {
return baseVehReplacePartService.fetchVinNoAndVehSid(createOrgSid);
}
}

120
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehreplacepart/BaseVehReplacePartService.java

@ -0,0 +1,120 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basevehreplacepart;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePart;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartQuery;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartVo;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartDetailsVo;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartDto;
import com.yxt.anrui.base.api.basevehreplacepart.BaseVehReplacePartFeign;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(车辆更换配件记录) <br/>
* File: BaseVehReplacePartService.java <br/>
* Class: com.yxt.anrui.base.biz.basevehreplacepart.BaseVehReplacePartService <br/>
* Description: 车辆更换配件记录 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-15 15:39:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class BaseVehReplacePartService extends MybatisBaseService<BaseVehReplacePartMapper, BaseVehReplacePart> {
private QueryWrapper<BaseVehReplacePart> createQueryWrapper(BaseVehReplacePartQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BaseVehReplacePart> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<BaseVehReplacePartVo> listPageVo(PagerQuery<BaseVehReplacePartQuery> pq) {
BaseVehReplacePartQuery query = pq.getParams();
QueryWrapper<BaseVehReplacePart> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getSourceVehSid()) && StringUtils.isNotBlank(query.getInstallSid())){
qw.eq("sourceVehSid",query.getSourceVehSid()).or().eq("installSid",query.getInstallSid());
}
IPage<BaseVehReplacePart> page = PagerUtil.queryToPage(pq);
IPage<BaseVehReplacePartVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BaseVehReplacePartVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(BaseVehReplacePartDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(BaseVehReplacePartDto dto){
BaseVehReplacePart entity = new BaseVehReplacePart();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(BaseVehReplacePartDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
BaseVehReplacePart entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public BaseVehReplacePartDetailsVo fetchDetailsVoBySid(String sid){
BaseVehReplacePart entity = fetchBySid(sid);
BaseVehReplacePartDetailsVo vo = new BaseVehReplacePartDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public ResultBean<List<Map<String, String>>> fetchVinNoAndVehSid(String createOrgSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String, String>> maps = baseMapper.fetchVinNoAndVehSid(createOrgSid);
return rb.success().setData(maps);
}
}

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

@ -508,7 +508,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
finPaymentrecordDto.setBusSid(r.getData());
finPaymentrecordFeign.save(finPaymentrecordDto);
}
}else{
} else {
String msgSid = getMessage(ufVo, appMap, busVehicleApply);
}
return rb.success().setData(resultBean.getData());
@ -757,6 +757,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
messageFlowableDto.setMsgContent("排产申请");
messageFlowableDto.setMsgTitle("排产申请");
messageFlowableDto.setCreateName(busVehicleApply.getCreateByName());
messageFlowableDto.setTaskId(ufVo.getTaskId());
ResultBean<String> stringResultBean = messageFeign.getMessage(messageFlowableDto);
String msgSid = stringResultBean.getData();
return msgSid;

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmcertstayinventory/ScmCertStayInventoryDto.java

@ -81,4 +81,8 @@ public class ScmCertStayInventoryDto implements Dto {
private String useOrgName; // 使用组织名称
@ApiModelProperty("盘库状态 1通过/2未通过")
private String inventoryState; // 盘库状态 1通过/2未通过
@ApiModelProperty("当前登录人sid")
private String loginSid; // 当前登录人sid
@ApiModelProperty("当前登录人名称")
private String loginName; // 当前登录人名称
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmcertstayinventory/ScmCertStayInventoryVo.java

@ -57,6 +57,8 @@ public class ScmCertStayInventoryVo implements Vo {
private String certNo; // 合格证编号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("存放地点sid")
private String locationSid; // 存放地点sid
@ApiModelProperty("存放地点")

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/AppScmVehicleGressionDto.java

@ -96,4 +96,9 @@ public class AppScmVehicleGressionDto implements Dto {
@ApiModelProperty("保单照片")
private List<String> policyImage;
@ApiModelProperty("调出方负责人名称")
private String staffName;
@ApiModelProperty("调出方负责人用户sid")
private String personUserSid;
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/ScmVehicleGression.java

@ -106,4 +106,9 @@ public class ScmVehicleGression extends BaseEntity {
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("调出方负责人名称")
private String staffName;
@ApiModelProperty("调出方负责人用户sid")
private String personUserSid;
}

25
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/ScmVehicleGressionDto.java

@ -51,25 +51,30 @@ public class ScmVehicleGressionDto implements Dto {
private String sid; // sid
@ApiModelProperty("车辆sid")
@ApiModelProperty("车辆sid")
private String vehicleSid; // 车辆sid
@ApiModelProperty("车架号")
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String applicantNo; // 申请编号
@ApiModelProperty("现存地点")
@ApiModelProperty("现存地点")
private String location; // 现存地点
@ApiModelProperty("目标地点")
@ApiModelProperty("目标地点")
private String targetLocation; // 目标地点
@ApiModelProperty("变更原因")
@ApiModelProperty("变更原因")
private String changeReason; // 变更原因
@ApiModelProperty("申请经费")
@ApiModelProperty("申请经费")
private String applicantFunds; // 申请经费
@ApiModelProperty("经办人")
@ApiModelProperty("经办人")
private String operator; // 经办人
@ApiModelProperty("保险状态")
@ApiModelProperty("保险状态")
private String InsuranceState; // 保险状态
@ApiModelProperty("临牌")
@ApiModelProperty("临牌")
private String temporaryCard; // 临牌
@ApiModelProperty("现存放地点负责人名称")
private String staffName;
@ApiModelProperty("先存放地点负责人用户sid")
private String personUserSid;
}

246
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertinventory/ScmCertInventoryService.java

@ -68,132 +68,142 @@ import java.util.List;
@Service
public class ScmCertInventoryService extends MybatisBaseService<ScmCertInventoryMapper, ScmCertInventory> {
@Autowired
private BaseVehicleCertificateFeign baseVehicleCertificateFeign;
@Autowired
private ScmCertStayInventoryService scmCertStayInventoryService;
@Autowired
private BaseVehicleCertificateFeign baseVehicleCertificateFeign;
@Autowired
private ScmCertStayInventoryService scmCertStayInventoryService;
private QueryWrapper<ScmCertInventory> createQueryWrapper(ScmCertInventoryQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmCertInventory> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<ScmCertInventoryVo> listPageVo(PagerQuery<ScmCertInventoryQuery> pq) {
ScmCertInventoryQuery query = pq.getParams();
QueryWrapper<ScmCertInventory> qw = new QueryWrapper<>();
String inventoryStartDate = query.getInventoryStartDate();
String inventoryEndDate = query.getInventoryEndDate();
qw.apply(StringUtils.isNotEmpty(inventoryStartDate), "date_format (inventoryDate,'%Y-%m-%d') >= date_format('" + inventoryStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(inventoryEndDate), "date_format (inventoryDate,'%Y-%m-%d') <= date_format('" + inventoryEndDate + "','%Y-%m-%d')"
);
qw.eq("createOrgSid",query.getCreateOrgSid());
if (StringUtils.isNotBlank(query.getCertNo())){
qw.like("certNo",query.getCertNo());
}
if (StringUtils.isNotBlank(query.getVinNo())){
qw.like("vinNo",query.getVinNo());
}
if (StringUtils.isNotBlank(query.getLocationSid())){
qw.eq("locationSid",query.getLocationSid());
}
if (StringUtils.isNotBlank(query.getInventoryState())){
qw.eq("inventoryState",query.getInventoryState());
}
IPage<ScmCertInventory> page = PagerUtil.queryToPage(pq);
IPage<ScmCertInventoryVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmCertInventoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(ScmCertInventoryDto dto){
private QueryWrapper<ScmCertInventory> createQueryWrapper(ScmCertInventoryQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmCertInventory> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<ScmCertInventoryVo> listPageVo(PagerQuery<ScmCertInventoryQuery> pq) {
ScmCertInventoryQuery query = pq.getParams();
QueryWrapper<ScmCertInventory> qw = new QueryWrapper<>();
String inventoryStartDate = query.getInventoryStartDate();
String inventoryEndDate = query.getInventoryEndDate();
qw.apply(StringUtils.isNotEmpty(inventoryStartDate), "date_format (inventoryDate,'%Y-%m-%d') >= date_format('" + inventoryStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(inventoryEndDate), "date_format (inventoryDate,'%Y-%m-%d') <= date_format('" + inventoryEndDate + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
if (StringUtils.isNotBlank(query.getCertNo())) {
qw.like("certNo", query.getCertNo());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getLocationSid())) {
qw.eq("locationSid", query.getLocationSid());
}
if (StringUtils.isNotBlank(query.getInventoryState())) {
qw.eq("inventoryState", query.getInventoryState());
}
IPage<ScmCertInventory> page = PagerUtil.queryToPage(pq);
IPage<ScmCertInventoryVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmCertInventoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(ScmCertInventoryDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(ScmCertInventoryDto dto){
ScmCertInventory entity = new ScmCertInventory();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(ScmCertInventoryDto dto){
String dtoSid = dto.getSid();
return;
}
this.updateByDto(dto);
}
public void insertByDto(ScmCertInventoryDto dto) {
ScmCertInventory entity = new ScmCertInventory();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(ScmCertInventoryDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
ScmCertInventory entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public ScmCertInventoryDetailsVo fetchDetailsVoBySid(String sid){
ScmCertInventory entity = fetchBySid(sid);
ScmCertInventoryDetailsVo vo = new ScmCertInventoryDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}
ScmCertInventory entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public ScmCertInventoryDetailsVo fetchDetailsVoBySid(String sid) {
ScmCertInventory entity = fetchBySid(sid);
ScmCertInventoryDetailsVo vo = new ScmCertInventoryDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public ResultBean getInventoryRecords(String createOrgSid) {
ResultBean rb = ResultBean.fireFail();
int count = baseMapper.getInventoryRecords(createOrgSid);
if (count > 0){
return rb.setMsg("生成合格证盘点记录失败,请查看是否有未盘点的记录");
}
return rb.success();
}
public ResultBean getInventoryRecords(String createOrgSid) {
ResultBean rb = ResultBean.fireFail();
int count = baseMapper.getInventoryRecords(createOrgSid);
if (count > 0) {
return rb.setMsg("生成合格证盘点记录失败,请查看是否有未盘点的记录");
}
return rb.success();
}
public ResultBean generateInventoryRecords(String createOrgSid) {
ResultBean rb = ResultBean.fireFail();
ResultBean<List<BaseVehicleCertificateDetailsVo>> listResultBean = baseVehicleCertificateFeign.selectByOrgSid(createOrgSid);
List<BaseVehicleCertificateDetailsVo> data = listResultBean.getData();
if (data.size() == 0){
return rb.setMsg("暂无符合盘点要求的合格证信息");
}
for (BaseVehicleCertificateDetailsVo datum : data) {
ScmCertStayInventory scmCertStayInventory = new ScmCertStayInventory();
scmCertStayInventory.setCertNo(datum.getCertificationNo());
scmCertStayInventory.setVehSid(datum.getVehicleSid());
scmCertStayInventory.setVinNo(datum.getVinNo());
scmCertStayInventory.setLocation(datum.getLocation());
scmCertStayInventory.setLocationSid(datum.getLocationSid());
scmCertStayInventory.setCreateOrgSid(createOrgSid);
scmCertStayInventory.setUseOrgSid(createOrgSid);
scmCertStayInventoryService.save(scmCertStayInventory);
}
return rb.success().setMsg("生成合格证盘点记录成功");
}
public ResultBean generateInventoryRecords(String createOrgSid) {
ResultBean rb = ResultBean.fireFail();
ResultBean<List<BaseVehicleCertificateDetailsVo>> listResultBean = baseVehicleCertificateFeign.selectByOrgSid(createOrgSid);
List<BaseVehicleCertificateDetailsVo> data = listResultBean.getData();
if (data.size() == 0) {
return rb.setMsg("暂无符合盘点要求的合格证信息");
}
for (BaseVehicleCertificateDetailsVo datum : data) {
String certificationNo = datum.getCertificationNo();
String vehicleSid = datum.getVehicleSid();
ScmCertStayInventory scmCertStayInventory = scmCertStayInventoryService.checkStayIsExi(certificationNo, vehicleSid, createOrgSid);
if (scmCertStayInventory != null) {
scmCertStayInventoryService.updateIsDelete(scmCertStayInventory.getSid());
} else {
ScmCertStayInventory new_scmCertStayInventory = new ScmCertStayInventory();
new_scmCertStayInventory.setCertNo(datum.getCertificationNo());
new_scmCertStayInventory.setVehSid(datum.getVehicleSid());
new_scmCertStayInventory.setVinNo(datum.getVinNo());
new_scmCertStayInventory.setLocation(datum.getLocation());
new_scmCertStayInventory.setLocationSid(datum.getLocationSid());
new_scmCertStayInventory.setCreateOrgSid(createOrgSid);
new_scmCertStayInventory.setUseOrgSid(createOrgSid);
scmCertStayInventoryService.save(new_scmCertStayInventory);
}
}
return rb.success().setMsg("生成合格证盘点记录成功");
}
public ResultBean certInventoryConfirm(ScmCertStayInventoryDto scmCertStayInventoryDto) {
ResultBean rb = ResultBean.fireFail();
ScmCertInventory scmCertInventory = new ScmCertInventory();
scmCertInventory.setCertNo(scmCertStayInventoryDto.getCertNo());
scmCertInventory.setVehSid(scmCertStayInventoryDto.getVehSid());
scmCertInventory.setVinNo(scmCertStayInventoryDto.getVinNo());
scmCertInventory.setLocation(scmCertStayInventoryDto.getLocation());
scmCertInventory.setLocationSid(scmCertStayInventoryDto.getLocationSid());
scmCertInventory.setInventoryDate(DateUtil.today());
scmCertInventory.setInventorySid(scmCertStayInventoryDto.getInventorySid());
scmCertInventory.setInventoryName(scmCertStayInventoryDto.getInventoryName());
scmCertInventory.setInventoryState(scmCertStayInventoryDto.getInventoryState());
scmCertInventory.setCreateOrgSid(scmCertStayInventoryDto.getCreateOrgSid());
scmCertInventory.setUseOrgSid(scmCertStayInventoryDto.getUseOrgSid());
scmCertInventory.setRemarks(scmCertStayInventoryDto.getRemarks());
save(scmCertInventory);
scmCertStayInventoryDto.setIsDelete("1");
scmCertStayInventoryDto.setInventoryDate(DateUtil.today());
scmCertStayInventoryService.updateBySid(scmCertStayInventoryDto,scmCertStayInventoryDto.getSid());
return rb.success().setMsg("确认成功");
}
public ResultBean certInventoryConfirm(ScmCertStayInventoryDto scmCertStayInventoryDto) {
ResultBean rb = ResultBean.fireFail();
String inventorySid = scmCertStayInventoryDto.getLoginSid() + "、" + scmCertStayInventoryDto.getInventorySid();
String inventoryName = scmCertStayInventoryDto.getLoginName() + "、" + scmCertStayInventoryDto.getInventoryName();
ScmCertInventory scmCertInventory = new ScmCertInventory();
scmCertInventory.setCertNo(scmCertStayInventoryDto.getCertNo());
scmCertInventory.setVehSid(scmCertStayInventoryDto.getVehSid());
scmCertInventory.setVinNo(scmCertStayInventoryDto.getVinNo());
scmCertInventory.setLocation(scmCertStayInventoryDto.getLocation());
scmCertInventory.setLocationSid(scmCertStayInventoryDto.getLocationSid());
scmCertInventory.setInventoryDate(DateUtil.today());
scmCertInventory.setInventorySid(inventorySid);
scmCertInventory.setInventoryName(inventoryName);
scmCertInventory.setInventoryState(scmCertStayInventoryDto.getInventoryState());
scmCertInventory.setCreateOrgSid(scmCertStayInventoryDto.getCreateOrgSid());
scmCertInventory.setUseOrgSid(scmCertStayInventoryDto.getUseOrgSid());
scmCertInventory.setRemarks(scmCertStayInventoryDto.getRemarks());
save(scmCertInventory);
String inventoryState = scmCertStayInventoryDto.getInventoryState();
String remarks = scmCertStayInventoryDto.getRemarks();
String sid = scmCertStayInventoryDto.getSid();
scmCertStayInventoryService.certInventoryConfirm(inventorySid, inventoryName, inventoryState, remarks, sid);
return rb.success().setMsg("确认成功");
}
public ResultBean certInventoryHandle(String inventoryState,String remarks,String sid) {
ResultBean rb = ResultBean.fireFail();
baseMapper.certInventoryHandle(inventoryState,remarks,sid);
return rb.success().setMsg("操作成功");
}
public ResultBean certInventoryHandle(String inventoryState, String remarks, String sid) {
ResultBean rb = ResultBean.fireFail();
baseMapper.certInventoryHandle(inventoryState, remarks, sid);
return rb.success().setMsg("操作成功");
}
}

8
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryMapper.java

@ -34,6 +34,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventory;
import com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventoryVo;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -62,4 +63,11 @@ public interface ScmCertStayInventoryMapper extends BaseMapper<ScmCertStayInvent
@Select("select * from scm_cert_stay_inventory")
List<ScmCertStayInventoryVo> selectListVo();
int certInventoryConfirm(@Param("inventorySid") String inventorySid,@Param("inventoryName") String inventoryName,@Param("inventoryState") String inventoryState,@Param("remarks") String remarks,@Param("sid") String sid);
ScmCertStayInventory checkStayIsExi(@Param("certificationNo") String certificationNo,@Param("vehicleSid") String vehicleSid,@Param("createOrgSid") String createOrgSid);
@Update("UPDATE scm_cert_stay_inventory SET isDelete = 0,remarks = '',inventoryState = '' WHERE sid = #{sid}")
int updateIsDelete(String sid);
}

75
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryMapper.xml

@ -1,32 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.scm.biz.scmcertstayinventory.ScmCertStayInventoryMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventoryVo">
SELECT
scsi.`certNo`,
scsi.`vinNo`,
scsi.`location`,
MAX(sci.inventoryDate) AS inventoryDate,
(SELECT
sci.inventoryName
FROM
scm_cert_inventory sci
LEFT JOIN scm_cert_stay_inventory scsi
ON scsi.`vehSid` = sci.`vehSid`
ORDER BY sci.createTime DESC
LIMIT 1) inventoryName,
scsi.`inventoryState`,
scsi.`remarks`
FROM
scm_cert_stay_inventory scsi
LEFT JOIN scm_cert_inventory sci
ON scsi.`vehSid` = sci.`vehSid`
<where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventoryVo">
SELECT * FROM scm_cert_stay_inventory <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventoryVo">
SELECT
scsi.sid,
scsi.`certNo`,
scsi.`vinNo`,
scsi.vehSid,
scsi.`location`,
scsi.locationSid,
scsi.inventoryDate,
scsi.`inventoryName`,
scsi.`inventoryState`,
scsi.`remarks`
FROM
scm_cert_stay_inventory scsi
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventoryVo">
SELECT * FROM scm_cert_stay_inventory
<where>
${ew.sqlSegment}
</where>
</select>
<update id="certInventoryConfirm">
UPDATE
scm_cert_stay_inventory
SET inventoryDate = DATE_FORMAT(NOW(), '%Y-%m-%d'),
isDelete = 1,
inventorySid = #{inventorySid},
inventoryName = #{inventoryName},
inventoryState = #{inventoryState},
remarks = #{remarks}
WHERE sid = #{sid}
</update>
<select id="checkStayIsExi" resultType="com.yxt.anrui.scm.api.scmcertstayinventory.ScmCertStayInventory">
SELECT *
FROM scm_cert_stay_inventory
WHERE certNo = #{certificationNo}
AND vehSid = #{vehicleSid}
AND createOrgSid = #{createOrgSid}
</select>
</mapper>

20
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcertstayinventory/ScmCertStayInventoryService.java

@ -66,13 +66,13 @@ public class ScmCertStayInventoryService extends MybatisBaseService<ScmCertStayI
public PagerVo<ScmCertStayInventoryVo> listPageVo(PagerQuery<ScmCertStayInventoryQuery> pq) {
ScmCertStayInventoryQuery query = pq.getParams();
QueryWrapper<ScmCertStayInventory> qw = new QueryWrapper<>();
qw.eq("", query.getCreateOrgSid());
qw.eq("",0);
qw.eq("scsi.createOrgSid", query.getCreateOrgSid());
qw.eq("scsi.isDelete",0);
if (StringUtils.isNotBlank(query.getCertNo())) {
qw.like("", query.getCertNo());
qw.like("scsi.certNo", query.getCertNo());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("", query.getVinNo());
qw.like("scsi.vinNo", query.getVinNo());
}
IPage<ScmCertStayInventory> page = PagerUtil.queryToPage(pq);
IPage<ScmCertStayInventoryVo> pagging = baseMapper.selectPageVo(page, qw);
@ -111,4 +111,16 @@ public class ScmCertStayInventoryService extends MybatisBaseService<ScmCertStayI
BeanUtil.copyProperties(entity, vo);
return vo;
}
public int certInventoryConfirm(String inventorySid, String inventoryName, String inventoryState, String remarks, String sid) {
return baseMapper.certInventoryConfirm(inventorySid,inventoryName,inventoryState,remarks,sid);
}
public ScmCertStayInventory checkStayIsExi(String certificationNo, String vehicleSid, String createOrgSid) {
return baseMapper.checkStayIsExi(certificationNo,vehicleSid,createOrgSid);
}
public int updateIsDelete(String sid) {
return baseMapper.updateIsDelete(sid);
}
}

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.xml

@ -29,7 +29,6 @@
svg.applicantName as applyName,
svg.applicantDate as applyDate,
svg.applicantFunds as applyPrice,
svg.temporaryCard as downloadUrl,
svg.location,
svg.targetLocation,
svg.operator,

17
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java

@ -190,6 +190,11 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
IPage<ScmVehicleGressionPageVo> iPage = baseMapper.selectCarTransferList(page, qw);
List<ScmVehicleGressionPageVo> records = iPage.getRecords();
for (ScmVehicleGressionPageVo record : records) {
//查询出门证
ScmExitPermit scmExitPermit = scmExitPermitService.selectByLinkSid(record.getSid());
if (scmExitPermit != null) {
record.setDownloadUrl(fileUploadComponent.getUrlPrefix() + scmExitPermit.getUrl());
}
List<String> list1 = new ArrayList<>();
List<ScmFile> list = scmFileService.getByLinkSidAndType(record.getSid(), type);
for (ScmFile scmFile : list) {
@ -630,6 +635,8 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.SCMCARTRANSFER.getProDefId());
//调出方负责人
bv.setNextNodeUserSids(dto.getPersonUserSid());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
@ -708,12 +715,12 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
vehicleGression.setLocation(scmVehicleGression.getTargetLocationSid());
vehicleGression.setLocationName(scmVehicleGression.getTargetLocation());
baseVehicleFeign.updateVehicleGressionByVin(vehicleGression);
/* String pdfPath = createPdf(bv.getBusinessSid());
String pdfPath = createPdf(bv.getBusinessSid());
//将生成的出门证添加到出门证表中
ScmExitPermit scmExitPermit = new ScmExitPermit();
scmExitPermit.setLinkSid(bv.getBusinessSid());
scmExitPermit.setUrl(pdfPath);
scmExitPermitService.insert(scmExitPermit);*/
scmExitPermitService.insert(scmExitPermit);
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
@ -937,16 +944,16 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
ExiCarConfigDetailVo exiCarConfigDetailVo = baseVehicleFeign.selectExiCarConfig(data.getModelSid(), data.getModelConfigSid(), data.getVehModelConfigSid()).getData();
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("date", DateUtil.today());
// dataMap.put("contractNo", "-");
dataMap.put("contractNo", "—");
dataMap.put("orgName", sysOrganization.getName());
// dataMap.put("name", "-");
dataMap.put("name", "—");
dataMap.put("modelName", exiCarConfigDetailVo.getVehicleAlias() + exiCarConfigDetailVo.getCarColor());
dataMap.put("number", 1);
dataMap.put("vinNo", scmVehicleGression.getVinNo());
dataMap.put("reason", "存放地点变更");
dataMap.put("operator", scmVehicleGression.getOperator());
// dataMap.put("finOperator", "-");
// dataMap.put("carCollector", "-");
dataMap.put("carCollector", "—");
// dataMap.put("signature", "-");
// 模板名
String typeName = "出门证模板";

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java

@ -278,14 +278,13 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmVehiclePatrolinspection.setUseOrgName(data.getOrgName());
scmVehiclePatrolinspection.setCreateOrgSid(dto.getCreateOrgSid());
scmVehiclePatrolinspectionService.save(scmVehiclePatrolinspection);
baseMapper.updatePatSid(dto.getSid(), scmVehiclePatrolinspection.getSid());
baseMapper.updatePatSid(pcInspection.getSid(), scmVehiclePatrolinspection.getSid());
return rb.success().setMsg("操作成功");
}
ScmVehiclePatrolinspectionsheet scmVehiclePatrolinspectionsheet = new ScmVehiclePatrolinspectionsheet();
String sid = scmVehiclePatrolinspectionsheet.getSid();
BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet);
scmVehiclePatrolinspectionsheet.setCreateOrgSid(useOrgSid);
scmVehiclePatrolinspectionsheet.setSid(sid);
scmFileService.deleteByLinkSidAndType(scmVehiclePatrolinspectionsheet.getSid(), type1);
List<String> images = dto.getImages();
for (String s : images) {

303
anrui-scm/anrui-scm-biz/src/main/resources/出门证.ftl

@ -31,8 +31,8 @@
<o:LastAuthor>孟哲</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>1</o:TotalTime>
<o:Created>2022-08-02T05:43:00Z</o:Created>
<o:LastSaved>2022-08-02T05:43:00Z</o:LastSaved>
<o:Created>2022-08-15T07:04:00Z</o:Created>
<o:LastSaved>2022-08-15T07:04:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>33</o:Words>
<o:Characters>193</o:Characters>
@ -42,7 +42,7 @@
<o:Version>16</o:Version>
</o:DocumentProperties>
<o:CustomDocumentProperties>
<o:KSOProductBuildVer dt:dt="string">2052-11.1.0.11875</o:KSOProductBuildVer>
<o:KSOProductBuildVer dt:dt="string">2052-11.1.0.12302</o:KSOProductBuildVer>
<o:ICV dt:dt="string">3B16B84811D744B6BD39F9CF2DD198E0</o:ICV>
</o:CustomDocumentProperties>
<w:fonts>
@ -197,6 +197,7 @@
<w:lsdException w:name="Table Web 1"/>
<w:lsdException w:name="Table Web 2"/>
<w:lsdException w:name="Table Web 3"/>
<w:lsdException w:name="Table Grid"/>
<w:lsdException w:name="Table Theme"/>
<w:lsdException w:name="Placeholder Text"/>
<w:lsdException w:name="No Spacing"/>
@ -545,7 +546,6 @@
<w:docPr>
<w:view w:val="print"/>
<w:zoom w:percent="100"/>
<w:proofState w:spelling="clean" w:grammar="clean"/>
<w:defaultTabStop w:val="420"/>
<w:drawingGridVerticalSpacing w:val="156"/>
<w:characterSpacingControl w:val="CompressPunctuation"/>
@ -570,46 +570,84 @@
</w:docVars>
<wsp:rsids>
<wsp:rsidRoot wsp:val="250B08F1"/>
<wsp:rsid wsp:val="00090892"/>
<wsp:rsid wsp:val="00733E26"/>
<wsp:rsid wsp:val="00A47084"/>
<wsp:rsid wsp:val="00A8747E"/>
<wsp:rsid wsp:val="00CC58EF"/>
<wsp:rsid wsp:val="055A55B4"/>
<wsp:rsid wsp:val="064E5119"/>
<wsp:rsid wsp:val="079B25E0"/>
<wsp:rsid wsp:val="07F75CC3"/>
<wsp:rsid wsp:val="0B73117E"/>
<wsp:rsid wsp:val="0FFA1E6E"/>
<wsp:rsid wsp:val="11D0732A"/>
<wsp:rsid wsp:val="123D0D6C"/>
<wsp:rsid wsp:val="134A310C"/>
<wsp:rsid wsp:val="13702B73"/>
<wsp:rsid wsp:val="13B30CB1"/>
<wsp:rsid wsp:val="145C4EA5"/>
<wsp:rsid wsp:val="153100E0"/>
<wsp:rsid wsp:val="17A806FA"/>
<wsp:rsid wsp:val="1B632FBD"/>
<wsp:rsid wsp:val="1DF4614E"/>
<wsp:rsid wsp:val="205227D6"/>
<wsp:rsid wsp:val="2245341D"/>
<wsp:rsid wsp:val="235B27CC"/>
<wsp:rsid wsp:val="250B08F1"/>
<wsp:rsid wsp:val="29FD282F"/>
<wsp:rsid wsp:val="2ACA2711"/>
<wsp:rsid wsp:val="2EC13E2B"/>
<wsp:rsid wsp:val="2F37233F"/>
<wsp:rsid wsp:val="31EA3699"/>
<wsp:rsid wsp:val="32584AA6"/>
<wsp:rsid wsp:val="33D303C6"/>
<wsp:rsid wsp:val="33FC5905"/>
<wsp:rsid wsp:val="365170A7"/>
<wsp:rsid wsp:val="39CD5F69"/>
<wsp:rsid wsp:val="3A4510D3"/>
<wsp:rsid wsp:val="3ABD7D17"/>
<wsp:rsid wsp:val="3AC151B3"/>
<wsp:rsid wsp:val="3C5207B8"/>
<wsp:rsid wsp:val="3D121CF5"/>
<wsp:rsid wsp:val="3E9F580B"/>
<wsp:rsid wsp:val="3ED94336"/>
<wsp:rsid wsp:val="3F9B06C8"/>
<wsp:rsid wsp:val="426B25D4"/>
<wsp:rsid wsp:val="44BD4C3D"/>
<wsp:rsid wsp:val="4A834233"/>
<wsp:rsid wsp:val="4D92310A"/>
<wsp:rsid wsp:val="502A587C"/>
<wsp:rsid wsp:val="53B51901"/>
<wsp:rsid wsp:val="555F6C5D"/>
<wsp:rsid wsp:val="570F757A"/>
<wsp:rsid wsp:val="58CD149A"/>
<wsp:rsid wsp:val="5BE053DA"/>
<wsp:rsid wsp:val="5EF534F9"/>
<wsp:rsid wsp:val="5F697A43"/>
<wsp:rsid wsp:val="604F4E8B"/>
<wsp:rsid wsp:val="65D90ED8"/>
<wsp:rsid wsp:val="67672ABA"/>
<wsp:rsid wsp:val="683402EB"/>
<wsp:rsid wsp:val="692769A5"/>
<wsp:rsid wsp:val="6C69748D"/>
<wsp:rsid wsp:val="6CB322FE"/>
<wsp:rsid wsp:val="6F321C00"/>
<wsp:rsid wsp:val="718F158B"/>
<wsp:rsid wsp:val="72092F7F"/>
<wsp:rsid wsp:val="74257F85"/>
<wsp:rsid wsp:val="75736ACE"/>
<wsp:rsid wsp:val="79997D71"/>
<wsp:rsid wsp:val="79A67472"/>
<wsp:rsid wsp:val="7A8A5C12"/>
<wsp:rsid wsp:val="7C72372F"/>
<wsp:rsid wsp:val="7F531E4A"/>
<wsp:rsid wsp:val="7FF52F01"/>
</wsp:rsids>
</w:docPr>
<w:body>
<wx:sect>
<wx:sub-section>
<wx:sub-section>
<w:p wsp:rsidR="00A47084" wsp:rsidRDefault="00000000">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRDefault="00000000">
<w:pPr>
<w:pStyle w:val="2"/>
<w:jc w:val="center"/>
@ -627,7 +665,7 @@
<w:b w:val="off"/>
<w:b-cs/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:rPr><w:rFonts w:hint="fareast"/><w:b w:val="off"/><w:b-cs/></w:rPr><w:t>${orgName!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:rPr><w:rFonts w:hint="fareast"/><w:b w:val="off"/><w:b-cs/></w:rPr><w:t></w:t>
<w:t>${orgName!}</w:t>
</w:r>
<w:r>
<w:rPr>
@ -640,9 +678,9 @@
<w:tbl>
<w:tblPr>
<w:tblpPr w:leftFromText="180" w:rightFromText="180" w:vertAnchor="page" w:horzAnchor="page"
w:tblpX="1811" w:tblpY="2819"/>
w:tblpX="1471" w:tblpY="2819"/>
<w:tblOverlap w:val="Never"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblW w:w="9272" w:type="dxa"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
@ -651,18 +689,22 @@
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLayout w:type="Fixed"/>
<w:tblLook w:val="04A0"/>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="1514"/>
<w:gridCol w:w="2745"/>
<w:gridCol w:w="1441"/>
<w:gridCol w:w="2822"/>
<w:gridCol w:w="1572"/>
<w:gridCol w:w="4482"/>
<w:gridCol w:w="1418"/>
<w:gridCol w:w="1800"/>
</w:tblGrid>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:trPr>
<w:trHeight w:val="728"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="nil"/>
<w:left w:val="nil"/>
@ -671,9 +713,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -682,7 +725,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -697,7 +740,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2745" w:type="dxa"/>
<w:tcW w:w="4482" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="nil"/>
<w:left w:val="nil"/>
@ -706,8 +749,8 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
@ -717,7 +760,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -730,7 +773,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1441" w:type="dxa"/>
<w:tcW w:w="1418" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="nil"/>
<w:left w:val="nil"/>
@ -739,9 +782,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -750,7 +794,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -765,7 +809,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2822" w:type="dxa"/>
<w:tcW w:w="1800" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="nil"/>
<w:left w:val="nil"/>
@ -774,8 +818,8 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
@ -785,25 +829,25 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
<wx:font wx:val="微软雅黑"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t>${contractNo!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t></w:t>
<w:t>${contractNo!}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:trPr>
<w:trHeight w:val="532"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -812,10 +856,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -824,7 +868,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -839,7 +883,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="7008" w:type="dxa"/>
<w:tcW w:w="7700" w:type="dxa"/>
<w:gridSpan w:val="3"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -849,10 +893,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -861,7 +904,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -873,13 +916,13 @@
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:trPr>
<w:trHeight w:val="496"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -888,10 +931,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -900,7 +943,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -915,7 +958,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2745" w:type="dxa"/>
<w:tcW w:w="4482" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -924,10 +967,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -936,20 +978,20 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
<wx:font wx:val="微软雅黑"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t>${modelName!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t></w:t>
<w:t>${modelName!}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1441" w:type="dxa"/>
<w:tcW w:w="1418" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -958,10 +1000,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -970,7 +1012,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -985,7 +1027,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2822" w:type="dxa"/>
<w:tcW w:w="1800" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -994,10 +1036,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1006,7 +1047,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1018,10 +1059,10 @@
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1030,10 +1071,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1042,7 +1083,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1057,7 +1098,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="7008" w:type="dxa"/>
<w:tcW w:w="7700" w:type="dxa"/>
<w:gridSpan w:val="3"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1067,10 +1108,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1079,22 +1119,22 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
<wx:font wx:val="微软雅黑"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t>${vinNo!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t></w:t>
<w:t>${vinNo!}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1103,10 +1143,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1115,7 +1155,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1130,7 +1170,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="7008" w:type="dxa"/>
<w:tcW w:w="7700" w:type="dxa"/>
<w:gridSpan w:val="3"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1140,10 +1180,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1152,7 +1191,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1164,10 +1203,10 @@
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1176,10 +1215,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1188,7 +1227,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1203,7 +1242,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2745" w:type="dxa"/>
<w:tcW w:w="4482" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1212,10 +1251,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1224,7 +1262,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1237,7 +1275,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1441" w:type="dxa"/>
<w:tcW w:w="1418" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1246,10 +1284,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1258,7 +1296,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1273,7 +1311,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2822" w:type="dxa"/>
<w:tcW w:w="1800" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1282,10 +1320,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1294,22 +1331,22 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
<wx:font wx:val="微软雅黑"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t>${finOperator!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t></w:t>
<w:t>${finOperator!}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidTr="00A8747E">
<w:tr wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidTr="00090892">
<w:tc>
<w:tcPr>
<w:tcW w:w="1514" w:type="dxa"/>
<w:tcW w:w="1572" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1318,10 +1355,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1330,7 +1367,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1345,7 +1382,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2745" w:type="dxa"/>
<w:tcW w:w="4482" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1354,10 +1391,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1366,20 +1402,20 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
<wx:font wx:val="微软雅黑"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t></w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t>${carCollector!}</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00A8747E"><w:rPr><w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑" w:hint="fareast"/><wx:font wx:val="微软雅黑"/><w:sz-cs w:val="21"/></w:rPr><w:t></w:t>
<w:t>${carCollector!}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1441" w:type="dxa"/>
<w:tcW w:w="1418" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1388,10 +1424,10 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:jc w:val="right"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1400,7 +1436,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1415,7 +1451,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="2822" w:type="dxa"/>
<w:tcW w:w="1800" w:type="dxa"/>
<w:tcBorders>
<w:top w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="8" wx:bdrwidth="20" w:space="0" w:color="auto"/>
@ -1424,10 +1460,9 @@
</w:tcBorders>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="00A47084" wsp:rsidRPr="00A8747E" wsp:rsidRDefault="00000000"
wsp:rsidP="00A8747E">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRPr="00090892" wsp:rsidRDefault="00000000"
wsp:rsidP="00090892">
<w:pPr>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"/>
<wx:font wx:val="微软雅黑"/>
@ -1436,7 +1471,7 @@
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r wsp:rsidRPr="00A8747E">
<w:r wsp:rsidRPr="00090892">
<w:rPr>
<w:rFonts w:ascii="微软雅黑" w:fareast="微软雅黑" w:h-ansi="微软雅黑" w:cs="微软雅黑"
w:hint="fareast"/>
@ -1449,14 +1484,14 @@
</w:tc>
</w:tr>
</w:tbl>
<w:p wsp:rsidR="00A47084" wsp:rsidRDefault="00A47084">
<w:p wsp:rsidR="00CC58EF" wsp:rsidRDefault="00CC58EF">
<w:pPr>
<w:pStyle w:val="3"/>
</w:pPr>
</w:p>
</wx:sub-section>
</wx:sub-section>
<w:sectPr wsp:rsidR="00A47084">
<w:sectPr wsp:rsidR="00CC58EF">
<w:pgSz w:w="11906" w:h="16838"/>
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992"
w:gutter="0"/>

22
anrui-scm/anrui-scm-ui/src/api/cheliang/basevehicle.js

@ -55,7 +55,6 @@ export function basefinbankExportExcel(data) {
})
}
// 车辆详细配置
export function selectConfig(data) {
return request({
@ -141,7 +140,7 @@ export function getUserByOrgSid(data) {
return request({
url: '/portal/v1/sysuser/getUserByOrgSid',
method: 'get',
params: data,
params: data
})
}
@ -161,4 +160,23 @@ export function vehicleBuyBreakInfo(data) {
method: 'get'
})
}
// 条件查询--车辆配件更换记录列表
export function listPage(data) {
return request({
url: '/base/v1/basevehreplacepart/listPage',
data,
method: 'post',
headers: { 'Content-Type': 'application/json' }
})
}
// 车辆配件更换记录--新增保存
export function save(data) {
return request({
url: '/base/v1/basevehreplacepart/save',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}

9
anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js

@ -59,3 +59,12 @@ export function fetchByUseOrgSid(data) {
})
}
// 根据当前登录用户分公司sid获取本分公司下车架号
export function fetchVinNoAndVehSid(data) {
return request({
url: '/base/v1/basevehreplacepart/fetchVinNoAndVehSid/' + data,
method: 'get'
})
}

15
anrui-scm/anrui-scm-ui/src/api/supplychain/hegezhengpandian.js

@ -35,6 +35,17 @@ export function generateInventoryRecords(data) {
method: 'get'
})
}
// 合格证盘点办理--确定 1
export function certInventoryHandle(data) {
return request({
url: '/scm/v1/scmcertinventory/certInventoryHandle',
params: { sid: data.sid, inventoryState: data.inventoryState, remarks: data.remarks },
method: 'post',
headers: { 'Content-Type': 'application/json' }
})
}
// 合格证盘点确认保存 1
export function certInventoryConfirm(data) {
return request({
@ -44,7 +55,3 @@ export function certInventoryConfirm(data) {
headers: { 'Content-Type': 'application/json' }
})
}

44
anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js

@ -435,22 +435,34 @@ const codemenu = [
}
]
},
// {
// path: '/bikerebate',
// component: Layout,
// redirect: '/bikerebate',
// meta: {
// title: '单车返利'
// },
// children: [
// {
// path: '/bikerebate/bikerebatemanagement',
// component: () => import('@/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue'),
// name: 'bicyclerebatemanagement',
// meta: { title: '单车返利管理', noCache: true }
// }
// ]
// },
{
path: '/bikerebate',
component: Layout,
redirect: '/bikerebate',
meta: {
title: '单车返利'
},
children: [
{
path: '/bikerebate/bikerebatemanagement',
component: () => import('@/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue'),
name: 'bicyclerebatemanagement',
meta: { title: '单车返利管理', noCache: true }
},
{
path: '/bikerebate/bicyclerebatewithholding',
component: () => import('@/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue'),
name: 'bicyclerebatewithholding',
meta: { title: '单车返利预提', noCache: true }
},
{
path: '/bikerebate/bicyclerebatecheck',
component: () => import('@/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue'),
name: 'bicyclerebatetobechecked',
meta: { title: '单车返利核对', noCache: true }
}
]
},
// 入账管理
{
path: '/ruzhang',

285
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue

@ -0,0 +1,285 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="单车返利核对审核申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="switch_btn">
<el-button class="" @click="handleClick">待核对</el-button>
<el-button :class="{btn_style:viewState === 1}">核对审核申请</el-button>
</div>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<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>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column fixed label="操作" align="center" width="180px" >
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="预提申请" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="预提返利" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'bicyclerebatecheck',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
handleClick() {
this.$parent.resetState()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delete(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
</style>

327
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheckAdd.vue

@ -0,0 +1,327 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利核对审核申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colOneStyle">
<el-button size="small" type="primary" @click="handleSelect()">添加</el-button>
</el-col>
</el-row>
<div class="title">
<div>本月各项返利核对情况</div>
</div>
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed prop="name" label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center">
<template slot-scope="scope">
<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-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确认金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="明细" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="title">
<div>预提返利本月核对情况</div>
</div>
<el-table :key="baseVehinstallModpriceKey" :data="formobj.baseVehinstallModprice" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="预提年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="预提数量" align="center">
<template slot-scope="scope">
<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-column label="上传数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确认金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="未上传数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="未上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="4">
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.remarks" placeholder="" class="addinputw" clearable></el-input></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<yiheduidanchefanli v-show="viewState == 2" ref="divSelect" @backData="backData" @doback="resetState"/>
<bicyclerebatetobecheckedAdd v-show="viewState == 3" ref="divAdd" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
import yiheduidanchefanli from './relation/yiheduidanchefanli'
import bicyclerebatetobecheckedAdd from './relation/bicyclerebatetobecheckedAdd'
export default {
name: 'bicyclerebatecheckAdd',
components: {
yiheduidanchefanli,
bicyclerebatetobecheckedAdd
},
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
baseVehinstallModpriceKey: 1,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
//
newDate() {
let date = new Date()
let year = date.getFullYear() //
let month = date.getMonth() + 1 //
let day = date.getDate() //
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.formobj.createTime = year + '-' + month + '-' + day
},
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showAdd() {
this.init()
this.newDate()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.applyPeoName = window.sessionStorage.getItem('name')
this.viewTitle = '【新增】单车返利预提申请'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】单车返利预提申请'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
//
handleSelect() {
this.viewState = 2
this.$refs['divSelect'].showData(this.formobj.baseVehinstallModpricedetails)
},
backData(value) {
this.viewState = 1
if (value.length > 0) {
value.forEach((e) => {
this.formobj.baseVehinstallModpricedetails.push({
adjustVehGuidedPrice: '',
costPrice: e.costPrice,
guidedPrice: e.guidedPrice,
incOrDecInPrice: '',
jacketName: e.jacketName,
jacketSid: e.jacketSid,
mainSid: '',
modelName: e.modelName,
modelSid: e.modelSid,
sid: '',
vehGuidedPrice: '',
vinNo: e.vinNo,
remarks: ''
})
})
}
},
//
dataDelete(index) {
this.formobj.baseVehinstallModpricedetails.splice(index, 1)
},
handleLook(row) {},
resetState() {
this.viewState = 1
},
save() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.rowStyle {
border-left: 0px;
}
.colOneStyle {
border-right: 0px !important;
border-bottom: 0px !important;
}
</style>

231
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheckInfo.vue

@ -0,0 +1,231 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利核对审核申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<div class="title">
<div>本月各项返利核对情况</div>
</div>
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center">
<template slot-scope="scope">
<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-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确认金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="明细" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="title">
<div>预提返利本月核对情况</div>
</div>
<el-table :key="baseVehinstallModpriceKey" :data="formobj.baseVehinstallModprice" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="预提年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="预提数量" align="center">
<template slot-scope="scope">
<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-column label="上传数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确认金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="未上传数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="未上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="4">
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.remarks" placeholder="" class="addinputw" clearable></el-input></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<bicyclerebatetobecheckedInfo v-show="viewState == 2" ref="divAdd" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
import bicyclerebatetobecheckedInfo from './relation/bicyclerebatetobecheckedInfo'
export default {
name: 'bicyclerebatecheckInfo',
components: {
yiheduidanchefanli,
bicyclerebatetobecheckedInfo
},
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
baseVehinstallModpriceKey: 1,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】单车返利预提申请'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.rowStyle {
border-left: 0px;
}
.colOneStyle {
border-right: 0px !important;
border-bottom: 0px !important;
}
</style>

392
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue

@ -0,0 +1,392 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="待核对单车返利列表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="switch_btn">
<el-button :class="{btn_style:viewState === 1}">待核对</el-button>
<el-button class="" @click="handleClick">核对审核申请</el-button>
</div>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="返利类型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="返利名称">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="上传状态">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">单车返利待核对列表</div>
<div>
<el-button size="mini" type="success">导入</el-button>
<el-button size="mini" type="success">导出</el-button>
</div>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column label="上传状态" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家结算价" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="计算标准" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预提日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="二次上传日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="二次上传金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="待确定金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="是否调整" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整说明" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180px" >
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">保存</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">调整</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<bicyclerebatecheck v-show="viewState == 2" ref="divCheck" @doback="resetState"/>
<bicyclerebatecheckAdd v-show="viewState == 3" ref="divCheckAdd" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import ButtonBar from '@/components/ButtonBar'
import bicyclerebatecheck from './bicyclerebatecheck'
import bicyclerebatecheckAdd from './bicyclerebatecheckAdd'
export default {
name: 'bicyclerebatetobechecked',
components: {
Pagination,
ButtonBar,
bicyclerebatecheck,
bicyclerebatecheckAdd
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toAdd',
btnLabel: '核对审核申请'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toAdd',
btnLabel: '调整'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 3,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doImport':
this.doImport()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
handleClick() {
this.viewState = 2
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delete(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
</style>

206
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/bicyclerebatetobecheckedAdd.vue

@ -0,0 +1,206 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="danger" size="small">删除</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利待核对申请明细</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<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-column label="厂家合同价" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确定金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="是否调整" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整说明" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
export default {
name: 'bicyclerebatetobecheckedAdd',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
sids: [],
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '待预提单车返利明细'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

205
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/bicyclerebatetobecheckedInfo.vue

@ -0,0 +1,205 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利待核对申请明细</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<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-column label="厂家合同价" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="待确定金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="是否调整" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="调整说明" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
export default {
name: 'bicyclerebatetobecheckedInfo',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
sids: [],
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '待预提单车返利明细'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

277
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/relation/yiheduidanchefanli.vue

@ -0,0 +1,277 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div>
<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>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="返利类型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="返利名称">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="状态">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">已核对单车返利列表</div>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家合同价" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="所属日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="待确定金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="是否调整" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整说明" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'yiheduidanchefanli',
components: {
Pagination,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doClose',
btnLabel: '确定'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
doClose() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

286
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue

@ -0,0 +1,286 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<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>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<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>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column fixed label="操作" align="center" width="180px" >
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="预提申请" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="预提返利" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<bicyclerebatewithholdingAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<bicyclerebatewithholdingInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import bicyclerebatewithholdingAdd from './bicyclerebatewithholdingAdd'
import bicyclerebatewithholdingInfo from './bicyclerebatewithholdingInfo'
export default {
name: 'bicyclerebatewithholding',
components: {
Pagination,
pageye,
ButtonBar,
bicyclerebatewithholdingAdd,
bicyclerebatewithholdingInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delete(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

248
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue

@ -0,0 +1,248 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利预提申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colOneStyle">
<el-button size="small" type="primary" @click="handleSelect()">选择</el-button>
</el-col>
</el-row>
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed prop="name" label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="台数" align="center">
<template slot-scope="scope">
<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-column label="明细" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<danchefanliselect v-show="viewState == 2" ref="divSelect" @doback="resetState" @backData="backData"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
import danchefanliselect from './relation/danchefanliselect'
export default {
name: 'bicyclerebatewithholdingAdd',
components: {
danchefanliselect
},
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
//
newDate() {
let date = new Date()
let year = date.getFullYear() //
let month = date.getMonth() + 1 //
let day = date.getDate() //
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.formobj.createTime = year + '-' + month + '-' + day
},
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showAdd() {
this.init()
this.newDate()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.applyPeoName = window.sessionStorage.getItem('name')
this.viewTitle = '【新增】单车返利预提申请'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】单车返利预提申请'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
//
handleSelect() {
this.viewState = 2
this.$refs['divSelect'].showData(this.formobj.baseVehinstallModpricedetails)
},
backData(value) {
this.viewState = 1
if (value.length > 0) {
value.forEach((e) => {
this.formobj.baseVehinstallModpricedetails.push({
adjustVehGuidedPrice: '',
costPrice: e.costPrice,
guidedPrice: e.guidedPrice,
incOrDecInPrice: '',
jacketName: e.jacketName,
jacketSid: e.jacketSid,
mainSid: '',
modelName: e.modelName,
modelSid: e.modelSid,
sid: '',
vehGuidedPrice: '',
vinNo: e.vinNo,
remarks: ''
})
})
}
},
//
dataDelete(index) {
this.formobj.baseVehinstallModpricedetails.splice(index, 1)
},
handleLook(row) {},
resetState() {
this.viewState = 1
},
save() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px;
}
.colOneStyle {
border-right: 0px !important;
border-bottom: 0px !important;
}
</style>

146
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue

@ -0,0 +1,146 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>单车返利预提申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="台数" align="center">
<template slot-scope="scope">
<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-column label="明细" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<danchefanliInfo v-show="viewState == 2" ref="divInfo" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import danchefanliInfo from './relation/danchefanliInfo'
export default {
name: 'bicyclerebatewithholdingInfo',
components: {
danchefanliInfo
},
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '单车返利预提申请详情'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
handleLook(row) {
this.viewState = 2
this.$refs['divInfo'].showInfo(row)
},
resetState() {
this.viewState = 1
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

176
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliAdd.vue

@ -0,0 +1,176 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="danger" size="small">删除</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>待预提单车返利明细</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<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-column label="厂家结算价" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="计算标准" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="预计金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
export default {
name: 'danchefanliAdd',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
sids: [],
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '待预提单车返利明细'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

165
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliInfo.vue

@ -0,0 +1,165 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>待预提单车返利明细</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<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-column label="厂家结算价" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="计算标准" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="预计金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
export default {
name: 'danchefanliInfo',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '待预提单车返利明细'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

246
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/relation/danchefanliselect.vue

@ -0,0 +1,246 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div>
<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>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="返利类型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="返利名称">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="状态">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">待预提单车返利列表</div>
<el-button size="small" type="primary">确定</el-button>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column label="状态" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家结算价" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="计算标准" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'bicyclerebatemanagement',
components: {
Pagination,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
doClose() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

388
anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue

@ -0,0 +1,388 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<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>
<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.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="返利类型">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="返利名称">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
<el-form-item label="状态">
<el-input v-model="listQuery.params.mainSid" placeholder="请输入车架号" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
<el-button type="primary" size="small">待确认返利</el-button>
<el-button type="primary" size="small">未调整</el-button>
</div>
</div>
</div>
<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>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50px"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80px"/>
<el-table-column fixed label="操作" align="center" width="180px" >
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyPeoName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center" width="250">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家结算价" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.applyTitle }}</span>
</template>
</el-table-column>
<el-table-column label="其中运费" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利类型" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="返利名称" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="计算标准" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预计返利" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="所属年月" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="预提日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="上传金额" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="二次上传日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="二次上传金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="待确定金额" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="是否调整" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整金额" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
<el-table-column label="调整说明" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.modpriceReason }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<bicyclerebatemanagementAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<bicyclerebatemanagementInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import bicyclerebatemanagementAdd from './bicyclerebatemanagementAdd'
import bicyclerebatemanagementInfo from './bicyclerebatemanagementInfo'
export default {
name: 'bicyclerebatemanagement',
components: {
Pagination,
pageye,
ButtonBar,
bicyclerebatemanagementAdd,
bicyclerebatemanagementInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'success',
size: 'small',
icon: 'Import',
btnKey: 'doImport',
btnLabel: '导入'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 4,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doImport':
this.doImport()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createBySid: '',
createEndTime: '',
createStartTime: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delete(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

278
anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue

@ -0,0 +1,278 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<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="4">
<el-form-item><span>{{ formobj.createOrgName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>厂家返利名称</span>
</el-col>
<el-col :span="4">
<el-form-item><span>{{ formobj.applyPeoName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>所属年月</span>
</el-col>
<el-col :span="4">
<el-form-item><span>{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>计算方式</span>
</el-col>
<el-col :span="4">
<el-form-item><el-input v-model="formobj.modpriceReason" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>计算标注(%)</span>
</el-col>
<el-col :span="12">
<el-form-item><el-input v-model="formobj.modpriceReason" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>返利车辆列表</div>
<div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addjacket()">添加</el-button>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addjacket()">批量选择</el-button>
</div>
</div>
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed prop="name" label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家结算价" align="center">
<template slot-scope="scope">
<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-column label="预计返利" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.vehGuidedPrice" clearable placeholder="" class="addinputw"></el-input>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
import { getPathSidByUserSid, fetchBySid } from '@/api/cheliang/dictcommons'
export default {
name: 'bicyclerebatemanagementAdd',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
viewState: 1,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
//
newDate() {
let date = new Date()
let year = date.getFullYear() //
let month = date.getMonth() + 1 //
let day = date.getDate() //
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.formobj.createTime = year + '-' + month + '-' + day
},
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
this.formobj.useOrgSid = resp.data
fetchBySid(this.formobj.createOrgSid).then((res) => {
if (res.success) {
this.formobj.createOrgName = res.data.name
this.formobj.useOrgName = res.data.name
}
})
}
})
},
showAdd() {
this.init()
this.newDate()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.applyPeoName = window.sessionStorage.getItem('name')
this.viewTitle = '【新增】单车返利'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】单车返利'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
//
addjacket() {
this.viewState = 2
this.$refs['divSelect'].showData(this.formobj.baseVehinstallModpricedetails)
},
backData(value) {
this.viewState = 1
if (value.length > 0) {
value.forEach((e) => {
this.formobj.baseVehinstallModpricedetails.push({
adjustVehGuidedPrice: '',
costPrice: e.costPrice,
guidedPrice: e.guidedPrice,
incOrDecInPrice: '',
jacketName: e.jacketName,
jacketSid: e.jacketSid,
mainSid: '',
modelName: e.modelName,
modelSid: e.modelSid,
sid: '',
vehGuidedPrice: '',
vinNo: e.vinNo,
remarks: ''
})
})
}
},
//
dataDelete(index) {
this.formobj.baseVehinstallModpricedetails.splice(index, 1)
},
resetState() {
this.viewState = 1
},
save() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px;
}
.colOneStyle {
border-right: 0px !important;
border-bottom: 0px !important;
}
</style>

156
anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementInfo.vue

@ -0,0 +1,156 @@
<template>
<div class="app-container">
<div>
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<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="4">
<el-form-item><span>{{ formobj.createOrgName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>厂家返利名称</span>
</el-col>
<el-col :span="4">
<el-form-item><span>{{ formobj.applyPeoName }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>所属年月</span>
</el-col>
<el-col :span="4">
<el-form-item><span>{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>计算方式</span>
</el-col>
<el-col :span="4">
<el-form-item><el-input v-model="formobj.modpriceReason" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>计算标注(%)</span>
</el-col>
<el-col :span="12">
<el-form-item><el-input v-model="formobj.modpriceReason" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>返利车辆列表</div>
</div>
<el-table :key="tableKey" :data="formobj.baseVehinstallModpricedetails" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jacketName }}</span>
</template>
</el-table-column>
<el-table-column label="厂家结算价" align="center">
<template slot-scope="scope">
<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-column label="预计返利" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.vehGuidedPrice" clearable placeholder="" class="addinputw"></el-input>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.costPrice }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/othermenu/shangzhuangtiaojia'
export default {
name: 'bicyclerebatemanagementInfo',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
//
formobj: {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
},
rules: {},
submitdisabled: false
}
},
methods: {
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '单车返利详情'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
applyPeoName: '',
applyTitle: '',
createBySid: '',
createOrgName: '',
createOrgSid: '',
modpriceReason: '',
nodeState: '',
sid: '',
useOrgName: '',
useOrgSid: '',
baseVehinstallModpricedetails: []
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

335
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangpeijianchange/cheliangpeijian.vue

@ -0,0 +1,335 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div>
<button-bar view-title="车辆配件更换记录" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content" style="padding-top: 10px">
<!-- <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="110px" class="tab-header">-->
<!-- <el-form-item label="认款日期">-->
<!-- <div class="block" style="float: left;">-->
<!-- <el-date-picker v-model="listQuery.params.subscriptionStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>-->
<!-- </div>-->
<!-- <div style="float: left;margin: 0px 10px"></div>-->
<!-- <div class="block" style="float: left;">-->
<!-- <el-date-picker v-model="listQuery.params.subscriptionEndDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请编号">-->
<!-- <el-input v-model="listQuery.params.proSchAppNo" placeholder="请输入排产申请编号" clearable/>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div class="btn" style="text-align: center;">-->
<!-- <el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>-->
<!-- <el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<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>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;">
<el-table-column fixed width="60px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="来源车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.sourceVinNo }}</span>
</template>
</el-table-column>
<el-table-column label="配件" align="center">
<template slot-scope="scope">
<span>{{ scope.row.partName }}</span>
</template>
</el-table-column>
<el-table-column label="安装至车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.installVinNo }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center">
<template slot-scope="scope">
<span>{{ scope.row.money }}</span>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="left">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<!-- End 列表页面 -->
<el-dialog center :visible.sync="dialogVisible" width="60%">
<el-form v-model="formobj" ref="form_obj" 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.sourceVinNo }}</span></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>配件</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.partName" placeholder="" clearable class="addinputw"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>安装至车架号</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.installVinNo" class="addinputw" clearable placeholder="" @change="cahngeInstallVinNo" filterable>
<el-option v-for="item in installVinNo_list" :key="item.installSid" :label="item.installVinNo" :value="item.installVinNo"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>费用</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.money" placeholder="" clearable class="addinputw"/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.remarks" placeholder="" clearable class="addinputw"/></el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleCancel" size="small"> </el-button>
<el-button type="primary" @click="handleConfirm" size="small"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listPage, save } from '@/api/cheliang/basevehicle'
import { getPathSidByUserSid, fetchBySid, fetchVinNoAndVehSid } from '@/api/cheliang/dictcommons'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
export default {
name: 'changjiaxitongrenkuan',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
dialogVisible: false,
installVinNo_list: [],
formobj: {
createOrgName: '',
createOrgSid: '',
installSid: '',
installVinNo: '',
money: '',
partName: '',
sid: '',
sourceVehSid: '',
sourceVinNo: '',
useOrgName: '',
useOrgSid: '',
remarks: ''
},
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
// -----------
tableKey: 0,
list: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
sourceVehSid: '',
createOrgSid: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
//
this.init()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init(value) {
if (value !== undefined && value !== null) {
for (var i = 0; i < value.length; i++) {
this.formobj.sourceVinNo = value[i].vinNo
this.formobj.sourceVehSid = value[i].sid
this.listQuery.params.sourceVehSid = value[i].sid
}
}
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.listQuery.params.createOrgSid = res.data
this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data
fetchVinNoAndVehSid(this.formobj.createOrgSid).then((response) => {
if (response.success) {
this.installVinNo_list = response.data
}
})
fetchBySid(this.formobj.createOrgSid).then((resp) => {
if (resp.success) {
this.formobj.createOrgName = resp.data.name
this.formobj.useOrgName = resp.data.name
this.getList()
}
})
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
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
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
state: 0,
paymentState: '',
subscriptionStartDate: '',
subscriptionEndDate: '',
proSchAppNo: '',
applyTypeKey: '',
createOrgSid: ''
},
current: 1,
size: 5,
total: 0
}
this.init()
},
toAdd() {
this.dialogVisible = true
},
cahngeInstallVinNo(value) {
let bb = null
this.installVinNo_list.forEach((e) => {
if (e.installVinNo === value) {
bb = {
value: e.installVinNo,
sid: e.installSid
}
}
})
this.formobj.installVinNo = bb.value
this.formobj.installSid = bb.sid
},
handleConfirm() {
save(this.formobj).then((resp) => {
if (resp.success) {
this.$message({ showClose: true,type: 'success', message: resp.msg })
this.handleCancel()
this.getList()
}
})
},
handleCancel() {
this.dialogVisible = false
this.formobj.money = ''
this.formobj.partName = ''
this.formobj.installVinNo = ''
this.formobj.installSid = ''
this.formobj.remarks = ''
},
doClose() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

157
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue

@ -9,8 +9,7 @@
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="存放地点">
<el-select v-model="listQuery.params.location" class="addinputw" clearable placeholder="">
<el-option v-for="(item,index) in location_list" :key="item.sid" :label="item.warehouseName"
:value="item.sid"/>
<el-option v-for="(item,index) in location_list" :key="item.sid" :label="item.warehouseName" :value="item.sid"/>
</el-select>
</el-form-item>
<el-form-item label="车型名称">
@ -18,37 +17,39 @@
</el-form-item>
<el-form-item label="库存状态">
<el-select v-model="listQuery.params.vehicleState" class="addinputw" clearable placeholder="">
<el-option v-for="(item,index) in vehicleState_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
<el-option v-for="item in vehicleState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入车架号" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="合格证状态">
<el-select v-model="listQuery.params.certificateStateValue" class="addinputw" clearable placeholder="">
<el-option v-for="item in certificateState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">车辆台账信息列表</div>
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" fixed type="selection" align="center"/>
<el-table-column width="80px" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<!-- <el-table-column label="操作" align="center" width="180px" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="{row}">-->
<!-- <el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>-->
<!-- <el-button size="mini" type="primary" @click="cheLiangXiangXiPeiZhi(row)">车型配置</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="车型" fixed width="200" align="left" header-align="center">
<!-- <el-table-column label="操作" align="center" width="180px" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="{row}">-->
<!-- <el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>-->
<!-- <el-button size="mini" type="primary" @click="cheLiangXiangXiPeiZhi(row)">车型配置</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="车型" fixed width="200" align="left" header-align="center">
<template slot-scope="scope">
<span class="bluezi" @click="cheLiangXiangXiPeiZhi(scope.row)">{{ scope.row.modelName }}</span>
</template>
@ -58,6 +59,7 @@
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column prop="certificateStateValue" width="130" label="合格证状态" align="center"/>
<!-- <el-table-column width="190px" label="发动机号/许可证" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.engineNo }}</span>-->
@ -98,14 +100,12 @@
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<cheliangtaizhang-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState"
@reloadlist="getList"></cheliangtaizhang-add>
<cheliangtaizhang-info v-show="viewState == 4" ref="divinfo" @doback="resetState"></cheliangtaizhang-info>
<cheliangtaizhang-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<cheliangtaizhang-info v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
<!-- 车型配置标准页面 -->
<vehicleconfiguration v-show="viewState == 5" ref="divPeizhi" @doback="resetState"/>
<!-- <changyongpeizhi-info v-show="viewState == 5" ref="divPeizhi" @doback="resetState"></changyongpeizhi-info>-->
@ -115,11 +115,12 @@
<cheliangtaizhang-mai v-show="viewState == 7" ref="divMai" @doback="resetState" @reloadlist="getList"/>
<!-- 买断详情 -->
<cheliangtaizhang-mai-info v-show="viewState == 8" ref="divMaiInfo" @doback="resetState"/>
<!-- 车辆配件更换记录列表 -->
<cheliangpeijian v-show="viewState == 9" ref="divPeiJian" @doback="resetState"/>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {
basefinbankExportExcel,
deleteBySids,
@ -140,6 +141,7 @@ import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import cheliangtaizhangChu from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangChu'
import cheliangtaizhangMai from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMai'
import cheliangtaizhangMaiInfo from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMaiInfo'
import cheliangpeijian from './cheliangpeijianchange/cheliangpeijian'
export default {
name: 'cheliangtaizhang',
@ -154,7 +156,8 @@ export default {
vehicleconfiguration,
cheliangtaizhangChu,
cheliangtaizhangMai,
cheliangtaizhangMaiInfo
cheliangtaizhangMaiInfo,
cheliangpeijian
},
data() {
return {
@ -199,6 +202,13 @@ export default {
btnKey: 'doMaiduan',
btnLabel: '买断'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doChange',
btnLabel: '车辆配件更换记录'
},
{
type: 'success',
size: 'small',
@ -226,8 +236,9 @@ export default {
location: '',
modelName: '',
vehicleState: '',
certificateStateValue: '',
vinNo: '',
createOrgSid:''
createOrgSid: ''
},
current: 1,
size: 5
@ -246,20 +257,10 @@ export default {
dialogStatus: '', //
typeOptions: [],
location_list: [],
vehicleState_list: []
// ------------------------------------
vehicleState_list: [],
certificateState_list: []
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
@ -320,6 +321,9 @@ export default {
case 'doMaiduan':
this.doMaiduan()
break
case 'doChange':
this.doChange()
break
case 'doExport':
this.doExport()
break
@ -336,6 +340,11 @@ export default {
this.vehicleState_list = res.data
}
})
typeValues({ type: 'certificateState' }).then((res) => {
if (res.code === '200') {
this.certificateState_list = res.data
}
})
},
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
@ -361,7 +370,7 @@ export default {
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid:userSid}).then((res) => {
getPathSidByUserSid({userSid: userSid}).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSid = res.data
this.getList()
@ -381,14 +390,14 @@ export default {
) {
this.list = response.data.records
this.total = response.data.total // 012
for (var i=0; i<this.list.length; i++){
if (this.list[i].settlementStatus == '0'){
for (var i = 0; i < this.list.length; i++) {
if (this.list[i].settlementStatus == '0') {
this.list[i].settlementStatus = '未买断'
}
if (this.list[i].settlementStatus == '1'){
if (this.list[i].settlementStatus == '1') {
this.list[i].settlementStatus = '预买断'
}
if (this.list[i].settlementStatus == '2'){
if (this.list[i].settlementStatus == '2') {
this.list[i].settlementStatus = '已买断'
}
}
@ -410,8 +419,9 @@ export default {
location: '',
modelName: '',
vehicleState: '',
certificateStateValue: '',
vinNo: '',
createOrgSid:''
createOrgSid: ''
},
current: 1,
size: 5
@ -455,7 +465,7 @@ export default {
// })
},
//
doChuku(){
doChuku() {
if (this.sids.length === 1) {
this.viewState = 6
const sid = this.sids[0]
@ -479,7 +489,6 @@ export default {
doMaiduan() { // salesDate settlementStatus
if (this.sids.length > 0) {
for (var i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].settlementStatus == '已买断') {
this.$message({
showClose: true,
@ -516,10 +525,10 @@ export default {
},
//
handleCheckMai(row) {
if (row.settlementStatus == '已买断'){
if (row.settlementStatus == '已买断') {
this.viewState = 8
this.$refs['divMaiInfo'].showMaiInfo(row)
}else {
} else {
this.$message({
showClose: true,
message: '该车辆非已买断车辆!',
@ -527,6 +536,18 @@ export default {
})
}
},
doChange() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 9
this.$refs['divPeiJian'].init(this.multipleSelection)
},
//
createData() {
// console.log('' + JSON.stringify(this.temp))
@ -615,7 +636,7 @@ export default {
deleteBySids(this.sids)
.then(resp => {
loading.close()
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.$message({type: 'success', message: resp.msg, showClose: true})
_this.getList()
})
.catch(e => {
@ -655,50 +676,12 @@ export default {
})
})
},
doClose(){
this.$store.dispatch('tagsView/delView', this.$route);
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
/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;
}
.btn {
padding-top: 20px;
}
.searchli {
padding: 5px 100px;
}
/*.btn {*/
/* padding: 15px 0 15px 0;*/
/* border: 1px solid #e0e3eb;*/
/*}*/
/*.tab-header {*/
/* background-color: #edf1f7;*/
/* padding: 8px 20px;*/
/* margin-bottom: 0 !important;*/
/*}*/
</style>

16
anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/cheliangneigouAdd.vue

@ -23,7 +23,7 @@
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>调车类型</span></div>
<el-form-item>
<el-select v-model="formobj.shuntingTypeValue" placeholder="请选择" clearable class="addinputw addinputwOne" @change="changeShuntingType" :disabled="dialogStatus == 'edit'">
<el-select v-model="formobj.shuntingTypeValue" placeholder="请选择" clearable class="addinputw addinputwOne" @change="changeShuntingType" :disabled="dialogStatus == 'edit' || dialogStatus == 'add'">
<el-option v-for="item in accadjType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
@ -132,7 +132,7 @@
<script>
import req from '@/api/supplychain/cheliangneigou'
import { getListOrg, getPathSidByUserSid, typeValues } from '@/api/cheliang/dictcommons.js'
import { getListOrg, getPathSidByUserSid, typeValues, fetchBySid } from '@/api/cheliang/dictcommons.js'
import configuration from './chexingselect'
import vehicle from './vehicleselect'
@ -172,8 +172,8 @@ export default {
createOrgSid: '',
instanceId: '',
num: '',
sellerOrgName: '', // ID
sellerOrgSid: '', // ID
sellerOrgName: '',
sellerOrgSid: '',
shuntingTypeKey: '',
shuntingTypeValue: '',
sid: '',
@ -208,6 +208,12 @@ export default {
if (res.success) {
this.formobj.useOrgSid = res.data
this.formobj.createOrgSid = res.data
this.formobj.sellerOrgSid = res.data
fetchBySid(this.formobj.sellerOrgSid).then((resp) => {
if (resp.success) {
this.formobj.sellerOrgName = resp.data.name
}
})
}
})
getListOrg().then((res) => {
@ -324,6 +330,8 @@ export default {
showAdd() {
this.init()
this.getUserOrg()
this.formobj.shuntingTypeKey = '02'
this.formobj.shuntingTypeValue = '调出'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})

122
anrui-scm/anrui-scm-ui/src/views/supplychain/hegezhengpandianjilu/hegezhengpandianjilu.vue

@ -9,13 +9,11 @@
{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form :inline="true" class="tab-header" label-width="110px">
<el-form-item label="最新盘库日期">
<el-date-picker v-model="listQuery.params.inventoryStartDate" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<el-date-picker v-model="listQuery.params.inventoryStartDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<label></label>
<el-date-picker v-model="listQuery.params.inventoryEndDate" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<el-date-picker v-model="listQuery.params.inventoryEndDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入车架号" clearable/>
@ -25,14 +23,12 @@
</el-form-item>
<el-form-item label="存放地点">
<el-select v-model="listQuery.params.locationSid" class="addinputw" clearable placeholder="请选择">
<el-option v-for="(item,index) in location_list" :key="item.sid" :label="item.warehouseName"
:value="item.sid"/>
<el-option v-for="item in location_list" :key="item.sid" :label="item.warehouseName" :value="item.sid"/>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="listQuery.params.inventoryState" class="addinputw" placeholder="请选择" clearable>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-form>
@ -45,30 +41,26 @@
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">合格证盘点记录列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class=""> <!--@selection-change="handleSelectionChange"-->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column width="50px" type="selection" align="center"/>-->
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="130px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<!-- :disabled="row.state == '待提交' ? false:row.state == '移库申请'?false : true" -->
<el-button size="mini" type="primary"
@click="handleEdit(row)">办理
</el-button>
<el-table-column width="60px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="handleEdit(scope.row)">办理</el-button>
</template>
</el-table-column>
<el-table-column width="200px" prop="certNo" label="合格证编号" align="center"/>
<el-table-column width="200px" prop="vinNo" label="车架号" align="center"/>
<el-table-column prop="inventoryDate" label="最新盘库日期" align="center"/>
<el-table-column prop="certNo" label="合格证编号" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center"/>
<el-table-column prop="inventoryDate" label="最新盘库日期" align="center" width="120"/>
<el-table-column width="160px" prop="location" label="最新存放地点" align="center"/>
<el-table-column width="140px" prop="inventoryName" label="最新盘库人员" align="center"/>
<el-table-column width="140px" prop="inventoryState" label="状态" align="center"/>
<el-table-column width="140px" prop="remarks" label="备注" align="center"/>
<el-table-column prop="inventoryName" label="最新盘库人员" align="center"/>
<el-table-column width="100px" prop="inventoryState" label="状态" align="center"/>
<el-table-column prop="remarks" label="备注" header-align="center" align="left"/>
</el-table>
</div>
<!--End 项目列表-->
@ -117,10 +109,8 @@
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>状态</span></div>
<el-form-item>
<el-select v-model="formobj.inventoryState" class="addinputw addinputwOne" placeholder="请选择"
style="width: 30%" @change="changeStateType(scope.row,this)" clearable>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"></el-option>
<el-select v-model="formobj.inventoryState" class="addinputw addinputwOne" placeholder="请选择" style="width: 30%" clearable>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -129,8 +119,7 @@
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputwOne"
style="width: 80% !important; " clearable/>
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputwOne" style="width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
@ -141,8 +130,7 @@
</span>
</el-dialog>
<!--新增修改部分组件-->
<hegezhengpandianjilu-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState"
@reloadlist="getList"/>
<hegezhengpandianjilu-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<!--详情部分组件-->
</div>
</template>
@ -155,7 +143,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import hegezhengpandianjiluAdd from '@/views/supplychain/hegezhengpandianjilu/hegezhengpandianjiluAdd'
import {
certInventoryConfirm,
certInventoryHandle,
generateInventoryRecords,
getInventoryRecords,
listPage
@ -184,7 +172,7 @@ export default {
},
{
dictKey: 2,
dictValue: '通过'
dictValue: '通过'
}
],
dataList: [],
@ -198,12 +186,12 @@ export default {
total: 0,
params: {
certNo: '', //
vinNo: '', //
locationSid: '', // sid
inventoryStartDate: '', //
inventoryEndDate: '', //
vinNo: '', //
locationSid: '', // sid
inventoryStartDate: '', //
inventoryEndDate: '', //
inventoryState: '', // 1/2
createOrgSid: '', // sid
createOrgSid: '', // sid
userSid: window.sessionStorage.getItem('userSid')
}
},
@ -266,18 +254,6 @@ export default {
}
})
},
changeStateType(value) {
let bb = null
this.stateType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.InventoryStateKey = bb.key
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
@ -297,7 +273,11 @@ export default {
generatedRecords() {
getInventoryRecords(this.useOrg).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: res.msg })
generateInventoryRecords(this.useOrg).then((resp) => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: res.msg })
}
})
}
})
},
@ -320,41 +300,31 @@ export default {
total: 0,
params: {
certNo: '', //
vinNo: '', //
locationSid: '', // sid
inventoryStartDate: '', //
inventoryEndDate: '', //
vinNo: '', //
locationSid: '', // sid
inventoryStartDate: '', //
inventoryEndDate: '', //
inventoryState: '', // 1/2
createOrgSid: '', // sid
createOrgSid: '', // sid
userSid: window.sessionStorage.getItem('userSid')
}
}
this.getPathSid()
},
loadList() {
const _this = this
this.tableLoading = true
listPage(this.listQuery)
.then(resp => {
_this.tableLoading = false
const data = resp.data
_this.listQuery.total = data.total
_this.dataList = data.records
for (var i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].inspectedType == '1') {
this.dataList[i].inspectedType = '待验车'
} else {
this.dataList[i].inspectedType = '已验车'
}
}
})
.catch(() => {
_this.tableLoading = false
})
listPage(this.listQuery).then(resp => {
this.tableLoading = false
const data = resp.data
this.listQuery.total = data.total
this.dataList = data.records
}).catch(() => {
this.tableLoading = false
})
},
//
handleQueDing() {
certInventoryConfirm(this.formobj).then((res) => {
certInventoryHandle(this.formobj).then((res) => {
this.dialogVisible = false
if (res.success) {
this.$message({ showClose: true, type: 'success', message: res.msg })

137
anrui-scm/anrui-scm-ui/src/views/supplychain/hegezhengpandianjilu/hegezhengpandianjiluAdd.vue

@ -15,15 +15,18 @@
<div class="listconadd">
<div class="titwu"><span>合格证盘点操作</span></div>
<el-form ref="form_obj" :model="listQuery" :rules="rules" class="formadd">
<div class="spe_style">
<el-form-item label="盘点人员">
<el-select v-model="listQuery.params.inventoryName" placeholder="请选择" filterable
@change="changeInventoryName" clearable class="addinputwOne">
<el-option v-for="item in staff_list" :key="item.sid" :label="item.namePath"
:value="item.sid"></el-option>
</el-select>
</el-form-item>
</div>
<el-row class="rowStyle">
<el-col :span="20" class="tleftb colStyle">
<span>盘点人员</span>
</el-col>
<el-col :span="4" class="colStyle">
<el-form-item>
<el-select v-model="listQuery.params.inventoryName" placeholder="请选择" filterable @change="changeInventoryName" clearable class="addinputwOne">
<el-option v-for="item in staff_list" :key="item.sid" :label="item.namePath" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form :inline="true" class="tab-header">
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入车架号" clearable/>
@ -45,25 +48,16 @@
<el-button type="primary" size="mini" @click="handleAffirm(scope.row)">确认</el-button>
</template>
</el-table-column>
<el-table-column label="车架号" width="140px" align="center">
<el-table-column label="合格证编号" width="140px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mainSid }}</span>
<span>{{ scope.row.certNo }}</span>
</template>
</el-table-column>
<el-table-column label="合格证编码" width="140px" align="center">
<el-table-column label="车架号" width="180px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.certNo }}</span>
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="合格证" width="150" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <el-select v-model="scope.row.certificate" placeholder="请选择" style="width: 80%"-->
<!-- @change="changeCertificateType(scope.row,this)" clearable>-->
<!-- <el-option v-for="item in certificateType_list" :key="item.dictKey" :label="item.dictValue"-->
<!-- :value="item.dictValue"></el-option>-->
<!-- </el-select>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
@ -81,10 +75,8 @@
</el-table-column>
<el-table-column label="状态" width="150" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.inventoryState" placeholder="请选择" style="width: 80%"
@change="changeStateType(scope.row,this)" clearable>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"></el-option>
<el-select v-model="scope.row.inventoryState" placeholder="请选择" style="width: 80%" clearable>
<el-option v-for="item in stateType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</template>
</el-table-column>
@ -101,7 +93,7 @@
</template>
<script>
import { fetchByUseOrgSid, getUserByOrgSid } from '@/api/cheliang/dictcommons'
import { getUserByOrgSid } from '@/api/cheliang/dictcommons'
import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import { certInventoryConfirm, listPages } from '@/api/supplychain/hegezhengpandian'
@ -114,9 +106,7 @@ export default {
index: 0,
tableKey: 0,
list: [],
warehouse_list: [],
staff_list: [],
certificateType_list: [],
stateType_list: [
{
dictKey: 1,
@ -124,23 +114,23 @@ export default {
},
{
dictKey: 2,
dictValue: '通过'
dictValue: '通过'
}
],
//
temp: {
sid: '',
mainSid: '',
location: '',
lastData: '',
lastName: '',
inventoryName: '',
inventorySid: '',
certificate: '',
certificateKey: '',
inventoryState: '',
inventoryStateKey: '',
remarks: '',
createOrgSid: '',
useOrgSid: '',
vinNo: '',
vehSid: '',
certNo: '',
location: '',
locationSid: '',
loginName: window.sessionStorage.getItem('name'),
loginSid: window.sessionStorage.getItem('userSid')
},
@ -160,31 +150,20 @@ export default {
},
methods: {
init() {
getUserByOrgSid({
orgSid: this.listQuery.params.createOrgSid,
userSid: window.sessionStorage.getItem('userSid')
}).then((res) => {
getUserByOrgSid({orgSid: this.listQuery.params.createOrgSid, userSid: window.sessionStorage.getItem('userSid')}).then((res) => {
if (res.success) {
this.staff_list = res.data
}
})
fetchByUseOrgSid({ sid: this.listQuery.params.createOrgSid }).then((res) => {
if (res.success) {
this.warehouse_list = res.data
}
})
// typeValues({ type: 'certificate' }).then((res) => {
// if (res.success) {
// this.certificateType_list = res.data
// }
// })
this.getPathSid()
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSid = res.data
this.useOrg = res.data
this.temp.createOrgSid = res.data
this.temp.useOrgSid = res.data
this.getList()
}
})
@ -214,30 +193,6 @@ export default {
handleSelect() {
this.getList()
},
changeStateType(row) {
let bb = null
this.stateType_list.forEach((e) => {
if (e.dictValue === row.inventoryState) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
row.inventoryStateKey = bb.key
},
// changeCertificateType(row) {
// let bb = null
// this.certificateType_list.forEach((e) => {
// if (e.dictValue === row.certificate) {
// bb = {
// key: e.dictKey,
// value: e.dictValue
// }
// }
// })
// row.certificateKey = bb.key
// },
changeInventoryName(value) {
let bb = null
this.staff_list.forEach((e) => {
@ -253,14 +208,22 @@ export default {
this.temp.inventorySid = bb.sid
},
handleAffirm(row) {
if (this.temp.inventoryName === '') {
this.$message({ showClose: true, type: 'error', message: '请选择盘点人员' })
return
}
if (row.inventoryState === '') {
this.$message({ showClose: true, type: 'error', message: '请检查状态是否已选择' })
return
}
this.temp.sid = row.sid
this.temp.mainSid = row.mainSid
this.temp.remarks = row.remarks
this.temp.vinNo = row.vinNo
this.temp.vehSid = row.vehSid
this.temp.certNo = row.certNo
this.temp.location = row.location
this.temp.certificate = row.certificate
this.temp.certificateKey = row.certificateKey
this.temp.locationSid = row.locationSid
this.temp.inventoryState = row.inventoryState
this.temp.inventoryStateKey = row.inventoryStateKey
this.temp.remarks = row.remarks
console.log(this.temp)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
@ -288,6 +251,8 @@ export default {
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.listQuery.params.inventoryName = ''
this.temp = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
@ -302,9 +267,11 @@ export default {
text-align: center;
margin-bottom: 5px;
}
.spe_style {
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
border-bottom: 0px !important;
}
</style>

34
anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAlready.vue

@ -20,27 +20,32 @@
<el-select v-model="listQuery.params.model" placeholder="请选择" filterable clearable class="addinputw">
<el-option v-for="item in modelName_list" :key="item.sid" :label="item.modelName" :value="item.sid"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseAttribute" placeholder="请输入存放地点属性" clearable/>-->
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="listQuery.params.purchaseType" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in purchaseType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
<el-option v-for="item in purchaseType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseContract" placeholder="请输入负责人" clearable/>-->
</el-form-item>
<el-form-item label="入库日期">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.inboundStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.inboundEndDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="getList">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">车辆列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
@ -110,7 +115,7 @@ export default {
useOrg_list: [],
modelName_list: [],
slowMachine_list: [],
purchaseType_list:[],
purchaseType_list: [],
useOrg: '', // 使
useOrgSid: '', // 使sid
listQuery: {
@ -121,7 +126,9 @@ export default {
vin: '',
model: '',
purchaseType: '',
type:'2',
type: '2',
inboundStartDate: '',
inboundEndDate: '',
userSid: window.sessionStorage.getItem('userSid')
}
},
@ -178,7 +185,6 @@ export default {
handleInvoiceList() {
this.$parent.viewState = 1
this.$parent.getList()
},
getList() {
this.listQuery.current = 1
@ -193,13 +199,15 @@ export default {
vin: '',
model: '',
purchaseType: '',
type:'2',
type: '2',
inboundStartDate: '',
inboundEndDate: '',
userSid: window.sessionStorage.getItem('userSid')
}
}
this.getList()
},
handleInfo(row){
handleInfo(row) {
this.$refs['divinfo'].showInfo(row)
console.log('详情回显', row)
this.viewState = 6

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionService.java

@ -26,6 +26,8 @@
package com.yxt.anrui.terminal.biz.supplychain.scmvehiclegression;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -70,6 +72,8 @@ public class AppScmVehicleGressionService {
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
public ResultBean<PagerVo<AppGressionPageVo>> getCarTransferList(PagerQuery<AppGressionPageQuery> pagerQuery) {
@ -83,6 +87,11 @@ public class AppScmVehicleGressionService {
public ResultBean saveCarTransferInfo(AppGressionDto dto) {
AppScmVehicleGressionDto appScmVehicleGressionDto = new AppScmVehicleGressionDto();
BeanUtil.copyProperties(dto, appScmVehicleGressionDto);
//根据车架号查询车辆sid
ResultBean<BaseVehicleVo> stringResultBean = baseVehicleFeign.selVehicleByVinNo(dto.getVinNo());
if(stringResultBean.getSuccess()){
appScmVehicleGressionDto.setVehicleSid(stringResultBean.getData().getSid());
}
ResultBean resultBean = scmVehicleGressionFeign.saveCarTransferInfo(appScmVehicleGressionDto);
return resultBean;
}
@ -131,6 +140,11 @@ public class AppScmVehicleGressionService {
ResultBean rb = ResultBean.fireFail();
SubmitCarTransferDto submitCarTransferDto = new SubmitCarTransferDto();
BeanUtil.copyProperties(dto, submitCarTransferDto);
//根据车架号查询车辆sid
ResultBean<BaseVehicleVo> stringResultBean = baseVehicleFeign.selVehicleByVinNo(dto.getVinNo());
if(stringResultBean.getSuccess()){
submitCarTransferDto.setVehicleSid(stringResultBean.getData().getSid());
}
ResultBean resultBean = scmVehicleGressionFeign.submitCarTransfer(submitCarTransferDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());

Loading…
Cancel
Save